PT09IHJlbGVhc2UgMS4zLjkwID09PQoKMjAxNC0wNi0yOCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY29heGlvbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIHJlbGVhc2luZyAxLjMuOTAKCjIwMTQtMDYtMjggMTA6NDM6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJICBpbnRlcmF1ZGlvc3JjOiBGYWlsIGluIHNldF9jYXBzKCkgaWYgdGhlIGNhcHMgY2FuJ3QgYmUgcGFyc2VkCgoyMDE0LTA2LTI3IDE3OjM1OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICB0ZXN0czogY2FtZXJhYmluOiBmaXggY2FwcyBsZWFrIGluIHRlc3QKCSAgVGhlIGdzdF9xdWVyeV9zZXRfY2Fwc19yZXN1bHQgZG9lc24ndCB0YWtlIG93bmVyc2hpcCBvZiBjYXBzCgoyMDE0LTA2LTI3IDE3OjI3OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IGZpeCBjYXBzIGxlYWtzCgkgIEZpeCBsZWFrIG9mIGNhcHMgZXZlbnQgYW5kIG9mIGNhcHMgb2JqZWN0cyB3aGVuIHNldHRpbmcgY2FwcyBvbgoJICBzaW5rIGFuZCBzcmMgcGFkcwoKMjAxNC0wNi0yNyAxNzowMDowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlOiB1bnJlZiBldmVudHMgd2hlbiBmcmVlaW5nIGV2ZW50cyBsaXN0CgkgIEluc3RlYWQgb2YganVzdCBmZWVpbmcgdGhlIHF1ZXVlIHN0cnVjdHMKCjIwMTQtMDYtMjcgMTY6NTg6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJICBrYXRlZW5jOiBmaXggc2VnbWVudCBldmVudCBsZWFrCgkgIGdzdF9ldmVudF9yZXBsYWNlIGluY3JlbWVudHMgdGhlIHJlZmNvdW50CgoyMDE0LTA2LTI3IDEyOjUwOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5jOgoJICBtcGVndHM6IGF0c2M6IGF2b2lkIGNhbGxpbmcgZ19jb252ZXJ0IHdpdGggMC1zaXplZCBpbnB1dAoJICBBdm9pZHMgYW4gYXNzZXJ0aW9uLiBUaGUgY2FjaGVkIHN0cmluZyB3aWxsIGJlIGFzc2lnbmVkIGFuIGVtcHR5IHN0cmluZwoJICBhcyBpdHMgdmFsdWUgd2hlbiBzaXplIGlzIDAuCgoyMDE0LTA2LTI3IDEwOjUzOjIwICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIHdpbjMyL2NvbW1vbi9saWJnc3Rjb2RlY3BhcnNlcnMuZGVmOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBtZW1vcnkgbGVhayBpbiBHc3RIMjY0UFBTLgoJICBUaGUgZ3N0X2gyNjRfcGFyc2VfcHBzKCkgZnVuY3Rpb24gZHluYW1pY2FsbHkgYWxsb2NhdGVzIHRoZSBzbGljZQoJICBncm91cCBpZHMgbWFwIGFycmF5LCBzbyB0aGF0IG5lZWRzIHRvIGJlIGNsZWFyZWQgYmVmb3JlIHBhcnNpbmcgYQoJICBuZXcgUFBTIE5BTCB1bml0IGFnYWluLCBvciB3aGVuIGl0IGlzIG5vIGxvbmdlciBuZWVkZWQuCgkgIExpa2V3aXNlLCBhIGNsZWFuIGNvcHkgdG8gdGhlIGludGVybmFsIE5BTCBwYXJzZXIgc3RhdGUgbmVlZHMgdG8gYmUKCSAgcGVyZm9ybWVkIHNvIHRoYXQgdG8gYXZvaWQgYSBkb3VibGUtZnJlZSBjb3JydXB0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MjgyCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDYtMjYgMTc6MTg6NDcgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCB0eXBvIGluIEdzdEgyNjRWVUlQYXJhbXMgZGVzY3JpcHRpb24uCgoyMDE0LTAxLTMxIDE3OjA3OjQyICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGFkZCBzdXBwb3J0IGZvciBSZWNvdmVyeSBQb2ludCBTRUkgbWVzc2FnZS4KCSAgVGhlIHJlY292ZXJ5IHBvaW50IFNFSSBtZXNzYWdlIGhlbHBzIGEgZGVjb2RlciBpbiBkZXRlcm1pbmluZyBpZiB0aGUKCSAgZGVjb2RpbmcgcHJvY2VzcyB3b3VsZCBwcm9kdWNlIGFjY2VwdGFibGUgcGljdHVyZXMgZm9yIGRpc3BsYXkgYWZ0ZXIKCSAgdGhlIGRlY29kZXIgaW5pdGlhdGVzIHJhbmRvbSBhY2Nlc3Mgb3IgYWZ0ZXIgdGhlIGVuY29kZXIgaW5kaWNhdGVzCgkgIGEgYnJva2VuIGxpbmsgaW4gdGhlIGNvZGVkIHZpZGVvIHNlcXVlbmNlLgoJICBUaGlzIGlzIG5vdCB1c2VkIGluIHRoZSBoMjY0cGFyc2UgZWxlbWVudCwgYnV0IGl0IGNvdWxkIGhlbHAgZGVidWdnaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMzgwCgoyMDE0LTAzLTI1IDEyOjAxOjU1ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9uYWx1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL25hbHV0aWxzLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogYWRkIG5hbF9yZWFkZXJfc2tpcF9sb25nKCkgaGVscGVyLgoJICBBZGQgbmFsX3JlYWRlcl9za2lwX2xvbmcoKSBoZWxwZXIgZnVuY3Rpb24gdG8gYWxsb3cgYW4gYXJiaXRyYXJ5IG51bWJlcgoJICBvZiBiaXRzIHRvIGJlIHNraXBwZWQuIFRoZSBmb3JtZXIgbmFsX3JlYWRlcl9za2lwKCkgZnVuY3Rpb24gaXMgdG9vCgkgIGxpbWl0ZWQgdG8gdGhlIGFjdHVhbCBjYWNoZSBzaXplLgoJICBVc2UgdGhpcyBuZXcgZnVuY3Rpb24gdG8gc2ltcGxpZnkgZ3N0X2gyNjRfcGFyc2VyX3BhcnNlX3NlaV9tZXNzYWdlKCkKCSAgZGVmYXVsdCBjYXNlLCB0aGF0IHNraXBzIHVuc3VwcG9ydGVkIHBheWxvYWRzLgoJICB2MjogbWFkZSBhcmdzIGNvbnNpc3RlbnQgZnJvbSBoZWFkZXIgdG8gc291cmNlIGZpbGUuCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDYtMjcgMDA6MDk6MDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGZpeCBhIHJlZmNvdW50IGVycm9yIHdoZW4ga2VlcGluZyB0aGUgYnVmZmVyCgkgIFdlIHRha2UgYSByZWYgb24gdGhlIHBhZCdzIGJ1ZmZlciBhdCB0aGUgYmVnaW5uaW5nIHNvIHdlIG5lZWQgdG8KCSAgdW5yZWYgd2hlbiB3ZSBhcmUgZG9uZSBpbiBhbGwgY2FzZXMuCgoyMDE0LTA2LTI2IDE1OjU5OjM1ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZwOHJhbmdlZGVjb2Rlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZwODogbW92ZSB1cCBidWlsdC1pbiByYW5nZSBkZWNvZGVyIHByaXZhdGUgZGF0YS4KCSAgVXNlIHRoZSBmaXJzdCBfZ3N0X3Jlc2VydmVkW13CoHNsb3QgdG8gaG9sZCB0aGUgYnVpbHQtaW4gcmFuZ2UgZGVjb2RlcgoJICBwcml2YXRlIGRhdGEuIFRoZSBmaXJzdCBzbG90IHdhcyBmb3JtZXJseSB0aGUgYnVmZmVyIHNpemUsIHdoaWNoIHdhcwoJICB0aGVuIHByb21vdGVkIHRvIHNlbWktcHVibGljIG5hbWVzcGFjZSB3aGVuIGl0IGdvdCBpbnRlZ3JhdGVkIGFzIGdpdAoJICBjb21taXQgMjk0MGFjNi4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wNi0yNiAxMToyNTozNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGZyZWUgcGl4ZWwgc3dpenpsaW5nIGluZm9ybWF0aW9uCgoyMDE0LTA2LTI2IDExOjE1OjU2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmg6CgkgIGdsbWl4ZXI6IHJlbW92ZSByZWR1bmRhbnQvdW51c2VkIGxvY2sKCSAgVXNlIHRoZSBHc3RPYmplY3QgbG9jayBpbnN0ZWFkCgoyMDE0LTA2LTI2IDExOjEyOjQ5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IHJlbW92ZSByZWR1bmRhbnQgY3JlYXRpb24gYW5kIGZyZWUgb2YgR1B0ckFycmF5cwoJICBBbHNvIHBsdWdzIGEgbWVtb3J5IGxlYWsKCjIwMTQtMDYtMjYgMTA6NTQ6MzggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogcGx1ZyBhIG1lbW9yeSBsZWFrIGZvciB0aGUgY2FwcwoJICBnc3RfcXVlcnlfc2V0X2NhcHNfcmVzdWx0KCkgdGFrZXMgYSByZWYgb24gdGhlIGNhcHMKCjIwMTQtMDYtMjYgMTA6NTM6MTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBwbHVnIGEgbWVtb3J5IGxlYWsgb2YgdGhlIHNyY2NhcHMKCjIwMTQtMDYtMjYgMTA6MzE6MDIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogaW50ZXJzZWN0IHdpdGggdGhlIGZpbHRlcmNhcHMgaWYgYXZhaWxhYmxlCgoyMDE0LTA2LTI2IDEwOjMwOjQxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ3N0Z2xfZ2xlczJjb21wYXQuaDoKCSAgZ2w6IHVwZGF0ZSBnbGVzMiBjb21wYXRhYmlsaXR5IGhlYWRlcgoKMjAxNC0wNi0yNSAxNDo1MDowNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1zY3RlLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHMtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uaDoKCSogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5jOgoJKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmg6CgkqIHN5cy9kdmIvY2FtZGV2aWNlLmM6CgkqIHN5cy9kdmIvY2FtZGV2aWNlLmg6CgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuYzoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5oOgoJKiBzeXMvZHZiL2NhbXV0aWxzLmM6CgkqIHN5cy9kdmIvY2FtdXRpbHMuaDoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3RzLmM6CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgbXBlZ3RzOiBVbmlmeSBBUEkgOiBHc3RNcGVndHMgLyBnc3RfbXBlZ3RzXyAvIEdTVF8qX01QRUdUU18KCSAgSXQgd2FzIHByZXZpb3VzbHkgYSBtaXggYW5kIG1hdGNoIG9mIGJvdGggdmFyaWFudHMsIGludHJvZHVjaW5nIGp1c3QgdG9vIG11Y2gKCSAgY29uZnVzaW9uLgoJICBUaGUgcHJlZml4IGFyZSBmcm9tIG5vdyBvbjoKCSAgKiBHc3RNcGVndHMgZm9yIHN0cnVjdHVyZXMgYW5kIHR5cGUgbmFtZXMgKGFuZCBub3QgR3N0TXBlZ1RzKQoJICAqIGdzdF9tcGVndHNfIGZvciBmdW5jdGlvbnMgKGFuZCBub3QgZ3N0X21wZWdfdHNfKQoJICAqIEdTVF9NUEVHVFNfIGZvciBlbnVtcy9mbGFncyAoYW5kIG5vdCBHU1RfTVBFR19UU18pCgkgICogR1NUX1RZUEVfTVBFR1RTXyBmb3IgdHlwZXMgKGFuZCBub3QgR1NUX1RZUEVfTVBFR19UU18pCgkgIFRoZSByYXRpb25hbGUgZm9yIGNob3NpbmcgdGhhdCBpczoKCSAgKiB0aGUgbmFtZXNwYWNlIGlzIHNob3J0ZXIvZGlyZWN0IChpdCdzIG1wZWd0cywgbm90IG1wZWdfdHMgbm9yIG1wZWctdHMpCgkgICogdGhlIG5hbWVzcGFjZSBpcyBvbmUgd29yZCB1bmRlciBHc3QKCSAgKiBpdCdzIHNob3J0ZXIgKHlhaCkKCjIwMTQtMDYtMjUgMTQ6MTM6NTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSAgbXBlZ3Rzc2VjdGlvbjogRnJlZSBkYXRhIGluIGVycm9yIGNhc2VzCgkgIERhdGEgaXMgbWFya2VkIGFzICJ0cmFuc2ZlciBmdWxsIiwgaWYgd2UgaGF2ZSBhbiBlcnJvciB3ZSBuZWVkIHRvCgkgIGZyZWUgaXQuCgoyMDE0LTA2LTI1IDIyOjA1OjM3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogcGFzcyB0aHJvdWdoIHRoZSBhbGxvY2F0aW9uIHF1ZXJ5IHdoZW4gaW4gcGFzc3Rocm91Z2ggbW9kZQoJICBPdGhlcndpc2UgdHdvIEdMIGVsZW1lbnRzIG9uIGVpdGhlciBzaWRlIHdpbGwgZmFpbCB0byB1c2UgdGhlIHNhbWUKCSAgR0wgY29udGV4dC4KCjIwMTQtMDYtMjUgMjE6NTA6NDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBwcmVmZXIgcGFzc3Rocm91Z2ggZm9yIG5vbi1zeXNtZW0gY2FwcwoKMjAxNC0wNi0yNSAxODoyMzo1MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsc2hhZGVyOiBlbmFibGUgZ2xzaGFkZXIgb24gR0xFUzIKCjIwMTQtMDYtMjQgMTk6Mzc6MTcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJICBnbGNvbG9yc2NhbGU6IGRvIHBhc3N0aHJvdWdoIG9uIHNhbWUgY2FwcwoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjE3OAoKMjAxNC0wNi0yNCAxOTozNTowMSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IGhhbmRsZSBOVUxMIGRlY2lkZV9xdWVyeSB3aGljaCBtZWFucyBwYXNzdGhyb3VnaAoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjE3OAoKMjAxNC0wNi0yNCAxOToyMzowMSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IHByZXBlbmQgaW50ZXJzZWN0aW9uIHRvIHNyYyBjYXBzCgkgIFByZWZlciB0byBzdGF5IGluIHRoZSBzYW1lIG1lbW9yeSBzcGFjZSBpZiBwb3NzaWJsZS4KCSAgQWxzbyBpdCBsZXQgYSBjaGFuY2UgdG8gZG8gcGFzc3Rocm91Z2guCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMTc4CgoyMDE0LTA2LTIyIDEzOjE0OjI3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsOiBlbmFibGUgZ2x2aWRlb21peGVyIG9uIEdMRVMyCgoyMDE0LTA2LTI0IDIyOjE1OjUzIC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIGR2YnNyYzogYWRkIGNvcHlyaWdodC9saWNlbnNlIHN0dWIgdG8gaGVhZGVyCgoyMDE0LTA2LTI0IDIwOjUyOjU0IC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIGR2YnNyYzogZG9jdW1lbnRhdGlvbiBmaXhlcwoKMjAxNC0wNi0yNSAxMjowMDozNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogYmFzIG91dHB1dCB3aWR0aC9oZWlnaHQgb24gdGhlIHBhZCBwcm9wZXJ0aWVzCgkgIEFsbG93cyBhdXRvbWF0aWMgbmVnb3RpYXRpb24gb2YgdGhlIHNpemUgaW4gdGhlIGZvbGxvd2luZyBjYXNlOgoJICBnc3QtbGF1bmNoLTEuMCBnbHZpZGVvbWl4ZXIgbmFtZT1tIHNpbmtfMDo6eHBvcz0wIHNpbmtfMTo6eHBvcz0zMjAgISBnbGltYWdlc2luayBcCgkgIHZpZGVvdGVzdHNyYyAhIG0uIFwKCSAgdmlkZW90ZXN0c3JjIHBhdHRlcm49MSAhIG0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE4NzgKCjIwMTQtMDYtMjUgMTA6MTg6NDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IGRvbid0IGNsb2JiZXIgYWxyZWFkeSBhbGxvY2F0ZWQgc2hhZGVyCgoyMDE0LTA2LTI0IDE2OjMyOjIyICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzZnRwc2luay5jOgoJICBjdXJscz9mdHBzaW5rOiBGaXggbWVtb3J5IGxlYWtzIGR1ZSB0byBuZXcgZXJyb3IgaGFuZGxpbmcKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjE3NAoKMjAxNC0wNi0yNCAxNjowNDo1NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogTW9yZSBkb2MgZml4ZXMKCSAgU3RpbGwgbm90IGRvbmUgOigKCjIwMTQtMDYtMjQgMTU6NDE6MzYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkgIG1wZWd0czogbW9yZSBhbm5vdGF0aW9uIGZpeGVzCgoyMDE0LTA2LTAxIDEwOjQ0OjIzICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzLXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIG1wZWd0czogY2hhbmdlIHRvIEdUeXBlIGFuZCBmcm9tIGdjaGFyW10gdG8gZ2NoYXIqCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA5MTQKCjIwMTQtMDYtMjQgMjM6NTE6MjQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbDogWEluaXRUaHJlYWRzIHdoZW4gZW52IHZhcmlhYmxlIGlzIHNldAoJICBUaGlzIGlzIHRvbyBhbGxvdyBnc3QtbGF1bmNoIGRlYnVnZ2luZyB3aXRoIG11bHRpcGxlIEdMIGNvbnRleHRzIGFzCgkgIHdlbGwgYXMgYXZvaWRpbmcgc2VnZmF1bHRpbmcgaW5ub2NlbnQgZ3RrKyBhcHBzIHRoYXQgaGF2ZSBub3QgY2FsbGVkCgkgIFhJbml0VGhyZWFkcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTUyNQoKMjAxNC0wNi0yNCAyMzozMzozMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsOiBhZGQgYSBzY2FyeSBub3RlIGFib3V0IGluaXRpYWxpemluZyB0aHJlYWQgc3VwcG9ydCBmb3IgdGhlIHdpbnN5cwoJICBXZSBjYW5ub3QgZG8gaXQgYXMgdGhlIHdpbnN5cyBtYXkgY3Jhc2ggaWYgd2UgaW5pdGlhbGl6ZSB0b28gbGF0ZS4KCSAgRXhhbXBsZSwgR0xYIGNvbnRleHRzIHdpdGggSW50ZWwgZHJpdmVyczoKCSAgSW50ZWwgcmVxdWlyZXMgdGhlIFggRGlzcGxheSB0byBiZSB0aGUgc2FtZSBpbiBvcmRlciB0byBzaGFyZSBHTAoJICByZXNvdXJjZXMgYWNyb3NzIEdMIGNvbnRleHRzLiAgVGhlc2UgR0wgY29udGV4dHMgYXJlIGdlbmVyYWxseQoJICBhY2Nlc3NlZCBmcm9tIGRpZmZlcmVudCB0aHJlYWRzLiAgV2l0aG91dCB3aW5zeXMgc3VwcG9ydCBpdCBpcwoJICBuZWFybHkgaW1wb3NzaWJsZSB0byBndWFyZW50ZWUgdGhhdCBjb25jdXJyZW50IGFjY2VzcyB3aWxsIG5vdAoJICBvY2N1ci4gIFRoaXMgY29uY3VycmVudCBhY2Nlc3MgY291bGQgcmVzdWx0IGluIGNyYXNoZXMgb3IgYWJvcnRpb24KCSAgYnkgdGhlIHdpbnN5cyAoeGNiKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTUyNQoKMjAxNC0wNi0yNCAxNDowNToxNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3RzLmM6CgkgIG1wZWd0czogRml4IGRlc2NyaXB0b3JfZnJvbV9kdmJfc2VydmljZQoJICBWYXJpb3VzIGxlYWtzL292ZXJ3cml0ZXMgaXNzdWVzCgoyMDE0LTA2LTI0IDEzOjQ2OjE3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwZXJzcGVjdGl2ZS5jOgoJICBhbGw6IERvbid0IGRlY2xhcmUgdmFyaWFibGVzIGluICdmb3InIGxvb3BzCgoyMDE0LTA2LTI0IDExOjI3OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvTWFrZWZpbGUuYW06CgkgIGJhZGJhc2U6IFVzZSB0aGUgY29ycmVjdCBMREZMQUdTIGZvciBjcmVhdGluZyBsaWJyYXJpZXMKCSAgT3RoZXJ3aXNlIHdlIHdvbid0IGUuZy4gY3JlYXRlIC5kbGxzIG9uIFdpbmRvd3MKCjIwMTQtMDYtMjQgMDg6MDE6MjEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvTWFrZWZpbGUuYW06CgkgIGNvbXBvc2l0b3I6IEZpeCBNYWtlZmlsZSBDRkxBR1MvTElCQUREIG9yZGVyaW5nCgkgIFdlIHdhbnQgdG8gdXNlIHRoZSBsaWJyYXJpZXMgZnJvbSAtYmFkIGlmL3doZW4gcHJlc2VudAoKMjAxNC0wNi0yMyAyMDo0NDoyMyArMDIwMCAgRXJpYyBUcm91c3NldCA8ZXRyb3Vzc2V0QGF3b3guY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5oOgoJICBkM2R2aWRlb3Npbms6IFJlbGVhc2UgRDNEIHN1cmZhY2VzIHdoZW4gc2h1dHRpbmcgZG93biB0aGUgc2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2MDI2CgoyMDE0LTA2LTIzIDIwOjMzOjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmM6CgkgIG9wZW5zbGVzc3JjOiBDbGFzc2lmaWNhdGlvbiBvZiB0aGUgZWxlbWVudCBmYWN0b3J5IHNob3VsZCBiZSBTb3VyY2UvIG5vdCBTcmMvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc4MTEKCjIwMTQtMDYtMjMgMjI6NDA6MjMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGRvbid0IGNsb2JiZXIgYWxyZWFkeSBoZWFwIGFsbG9jYXRlZCB2aWRlbyBmcmFtZQoJICBDSUQgIyAxMjIzNDQwCgoyMDE0LTA2LTIzIDIyOjM2OjIzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBmaXggdXAgdGhlIHBhcmVudCBjaGFpbmluZyBmb3IgZGlzcG9zZSBhbmQgZmluYWxpemUKCjIwMTQtMDYtMjMgMjE6NDM6MTAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkbWV0YS5jOgoJICBnbHVwbG9hZG1ldGE6IHJlZW5hYmxlIEdMTWVtb3J5IHVwbG9hZCBwYXRoCgoyMDE0LTA2LTIyIDIzOjM5OjE0IC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZml4IGRpc2VxYy1zb3VyY2UgcHJvcCBuYW1lIGluIGV4YW1wbGUKCjIwMTQtMDYtMjIgMjE6MDQ6NDUgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBmaXggbml0IG9uIHdhcm5pbmcgbWVzc2FnZQoKMjAxNC0wNi0yMiAyMjowNDozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB1c2UgJEVSUk9SX0NGTEFHUyBpbnN0ZWFkIG9mIGhhcmQtY29kaW5nIC1XZXJyb3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03MzE2OTIKCjIwMTQtMDYtMTUgMjE6MTU6NTEgKzAyMDAgIEtvb3AgTWFzdCA8a3dtQHJhaW5ib3ctcnVubmVyLm5sPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHVzZSAtV2Vycm9yIHRvIG1ha2UgdGhlIGluY2x1ZGUgR0wgYW5kIEdMRVMyIGhlYWRlciBjaGVjayBndWFyYW50ZWVkIGZhdGFsCgkgIENsYW5nIHdpbGwgb25seSBnaXZlIGEgd2FybmluZyBmb3IgdGhlIHJlZGVmaW5pdGlvbiBvZiB0eXBlZGVmIEdMZW51bS4KCSAgU2luY2UgbWFzdGVyIGlzIGJ1aWxkIHdpdGggLVdlcnJvciB0aGlzIHdpbGwgcmVzdWx0IGluIGEgYnVpbGQgZmFpbHVyZQoJICBsYXRlciBpbiB0aGUgZ2wgcGx1Z2luLiBBZGQgLVdlcnJvciB0byB0aGUgdGVzdCwgc28gdGhlIHRlc3QgcmVzdWx0IGlzIGFzCgkgIGV4cGVjdGVkLiBUaGlzIHdpbGwgYWxsb3cgdGhlIGdsIHBsdWdpbnMgdG8gYnVpbGQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNjkyCgoyMDE0LTA2LTE3IDE0OjIzOjQzICswMTAwICBDaHJpcyBCYXNzIDxmbG9vYmxlZmxhbUBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IGZpeCBodmNDIHNpemUgY2hlY2sKCSAgSW4gSVNPL0lFQyAxNDQ5Ni0xNSwgdGhlIG1pbmltdW0gc2l6ZSBvZiBhIEhFVkNEZWNvZGVyQ29uZmlndXJhdGlvblJlY29yZAoJICAoaS5lLiwgdGhlIGNvbnRlbnRzIG9mIGEgaHZjQyBib3gpIGlzIDIzIGJ5dGVzLiBIb3dldmVyLCB0aGUgY29kZSBpbiBoMjY1cGFyc2UKCSAgY2hlY2tzIHRoYXQgdGhlIHNpemUgb2YgdGhpcyBkYXRhIGlzIG5vdCBsZXNzIHRoYW4gMjggYnl0ZXMsIGFuZCBpdCByZWZ1c2VzIHRvCgkgIGFjY2VwdCBjYXBzIGlmIHRoZSBjaGVjayBmYWlscy4gVGhlIHJlc3VsdCBpcyB0aGF0IHN0YW5kYXJkcy1jb25mb3JtYW50IHN0cmVhbXMKCSAgdGhhdCBkb24ndCBjYXJyeSBhbnkgcGFyYW1ldGVyIHNldHMgaW4gdGhlaXIgaHZjQyBib3hlcyB3b24ndCBwbGF5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTczMTc4MwoKMjAxNC0wNi0xOSAyMDoxNTowNSArMDIwMCAgS29vcCBNYXN0IDxrd21AcmFpbmJvdy1ydW5uZXIubmw+CgoJKiBleHQvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgbW9kcGx1ZzogZG9uJ3QgaGFyZGNvZGUgYysrIHN0YW5kYXJkIGxpYnJhcnkKCSAgRml4ZXMgYnVpbGQgd2l0aCBsbHZtIG9uIEZyZWVCU0QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzMxOTMwCgoyMDE0LTA2LTIyIDE5OjM2OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjMuMyA9PT0KCjIwMTQtMDYtMjIgMTk6MjI6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vYmFkLXZpZGVvLW9yYy1kaXN0LmM6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yb3JjLWRpc3QuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMy4zCgoyMDE0LTA2LTIyIDE5OjA5OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTQtMDYtMjIgMTg6NTg6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkgIGdsOiBOZWVkIHRvIGxpbmsgdG8gbmV3IGJhZHZpZGVvIGxpYnJhcnkgZm9yIHRoZSB2aWRlbyBhZ2dyZWdhdG9yIGJhc2UgY2xhc3MKCjIwMTQtMDYtMjIgMTg6NTE6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkgIHZpZGVvOiBMaW5rIHdpdGggJChMSUJNKSBmb3IgcmludCgpIGFuZCBvdGhlcnMKCjIwMTQtMDYtMjIgMTQ6MjU6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vbmwucG86CgkqIHBvL3BsLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3VrLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNC0wNi0yMCAwODoyMDo1NSAtMDYwMCAgVGhvbWFzIEJsdWVtZWwgPHRibHVlbWVsQGNvbnRyb2w0LmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogRml4IGRlY3J5cHRpbmcgZnJhZ21lbnRzCgkgIE9ubHkgcmVzZXQgdGhlIGRlY3J5cHRpb24gZW5naW5lIG9uIHRoZSBmaXJzdCBidWZmZXIgb2YgYSBmcmFnbWVudCwKCSAgbm90IGFnYWluIGZvciB0aGUgc2Vjb25kIGJ1ZmZlci4gIFRoaXMgZml4ZXMgY29ycnVwdGluZyB0aGUgc2Vjb25kCgkgIGJ1ZmZlciBvZiBhIGZyYWdtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxOTY4CgoyMDE0LTA2LTIyIDE0OjEyOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBVc2UgdGhlIHBhZCBwYXNzZWQgdG8gdXMgZGlyZWN0bHkgZm9yIGRlZmF1bHQgZXZlbnQgaGFuZGxpbmcKCjIwMTQtMDYtMTkgMTc6MjQ6MjYgKzA5MDAgIEp1c3RpbiBKb3kgPGp1c3Rpbi5qb3kuOXRvNUBnbWFpbC5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSAgcmF3cGFyc2U6IGRlZmF1bHQgcXVlcnkgc2hvdWxkIGJlIGZvcndhcmQgb24gdGFyZ2V0IHBhZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxODk5CgoyMDE0LTA2LTIyIDEyOjMyOjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZml4IHVwIGNvbW1lbnQKCjIwMTQtMDYtMjIgMDk6NDQ6MjQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dzdGdsX2dsZXMyY29tcGF0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlczIuaDoKCSAgZ2w6IG1vdmUgZ2xlczIgY29tcGF0IGhlYWRlciB0byBnbHByb3RvdHlwZXMKCjIwMTQtMDYtMjIgMDk6MzY6MzQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmg6CgkgIGdsYnVmZmVycG9vbDogcHJvdmlkZSBhIGNvbnNpc3RlbnQgQVBJIHJlZ2FyZGxlc3Mgb2YgcGxhdGZvcm0KCjIwMTQtMDYtMjIgMDk6MjI6MjMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkgIGdsOiBtYXJrIGxpYnJhcnkgYXMgQVBJIHVuc3RhYmxlCgoyMDE0LTA2LTIxIDE2OjU3OjM0ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmg6CgkgIGxpYnM6dXJpZG93bmxvYWRlcjogUHJvcGVybHkgZGVjbGFyZSBBUElzIGFzIFVOU1RBQkxFCgoyMDE0LTA2LTIxIDE2OjUyOjUxICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuaDoKCSAgbGliczp2aWRlbzogUHJvcGVybHkgZGVjbGFyZSBBUElzIGFzIFVOU1RBQkxFCgoyMDE0LTA2LTIxIDE2OjUxOjAxICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJICBsaWJzOmJhc2U6IFByb3Blcmx5IGRlY2xhcmUgQVBJcyBhcyBVTlNUQUJMRQoKMjAxNC0wNi0yMSAxNjo1NzoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBGaXggY29tcGlsZXIgd2FybmluZwoJICBnc3R3YXlsYW5kc2luay5jOjQ4MDoxNDogZXJyb3I6IGNvbXBhcmlzb24gb2YgY29uc3RhbnQgLTEgd2l0aCBleHByZXNzaW9uIG9mCgkgIHR5cGUgJ2VudW0gd2xfc2htX2Zvcm1hdCcgaXMgYWx3YXlzIGZhbHNlCgkgIFstV2Vycm9yLC1XdGF1dG9sb2dpY2FsLWNvbnN0YW50LW91dC1vZi1yYW5nZS1jb21wYXJlXQoJICBpZiAoZm9ybWF0ID09IC0xKQoJICB+fn5+fn4gXiAgfn4KCjIwMTQtMDYtMjEgMTY6NTU6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBVcGRhdGUgY29tbWVudHMgdG8gdGhlIG5ldyByZWFsaXR5IGFuZCByZW1vdmUgdW51c2VkIHZhcmlhYmxlcwoKMjAxNC0wNi0yMSAxNTo0MDo1OCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJICBsaWJzOnZpZGVvOiBBZGQgLUkkKHRvcF9zcmNkaXIpL2dzdC1saWJzIHRvIGZpeCBkaXN0Y2hlY2sKCjIwMTQtMDYtMjEgMTU6MjY6MTQgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL01ha2VmaWxlLmFtOgoJICBsaWJzOmJhc2U6IEZpeCBpbmNsdWRlZGlyCgoyMDE0LTA2LTIxIDEzOjQ1OjEzICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEZpeCByZXF1ZXN0ZWQgcGFkIG5hbWUKCjIwMTQtMDYtMjAgMjI6MDI6MDcgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvcnBhZC5oOgoJICBsaWJzOiB2aWRlb2FnZ3JlZ2F0bzogRG8gbm90IGltcG9ydCB2aWRlb2NvbnZlcnQuaCBpbiBnc3R2aWRlb2FnZ3JlZ2F0b3JwYWQuaAoJICArIEFkZCBhIFByaXZhdGUgc3RydWN0dXJlIHRvIHRoZSBHc3RWaWRlb0FnZ3JlZ2F0b3JQYWQKCSAgKyBBZGQgc29tZSBwYWRkaW5nCgoyMDE0LTA2LTIwIDIxOjE4OjU4ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkgIEZpbmFsIGZpeCBjb21waWxhdGlvbgoKMjAxNC0wNi0yMCAyMDoxMTowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJICBidWlsZDogcmVtb3ZlIGdzdC1saWJzL2dzdC92aWRlby8gZnJvbSBDUlVGVF9ESVJTCgkgIEl0IHdhcyBnb25lLCBidXQgbm93IGl0J3MgYmFjay4KCjIwMTQtMDYtMjAgMjA6MjM6MzAgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSAgbGliczp2aWRlbzpGaXggY29tcGlsYXRpb24KCjIwMTQtMDYtMjAgMTE6MTA6NDUgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2w6Z2x2aWRlb21peGVyOiBBZGQgdGhlIENvbXBvc2l0b3IgaW4gdGhlIGVsZW1lbnQgbWV0YWRhdGEgY2xhc3MKCSAgU28gaXQgaXMgcG9zc2libGUgdG8gcGljayBvbmUgY29tcG9zaXRpbmcgZWxlbWVudCBmcm9tIHRoZSByZWdpc3RyeQoKMjAxNC0wNS0yMiAxOTo0NjowMiArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvY29tcG9zaXRvci9NYWtlZmlsZS5hbToKCSogZ3N0L2NvbXBvc2l0b3IvYmxlbmQuYzoKCSogZ3N0L2NvbXBvc2l0b3IvYmxlbmQuaDoKCSogZ3N0L2NvbXBvc2l0b3IvYmxlbmRvcmMuaDoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmg6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3JvcmMtZGlzdC5jOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yb3JjLWRpc3QuaDoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvcm9yYy5vcmM6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3JwYWQuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogQWRkIGEgbmV3IGNvbXBvc2l0b3IgYmFzZWQgb24gdGhlIG5ldyBHc3RWaWRlb0FnZ3JlZ2F0b3IgYmFzZSBjbGFzcwoJICBJdCBpcyBhIHJlcGxhY2VtZW50IGZvciB2aWRlb21peGVyIHdpdGggYSBzaW1pbGFyZSBBUEkKCSAgQ28tQXV0aG9yZWQgYnk6IFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTkxOQoKMjAxNC0wNi0xMCAxMToyNjo1MyArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlcnBhZC5oOgoJICBnbDogUG9ydCBnbG1peGVyIHRvIHRoZSBHc3RWaWRlb0FnZ3JlZ2F0b3IgYmFzZWNsYXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE5MjEKCjIwMTQtMDYtMDMgMTk6MDA6MzQgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9iYWQtdmlkZW8tb3JjLWRpc3QuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2JhZC12aWRlby1vcmMtZGlzdC5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vYmFkLXZpZGVvLW9yYy5vcmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RjbXMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGNtcy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvcnBhZC5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW9jb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnZlcnQuaDoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYWQtdmlkZW8tdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFkLXZpZGVvLnBjLmluOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IENyZWF0ZSBhIG5ldyBHc3RWaWRlb0FnZ3JlZ2F0b3IgYmFzZWNsYXNzCgkgIFRoaXMgYmFzZSBjbGFzcyBoYXMgYmVlbiBhZGRlZCB0byBhIG5ld2x5IGNyZWF0ZWQgbGliZ3N0YmFkdmlkZW8gbGlicmFyeQoJICBDby1BdXRob3JlZCBieTogVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxOTE4CgoyMDE0LTA1LTIyIDE5OjQ0OjM3ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC1iYXNlLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC1iYXNlLnBjLmluOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svbGlicy9hZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEFkZCBuZXcgR3N0QWdncmVnYXRvciBiYXNlIGNsYXNzCgkgIFRoaXMgYmFzZSBjbGFzcyBoYXMgYmVlbiBhZGRlZCB0byBhIG5ld2x5IGNyZWF0ZWQgbGliZ3N0YmFkYmFzZSBsaWJyYXJ5CgkgIENvLUF1dGhvcmVkIGJ5OiBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE5MTcKCjIwMTQtMDYtMjAgMTQ6NTk6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IENsZWFyIGV4Y2VwdGlvbnMgYWxzbyB3aGVuIHdlIGRpZCBub3QgcHJvdmlkZSBhIEdFcnJvcgoKMjAxNC0wNi0xOSAxMToyNjo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkgIGFuZHJvaWRtZWRpYTogQWxzbyBkb24ndCByZXBvcnQgd2FybmluZ3MgZm9yIHF1ZXVlL2RlcXVldWUgZXJyb3JzIGR1cmluZyBmbHVzaGluZyBpbiBlcnJvciBjYXNlcwoJICAuLi4gYW5kIGZpeCBhIGNhc2Ugd2hlcmUgd2UgcmVsZWFzZWQgYW4gaW52YWxpZCBidWZmZXIgaW5kZXguCgoyMDE0LTA2LTE5IDExOjE1OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSAgYW5kcm9pZG1lZGlhOiBEb24ndCBjb25zaWRlciBpbnB1dCBidWZmZXIgcXVldWVpbmcgZmFpbHVyZXMgYXMgYW4gZXJyb3IgZHVyaW5nIGZsdXNoaW5nCgoyMDE0LTA2LTE5IDExOjEyOjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSAgYW5kcm9pZG1lZGlhOiBDbGVhbiB1cCBmbHVzaGluZyBjb2RlIGFuZCBkb24ndCBjb25zaWRlciBvdXRwdXQgYnVmZmVyIHJlbGVhc2luZyBmYWlsdXJlcyBkdXJpbmcgZmx1c2hpbmcgYXMgYW4gZXJyb3IKCjIwMTQtMDYtMTkgMDk6NTc6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IEluY2x1ZGUgdGhlIGRlYnVnIHN0cmluZyBpbiB0aGUgZXJyb3IgbWVzc2FnZXMgd2UgcHJvcGFnYXRlIGZyb20gdCBzb3VyY2UKCjIwMTQtMDYtMTkgMDk6NTY6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBJbmNsdWRlIHRoZSBkZWJ1ZyBzdHJpbmcgaW4gdGhlIGVycm9yIG1lc3NhZ2VzIHdlIHByb3BhZ2F0ZSBmcm9tIHRoZSBzb3VyY2UKCjIwMTQtMDYtMTkgMDk6NTQ6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBJbmNsdWRlIGEgbW9yZSBkZXNjcmlwdGl2ZSBlcnJvciBtZXNzYWdlCgoyMDE0LTA2LTE5IDA5OjUzOjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBQcm9wYWdhdGUgZXJyb3IgbWVzc2FnZXMgZnJvbSB0aGUgc291cmNlIGVsZW1lbnQgdXAgaW4gdGhlIGhpZXJhcmNoeQoJICBJbnN0ZWFkIG9mIGludmVudGluZyBvdXIgb3duIGdlbmVyaWMgZXJyb3Igc3RyaW5ncyB3aGljaCBhcmUgbW9zdGx5IHVzZWxlc3MuCgoyMDE0LTA2LTE5IDA5OjQwOjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRGlyZWN0bHkgY29udmVydCBHRXJyb3JzIHRvIGVycm9yIG1lc3NhZ2VzCgkgIFRoaXMgd2lsbCBtYWtlIHN1cmUgdGhhdCB3ZSBkb24ndCBsZWFrIGRlYnVnIGluZm9ybWF0aW9uIGludG8gdGhlIGFjdHVhbAoJICBlcnJvciBtZXNzYWdlIHN0cmluZyBhbmQga2VlcCBpdCBiZWhpbmQgdGhlIGRlYnVnIHN0cmluZy4KCjIwMTQtMDYtMTcgMTE6NDg6MTIgKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBnc3RzcnRwZW5jOiB1bnJlZiBldmVudCB3aGVuIG5lZWRlZAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNzY4CgoyMDE0LTA2LTE4IDE1OjM2OjA5ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cGVuYzogaW1wcm92ZSBwcm9wZXJ0eSBjb21tZW50cwoJICBBZGQgYSBOb3RlIHRvIHRoZSBhbGxvdy1yZXBlYXQtdHggcHJvcGVydHkgYmVjYXVzZSBpdCBpcyBwb3RlbnRpYWxseQoJICBpbnNlY3VyZSB3aGVuIHVzZWQgaW5jb3JyZWN0bHkuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE3MTQKCjIwMTQtMDYtMTMgMTE6MTU6MjUgKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmg6CgkgIGdzdHNydHBlbmM6IGFkZCBhbGxvdy1yZXBlYXQtdHggcHJvcGVydHkKCjIwMTQtMDUtMjcgMTI6NDA6MDkgKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIG9wZW5nbDogYWRkIGVsZW1lbnQgZm9yIHRyYW5zZm9ybWluZyB2aWRlbyBnZW9tZXRyeQoJICAqIGFkZCBncmFwaGVuZSBhcyBzb2Z0IGRlcGVuZGVuY3kgZm9yIGxpbmVhciBhbGdlYnJhCgoyMDE0LTA2LTE4IDEwOjEzOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3BubS9NYWtlZmlsZS5hbToKCSAgcG5tOiBsaW5rIGFnYWluc3QgbGliZ3N0YmFzZSBmb3IgR3N0QWRhcHRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNTIzCgoyMDE0LTA2LTE3IDIzOjIwOjA0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmM6CgkgIGdsZnJhbWVidWZmZXI6IGRvbid0IHNlZ2ZhdWx0IG5lZWRsZXNzbHkgd2l0aCBHTEVTMgoJICBnc3RfZ2xfZnJhbWVidWZmZXJfdXNlX3YyIHdhcyB1c2luZyBhIGZ1bmN0aW9uIHRoYXQgaXMgbm90IGF2YWlsYWJsZQoJICB3aXRoIEdMRVMyCgoyMDE0LTA2LTE2IDIwOjM2OjA5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuaDoKCSAgZ2xmaWx0ZXJzaGFkZXI6IHBvcnQgdG8gR0xFUzIKCSAgUHJvdmlkZSBhIHRpbWUgdmFyaWFibGUKCjIwMTQtMDYtMTcgMTM6NDg6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB3aW4zMi9jb21tb24vbGliZ3N0Y29kZWNwYXJzZXJzLmRlZjoKCSAgd2luMzI6IHVwZGF0ZSBleHBvcnRzIGZvciBjaGFuZ2VkIGgyNjQgY29kZWMgcGFyc2VyIEFQSQoKMjAxNC0wNi0xNyAxMjo1MDoxNyArMDUzMCAgU2FuamF5IE5NIDxzYW5qYXkubm1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubXV0aWxzLmM6CgkgIHBubWRlYzogQWRkZWQgUEJNIFN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDUyMwoKMjAxNC0wNi0xNyAxMzoxNTowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC93YXlsYW5kL3dheWxhbmQuaDoKCSAgd2F5bGFuZDogYWRkIHVuc3RhYmxlIEFQSSBndWFyZHMgdG8gd2F5bGFuZCBsaWJyYXJ5IGhlYWRlcgoKMjAxNC0wNi0xNyAxMzoxMToyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC93YXlsYW5kL01ha2VmaWxlLmFtOgoJICBnc3QtbGliczogZml4IHVuaW5zdGFsbGVkIGJ1aWxkIG9mIG5ldyB3YXlsYW5kIGxpYgoKMjAxNC0wNi0xNiAxODo1Mzo1MyArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5jOgoJICB3YXlsYW5kc2luay93bGRpc3BsYXk6IHZlcmlmeSB0aGF0IGFsbCB0aGUgcmVxdWlyZWQgaW50ZXJmYWNlcyBoYXZlIGJlZW4gZm91bmQgb24gdGhlIGNvbXBvc2l0b3IKCSAgVGhpcyBhbGxvd3Mgd2F5bGFuZHNpbmsgdG8gZmFpbCBncmFjZWZ1bGx5IGJlZm9yZSBnb2luZyB0byBSRUFEWQoJICBpbiBjYXNlIG9uZSBvZiB0aGUgcmVxdWlyZWQgaW50ZXJmYWNlcyBkb2VzIG5vdCBleGlzdC4gTm90IGFsbAoJICBpbnRlcmZhY2VzIGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBtb2RlcyBvZiBvcGVyYXRpb24sIGJ1dCBpdCBpcwoJICBiZXR0ZXIgaW1obyB0byBmYWlsIGJlZm9yZSBnb2luZyB0byBSRUFEWSBpZiBhdCBsZWFzdCBvbmUgZmVhdHVyZQoJICBpcyBub3Qgc3VwcG9ydGVkLCB0aGFuIHRvIGZhaWwgYW5kL29yIGNyYXNoIGF0IHNvbWUgbGF0ZXIgcG9pbnQuCgkgIEluIHRoZSBmdXR1cmUgd2UgbWF5IHdhbnQgdG8gcmVsYXggdGhpcyByZXN0cmljdGlvbiBhbmQgYWxsb3cgY2VydGFpbgoJICBpbnRlcmZhY2VzIG5vdCB0byBiZSBwcmVzZW50IHVuZGVyIGNlcnRhaW4gY2lyY3Vtc3RhbmNlcywgZm9yIGV4YW1wbGUKCSAgaWYgdGhlcmUgaXMgYW4gYWx0ZXJuYXRpdmUgc2ltaWxhciBpbnRlcmZhY2UgYXZhaWxhYmxlIChmb3IgaW5zdGFuY2UsCgkgIHhkZ19zaGVsbCBpbnN0ZWFkIG9mIHdsX3NoZWxsKSwgYnV0IGZvciBub3cgbGV0J3MgcmVxdWlyZSB0aGVtIGFsbC4KCSAgV2VzdG9uIHN1cHBvcnRzIHRoZW0gYWxsLCB3aGljaCBpcyBlbm91Z2ggZm9yIHVzIG5vdy4gT3RoZXIgY29tcG9zaXRvcnMKCSAgc2hvdWxkIHJlYWxseSBpbXBsZW1lbnQgdGhlbSBpZiB0aGV5IGRvbid0IGFscmVhZHkuIEkgZG9uJ3QgbGlrZSB0aGUKCSAgaWRlYSBvZiBzdXBwb3J0aW5nIG1hbnkgZGlmZmVyZW50IGNvbXBvc2l0b3JzIHdpdGggZGlmZmVyZW50IHNldHMgb2YKCSAgaW50ZXJmYWNlcyBpbXBsZW1lbnRlZC4gd2xfc3ViY29tcG9zaXRvciwgd2xfc2htIGFuZCB3bF9zY2FsZXIgYXJlCgkgIHJlYWxseSBlc3NlbnRpYWwgZm9yIGhhdmluZyBhIG5pY2UgdmlkZW8gc2luay4gRW5vdWdoIHNhaWQuCgoyMDE0LTA2LTE2IDE4OjAzOjUxICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IHJlbW92ZSB0aGUgYnVmZmVyIGZyb20gdGhlIHN1cmZhY2Ugd2hlbiBnb2luZyBQQVVTRUQgLT4gUkVBRFkKCSAgVGhpcyBlc3NlbnRpYWxseSBoaWRlcyB0aGUgdmlkZW8gYW5kIGFsbG93cyB0aGUgYXBwbGljYXRpb24gdG8KCSAgcG90ZW50aWFsbHkgZHJhdyBhIGJsYWNrIGJhY2tncm91bmQgb3Igd2hhdGV2ZXIgZWxzZSBpdCB3YW50cy4KCSAgVGhpcyBhbGxvd3MgdG8gZGlmZmVyZW50aWF0ZSB0aGUgInBhdXNlZCIgYW5kICJzdG9wcGVkIiBtb2RlcwoJICBmcm9tIHRoZSB1c2VyJ3MgcG9pbnQgb2Ygdmlldy4KCSAgQWxzbyByZXdvcmRlZCBhIGNvbW1lbnQgdGhlcmUgdG8gbWFrZSBteSB0aGlua2luZyBtb3JlIGNsZWFyLAoJICBzaW5jZSB0aGUgInJlYXNvbiBmb3Iga2VlcGluZyB0aGUgZGlzcGxheSBhcm91bmQiIGlzIG5vdCByZWFsbHkKCSAgdGhlIGV4cG9zZWQoKSBjYWxscywgYXMgdGhlcmUgaXMgbm8gYnVmZmVyIHNob3duIGluIFJFQURZL05VTEwKCSAgYW55bW9yZS4KCjIwMTQtMDYtMTIgMTc6NDM6NDAgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogY29uZmlndXJlLmFjOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItd2F5bGFuZC11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci13YXlsYW5kLnBjLmluOgoJICB3YXlsYW5kOiBpbnN0YWxsIC5wYyBmaWxlCgoyMDE0LTA2LTEzIDE2OjM3OjM4ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSAgd2F5bGFuZHNpbmsvd2x3aW5kb3c6IGRvIG5vdCBjb21taXQgYSByZXNpemUgd2hlbiBpdCBoYXBwZW5zIGR1ZSB0byBhIHZpZGVvIGluZm8gY2hhbmdlCgkgIDEpIFdlIGtub3cgdGhhdCBnc3Rfd2F5bGFuZF9zaW5rX3JlbmRlcigpIHdpbGwgY29tbWl0IHRoZSBzdXJmYWNlCgkgIGluIHRoZSBzYW1lIHRocmVhZCBhIGxpdHRsZSBsYXRlciwgYXMgZ3N0X3dsX3dpbmRvd19zZXRfdmlkZW9faW5mbygpCgkgIGlzIGFsd2F5cyBjYWxsZWQgZnJvbSB0aGVyZSwgc28gd2UgY2FuIHNhdmUgdGhlIGNvbXBvc2l0b3IgZnJvbQoJICBzb21lIGV4dHJhIGNhbGN1bGF0aW9ucy4KCSAgMikgV2Ugc2hvdWxkIG5vdCBjb21taXQgYSByZXNpemUgd2l0aCB0aGUgbmV3IHZpZGVvIGluZm8gd2hpbGUgd2UgYXJlIHN0aWxsCgkgIHNob3dpbmcgdGhlIGJ1ZmZlciBvZiB0aGUgcHJldmlvdXMgdmlkZW8sIHdpdGggdGhlIG9sZCBjYXBzLCBhcyB0aGF0CgkgIHdvdWxkIHByb2JhYmx5IGJlIGEgdmlzaWJsZSByZXNpemUgZ2xpdGNoLgoKMjAxNC0wNi0xMyAxNjoyOTozMiArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkgIHdheWxhbmRzaW5rL3dsd2luZG93OiB0YWtlIGludG8gYWNjb3VudCB0aGUgdmlkZW8gYXNwZWN0IHJhdGlvIHdoZW4gZGV0ZXJtaW5pbmcgdGhlIHNpemUgb2YgdGhlIHN1cmZhY2UKCjIwMTQtMDYtMTMgMTU6NTg6MDggKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5oOgoJICB3YXlsYW5kc2luazogaW1wcm92ZSB0aGUgd2F5IHRoZSB2aWRlbyBzaXplIGlzIHBhc3NlZCB0byB3bHdpbmRvdyBhbmQgYWxzbyBpbXByb3ZlIHRoZSBjb2RlIGZvciB3aW5kb3cgY3JlYXRpb24KCjIwMTQtMDYtMDYgMTI6NDk6NTYgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBnc3QtbGlicy9nc3Qvd2F5bGFuZC93YXlsYW5kLmM6CgkqIGdzdC1saWJzL2dzdC93YXlsYW5kL3dheWxhbmQuaDoKCSAgd2F5bGFuZHNpbms6IHJlbmFtZSBwYXVzZS9yZXN1bWVfcmVuZGVyaW5nIHRvIGJlZ2luL2VuZF9nZW9tZXRyeV9jaGFuZ2UgYW5kIHVwZGF0ZSB0aGVpciBkb2N1bWVudGF0aW9uCgoyMDE0LTA1LTI5IDEyOjI3OjQ2ICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgd2F5bGFuZHNpbms6IHJlbW92ZSB0aGUgbWFudWFsIHN5bmNocm9uaXphdGlvbiBmcm9tIHBhdXNlL3Jlc3VtZV9yZW5kZXJpbmcgYW5kIHVzZSBzdWJzdXJmYWNlIHN5bmMvZGVzeW5jCgkgIFByZXZpb3VzbHksIGluIG9yZGVyIHRvIGNoYW5nZSB0aGUgc3VyZmFjZSBzaXplIHdlIGhhZCB0byBsZXQgdGhlIHBpcGVsaW5lCgkgIHJlZHJhdyBpdCwgd2hpY2ggYXQgZmlyc3QgYWxzbyBpbnZvbHZlZCByZS1uZWdvdGlhdGluZyBjYXBzLCBldGMsIHNvIGEKCSAgc3luY2hyb25pemF0aW9uIHdpdGggdGhlIHBpcGVsaW5lIHdhcyBhYnNvbHV0ZWx5IG5lY2Vzc2FyeS4KCSAgQXQgdGhlIG1vbWVudCwgd2UgYXJlIHVzaW5nIHdsX3ZpZXdwb3J0LCB3aGljaCBzZXBhcmF0ZXMgdGhlIHN1cmZhY2Ugc2l6ZQoJICBmcm9tIHRoZSBidWZmZXIgc2l6ZSBhbmQgaXQgYWxzbyBhbGxvd3MgdXMgdG8gY29tbWl0IGEgc3VyZmFjZSByZXNpemUgd2l0aG91dAoJICBhdHRhY2hpbmcgYSBuZXcgYnVmZmVyLCBzbyBpdCBpcyBlbm91Z2ggdG8ganVzdCBkbzoKCSAgZ3N0X3dheWxhbmRfdmlkZW9fcGF1c2VfcmVuZGVyaW5nKCk6CgkgIHdsX3N1YnN1cmZhY2Vfc2V0X3N5bmMoKQoJICBnc3RfdmlkZW9fb3ZlcmxheV9zZXRfcmVuZGVyX3JlY3RhbmdsZSgpOgoJICB3bF9zdWJzdXJmYWNlX3NldF9wb3NpdGlvbigpCgkgIHdsX3ZpZXdwb3J0X3NldF9kZXN0aW5hdGlvbigpCgkgIHdsX3N1cmZhY2VfZGFtYWdlKCkKCSAgd2xfc3VyZmFjZV9jb21taXQoKQoJICAuLi4gY29tbWl0IHRoZSBwYXJlbnQgc3VyZmFjZSAuLi4KCSAgZ3N0X3dheWxhbmRfdmlkZW9fcmVzdW1lX3JlbmRlcmluZygpOgoJICB3bF9zdWJzdXJmYWNlX3NldF9kZXN5bmMoKQoJICBUaGlzIGlzIGVub3VnaCB0byBzeW5jaHJvbml6ZSBhIHN1cmZhY2UgcmVzaXplIGFuZCB0aGUgcGlwZWxpbmUgY2FuIGNvbnRpbnVlCgkgIGRyYXdpbmcgaW5kZXBlbmRlbnRseS4gTm93IG9mIGNvdXJzZSwgdGhlIG5hbWVzIHBhdXNlL3Jlc3VtZV9yZW5kZXJpbmcgYXJlCgkgIGJhZC4gSSB3aWxsIHJlbmFtZSB0aGVtIGluIGFub3RoZXIgY29tbWl0LgoKMjAxNC0wNi0wNiAxMjoxMDoyNCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBwcm90ZWN0IGFjY2VzcyB0byBwcm9wZXJ0aWVzIHdpdGggdGhlIE9CSkVDVF9MT0NLCgoyMDE0LTA2LTA2IDEyOjA0OjQ0ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgd2F5bGFuZHNpbms6IHByb3RlY3QgYWNjZXNzIHRvIHRoZSBkaXNwbGF5IHdpdGggYSBuZXcgZGlzcGxheV9sb2NrCgkgIEFjY2VzcyBpcyBwcm90ZWN0ZWQgb25seSBmb3Igc2V0dGluZy9jcmVhdGluZy9kZXN0cm95aW5nIHRoZSBkaXNwbGF5CgkgIGhhbmRsZS4gc2V0X2NhcHMoKSBmb3IgZXhhbXBsZSBpcyBub3QgcHJvdGVjdGVkIGJlY2F1c2UgaXQgY2Fubm90IGJlCgkgIGNhbGxlZCBiZWZvcmUgY2hhbmdpbmcgc3RhdGUgdG8gUkVBRFksIGF0IHdoaWNoIHBvaW50IHRoZXJlIHdpbGwgYmUKCSAgYSBkaXNwbGF5IGhhbmRsZSBhdmFpbGFibGUgYW5kIHdoaWNoIGNhbm5vdCBjaGFuZ2UgYnkgYW55IHRocmVhZCBhdAoJICB0aGF0IHBvaW50CgoyMDE0LTA2LTA2IDEwOjM1OjIwICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IHJlbW92ZSB0aGUgT0JKRUNUX0xPQ0sgZnJvbSBzZXRfY2FwcygpCgkgIEl0J3Mgbm90IHJlYWxseSBuZWNlc3NhcnksIHRoaXMgbWV0aG9kIGlzIHByb3RlY3RlZCBmcm9tIEdzdEJhc2VTaW5rIHdpdGggdGhlIFBSRVJPTExfTE9DSwoKMjAxNC0wNS0yOCAxMzoxMDo0MyArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkgIHdheWxhbmRzaW5rOiBSZXBsYWNlIHRoZSBPQkpFQ1RfTE9DSyB3aXRoIGEgcHJpdmF0ZSByZW5kZXJfbG9jayB0byBsb2NrIHJlbmRlciBvcGVyYXRpb25zCgkgIFRoaXMgaXMgYmVjYXVzZToKCSAgKiBHU1RfRUxFTUVOVF9XQVJOSU5HL0VSUk9SIGRvIGxvY2sgdGhlIE9CSkVDVF9MT0NLIGFuZCB3ZSBkZWFkbG9jayBpbnN0YW50bHkKCSAgKiBJbiBmdXR1cmUgY29tbWl0cyBJIHdhbnQgdG8gbWFrZSB1c2Ugb2YgR3N0QmFzZVNpbmsgZnVuY3Rpb25zIHRoYXQgYWxzbwoJICBsb2NrIHRoZSBPQkpFQ1RfTE9DSyBpbnNpZGUgdGhpcyBjb2RlCgoyMDE0LTA1LTI2IDE0OjEzOjU2ICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuaDoKCSAgd2F5bGFuZHNpbms6IG1vdmUgc3VyZmFjZSByZXNpemluZyBsb2dpYyB0byB0aGUgR3N0V2xXaW5kb3cgYW5kIG1ha2UgaXQgYmUgY2FsbGVkIGZyb20gdGhlIG1haW4gdGhyZWFkCgoyMDE0LTA1LTI2IDEyOjU0OjEwICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuaDoKCSAgd2F5bGFuZHNpbms6IGNsZWFudXAgR3N0V2xXaW5kb3cgYSBiaXQgYWZ0ZXIgdGhlIG92ZXJsYXlpbmcgc2VtYW50aWNzIGNoYW5nZQoJICAqIG93bl9zdXJmYWNlIGlzIG5vdCBuZWVkZWQgYW55bW9yZQoJICAqIGdzdF93bF93aW5kb3dfZnJvbV9zdXJmYWNlIGlzIG5vdCB1c2VkIGV4dGVybmFsbHkgYW55bW9yZQoJICAqIG1hbnkgaW5pdGlhbGl6YXRpb25zIHRvIDAgYXJlIG5vdCBuZWVkZWQgKEdPYmplY3QgZG9lcyB0aGVtKQoKMjAxNC0wNS0yNiAxMTozNDo1MSArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC93YXlsYW5kL3dheWxhbmQuYzoKCSogZ3N0LWxpYnMvZ3N0L3dheWxhbmQvd2F5bGFuZC5oOgoJICB3YXlsYW5kOiByZW1vdmUgZ3N0X3dheWxhbmRfdmlkZW9fc2V0X3N1cmZhY2Vfc2l6ZSgpCgkgIE5vdCBuZWVkZWQgYW55bW9yZSwgc2luY2Ugd2UgdXNlIGdzdF92aWRlb19vdmVybGF5X3NldF9yZW5kZXJfcmVjdGFuZ2xlKCkKCjIwMTQtMDUtMjMgMTg6MTg6MzIgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuYzoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5Lmg6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93Lmg6CgkgIHdheWxhbmRzaW5rOiBjcmVhdGUgYW5kIG1haW50YWluIHRoZSBzdWJzdXJmYWNlIGluc2lkZSB0aGUgc2luawoJICBUaGlzIG1lYW5zIHRoYXQgdGhlIGdpdmVuIHN1cmZhY2UgaW4gc2V0X3dpbmRvd19oYW5kbGUgY2FuIG5vdyBiZQoJICB0aGUgd2luZG93J3MgdG9wLWxldmVsIHN1cmZhY2Ugb24gdG9wIG9mIHdoaWNoIHdheWxhbmRzaW5rIGNyZWF0ZXMKCSAgaXRzIG93biBzdWJzdXJmYWNlIGZvciByZW5kZXJpbmcgdGhlIHZpZGVvLgoJICBUaGlzIGhhcyBtYW55IGFkdmFudGFnZXM6CgkgICogV2UgY2FuIG1haW50YWluIGFzcGVjdCByYXRpbyBieSBvdmVybGF5aW5nIHRoZSBzdWJzdXJmYWNlIGluCgkgIHRoZSBjZW50ZXIgb2YgdGhlIGdpdmVuIGFyZWEgYW5kIGZpbGwgdGhlIHBhcmVudCBzdXJmYWNlJ3MgYXJlYQoJICBibGFjayBpbiBjYXNlIHdlIG5lZWQgdG8gZHJhdyBib3JkZXJzIChpbnN0ZWFkIG9mIGFkZGluZyBhbm90aGVyCgkgIHN1YnN1cmZhY2UgaW5zaWRlIHRoZSBzdWJzdXJmYWNlIGdpdmVuIGZyb20gdGhlIGFwcGxpY2F0aW9uLAoJICBzbywgbGVzcyBzdWJzdXJmYWNlcykKCSAgKiBXZSBjYW4gbW9yZSBlYXNpbHkgc3VwcG9ydCB0b29sa2l0cyB3aXRob3V0IHN1YnN1cmZhY2VzIChzZWUgZ3RrKQoJICAqIFdlIGNhbiBnZXQgcHJvcGVybHkgdXNlIGdzdF92aWRlb19vdmVybGF5X3NldF9yZW5kZXJfcmVjdGFuZ2xlCgkgIGFzIG91ciBhcGkgdG8gc2V0IHRoZSB2aWRlbyBhcmVhIHNpemUgZnJvbSB0aGUgYXBwbGljYXRpb24gYW5kCgkgIHRoZXJlZm9yZSByZW1vdmUgZ3N0X3dheWxhbmRfdmlkZW9fc2V0X3N1cmZhY2Vfc2l6ZS4KCjIwMTQtMDUtMjMgMTM6MDk6MjcgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBnc3QtbGlicy9nc3Qvd2F5bGFuZC93YXlsYW5kLmM6CgkqIGdzdC1saWJzL2dzdC93YXlsYW5kL3dheWxhbmQuaDoKCSAgd2F5bGFuZDogYWRkIHB1YmxpYyBBUEkgZm9yIGNyZWF0aW5nICYgdXNpbmcgdGhlIGRpc3BsYXkgaGFuZGxlIEdzdENvbnRleHQKCjIwMTQtMDUtMjEgMTg6Mjc6MjggKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3Qvd2F5bGFuZC93YXlsYW5kLmg6CgkgIHdheWxhbmRzaW5rOiBnZXQgdGhlIGV4dGVybmFsIGRpc3BsYXkgaGFuZGxlIHVzaW5nIEdzdENvbnRleHQKCSAgVGhpcyBkcm9wcyB0aGUgdWdseSBHc3RXYXlsYW5kV2luZG93SGFuZGxlIHN0cnVjdHVyZSBhbmQgaXMgbXVjaAoJICBtb3JlIGVsZWdhbnQgYmVjYXVzZSB3ZSBjYW4gbm93IHJlcXVlc3QgdGhlIGRpc3BsYXkgc2VwYXJhdGVseQoJICBmcm9tIHRoZSB3aW5kb3cgaGFuZGxlLiBUaGVyZWZvcmUgdGhlIHdpbmRvdyBoYW5kbGUgY2FuIGJlIHJlcXVlc3RlZAoJICBpbiByZW5kZXIoKSwgaS5lLiB3aGVuIGl0IGlzIHJlYWxseSBuZWVkZWQgYW5kIHdlIGNhbiBzdGlsbCBvcGVuCgkgIHRoZSBjb3JyZWN0IGRpc3BsYXkgZm9yIGdldHRpbmcgY2FwcyBhbmQgY3JlYXRpbmcgdGhlIHBvb2wgZWFybGllci4KCSAgVGhpcyBjaGFuZ2UgYWxzbyBzZXBhcmF0ZXMgc2V0dGluZyB0aGUgd2xfc3VyZmFjZSBmcm9tIHNldHRpbmcgaXRzIHNpemUuCgkgIEFwcGxpY2F0aW9ucyBzaG91bGQgZG8gdGhhdCBieSBjYWxsaW5nIHR3byBmdW5jdGlvbnMgaW4gc2VxdWVuY2U6CgkgIGdzdF92aWRlb19vdmVybGF5X3NldF93aW5kb3dfaGFuZGxlIChvdmVybGF5LCBzdXJmYWNlKTsKCSAgZ3N0X3dheWxhbmRfdmlkZW9fc2V0X3N1cmZhY2Vfc2l6ZSAob3ZlcmxheSwgdywgaCk7CgoyMDE0LTA1LTIxIDEzOjE0OjE1ICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuaDoKCSAgd2F5bGFuZHNpbms6IGRyb3Agd2lkdGgvaGVpZ2h0IGFyZ3VtZW50cyBmcm9tIGdzdF93bF93aW5kb3dfbmV3X2Zyb21fc3VyZmFjZSgpCgoyMDE0LTA1LTIyIDEwOjEwOjUxICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5Lmg6CgkqIGV4dC93YXlsYW5kL3dsdmlkZW9mb3JtYXQuaDoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuaDoKCSAgd2F5bGFuZHNpbms6IGFkZCBHX0JFR0lOL0VORF9ERUNMUyBvbiBhbGwgaGVhZGVycyBmb3IgY29uc2lzdGVuY3kKCjIwMTQtMDUtMjEgMTI6NTg6MTAgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogZml4IGFzc2VydGlvbiBmYWlsdXJlIHdoZW4gc3RvcHBpbmcgaW1tZWRpYXRlbHkgYWZ0ZXIgc3RhcnRpbmcsIHdpdGhvdXQgZGlzcGxheWluZyBhbnl0aGluZwoJICBUaGlzIHdhcyB0cmlnZ2VyZWQgaW4gc2NlbmFyaW9zIGxpa2UKCSAgZmlsZXNyYyBsb2NhdGlvbj1ub25leGlzdGVudF9maWxlICEgZGVjb2RlYmluICEgd2F5bGFuZHNpbmsKCjIwMTQtMDUtMjEgMTE6NTU6NDUgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9zY2FsZXIueG1sOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuYzoKCSAgd2F5bGFuZHNpbms6IFVwZGF0ZSB3bF9zY2FsZXIgdG8gdmVyc2lvbiAyCgoyMDE0LTA1LTIwIDE5OjA0OjE2ICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkgIHdheWxhbmQvTWFrZWZpbGUuYW06IGxpbmsgd2l0aCBnc3R2aWRlbyB0byBhdm9pZCBpbnRyb3NwZWN0aW9uIGVycm9ycwoKMjAxNC0wNS0yMCAxOTowMzozOSArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJICB3YXlsYW5kc2luay9NYWtlZmlsZS5hbTogRml4IHNjYWxlci1jbGllbnQtcHJvdG9jb2wuaCBnZW5lcmF0aW9uCgoyMDE0LTAzLTEzIDEzOjEzOjA4ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2x2aWRlb2Zvcm1hdC5jOgoJKiBleHQvd2F5bGFuZC93bHZpZGVvZm9ybWF0Lmg6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93Lmg6CgkgIHdheWxhbmRzaW5rOiByZW1vdmUgdW51c2VkIGZ1bmN0aW9ucwoKMjAxNC0wMy0xMiAxOToyNTowNiArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBBZGQgbXlzZWxmIHRvIHRoZSBhdXRob3JzIGxpc3QKCjIwMTQtMDMtMTIgMTc6MDM6MTAgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuYzoKCSAgd2F5bGFuZHNpbmsvd2xkaXNwbGF5OiBiaW5kIHRvIHRoZSBsYXRlc3QgYXZhaWxhYmxlIHdsX2NvbXBvc2l0b3IgdmVyc2lvbgoKMjAxNC0wMy0xMiAxNDoyODo0NCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBjcmVhdGUvZGVzdHJveSB0aGUgZGlzcGxheSB3aGVuIGVudGVyaW5nL2xlYXZpbmcgdGhlIFJFQURZIHN0YXRlIGluc3RlYWQgb2YgUEFVU0VECgkgIFRoaXMgaXMgdGhlIG9ubHkgd2F5IHRvIGdldCB0aGUgbmVnb3RpYXRpb24gd29ya2luZyB3aXRoIHRoZSBkeW5hbWljCgkgIGRldGVjdGlvbiBvZiBmb3JtYXRzIGZyb20gdGhlIGRpc3BsYXksIGJlY2F1c2UgdGhlIHBpcGVsaW5lIG5lZWRzCgkgIHRvIGtub3cgdGhlIHN1cHBvcnRlZCBmb3JtYXRzIGluIHRoZSBSRUFEWSBzdGF0ZSBhbmQgdGhlIHN1cHBvcnRlZAoJICBmb3JtYXRzIGNhbiBvbmx5IGJlIGtub3duIGlmIHdlIG9wZW4gdGhlIGRpc3BsYXkuCgkgIFVuZm9ydHVuYXRlbHksaW4gd2F5bGFuZCB3ZSBjYW5ub3QgaGF2ZSBhIHNlcGFyYXRlIGNvbm5lY3Rpb24gdG8KCSAgdGhlIGRpc3BsYXkgZnJvbSB0aGUgcmVzdCBvZiB0aGUgYXBwbGljYXRpb24sIHNvIHdlIG5lZWQgdG8gYXNrIGZvciBhCgkgIHdpbmRvdyBoYW5kbGUgd2hlbiBnb2luZyB0byBSRUFEWSBpbiBvcmRlciB0byBnZXQgdGhlIGRpc3BsYXkgZnJvbSBpdC4KCSAgQW5kIHNpbmNlIGl0J3MgdG9vIGVhcmx5IHRvIGNyZWF0ZSBhIHRvcCBsZXZlbCB3aW5kb3cgZnJvbSB0aGUgc3RhdGUKCSAgY2hhbmdlIHRvIFJFQURZLCBjcmVhdGUgaXQgaW4gcmVuZGVyKCkgd2hlbiB0aGVyZSBpcyBubyBvdGhlciB3aW5kb3cuCgkgIFRoaXMgYWxzbyBjaGFuZ2VzIHNldF93aW5kb3dfaGFuZGxlKCkgdG8gbm90IHN1cHBvcnQgd2luZG93IGhhbmRsZQoJICBjaGFuZ2VzIGluIFBBVVNFRC9QTEFZSU5HIChiZWNhdXNlIGl0J3MgY29tcGxleCB0byBoYW5kbGUgYW5kIHVzZWxlc3MKCSAgaW4gcHJhY3RpY2UpIGFuZCBtYWtlIHN1cmUgdGhhdCB0aGVyZSBpcyBhbHdheXMgYSB2YWxpZCBkaXNwbGF5IHBvaW50ZXIKCSAgYXJvdW5kIGluIHRoZSBSRUFEWSBzdGF0ZS4KCjIwMTQtMDMtMTIgMTQ6MTM6NDkgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogU3VwcG9ydCBhbGwgdmlkZW8gZm9ybWF0cyBzdXBwb3J0ZWQgYnkgdGhlIGRpc3BsYXkKCjIwMTQtMDMtMTIgMTM6NTQ6NDQgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogZml4IGNyYXNoIGluIGNhc2UgdGhlcmUgaXMgbm8gcG9vbCBiZWNhdXNlIG9mIGEgY2FwcyBuZWdvdGlhdGlvbiBlcnJvcgoKMjAxNC0wMy0xMSAxOTo0Nzo1MiArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkgIHdheWxhbmRzaW5rOiBzZXQgYW4gZW1wdHkgaW5wdXQgcmVnaW9uIG9uIHRoZSB2aWRlbyBzdXJmYWNlCgoyMDE0LTAzLTExIDE5OjQ2OjU2ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSAgd2F5bGFuZHNpbmsvd2x3aW5kb3c6IHJldXNlIGNvZGUgYmV0d2VlbiB0aGUgdHdvIGNvbnN0cnVjdG9ycwoKMjAxNC0wMy0xMSAxODo0NToyMyArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBpbmNyZWFzZSBkZWJ1ZyBtZXNzYWdlcwoKMjAxNC0wMy0xMSAxNzo0ODo0NiArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkgIHdheWxhbmRzaW5rOiBVc2UgYSBib29sZWFuIGluIGNvbWJpbmF0aW9uIHdpdGggcmVuZGVyX2NvbmQgdG8gY29tcGx5IHdpdGggR0NvbmQncyB1c2FnZSBkb2N1bWVudGF0aW9uCgoyMDE0LTAzLTExIDE3OjQ1OjA1ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgd2F5bGFuZHNpbms6IEltcGxlbWVudCBleHBvc2UoKSBhbmQgaGFuZGxlIHJlc2l6aW5nIHByb3Blcmx5IGluIG5vbi1QTEFZSU5HIHN0YXRlcwoKMjAxNC0wMy0xMSAxMzoxNDowMCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5jOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuaDoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuaDoKCSAgd2F5bGFuZHNpbms6IFVzZSB3bF9zY2FsZXIvd2xfdmlld3BvcnQgdG8gc2NhbGUgdGhlIHN1cmZhY2UgaW4gdGhlIGNvbXBvc2l0b3IvaGFyZHdhcmUKCjIwMTQtMDMtMTEgMTM6MDU6NTYgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC93YXlsYW5kLy5naXRpZ25vcmU6CgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBleHQvd2F5bGFuZC9zY2FsZXIueG1sOgoJICB3YXlsYW5kc2luazogQnVpbGQgYmluZGluZ3MgZm9yIHRoZSB1bnN0YWJsZSB3bF9zY2FsZXIgc3BlYwoKMjAxNC0wMy0xMCAxMzo1MDowNiArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBTZXQgZXh0ZXJuYWwgc3VyZmFjZXMgYW5kIHRoZWlyIGNoaWxkIG9iamVjdHMgdG8gdXNlIG91ciBvd24gZXZlbnQgcXVldWUKCSAgVGhpcyBmaXhlcyB3ZWlyZCBmcmVlemVzIGJlY2F1c2Ugb2YgZnJhbWVfcmVkcmF3X2NhbGxiYWNrKCkgbm90IGJlaW5nCgkgIGNhbGxlZCBmcm9tIHRoZSBtYWluIHRocmVhZCB3aGVuIGl0IHNob3VsZCB3aXRoIHdlc3RvbidzIHRveSB0b29sa2l0LgoJICBJdCdzIGFsc28gc2FmZXIgdG8ga25vdyB0aGF0IGZyYW1lX3JlZHJhd19jYWxsYmFjaygpIHdpbGwgYWx3YXlzIGJlCgkgIGNhbGxlZCBmcm9tIG91ciBkaXNwbGF5IHRocmVhZC4uLiBPdGhlcndpc2UgaXQgY291bGQgYmUgY2FsbGVkIGFmdGVyCgkgIHRoZSBzaW5rIGhhcyBiZWVuIGRlc3Ryb3llZCBmb3IgZXhhbXBsZS4KCjIwMTQtMDMtMDcgMTc6MjU6MDAgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJICB3YXlsYW5kc2luazogV2FpdCBmb3IgdGhlIGZyYW1lX2NiIHRvIHJlZHJhdyBhbmQgZHJvcCBmcmFtZXMgbWVhbndoaWxlCgkgIFdlIGFyZSBub3Qgc3VwcG9zZWQgdG8gcmVkcmF3IHVudGlsIHdlIHJlY2VpdmUgYSBmcmFtZSBjYWxsYmFjayBhbmQgdGhpcwoJICBpcyBlc3BlY2lhbGx5IHVzZWZ1bCB0byBhdm9pZCBhbGxvY2F0aW5nIHRvbyBtYW55IGJ1ZmZlcnMgd2hpbGUgdGhlCgkgIHdpbmRvdyBpcyBub3QgdmlzaWJsZSwgYmVjYXVzZSB0aGUgY29tcG9zaXRvciBtYXkgbm90IGNhbGwgd2xfYnVmZmVyLnJlbGVhc2UKCSAgdW50aWwgdGhlIHdpbmRvdyBiZWNvbWVzIHZpc2libGUgKG9rLCB0aGlzIGlzIGEgd2F5bGFuZCBidWcsIGJ1dC4uLikuCgoyMDE0LTAzLTA3IDE2OjE2OjMwICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuaDoKCSAgd2F5bGFuZHNpbms6IEhhbmRsZSB3bF9idWZmZXI6OnJlbGVhc2UgYW5kIGRvbid0IHJldXNlIGJ1ZmZlcnMgdGhhdCBhcmUgbm90IHJlbGVhc2VkCgkgIFRoaXMgaXMgYWNoaWV2ZWQgYnkgYWRkaW5nIGFuIGV4dHJhIHJlZmVyZW5jZSBvbiB0aGUgYnVmZmVycywgd2hpY2ggZG9lcwoJICBub3QgYWxsb3cgdGhlbSB0byByZXR1cm4gdG8gdGhlIHBvb2wuIFdoZW4gdGhleSBhcmUgcmVsZWFzZWQsIHRoaXMgcmVmZXJlbmNlCgkgIGlzIGRyb3BwZWQuCgkgIFRoZSByZXN0IGNvbXBsZXhpdHkgb2YgdGhpcyBwYXRjaCAoaGFzaCB0YWJsZSwgbXV0ZXgsIGZsYWcsIGV4cGxpY2l0IHJlbGVhc2UgY2FsbHMpCgkgIG1lcmVseSBleGlzdHMgdG8gYWxsb3cgYSBzYWZlLCBndWFyYW50ZWVkIGFuZCBkZWFkbG9jay1mcmVlIGRlc3RydWN0aW9uIHNlcXVlbmNlLgoJICBTZWUgdGhlIGFkZGVkIGNvbW1lbnQgb24gZ3N0d2F5bGFuZHNpbmsuYyBmb3IgZGV0YWlscy4KCjIwMTQtMDMtMDYgMTc6MDM6NTAgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5oOgoJICB3YXlsYW5kc2luay93YXlsYW5kcG9vbDogcmVtb3ZlIHVzZWxlc3MgbXVubWFwIGNhbGwKCSAgVGhpcyBkYXRhIHBvaW50ZXIgaXMgcGFydCBvZiBhIGJpZ2dlciBtbWFwJ2VkIHJlZ2lvbiwKCSAgaXQgaGFzIG5vdCBiZWVuIHJldHVybmVkIGZyb20gbW1hcCBpdHNlbGYuCgoyMDE0LTAyLTI4IDEzOjM3OjMwICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSAgd2F5bGFuZHNpbmsvd2F5bGFuZHBvb2w6IGNhbGwgdGhlIHN0YXJ0L3N0b3AgbWV0aG9kcyBvZiB0aGUgcGFyZW50IGNsYXNzCgkgIHN0YXJ0KCkgbWFrZXMgc3VyZSB0aGF0IHRoZSBtaW5pbXVtIGFtbW91bnQgb2YgYnVmZmVycyByZXF1ZXN0ZWQgaXMgYWxsb2NhdGVkLgoJICBzdG9wKCkgbWFrZXMgc3VyZSB0aGF0IGJ1ZmZlcnMgYXJlIGFjdHVhbGx5IGRlc3Ryb3llZCBhbmQgcHJldmVudHMKCSAgZmlsbGluZyB0aGUgZmlsZSBzeXN0ZW0gd2hlbiByZXNpemluZyB0aGUgc3VyZmFjZSBhIGxvdCwgYmVjYXVzZSB0aGUKCSAgd2F5bGFuZC1zaG0tKiBmaWxlcyB3aWxsIHN0YXkgb24gdGhlIGZpbGUgc3lzdGVtIGFzIGxvbmcgYXMgdGhlIHdsX2J1ZmZlcnMKCSAgY3JlYXRlZCBvdXQgb2YgdGhlbSBhcmUgYWxpdmUuCgoyMDE0LTAyLTI4IDEzOjM2OjQzICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSAgd2F5bGFuZHNpbmsvd2F5bGFuZHBvb2w6IHVubGluayBtbWFwZWQgc2htIGZpbGVzIHNvIHRoYXQgdGhleSBkb24ndCByZW1haW4gb24gdGhlIGZpbGUgc3lzdGVtCgoyMDE0LTAyLTI4IDExOjQ4OjMwICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L3dheWxhbmQvd2F5bGFuZC5oOgoJICB3YXlsYW5kc2luazogaW1wbGVtZW50IHRoZSBHc3RWaWRlb092ZXJsYXkgJiBHc3RXYXlsYW5kVmlkZW8gaW50ZXJmYWNlcwoJICBUaGlzIGlzIHRoZSBpbml0aWFsIGltcGxlbWVudGF0aW9uLCB3aXRob3V0IHRoZSBHc3RWaWRlb092ZXJsYXkuZXhwb3NlKCkKCSAgbWV0aG9kLiBJdCBvbmx5IGltcGxlbWVudHMgdXNpbmcgYW4gZXh0ZXJuYWwgKHN1YilzdXJmYWNlIGFuZCByZXNpemluZwoJICBpdCB3aXRoIEdzdFdheWxhbmRWaWRlby4KCjIwMTQtMDItMTQgMTY6MDg6NTYgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IGltcGxlbWVudCB3aXRoIHN0dWJzIHRoZSBHc3RXYXlsYW5kVmlkZW8gJiBHc3RWaWRlb092ZXJsYXkgaW50ZXJmYWNlcwoKMjAxMy0wNS0wNiAxMzoxNjowMiArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3Qvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3dheWxhbmQvd2F5bGFuZC5jOgoJKiBnc3QtbGlicy9nc3Qvd2F5bGFuZC93YXlsYW5kLmg6CgkgIHdheWxhbmQ6IEFkZCBuZXcgZ3N0LXdheWxhbmQgbGlicmFyeSBjb250YWluaW5nIGEgbmV3IEdzdFdheWxhbmRWaWRlbyBpbnRlcmZhY2UKCSAgVGhpcyBpbnRlcmZhY2UgaXMgbmVlZGVkIHRvIGJlIGFibGUgdG8gZW1iZWQgd2F5bGFuZHNpbmsgaW50bwoJICBvdGhlciB3YXlsYW5kIHN1cmZhY2VzLiBEdWUgdG8gdGhlIHNwZWNpYWwgbmF0dXJlIG9mIHdheWxhbmQsCgkgIEdzdFZpZGVvT3ZlcmxheSBpcyBub3QgZW5vdWdoIGZvciB0aGlzIGpvYi4KCjIwMTQtMDItMjYgMTg6MzU6MjkgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuYzoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5Lmg6CgkgIHdheWxhbmRzaW5rOiBoYW5kbGUgdGhlIGxpc3Qgb2Ygc3VwcG9ydGVkIGZvcm1hdHMgcHJvcGVybHkKCSAgZW51bSB3bF9zaG1fZm9ybWF0IGlzIG5vdCBhIGZsYWdzIGVudW0sIGFzIGl0IG1heSBoYXZlIGJlZW4gaW4gdGhlIHBhc3QsCgkgIHNvIG11bHRpcGxlIGZvcm1hdHMgY2Fubm90IGJlIHN0b3JlZCBpbiBhIGJpdGZpZWxkLiBVc2UgYW4gYXJyYXkgaW5zdGVhZC4KCjIwMTQtMDItMjYgMTc6NDE6MTEgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93bHZpZGVvZm9ybWF0LmM6CgkgIHdheWxhbmRzaW5rL3dsdmlkZW9mb3JtYXQ6IGFkZCBtYXBwaW5ncyBmb3IgbWFueSBjb21tb24gZm9ybWF0cwoKMjAxNC0wMi0yNiAxNjoyMDo0MSArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiB1bnJlZiB0aGUgYnVmZmVyIHBvb2wKCjIwMTQtMDItMjYgMTY6MTE6MjkgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5oOgoJICB3YXlsYW5kc2luay93YXlsYW5kcG9vbDogcmVmIHRoZSBkaXNwbGF5IGluc3RlYWQgb2YgdGhlIHNpbmsgdG8gYXZvaWQgY3ljbGljIHJlZmVyZW5jZXMKCSAgVGhlIHJlZmVyZW5jZSB0byB0aGUgc2luayBpcyBub3QgcmVhbGx5IG5lZWRlZCBhbnl3YXkgaW4gd2F5bGFuZHBvb2wsCgkgIHdoYXQgbWF0dGVycyBiYXNpY2FsbHkgaXMgdGhhdCB0aGUgZGlzcGxheSBpcyBhY3RpdmUgYXMgbG9uZyBhcyB0aGUKCSAgcG9vbCBpcyBhY3RpdmUsIHNvIHdlIHJlYWxseSB3YW50IHRvIHJlZmVyZW5jZSB0aGUgZGlzcGxheSBvYmplY3QKCSAgaW5zdGVhZCBvZiB0aGUgc2luay4KCjIwMTQtMDItMjYgMTQ6NTY6MjEgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJICB3YXlsYW5kc2luazogbWFrZSB0aGUgZGlzcGxheSBwcm9wZXJ0eSB1c2VmdWwKCSAgTGV0IHRoZSBkaXNwbGF5IHByb3BlcnR5IGNvbnRyb2wgdGhlIG5hbWUgb2YgdGhlIGRpc3BsYXksCgkgIGxpa2UgaW4geCh2KWltYWdlc2luay4KCjIwMTQtMDItMTQgMTc6MjA6NDIgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogYWNjZXNzIHNpbmstPnBvb2wgaW4gYSBtb3JlIGF0b21pYyBmYXNoaW9uCgoyMDE0LTAyLTE0IDE2OjMzOjEwICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgd2F5bGFuZHNpbms6IHJlbW92ZSB0aGUgdXNlbGVzcyB3YXlsYW5kX2xvY2sKCjIwMTQtMDItMTMgMTM6Mjg6NDAgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuYzoKCSogZXh0L3dheWxhbmQvd2x2aWRlb2Zvcm1hdC5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJICB3YXlsYW5kc2luazogYXBwbHkgdGhlIHNhbWUgZGVidWcgY2F0ZWdvcnkgdG8gYWxsIHRoZSBzdWJvYmplY3RzCgoyMDE0LTAyLTEzIDEzOjE1OjMxICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuaDoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5LmM6CgkqIGV4dC93YXlsYW5kL3dsdmlkZW9mb3JtYXQuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSAgd2F5bGFuZHNpbms6IGNsZWFudXAgaGVhZGVyIGluY2x1ZGVzCgoyMDE0LTAyLTEzIDExOjU5OjQ1ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93Lmg6CgkgIHdheWxhbmRzaW5rOiBzcGxpdCB3aW5kb3ctcmVsYXRlZCBjb2RlIG91dCB0byBhIG5ldyBHc3RXbFdpbmRvdyBjbGFzcwoJICBHc3RXbFdpbmRvdyBhbHNvIGhhcyBBUEkgcmVhZHkgdG8gc3VwcG9ydCBzdWJzdXJmYWNlcy4KCjIwMTQtMDItMTMgMTE6MzI6MDAgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJICB3YXlsYW5kc2luazogcmVtb3ZlIGNhbGxiYWNrIGFuZCByZWRyYXdfcGVuZGluZyB2YXJpYWJsZXMgZnJvbSB0aGUgd2luZG93IHN0cnVjdHVyZQoKMjAxNC0wMi0xMyAxMDo1MTo1OSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkgIHdheWxhbmRzaW5rL3dheWxhbmRwb29sOiBpbXByb3ZlIGRlYnVnIG1lc3NhZ2UKCjIwMTQtMDItMTMgMTA6Mzc6MDEgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJICB3YXlsYW5kc2luay93YXlsYW5kcG9vbDogZmluZCB0aGUgdmlkZW8gZm9ybWF0IGZyb20gdGhlIEdzdFZpZGVvSW5mbyBpbnN0ZWFkIG9mIGFjY2Vzc2luZyB0aGUgc2luawoJICBGb3IgdGhlIHNha2Ugb2YgaXNvbGF0aW9uIG9ubHkuIFRoZSBmb3JtYXQgc2hvdWxkIGJlIHRoZSBzYW1lLgoKMjAxNC0wMi0xMyAxMDoyOTowOCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkgIHdheWxhbmRzaW5rL3dheWxhbmRwb29sOiByZWZhY3RvciBjb2RlCgkgICogbWFrZSB1c2Ugb2YgR3N0QnVmZmVyUG9vbDo6c3RhcnQvc3RvcCBmdW5jdGlvbnMgdG8gYWxsb2NhdGUvZGVhbGxvY2F0ZSBtZW1vcnkKCSAgKiBnZXQgcmlkIG9mIHN0cnVjdCBzaG1fcG9vbCBhbmQgZG8gYWxsIG9wZXJhdGlvbnMgY2xlYW5seSBpbnNpZGUgV2F5bGFuZEJ1ZmZlclBvb2wKCSAgKiBzdG9yZSBhIEdzdFZpZGVvSW5mbyBkdXJpbmcgY29uZmlndXJhdGlvbiBpbnN0ZWFkIG9mIHRoZSB3aWR0aCAmIGhlaWdodAoJICBhbmQgdXNlIHRoZSBzdHJpZGUgZnJvbSB0aGUgdmlkZW8gaW5mbyBpbnN0ZWFkIG9mIGhhcmRjb2RpbmcgaXRzIHZhbHVlCgoyMDE0LTAyLTEzIDEwOjAyOjU0ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkqIGV4dC93YXlsYW5kL3dsdmlkZW9mb3JtYXQuYzoKCSogZXh0L3dheWxhbmQvd2x2aWRlb2Zvcm1hdC5oOgoJICB3YXlsYW5kc2luazogc3BsaXQgdmlkZW8gZm9ybWF0IHJlbGF0ZWQgZnVuY3Rpb25zIG91dCB0byBhIHNlcGFyYXRlIGZpbGUKCjIwMTQtMDItMTIgMTU6MTY6MDggKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJICB3YXlsYW5kc2luay93YXlsYW5kcG9vbDogbW92ZSBjb2RlIGFyb3VuZCBmb3IgYmV0dGVyIHJlYWRhYmlsaXR5CgoyMDE0LTAyLTEyIDE0OjQxOjUyICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuaDoKCSAgd2F5bGFuZHNpbms6IG1vdmUgc3RydWN0IHNobV9wb29sIGFuZCBpdHMgcmVsYXRlZCBmdW5jdGlvbnMgdG8gd2F5bGFuZHBvb2wuYwoJICBBbmQgYWxzbyBtYWtlIHRoZSBpbnN0YW5jZSBvZiB0aGlzIHN0cnVjdCB0byBiZSBvd25lZCBieSB0aGUgYnVmZmVyCgkgIHBvb2wgaW5zdGVhZCBvZiB0aGUgZWxlbWVudCwgZm9yIHRoZSBzYWtlIG9mIGlzb2xhdGlvbgoKMjAxMy0wNS0xNCAxOTozNTozMyArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkgIHdheWxhbmRzaW5rOiBVc2UgWERHX1JVTlRJTUVfRElSIGluc3RlYWQgb2YgL3RtcCBmb3IgdGhlIHNobSBmaWxlCgoyMDE0LTAyLTEyIDE0OjE1OjUyICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuaDoKCSAgd2F5bGFuZHNpbms6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGVzCgoyMDE0LTAyLTEyIDExOjI4OjQwICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5jOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuaDoKCSAgd2F5bGFuZHNpbms6IHByb2Nlc3MgZGlzcGxheSBldmVudHMgaW4gYSBzZXBhcmF0ZSB0aHJlYWQKCSAgVGhpcyBhbHNvIG1vdmVzIHRoZSBkaXNwbGF5LXJlbGF0ZWQgY29kZSBpbnRvIGEgbmV3IEdzdFdsRGlzcGxheSBjbGFzcywKCSAgd2hpY2ggdGFrZXMgY2FyZSBvZiB0aGUgbmV3IHRocmVhZAoKMjAxNC0wMi0wNCAxNjozMjozMSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmg6CgkgIHdheWxhbmRzaW5rOiB0aWR5IHVwIHRoZSBoZWFkZXIgZmlsZXMKCjIwMTQtMDYtMTIgMTY6Mzg6MzUgKzA1MzAgIFNhbmpheSBOTSA8c2FuamF5Lm5tQHNhbXN1bmcuY29tPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuaDoKCSAgcG5tZGVjOiB1c2UgR3N0VmlkZW9EZWNvZGVyIENsYXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE0MDAKCjIwMTQtMDYtMTYgMDc6NDI6MzcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRG9uJ3Qgb3ZlcndyaXRlIG9yaWdpbmFsIHNlZWsgdmFsdWUKCSAgSW4gYWNjdXJhdGUgbW9kZSwgd2UnbGwgYmUgdXNpbmcgc3RhcnQgdG8gZmlsbCBpbiB0aGUgc2VlayBzZWdtZW50LAoJICB0aGVyZWZvcmUgZG9uJ3Qgb3ZlcndyaXRlIGl0IHdpdGggdGhlIHNoaWZ0ZWQgc2VlayBwb3NpdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTY5OAoKMjAxNC0wNi0xNSAxNToxODo0NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogc2lsZW5jZSBpbmNvcnJlY3QgbnVtYmVyIG9mIGFyZ3VtZW50cyBpbiBmb3JtYXQgd2FybmluZwoKMjAxNC0wNi0xNSAxNToxNzowNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBnbGRvd25sb2FkOiBwbHVnIGEgbWVtb3J5IGxlYWsKCjIwMTQtMDYtMTUgMTM6NTk6MDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IHdpcmUgdXAgdGhlIGFscGhhIHBhZCBwcm9wZXJ0eQoKMjAxNC0wNi0xNSAxMzo0NDowNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogc3VwcG9ydCBpbnB1dCBmcmFtZSBzY2FsaW5nCgoyMDE0LTA2LTE1IDEyOjI2OjIxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5oOgoJICBnbHZpZGVvbWl4ZXI6IGFkZCBwb3NpdGlvbmluZyBvZiBpbnB1dCBzdHJlYW1zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk3OTgKCjIwMTQtMDYtMTUgMTI6MjQ6MzggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuaDoKCSAgZ2xtaXhlcjogYWxsb3cgdGhlIHN1YmNsYXNzIHRvIGNob29zZSB0aGUgc2luayBwYWQgdHlwZQoJICBBbGxvd3MgY3VzdG9tIHByb3BlcnRpZXMgdG8gYmUgcGxhY2VkIG9uIHRoZSBzaW5rIHBhZHMgYnkgc3ViY2xhc3NlcwoKMjAxNC0wNi0xMyAxMTo0NjoxOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IGxpdmU6IGhhbmRsZSBwY3IvZHRzIGRpc2NyZXBhbmNpZXMgc29tZSBtb3JlCgkgIFdoZW4gd3JhcG92ZXIvcmVzZXQgb2NjdXIsIHdlIGVuZCB1cCB3aXRoIGEgc21hbGwgd2luZG93IG9mIHRpbWUgd2hlcmUKCSAgdGhlIFBUUy9EVFMgd2lsbCBzdGlsbCBiZSB1c2luZyB0aGUgcHJldmlvdXMvbmV4dCB0aW1lLXJhbmdlLgoJICBJbiBvcmRlciBub3QgdG8gcmV0dXJuIGJvZ3VzIHZhbHVlcywgcmV0dXJuIEdTVF9DTE9DS19USU1FX05PTkUgaWYgdGhlCgkgIFBUUy9EVFMgdmFsdWUgdG8gY29udmVydCBkaWZmZXJzIGJ5IG1vcmUgdGhhbiAxNXMgYWdhaW5zdCB0aGUgbGFzdCBzZWVuCgkgIFBDUgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0NTM2CgoyMDE0LTA2LTEzIDEwOjM3OjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogRml4IHdyYXBhcm91bmQgZGV0ZWN0aW9uIGlzc3VlCgkgIFVzaW5nIDMyYml0IHVuc2lnbmVkIHZhbHVlcyBmb3IgY29ycmVjdGVkIHBjci9vZmZzZXQgbWVhbnQgdGhhdCB3ZQoJICBwb3RlbnRpYWxseSBlbmRlZCB1cCBpbiBib2d1cyB2YWx1ZXMKCSAgRnVydGhlcm1vcmUsIHJlZnBjciAtIHJlZnBjcm9mZnNldCBjb3VsZCBlbmQgdXAgYmVpbmcgbmVnYXRpdmUsIHdoaWNoCgkgIFBDUlRJTUVfVE9fR1NUVElNRSgpIGNhbid0IGhhbmRsZSAoYW5kIHJldHVybmVkIGEgbWFzc2l2ZSBwb3NpdGl2ZSB2YWx1ZSkKCjIwMTQtMDYtMTMgMTE6MjY6MzggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogYWRkIGdzdGVnbGltYWdlbWVtb3J5CgoyMDE0LTA2LTEzIDA5OjU1OjQyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGFkZCBnbGZyYW1lYnVmZmVyIG9iamVjdAoKMjAxNC0wNi0xMyAwOTo1MjowMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBtaXNjIGFkZHMgZm9yIGdsIGZ1bmN0aW9ucwoKMjAxNC0wNi0xMyAwOTo0MTo1MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBhZGQgZ2x1cGxvYWRtZXRhIG9iamVjdAoKMjAxNC0wNi0xMyAwOTozMjo1NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiB1cGRhdGUgZm9yIHNvbWUgZ2wgZnVuY3Rpb24gbmFtZSBjaGFuZ2VzCgoyMDE0LTA2LTEyIDIzOjE0OjQ1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJhcHAuaDoKCSAgZ2xmaWx0ZXJhcHA6IGFjdHVhbGx5IGVtaXQgdGhlIGNsaWVudC1kcmF3IHNpZ25hbAoKMjAxNC0wNi0xMiAyMzoxMzoxMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZXl1di9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL3JlY29yZGdyYXBoaWMvbWFpbi5jcHA6CgkgIGdsL2V4YW1wbGVzOiB1cGRhdGUgZm9yIFRFWFRVUkVfMkQgY2hhbmdlCgoyMDE0LTA1LTMwIDE2OjUyOjA5ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIHRzZGVtdXg6IGltcGxlbWVudCBwcm9wZXIgc2Vla2luZyBmb3IgaDI2NCBzdHJlYW1zLgoJICBDby1BdXRob3JlZCBieTogVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoJICBGcm9tIGEgaGlnaCBsZXZlbCBwZXJzcGVjdGl2ZSwgdGhlIG5ldyBwcm9jZXNzIGZvciBzZWVraW5nIGgyNjQKCSAgc3RyZWFtcyBpcyBhcyBmb2xsb3dzOgoJICAxKSBSZXdpbmQgdGhlIHN0cmVhbSB1bnRpbCB3ZSBmaW5kIHRoZSBmaXJzdCBJLXNsaWNlIG9mIGEgZnJhbWUsCgkgIGFuZCBtYXJrIGl0cyBvZmZzZXQgaW4gdGhlIHN0cmVhbS4KCSAgMikgUmV3aW5kIHRoZSBzdHJlYW0gdW50aWwgd2UgZmluZCBTUFMgYW5kIFBQUyBpbmZvcm1hdGlvbnMsCgkgIHRvIG1ha2Ugc3VyZSB0aGUgc3Vic2VxdWVudCBwYXJzZXIgaXMgdXAgdG8gZGF0ZS4KCSAgMykgQWNjdW11bGF0ZSBvcHRpb25uYWwgU0VJIE5BTCB1bml0cyBvbiB0aGUgd2F5LgoJICA0KSBQdXNoIHRoZSBTUFMsIFBQUyBhbmQgU0VJIHVuaXRzIGJlZm9yZSB0aGUgbmV3IGtleWZyYW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc1MTMyCgoyMDE0LTA2LTEyIDEwOjE0OjI3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZG8gbm90IHRyeSB0byBjbG9zZSBuZWdhdGl2ZSBmaWxlIGRlc2NyaXB0b3JzCgkgIEludGVyZXN0aW5nbHksIENvdmVyaXR5IGltcGxpZXMgdGhhdCBjbG9zZSB0YWtlcyBhbiB1bnNpZ25lZAoJICBhcmd1bWVudCwgd2hpbGUgbXkgY2xvc2UoMikgbWFuIHBhZ2Ugc2hvd3MgaXQgdGFraW5nIGEgc2lnbmVkCgkgIGFyZ3VtZW50LiBJIGd1ZXNzIGl0IG1heSBiZSBwbGF0Zm9ybXMgc3BlY2lmaWMuCgkgIENvdmVyaXR5IDEyMTQ2MDIKCjIwMTQtMDYtMTIgMTA6MTc6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzOiBmaXggYnVpbGQgd2l0aCBHTGliIDIuMzIKCSAgUHJvdmlkZSBpbnRlcm5hbCBjb3B5IG9mIGdfbGlzdF9jb3B5X2RlZXAoKSB1bnRpbCB3ZQoJICBidW1wIHRoZSBHTGliIHJlcXVpcmVtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNTU1CgoyMDE0LTA2LTEyIDEwOjAwOjU1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IGJhaWwgb3V0IGVhcmx5IHdoZW4gYnl0ZXMgcGVyIHNhbXBsZSBpcyBub3Qgc2V0CgkgIFRoaXMgc2hvdWxkIGFsd2F5cyBiZSBzZXQgZm9yIHZhbGlkIGZpbGVzIHdoZW4gd2UgZ2V0IHRoZXJlLAoJICBhbmQgY2hlY2tpbmcgdGhpcyBhdm9pZHMgaGF2aW5nIGFkIGhvYyBjaGVja3MgZnVydGhlciBkb3duCgkgIGluIHNldmVyYWwgcGxhY2VzLgoJICBDb3Zlcml0eSAxMTM5Njk4CgoyMDE0LTA2LTExIDE1OjExOjQwICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IHF1YW50aXphdGlvbiBtYXRyaXggY29udmVyc2lvbiByb3V0aW5lIG5hbWVzLgoJICBGaXggcm91dGluZSBuYW1lcyBmb3IgemlnemFnL3Jhc3RlciBzY2FuIG9yZGVyIGNvbnZlcnNpb24gcm91dGluZXMgZm9yCgkgIHF1YW50aXphdGlvbiBtYXRyaWNlcy4gVGhpcyBvdWdodCB0byB1c2UgdGhlIGdzdF9oMjY0X3F1YW50X21hdHJpeF8qKCkKCSAgbmFtaW5nIGNvbnZlbnRpb24gaW5zdGVhZCBvZiBnc3RfaDI2NF92aWRlb19xdWFudF9tYXRyaXhfKigpLCB3aGljaAoJICBkZXJpdmVkIGZyb20gdGhlIE1QRUctMiBmdW5jdGlvbiBuYW1lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTUyNAoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTA1LTI2IDE4OjI5OjIxICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2cDhwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBhZGQgQysrIGd1YXJkcyBmb3IgTVBFRy00IGFuZCBWUDggcGFyc2Vycy4KCSAgRml4IE1QRUctNCBhbmQgVlA4IEFQSXMgdG8gZXhwb3J0IHRoZWlyIGV4dGVybmFsIHN5bWJvbHMgYXMgcHVyZSBDCgkgIHN5bWJvbHMsIGkuZS4gdW4tbWFuZ2xlZCBmb3IgQysrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNTIyCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDYtMTIgMTQ6NTg6NDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuaDoKCSAgZ2xtaXhlcjogc2VuZCB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgkgIGFuZCB0aGUgY2FwcyBldmVudCBhZnRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDk0NAoKMjAxNC0wNi0xMiAxMzozNzo1MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZXl1di9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL3JlY29yZGdyYXBoaWMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC9NYWtlZmlsZS5hbToKCSAgZ2wvZXhhbXBsZXM6IGFkZCBHU1RfUExVR0lOU19CQVNFX0NGTEFHUwoKMjAxNC0wNi0xMiAxMzoxNToxMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2RvdWJsZWN1YmUvbWFpbi5jcHA6CgkgIGdsL2V4YW1wbGVzOiByZW1vdmUgc3B1cmlvdXMgaW5jbHVkZSBmb3IgZG91YmxlY3ViZSBleGFtcGxlCgoyMDE0LTA2LTEyIDEzOjA2OjMxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NsdXR0ZXIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZXl1di9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL3JlY29yZGdyYXBoaWMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2ZpbHRlcnZpZGVvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2Z4dGVzdC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2d0a3ZpZGVvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL3N3aXRjaHZpZGVvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL01ha2VmaWxlLmFtOgoJICBnbC9leGFtcGxlczogYWRkIHRoZSBzcmNkaXIgYW5kIGJ1aWxkZGlyIGluY2x1ZGVzCgkgIEFuZCByZW1vdmUgcmVmZXJlbmNlcyB0byAkKEdTVF9QTFVHSU5TX0dMXyopCgoyMDE0LTA2LTEyIDEyOjQ5OjQyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJhcHAuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9yZWNvcmRncmFwaGljL21haW4uY3BwOgoJICBnbGZpbHRlcmFwcDogcmVtb3ZlIHRoZSByZXNoYXBlL2RyYXcgcHJvcGVydGllcwoJICBUaGUgcmVzaGFwZSBwcm9wZXJ0eSB3YXMgbmV2ZXIgdXNlZC4KCSAgUmVwbGFjZSB0aGUgZHJhdyBwcm9wZXJ0eSB3aXRoIGEgc2lnbmFsLgoJICBCYXNlZCBvbiBwYXRjaCBieSBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ1MDcKCjIwMTQtMDYtMTIgMTI6MTQ6MzUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogbG9jayB0aGUgc2l6ZSBvZiBtaXgtPmZyYW1lcyB0byB0aGUgbnVtYmVyIG9mIHBhZHMKCSAgRml4ZXMgYSBzZWdmYXVsdCB3aXRoIGRlY29kZWJpbiAhIGdsbWl4ZXIgd2hlcmUgdGhlIHJlcXVlc3QgcGFkcyBvbgoJICBib3RoIHNpZGVzIHdlcmUgYmVpbmcgcmVxdWVzdGVkIGFmdGVyIHRoZSBzdGF0ZSBjaGFuZ2UgdG8gUEFVU0VELgoJICBBbHNvIGZpeGVzIGR5bmFtaWNhbGx5IGFkZGluZyBhbmQgcmVtb3ZpbmcgcGFkcyB3aGlsZSBnbG1peGVyIGlzCgkgIGluIGEgc3RhdGUgPj0gUEFVU0VELgoKMjAxNC0wNi0xMiAxMjowOTo1NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZXl1di9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L3BpcGVsaW5lLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9waXBlbGluZS5oOgoJICBnbC9leGFtcGxlczogUG9ydCB0byB1c2luZyBzaWduYWxzIGluc3RlYWQgb2YgcHJvcGVydGllcwoJICBCYXNlZCBvbiBwYXRjaCBieSBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ1MDcKCjIwMTQtMDYtMDEgMTU6MDI6NTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBnbGltYWdlc2luazogcmVwbGFjZSBwb2ludGVyIHByb3BlcnRpZXMgd2l0aCBzaWduYWxzCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDUwNwoKMjAxNC0wNi0xMSAwOTozODowMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBVc2UgZmlyc3QgZ3JvdXAgZm9yIGhhbmRsaW5nIHJlZmVyZW5jZSBwY3IKCSAgSWYgX3NldF9jdXJyZW50X3Bjcl9vZmZzZXQgZ2V0cyBjYWxsZWQgYWZ0ZXIgYSBmbHVzaGluZyBzZWVrLCB3ZSBlbmRlZAoJICB1cCB1c2luZyB0aGUgY3VycmVudCBncm91cCBmb3IgZGVsdGEgY2FsY3VsYXRpb24gLi4uIHdoZXJlYXMgd2Ugc2hvdWxkCgkgIGJlIHVzaW5nIHRoZSBmaXJzdCBncm91cCB0byBjYWxjdWxhdGUgc2hpZnRzLgoJICBBbHNvIGFkZCBhbiBlYXJseSBleGl0IGlmIHRoZXJlIGFyZSBubyBjaGFuZ2VzIHRvIGFwcGx5CgoyMDE0LTA2LTEwIDE0OjUwOjEwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCSAgVGhlIHNlZWtzZWdtZW50IHdhcyBubyBsb25nZXIgdXNlZCBzaW5jZSB0aGUgc3dpdGNoIHRvIGNhbGN1bGF0aW5nIHNlZ21lbnRzCgkgIHdoZW4gd2Ugc2VlIGRhdGEuCgoyMDE0LTA2LTEwIDE0OjI3OjUzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEZpeCBkZWJ1ZyBzdGF0ZW1lbnQKCjIwMTQtMDYtMTAgMTQ6Mjc6MDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogRml4IGR1cmF0aW9uIGV2YWx1YXRpb24gaW4gcHVzaCBtb2RlCgkgIFdoZW4gd29ya2luZyBpbiBwdXNoIG1vZGUsIHdlIG5lZWQgdG8gYmUgYWJsZSB0byBldmFsdWF0ZSB0aGUgZHVyYXRpb24KCSAgYmFzZWQgb24gYSBzaW5nbGUgZ3JvdXAgb2Ygb2JzZXJ2YXRpb25zLgoJICBUbyBkbyB0aGF0IHdlIHVzZSB0aGUgY3VycmVudCBncm91cCB2YWx1ZXMKCjIwMTQtMDYtMDIgMTE6MDc6MDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBIYW5kbGUgZWFybHkgUFRTIGNvbnZlcnNpb24KCSAgV2hlbiBoYW5kbGluZyB0aGUgUFRTL0RUUyBjb252ZXJzaW9uIGluIG5ldyBncm91cHMsIHRoZXJlJ3MgYSBwb3NzaWJpbGl0eQoJICB0aGF0IHRoZSBQVFMgbWlnaHQgYmUgc21hbGxlciB0aGFuIHRoZSBmaXJzdCBQQ1IgdmFsdWUgb2JzZXJ2ZWQsIGR1ZSB0bwoJICByZS1vcmRlcmluZy4KCSAgV2hlbiB1c2luZyB0aGUgY3VycmVudCBncm91cCwgb25seSBhcHBseSB0aGUgd3JhcGFyb3VuZCBjb3JyZWN0aW9uIHdoZW4gd2UKCSAgYXJlIGNlcnRhaW4gaXQgaXMgb25lIChpLmUuIGRpZmZlcnMgYnkgbW9yZSB0aGFuIGEgc2Vjb25kKSBhbmQgbm90IHdoZW4gaXQncwoJICBqdXN0IGEgc21hbGwgZGlmZmVyZW5jZSAobGlrZSBvdXQtb2Ytb3JkZXIgUFRTKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTA4OAoKMjAxNC0wNi0wOSAxMDoxMDowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogZG9uJ3QgcHJpbnQgYWxyZWFkeS1mcmVlZCBzdHJpbmcKCSAgQ0lEIDEyMjE5ODcKCjIwMTQtMDYtMDkgMTA6NTY6NDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgc3BlZWQ6IEZpeCBwb3NpdGlvbiBxdWVyeSBzb21lIG1vcmUKCSAgRm9yZ290IHRvIHJlbW92ZSBjb2RlIGluIDE2ZmQ5MTc2MzJjMDk5MjM0OWNhMjhjZjkxMDhlOTU2MmM0OTNhZDcKCSAgQ0lEICMxMTM5Njc3CgoyMDE0LTA2LTA3IDA3OjEzOjU5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2RlbXV4OiBGaXggc3RpY2t5IGV2ZW50IGhhbmRsaW5nCgkgIFdoZW4gd2UgcmVjZWl2ZSBzdGlja3kgZXZlbnRzIGZyb20gdXBzdHJlYW0sIGFsd2F5cyByZXR1cm4gVFJVRS4KCSAgRml4ZXMgdGhlIGlzc3VlIHdoZXJlIHdlIHJlY2VpdmUgY3VzdG9tIHN0aWNreSBldmVudHMgKHN1Y2ggYXMgInVyaSIpCgkgIGFuZCBubyBwYWRzIGFyZSBjcmVhdGVkIHlldC4KCjIwMTQtMDYtMDQgMTg6MzQ6NDQgKzAxMDAgIERhbWlhbiBaaW9icm8gPGRhbWlhbkB4bWVtZW50b2l0LmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogSW1wcm92ZSBwYXJzaW5nIHF1b3RlZCBrZXkgVVJJcyBhbmQgYXBwbHkgaXQgZm9yIEktZnJhbWUtYmFzZWQgc3RyZWFtIFVSSQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwODMwCgoyMDE0LTA2LTA2IDEzOjA4OjA0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogRG9uJ3Qgc3RvcmUgdGhlIGN1cnJlbnQga2V5IGluIHRoZSBwbGF5bGlzdAoJICBJdCdzIHBlciBmcmFnbWVudCBhbmQgYXBwbHlpbmcgdG8gYWxsIGZvbGxvd2luZyBmcmFnbWVudHMKCSAgdW50aWwgdGhlIG5leHQga2V5IGlzIHNwZWNpZmllZC4KCjIwMTQtMDYtMDYgMTM6MDQ6MDQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IEZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxNC0wNS0zMCAxNjozNDoxOCAtMDYwMCAgVGhvbWFzIEJsdWVtZWwgPHRibHVlbWVsQGNvbnRyb2w0LmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogUmVsb2FkIHRoZSB2YXJpYW50IHBsYXlsaXN0IGlmIHJlZnJlc2hpbmcgYSBwbGF5bGlzdCBvciBkb3dubG9hZGluZyBhIGZyYWdtZW50IGZhaWxzCgkgIFRoaXMgY2FuIGhhcHBlbiBpZiB0aGUgcGxheWxpc3RzIGhhdmUgbW92ZWQgZHVlIHRvIHRoZSB2YXJpYW50IHBsYXlsaXN0CgkgIG5vdyBiZWluZyByZWRpcmVjdGVkIHRvIGFub3RoZXIgdGFyZ2V0LiBUaGlzIGN1cnJlbnRseSBvbmx5IHdvcmtzIGFzIGxvbmcKCSAgYXMgdGhlIHJlZmVyZW5jZWQgcGxheWxpc3RzIGRvbid0IGNoYW5nZSBpbiByZWxhdGlvbiB0byB0aGUgdmFyaWFudAoJICBwbGF5bGlzdCwgYW5kIHRoZSBuZXcgbG9jYXRpb24gaXMgcHVyZWx5IGR1ZSB0byBhIG5ldyBwYXRoIHRyaWdnZXJlZCBieSBhCgkgIG5ldyByZWRpcmVjdGlvbiB0YXJnZXQgb2YgdGhlIHZhcmlhbnQgcGxheWxpc3QsIG9yIGEgbmV3IHJlZGlyZWN0aW9uCgkgIHRhcmdldCBvZiB0aGUgcGxheWxpc3QgaXRzZWxmLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMTY0CgoyMDE0LTA2LTA1IDE2OjQ1OjEyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogVXNlIGFuIGFyYml0cmFyeSBmcmFtZXJhdGUgaWYgbm9uZSBpZiBnaXZlbgoJICBUaGUgc2Nocm8gZW5jb2RlciBhbHdheXMgcmVxdWlyZXMgYSBmcmFtZXJhdGUsIGJ1dCBzb21lIHNvdXJjZSBtYXRlcmlhbCwKCSAgc3VjaCBhcyBSVFAgZG9lc24ndCBoYXZlIGEgZml4ZWQgb25lLCBzbyBqdXN0IGZha2UgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjkwNTQKCjIwMTQtMDYtMDQgMTQ6MzU6NTEgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBkcm9wIHJlZHVuZGFudCBhc3NpZ25tZW50CgoyMDE0LTA2LTA0IDAxOjAyOjIwIC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogaW1wcm92ZSB0aW1lb3V0IGhhbmRpbmcgYXQgbG9ja2luZyBsb29wCgkgIE5ldyBhcHByb2FjaCBhdHRlbXB0cyB0byBiZSBtb3JlIGFjY3VyYXRlIGJ5IG1lYXN1cmluZwoJICB0aGUgZWxhcHNlZCB0aW1lIGJ5IGl0ZXJhdGlvbi4gQWxzbzoKCSAgKiBVc2UgYSAxMCBzZWNvbmRzIGRlZmF1bHQgdGltZW91dCBhbmQgYSBoYWxmIGEgc2Vjb25kCgkgIHBvbGxpbmcgc3RlcC4gTmV3IHZhbHVlcyBzaG91bGQgYmV0dGVyIG1hdGNoIHRoZSB0dW5pbmcKCSAgcHJvY2VzcyBvbiByZWFsLWxpZmUgc2NlbmFyaW9zLgoJICAqIENvcnJlY3QgZWxhcHNlZF90aW1lIGNvbXB1dGF0aW9uLgoJICAqIEFkZCBfcmV0cnlfaW9jdGwoKSB0byBhdm9pZCBiYWlsaW5nIG91dCBvbiB0ZW1wb3JhcnkKCSAgaW9jdGwgRUlOVFIgZmFpbHVyZXMgKG5vIG5lZWQgdG8gY2hlY2sgZm9yIEVBR0FJTiBjYXVzZQoJICB3ZSBhcmUgb3BlbmluZyB0aGUgZnJvbnRlbmQgb24gYmxvY2tpbmcgbW9kZSkKCSAgKiBTbWFsbCBjb3JyZWN0aW9ucyB0byBmYWlsIGNvbmRpdGlvbiBoYW5kbGluZwoKMjAxNC0wNi0wNSAxODo0MzozMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsL3dheWxhbmQ6IGNyZWF0ZSBhIGR1bW15IGRpc3BsYXkgaW5zdGVhZCBvZiBhbiBFR0xEaXNwbGF5CgkgIEN1cnJlbnRseSwgR3N0R0xXaW5kb3dXYXlsYW5kRUdMIGhvbGRzIHRoZSB3YXlsYW5kIGRpc3BsYXkgY29ubmVjdGlvbgoJICBJZiB3ZSBjcmVhdGUgdGhlIEVHTERpc3BsYXkgYXQgdGhlIEdzdERpc3BsYXkgY3JlYXRpb24gdGltZSwgdGhlbgoJICBsaWJFR0wgd2lsbCBpbnRlcm5hbGx5IG9wZW4gYW5vdGhlciBjb25uZWN0aW9uIHRvIHRoZSB3YXlsYW5kIHNlcnZlci4KCSAgVGhlc2UgdHdvIGRpc3BsYXkgY29ubmVjdGlvbnMgYXJlIHVuYWJsZSB0byBjb21tdW5pY2F0ZSByZXN1bHRpbmcgaW4KCSAgbm8gd2luZG93IG91dHB1dC9kaXNwbGF5IGFuZCBoYW5ncyBpbnNpZGUgbGliRUdMLgoJICBFdmVudHVhbGx5IHdlIHdpbGwgbW92ZSB0aGUgd2xfZGlzcGxheSBmcm9tIEdzdEdMV2luZG93IHRvIEdzdEdMRGlzcGxheS4KCjIwMTQtMDYtMDUgMDk6NDA6MzggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wLmM6CgkgIHJ0bXA6IHByb3h5IGxvZ2dpbmcgZnJvbSBsaWJydG1wCgkgIEhlbHBzIHdpdGggZGVidWdnaW5nIHZhcmlvdXMgbGlicnRtcCBpc3N1ZXMKCjIwMTQtMDYtMDUgMDg6Mjk6NTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IEZpeCBwb3NpdGlvbiBxdWVyeWluZwoJICBJdCdzIHRoZSBwb3NpdGlvbiB3ZSdyZSBxdWVyeWluZywgbm90IHRoZSBkdXJhdGlvbiA6KQoKMjAxNC0wNi0wNCAyMTozOTo0OCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBSZW1vdmUgZXh0cmFuZW91cyBleHRyYSBwYXJhbWV0ZXIgZnJvbSBjaGVja19wZW5kaW5nX2J1ZmZlcnMgZnVuY3Rpb24KCjIwMTQtMDYtMDQgMjE6MzE6MjEgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXNlcjogQWx3YXlzIGluaXRpYWxpc2UgcGFja2V0IEFGQyBmbGFncyBhbmQgUENSIGZpZWxkcwoJICBBbHNvIGZpeCBhIHNsaWdodCB0eXBvIGluIGEgY29tbWVudCBhYm91dCB0aGUgc21vb3RoaW5nIGFsZ29yaXRobQoKMjAxNC0wNS0yMyAxNTowNzoxOSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBSZXNldCBwZW5kaW5nX3RzIG9uIGEgZGlzY29udCwgdG8gcmUtbWVhc3VyZSBpbml0aWFsIHRpbWVzdGFtcHMKCSAgU2luY2UgYWxsIHRoZSBvdGhlciB0aW1lc3RhbXAgdHJhY2tpbmcgbm93IGdldHMgcmVzZXQgb24gYSBkaXNjb250LAoJICBpdCBtYWtlcyBzZW5zZSB0byB3YWl0IGZvciBhIFBDUiBhbmQgdGltZXN0YW1wIGJ1ZmZlcnMgbGlrZSB3aGVuCgkgIHBsYXliYWNrIGZpcnN0IHN0YXJ0cwoKMjAxNC0wMy0yMSAyMjoxNjo0MSAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuaDoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmg6CgkgIHNydHA6IGFkZCBzdXBwb3J0IGZvciByb2xsb3ZlciBjb3VudGVycyBhbmQgcmVwbGF5IHByb3RlY3Rpb24gd2luZG93IHNpemUKCSAgV2UgYWRkIGEgbmV3IHNpZ25hbCwgZ2V0LXJvbGxvdmVyLWNvdW50ZXIsIHRvIHRoZSBTUlRQIGVuY29kZXIuIEdpdmVuIGEKCSAgc3NyYyB0aGUgc2lnbmFsIHdpbGwgcmV0dXJuIHRoZSBjdXJyZW50bHkgaW50ZXJuYWwgU1JUUCByb2xsb3ZlciBjb3VudGVyCgkgIGZvciB0aGUgZ2l2ZW4gc3RyZWFtLgoJICBGb3IgdGhlIFNSVFAgZGVjb2RlciB3ZSBoYXZlIGEgbmV3IFNSVFAgY2FwcyBwYXJhbWV0ZXIgInJvYyIgdGhhdCBuZWVkcwoJICB0byBiZSBzZXQgd2hlbiBhIG5ldyBTUlRQIHN0cmVhbSBpcyBjcmVhdGVkIGZvciBhIGdpdmVuIFNTUkMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY4NjEKCjIwMTMtMTAtMTQgMTY6MTQ6NDIgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiBoYW5kbGUgZ2FwIGJ1ZmZlciBmbGFnCgkgIFJlbW92ZSBHQVAgZmxhZyB1bmxlc3MgYm90aCBzaWRlcyBoYXZlIGdhcCBkYXRhLCBpZ25vcmUKCSAgaW5jb21pbmcgZGF0YSBpZiBpdCBpcyBnYXAgZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjM5NwoKMjAxNC0wNS0yNSAyMTo0MzoyMiArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogaW1wcm92ZSBzdGF0ZSBjaGFuZ2UgZGVidWcgbWVzc2FnZQoKMjAxNC0wNi0wMyAxMzo1OTo1MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IGFsd2F5cyByZWxlYXNlIHRoZSBwcmV2aW91cyBidWZmZXIKCSAgRml4ZXMgdGhlIGNhc2Ugd2hlcmUgX3BlcmZvcm1fd2l0aF9idWZmZXIoKSBpcyBjYWxsZWQgd2l0aG91dAoJICBpbnRlcnZlbmluZyBjYWxscyB0byBfcmVsZWFzZV9idWZmZXIoKSBhcyBpcyB0aGUgY2FzZSBvbiBzdGFydCB1cAoJICB3aXRoIGdsaW1hZ2VzaW5rLgoJICBBbHNvIHJlbGVhc2UgdGhlIGJ1ZmZlciB3aGVuIHJlc2V0aW5nIHRoZSB1cGxvYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzExMDcKCjIwMTQtMDYtMDIgMjE6NTE6MzggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaG0uYzoKCSAgdGVzdHM6IFRha2UgYWNjb3VudCBvZiBtZW1vcnkgYWxpZ25tZW50IGluIHNobSB0ZXN0CgoyMDE0LTA2LTAyIDIxOjQzOjU2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBGYWlsIGdyYWNlZnVsbHkgaWYgZXZlbnQgY2FuJ3QgYmUgcGFyc2VkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzEwOTMKCjIwMTQtMDYtMDIgMjE6NDM6MzQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htc2luazogQWxsb2NhdGUgZW5vdWdoIG1lbW9yeSB0byBkbyBhbGlnbm1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTA5MwoKMjAxNC0wNi0wMiAxMjozOTo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogQWN0dWFsbHkgcHJpbnQgdGhlIHN0YWNrdHJhY2UgaW50byB0aGUgZXJyb3Igc3RyaW5nCgoyMDE0LTA2LTAyIDExOjI4OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBDbGVhciB0aGUgZXhjZXB0aW9uIGJlZm9yZSB0cnlpbmcgdG8gY2FsbCBKYXZhIG1ldGhvZHMgdG8gY29udmVydCBpdCB0byBhIHN0cmluZwoKMjAxNC0wNi0wMiAxMToxNjozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogRml4IGNyYXNoZXMgd2hlbiBsb2FkaW5nIHRoZSBwbHVnaW4gaW4gYSBzdGFuZGFsb25lIGFwcGxpY2F0aW9uIG9uIEFuZHJvaWQgPj0gNC40CgkgIENoZWNrIGlmIGxpYm5hdGl2ZWhlbHBlciBpcyBsb2FkZWQgaW4gdGhlIHByb2Nlc3MgYW5kIGlmCgkgIGl0IGhhcyB0aGVzZSBhd2Z1bCB3cmFwcGVycyBmb3IgSk5JX0NyZWF0ZUphdmFWTSBhbmQKCSAgSk5JX0dldENyZWF0ZWRKYXZhVk1zIHRoYXQgY3Jhc2ggdGhlIGFwcCBpZiB5b3UgZG9uJ3QKCSAgY3JlYXRlIGEgSm5pSW52b2NhdGlvbiBpbnN0YW5jZSBmaXJzdC4gSWYgaXQgaXNuJ3Qgd2UKCSAganVzdCBmYWlsIGhlcmUgYW5kIGRvbid0IGluaXRpYWxpemUgYW55dGhpbmcuCgkgIFNlZSB0aGlzIGNvZGUgZm9yIHJlZmVyZW5jZToKCSAgaHR0cHM6Ly9hbmRyb2lkLmdvb2dsZXNvdXJjZS5jb20vcGxhdGZvcm0vbGlibmF0aXZlaGVscGVyLysvbWFzdGVyL0puaUludm9jYXRpb24uY3BwCgoyMDE0LTA2LTAyIDEwOjExOjU4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkgIHNwZWVkOiBtYWtlIHBvc2l0aW9uIHF1ZXJ5IGFibGUgdG8gY29udmVydCBieXRlcyB0byB0aW1lCgkgIChzYW1lIGFzIDc0NGM1OGQ3MWIyMTQ3NWQyZWRkNWI5MzM0ZTI3N2NmYTRjNTMyNjAgYnV0IGZvciB0aGUKCSAgcG9zaXRpb24gcXVlcnkpCgkgIEl0IHdhcyBvbmx5IHF1ZXJ5aW5nIGluIHRpbWUsIGJ1dCB0aGVuIHRyeWluZyB0byB1c2UgZGVhZCBieXRlcwoJICB0byB0aW1lIGNvbnZlcnNpb24gY29kZS4KCSAgQ292ZXJpdHkgMTEzOTY3NwoKMjAxNC0wNi0wMiAwOTo0MjozMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogYXZvaWQgY3Jhc2hpbmcgaW4gcGF0aG9sb2dpY2FsIGNhc2UKCSAgKElkZW50aWNhbCB0byBjb21taXQgNjEyY2RlZWM4MGRhOTViMTJmOWZhZDkyODQxOWM3ZGUyYmUyMGQ2OCB3aGljaAoJICB3YXMgZm9yIHJlc2luZHZkKQoJICBXaGVuIHdlJ2Qgc2VlIGFuIHVua25vd24gc3RyZWFtIHR5cGUsIHRoZW4gYSBTRERTIHN0cmVhbS4KCSAgVGhlbiB3ZSdkIGdldCB0byB0aGUgZW5kIG9mIHRoZSBzd2l0Y2ggd2l0aCBhIE5VTEwgdGVtcCBzdHJlYW0KCSAgcG9pbnRlciwgYW5kIGRlcmVmZXJlbmNlIGl0LgoJICBDb3Zlcml0eSAxMTM5NzA4CgoyMDE0LTA2LTAyIDA5OjIzOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IEhhbmRsZSAodW5saWtlbHkpIE5VTEwgcmV0dXJuIG9mIGdsLT5HZXRTdHJpbmcgKEdMX1ZFUlNJT04pIG1vcmUgZ3JhY2VmdWxseQoJICBDSUQgMTIxOTg1OAoKMjAxNC0wNi0wMiAwODoyMjoxNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uYzoKCSAgbXBlZ3RzOiBSZW1vdmUgdW5uZWVkZWQgTlVMTCBjaGVjawoJICBBbGxvY2F0aW5nIHRob3NlIHN0cnVjdHVyZXMgaXMgZG9uZSBpbiBhbGwgY29kZSBwYXRocyBsZWFkaW5nIHRoZXJlCgkgIENJRCAjMTIxOTg2MAoJICBDSUQgIzEyMTk4NjEKCSAgQ0lEICMxMjE5ODYyCgkgIENJRCAjMTIxOTg2MwoJICBDSUQgIzEyMTk4NjQKCjIwMTQtMDYtMDEgMTA6NDM6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvcHRpb25zLmNjOgoJICBtcGVnMmVuYzogaW5jcmVhc2UgbWF4LiBhbGxvd2VkIHZhbHVlIGZvciBiaXRyYXRlIHByb3BlcnR5CgkgIEZvciBEVkQgdGhlIGxpbWl0IGlzIGFyb3VuZCAxME1iaXQvcywgYnV0IGZvciBlLmcuIEFUU0MKCSAgaXQgY291bGQgYmUgbXVjaCBoaWdoZXIuCgoyMDE0LTA1LTI1IDEzOjA1OjQ5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2YmJhc2ViaW46IGJldHRlciBlcnJvciBoYW5kbGluZyBpbiBjYXNlIHRzcGFyc2UgaXMgbWlzc2luZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNjQxCgoyMDE0LTA1LTMwIDE3OjM1OjQ5IC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmJiYXNlYmluOiBhZGQgcHJvcCBzZXR1cCBjb2RlIGZvciBndWludDY0CgkgIE5lZWRlZCBzaW5jZSB3ZSBhcmUgbm93IHByb3h5aW5nIHR1bmluZy10aW1lb3V0CgkgIGZyb20gZHZic3JjLgoKMjAxNC0wNS0yMCAwNzozNDo1NiArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmNwcDoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJICBtb3Rpb25jZWxsczogaW1wcm92ZSBsb2dnaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAxNDEKCjIwMTQtMDUtMjAgMDc6Mjk6MTYgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5jcHA6CgkgIG1vdGlvbmNlbGxzOiBtYWtlIGZyYW1lZHJvcCB3b3JrIGF0IDMwIGZwcyB0b28KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDE0MQoKMjAxNC0wNS0yMCAwNzoyNToyMCArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkqIGV4dC9vcGVuY3YvbW90aW9uY2VsbHNfd3JhcHBlci5jcHA6CgkgIG1vdGlvbmNlbGxzOiB1c2Ugc3RhbmRhcmQgbWFjcm8gZm9yIGJvb2xlYW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDE0MQoKMjAxNC0wNS0yMCAwNzoxODozOSArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIG9wZW5jdjogbWFrZSB0aGUgcGx1Z2luIGNvbXBpbGUgd2l0aCBhbGwgMi40LnggdmVyc2lvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDE0MQoKMjAxNC0wNS0yNiAyMjozNDowMSAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmM6CgkqIHN5cy9kdmIvY2FtZGV2aWNlLmM6CgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuYzoKCSAgZHZiL2NhbSo6IHVzZSBnX3N0cmVycm9yIGFuZCBvdGhlciBmZXcgbml0cwoKMjAxNC0wNS0zMCAxMTowMDowNiAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiYmFzZWJpbjogZml4IGR2YnNyYyBzaWduYWwgcHJveHlpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTIwNAoKMjAxNC0wNS0zMCAwMDo0OTo0OSAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiYmFzZWJpbjogcHJveHkgbmV3IHByb3BzL3NpZ25hbHMgZnJvbSBkdmJzcmMKCSAgUHJveHkgdHVuaW5nIHN0YXJ0L2RvbmUvZmFpbCBzaWduYWxzIGFuZCB0dW5pbmctdGltZW91dAoJICBwcm9wZXJ0eS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTIwNAoKMjAxNC0wNS0wMSAxODoyNTowNSAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJICBkdmJzcmM6IHNtYXJ0ZW4gdXAgdHVuaW5nIGxvZ2ljCgkgICogRHJvcCByZW1haW5pbmcgc2xlZXAoKSBsb2dpYyBpbiBmYXZvciBvZiBwb2xsaW5nCgkgICogVXNlIGJlc3QgZ3Vlc3MgZGVsaXZlcnkgc3lzdGVtIGlmIG5vbmUgaXMgc2V0CgkgICogTWFrZSB0dW5pbmcvbG9ja2luZyB0aW1lb3V0IGNvbmZpZ3VyYWJsZQoJICAqIEFkZCBzaWduYWxzIGZvciB0dW5pbmcgc3RhcnQsIGRvbmUgYW5kIGZhaWwKCSAgKiBEcm9wIGdzdF9kdmJzcmNfZnJvbnRlbmRfc3RhdHVzKCkuIEl0IHdhcyB1c2VkIG9ubHkKCSAgZm9yIHNpZ25hbCBMT0NLIGNoZWNraW5nLiBUaGlzIGlzIG5vdyBwYXJ0IG9mIHRoZQoJICB0dW5pbmcvbG9ja2luZyBsb29wCgkgICogQnJlYWsgdXAgZnJvbnRlbmQgY29uZmlndXJhdGlvbiBhbmQgdHVuaW5nCgkgIG9uIHNlcGFyYXRlIGZ1bmN0aW9ucwoJICBQbHVzOgoJICAqIEFkZCBzb21lIG1vcmUgdXNlZnVsIERFQlVHL1RSQUNFIG1lc3NhZ2VzCgkgICogTW92ZSBvdmVyIG1pc3BsYWNlZCBEVkIgQVBJIG1lc3NhZ2UKCSAgKiBGaXggd3JvbmcgY29tbWVudCBmb3IgZGVmYXVsdCBEVkIgYnVmZmVyIHNpemUgKGh0dHA6Ly9saW51eHR2Lm9yZy9kb3dubG9hZHMvdjRsLWR2Yi1hcGlzL2RteF9mY2FsbHMuaHRtbCNETVhfU0VUX0JVRkZFUl9TSVpFKQoJICBUaGlzIHBhdGNoIGJ1aWxkcyB1cCBvbiBwcmV2aW91cyB3b3JrIGRvbmUgYnkKCSAgRmFicml6aW8gKE1pc3RvKSBNaWxvIDxtaXN0b2JhYW5AZ21haWwuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxMjA0CgoyMDE0LTA1LTMwIDE2OjM1OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSAgYW5kcm9pZG1lZGlhOiBBZGQgZXhjZXB0aW9ucyBmcm9tIHRoZSBKYXZhIEFQSSB0byBlcnJvciBtZXNzYWdlcywgYW5kIHBvc3QgbW9yZSBlcnJvci93YXJuaW5nIG1lc3NhZ2VzIG92ZXJhbGwKCjIwMTQtMDUtMzAgMTU6MjQ6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJICBhbmRyb2lkbWVkaWE6IEFkZCBhIEdFcnJvciBhcmd1bWVudCB0byBhbGwgYW1jIG1ldGhvZHMgYW5kIGNhdGNoIGV4Y2VwdGlvbnMgdGhlcmUKCjIwMTQtMDUtMzAgMTU6MjQ6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IERlc2NyaWJlIGV4Y2VwdGlvbnMgaGFwcGVuaW5nIHdoZW4gc2Nhbm5pbmcgYWxsIGNvZGVjcwoKMjAxNC0wNS0zMCAxMjoxOToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogQWRkIEFQSSB0byBjb252ZXJ0IGFuIGV4Y2VwdGlvbiBpbnRvIGEgc3RyaW5nCgoyMDE0LTA1LTMwIDEyOjQwOjA4ICswMjAwICBKb3JnZSBaYXBhdGEgPGpvcmdlbHVpcy56YXBhdGFAZ21haWwuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIFJlbGVhc2UgdGhlIGNvZGVjIGJlZm9yZSBmcmVlaW5nIGl0CgkgIE9uIFNhbXN1bmcgR2FsYXh5IFM0IGl0IGlzIGltcG9zc2libGUgdG8gaGF2ZSBtb3JlIHRoYW4gb25lCgkgIGhhcmR3YXJlIGRlY29kZXIgYXQgdGhlIHNhbWUgdGltZS4gSWYgd2UgZG8gbm90IHJlbGVhc2UgaXQKCSAgZXhwbGljaXRseSB0aGUgR0Mgb25seSByZWxlYXNlcyBpdCB3aGVuZXZlciB0aGUgd2hvbGUgYXBwbGljYXRpb24KCSAgaXMgZmluaXNoZWQgbm90IHdoZW5ldmVyIHRoZSBhY3Rpdml0eSBpcyBmaW5pc2hlZCBhbmQgdGh1cyBhIHBsYXllcgoJICB3aWxsIG5vdCBiZSBhYmxlIHRvIHdvcmsgY29ycmVjdGx5CgoyMDE0LTA1LTMwIDAyOjEwOjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiBmaXggc3RydWN0dXJlIGhhbmRsaW5nIGluIHByZXZpZXcgbWVzc2FnZQoJICBBdm9pZCB0cnlpbmcgdG8gbW9kaWZ5IHRoZSBtZXNzYWdlIHN0cnVjdHVyZSBhcyBpdCBpc24ndCBtdXRhYmxlLgoJICBVc2UgYSBjb3B5IGFuZCBwb3N0IGEgbmV3IG1lc3NhZ2UgaWYgbmVjZXNzYXJ5LgoJICBGaXhlcyBmYWlsaW5nIHRlc3RzLgoKMjAxNC0wNS0zMCAxMjoyMzowOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IHJlbW92ZSB1bmVlZGVkIGdsIGFwaSBpZmRlZnMKCjIwMTQtMDUtMzAgMTE6NTE6MDEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2x3aW5kb3dfeDExOiBhbGxvdyBleHBvc2UgZXZlbnRzIHRvIHJlZHJhdyBvdXIgd2luZG93CgkgIG90aGVyd2lzZSB3ZSB3aWxsIG5vdCB1cGRhdGUgdGhlIHdpbmRvdyBjb250ZW50cyBvbiBsb3cgZnJhbWVyYXRlCgkgIHN0cmVhbXMgdW50aWwgdGhlIG5leHQgYnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM1MjkKCjIwMTQtMDUtMzAgMTE6NDY6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiB1bnJlZiB0aGUgb2xkIGJ1ZmZlciBvdXRzaWRlIHRoZSBsb2NrCgkgIGl0IGNvdWxkIHZlcnkgd2VsbCBkZWFkbG9jawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzNTI5CgoyMDE0LTA1LTMwIDExOjM1OjA0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgUmV2ZXJ0ICJbODgwLzkwNl0gZ2xpbWFnZXNpbms6IHJlbW92ZSB1bnVzZWQgc3RvcmVkX2J1ZmZlciBmaWVsZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBhZjNhNjhkYjdkYzQ3M2ZiNjkwM2MxODk2NmIzOWU0YzNmMTQ2NGQ3LgoJICBDb25mbGljdHM6CgkgIGV4dC9nbC9nc3RnbGltYWdlc2luay5jCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM1MjkKCjIwMTQtMDUtMzAgMTA6NDY6MjUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IGZpeCB1cCBhc3NlcnRpb24KCSAgZXJyb3I6ICdyZXR1cm4nIHdpdGggbm8gdmFsdWUsIGluIGZ1bmN0aW9uIHJldHVybmluZyBub24tdm9pZAoKMjAxNC0wNS0zMCAxMDoyNzoxNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9iYXNlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvYmxlbmRpbmcuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9lZ2xpbWFnZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2Ziby5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2ZpeGVkZnVuY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvb3BlbmdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvc2hhZGVycy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2xmZWF0dXJlOiByZW1vdmUgR1NUX0dMX0FQSV9HTEVTMwoJICBpbnN0ZWFkIGNoZWNrIHRoZSBnbCB2ZXJzaW9uIHVzaW5nIGdzdF9nbF9jb250ZXh0X2NoZWNrX2dsX3ZlcnNpb24oKQoKMjAxNC0wNS0zMCAxMDoyNToxOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogY2hlY2sgZm9yIEdMRVMgdmVyc2lvbnMKCjIwMTQtMDUtMjkgMjA6MzU6NDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkgIGdsL2NvbnRleHQ6IGFkZCBjaGVja19nbF92ZXJzaW9uCgoyMDE0LTA1LTI5IDE3OjA5OjI2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IFRyeSBHTFggc3VwcG9ydCBiZWZvcmUgRUdMIHN1cHBvcnQKCSAgSWYgYXZhaWxhYmxlLCBnbHggaGFzIGdvdCBhIGJldHRlciBjaGFuY2Ugb2YgYmVpbmcgdGhlIEdsIHBsYXRmb3JtCgkgIHdlIHdhbnQgdG8gdXNlIGNvbXBhcmVkIHRvIEVHTAoKMjAxNC0wNS0yOSAxNjo1OToyOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogVHJ5IHRvIG9wZW4gbGlie0VHTHxHTHxHTEVTdjJ9LnNvLjEgYmVmb3JlIGxpYntFR0x8R0x8R0xFU3YyfQoJICBGaXhlcyBpc3N1ZXMgd2l0aCAuc28gKHdpdGhvdXQgbnVtYmVyaW5nKSBiZWluZyBpbnN0YWxsZWQgZm9yIGRldmVsb3BtZW50CgkgIChzdWNoIGFzIGZyb20gbWVzYS1kZXYpIGJ1dCBhY3R1YWwgZHJpdmVyICh3aXRoIG51bWJlcmluZykgY29taW5nIGZyb20KCSAgc29tZSBvdGhlciBwbGFjZSAobGlrZSBudmlkaWEgZHJpdmVycykKCjIwMTQtMDUtMjkgMTY6MDE6MjIgKzAyMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPHVyYWV1c0BsaW51eHJpc2luZy5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBjaGFuZ2VzCgoyMDE0LTA1LTI5IDEyOjMwOjEzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmg6CgkgIGF0c2Mtc2VjdGlvbjogRml4IGFubm90YXRpb24KCjIwMTQtMDUtMjkgMTI6Mjk6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBkdmItZGVzY3JpcHRvcjogRml4IG11bHRpbGluZ3VhbCBzZXJ2aWNlIG5hbWUgcGFyc2luZwoJICB0aGUgcHJvdmlkZXIgYW5kIHNlcnZpY2UgbmFtZSB3YXMgaW52ZXJ0ZWQKCjIwMTQtMDUtMjggMTY6NDc6NTMgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlOiB0cy1wYXJzZXI6IGFkZCBwYXJlbnRpYWwgcmF0aW5nIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDg1NAoKMjAxNC0wNS0yOCAxNjo0NzoyOCArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGU6IHRzLXBhcnNlcjogYWRkIGNhIGlkZGVudGlmaWVyIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDg1NAoKMjAxNC0wNS0yOCAxMjoyMzo1MCArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGU6IHRzLXBhcnNlcjogYWRkIHN0cmVhbSBpZGVudGlmaWVyIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDg1NAoKMjAxNC0wNS0yOCAxMjoyMzoxMiArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGU6IHRzLXBhcnNlcjogYWRkIGNvbnRlbnQgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwODU0CgoyMDE0LTA1LTI4IDEyOjE5OjQzICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZTogdHMtcGFyc2VyOiBhZGQgY29tcG9uZW50IGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDg1NAoKMjAxNC0wNS0yOSAxMTo1NTo1MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IGZhY3RvciBkdW1waW5nIGNvZGUKCSAgV2UgY2FuIGp1c3QgcmUtdXNlIHRoZSBuZXcgZnVuY3Rpb24gaW5zdGVhZCBvZiBoYXZpbmcgdHdvIGR1cGxpY2F0ZXMKCjIwMTQtMDUtMjkgMTA6NTA6NTggKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlOiB0cy1wYXJzZXI6IGFkZCBsaW5rYWdlIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDkwMQoKMjAxNC0wNS0yOCAyMDo0MjowNSArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IGJ1Z2ZpeCBtb2JpbGUgaGFuZCBvdmVyIGxpbmthZ2UgcGFyc2UgbWlzc21hdGNoCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA5MDEKCjIwMTQtMDUtMjggMTY6MzQ6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5oOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIG1wZWd0czogYXRzYzogYWRkIG1pc3NpbmcgZmllbGQgdG8gRVRUIHRhYmxlCgkgIFNldCB0aGUgc3VidGFibGVfZXh0ZW5zaW9uIGFzIGV0dF90YWJsZV9pZF9leHRlbnNpb24KCSAgZm9yIEVUVCB0YWJsZXMgYXMgaXQgaXMgdXNlZCBieSBpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNDM1CgoyMDE0LTA1LTI4IDE1OjU5OjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIG1wZWd0czogYXRzYzogYWRkIGF0c2MncyBFSVQgdGFibGUgcGFyc2luZwoJICBBVFNDIGhhcyBpdHMgb3duIHZlcnNpb24gb2YgdGhlIEVJVCB0YWJsZSAoRFZCIGFsc28gaGFzIG9uZSkuCgkgIFRoaXMgcGF0Y2ggYWRkcyBwYXJzaW5nIGZvciB0aGUgQVRTQyBFSVQgdGFibGUgYW5kIGFsc28gZml4ZWQKCSAgdGhlIHNlY3Rpb24gaWRlbnRpZmljYXRpb24gdG8gbWFyayBpdCBhcyB0aGUgQVRTQyBvbmUuCgkgIFRoZSBpbXBsZW1lbnRhdGlvbiBhd3MgcmVmYWN0b3JlZCB0byByZXVzZSBzb21lIGNvbW1vbiBpbnRlcm5hbAoJICBzdHJ1Y3R1cmVzIGZyb20gRVRULgoJICBBbHNvIGFkZHMgaXRzIGR1bXBpbmcgZnVuY3Rpb24gdG8gdHMtcGFyc2VyIGV4YW1wbGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDQzNQoKMjAxNC0wNS0yMiAxNzo0OTozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL21wZWd0cy5jOgoJICB0ZXN0czogbXBlZ3RzOiBhZGQgdGVzdCBmb3IgU1RUIHBhcnNpbmcKCSAgU3BlY2lhbGx5IGZvciB0aGUgdGltZSB0byBVVEMgZGF0ZXRpbWUgY29udmVyc2lvbgoJICBFeGFtcGxlIHRha2VuIGZyb20gdGhlIEE2NSBzcGVjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA0MzUKCjIwMTQtMDUtMjIgMDE6NDc6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgbXBlZ3RzOiBhdHNjOiBhZGQgU1RUIHRhYmxlIHBhcnNpbmcKCSAgQWRkcyB0aGUgc3lzdGVtIHRpbWUgdGFibGUgc3RydWN0dXJlIGFuZCBmdW5jdGlvbnMgZm9yIGNvbnZlbmllbnQgcGFyc2luZyBvZgoJICBpdCBhbmQgZm9yIGdldHRpbmcgdGhlIFVUQyBkYXRldGltZSB0aGF0IGl0IHJlcHJlc2VudHMuIEFsc28gYWRkcyBpdHMKCSAgaW5mb3JtYXRpb24gZHVtcGluZyB0byB0aGUgdHMtcGFyc2VyIGV4YW1wbGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDQzNQoKMjAxNC0wNS0xOSAxNjoyMDo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uYzoKCSAgbXBlZ3RzOiBhdHNjOiBhZGQgZW5jb2RpbmcgY29udmVyc2lvbiBmb3IgVVRGLTE2IEVUVCBzdHJpbmdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA0MzUKCjIwMTQtMDUtMTkgMTQ6NTA6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogbXBlZ3RzOiBhZGQgZnVuY3Rpb24gdG8gZHVtcCBFVFQgdGFibGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA0MzUKCjIwMTQtMDUtMTkgMTM6NDY6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkgIG1wZWd0czogYXRzYzogYWRkIEVUVCBzdHJ1Y3R1cmVzIGFuZCBwYXJzaW5nCgkgIEVUVCAoZXh0ZW5kZWQgdGV4dCB0YWJsZSkgY29udGFpbnMgQVRTQyB0ZXh0IGluZm9ybWF0aW9uIHdpdGggZGVzY3JpcHRpb25zCgkgIG9mIHZpcnR1YWwgY2hhbm5lbHMgYW5kIGV2ZW50cy4gVGhlIHRleHQgY2FuIGJlIGludGVybmF0aW9uYWxpemVkIGFuZCBhbHNvCgkgIGNvbXByZXNzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA0MzUKCjIwMTQtMDUtMTYgMTU6Mzk6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgdHNiYXNlOiBwYXJzZSB0aGUgbWd0IGFuZCBhZGQgbGlzdGVkIEVJVC9FVFQgcGlkcyB0byB0aGUga25vd24gcHNpCgkgIFRoaXMgd2lsbCBtYWtlIHRzYmFzZSBhbHNvIHBhcnNlIHRoZSBFSVRzIGFuZCBFVFRzIGZyb20gQVRTQyBzdHJlYW1zIHRoYXQgaGF2ZQoJICB0aGVpciBwaWRzIHJlcG9ydGVkIG9uIHRoZSBNR1QgYW5kIHBvc3QgdG8gdGhlIGJ1cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNDM1CgoyMDE0LTA1LTE1IDEyOjMxOjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIG1wZWd0czogYWRkIGF0c2MgTUdUIHNlY3Rpb24gcGFyc2luZwoJICBBZGQgYSBwYXJzaW5nIGZ1bmN0aW9uIGZvciBNR1QgYW5kIGFsc28gZGV0ZWN0IHRoZSBFSVQgdGFibGVzCgkgIGZvciBBVFNDLCB0aGUgRUlUIHBpZHMgYXJlIHJlcG9ydGVkIGluc2lkZSB0aGUgTUdUIGFuZCB3ZSBhcmUgc3RpbGwKCSAgb25seSByZWx5aW5nIG9ubHkgb24gdGhlIHRhYmxlIGlkIGZvciBkZXRlY3RpbmcgaXQuIEluIHRoZSBmdXR1cmUgd2UKCSAgd291bGQgd2FudCB0byBhbHNvIGNoZWNrIHRoZSBwaWQgYW5kIGNvbXBhcmUgd2l0aCB3aGF0ZXZlciB0aGUgTUdUCgkgIHByZXZpb3VzbHkgcmVwb3J0ZWQgdG8gY29uZmlybSB0aGF0IGl0IGlzIGluZGVlZCB0aGUgRUlULgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNDM1CgoyMDE0LTA1LTIzIDAxOjQxOjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJICBtcGVndHM6IGF0c2M6IHJlbmFtZSBUVkNUIHRvIFZDVCBhcyBpdCBpcyB0aGUgc2FtZSBhcyBDVkNUCgkgIE1ha2UgdGhlIEFUU0Mgc2VjdGlvbiBwYXJzZSBoYW5kbGUgYm90aCBUVkNUIGFuZCBDVkNUIGFzIHRoZXkgYXJlCgkgIG5lYXJseSB0aGUgc2FtZSBzdHJ1Y3QgKENWQ1QgdXNlcyAyIHJlc2VydmVkIGJpdHMgdGhhdCBhcmUgaWdub3JlZAoJICBpbiBUVkNUKS4KCSAgVGhpcyBpcyBjaGFuZ2luZyB0aGUgZ2xpYiB0eXBlIGFuZCB0aGUgc3RydWN0IG5hbWUgYnV0IFRWQ1Qgd2Fzbid0CgkgIHJlbGVhc2VkIGluIGEgc3RhYmxlIHBhY2thZ2UgeWV0IHNvIHRoZXJlIHNob3VsZCBiZSBubyBwcm9ibGVtLgoJICBBbHNvIGluY2x1ZGVzIHNvbWUgcGFyc2luZyBmaXhlcyBhbmQgY2hhbmdlcyBzaG9ydF9uYW1lIHRvIGJlCgkgIGRpcmVjdGx5IHN0b3JlZCBhcyB1dGY4IHJhdGhlciB0aGFuIHV0ZjE2CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA2NDIKCjIwMTQtMDUtMjggMTM6MTE6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogdHMtcGFyc2VyOiBhZGQgVFZDVCBhbmQgQ1ZDVCB0YWJsZXMgZHVtcGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNjQyCgoyMDE0LTA1LTI5IDEwOjM3OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBGaXggYXNzZXJ0aW9uIGFmdGVyIEFQSSBjaGFuZ2VzCgoyMDE0LTA1LTI5IDE4OjMzOjEwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbC9jb2xvcmNvbnZlcnQ6IGtlZXAgb3VyIHByaXZhdGUgcG9pbnRlcgoJICBhZ2FpbiwgYXZvaWQgdG8gbXVjaCB0cmlnZ2VyCgoyMDE0LTA1LTI5IDE4OjMyOjQ4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgdGVzdHM6IHVwZGF0ZSBmb3IgZ2x1cGxvYWQgY2hhbmdlcwoKMjAxNC0wNS0yOSAxNzoyOTo0MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkgIGdsL2NvbG9yY29udmVydDogdXNlIEdzdE9iamVjdCdzIGxvY2sgaW5zdGVhZCBvZiBvdXIgb3duCgoyMDE0LTA1LTI5IDE3OjEyOjAzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbC9jb2xvcmNvbnZlcnQ6IHJlbW92ZSB1bm5lY2Fzc2FyeSBwb2ludGVyIGluZGVyZWN0aW9uCgoyMDE0LTA1LTI5IDE2OjQ1OjM3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC91cGxvYWQ6IHJlIGFkZCB0aGUgdXBsb2FkIG1ldGEgdG8gdGhlIHByaXZhdGUgc3RydWN0CgkgIHRyeSBhbmQgYXZvaWQgYmVpbmcgdG8gdHJpZ2dlciBoYXBweQoKMjAxNC0wNS0yOSAxNjoyOTowOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdXBsb2FkOiBzbWFsbCBjb2RlIGNsZWFudXAgYW5kIGdzdC1pbmRlbnQKCjIwMTQtMDUtMjkgMTY6MjI6NTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSAgZ2wvZG93bmxvYWQ6IHVzZSBHc3RPYmplY3QncyBsb2NrIGluc3RlYWQgb2Ygb3V0IG93bgoKMjAxNC0wNS0yOSAxNjoyMDozMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIGdsL3VwbG9hZDogdXNlIEdzdE9iamVjdCdzIGxvY2sgaW5zdGVhZCBvZiBvdXIgb3duCgoyMDE0LTA1LTI5IDE2OjE4OjA4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbC9maWx0ZXI6IGFsc28gcmVtb3ZlIHRoZSB3aWR0aC9oZWlnaHQgaW4gdHJhbnNmb3JtX2NhcHMKCSAgYWxsb3dzIHNjYWxpbmcgaW4gdGhlIGZpbHRlcnMKCjIwMTQtMDUtMjkgMTY6MTE6MjAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsL2NvbG9yY29udmVydDogb3B0aW1pc2UgdGhlIHNhbWUgZm9ybWF0IGNhc2UKCSAgc2ltcGx5IHJldHVybiB0aGUgaW5wdXQgYnVmZmVyIHVuY2hhbmdlZAoKMjAxNC0wNS0yOSAxNjowNzo0MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2wvY29sb3Jjb252ZXJ0OiBmaXggWVVZMi9VWVZZIGRvd25sb2FkIGZvciBSRy9MQSB0ZXh0dXJlcwoKMjAxNC0wNS0yOSAxNTo1MDo1NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgZ2wvY29sb3Jjb252ZXJ0OiBhbGxvY2F0ZSBvdXRwdXQgYnVmZmVycwoJICBBbGxvd3MgdGhlIG5vcCBvcHRpbWlzYXRpb24gYnkgc2ltcGx5IHJlZmZpbmcgdGhlIGlucHV0IGJ1ZmZlci4KCjIwMTQtMDUtMjggMTY6MTg6MTMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBBdm9pZCBzaGFkb3dpbmcgbWFpbiBsb29wIHZhcmlhYmxlCgkgIFdlIGVuZCB1cCB3aXRoIGludGVyZXN0aW5nIHJlc3VsdHMgb3RoZXJ3aXNlIDopCgoyMDE0LTA1LTI4IDE1OjUzOjIxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogQWRkIHN1cHBvcnQgZm9yIHByaXZhdGUtZGF0YS1zcGVjaWZpZXIgYW5kIGZyZXF1ZW5jeS1saXN0CgoyMDE0LTA1LTI4IDE1OjUyOjQ5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBNYWtlIHNvbWUgZmllbGRzIG9wdGlvbmFsCgkgIFNvbWUgcGVvcGxlIG1pZ2h0IGp1c3Qgbm90IGNhcmUgYWJvdXQgdGhlIGNvbnRlbnRzCgoyMDE0LTA1LTI4IDE1OjUyOjAzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBVcGRhdGUgZG9jcyBmb3IgRFZCIGZyZXF1ZW5jeSBsaXN0CgoyMDE0LTA1LTI4IDIzOjIxOjA3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgdGVzdHM6IHVwZGF0ZSBmb3IgcmVjZW50IGdsdXBsb2FkIGNoYW5nZXMKCSAgR3N0R0xVcGxvYWRNZXRhIG9iamVjdCBpcyBub3cgdGhlIEdzdFZpZGVvR0xUZXh0dXJlVXBsb2FkTWV0YQoJICBwcm92aWRlci4KCjIwMTQtMDUtMjggMTI6NTY6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBBbHdheXMgdXNlIHRoZSByZWRpcmVjdCB0YXJnZXQgdG8gcmVzb2x2ZSByZWxhdGl2ZSBVUklzCgkgIEJ1dCByZWRvd25sb2FkIHRoZSBwbGF5bGlzdHMgZnJvbSB0aGUgb3JpZ2luYWwgVVJJIGlmIGl0J3Mgbm90CgkgIGEgcGVybWFuZW50IHJlZGlyZWN0LgoKMjAxNC0wNS0yOCAxMjo0Mzo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogQWx3YXlzIHVzZSB0aGUgcmVkaXJlY3QgdGFyZ2V0IHRvIHJlc29sdmUgcmVsYXRpdmUgVVJJcwoJICBCdXQgcmVkb3dubG9hZCB0aGUgcGxheWxpc3RzIGZyb20gdGhlIG9yaWdpbmFsIFVSSSBpZiBpdCdzIG5vdAoJICBhIHBlcm1hbmVudCByZWRpcmVjdC4KCjIwMTQtMDUtMjggMTI6NDQ6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEb24ndCBzZXQgYmFzZSBVUkkgaWYgdGhlcmUgd2FzIG5vIHJlZGlyZWN0CgoyMDE0LTA1LTI4IDA5OjE4OjQ5ICswMTAwICBEYW1pYW4gWmlvYnJvIDxkYW1pYW5AeG1lbWVudG9pdC5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IE1ha2UgcGFyc2luZyBvZiAiLXF1b3RlZCBrZXkgVVJJcyBtb3JlIHJlc2lsaWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwODMwCgoyMDE0LTA1LTI4IDEwOjE5OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBBbHdheXMgdXNlIHRoZSByZWRpcmVjdCB0YXJnZXQgdG8gcmVzb2x2ZSByZWxhdGl2ZSBVUklzCgkgIEJ1dCByZWRvd25sb2FkIHRoZSBwbGF5bGlzdHMgZnJvbSB0aGUgb3JpZ2luYWwgVVJJIGlmIGl0J3Mgbm90CgkgIGEgcGVybWFuZW50IHJlZGlyZWN0LgoKMjAxNC0wNS0yOCAwOTo0Mjo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdGZyYWdtZW50LmM6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdGZyYWdtZW50Lmg6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogU3RvcmUgVVJJIGFuZCByZWRpcmVjdCB0YXJnZXQgaW4gdGhlIGRvd25sb2FkZWQgZnJhZ21lbnRzCgoyMDE0LTA1LTI4IDA3OjQwOjE5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogRml4IExvZ2ljYWwgQ2hhbm5lbCBEZXNjcmlwdG9yIHBhcnNpbmcKCSAgTm8gd29uZGVyIHdlIHdlcmUgZ2V0dGluZyBnYXJiYWdlIC4uLgoKMjAxNC0wNS0yNyAyMDozNzoyNiArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGU6IHRzLXBhcnNlcjogYWRkIHRlcnJlc3RyaWFsIGRlbGl2ZXJ5IHN5c3RlbSBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA4NDcKCjIwMTQtMDUtMjcgMjA6MzI6NDIgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlOiB0cy1wYXJzZXI6IHByaW50aW5nIGVudW0gdHlwZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDg0NwoKMjAxNC0wNS0yOCAxNDo0Mzo0MyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgZ2wvdXBsb2FkOiBmaXggaW5jb3JyZWN0IHR5cGUgaW4gbWFjcm9zCgoyMDE0LTA1LTI4IDE0OjQwOjEwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWRtZXRhLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZG1ldGEuaDoKCSAgZ2wvdXBsb2FkOiBhZGQgR3N0R0xVcGxvYWRNZXRhIG9iamVjdAoJICBUaGF0IHNpbXBseSBkZWFscyB3aXRoIHRoZSBwcm92aWRlciBhc3BlY3Qgb2YgR3N0VmlkZW9HTFRleHR1cmVVcGxvYWRNZXRhLgoKMjAxNC0wNS0yNyAxNzozNDowNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IEFkZCBEVkIgRXh0ZW5kZWQgZXZlbnQgcGFyc2luZwoKMjAxNC0wNS0yNyAxNzozMjo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogRW5zdXJlIE5VTEwtdGVybWluYXRlZCBsYW5ndWFnZSBjb2RlCgkgIFl1cCwgaXQgYnJlYWtzIEFQSSBhbmQgQUJJLCBJIGtub3cuIEJ1dCBsZXQncyBhdm9pZCBwZW9wbGUgYW5kIGJpbmRpbmdzCgkgIHByaW50aW5nIG91dCBnYXJiYWdlCgoyMDE0LTA1LTI3IDE3OjI1OjI1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBGaXggRXh0ZW5kZWQgRFZCIGRlc2NyaXB0b3IgcGFyc2luZwoJICBXZSB3ZXJlIG92ZXItcmVhZGluZyBkYXRhLCBhbmQgdGhlIG5iX2l0ZW1zIGZpZWxkIGlzbid0IG5lZWRlZCwKCSAgaXQncyBhIHByb3BlcnR5IG9mIHRoZSBHUHRyQXJyYXkKCjIwMTQtMDUtMjggMDA6NTY6MDUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIGdsL3dpbjMyOiBtYWtlIHNlbmRfbWVzc2FnZSByZWVudHJhbnQKCSAgSSBjb3VsZCBub3QgZmluZCBhIGNvbXBhcmFibGUgd2luMzJBUEkgZnVuY3Rpb24gc28ga2VlcCB0aGUgcnVubmluZwoJICB0aHJlYWQgcG9pbnRlciB0byBjb21wYXJlIGFnYWluc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA3ODIKCjIwMTQtMDUtMjcgMTY6MTc6MzkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IEZpeCB1c2FnZSBvZiBtZW1jcHkKCSAgc291cmNlIGFuZCBkZXN0aW5hdGlvbiB3ZXJlIGludmVydGVkCgoyMDE0LTA1LTI2IDIwOjM4OjQ1ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IEFkZCBzdXBwb3J0IGZvciBEVkIgbXVsdGlsaW5ndWFsIGNvbXBvbmVudCBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0MjkKCjIwMTQtMDUtMjYgMjA6Mzg6MTkgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogQWRkIHN1cHBvcnQgZm9yIERWQiBtdWx0aWxpbmd1YWwgc2VydmljZSBuYW1lIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODQyOQoKMjAxNC0wNS0yNiAyMDozNzo1MyArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBBZGQgc3VwcG9ydCBmb3IgRFZCIG11bHRpbGluZ3VhbCBib3VxdWV0IG5hbWUgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NDI5CgoyMDE0LTA1LTI2IDIwOjM3OjIxICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IEFkZCBzdXBwb3J0IGZvciBEVkIgbXVsdGlsaW5ndWFsIG5ldHdvcmsgbmFtZSBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0MjkKCjIwMTQtMDQtMTcgMTg6MjA6MzkgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBhZGQgbXVsdGlsaW5ndWFsIGNvbXBvbmVudCBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0MjkKCjIwMTQtMDQtMTcgMTg6MjA6MDMgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBhZGQgbXVsdGlsaW5ndWFsIHNlcnZpY2UgbmFtZSBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0MjkKCjIwMTQtMDQtMTcgMTg6MTA6NTEgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBhZGQgbXVsdGlsaW5ndWFsIGJvdXF1ZXQgbmFtZSBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0MjkKCjIwMTQtMDQtMTcgMTg6MDc6NTIgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBhZGQgbXVsdGlsaW5ndWFsIG5ldHdvcmsgbmFtZSBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0MjkKCjIwMTQtMDUtMjcgMTA6MjE6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogYWRkL3JlbW92ZSBwYWRzIHRvIGZsb3djb21iaW5lciBkaWZmZXJlbnRseSBkdWUgdG8gc3RyZWFtaW5nIG5hdHVyZQoJICBEdWUgdG8gbXBlZ3RzIHN0cmVhbWluZyBuYXR1cmUgc29tZSBwYWRzIGFyZSBjcmVhdGVkIGJ1dCBhcmUgb25seSBhZGRlZAoJICBsYXRlciB0byB0aGUgZWxlbWVudC4gVGhpcyBjYW4gY2F1c2UgYSBzY2VuYXJpbyB3aGVyZSB0aGUgZmlyc3Qgc3RyZWFtCgkgIGRvZXNuJ3QgaGF2ZSBhbiBhdmFpbGFibGUgZGVjb2RlciAod2hpbGUgdGhlIG5leHQgb25lcyBzdGlsbCBwZW5kaW5nCgkgIHdvdWxkIGhhdmUpIGFuZCB0c2RlbXV4IHdpbGwgZmFpbCB3aXRoIG5vdC1saW5rZWQgYXMgdGhlIGZpcnN0IHN0cmVhbQoJICBhZGRlZCB3b3VsZG4ndCBiZSBsaW5rZWQuCgkgIFRvIGF2b2lkIHRoaXMgdHNkZW11eCBuZWVkcyB0byBhZGQgcGFkcyB0byB0aGUgZmxvd2NvbWJpbmVyCgkgIHdoZW4gdGhleSBhcmUgY3JlYXRlZCBpbnN0ZWFkIG9mIG9ubHkgd2hlbiBhZGRpbmcgdGhlbSB0byB0aGUKCSAgZWxlbWVudC4KCjIwMTQtMDUtMjcgMTM6NTY6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGZpeCBjb21waWxlciB3YXJuaW5nCgkgIGdzdGdsY29sb3Jjb252ZXJ0LmM6MTEzMzoxMTogZXJyb3I6ICdqJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24KCSAgV2FzIHVzZWQgdW5pbml0aWFsaXplZCB3aGVuIGp1bXBpbmcgdG8gb3V0IGxhYmVsCgkgIGluIGVycm9yIGNhc2UuCgoyMDE0LTA1LTI3IDE4OjIwOjI5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL2NvbG9yY29udmVydDogb3BlcmF0ZSBvbiBidWZmZXJzIGluc3RlYWQgb2YgbWVtb3JpZXMKCjIwMTQtMDUtMjcgMDc6NDI6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIG14ZmRlbXV4OiByZW1vdmUgdW5yZWFkIGxhc3RfZmxvdyB2YXJpYWJsZQoJICBpdCBpc24ndCBuZWNlc3NhcnkgYW55bW9yZSBhbmQgaXMgYWxyZWFkeSB1bnVzZWQKCjIwMTQtMDUtMjcgMTE6Mjg6MjcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBtYWtlIGl0IGFjdHVhbGx5IGhvbm9yIHNob3ctcHJlcm9sbC1mcmFtZSBwcm9wZXJ0eQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwODAyCgoyMDE0LTA1LTI3IDEyOjA4OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogQ29tcGFyZSBwb3NpdGlvbnMgdG8gZmluZCB0aGUgZWFybGllc3QgcGFkLCBub3QgZmxvdyByZXR1cm5zCgoyMDE0LTA1LTI3IDA4OjU0OjIwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSAgZ2w6IGFkZCBtaXNzaW5nIGNnbCBhbmQgZWFnbCBjb250ZXh0IHR5cGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTI0NQoKMjAxNC0wNS0yNyAwODo0NjoxNiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9nbGNvbnRleHRpZC5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3FnbHJlbmRlcmVyLmNwcDoKCSAgZ2w6IHJlbmFtZSBwbGF0Zm9ybSBjb2NvYSB0byBjZ2wKCSAgQmVmb3JlOgoJICBHU1RfR0xfUExBVEZPUk09Y29jb2EgR1NUX0dMX1dJTkRPVz1jb2NvYQoJICBnc3QtbGF1bmNoLTEuMCB2aWRlb3Rlc3RzcmMgISBnbGltYWdlc2luawoJICBBZnRlcjoKCSAgR1NUX0dMX1BMQVRGT1JNPWNnbCBHU1RfR0xfV0lORE9XPWNvY29hCgkgIGdzdC1sYXVuY2gtMS4wIHZpZGVvdGVzdHNyYyAhIGdsaW1hZ2VzaW5rCgkgIGJ1dCBzdGlsbCBwYXNzIC0tZW5hYmxlLWNvY29hIHRvIGNvbmZpZ3VyZSBzY3JpcHQKCSAgYmVjYXVzZSBjdXJyZW50bHkgaXQgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIGNvY29hIEFQSS4KCSAgV2UgY291bGQgbGF0ZXIgaGF2ZSBjZ2wvZ3N0Z2xjb250ZXh0X2NnbC5oIHRoYXQgbWFuYWdlcwoJICBhIENHTENvbnRleHRPYmogZGlyZWN0bHkgYW5kIGNvY29hL2dzdGdsY29udGV4dF9jb2NvYS5oCgkgIHdvdWxkIGp1c3Qgd3JhcCBpdC4KCSAgU28gdGhhdCBpdCBjb3VsZCBiZSB1c2VkIHdpdGggb3RoZXIgQXBwbGUncyB3aW5kb3cgQVBJcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTI0NQoKMjAxNC0wNS0yNyAwODo1MTowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkgIFJldmVydCAiYW5kcm9pZG1lZGlhOiBQbGFjZSBzb21lIGNvbnN0IGtleXdvcmRzIGluIGEgZmV3IHBsYWNlcyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAzMDc4YjNhMzRjMWY3NWI4NmJkNjI5ZGYxY2Q3YzA4OWEwZjY5OTk5LgoJICBnc3RfdmlkZW9fZnJhbWVfbWFwKCkgZG9lc24ndCB0YWtlIGEgY29uc3QgR3N0VmlkZW9JbmZvKiwgc28KCSAgYWxsIHRoaXMgaXMgcmF0aGVyIHVzZWxlc3MuCgoyMDE0LTA1LTI3IDEzOjU1OjE1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsL21peGVyOiBkb24ndCBzZWdmYXVsdCB3aGVuIHdlIGRvbid0IGhhdmUgYSBidWZmZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTI1NwoKMjAxNC0wNS0yNyAxMzowNDozOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbC93aW5kb3dfeDExOiBhdm9pZCBCYWREcmF3YWJsZSBlcnJvciBvbiBzaHV0ZG93bgoKMjAxNC0wNS0yNiAxNzozNDo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgbXhmZGVtdXg6IHVzZSBHc3RGbG93Q29tYmluZXIKCSAgUmVtb3ZlcyBmbG93IHJldHVybiBjb21iaW5hdGlvbiBjb2RlIHRvIHVzZSB0aGUgbmV3bHkgYWRkZWQgR3N0Rmxvd0NvbWJpbmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkyMjQKCjIwMTQtMDUtMjYgMTc6MTg6MDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiB1c2UgR3N0Rmxvd0NvbWJpbmVyCgkgIFJlbW92ZXMgZmxvdyByZXR1cm4gY29tYmluYXRpb24gY29kZSB0byB1c2UgdGhlIG5ld2x5IGFkZGVkIEdzdEZsb3dDb21iaW5lcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MjI0CgoyMDE0LTA1LTIzIDE4OjI2OjU3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIHRzZGVtdXg6IHVzZSBHc3RGbG93Q29tYmluZXIKCSAgUmVtb3ZlcyBmbG93IHJldHVybiBjb21iaW5hdGlvbiBjb2RlIHRvIHVzZSB0aGUgbmV3bHkgYWRkZWQgR3N0Rmxvd0NvbWJpbmVyCgoyMDE0LTA1LTI3IDEwOjQ3OjI1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJICBnbC9jb250ZXh0X2VnbDogcGFzcyB0aGUgdmFycyBpbiB0aGUgcmlnaHQgb3JkZXIgdG8gRGVzdHJveVN1cmZhY2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODUxNAoKMjAxNC0wNS0yNiAxNjozMToxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkgIGFuZHJvaWRtZWRpYTogUGxhY2Ugc29tZSBjb25zdCBrZXl3b3JkcyBpbiBhIGZldyBwbGFjZXMKCjIwMTMtMTEtMTMgMTg6NDE6MzMgKzA4MDAgIENoZW4gSmllIDxjaGVuakBsZW1vdGUuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5oOgoJICBhbmRyb2lkbWVkaWE6IGFkZCBnc3RfYW1jX2NvbG9yX2Zvcm1hdF9jb3B5CgkgIGdzdF9hbWNfY29sb3JfZm9ybWF0X2NvcHkgd2lsbCBjb3B5IGluL291dCBhIGZyYW1lIHJlc2lkZXMgYXQgYQoJICBHc3RBbWNCdWZmZXIuIExvdHMgb2YgY29kZXMgaW4gZ3N0X2FtY192aWRlb18qX2ZpbGxfYnVmZmVyIGFyZSBtb3ZlZCB0bwoJICB0aGlzIG5ldyBmdW5jdGlvbi4KCjIwMTMtMTAtMDggMjE6MTE6NDggKzA4MDAgIENoZW4gSmllIDxjaGVuakBsZW1vdGUuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSAgYW5kcm9pZG1lZGlhOiBtb3ZlIGNyZWF0ZV9zcmN8c2lua19jYXBzIHRvIGdzdGFtYy5jCgkgIFNvbWUgaGFjayBsb2dpYyBuZWVkcyBhbHNvIHRvIGJlIHByZXNlbnQgaW4gY3JlYXRlX3NyY3xzaW5rX2NhcHMsIGZvcgoJICB3b3JraW5nIGFyb3VuZCBzb21lIGJyb2tlbiBjb2RlY3MuIFRoZXNlIGhhY2tzIGFyZSBoaWRkZW4KCSAgaW4gY29sb3JfZm9ybWF0L3ZpZGVvX2Zvcm1hdCBjb252ZXJzaW9uIC0tIHRoZSBwcm90b3R5cGVzIG9mIHRoZXNlCgkgIGZ1bmN0aW9ucyBhcmUgYWxzbyBjaGFuZ2VkIHRvIGluY2x1ZGUgbW9yZSBhcmdzIGZvciBoYWNrIGp1ZGdlbWVudC4KCSAgQWxzbyBpbiBjYXNlIG9mIG11bHRpLWNvbG9yX2Zvcm1hdHMgbWFwcGVkIHRvIG9uZSB2aWRlb19mb3JtYXQsIHRoZW4KCSAgbWFwIHRoYXQgdmlkZW9fZm9ybWF0IGJhY2sgd2lsbCBub3QgZ2l2ZSB0aGUgb3JpZ2luYWwgY29sb3JfZm9ybWF0LCB3aGljaAoJICBjYXVzZXMgZ3N0X2FtY19jb2RlY19jb25maWd1cmUgZmFpbGVkIHdpdGggc29tZXRoaW5nIGxpa2UKCSAgJ2RvZXMgbm90IHN1cHBvcnQgY29sb3IgZm9ybWF0IE4nLgoJICBUaGUgbmV3IHByb3RvdHlwZSBpbnZvbHZlcyB3aXRoIEdzdEFtY0NvZGVjSW5mbyBhbmQgbWltZSwgd2hpY2gKCSAgZW5zdXJlcyB0aGUgY29udmVydGVkIGNvbG9yX2Zvcm1hdCBpcyBzdXBwb3J0ZWQgYnkgdGhlIGNvZGVjLgoJICBBIENPTE9SX0Zvcm1hdFlDYllDciB0byBHU1RfVklERU9fRk9STUFUX1lVWTIgbWFwcGluZyBpcyBhbHNvIGFkZGVkLCBpbgoJICBvcmRlciB0byB3b3JrIGFyb3VuZCBidWdzIGluIE9NWC5rMy52aWRlby5kZWNvZGVyLmF2Yyh3aGljaCBpbmNvcnJlY3RseQoJICByZXBvcnRzIHN1cHBvcnRpbmcgQ09MT1JfRm9ybWF0WUNiWUNyLCB3aGljaCBpcyBhY3R1YWxseQoJICBDT0xPUl9Gb3JtYXRZVVY0MjBTZW1pUGxhbmFyKS4gVGhlcmUgYXJlIGFscmVhZHkgaGFja3MgZm9yIHRoaXMgaW4KCSAgZ3N0X2FtY192aWRlb19mb3JtYXRfdG9fY29sb3JfZm9ybWF0LCBnc3RfYW1jX2NvbG9yX2Zvcm1hdF90b192aWRlb19mb3JtYXQKCSAgYW5kIGdzdF9hbWNfY29sb3JfZm9ybWF0X2luZm9fc2V0LCBidXQgdGhlIGNvZGVjIHdpbGwgc3RpbGwgbm90IHdvcmsoYmUKCSAgaWdub3JlZCBiZWNhdXNlIG9mICJoYXMgdW5rbm93biBjb2xvciBmb3JtYXRzIikgd2l0aG91dCBhZGRpbmcgdGhpcyBtYXBwaW5nLgoKMjAxNC0wNC0xMSAxNToxNDoxNyArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiOiBwYXJzZWNoYW5uZWxzOiBhZGQgZGVsc3lzIHByb3BlcnR5CgkgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5NDE0CgoyMDE0LTA1LTI2IDEzOjI5OjUzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogd2luMzIvY29tbW9uL2xpYmdzdGNvZGVjcGFyc2Vycy5kZWY6CgkgIHdpbjMyOiB1cGRhdGUgLmRlZiBmb3IgbmV3IHN5bWJvbHMKCjIwMTQtMDQtMTEgMTU6Mzg6MTYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBtYXAgU1lTX0RWQkNfQU5ORVhfQSBTWVNfRFZCQ19BTk5FWF9BQyBmb3IgRFZCIEFQSSA8IDUuNgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxODY5CgoyMDE0LTA0LTE1IDA5OjMxOjAyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZml4IHR5cG8gaW4gdGVzdGluZyBmbGFnCgkgICUgaW5zdGVhZCBvZiAmCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjE4NjkKCjIwMTQtMDUtMjUgMTU6MTY6MTMgKzA4MDAgIENoZW4gSmllIDxjaGVuakBsZW1vdGUuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJICBhbWN2aWRlb2VuYzogVW5pdCBvZiBiaXRyYXRlIHByb3BlcnR5IGlzIG5vdyBiaXQvc2VjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUxMjkKCjIwMTQtMDUtMjYgMTE6NTU6MzEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBBZGQgc3VwcG9ydCBmb3IgRFZCIEJvdXF1ZXQgTmFtZSBwYXJzaW5nCgoyMDE0LTA1LTI2IDExOjU0OjUwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBGaXggQm91cXVldCBOYW1lIHBhcnNpbmcKCSAgdGhlIGZpZWxkIGlzIG5vdCBsZW5ndGggcHJlZml4ZWQKCjIwMTQtMDUtMjYgMTE6NDI6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBBZGQgc3VwcG9ydCBmb3IgRFZCIFNlcnZpY2UgTGlzdCBkZXNjcmlwdG9yCgoyMDE0LTA0LTE3IDE0OjU2OjIzICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogYWRkIGJvdXF1ZXQgbmFtZSBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgzNjQKCjIwMTQtMDQtMTcgMTQ6NTU6MjkgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBhZGQgc3R1ZmZpbmcgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MzY0CgoyMDE0LTA0LTE3IDE0OjU0OjI4ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogYWRkIHNlcnZpY2UgbGlzdCBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgzNjQKCjIwMTQtMDUtMTAgMTg6MzI6MjggKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBVc2UgYXV4IHZhcnMgdG8gbWluaW1pemUgY3JpdGljYWwgcmVnaW9uCgkgIFRoaXMgYXZvaWQgZGVhZCBsb2NrIGJldHdlZW4gZ3N0X2F1ZGlvX2VuY29kZXJfZmluaXNoX2ZyYW1lKCkgYW5kCgkgIGdzdF9vcHVzX2VuY19nZXRfcHJvcGVydHkoKS4KCSAgQWxzbywgbm93IGJ5dGVzIHZhciBpcyBzZXQgaW50byBwcm90ZWN0ZWQgc2VjdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTg4MgoKMjAxNC0wNS0yNCAxOTo1MToxMiArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IEFkZCBtaXNzaW5nIHRvbmUgaW9jdGwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDY5MgoKMjAxNC0wNS0yNSAwOTowMzozMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IFJlbW92ZSBmb3JtYXQgaW5mb3JtYXRpb24gdG8gYWxsb3cgY29sb3IgY29udmVydCBhZ2FpbgoJICBXZSBhbHNvIG5lZWQgdG8gcmVtb3ZlIHRoZSBmb3JtYXQgaW5mb3JtYXRpb24sICBhcyBnbGZpbHRlciBjYW4gZG8KCSAgY29sb3IgY29udmVydGlvbi4gVGhpcyBjb2RlIHdhcyBpbXBvcnRlZCBmcm9tIHZpZGVvY29udmVydC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTg2MQoKMjAxNC0wNS0yNSAxMTo0NDo1NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2wvbWVtb3J5OiBhbGxvY2F0ZSB0aGUgY29ycmVjdCBtZW1vcnkgc2l6ZQoJICBhbmQgYXZvaWQgd2FzdGluZyByZXNvdXJjZXMgd2Ugd2lsbCBuZXZlciBuZWVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA3MDMKCjIwMTQtMDUtMjMgMjM6MDI6MzIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogRml4IFlVWTIgYW5kIFVZVlkgc3VwcG9ydCB3aXRoIGx1bWluYW5jZV9hbHBoYQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNjY2CgoyMDEzLTEyLTAzIDEyOjA5OjU4ICswMTAwICBKb3JnZSBaYXBhdGEgPGpvcmdlbHVpcy56YXBhdGFAZ21haWwuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMtY29uc3RhbnRzLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogQWRkIGEgbmV3IFFDT00gY29sb3IgZm9ybWF0CgkgIEl0IGlzIGEgTlYxMiBiYXNlZCwgYWxpZ25lZCB0byAzMiBieXRlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNjM1CgoyMDE0LTA1LTIzIDE1OjAwOjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBGaXJzdCB0cnkgdG8gZ2V0IHN5bWJvbHMgZnJvbSB0aGUgY3VycmVudCBwcm9ncmFtLCB0aGVuIGxvYWQgbGliZHZtCgkgIElmIHRoZSBhcHBsaWNhdGlvbiBpcyB1c2luZyB0aGUgbmV3IEFSVCBydW50aW1lIGl0IHdpbGwgb3RoZXJ3aXNlCgkgIGxvYWQgZGFsdmlrIGFuZCBzdGFydCBhIGRhbHZpayBWTSBuZXh0IHRvIHRoZSBBUlQgVk0uCgkgIERvZXMgbm90IHdvcmsgdmVyeSB3ZWxsIG9idmlvdXNseS4KCjIwMTMtMDQtMDEgMDc6NDk6MDEgKzAwMDAgIENoZW4gSmllIDxjaGVuakBsZW1vdGUuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmg6CgkgIGFuZHJvaWRtZWRpYTogYWRkIHN1cHBvcnQgZm9yIHZpZGVvIGVuY29kaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUxMjkKCjIwMTQtMDUtMjMgMTI6MDc6NTAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsL21lbW9yeTogcHJvdmlkZSBjb21wYXRhYmlsaXR5IGRlZmluZXMKCSAgZml4ZXMgYnVpbGQgb24gYW5kcm9pZC9PUyBYCgoyMDE0LTA1LTIzIDExOjAxOjA2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbC9jb2xvcmNvbnZlcnQ6IHJlbW92ZSBzY3JhdGNoIHRleHR1cmUgZm9yIFlVWTIvVVlWWQoJICBXZSBjYW4gZ2V0IGFsbCBvdXIgZGF0YSBmcm9tIHRoZSBvbmUgUkcvTEEgdGV4dHVyZSB3aXRoIHNvbWUgc2hhZGVyIG1hZ2ljLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4ODkwCgoyMDE0LTA1LTIzIDEwOjU5OjA1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbC9tZW1vcnk6IFJHQkEvVU5TSUdORURfQllURSBvbmx5IGZvcm1hdCBzdXBwb3J0ZWQgYnkgUmVhZFBpeGVscyBHTEVTMgoJICBFcnJvciBvdXQgaW4gY2FzZSB3ZSBhdHRlbXB0IHRvIHJlYWQgd2l0aCBhbnkgb3RoZXIgaW52YWxpZCBmb3JtYXQuCgoyMDE0LTA1LTIzIDEwOjU3OjI0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbC9tZW1vcnk6IGdlbmVyYXRlIHRleHR1cmVzIHdpdGggYSBzaXplZCBpbnRlcm5hbCBmb3JtYXQKCSAgUmVxdWlyZWQgaW4gb3JkZXIgdG8gZ2VuZXJhdGUgUkcgYW5kIFJFRCB0ZXh0dXJlZCB3aXRoIEdMRVMzLgoKMjAxNC0wNS0yMSAyMTo0Nzo0NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvbWVtb3J5OiBpbXBsZW1lbnQgR0xfRVhUX3RleHR1cmVfcmcgc3VwcG9ydAoJICBXaGljaCBpcyB1c2VkIGJ5IGRlZmF1bHQgb3ZlciB0aGUgTHVtaW5hbmNlIGZvcm1hdHMgZHVlIHRvIGl0CgkgIGJlaW5nIGNvbG9yIHJlbmRlcmFibGUgd2l0aCBmYm9zIChhbmQgZGVwcmVjYXRpb24vcmVtb3ZhbCB3aXRoCgkgIEdMIDMueCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk3NTAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDIyMgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4ODkwCgoyMDE0LTA1LTIyIDExOjUwOjE2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIFJldmVydCAiaDI2NHBhcnNlcjogUmVtb3ZlIHVudXNlZCBmcHNfbnVtL2Zwc19kZW4gZmllbGRzIgoJICBUaGlzIGJyZWFrcyB0aGUgYnVpbGQgc2luY2UgbXNzIGhhcyBub3QgYmVlbiBwb3J0ZWQuCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYWViNmE1MjA3NDJmZDgyODg4ZTQxZWEyM2Y5YTM5YWRkNTExMjVhMC4KCjIwMTQtMDUtMjIgMTY6MTI6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGgyNjRwYXJzZXI6IFJlbW92ZSB1bnVzZWQgZnBzX251bS9mcHNfZGVuIGZpZWxkcwoJICBJbnN0ZWFkIHRoZSBuZXdseSBhZGRlZCBmdW5jdGlvbiBzaG91bGQgYmUgdXNlZCB0byBjYWxjdWxhdGUKCSAgdGhlIGZyYW1lcmF0ZSBwcm9wZXJseS4KCjIwMTQtMDUtMTkgMTc6NTI6MzggKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHVzZSBuZXcgZ3N0X2gyNjRfdmlkZW9fY2FsY3VsYXRlX2ZyYW1lcmF0ZSgpIHRvIGdldCBmcmFtZXJhdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzM1MgoKMjAxNC0wNS0xOSAxNzo0Mzo1NCArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzX2gyNjQ6IGFkZCBnc3RfaDI2NF92aWRlb19jYWxjdWxhdGVfZnJhbWVyYXRlKCkKCSAgQWRkIGEgbmV3IGZ1bmN0aW9uIHRvIGNhbGN1bGF0ZSB2aWRlbyBzdHJlYW0gZnJhbWVyYXRlIHdoaWNoIHJlbHkgb24KCSAgU1BTLCBzbGljZSBoZWFkZXIgYW5kIHBpYyB0aW1pbmcgdXNpbmcgZm9ybXVsYToKCSAgdGltZV9zY2FsZSAgICAgICAgICAgICAgICAxICAgICAgICAgICAgICAgICAgICAgICAgIDEKCSAgZnBzID0gLS0tLS0tLS0tLS0tLS0tLS0gIHggIC0tLS0tLS0tLS0tLS0tLSAgeCAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgIG51bV91bml0c19pbl90aWNrICAgICBEZWx0YVRmaURpdmlzb3IgICAgIChmaWVsZF9waWNfZmxhZyA/IDIgOiAxKQoJICBTZWUgc2VjdGlvbiBFMi4xIG9mIEgyNjQgc3BlY2lmaWNhdGlvbiBmb3IgZGVmaW5pdGlvbiBvZiB2YXJpYWJsZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMzNTIKCjIwMTQtMDUtMjEgMjE6NDQ6NDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbC9jb250ZXh0OiBhZGQgZ2wgZXh0ZW5zaW9uIGNoZWNraW5nIHRvIGNoZWNrX2ZlYXR1cmUoKQoJICBVc2VmdWwgZm9yIGV4dGVuc2lvbnMgdGhhdCBkbyBub3QgZGVmaW5lIGFueSBuZXcgR0wgQVBJIGVudHJ5cG9pbnRzCgkgIGJ1dCBjYW4gc3RpbGwgbW9kaWZ5IGJlaGF2aW91ciB3aGVuIHVzZWQuCgoyMDE0LTA1LTIxIDIwOjM2OjM3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIGdsL2Rvd25sb2FkOiBmaXh1cCBZVVkyL1VZVlkgZG93bmxvYWQKCSAgUmVncmVzc2lvbiBmcm9tIDJkYTk3OTgzMWVjM2IxYThkOTkzZWI2ZjJkMzk5OWM1ODEwYzRkNjcgYXMgaXQgZGlkCgkgIG5vdCB1cGRhdGUgdGhlIGRvd25sb2FkIGNvZGUgdG8gcmVmbGVjdCB0aGUgY2hhbmdlIGluIHRleHR1cmUgZm9ybWF0LgoKMjAxNC0wNS0xOSAxMTo0ODo1NSArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogc2V0IGZpZWxkX3BpY19mbGFnIHdoZW4gcGFyc2luZyBhIHNsaWNlIGhlYWRlcgoJICBmaWVsZF9waWNfZmxhZyB3YXMgdXNlZCBidXQgbmV2ZXIgc2V0IHRvIG90aGVyIHZhbHVlIHRoYW4gaXRzIGRlZmF1bHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDM2MwoKMjAxNC0wNS0yMiAxMTo1NDo0MCArMDEwMCAgRGFtaWFuIFppb2JybyA8emlvYnJvLmRhbWlhbkBnbWFpbC5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IEZpeCBzdG9yaW5nIG9mIHRoZSBJViBiYXNlZCBvbiB0aGUgbWVkaWEgc2VxdWVuY2UgbnVtYmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA1NzQKCjIwMTQtMDUtMjIgMTI6MjM6NTcgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBmaXggYnVpbGRpbmcgd2l0aCBuZXdlciBrZXJuZWwgaGVhZGVycwoJICBjNDAwZWVmMzc3MmI3ZGM0NzBlZWZhZTAyYTEyODhjMmIxMjVlMjVjIGludHJvZHVjZWQgc29tZSBkZWZpbmVzIHRvIGhhbmRsZQoJICBvbGRlciBrZXJuZWwgaGVhZGVycy4gSG93ZXZlciwgdGhlIGNoZWNrIGlzIGRvbmUgYmVmb3JlIHRoZSBjb3JyZXNwb25kaW5nCgkgIGtlcm5lbCBoZWFkZXIgKGR2Yi9mcm9udGVuZC5oKSBpcyBpbmNsdWRlZC4gQXMgYSByZXN1bHQgdGhlIG1hY3JvcyBhcmUKCSAgYWx3YXlzIGRlZmluZWQgd2l0aCByZXN1bHRzIGluICdyZWRlZmluZWQnIGVycm9ycyB3aXRoIG5ld2VyIGtlcm5lbAoJICBoZWFkZXJzLgoJICBNb3ZlIHRoZSBjaGVjayBhZnRlciB0aGUgaW5jbHVkZSB0byBmaXggdGhpcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDU3MAoKMjAxNC0wNS0yMSAxMzoyMzozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4zLjIgPT09CgoyMDE0LTA1LTIxIDEzOjA2OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QtYnVpbGQuc3RhbXA6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0LnN0YW1wOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy1kaXN0LmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjMuMgoKMjAxNC0wNS0yMSAxMjo0Mjo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE0LTA1LTIxIDE5OjQ3OjIyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbC9maWx0ZXI6IGZpeHVwIHBhc3N0aHJvdWdoIGJ1ZmZlcnBvb2wKCSAgSW4gYSBwaXBlbGluZSBsaWtlIHNvOgoJICB2aWRlb3Rlc3RzcmMgISBnbGVmZmVjdHMgISB2aWRlb2NvbnZlcnQgISBzaW5rCgkgIGdsZWZmZWN0cyB3YXMgc2ltcGx5IHBhc3NpbmcgdGhlIHZpZGVvY29udmVydCBidWZmZXJwb29sIHRvIHZpZGVvdGVzdHNyYwoJICBhbmQgbm90IGNyZWF0aW5nIGEgZ2xidWZmZXJwb29sLiB2aWRlb2J1ZmZlcnBvb2wgd291bGQgdGhlbiBmYWlsCgkgIHRvIGFsbG9jYXRlIGZyb20gdGhlIGdsYWxsb2NhdG9yLgoKMjAxNC0wNS0yMSAxMDo1MToyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMjExZmE1ZiB0byAxZjVkM2MzCgoyMDE0LTA1LTIxIDA4OjUzOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSAgZHZiLXNlY3Rpb246IERvbid0IGNvbXBhcmUgdW5zaWduZWQgaW50ZWdlcnMgZm9yID49IDAKCSAgZ3N0LWR2Yi1zZWN0aW9uLmM6OTM6MTI6IGVycm9yOiBjb21wYXJpc29uIG9mIHVuc2lnbmVkIGV4cHJlc3Npb24gPj0gMCBpcyBhbHdheXMgdHJ1ZQoJICBbLVdlcnJvciwtV3RhdXRvbG9naWNhbC1jb21wYXJlXQoJICBpZiAoaG91ciA+PSAwICYmIGhvdXIgPCAyNCAmJiBtaW51dGUgPj0gMCAmJiBtaW51dGUgPCA2MCAmJiBzZWNvbmQgPj0gMAoJICB+fn5+IF4gIH4KCSAgZ3N0LWR2Yi1zZWN0aW9uLmM6OTM6NDA6IGVycm9yOiBjb21wYXJpc29uIG9mIHVuc2lnbmVkIGV4cHJlc3Npb24gPj0gMCBpcyBhbHdheXMgdHJ1ZQoJICBbLVdlcnJvciwtV3RhdXRvbG9naWNhbC1jb21wYXJlXQoJICBpZiAoaG91ciA+PSAwICYmIGhvdXIgPCAyNCAmJiBtaW51dGUgPj0gMCAmJiBtaW51dGUgPCA2MCAmJiBzZWNvbmQgPj0gMAoJICB+fn5+fn4gXiAgfgoJICBnc3QtZHZiLXNlY3Rpb24uYzo5Mzo3MDogZXJyb3I6IGNvbXBhcmlzb24gb2YgdW5zaWduZWQgZXhwcmVzc2lvbiA+PSAwIGlzIGFsd2F5cyB0cnVlCgkgIFstV2Vycm9yLC1XdGF1dG9sb2dpY2FsLWNvbXBhcmVdCgkgIGlmIChob3VyID49IDAgJiYgaG91ciA8IDI0ICYmIG1pbnV0ZSA+PSAwICYmIG1pbnV0ZSA8IDYwICYmIHNlY29uZCA+PSAwCgkgIH5+fn5+fiBeICB+CgoyMDE0LTA1LTIwIDE3OjA5OjQzICswMjAwICBMLiBTb3JpbiA8c29yaW5AYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsc3Noc2luay5jOgoJICBjdXJsc3Noc2luazogcG9zdCBlcnJvciBvbiBidXMgaW4gZWxlbWVudCwgbm90IHRyYW5zZmVyIHRocmVhZAoJICBMb29rcyBsaWtlIHRoaXMgZmlsZSB3YXMgbWlzc2VkIGluIEJ1ZyA3Mjg5NjA6CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg5NjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDQ1OQoKMjAxNC0wNS0yMSAxMDoyNjoyMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC91cGxvYWQ6IHN3aXRjaCB0aGUgJ21hc3RlcicgdGV4dHVyZSBmb3IgWVVZMiwgVVlWWQoJICBGcm9tIGQ0YmNlZjMyMDQ3MDkxNTk3MTNmZjE2MzA5NzhlY2FjMGJkOTFkYzkgb24sIHVzaW5nIGEgUkdCQQoJICB0ZXh0dXJlIHRvIGhvbGQgdGhlIGRhdGEgY2F1c2VzIHRoZSBnbG1lbW9yeSB0byBoYXZlIGhhbGYgd2lkdGgKCSAgYW5kIGEgc2NhbGluZyBvZiBbMiwgMV0uICBVc2luZyBhIExBIHRleHR1cmUgc29sdmVzIHRoaXMgcHJvYmxlbQoJICBob3dldmVyIGNhbm5vdCBiZSBhdHRhY2hlZCB0byB0aGUgZnJhbWVidWZmZXIgZm9yIGNvcHlpbmcgaW50bwoJICBhIFJHQkEgdGV4dHVyZS4gIFdoaWNoIHdpbGwgYmUgc29sdmVkIGJ5IG1vdmluZyB0byBFWFRfdGV4dHVyZV9yZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODg5MAoKMjAxNC0wNS0xNCAxNzo1OTo1MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZW1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbC9lZ2xpbWFnZTogYWRkIGVnbGltYWdlIGNvbnRleHQgZmVhdHVyZQoJICBBbGxvd3MgdXMgdG8gc2VsZWN0aXZlbHkgdXNlIEVHTEltYWdlcyBvbmx5IHdoZW4gYXZhaWxhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgyMzQKCjIwMTQtMDUtMTQgMTc6MzM6MjEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkgIGdsL2NvbnRleHQ6IGFkZCBnZW5lcmljIGZlYXR1cmUgY2hlY2tpbmcKCSAgQXQgdGhlIG1vbWVudCBpdCBzaW1wbHkgZGVsZWdhdGVzIHRvIHRoZSBzdWJjbGFzcy4KCjIwMTQtMDUtMjAgMTE6NDI6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLm9yYzoKCSAgYmF5ZXI6IGZpeCB1bnVzZWQgdmFyaWFibGUKCjIwMTQtMDEtMjggMTQ6MDQ6MTEgKzAxMDAgIEwuIFNvcmluIDxzb3JpbkBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzc2hzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzc2hzaW5rLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxzZnRwc2luay5jOgoJICBjdXJsc2Z0cHNpbms6IGF1dGhlbnRpY2F0ZSByZW1vdGUgaG9zdCB2aWEgcHVibGljIGtleSBmaW5nZXJwcmludAoJICBFeHBvc2Ugb25lIG1vcmUgbGliY3VybCBvcHRpb246IENVUkxPUFRfU1NIX0hPU1RfUFVCTElDX0tFWV9NRDUuCgkgIFRoaXMgYWxsb3dzIGF1dGhlbnRpY2F0aW5nIHRoZSBzZXJ2ZXIgYnkgdGhlIE1ENSBmaW5nZXJwcmludCBvZgoJICB0aGUgc2VydmVyJ3MgcHVibGljIGtleS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzE2NwoKMjAxNC0wNS0xOSAxMzo0Mzo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJICBtcGVndHM6IENoZWNrIGhvdXI6bWludXRlOnNlY29uZCB2YWx1ZXMgYmVmb3JlIGNyZWF0aW5nIGRhdGV0aW1lCgkgIEF2b2lkcyBhc3NlcnRpb25zIHdoZW4gdGhlIHBhY2tldHMgYXJlIG1hbGZvcm1lZCBhbmQgYWxzbyBhZGQgdGhlIGNhc2UKCSAgd2hlcmUgdGhlIHRpbWUgaXNuJ3Qgc3BlY2lmaWVkLCBvbmx5IHRoZSBkYXRlLgoKMjAxNC0wNS0xOSAxMjoyNTo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogQ2hlY2sgaWYgY29udGV4dCBjcmVhdGlvbiBmYWlsZWQgYmVmb3JlIHRyeWluZyB0byB1c2UgaXQKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgY2F1c2UgYXNzZXJ0aW9ucyBldmVyeXdoZXJlIGJ5IHBhc3NpbmcgTlVMTCB0byBmdW5jdGlvbnMKCSAgYW5kIGV2ZW50dWFsbHkgY3Jhc2ggd2hlbiBkZXJlZmVyZW5jaW5nIGEgTlVMTCBwb2ludGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMDY5CgoyMDE0LTA1LTE5IDEyOjIxOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IEFkZCBtb3JlIGFzc2VydGlvbnMgdG8gbWFrZSBzdXJlIHRoYXQgZXZlcnl0aGluZyBzZXRzIHRoZSBHRXJyb3IgZHVyaW5nIGNvbnRleHQgY3JlYXRpb24gaWYgc29tZXRoaW5nIGZhaWxzCgoyMDE0LTA1LTE5IDExOjM0OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ZyZWV2ZXJiL2dzdGZyZWV2ZXJiLmM6CgkgIGZyZWV2ZXJiOiBEb24ndCBwYXNzIGZsb2F0cyB0byBhYnMoKSBidXQgaW5zdGVhZCBjYXN0IHRoZW0gdG8gaW50cyBmaXJzdAoJICBnc3RmcmVldmVyYi5jOjc4MToyOTogZXJyb3I6IHVzaW5nIGludGVnZXIgYWJzb2x1dGUgdmFsdWUgZnVuY3Rpb24gJ2Ficycgd2hlbgoJICBhcmd1bWVudCBpcyBvZiBmbG9hdGluZyBwb2ludCB0eXBlIFstV2Vycm9yLC1XYWJzb2x1dGUtdmFsdWVdCgkgIGlmIChhYnMgKG91dF9sMikgPiAwIHx8IGFicyAob3V0X3IyKSA+IDApCgoyMDE0LTA1LTE5IDA5OjEyOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJICByc3ZnZGVjOiBVbnJlZiBoYW5kbGUgYW5kIG91dHB1dCBzdGF0ZSBvbiBlcnJvciBwYXRocwoJICBDSUQgMTIxNDYwNAoKMjAxNC0wNS0xNiAwOToxMDo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXM6IFdvcmsgYXJvdW5kIHJhY2UgY29uZGl0aW9uIGluIEFuZHJvaWQgPCA0LjIgdGhhdCBsZWFkcyB0byBkZWFkbG9ja3Mgb24gc2h1dGRvd24KCSAgV2UgbmVlZCB0byBzbGVlcCBhIGJpdCBiZWZvcmUgZGVzdHJveWluZyB0aGUgcGxheWVyIG9iamVjdAoJICBiZWNhdXNlIG9mIGEgYnVnIGluIEFuZHJvaWQgaW4gdmVyc2lvbnMgPCA0LjIuCgkgIE9wZW5TTEVTIGlzIHVzaW5nIEF1ZGlvVHJhY2sgZm9yIHJlbmRlcmluZyB0aGUgc291bmQuIEF1ZGlvVHJhY2sKCSAgaGFzIGEgdGhyZWFkIHRoYXQgcHVsbHMgcmF3IGF1ZGlvIGZyb20gdGhlIGJ1ZmZlciBxdWV1ZSBhbmQgdGhlbgoJICBwYXNzZXMgaXQgZm9yd2FyZCB0byBBdWRpb0ZsaW5nZXIgKEF1ZGlvVHJhY2s6OnByb2Nlc3NBdWRpb0J1ZmZlcigpKS4KCSAgVGhpcyB0aHJlYWQgaXMgY2FsbGluZyB2YXJpb3VzIGNhbGxiYWNrcyBvbiBldmVudHMsIGUuZy4gd2hlbgoJICBhbiB1bmRlcnJ1biBoYXBwZW5zIG9yIHRvIHJlcXVlc3QgZGF0YS4gT3BlblNMRVMgc2V0cyB0aGlzIGNhbGxiYWNrCgkgIG9uIEF1ZGlvVHJhY2sgKGF1ZGlvVHJhY2tfY2FsbEJhY2tfcHVsbEZyb21CdWZmUXVldWUoKSBmcm9tCgkgIGFuZHJvaWRfQXVkaW9QbGF5ZXIuY3BwKS4gQW1vbmcgb3RoZXIgdGhpbmdzIHRoaXMgaXMgdGFraW5nIGEgbG9jawoJICBvbiB0aGUgcGxheWVyIGludGVyZmFjZS4KCSAgTm93IGlmIHdlIGRlc3Ryb3kgdGhlIHBsYXllciBpbnRlcmZhY2Ugb2JqZWN0LCBpdCB3aWxsIGZpcnN0IG9mIGFsbAoJICB0YWtlIHRoZSBwbGF5ZXIgaW50ZXJmYWNlIGxvY2sgKElPYmplY3RfRGVzdHJveSgpKS4gVGhlbiBpdCBkZXN0cm95cwoJICB0aGUgYXVkaW8gcGxheWVyIGluc3RhbmNlIChhbmRyb2lkX2F1ZGlvUGxheWVyX2Rlc3Ryb3koKSkgd2hpY2ggdGhlbgoJICBjYWxscyBzdG9wKCkgb24gdGhlIEF1ZGlvVHJhY2sgYW5kIGRlbGV0ZXMgaXQuIE5vdyB0aGUgZGVzdHJ1Y3RvciBvZgoJICBBdWRpb1RyYWNrIHdpbGwgd2FpdCB1bnRpbCB0aGUgcmVuZGVyaW5nIHRocmVhZCAoQXVkaW9UcmFjazo6cHJvY2Vzc0F1ZGlvQnVmZmVyKCkpCgkgIGhhcyBmaW5pc2hlZC4KCSAgSWYgYWxsIHRoaXMgaGFwcGVucyB3aXRoIGJhZCB0aW1pbmcgaXQgY2FuIGhhcHBlbiB0aGF0IHRoZSByZW5kZXJpbmcKCSAgdGhyZWFkIGlzIGN1cnJlbnRseSBlLmcuIGhhbmRsaW5nIHVuZGVycnVuIGJ1dCBkaWQgbm90IGxvY2sgdGhlIHBsYXllcgoJICBpbnRlcmZhY2Ugb2JqZWN0IHlldC4gVGhlbiBkZXN0cm95aW5nIGhhcHBlbnMgYW5kIHRha2VzIHRoZSBsb2NrIGFuZCB3YWl0cwoJICBmb3IgdGhlIHRocmVhZCB0byBmaW5pc2guIFRoZW4gdGhlIHRocmVhZCB0cmllcyB0byB0YWtlIHRoZSBsb2NrIGFuZCB3YWl0cwoJICBmb3JldmVyLgoJICBXZSB3YWl0IGEgYml0IGJlZm9yZSBkZXN0cm95aW5nIHRoZSBwbGF5ZXIgb2JqZWN0IHRvIG1ha2Ugc3VyZSB0aGF0CgkgIHRoZSByZW5kZXJpbmcgdGhyZWFkIGZpbmlzaGVkIHdoYXRldmVyIGl0IHdhcyBkb2luZywgYW5kIHRoZW4gc3RvcHMKCSAgKG5vdGU6IHdlIGNhbGxlZCBnc3Rfb3BlbnNsZXNfcmluZ2J1ZmZlcl9zdG9wKCkgYmVmb3JlIHRoaXMgYWxyZWFkeSkuCgoyMDE0LTA1LTE1IDIwOjM0OjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IG1wZWd0c2Rlc2NyaXB0b3I6IGZpeCBnb2JqZWN0LWludHJvc3BlY3Rpb24gd2FybmluZ3MKCSAgQWRkcyBtaXNzaW5nIDogdG8gZ29iamVjdC1pbnRyb3NwZWN0aW9uIG1hcmtlcnMKCjIwMTQtMDUtMTUgMTk6MTY6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJICBtcGVndHM6IHNlY3Rpb25zOiBwcmV2ZW50IGFzc2VydGlvbiB3aGVuIHBhY2tldCBwYXJzaW5nIGZhaWxzCgkgIHRoZSBkZXNjcmlwdG9ycyBlbnRyeSBjYW4gYmUgbGVmdCBhcyBOVUxMIGFuZCBmcmVlaW5nIHRoZSBzdHJ1Y3R1cmUKCSAgd2lsbCBmYWlsIChhc3NlcnRpb24gaGFwcGVucykKCjIwMTQtMDUtMTQgMjE6MzI6MTAgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJICBtb3Rpb25jZWxsczogZml4IG1lbWxlYWsKCSAgQ2hlY2sgZ3N0X2J1ZmZlcl9tYXAgcmV0dXJuIGFuZCByZW1lbWJlciB0byB1bm1hcCBhbmQgZnJlZSBtZW1vcnkgYmVmb3JlCgkgIHJldHVybmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMTMzCgoyMDE0LTA1LTE0IDExOjQ3OjAzICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuYzoKCSAgYmx1ZXo6IGZpeCBwcm9wZXJ0eSBuYW1lcwoJICBUaGVzZSB3ZXJlIGZvcmdvdHRlbiB3aGVuIHRoZXkgZ290IHJlbmFtZWQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk3MzEKCjIwMTQtMDUtMTMgMTQ6MTM6NTcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2wvZG93bmxvYWQ6IHVwZGF0ZSB0byBiZSBzaW1pbGFyIHRvIHRoZSBnbHVwbG9hZCBzZW1hbnRpY3MKCjIwMTQtMDUtMTMgMTQ6MDc6MzkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsL2NvbG9yY29udmVydDogZml4IHVwIGFscGhhIGNsb2JiZXJpbmcKCSAgUHJldmlvdXNseSBpdCB3b3VsZCBvbmx5IHdvcmsgaWYgdGhlIGFscGhhIHZhbHVlIHdhcyBpbiB0aGUgbGFzdAoJICBjb21wb25lbnQgKFJHQngsIEJHUngpLiAgTm93IGl0IHdvcmtzIHdoZXJldmVyIHRoZSBhbHBoYSB2YWx1ZSBtYXkKCSAgYmUgKHhSR0IsIHhCR1IsIGV0YykuCgoyMDE0LTA1LTE0IDAwOjIzOjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogcG9zdCBlcnJvciBtZXNzYWdlIHdoZW4gZXJyb3Jpbmcgb3V0IG9uIHVuc3VwcG9ydGVkIGVzc2VuY2Ugd3JhcHBpbmcKCjIwMTQtMDQtMTAgMTY6MTA6MDYgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBBbmRyb2lkLm1rOgoJICBBZGQgbWlzc2luZyBiYWNrc2xhc2ggaW4gQW5kcm9pZC5tawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3OTY4CgoyMDE0LTA1LTEzIDE2OjI5OjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzc2luay5jOgoJICBobHNzaW5rOiBkbyBub3QgbGVhayBwbGF5bGlzdCBvYmplY3QKCSAgSW4gZmluYWxpemUsIGFsc28gcmVsZWFzZSB0aGUgcGxheWxpc3QKCjIwMTQtMDUtMTMgMTM6MTY6MzQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogRml4IGJ1aWxkaW5nIHdpdGhvdXQgRUdMIHN1cHBvcnQKCSAgVGhpcyBmaXhlcyB0aGUgT1NYIGJ1aWxkIGFuZCBhbnkgYnVpbGRzIHdpdGggLS1kaXNhYmxlLWVnbC4gVGhhdCBpc3N1ZQoJICB3YXMgaW50cm9kdWNlZCBpbiAiZ2xmaWx0ZXI6IHJld3JpdGUgdHJhbnNmb3JtX2NhcHMgdG8gcHJlc2VydmUgY2FwcyBmaWVsZHMiLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5ODYxCgoyMDE0LTA1LTEzIDEzOjMwOjQ3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogcmV3cml0ZSB0cmFuc2Zvcm1fY2FwcyB0byBwcmVzZXJ2ZSBjYXBzIGZpZWxkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5ODYxCgoyMDE0LTA1LTEzIDEwOjUzOjE5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSAgZ2wvY29sb3Jjb252ZXJ0OiB1c2UgdGhlIHRleHR1cmUgc2NhbGluZyBmcm9tIHRoZSBnbCBtZW1vcnkKCSAgVGhlIGNvbG9yY29udmVydCB2YWx1ZXMgd2VyZSBub3QgYmVpbmcgdXNlZCBhdCBhbGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk4OTYKCjIwMTQtMDUtMTIgMTk6Mjk6NDUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogRml4IGhhbmRsaW5nIG9mIHN0cmlkZSB3aXRoIGFsaWduZW1lbnQgbGFyZ2VyIHRoZW4gOAoJICBTZXR0aW5nIGEgc2NhbGVkIGZhY3RvciBmb3IgWCBjb29yZGluYXRlIGlzIG5vdCBlbm91Z2ggYXMgdGhlIGluZGV4ZXIKCSAgd2lsbCBzdGlsbCB0aGluayBzdHJpZGUgaXMgc2hvcnRlciBhbmQgd2lsbCBub3QgZnVsbHkgc2tpcCBpdC4gSW5zdGVhZCwKCSAgdXBkYXRlIHdpZHRoLCBzbyB0aGUgbGluZXMgYXJlIGFzIGV4cGVjdGVkLiBDb21iaW5lZCB3aXRoIHRoZSBzY2FsZSwgaXQKCSAgd2lsbCBoaWRlIHRoZSBjcm9wcGVkIHBvcnRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk4OTYKCjIwMTQtMDUtMTMgMTE6MjI6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogbXBkcGFyc2VyOiBwcm9wZXJseSB1bnJlZiBnc3RkYXRldGltZQoJICBBdm9pZCBsZWFraW5nIHRoZSBHc3REYXRlVGltZSBpbnN0YW5jZXMgd2hlbiBzdW1taW5nIGRhdGVzCgkgIENJRCAjMTIxMjE0MwoKMjAxNC0wNS0xMyAxMDoyNDo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBtcGRwYXJzZXI6IGF2b2lkIGRvdWJsZSBmcmVlIG9mIHNlZ21lbnQgdGltZWxpbmUgbm9kZQoJICBUaGUgcGFyc2luZyBmdW5jdGlvbiBhbHJlYWR5IGZyZWVzIHRoZSBvbGQgdmFsdWUgKGlmIGFueSksIGF2b2lkIGEgZG91YmxlCgkgIGZyZWUgYnkgbm90IGZyZWVpbmcgaXQgYmVmb3JlIGNhbGxpbmcgdGhlIGZ1bmN0aW9uIHdpdGhvdXQgc2V0dGluZyB0aGUKCSAgcG9pbnRlciB0byBOVUxMCgkgIENvdmVyaXR5IElEOiAxMjEyMTc4CgoyMDE0LTA1LTEzIDEwOjEzOjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IG1wZHBhcnNlcjogYXZvaWQgZG91YmxlIGZyZWUKCSAgVGhlIF9wYXJzZV91cmwgZnVuY3Rpb24gYWxyZWFkeSBmcmVlcyB0aGUgcHJldmlvdXMgcG9pbnRlciwgYXZvaWQKCSAgZnJlZWluZyBpdCBiZWZvcmUgd2l0aG91dCBzZXR0aW5nIHRvIG51bGwgb3Igd2UgaGF2ZSBhIGRvdWJsZSBmcmVlLgoJICBDb3Zlcml0eSBJRDogMTIxMjE4MQoJICBDb3Zlcml0eSBJRDogMTIxMjE4MAoJICBDb3Zlcml0eSBJRDogMTIxMjE3OQoKMjAxNC0wNS0xMyAxNDoyMToxNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkgIHNjaHJvZGVjOiBVc2UgcG9vbCBjb25maWd1cmF0aW9uCgkgIEl0IHdhcyBsZWFraW5nIHRoZSBjb25maWcsIGJ1dCBhbHNvIG5vdCB1c2luZyBpdC4uLgoJICBDSUQgIzEyMTIxNTUKCjIwMTQtMDUtMTMgMTQ6MTU6MjQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJICByc3ZnOiBEb24ndCBsZWFrIEdzdFZpZGVvQ29kZWNTdGF0ZQoJICBBbmQgYXZvaWQgdXNlbGVzcyBjYWxsIHRvIF9nZXRfb3V0cHV0X3N0YXRlIChzZXRfb3V0cHV0X3N0YXRlKCkgYWxyZWFkeQoJICByZXR1cm5zIGl0KS4KCSAgQ0lEICMxMjEyMTYwCgkgIENJRCAjMTIxMjE2MQoKMjAxNC0wNS0xMyAxMzo1NDoyMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndGJhc2U6IFNtYWxsIHJld3JpdGUKCSAgU2V0dGluZyBkb25lIHdhcyB1c2VsZXNzIGFueXdheQoKMjAxNC0wNS0xMyAxMzo1Mjo0OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaDogRG9uJ3QgbGVhayBHc3RBY3RpdmVTdHJlYW0KCSAgQ0lEICMxMjEyMTQyCgoyMDE0LTA1LTEzIDExOjQxOjQyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobTogRG9uJ3QgbGVhayBHc3RTaG1QaXBlCgkgIEJ5IHJlb3JkZXJpbmcgdGhlIGxlYWtpbmcgY29kZSBwYXRoIHRvIGJlZm9yZSB0aGUgYWxsb2NhdGlvbgoJICBDSUQgIzEyMTIxNTMKCjIwMTQtMDUtMTMgMTE6Mzg6NDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJICB2bW5kZWM6IERvbid0IGxlYWsgb3V0cHV0IHN0YXRlCgkgIF9zZXRfb3V0cHV0X3N0YXRlIHJldHVybnMgYSByZWZlcmVuY2UgdG8gdGhlIGNvZGVjIHN0YXRlLgoJICBDSUQgIzEyMTIxNzAKCjIwMTQtMDUtMTMgMTE6MzU6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogRG9uJ3QgbGVhayBhZGFwdGVyIGRhdGEKCSAgQ0lEICMxMjEyMTU4CgoyMDE0LTA1LTEzIDExOjMwOjM1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVncHNtdXgvcHNtdXhzdHJlYW0uYzoKCSAgbXBlZ3BzbXV4OyBGaXggc3RyZWFtIGxlYWsKCSAgQ0lEICMxMjEyMTY0CgoyMDE0LTA1LTEzIDExOjIzOjQyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9qcDJrZGVjaW1hdG9yL2pwMmtjb2Rlc3RyZWFtLmM6CgkgIGpwMmtkZWNpbWF0b3I6IERvbid0IGxlYWsgdmFyaW91cyBzbGljZXMgYW5kIGFycmF5cwoJICBDSUQgIzEyMTIxMzkKCSAgQ0lEICMxMjEyMTQwCgkgIENJRCAjMTIxMjE0MQoKMjAxNC0wNS0xMyAxMToxOToyNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSAgYXNmbXV4OiBEb24ndCBsZWFrIGJ5dGVyZWFkZXIKCSAgQnkgbWFraW5nIGl0IGdvIHRocm91Z2ggdGhlIGVycm9yIHBhdGggdGhhdCB0YWtlcyBjYXJlIG9mIGNsZWFudXBzCgkgIENJRCAjMTIxMjE2OAoKMjAxNC0wNS0xMiAxMzo1MDo0NyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBFbnN1cmUgd2Ugc3RpbGwgaGF2ZSBhIHRleHR1cmUgYWZ0ZXIgdXBsb2FkX3NldF9mb3JtYXQoKQoJICBnc3RfZ2xfdXBsb2FkX3NldF9mb3JtYXQoKSByZXNldHMgdGhlIHVwbG9hZCwgaGVuY2UgdGhlIHRleHR1cmUuCgkgIFNvIHdlIG5lZWQgdG8gZW5zdXJlIHdlIGhhdmUgYSB0ZXh0dXJlIGFmdGVyIHRoaXMgY2FsbCB3aGVuCgkgIHVwbG9hZGluZy4KCjIwMTQtMDUtMTIgMTI6NTk6NTkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogQ29ycmVjdGx5IHVwZGF0ZSB0aGUgdmlkZW8gaW5mbyBmcm9tIHZpZGVvIG1ldGEKCSAgVXNpbmcgZ3N0X3ZpZGVvX2luZm9fc2V0X2Zvcm1hdCgpIGlzbid0IGNvbXBsZXRlIHdoZW4gdXBkYXRpbmcKCSAgYSB2aWRlbyBpbmZvIGZyb20gdmlkZW8gbWV0YS4KCjIwMTQtMDUtMTIgMTI6NTc6MTggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogQ29ycmVjdGx5IHVwZGF0ZSB2aWRlbyBpbmZvIGluIHVwbG9hZCBmYWxsYmFjawoJICBXaGVuIHRoZSB1cGxvYWQgYWNjZWxlcmF0ZWQgbWV0aG9kIGZhaWxzLCB3ZSBmYWxsYmFjayB0byBhbiB1cGxvYWQsCgkgIGJ1dCB0aGUgdmlkZW8gaW5mbyB3YXMgbm90IGNvcnJlY3RseSB1cGRhdGVkLgoKMjAxNC0wNS0xMiAxODoyODo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBhdm9pZCBkZWFkbG9ja2luZyB3aGVuIGVycm9yaW5nCgkgIEl0IG1pZ2h0IGdldCBzdHVjayB3aGVuIHBvc3RpbmcgdGhlIG1lc3NhZ2Ugd2hpbGUKCSAgYSByZWNvbmZpZ3VyZSBldmVudCBpcyBiZWluZyBwdXNoZWQgdXBzdHJlYW0KCjIwMTQtMDUtMTIgMTc6Mzc6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogZml4IGNhcHMgbGVhawoKMjAxNC0wNS0xMiAxNTo0MzowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBoYW5kbGUgZXJyb3IgbWVzc2FnZXMgZnJvbSBpbnRlcm5hbCBzb3VyY2UKCSAgc2V0IHVwIGEgYmluIG1lc3NhZ2UgaGFuZGxlciB0byBnZXQgbm90aWZpZWQgb2YgZXJyb3IgbWVzc2FnZXMgZnJvbQoJICB0aGUgaW50ZXJuYWwgc291cmNlIGVsZW1lbnQKCjIwMTQtMDUtMTIgMTQ6NTg6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogQWx3YXlzIGFjY2VwdCB0aGUgbGF0ZW5jeSBjb25maWd1cmUgZXZlbnQKCSAgVXBzdHJlYW0gb3IgaW50ZXJuYWwgZWxlbWVudHMgYXJlIGlycmVsZXZhbnQgYW5kIHdlIHNob3VsZAoJICBhbHdheXMgc3VjY2VlZC4KCjIwMTQtMDUtMTIgMTQ6NTE6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiByZWVuYWJsZSBzZWdtZW50IHRyYWNraW5nIGZvciBzdHJlYW1zCgkgIFN0b3JlIHRoZSBsYXRlc3QgcHVzaGVkIHRpbWVzdGFtcCBzbyB0aGF0IG1zc2RlbXV4IHN0cmVhbXMga25vdwoJICB3aGVyZSB0aGV5IGFyZSBpbiB0aW1lCgoyMDE0LTA1LTEyIDE0OjIzOjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGRlcHJlY2F0ZSB1bnVzZWQgbWF4LXF1ZXVlLXNpemUtYnVmZmVycwoJICBUaGVyZSBpcyBubyBpbnRlcm5hbCBzdG9yYWdlIG9mIGJ1ZmZlcnMgYW55bW9yZQoKMjAxNC0wNS0xMiAxNDoxODoxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL01ha2VmaWxlLmFtOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdGRvd25sb2FkcmF0ZS5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdGRvd25sb2FkcmF0ZS5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IG1lYXN1cmUgYml0cmF0ZSBzaW1pbGFybHkgdG8gaGxzZGVtdXgKCSAgbmV3IGJpdHJhdGUgPSAob2xkIGJpdHJhdGUgKyAobGFzdCBmcmFnbWVudCBiaXRyYXRlICogMykpIC8gNAoKMjAxNC0wNS0xMiAxMzo0MDoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IHJlbW92ZSB1cmlkb3dubG9hZGVyIGluIGZhdm9yIG9mIGludGVybmFsIHNvdXJjZQoJICBSZWZhY3RvciBtc3NkZW11eCB0byByZW1vdmUgdXJpZG93bmxvYWRlciB0byB1c2UgYW4gaW50ZXJuYWwKCSAgc291cmNlIGVsZW1lbnQgd2hpY2ggcmVkdWNlcyBzdGFydHVwIGxhdGVuY3kgYW5kIHByb3ZpZGVzIHNtYWxsZXIKCSAgYnVmZmVycyBmb3IgYmV0dGVyIGJ1ZmZlcmluZyBtYW5hZ2VtZW50IGRvd25zdHJlYW0KCjIwMTQtMDUtMTIgMTM6Mjg6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogaW5pdGlhbGl6ZSB0aGUgbXV0ZXggYW5kIGNvbmQgZm9yIGZyYWdtZW50IGRvd25sb2FkCgoyMDE0LTA1LTEyIDEzOjMyOjMxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC91cGxvYWQ6IHNldCBvdXRfdGV4IGFmdGVyIHJlc2V0LCBub3QgYmVmb3JlCgkgIEZpeCBhIHJlZ3Jlc3Npb24gaW50cm9kdWNlZCByZWNlbnRseSB3aXRoIHRoZSBsYXp5IGluaXQuCgkgIEl0IHdhcyBoYXBwZW5pbmcgd2hlbiBjYWxsaW5nIGdzdF92aWRlb19nbF90ZXh0dXJlX3VwbG9hZF9tZXRhX3VwbG9hZAoJICBmcm9tIGFuIGFwbGljYXRpb24uIFNvIG5vdCB1c2luZyBnc3RfZ2xfdXBsb2FkX3BlcmZvcm1fd2l0aF9idWZmZXIuCgoyMDE0LTA1LTExIDEyOjQ4OjUyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC91cGxvYWQ6IHVwZGF0ZSB0aGUgdmlkZW8gaW5mbyBvbiBtYXBwaW5nIGEgdmlkZW8gZnJhbWUKCSAgVGhlIGJ1ZmZlciBzaG91bGQgY29udGFpbiB0aGUgbW9zdCBzcGVjaWZpYyBkYXRhIG9uIGhvdyB0aGUgZGF0YSBpcwoJICBmb3JtYXR0ZWQuICBXZSBzaG91bGQgdXNlIHRoaXMgaW5mb3JtYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk4OTYKCjIwMTQtMDUtMTIgMjE6NTY6MDYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsL2NvbnZlcnQ6IGNsb2JiZXIgYWxwaGEgY2hhbm5lbCB3aGVuIG5lZWRlZAoJICBOZWVkZWQgaW4gdGhlIGNvbnZlcnNpb24gZnJvbSBwYWRkZWQgUkdCIGZvcm1hdHMgdG8gZm9ybWF0cyB3aXRoIGFuCgkgIGFscGhhIGNoYW5uZWwuICBlLmcuIEJHUnggLT4gQUJHUiwgZXRjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk3NDIKCjIwMTQtMDUtMTIgMjE6NTE6MzggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3VwbG9hZDogYXZvaWQgcGVyZm9ybWluZyBjb2xvciBjb252ZXJzaW9uIHdoZW4gdGhlcmUgaXMgbm8gbmVlZAoJICBPbmUgc3VjaCBleGFtcGxlIGlzIHdoZW4gdGhlIGJ1ZmZlciBjb250YWlucyBHc3RHTE1lbW9yeSBpbiB0aGUKCSAgUkdCQSBmb3JtYXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTI3OAoKMjAxNC0wNS0xMiAxMDowMTo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogRG9uJ3QgZnJlZSBzdHJpbmcgd2UncmUgc3RpbGwgdXNpbmcKCSAgQ0lEIDEyMTM3ODAKCjIwMTQtMDUtMTEgMTU6MjY6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHJlbW92ZSB1bnVzZWQgc3RyZWFtIHVyaWRvd25sb2FkZXIKCSAgVGhlIHVyaWRvd25sb2FkZXIgZm9yIHRoZSBzdHJlYW0gZnJhZ21lbnRzIGlzbid0IHVzZWQgYW55bW9yZS4KCjIwMTQtMDUtMTEgMDc6NTY6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IERvIG5vdCB0cnkgdG8gYWRkIGEgZmVhdHVyZSB0byBhIGNhcHMgZmVhdHVyZXMgQU5ZCgkgIEl0IGRvZXMgbm90IG1ha2VzIHNlbnNlIGFuZCBhc3NlcnRzCgkgIEJhc2VkIG9uIDdmOWFhYzM4NmZkNWQ1OTIxYzgwMTAwODg5YTVmMjEyYzAxNDhhODggZnJvbSBnc3QtcGx1Z2lucy1iYXNlLgoKMjAxNC0wNS0xMSAwNzo1NTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogRG8gbm90IHRyeSB0byBhZGQgYSBmZWF0dXJlIHRvIGEgY2FwcyBmZWF0dXJlcyBBTlkKCSAgSXQgZG9lcyBub3QgbWFrZXMgc2Vuc2UgYW5kIGFzc2VydHMuCgkgIEJhc2VkIG9uIDdmOWFhYzM4NmZkNWQ1OTIxYzgwMTAwODg5YTVmMjEyYzAxNDhhODggZnJvbSBnc3QtcGx1Z2lucy1iYXNlLgoKMjAxNC0wNS0xMSAxNDowMjozNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2wvY29sb3Jjb252ZXJ0OiBjaG9vc2UgdGhlIHJpZ2h0IGFscGhhIGNvbXBvbmVudCBmb3IgQVlVViAtPiBSR0JBCgoyMDE0LTA1LTExIDEwOjI3OjAyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC91cGxvYWQ6IHVwZGF0ZSB0aGUgcmVzcGVjdGl2ZSBzdGF0ZSB3aGVuIHdlIGNhY2hlIHRleHR1cmVzL2RhdGEKCjIwMTQtMDUtMDEgMDI6MTA6MjAgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGRyb3AgQysrIHN0eWxlIGNvbW1lbnRzCgkgIFRoaXMgcGF0Y2ggYnVpbGRzIG9uIHByZXZpb3VzIHdvcmsgZG9uZSBieQoJICBGYWJyaXppbyAoTWlzdG8pIE1pbG8gPG1pc3RvYmFhbkBnbWFpbC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDEyMDQKCjIwMTQtMDUtMDEgMDE6NTg6MDMgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGZpeCB1cCBlcnJvciByZXBvcnRpbmcKCSAgVGhpcyBwYXRjaCBidWlsZHMgb24gcHJldmlvdXMgd29yayBkb25lIGJ5CgkgIEZhYnJpemlvIChNaXN0bykgTWlsbyA8bWlzdG9iYWFuQGdtYWlsLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTIwNAoKMjAxNC0wNS0xMCAyMzozMzoyNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdXBsb2FkOiBjYWNoZSB0aGUgdGV4dHVyZXMgdGhhdCB3ZSBhcmUgdXNpbmcKCjIwMTQtMDUtMTAgMjI6NDg6MDUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3VwbG9hZDogYXZvaWQgcmVjcmVhdGluZyB0aGUgR0xNZW1vcnkgc3RydWN0IGZvciBvdXRwdXQgdGV4dHVyZXMKCjIwMTQtMDQtMTEgMTk6Mzg6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IGVycm9yIG91dCBpZiB3ZSBnZXQgRU9TIGltbWVkaWF0ZWx5IHdpdGhvdXQgYW55IGRhdGEKCSAgSXQncyBub3QgcmVhbGx5IHJpZ2h0IHRvIGp1c3QgZ28gRU9TIGFzIGlmIG5vdGhpbmcgd2FzIHdyb25nLgoKMjAxNC0wNS0xMCAxMjo1NDo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IHJlbW92ZSBjb25mdXNpbmcgZGVidWcgbG9nIGxpbmUKCjIwMTQtMDUtMDcgMjA6MDg6MDggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0Lmg6CgkgIGF1dG9jb252ZXJ0OiBmYWN0b3JpZXMgZG9uJ3QgbmVlZCB0aGUgbG9jawoJICBBbiBhdG9taWMgaXMgZW5vdWdoLCB0aGV5IGNhbiBvbmx5IGJlIHNldCBvbmNlLgoKMjAxNC0wNS0wOSAyMDowNjoxMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBSZXZlcnQgImF1dG9jb252ZXJ0OiBIYW5kbGUgY2FwcyBxdWVyeSBvbiBpbnRlcm5hbCBzcmNwYWQiCgkgIFRoaXMgaXMgbm90IG5lZWRlZCBhbnltb3JlIGlmIHRoZSBnc3RfcGFkX2xpbmsgY2hlY2tzIG5vdGhpbmcuCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYTMwMzM3NWEzZjVjMTJlOTdjYThiZjUwYjVhOTNjZTg2NTJmYWYyMy4KCjIwMTQtMDUtMDkgMjA6MTI6MjcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IE5vIG5lZWQgdG8gY2hlY2sgYW55dGhpbmcgd2hlbiBsaW5raW5nIGludGVybmFsIHBhZHMKCjIwMTQtMDUtMDkgMjA6MDU6MDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IERvbid0IGlnbm9yZSBlbGVtZW50cyBhY2NlcHRlZCBBTlksIGl0IGlzIHZhbGlkCgoyMDE0LTA1LTA5IDE4OjQ5OjE0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBSZW1vdmUgYnJva2VuIHVzYWdlIG9mIHRoZSBpdGVyYXRvcgoJICBXZSdyZSBhIHN1YmNsYXNzLCBzbyB3ZSBjYW4ganVzdCB0YWtlIHRoZSBvYmplY3QgbG9jayBhbmQgaXRlcmF0ZSB0aGUgbGlzdAoJICBkaXJlY3RseS4KCjIwMTQtMDUtMDggMTk6MzU6MDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IFByb2Nlc3MgdXBzdHJlYW0gZ2V0Y2FwcwoJICBQcm9jZXNzIGl0IGxpa2UgZG93bnN0cmVhbSBnZXRjYXBzCgoyMDE0LTA1LTA3IDIwOjAwOjA4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBSZXR1cm4gdGhlIEdMaXN0IG9mIGZhY3RvcmllcywgdG8gYSBwb2ludGVyIHRvIGl0LgoKMjAxNC0wNS0wNyAxOTo1NDo0NiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuaDoKCSAgYXV0b2NvbnZlcnQ6IHN1YmVsZW1lbnQgY2FuIG9ubHkgYmUgY2hhbmdlIHdpdGggc3RyZWFtIGxvY2sgaGVsZAoJICBJdCB3YXMgYWxyZWFkeSB0aGUgY2FzZSwgbm93IGJlIG1vcmUgZXhwbGljaXQgYWJvdXQgdGhhdCwgYW5kIHJlbW92ZSB1c2VsZXNzCgkgIGxvY2svcmVmL3VubG9jay91bnJlZiBkYW5jZXMuCgoyMDE0LTA1LTA3IDE5OjQ4OjQ5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBLZWVwIGEgcmVmIHRvIHRoZSBwYWRzIHRvbwoJICBTaW1wbGlmaWVzIHRoZSBjb2RlCgoyMDE0LTA1LTA3IDE5OjQ3OjA0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBSZW1vdmUgdW5lZWRlZCBpZigpCgkgIE5VTEwgaXMgdmFsaWQgR0xpc3QKCjIwMTQtMDUtMDcgMTk6NDQ6MTEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IEFsd2F5cyBwdXNoIHJlY29uZmlndXJlIHVwc3RyZWFtIHRvbwoJICBBIHJlY29uZmlndXJlIGNvdWxkIHRyaWdnZXIgYSBjaGFuZ2Ugb2YgY29udGVudHMgaW5zdGVhZCBvZiBqdXN0IHJlY29uZmlndXJpbmcgdGhlIGludGVybmFsIGVsZW1lbnQKCjIwMTQtMDUtMDcgMTk6NDM6MTMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IFJlbW92ZSB1bnVzZWQgaW50ZXJuYWwgcGFyYW1ldGVyCgoyMDE0LTA1LTA5IDE4OjU5OjQ2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsOiBGaXggc29tZSBvZiB0aGUgZXJyb3IgaGFuZGxpbmcKCjIwMTQtMDUtMDkgMTc6NTk6NDMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogVXBkYXRlIEdzdFZpZGVvSW5mbyBhZnRlciB0aGUgYnVmZmVyIGlzIG1hcHBlZAoJICBnc3RfdmlkZW9fZnJhbWVfbWFwKCkgd2lsbCBzdG9yZSBhbiB1cGRhdGVkIHZpZGVvIGluZm8gYmFzZQoJICBvbiB0aGUgdmlkZW8gbWV0YS4gSW4gb3JkZXIgdG8gaGF2ZSB0aGUgcmlnaHQgc3RyaWRlIGFuZCBvZmZzZXQKCSAgd2Ugc2hvdWxkIHVwZGF0ZSB0aGF0IHZpZGVvIGluZm8gYWNjb3JkaW5nbHkuCgoyMDE0LTA1LTA5IDE1OjQyOjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmM6CgkgIGdsOiBGaXggbWVtb3J5IGxlYWsKCSAgQ0lEICMxMjEyMTcxCgoyMDE0LTA1LTA5IDE1OjI2OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsczogUmVtb3ZlIGludmFsaWQgZnJlZQoJICBkYXRhIGRvZXMgbm90IGhhdmUgdG8gYmUgZnJlZWQgYXQgYWxsIGhlcmUsIGl0J3MgYSBwb2ludGVyIHRvCgkgIGFuIGFyYml0cmFyeSBwb3NpdGlvbiBpbnNpZGUgdGhlIGN1cnJlbnQgbGluZS4gQWxzbyBkb24ndCByZXVzZQoJICB0aGUgZGF0YSB2YXJpYWJsZSBmb3IgYW55dGhpbmcgZWxzZSwgdGhhdCB3aWxsIGNhdXNlIGNyYXNoZXMKCSAgaW4gcGxheWxpc3RzIHRoYXQgaGF2ZSB0aGUgSS1mcmFtZSBwbGF5bGlzdCBVUkkgZm9sbG93ZWQgYnkKCSAgb3RoZXIgYXR0cmlidXRlcy4KCSAgQ0lEIDEyMTIxMjcKCjIwMTQtMDUtMDkgMTQ6MzE6NTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IEZpeCBsZWFrCgkgIFRoZSBjZWxsIGV4dGVuc2lvbiB3YXMgbmV2ZXIgYWRkZWQgdG8gdGhlIHBhcmVudCBjZWxsCgkgIENJRCAjMTIxMjE2MgoKMjAxNC0wNS0wOSAyMjoyMjo0MyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2wvY29sb3Jjb252ZXJ0OiBwcmVzZXJ2ZSBhbHBoYSBpbiBBWVVWIDwtPiBSR0JBIGNvbnZlcnNpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk3NDMKCjIwMTQtMDUtMDkgMTg6MDc6MDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvY29sb3Jjb252ZXJ0OiBpbXBsZW1lbnQgbGF6eSBpbml0CgoyMDE0LTA1LTA4IDE1OjM4OjI0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC91cGxvYWQ6IHNldCBpbml0dGVkIHRvIFRSVUUgd2hlbiBfaW5pdF91cGxvYWQgc3VjY2VlZGVkCgoyMDE0LTA1LTA4IDIyOjQ5OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBnbGRpc3BsYXk6IFVzZSBHU1RfU1RSX05VTEwoKSBmb3IgcHJpbnRpbmcgcG9zc2libHkgTlVMTCBzdHJpbmdzIGFuZCBwcmludCBhbGwgdmFyaWFibGVzIHdlIHVzZQoJICBGaXhlcyBjb21waWxlciB3YXJuaW5nIGFib3V0IHNldCBidXQgbm90IHVzZWQgcGxhdGZvcm1fY2hvaWNlIHZhcmlhYmxlCgkgIGFtb25nIG90aGVyIHRoaW5ncy4KCjIwMTQtMDUtMDggMTY6MDg6MDggKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBnbGVmZmVjdHM6IHVzZSBnbF92dGFibGUKCjIwMTQtMDUtMDggMTc6Mjg6MTEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3VwbG9hZDogZml4IGNvbXBpbGF0aW9uIG9uIE9TIFgKCjIwMTQtMDUtMDggMTU6NDA6MzMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3VwbG9hZDogZmFpbCBwcm9wb2VybHkgaWYgaW5pdCBmYWlscwoKMjAxNC0wNS0wOCAxNTozMDo0OSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkgIGdsOiBtYWtlIGFsbCBHT2JqZWN0cyBpbmhlcml0IGZyb20gR3N0T2JqZWN0CgkgIEFpZHMgbWVtb3J5IGxlYWsgZGVidWdnaW5nIHdpdGggR1NUX1RSQUNFPW1lbS1saXZlCgoyMDE0LTA1LTA4IDEzOjQ2OjI5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3VwbG9hZDogaW1wbGVtZW50IGxhenkgaW5pdAoJICBSZW5hbWUgaW5pdF9mb3JtYXQgdG8gc2V0X2Zvcm1hdAoKMjAxNC0wNS0wOCAwMDo1OTo0MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIGdsL3VwbG9hZDogYWRkIGdldF9mb3JtYXQgbWV0aG9kCgkgIFNpbXBseSByZXRyZWl2ZXMgdGhlIGZvcm1hdCBzZXQgYnkgaW5pdF9mb3JtYXQKCjIwMTQtMDUtMDggMDA6NDg6MDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsL2ZpbHRlcjogYXR0ZW1wdCB0byBwYXNzdGhyb3VnaCB0aGUgcG9vbCBpZiB0aGUgY2FwcyBhcmUgdGhlIHNhbWUKCSAgUmVkdWNlcyB0aGUgbnVtYmVyIG9mIGdsYnVmZmVycG9vbCBpbnN0YW5jZXMgcmVxdWlyZWQgZm9yID49MgoJICBjb25zZWN1dGl2ZSBHTCBlbGVtZW50cyBpbiBhIHBpcGVsaW5lLgoKMjAxNC0wNS0wOCAwMDo0MzoxNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2wvZmlsdGVyOiBhbHdheXMgaW5pdGlhbGl6ZSB0aGUgdXBsb2FkIG9iamVjdAoKMjAxNC0wNS0wNyAyMTo0NTo1MyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsOiBhZHZlcnRpc2UgR3N0R0xNZW1vcnkgdXNhZ2UgaW4gdGhlIGNhcHMgYXMgY2Fwc2ZlYXR1cmVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk2NTgKCjIwMTQtMDUtMDcgMjA6MTI6MjMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSAgZ2wvZXhhbXBsZXM6IGZpeCBjb21waWxhdGlvbiBmb3IgY2x1dHRlciBleGFtcGxlcwoJICBDbHV0dGVyWDExVGV4dHVyZVBpeG1hcCBpcyBkZXByZWNhdGVkIGluIENsdXR0ZXIgMS42IGFuZCB3ZSBhc2sgZm9yCgkgIGF0IGxlYXN0IDEuOAoKMjAxNC0wNS0wNyAxOTowNTo1NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsL2Rpc3BsYXk6IGF2b2lkIGVuZGxlc3MgcmVjdXJzaW9uIGZvciBjb2NvYQoKMjAxNC0wNS0wNiAwODo1MjoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBkZXByZWNhdGUgbWF4LWJ1ZmZlcmluZy10aW1lIHByb3BlcnR5CgkgIEl0IGlzIG5vdCB1c2VkIGFzIGRhc2hkZW11eCBkb2Vzbid0IGhhdmUgYSBpbnRlcm5hbCBidWZmZXIKCSAgZm9yIGZyYWdtZW50cyBhbnltb3JlCgoyMDE0LTA1LTA2IDAxOjU2OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHJlbW92aW5nIG9sZCB1bnVzZWQgY29kZQoJICBUaGUgJ2NhdGNoIHVwIG1vZGUnIGlzbid0IG5lZWRlZCBhbnltb3JlIHNpbmNlIGRhc2hkZW11eAoJICBpcyBkb3dubG9hZGluZyBhbmQgcHVzaGluZyBmcm9tIHRoZSBzYW1lIHRocmVhZAoKMjAxNC0wNS0wNSAxMDoxMzoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiByZW1lbWJlciB0byBzZXQgc3RhcnRpbmcgZnJhZ21lbnQgdG8gbmV3IGZyYWdtZW50cwoKMjAxNC0wNS0wMiAxODozNDowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBoYW5kbGUgYSBmZXcgbW9yZSBlcnJvciBjYXNlcwoJICByZWxhdGVkIHRvIG1pc3NpbmcgcGx1Z2lucywgYmFkIFVSSSBhbmQgYSBsb2NrdXAgb24gZGVhbGluZyB3aXRoCgkgIGVycm9ycyBmcm9tIHRoZSBzb3VyY2UuCgoyMDE0LTA1LTAyIDE4OjMyOjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IE9ubHkgc2V0IHRpbWVzdGFtcCB0byB0aGUgZmlyc3QgYnVmZmVyIG9mIGZyYWdtZW50cwoJICBTZXR0aW5nIGl0IHRvIHRoZSBvdGhlciBwYXJ0cyBvZiB0aGUgZnJhZ21lbnQgaXMgc2xpZ2h0bHkgd3JvbmcKCSAgYW5kIG1pc2xlYWRpbmcgYXMgaXQgaXNuJ3QgYWNjdXJhdGUgZW5vdWdoLgoKMjAxNC0wNS0wMiAxODozMDowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogaGFuZGxlIGVycm9yIG1lc3NhZ2VzIGZyb20gdGhlIHNvdXJjZXMKCSAgU2V0IHVwIGEgbWVzc2FnZSBoYW5kbGluZyBmdW5jdGlvbiB0byBiZSBhYmxlIHRvIGNhdGNoIGVycm9ycwoJICBmcm9tIHRoZSBzb3VyY2UgZWxlbWVudCBhbmQgc2lnbmFsIHRoZSBjb25kIHRvIGFsbG93IHRoZSBkb3dubG9hZAoJICBsb29wIHRvIHJldHJ5IHRoZSBkb3dubG9hZC4KCjIwMTQtMDUtMDEgMjE6MDQ6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogY2hlY2sgZm9yIGVycm9ycyBiZXR3ZWVuIGRvd25sb2FkcwoJICBUbyBhYm9ydCBlYXJsaWVyIGluIGNhc2Ugb2YgZmFpbHVyZXMKCjIwMTQtMDUtMDEgMjE6MDA6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogQWx3YXlzIGFjY2VwdCB0aGUgbGF0ZW5jeSBjb25maWd1cmUgZXZlbnQKCSAgVXBzdHJlYW0gb3IgaW50ZXJuYWwgZWxlbWVudHMgYXJlIGlycmVsZXZhbnQgYW5kIHdlIHNob3VsZAoJICBhbHdheXMgc3VjY2VlZC4KCjIwMTQtMDUtMDEgMTI6MDQ6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvTWFrZWZpbGUuYW06CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0ZG93bmxvYWRyYXRlLmM6CgkqIGV4dC9kYXNoL2dzdGRvd25sb2FkcmF0ZS5oOgoJICBkYXNoZGVtdXg6IG1lYXN1cmUgZG93bmxvYWQgcmF0ZSBqdXN0IGxpa2UgaGxzZGVtdXgKCSAgbmV3IGJpdHJhdGUgPSAob2xkIGJpdHJhdGUgKyAobGFzdCBmcmFnbWVudCBiaXRyYXRlICogMykpIC8gNAoKMjAxNC0wNC0yNSAwODo1MDoxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogcmVtb3ZlIHVyaWRvd25sb2FkZXIgZnJvbSBmcmFnbWVudHMgZG93bmxvYWQKCSAgSW5zdGVhZCwgdXNlIGEgc291cmNlIGVsZW1lbnQgbGlua2VkIHRvIGEgZ2hvc3RwYWQgdG8gcHJvdmlkZQoJICBzbWFsbGVyIGJ1ZmZlcnMgYW5kIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBmb3IgZG93bnN0cmVhbQoJICBidWZmZXJpbmcgZWxlbWVudHMgd2hpbGUgYWxzbyByZWR1Y2luZyBzdGFydHVwIGxhdGVuY3kKCjIwMTQtMDUtMDcgMDk6MTE6MjUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsL3Npbms6IG1ha2Ugc3VyZSB3ZSBhbHdheXMgaW5pdGlhbGl6ZSB0aGUgdXBsb2FkIG9iamVjdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NTQyCgoyMDE0LTA1LTA2IDE5OjI0OjU1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGZpeCBpbnRlcm5hbCBzb3VyY2UgZXZlbnQgbGVha3MKCjIwMTQtMDUtMDYgMTE6NTk6MjQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsOiBkbyBub3QgYWxsb2NhdGUgdGhlIHRhcmdldCB0ZXh0dXJlIG9mIGFuIEVHTEltYWdlCgkgIFRoZSB0YXJnZXQgdGV4dHVyZSBvZiBhbiBFR0xJbWFnZSBpcyB0aGUgdGV4dHVyZSBiaW5kIGp1c3QKCSAgYmVmb3JlIGNhbGxpbmcgZ2xFR0xJbWFnZVRhcmdldFRleHR1cmUyRC4KCSAgQXMgd2UgY3VycmVudGx5IG9ubHkgc3VwcG9ydCBhIGdsIHRleHR1cmUgYXMgdGhlIHNvdXJjZSBvZiBhbiBFR0xJbWFnZQoJICB0aGUgZ2wgdGV4dHVyZSBpcyBhY3R1YWxseSBhbHJlYWR5IGFsbG9jYXRlZCB3aGVuIGNyZWF0aW5nIHRoZSBlZ2xpbWFnZS4KCSAgSSBhbHNvIHNlZSBzb21lIGNhc2VzIHdoZXJlIGl0IGZhaWxzIHRvIHVwbG9hZCBhbiBlZ2xpbWFnZSB3aGVuCgkgIGdsVGV4SW1hZ2UyRCBpcyBjYWxsZWQgb24gdGhlIHRhcmdldC4KCjIwMTQtMDUtMDYgMTE6NTE6MzEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgZ2w6IGFsbG93IHRvIGF2b2lkIGNhbGxpbmcgZ2xUZXhJbWFnZTJEKHcsIGgsIE5VTEwpIHdoZW4gZ2VuZXJhdGluZyBhIHRleHR1cmUKCSAgSnVzdCBwYXNzIDAgYXMgd2lkdGggb3IgaGVpZ2h0IHRvIGdzdF9nbF9jb250ZXh0X2dlbl90ZXh0dXJlLgoKMjAxNC0wNS0wNiAxMToyNzo0NyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkgIGdsOiBubyBuZWVkIHRvIGluaXRpYWxpemUgYSBmcmFtZSBidWZmZXIgb2JqZWN0IHRvIHVwbG9hZCBhbiBlZ2xpbWFnZQoJICBGaXggaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTU4OAoKMjAxNC0wNS0wNiAxMToyMTo1NiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlbWVtb3J5LmM6CgkgIGdsOiB1c2UgR1NUX0NBVF9FUlJPUiBpbnN0ZWFkIG9mIEdTVF9FUlJPUl9PQkpFQ1QKCSAgSXQgZml4ZXMgc2VnYXVsdCB3aGVuIEdTVF9ERUJVRyBpcyBhdCBsZWFzdCBsZXZlbCAxIGFuZCBlZ2xDcmVhdGVJbWFnZSBmYWlscwoKMjAxNC0wNS0wNiAxMDoxNDoyNiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2w6IGRlbGV0ZSB0ZXh0dXJlIHVzZWQgd2l0aCBHc3RWaWRlb0dMVGV4dHVyZVVwbG9hZE1ldGEKCjIwMTQtMDUtMDYgMTQ6MjM6MzQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsOiB1c2UgZ3N0X2dsX2NvbnRleHRfZ2VuX3NoYWRlciBoZWxwZXIgaW5zdGVhZCBvZiBkdXBsaWNhdGluZyBjb2RlCgoyMDE0LTA1LTA2IDA5OjU1OjA1IC0wNDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSAgcG5tZW5jOiByZW1vdmUgZW1wdHkgbGluZQoJICBSZW1vdmUgdHJhaWxpbmcgZW1wdHkgbGluZSBmcm9tIGNvbW1pdCBiZmRjNTQzOTUyMzhjMDRmYzZlNWI1MTg4MGMyZDcwNmYzM2U5MDExCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk2MTQKCjIwMTMtMTEtMjAgMTI6MTY6MTcgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBSZW1vdmUgdW51c2VkIGRhdGEgaW4gVHNNdXhTZWN0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjE2ODUKCjIwMTQtMDUtMDYgMjE6MTc6NTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiByZWVuYWJsZSBjYW1lcmFiaW4gZWxlbWVudCB0ZXN0CgoyMDE0LTA1LTA2IDE2OjM5OjA2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBnbC9kaXNwbGF5OiBjbGVhbiB1cCBwcmUgZ3N0Z2xjb250ZXh0IGFwaSBhbmQgc3RydWN0IGZpZWxkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NTUxCgoyMDE0LTA1LTA2IDE3OjI3OjE1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBnbC9kaXNwbGF5OiBhZGQgZ2V0X2hhbmRsZV90eXBlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk1NTEKCjIwMTQtMDUtMDYgMTc6MDg6MTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBnbC9kaXNwbGF5OiBhdm9pZCBvcGVuaW5nIHRoZSBYMTEgZGlzcGxheSBvbiBzeXN0ZW1zIHdpdGggQ29jb2EgKE9TIFgpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk1NTEKCjIwMTQtMDUtMDYgMTY6Mzk6NTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsL3dpbmRvdzogZml4IHN0cmluZyBsZW5ndGggY2hlY2sgZm9yIGVhZ2wKCjIwMTQtMDUtMDYgMTY6MzE6MjggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBnbC9kaXNwbGF5OiBjaGVjayB0aGUgY29ycmVjdCBlbnYgdmFyaWFibGUgZm9yIGNob29zaW5nIGFuIGVnbCBkaXNwbGF5CgkgIEdTVF9HTF9XSU5ET1cgaXMgdXNlZCBmb3Igd2luZG93IHN5c3RlbSBzcGVjaWZpYyBjaG9pY2VzLgoJICBBbiBFR0xEaXNwbGF5IGNhbiBiZSBjcmVhdGVkIGZyb20gd2luZG93IHN5c3RlbXMgd2l0aCBlZ2wgc3VwcG9ydCBieSB1c2luZwoJICBlZ2xHZXREaXNwbGF5KCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk1NTEKCjIwMTQtMDUtMDYgMTI6NTY6MjUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvTWFrZWZpbGUuYW06CgkgIGdsL2NvY29hOiBVc2UgT0JKQ0ZMQUdTIHdoZXJlIG5lZWRlZAoJICBTaG91bGQgZml4IHVzYWdlIG9mIGMtY29tcGlsZXItb25seSBmbGFncyB3aXRoIGFuIG9iamVjdGl2ZS1jIGNvbXBpbGVyCgoyMDE0LTA1LTA2IDA5OjQ4OjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSAgcG5tZW5jOiBmaXggZmxvdyByZXR1cm4gYW5kIGJ1ZmZlciBsZWFrIGluIG5vdC1uZWdvdGlhdGVkIGNhc2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTYxNAoKMjAxNC0wNS0wNiAwOTo0MDowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBhZGQgbmV3IHZwOHBhcnNlci10ZXN0IGJpbmFyeSB0byAuZ2l0aWdub3JlCgoyMDE0LTA1LTA1IDE3OjIwOjQ1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBEb24ndCByZXNldCBzdHJlYW0gaWYgdGhlIGtleSBoYXNuJ3QgY2hhbmdlZAoKMjAxNC0wNS0wNSAxNzowMDowMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5oOgoJICBzcnRwZGVjOiBBZGQgInJlbW92ZS1rZXkiIGFjdGlvbiBzaWduYWwgdG8gcmVtb3ZlIGEgc2luZ2xlIGtleQoJICBSZW1vdmluZyBhbGwgdGhlIGtleXMgY2FuIGJlIGEgcHJvYmxlbSBhcyBpdCBhbHNvIHJlc2V0cyB0aGUgdmFyaW91cwoJICBjb3VudGVycywgc28gaW5zdGVhZCBhZGQgYW4gb3B0aW9uIHRvIHJlbW92ZSBhIHNpbmdsZSBrZXkuCgoyMDE0LTA1LTA1IDIyOjI1OjA4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwZW5jOiBVc2UgJXUgaW4gdGVtcGxhdGVzIHRvIG1hdGNoIHJ0cGJpbgoKMjAxNC0wNS0wNiAwMDoxMToyNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogUmVtb3ZlIHVudXNlZCBmaWVsZAoKMjAxNC0wNS0wNiAwOToyMzoxMyArMDUzMCAgU2FuamF5IE5NIDxzYW5qYXkubm1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICBGaXggZm9yIG5vdCBjaGVja2luZyB6ZXJvIHdpZHRoIGFuZCBoZWlnaHQKCSAgU2lnbmVkLW9mZi1ieTogU2FuamF5IE5NIDxzYW5qYXkubm1Ac2Ftc3VuZy5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk2MTQKCjIwMTQtMDUtMDUgMTE6MTM6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogT25seSBzZXQgdGhlIHNlZ21lbnQgcG9zaXRpb24gaWYgdGhlcmUgaXMgYSB0aW1lc3RhbXAKCSAgT25seSB0aGUgZmlyc3QgYnVmZmVyIG9mIGEgZnJhZ21lbnQgaGFzIGl0cyB0aW1lc3RhbXAgc2V0LCBzbyBvbmx5CgkgIHVwZGF0ZSB0aGUgc2VnbWVudC5wb3NpdGlvbiB3aGVuIHB1c2hpbmcgdGhvc2UgYnVmZmVycyB0byBhdm9pZAoJICBoYXZpbmcgR1NUX0NMT0NLX1RJTUVfTk9ORSBzZXQgdG8gdGhlIHBvc2l0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjkzNjQKCjIwMTQtMDUtMDUgMTI6MzA6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXNlIHRoZSBzYW1lIGluY2x1ZGVzIGZvciBHTCB0aGF0IHdlIHdvdWxkIHVzZSBsYXRlciBpbiB0aGUgY29kZSBmb3IgY2hlY2tpbmcgaWYgR0xFUzIgYW5kIE9wZW5HTCBoZWFkZXJzIGNhbiBib3RoIGJlIGluY2x1ZGVkCgoyMDE0LTA1LTA1IDIwOjA2OjI5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2w6IGNoZWNrIGlmIHdlIGNhbiBpbmNsdWRlIGJvdGggR0wgYW5kIEdMRVMyIGhlYWRlcnMgYXQgdGhlIHNhbWUgdGltZQoJICBJZiB3ZSBjYW5ub3QsIHRoZW4gZGVmYXVsdCB0byBHTCBvdmVyIEdMRVMyIHVubGVzcyBHTEVTMiBpcyByZXF1aXJlZC4KCjIwMTQtMDUtMDUgMDk6NDY6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBTZXQgQ2FjaGUtQ29udHJvbCBoZWFkZXIgYWNjb3JkaW5nIHRvIHRoZSBjYWNoaW5nIHJlcXVpcmVtZW50cyBvZiB0aGUgcGxheWxpc3QKCjIwMTQtMDUtMDUgMDk6Mzg6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBVcGRhdGUgZm9yIHVyaSBkb3dubG9hZGVyIEFQSSBjaGFuZ2VzCgoyMDE0LTA1LTA1IDA5OjM3OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogVXBkYXRlIGZvciB1cmkgZG93bmxvYWRlciBBUEkgY2hhbmdlcwoKMjAxNC0wNS0wNSAwOTozNjo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5oOgoJICB1cmlkb3dubG9hZGVyOiBBZGQgcGFyYW1ldGVyIHRvIGRpc2FsbG93IGNhY2hpbmcgYXMgcmVxdWlyZWQgYnkgSExTCgoyMDE0LTA1LTA1IDA5OjM0OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHM6IFN0b3JlIGFsbG93Y2FjaGUgcGxheWxpc3QgZmllbGQgaW4gYSBib29sZWFuCgoyMDE0LTA1LTA0IDIyOjIyOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFVzZSB0aGUgc2FtZSAjaW5jbHVkZXMgZm9yIGNoZWNraW5nIEdMIHR5cGVzIGFzIGxhdGVyIGluIHRoZSBjb2RlCgoyMDE0LTA1LTAzIDIxOjM4OjQyIC0wNDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgZ2wvY2x1dHRlcjogc2FmZXIgY2hlY2sgZm9yIGNvZ2wgdmVyc2lvbgoJICBVc2UgQ09HTF9WRVJTSU9OX0VOQ09ERSB0byBjaGVjayBmb3IgdGhlIG1pbmltdW0gcmVxdWlyZWQgYW5kIG1heGltdW0gYWxsb3dlZAoJICBjb2dsIHZlcnNpb24uIEluIGNlcnRhaW4gc2l0dWF0aW9ucyBqdXN0IHVzaW5nIHRoZSBDT0dMX1ZFUlNJT05fKiBtYWNybyBuYW1lIGNhbgoJICBnaXZlIHlvdSB0aGUgZm9sbG93aW5nIGVycm9yOgoJICBlcnJvciAiQ09HTF9WRVJTSU9OX01BWF9BTExPV0VEIG11c3QgYmUgPj0gQ09HTF9WRVJTSU9OX01JTl9SRVFVSVJFRCIKCjIwMTQtMDUtMDMgMjE6MDU6MTkgLTA0MDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZXl1di9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL3JlY29yZGdyYXBoaWMvbWFpbi5jcHA6CgkgIGdsL2V4YW1wbGVzL2dlbmVyaWM6IHJlbW92ZSB0cmFpbGluZyB3aGl0ZXNwYWNlcwoKMjAxNC0wNS0wMyAyMDo0ODozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4zLjEgPT09CgoyMDE0LTA1LTAzIDE4OjE2OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyb3JjLWRpc3QuYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLWRpc3QuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0LmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1ZGllZmZlY3Rzb3JjLWRpc3QuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0Y29kZWNwYXJzZXJzLmRlZjoKCSAgUmVsZWFzZSAxLjMuMQoKMjAxNC0wNS0wMyAxODoxNjowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE0LTA1LTAzIDE5OjQ1OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY2x1dHRlci9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IEZpeCBDRkxBR1MgaW4gY2x1dHRlciBHTCBleGFtcGxlcwoKMjAxNC0wNS0wMyAxOTo0MjozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL01ha2VmaWxlLmFtOgoJICBleGFtcGxlczogQWRkIGFsbCBnbCBzdWJkaXJzIHRvIERJU1RfU1VCRElSUyB0byBmaXggdGhlIGJ1aWxkCgoyMDE0LTA1LTAzIDE3OjI0OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE0LTA1LTAzIDEzOjEyOjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvbWZjL01ha2VmaWxlLmFtOgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5jOgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5oOgoJKiBzeXMvbWZjL2dzdG1mYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5oOgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuaDoKCSAgbWZjOiBSZW1vdmUgbWZjIHBsdWdpbiwgaXQgaXMgb2Jzb2xldGVkIGJ5IHRoZSB2NGwydmlkZW9kZWMgZWxlbWVudCBmcm9tIGdzdC1wbHVnaW5zLWdvb2QKCjIwMTQtMDUtMDMgMTI6MDI6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBVc2UgY29tcGxldGUgY2FwcyBmb3Igc2V0dGluZyB1cCB0aGUgc3RyZWFtcyBpbiB0aGUgdGVzdAoKMjAxNC0wNS0wMyAxMDoxNToxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYmNiMTUxOCB0byAyMTFmYTVmCgoyMDE0LTAzLTE5IDA5OjIyOjA4ICswMTAwICBQZXIgeCBKb2hhbnNzb24gPHBlcnhqb2hAYXhpcy5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9nc3R3YXRjaGRvZy5jOgoJICB3YXRjaGRvZzogQWRkIGhhbmRsaW5nIG9mIFBBVVNFRCBzdGF0ZQoJICBBbHNvIGFsbG93IGRpc2FibGluZyB0aGUgdGltZW91dCBieSBzZXR0aW5nIGl0IHRvIDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjYxNTYKCjIwMTQtMDUtMDIgMTc6Mjc6NTYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuaDoKCSAgc3J0cGVuYzogQWRkIGNvbmZpZyBmb3IgdGhlIHJlcGxheSB3aW5kb3cgc2l6ZQoKMjAxNC0wNS0wMiAxNzoyNDo0NyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuaDoKCSAgc3J0cGVuYzogUmVtb3ZlIHVudXNlZCBvYmplY3QgbWVtYmVycwoKMjAxNC0wNS0wMiAxNzoxOToyMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cGVuYzogUmVtb3ZlIHVzZWxlc3Mgc3RydWN0dXJlCgkgIFJlbW92ZSBub3cgdXNlbGVzcyBzdHJ1Y3R1cmUKCjIwMTQtMDUtMDIgMTc6MTQ6MTQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHBlbmM6IFJlbW92ZSBzc3JjIHBhcnNpbmcgZnJvbSBzdHJlYW0KCSAgSXQncyBubyBsb25nZXIgdXNlZAoKMjAxNC0wNS0wMiAxNzoxMzo1NCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cGVuYzogUmVtb3ZlIFNTUkMgZnJvbSBzaWduYWwsIGl0J3MgbWVhbmluZ2xlc3MKCjIwMTQtMDUtMDIgMTc6MDc6MjEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuaDoKCSAgc3J0cGVuYzogU2V0IHRoZSBTUlRQIGtleSBhcyBhIHNoYXJlZCBrZXkgZm9yIGFsbCBTU1JDcwoJICBUaGlzIGlzIGFscmVhZHkgaG93IGl0IHdhcyB1c2VkLgoKMjAxNC0wNS0wMiAxNDoyMDo1OCArMDIwMCAgQmxha2UgVHJlZ3JlIDxibGFrZS50cmVncmVAZ21haWwuY29tPgoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgcmZic3JjOiBTZW5kIHN0cmVhbS1zdGFydCBldmVudCBpbiB0aGUgYmVnaW5uaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY4MDIKCjIwMTQtMDUtMDIgMTA6NDQ6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBVcGRhdGUgZm9yIFVSSSBkb3dubG9hZGVyIEFQSSBjaGFuZ2VzCgkgIEFuZCBtYWtlIHN1cmUgdG8gc2V0IHJlZnJlc2g9VFJVRSB3aGVuIHVwZGF0aW5nIHRoZSBwbGF5bGlzdC4KCjIwMTQtMDUtMDIgMTA6NDM6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBVcGRhdGUgZm9yIFVSSSBkb3dubG9hZGVyIEFQSSBjaGFuZ2VzCgkgIEFuZCBpbmNsdWRlIHRoZSBtYW5pZmVzdCBmaWxlIGFzIHJlZmVyZXIgaW4gcmVxdWVzdHMsIGFuZCBtYWtlIHN1cmUKCSAgdG8gc2V0IHJlZnJlc2g9VFJVRSB3aGVuIHVwZGF0aW5nIHRoZSBtYW5pZmVzdC4KCjIwMTQtMDUtMDIgMTA6Mzk6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBVcGRhdGUgZm9yIFVSSSBkb3dubG9hZGVyIEFQSSBjaGFuZ2VzCgkgIEFuZCBpbmNsdWRlIHRoZSBNUEQgZmlsZSBhcyByZWZlcmVyIGluIHJlcXVlc3RzLCBhbmQgbWFrZSBzdXJlCgkgIHRvIHNldCByZWZyZXNoPVRSVUUgd2hlbiB1cGRhdGluZyB0aGUgTVBELgoKMjAxNC0wNS0wMiAxMDozNjoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5oOgoJICB1cmlkb3dubG9hZGVyOiBBZGQgcmVmcmVzaCBwYXJhbWV0ZXIgdG8gaGludCBjYWNoZXMgdGhhdCB0aGV5IHNob3VsZCBjaGVjayBpZiB0aGV5J3JlIHVwIHRvIGRhdGUKCjIwMTQtMDUtMDIgMTU6NTY6NTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbDogdXNlIHRoZSBidWZmZXJwb29sJ3MgdXBsb2FkIHdoZW4gYXZhaWxhYmxlCgkgIEF2b2lkcyBkdXBsaWNhdGluZyBHTCByZXNvdXJjZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODg3MgoKMjAxNC0wNS0wMiAwNTo1NzowMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2w6IHNob3cgaW50ZXJuYWwgY29jb2Egd2luZG93IG9uIHRvcCBvZiBvdGhlcnMKCSAgVXNlZnVsIHdoZW4geW91ciBPU1ggdGVybWluYWwgaXMgZnVsbHNjcmVlbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MTI3CgoyMDE0LTA1LTAyIDA1OjUxOjM2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL2NvY29hLXZpZGVvb3ZlcmxheS5tOgoJICBnbDogcGFzcyBOU1ZpZXcgaW5zdGVhZCBvZiBOU1dpbmRvdyBpbiBjb2NvYS12aWRlb292ZXJsYXkgZXhhbXBsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NDUxCgoyMDE0LTA1LTAyIDA1OjUwOjE4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL2NvY29hLXZpZGVvb3ZlcmxheS5tOgoJICBnbDogYWRkIGNvcHlyaWdodCB0byBjb2NvYSBleGFtcGxlCgoyMDE0LTA1LTAyIDA1OjQ2OjE4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL2NvY29hLXZpZGVvb3ZlcmxheS5tOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS92aWRlb292ZXJsYXkvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvdmlkZW9vdmVybGF5L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS92aWRlb292ZXJsYXkvbWFpbi5tOgoJICBnbDogcmVuYW1lIGNvY29hIGV4YW1wbGUgYW5kIG1vdmUgaXQgdG8gaXRzIHBhcmVudCBkaXJlY3RvcnkKCjIwMTQtMDUtMDIgMDU6Mjk6NDEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvUkVBRE1FOgoJICBnbDogcmVtb3ZlIHVudXNlZnVsIFJFQURNRSBmb3IgY29jb2EgZXhhbXBsZQoKMjAxNC0wNS0wMSAxNjowNzowNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuaDoKCSAgZ2wvcG9vbDogaW5pdCB0aGUgdXBsb2FkIG9iamVjdCBvbiBzdGFydAoJICBUaGVvcmV0aWNhbGx5LCBzZXRfY29uZmlnIGNvdWxkIGJlIGNhbGxlZCBtdWx0aXBsZSB0aW1lcwoKMjAxNC0wNS0wMSAxOToxNjozNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogT25seSBjbGVhciBzdHJlYW1zIGlmIHRoZXkgaGF2ZSBiZWVuIGNyZWF0ZWQKCjIwMTQtMDUtMDEgMTk6MTA6NDMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IFVzZSBvYmplY3QgZGVidWcKCjIwMTQtMDUtMDEgMTU6NTk6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBBbHdheXMgc3VjY2VlZCB0aGUgTEFURU5DWSBldmVudAoJICBVcHN0cmVhbSBhbmQgb3VyIGludGVybmFsIHNvdXJjZSBpcyBpcnJlbGV2YW50IGZvciB0aGUgbGF0ZW5jeQoJICBhbmQgd2UgZG9uJ3Qgd2FudCB0aGUgTEFURU5DWSBldmVudCB0byBldmVyIGZhaWwuCgoyMDE0LTA1LTAxIDE1OjU2OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogUmVzZXQgdGhlIGxhc3QgZmxvdyByZXR1cm4gYmVmb3JlIHJlc3RhcnRpbmcgdGhlIGludGVybmFsIHNvdXJjZQoJICBPdGhlcndpc2Ugd2Ugd2lsbCBuZXZlciByZWNvdmVyIGZyb20gcHJldmlvdXMgZXJyb3JzLCBhbmQgZXNwZWNpYWxseQoJICB3aWxsIG5ldmVyIHN0YXJ0IGFnYWluIGFmdGVyIGEgZmx1c2hpbmcgc2VlayBpZiBkb3duc3RyZWFtIHJldHVybmVkCgkgIEdTVF9GTE9XX0ZMVVNISU5HIHRvIHVzLgoKMjAxNC0wNS0wMSAxNToyOTozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IE9ubHkgc2V0IFBUUyBvbiB0aGUgZmlyc3QgYnVmZmVyIG9mIGEgZnJhZ21lbnQgaW5zdGVhZCBvZiBzZXR0aW5nIHRoZSBzYW1lIG9uIGFsbCBvZiB0aGVtCgoyMDE0LTA0LTMwIDE3OjU5OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogQWx3YXlzIGZsdXNoIHRoZSBpbnRlcm5hbCBwcm94eSBwYWRzIGJlZm9yZSBkb3dubG9hZGluZwoJICBobHNkZW11eCBjYW4ndCByZWx5IG9uIHRoZSBzb3VyY2UgdG8gcHVzaCBmbHVzaGVzIG9uIGEgc2VlayBvbiByZWFkeQoJICBhcyB0aGF0IG1pZ2h0IG5vdCBtYWtlIHNlbnNlLiBTbyBhbHdheXMgcmVzb3J0IHRvIGZsdXNoaW5nIHRoZQoJICBpbnRlcm5hbCBwcm94eSBwYWRzIGJ5IHB1c2hpbmcgZmx1c2ggZXZlbnRzIGZyb20gdGhlIHNvdXJjZSdzIHNyYyBwYWQuCgkgIEFsc28gYXMgdGhlIHNlZWtpbmcgaXMgbm90IHJlcXVpcmVkIGFueW1vcmUsIG9ubHkgc2VlayBpZiB0aGVyZSBpcwoJICByZWFsbHkgYSBieXRlIHJhbmdlIHRvIGJlIHVzZWQuIEFuZCBzdG9yZSBhIHJlZiB0byB0aGUgc291cmNlJ3MKCSAgc3JjIHBhZCB0byBhdm9pZCBkb2luZyBnZXRfc3RhdGljX3BhZCBmb3IgZXZlcnkgZnJhZ21lbnQuCgoyMDE0LTA1LTAxIDE0OjM2OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguYzoKCSAgZ2w6IFRyeSBoYXJkZXIgdG8gbG9hZCBzeW1ib2xzIGZyb20gdGhlIGNvcnJlY3QgcGxhY2UKCSAgVGhpcyBjb21taXQgbWFrZXMgdGhlIGxvYWRpbmcgb2YgdGhlIEdNb2R1bGVzIHRocmVhZHNhZmUsIGFuZAoJICBhbHdheXMgZmlyc3QgdHJpZXMgdG8gbG9hZCB0aGUgc3ltYm9sIGZvciB0aGUgR0wgbGlicmFyeSB0aGF0CgkgIGlzIHNlbGVjdGVkIGZvciB0aGUgY3VycmVudCBjb250ZXh0LiBPbmx5IHRoZW4gaXQgZmFsbHMgYmFjawoJICB0byBsb29raW5nIGludG8gdGhlIGN1cnJlbnQgbW9kdWxlIChOVUxMKSwgYW5kIG9ubHkgYXMgYSBsYXN0CgkgIHJlc29ydCB0aGUgY29udGV4dCBzcGVjaWZpYyBmdW5jdGlvbiAoZS5nLiBlZ2xHZXRQcm9jQWRkcmVzcygpKQoJICBpcyBjYWxsZWQuCgkgIEFsc28gYWRkIGNvbmZpZ3VyZSBwYXJhbWV0ZXJzIHRvIHNlbGVjdCB0aGUgbmFtZXMgb2YgdGhlIGxpYnJhcnkKCSAgbW9kdWxlcyBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBkZWZhdWx0cywgYW5kIGxldCB0aGUgZGVmYXVsdHMgYmUKCSAgaW5kZXBlbmRlbnQgb2YgdGhlIEdfTU9EVUxFX1NVRkZJWC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODc1MwoKMjAxNC0wNS0wMSAxNDoxMTowMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkgIGdsY29sb3JzY2FsZTogZml4IG9wZXJhdGlvbiB3aXRoIGR1YWwgR0wsIEdMRVMyIGxpYmdzdGdsCgoyMDE0LTA1LTAxIDEzOjU3OjE2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC9tZW06IGltcGxlbWVudCB0ZXh0dXJlIGNvcHlpbmcgYmV0d2VlbiBmb3JtYXRzIHdpdGggc3RyaWRlcyBwcm9wZXJseQoJICBQcmV2aW91c2x5LCB3ZSB1c2VkIHRoZSB3aWR0aCB0byBkZXRlcm1pbmUgdGhlIGFtb3VudCBvZiBkYXRhIHRvIGJlCgkgIGNvcGllZCB1c2luZyBwYm9zLiAgVGhpcywgbWFrZXMgaXQgYWxsb2NhdGUgZW5vdWdoIGRhdGEgZm9yIHRoZQoJICB0aGUgc3RyaWRlcyBhcyB3ZWxsLgoKMjAxNC0wNS0wMSAxMjo1MTowNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSAgZ2wvbWVtOiBwYWQgdGhlIHB1YmxpYyBzdHJ1Y3QKCjIwMTQtMDQtMzAgMTg6Mzc6MjcgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2w6IG5vIG5lZWQgdG8gcHJvdmlkZSBmdWxsIGxpYiBwYXRoIHRvIGxvYWQgc3ltYm9scwoJICAtIE1ha2UgZ3N0Z2wgd29yayBvbiBNYWxpCgkgIC0gS2VlcCBpdCB3b3JrIG9uIFJQSQoJICAtIGZhbGxiYWNrIHRvIE5VTEwgbmFtZSBtb2R1bGUgaWYgZmFpbHMgd2l0aCB1c3VhbCBsaWIgbmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NzUzCgoyMDE0LTA0LTMwIDEwOjA1OjE1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSAga2F0ZTogYXZvaWQgcmVhZCBidWZmZXIgb3ZlcmZsb3cgaW4gY3JhZnRlZCBzdHJlYW0KCSAgQ292ZXJpdHkgMTIwODc3NwoKMjAxNC0wNC0zMCAxNzozMDowNiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuaDoKCSAgZ2xjb2xvcnNjYWxlOiB1c2UgYSBzaGFkZXIgb24gR0xFU3YyCgkgIE90aGVyd2lzZSB5b3Ugb25seSBzZWUgYmxhY2sgZnJhbWVzCgkgIEZpeCBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4OTQ3CgoyMDE0LTA0LTMwIDE1OjMwOjUzICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogdXNlIG5ldyBoZWxwZXIgZnVuY3Rpb24gdG8gYXZvaWQgZHVwbGljYXRpbmcgZGVmYXVsdCBzaGFkZXIgdGV4dAoKMjAxNC0wNC0zMCAxNToyODozNSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSAgZ2xlZmZlY3RzOiB1c2UgbmV3IGhlbHBlciBmdW5jdGlvbnMgdG8gYXZvaWQgZHVwbGljYXRpbmcgdGhlIHNhbWUgdmVydGV4IHNoYWRlciB0ZXh0CgkgIEFuZCBhbHNvIHVzZSB0aGUgZGVmYXVsdCBmcmFnbWVudCBzaGFkZXIgdGV4dCBmb3IgdGhlIGlkZW50aXR5IGVmZmVjdAoKMjAxNC0wNC0zMCAxNToyMDoyMyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkgIGdsOiBhZGQgY29udmVuaWVudCBmdW5jdGlvbnMgdG8gc2V0dXAgZGVmYXVsdCB2ZXJ0ZXggYW5kIGZyYWdtZW50IHNoYWRlcnMKCSAgTW9zdCBvZiBvdXIgMkQgZmlsdGVycyB1c2UgdGhlIHNhbWUgc2ltcGxlIHZlcnRleCBzaGFkZXIuCgkgIEFsc28gZGVmaW5lIHRoZSBkZWZhdWx0IGZyYWdtZW50IHNoYWRlciBhcyB0aGUgaWRlbnRpdHkuCgkgIEF2b2lkIGR1cGxpY2F0aW5nIHRoZSBzYW1lIHZlcnRleCBhbmQgZnJhZ21lbnQgc2hhZGVyIHRleHQuCgoyMDE0LTA0LTMwIDA4OjUzOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogT25seSB1bnJlZiBwZW5kaW5nIGJ1ZmZlciBpZiB0aGVyZSBpcyBvbmUKCjIwMTQtMDQtMjkgMTg6MTU6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG8gbm90IHB1c2ggbGFzdCBidWZmZXIgYWZ0ZXIgZXJyb3IKCSAgSW4gZGVjcnlwdGlvbiBzY2VuYXJpbywgYSBidWZmZXIgaXMgYWx3YXlzIHN0b3JlZCB0byBiZSBzZW50IGxhdGVyCgkgIHRvIHdhaXQgZm9yIG1vcmUgZGF0YSBvciBFT1MgdG8gYmUgYWJsZSB0byBzdHJpcCB0aGUgZmluYWwgYnl0ZXMKCSAgaWYgcmVxdWVzdGVkLiBJbiBjYXNlIGFuIGVycm9yIGhhcGVubmVkIHRoaXMgYnVmZmVyIGNhbiBiZSBpZ25vcmVkCgkgIGFuZCBub3QgcHVzaGVkIGRvd25zdHJlYW0uCgoyMDE0LTA0LTI5IDE4OjE0OjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGZsdXNoIHRoZSBhZGFwdGVyIGluIHRoZSBlbmQgb2YgYSBmcmFnbWVudAoJICBJbiBjYXNlIG9mIGVycm9yIHRoZXJlIG1pZ2h0IGJlIHNvbWUgZGF0YSBsZWZ0IGluIHRoZQoJICBhZGFwdGVyIHdoZW4gRU9TIGlzIHJlY2VpdmVkLiBDbGVhciB0aGUgYWRhcHRlciB0byBiZQoJICBhYmxlIHRvIHJlc3RhcnQgYWdhaW4gbGF0ZXIgaWYgcmVxdWVzdGVkLgoKMjAxNC0wNC0yOSAxODoxNDoxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBoYW5kbGUgbW9yZSBlcnJvciBjYXNlcwoJICBIYW5kbGUgc29tZSBtb3JlIGVycm9yIGNhc2VzOgoJICAxKSBXaGVuIHRoZSBzb3VyY2UgZWxlbWVudCBmYWlscyB0byBnbyB0byByZWFkeQoJICAyKSBXaGVuIGRlY3J5cHRpb24gZmFpbHMKCSAgMykgV2hlbiB0aGVyZSBpcyBubyBzb3VyY2UgdG8gaGFuZGxlIGEgc3BlY2lmaWMgVVJJCgkgIDQpIFdoZW4gdGhlIFVSSSBpcyBpbnZhbGlkCgoyMDE0LTA0LTI5IDE1OjE5OjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogaGFuZGxlIGVycm9ycyBmcm9tIGludGVybmFsIHNvdXJjZQoJICBTZXQgdXAgYSBtZXNzYWdlIGhhbmRsaW5nIGZ1bmN0aW9uIHRvIGNhdGNoIGVycm9ycyBmcm9tIHRoZSBpbnRlcm5hbAoJICBzb3VyY2UgYW5kIHN0b3JlIHRoZSBsYXN0IHJldHVybiBjb2RlIHRvIGlkZW50aWZ5IGVycm9yIHNpdHVhdGlvbnMKCSAgd2hlbiByZXR1cm5pbmcgZnJvbSBhIGZyYWdtZW50IGRvd25sb2FkLgoJICBBbHNvIG1vdmVzIHRoZSBkdXJhdGlvbiBpbmNyZWFzZSB0byBhZnRlciB0aGUgZG93bmxvYWQgd2hlbiB3ZQoJICBrbm93IGlmIGl0IHdhcyBzdWNjZXNzZnVsIG9yIG5vdAoKMjAxNC0wNC0yOSAxNToxNzowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IEltcHJvdmUgcGFkIHN3aXRjaGluZyBjb25kaXRpb25zCgkgIFdoZW4gdXNpbmcgdGhlIGludGVybmFsIHNvdXJjZSwgaGxzZGVtdXggZG9lc24ndCBrbm93IHRoZSBjYXBzIG9mCgkgIHRoZSBpbnB1dCBiZWZvcmUgYWRkaW5nIHRoZSBwYWQsIHNvIHJlbW92ZSB0aGUgYXJndW1lbnRzIHRoYXQgd291bGQKCSAgdXNlIHRoYXQgYXMgaXQgaXMgYWx3YXlzIE5VTEwuCgkgIEFuZCB1c2UgYW4gc3BlY2lmaWMgZmxhZyB0byBzaWduYWwgd2hlbiBhIHBhZCBzd2l0Y2ggaXMgcmVxdWlyZWQuCgkgIFVzaW5nIHRoZSBkaXNjb250IGZsYWcgaXMgYSBiYWQgaWRlYSBub3cgYmVjYXVzZSB3aGVuIGEgZnJhZ21lbnQKCSAgZG93bmxvYWQgZmFpbHMgaXQgd2lsbCBsZWFkIHRvIGV4cG9zaW5nIGEgcGFkIGdyb3VwIHdpdGhvdXQgYW55CgkgIGRhdGEsIGNhdXNpbmcgZGVjb2RlYmluIHRvIGFib3J0LgoKMjAxNC0wNC0yOCAyMDowMTo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBwcm9wZXJseSBmbHVzaCBkZWNyeXB0aW9uIHN0YXR1cyBvbiBzZWVrcwoJICBBdm9pZHMgbWl4aW5nIGRlY3J5cHRpb24gb2YgZGlmZmVyZW50IGZyYWdtZW50cyB3aGVuIHNlZWtpbmcgaGFwcGVucwoJICBhbmQgbGVhZGluZyB0byBicm9rZW4gc3RyZWFtIG91dHB1dC4KCjIwMTQtMDQtMjggMTk6MTA6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBUcmFjayBmcmFnbWVudHMgZHVyYXRpb24KCSAgV2hlbiByZWNldmluZyBFT1MgZnJvbSB0aGUgaW50ZXJuYWwgc3JjLCBpbmNyZWFzZSB0aGUgY3VycmVudCBwb3NpdG9uCgkgIGJ5IHRoZSBmcmFnbWVudCBkdXJhdGlvbiB0byBhbGxvdyBjb3JyZWN0IHJlc3RvcmluZyBvZiBkb3dubG9hZCBwb3NpdGlvbgoJICBpZiB0aGUgYml0cmF0ZSBjaGFuZ2VzCgoyMDE0LTA0LTI1IDEyOjU1OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHByb3Blcmx5IHN0b3AgdGFza3MgYnkgc3RvcHBpbmcgZnJhZ21lbnQgZG93bmxvYWQKCSAgSXNzdWUgYSBzaWduYWwgdG8gdGhlIGZyYWdtZW50IGRvd25sb2FkIGNvbmQgdG8gc3RvcAoJICB0aGUgdGFzayBlYXJsaWVyCgoyMDE0LTA0LTI1IDEwOjQwOjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRlY3J5cHQgYmVmb3JlIHR5cGVmaW5kaW5nCgkgIE1ha2Ugc3VyZSB0eXBlZmluZGluZyBnZXRzIHRoZSBkZWNyeXB0ZWQgY29udGVudCBpbnN0ZWFkIG9mCgkgIHRyeWluZyB0byB0eXBlZmluZCB0aGUgZW5jcnlwdGVkIGRhdGEuCgoyMDE0LTA0LTI1IDEwOjM5OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGZpeCBkZWNyeXB0aW9uIGZ1bmN0aW9uIHJldHVybgoJICBDb3JyZWN0bHkgcmV0dXJuIHRoZSBkZWNyeXB0ZWQgYnVmZmVyIHdoZW4gaXQgc3VjY2VlZHMgYW5kCgkgIHJldHVybiBOVUxMIG90aGVyd2lzZQoKMjAxNC0wNC0yMiAyMDoxOTo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBrZWVwIGNvbm5lY3Rpb24gYWxpdmUgYmV0d2VlbiBkb3dubG9hZHMKCSAgVXNlIHRoZSBzYW1lIHByb3BlcnRpZXMgYXMgdXJpZG93bmxvYWRlciB0byBrZWVwIGNvbm5lY3Rpb25zIGFsaXZlCgkgIGJldHdlZW4gY29uc2VjdXRpdmUgZnJhZ21lbnRzIGRvd25sb2Fkcy4KCSAgMSkgc2V0IGtlZXAtYWxpdmUgcHJvcGVydHkgdG8gdHJ1ZQoJICAyKSBrZWVwIHRoZSBlbGVtZW50IGluIFJFQURZIGluc3RlYWQgb2YgaW4gTlVMTAoKMjAxNC0wNC0xNiAyMDowMjozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBjcmVhdGUgc291cmNlcyBmcm9tIHVyaQoJICBJbnN0ZWFkIG9mIHVzaW5nIGFsd2F5cyBhbiBodHRwIHNvdXJjZSwgY3JlYXRlIGl0IGR5bmFtaWNhbGx5IGZyb20KCSAgdXJpIHdoZW4gbmVlZGVkLiBJZiBub3QgbmVlZGVkIGp1c3QgcmVwbGFjZSB0aGUgVVJJIG9uIHRoZSBjdXJyZW50CgkgIGVsZW1lbnQKCjIwMTQtMDQtMTYgMTg6MDQ6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZG8gbm90IHRyeSB0byBydW4gdHlwZWZpbmQgYWdhaW4gaWYgY2FwcyBpcyB0aGUgc2FtZQoJICBBbHdheXMgcmVzZXQgdGhlIGRvX3R5cGVmaW5kIGZsYWcgaWYgaGxzIGRpZCB0eXBlZmluZCBiZWNhdXNlCgkgIHRyeWluZyBpdCBvbiBub24temVybyBvZmZzZXRzIGRvZXNuJ3QgbWFrZSBzZW5zZSBhbmQgd2lsbCBjYXVzZQoJICBhc3NlcnRpb25zCgoyMDE0LTA0LTE2IDA2OjEyOjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogZW5hYmxlIGRvd25sb2FkIGJpdHJhdGUgbWVhc3VyZQoJICBNZWFzdXJlIHRoZSBkb3dubG9hZCBiaXRyYXRlIHRvIGJlIGFibGUgdG8gc2VsZWN0CgkgIHRoZSBiZXN0IHBsYXlsaXN0LgoJICBBcyB0aGUgYnVmZmVycyBhcmUgZGlyZWN0bHkgcHVzaGVkIGRvd25zdHJlYW0gYW5kIGl0CgkgIG1pZ2h0IGJsb2NrLiBUaGUgdGltZSBpcyBvbmx5IG1lYXN1cmVkIGZyb20gdGhlIGRvd25sb2FkCgkgIHVudGlsIHRoZSBwYWQgcHVzaCBhbmQgaXQgaXMgc3RhcnRlZCBhZ2FpbiBhZnRlciB0aGUgcHVzaAoJICByZXR1cm5zLgoKMjAxNC0wNC0wOCAxNzozMTozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IHJlLWVuYWJsZSBkZWNyeXB0aW9uIGFmdGVyIHVyaWRvd25sb2FkZXIgcmVtb3ZhbAoJICBOb3cgdGhlIGRlY3J5cHRpb24gaXMgZG9uZSBidWZmZXIgYnkgYnVmZmVyIGluc3RlYWQgb2Ygb24gdGhlCgkgIHdob2xlIGZyYWdtZW50IGF0IG9uY2UuIEFzIGl0IGV4cGVjdHMgbXVsdGlwbGVzIG9mIDE2IGJ5dGVzIGEKCSAgR3N0QWRhcHRlciB3YXMgYWRkZWQgdG8gcHJvcGVybHkgY2h1bmsgdGhlIGJ1ZmZlcnMuCgkgIEFsc28gdGhlIGxhc3QgYnVmZmVyIG11c3QgYmUgcmVzaXplZCBkZXBlbmRpbmcgb24gdGhlIHZhbHVlIG9mIHRoZQoJICBsYXN0IGJ5dGUgb2YgdGhlIGZyYWdtZW50LCBzbyBobHNkZW11eCBhbHdheXMga2VlcHMgYSBwZW5kaW5nIGJ1ZmZlcgoJICBhcyBpdCBkb2Vzbid0IGtub3cgaWYgaXQgaXMgdGhlIGxhc3Qgb25lIHlldAoKMjAxNC0wNC0wNyAxMzo1NzoyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IHJlcGxhY2UgdXJpZG93bmxvYWRlciB3aXRoIGEgR3N0RWxlbWVudAoJICBUaGUgR3N0RWxlbWVudCBpcyBkaXJlY3RseSBsaW5rZWQgaW50byBhIGdob3N0IHBhZCBhbmQKCSAgaXRzIGJ1ZmZlcnMgYXJlIHB1c2hlZCBhcyByZWNlaXZlZCBkb3duc3RyZWFtLiBUaGlzIHdheSB0aGUKCSAgYnVmZmVycyBhcmUgc21hbGwgZW5vdWdoIGFuZCBub3QgYSB3aG9sZSBmcmFnbWVudCB0aGF0IHVzdWFsbHkKCSAgY2F1c2VzIGV4dHJhIGxhdGVuY3kgYW5kIG1ha2VzIGJ1ZmZlcmluZyBoYXJkZXIKCjIwMTQtMDQtMjkgMTk6MjQ6MDggKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBub3JtYW5kQGlnYWxpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJICBnbDogYWRkIG1pc3NpbmcgR19CRUdJTi9FTkRfREVDTFMgaW4gdXRpbHMgaGVhZGVyCgoyMDE0LTA0LTI5IDEzOjIxOjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IGdsOiBhZGQgbWlzc2luZyBlbnRyeSB0byBjZmxhZ3MgdG8gZmluZCBnc3QvZ2wvZ2wuaAoJICBPdGhlcndpc2UgYnVpbGQgZmFpbHMKCjIwMTQtMDQtMjkgMTY6NDQ6NTkgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZ3N0Z3RrLmM6CgkgIHRlc3RzOiBkcm9wIGRpcmVjdCBpbmNsdWRlCgkgIEl0IGlzIG9ubHkgYWxsb3dlZCB0byBpbmNsdWRlIGdkay9nZGt4LmggYW5kIHRoYXQgd2lsbCBicmluZyBhbGwgdGhlIHgxMSB0aGluZ3MuCgoyMDE0LTAxLTA2IDIyOjEzOjIxICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZkZWMuYzoKCSAgc25kZmlsZTogc2VuZCBhIHRvYyBmb3IgdGhlIHNlZ21lbnRzIGluIHRoZSBhdWRpbyBmaWxlCgoyMDE0LTA0LTI5IDE1OjA2OjAwICswMDAwICBIYWFrb24gU3BvcnNoZWltIChpZWVpKSA8aGFha29uLnNwb3JzaGVpbUBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHVucmVmL3JlcGxhY2UgZm9yY2Vfa2V5X3VuaXRfZXZlbnQgaW4gZ3N0X2gyNjRfcGFyc2VfcmVzZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTIwMAoKMjAxNC0wNC0yOSAyMjoxODoxNCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvTWFrZWZpbGUuYW06CgkgIGdsL3NkbCBleGFtcGxlOiBGaXggdW5pbnN0YWxsZWQgYnVpbGQKCjIwMTQtMDQtMjMgMjA6Mjk6NDcgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgZ2w6IFJlZHVjZSBub2lzeSBJbmZvIGxldmVsIG91dHB1dCB0byBMT0cKCjIwMTQtMDQtMjkgMTg6MzI6MjIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvc2Rsc2hhcmUuYzoKCSAgZ2wvZXhhbXBsZXMvc2RsOiB1cGRhdGUgZm9yIHRoZSBsYXRlc3QgZ3N0Z2wgY2hhbmdlcwoKMjAxNC0wNC0yOSAxNjozODo1NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY2x1dHRlci8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jbHV0dGVyL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jYnA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS9SRUFETUU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL3ZpZGVvb3ZlcmxheS8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS92aWRlb292ZXJsYXkvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL3ZpZGVvb3ZlcmxheS9tYWluLm06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvUkVBRE1FOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvY3ViZS52Y3Byb2o6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJleXV2Ly5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZXl1di9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJleXV2L2N1YmV5dXYudmNwcm9qOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmV5dXYvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvZG91YmxlY3ViZS8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2RvdWJsZWN1YmUvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvZG91YmxlY3ViZS9kb3VibGVjdWJlLnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2dlbmVyaWMuc2xuOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL3JlY29yZGdyYXBoaWMvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9yZWNvcmRncmFwaGljL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL3JlY29yZGdyYXBoaWMvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvcmVjb3JkZ3JhcGhpYy9yZWNvcmRncmFwaGljLnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvUkVBRE1FOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZmlsdGVybm92aWRlb292ZXJsYXkvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2ZpbHRlcm5vdmlkZW9vdmVybGF5L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZmlsdGVybm92aWRlb292ZXJsYXkvZmlsdGVybm92aWRlb292ZXJsYXkudmNwcm9qOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZmlsdGVybm92aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9maWx0ZXJ2aWRlb292ZXJsYXkvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2ZpbHRlcnZpZGVvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2ZpbHRlcnZpZGVvb3ZlcmxheS9maWx0ZXJ2aWRlb292ZXJsYXkudmNwcm9qOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZmlsdGVydmlkZW9vdmVybGF5L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZnh0ZXN0Ly5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9meHRlc3QvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9meHRlc3QvZnh0ZXN0LnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9nc3RndGsuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2dzdGd0ay5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZ3RrLnNsbjoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2d0a3ZpZGVvb3ZlcmxheS8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZ3RrdmlkZW9vdmVybGF5L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZ3RrdmlkZW9vdmVybGF5L2d0a3ZpZGVvb3ZlcmxheS52Y3Byb2o6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9ndGt2aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9waXhidWZkcm9wL3BpeGJ1ZmRyb3AudmNwcm9qOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvc3dpdGNodmlkZW9vdmVybGF5Ly5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9zd2l0Y2h2aWRlb292ZXJsYXkvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9zd2l0Y2h2aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9zd2l0Y2h2aWRlb292ZXJsYXkvc3dpdGNodmlkZW9vdmVybGF5LnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L1JFQURNRToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvZ3N0dGhyZWFkLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvZ3N0dGhyZWFkLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9tb3VzZXZpZGVvb3ZlcmxheS5wcmk6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L21vdXNldmlkZW9vdmVybGF5LnBybzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvbW91c2V2aWRlb292ZXJsYXkuc2xuOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9tb3VzZXZpZGVvb3ZlcmxheS52Y3Byb2o6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvcGlwZWxpbmUuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvcXJlbmRlcmVyLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvcXJlbmRlcmVyLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9nc3R0aHJlYWQuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvZ3N0dGhyZWFkLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3BpcGVsaW5lLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9xZ2xyZW5kZXJlci5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9xZ2xyZW5kZXJlci5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcWdsd2lkZ2V0dmlkZW9vdmVybGF5LnByaToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3FnbHdpZGdldHZpZGVvb3ZlcmxheS5wcm86CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9xZ2x3aWRnZXR2aWRlb292ZXJsYXkuc2xuOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcWdsd2lkZ2V0dmlkZW9vdmVybGF5LnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9Bc3luY1F1ZXVlLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvUkVBRE1FOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL2NvY29hX3V0aWxzLm1tOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL2dsY29udGV4dGlkLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvZ3N0dGhyZWFkLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9nc3R0aHJlYWQuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9tb2NfZ3N0dGhyZWFkLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9tb2NfcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL21vY19xZ2xyZW5kZXJlci5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3BpcGVsaW5lLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcWdscmVuZGVyZXIuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3FnbHJlbmRlcmVyLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcWdsd3RleHR1cmVzaGFyZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9xZ2x3dGV4dHVyZXNoYXJlLnBybzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvdmlkZW9vdmVybGF5L0RlYnVnL3ZpZGVvb3ZlcmxheToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvdmlkZW9vdmVybGF5L0dlbmVyYXRlZEZpbGVzL2RlYnVnL21vY19nc3R0aHJlYWQuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC92aWRlb292ZXJsYXkvR2VuZXJhdGVkRmlsZXMvZGVidWcvbW9jX3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvdmlkZW9vdmVybGF5L0dlbmVyYXRlZEZpbGVzL2RlYnVnL21vY19xcmVuZGVyZXIuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC92aWRlb292ZXJsYXkvdmlkZW9vdmVybGF5LmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvdmlkZW9vdmVybGF5L3ZpZGVvb3ZlcmxheS5wcmk6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3ZpZGVvb3ZlcmxheS92aWRlb292ZXJsYXkuc2xuOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC92aWRlb292ZXJsYXkvdmlkZW9vdmVybGF5LnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvdmlkZW9vdmVybGF5L3ZpZGVvdmlkZW9vdmVybGF5LnBybzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL3NkbC5zbG46CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC9zZGxzaGFyZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvc2Rsc2hhcmUudmNwcm9qOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2dzdGd0ay5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zZGwvc2Rsc2hhcmUuYzoKCSAgZ2wvZXhhbXBsZXM6IG1vdmUgdG8gLWJhZAoJICAtIGZpeCBhbGwgdGhlIGNvbXBpbGVyIGVycm9ycwoJICAtIGdpdmUgdGhlbSB0aGVpciBvd24gZ2wgZGlyZWN0b3J5CgoyMDE0LTA0LTI4IDE1OjU2OjA2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZWdsLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWVnbC5wYy5pbjoKCSAgZWdsOiByZW1vdmUgcGMgZmlsZXMKCSAgRm9yZ290IHRvIGRvIHRoYXQgaW4gMDkxMTZiZjEwZDUxNWQ1MGJkZDFlOWEyMDI3OGJlODE2Y2I3NjJhYToKCSAgImVnbC9lZ2xnbGVzc2luazogcmVtb3ZlIHNpbmNlIEVHTEltYWdlIGFuZCBpT1Mgc3VwcG9ydCBoYXZlIGJlZW4gYWRkZWQgaW4gZ2xpbWFnZXNpbmsiCgoyMDE0LTA0LTI4IDE1OjUyOjQxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZ2wtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZ2wucGMuaW46CgkgIGdsOiBhcHBlbmQgR0xfTElCIGFuZCBHTF9DRkxBR1MgaW4gcGMgZmlsZXMKCjIwMTQtMDQtMjggMTU6NDc6MjcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBnbDogYXBwZW5kIEVHTF9MSUIgdG8gR0xfTElCCgoyMDE0LTA0LTI4IDE1OjE1OjIwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsOiB1c2UgZ3N0X2dsX3BsYXRmb3JtX2Zyb21fc3RyaW5nIGJlY2F1c2Ugd2Ugc3VwcG9ydCBnbCBzaGFyZUxpc3Qgb24gYWxsIHBsYXRmb3JtcwoKMjAxNC0wNC0yOCAxNTowNzozNCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IG9ubHkgd2FybiB3aGVuIG90aGVyX2NvbnRleHQgYXR0cmlidXRlIGlzIHNldAoJICBGaXggZmFsc2UgcG9zaXRpdmUKCjIwMTQtMDQtMjggMTQ6NTQ6MjEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsOiBmaXggc3RyaW5nIGxpdGVyYWwgd2FybmluZwoJICB3YXJuaW5nOiBmb3JtYXQgbm90IGEgc3RyaW5nIGxpdGVyYWwsIGFyZ3VtZW50IHR5cGVzIG5vdCBjaGVja2VkIFstV2Zvcm1hdC1ub25saXRlcmFsXQoKMjAxNC0wNC0yOCAxMDoxMjo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogVW5zZXQgcmVmZXJlciBpZiBub25lIHdhcyBzcGVjaWZpZWQgbGF0ZXIgb24KCjIwMTQtMDQtMjggMDk6MzI6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IFNldCBSZWZlcmVyIGluIHJlcXVlc3RzIHRvIHRoZSBwbGF5bGlzdCBVUkkKCjIwMTQtMDQtMjggMDk6MjM6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuaDoKCSAgdXJpZG93bmxvYWRlcjogQWRkIEFQSSB0byBzcGVjaWZ5IHRoZSByZWZlcmVyIG9mIGEgcmVxdWVzdAoKMjAxNC0wNC0yNyAyMzoyOTo0MSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IHBhcnNpbmcgb2Ygc2xpY2UgZ3JvdXBzIGZvciBtYXAgdHlwZSA9IDIuCgkgIFdoZW4gcGFyc2luZyBzbGljZSBncm91cHMgaW5mb3JtYXRpb24gZm9yIHNsaWNlX2dyb3VwX21hcF90eXBlID0gMiwgd2UKCSAgc2hvdWxkIG9ubHkgYmUgcmVhZGluZyB1cCB0byBudW1fc2xpY2VfZ3JvdXBzX21pbnVzMSBncm91cHMgc2luY2UgdGhlcmUKCSAgaXMgYWx3YXlzIGEgImxlZnRvdmVyIiBzbGljZSBncm91cCBhbmQgYXMgbWFueSAiZm9yZWdyb3VuZCIgc2xpY2UgZ3JvdXBzCgkgIGFzIG5lZWRlZC4KCSAgVGhpcyBmaXhlcyBwYXJzaW5nIGZvciBTVkNCTVQtNSBhbmQgU1ZDQk1ULTEyIHdoZXJlYnkgdGhlIGJhc2UgbGF5ZXIgd291bGQKCSAgaGF2ZSBpbmNvcnJlY3RseSBiZWVuIHBhcnNlZCB0byBoYXZlIHVwIHRvIDM4IHJlZmVyZW5jZSBmcmFtZXMgaW4gbGlzdDAsCgkgIHdoaWNoIGlzIG5vdCBwb3NzaWJsZS4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wNC0yNyAwOToyNTo1MCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBkZWNrbGluazogRG9uJ3QgZmFpbCBpZiBIVyBkb2VzIG5vdCBoYXZlIGFsbCBpbnRlcmZhY2VzCgkgIFRoaXMgcGF0Y2ggY29tcGxldGVzIDFjMWNjNzNhM2IyMzA0NTQ2NjM5NzE2NTY1MTUyOTdmOWVlOGJkOWYuIFRoZXNlCgkgIGNoYW5nZXMgd2hlcmUgYWNjaWRlbnRhbGx5IHB1c2hlZCBhcyBhIHNlcGFyYXRlIHBhdGNoIHdpdGggd3JvbmcgY29tbWl0CgkgIG1lc3NhZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjczCgoyMDE0LTA0LTI3IDEzOjA5OjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgUmV2ZXJ0ICJ5NG1kZWM6IGNoZWNrIGZvciBWSURFTyBtZXRhIGluc3RlYWQgb2YgQ1JPUCBtZXRhIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDY4MzA5YmQyMTU5MmE5NmRjODI0MTcwMmYxN2RlZDRlNWY1NDVmMzMuCgkgIENvbW1pdCBtZXNzYWdlIGFuZCBmaWxlcyBjaGFuZ2VkIGRvIG5vdCBtYXRjaC4KCjIwMTQtMDQtMjcgMDA6MzY6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFkZWMuYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0c2ltcGxldmlkZW9tYXJrLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3RzaW1wbGV2aWRlb21hcmtkZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJICBkb2NzOiByZW1vdmUgb3V0ZGF0ZWQgYW5kIHBvaW50bGVzcyAnTGFzdCByZXZpZXdlZCcgbGluZXMgZnJvbSBkb2NzCgkgIFRoZXkgYXJlIHZlcnkgY29uZnVzaW5nIGZvciBwZW9wbGUsIGFuZCBtb3JlIG9mdGVuIHRoYW4gbm90CgkgIGFsc28ganVzdCBub3QgdmVyeSBhY2N1cmF0ZS4gU2VlaW5nICdsYXN0IHJldmlld2VkOiAyMDA1JyBpbgoJICB5b3VyIGRvY3MgaXMgbm90IHZlcnkgY29uZmlkZW5jZS1pbnNwaXJpbmcuIExldCdzIGp1c3QgcmVtb3ZlCgkgIHRob3NlIGNvbW1lbnRzLgoKMjAxNC0wNC0yNiAwODowODo1NyArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IGRlcml2YXRpb24gb2YgZGVmYXVsdCBzY2FsaW5nIGxpc3RzLgoJICBXaGVuIHVzZURlZmF1bHRTY2FsaW5nTWF0cml4RmxhZyBpcyBjb21wdXRlZCB0byBiZSAxIHdoaWxlIHBhcnNpbmcKCSAgc2NhbGluZ19saXN0KCksIHRoZW4gdGhlIHNjYWxpbmcgbGlzdCBzaGFsbCBiZSBpbmZlcnJlZCB0byBiZSBlcXVhbAoJICB0byB0aGUgZGVmYXVsdCBsaXN0ICg3LjQuMi4xLjEuMSkuIFRoYXQgZGVmYXVsdCBsaXN0IGlzIHJlYWxseSBvbmUKCSAgb2YgRGVmYXVsdF80eDRfe0ludHJhLEludGVyfSBvciBEZWZhdWx0Xzh4OF97SW50cmEsSW50ZXJ9IGFuZCBub3QKCSAgb25lIGZyb20gZmFsbC1iYWNrIHJ1bGUgc2V0cyBBIG9yIEIuCgkgIFRoaXMgZml4ZXMgcGFyc2luZyBmb3IgRlJFeHQxX1BhbmFzb25pY19ELCBGUkV4dDJfUGFuYXNvbmljX0MsCgkgIEZSRXh0M19QYW5hc29uaWNfRSBhbmQgRlJFeHQ0X1BhbmFzb25pY19CLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0NTE4CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDQtMTYgMDE6NTA6MTYgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmaWxlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsaHR0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmx0bHNzaW5rLmM6CgkgIGN1cmwqc2luazogcmVwb3J0IGVycm9ycyBmcm9tIGN1cmwgd2hlbiBzZXR0aW5nIG9wdGlvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODk2MAoKMjAxNC0wNC0xNSAyMzo1MzozMiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmxmaWxlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsaHR0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJICBjdXJsKnNpbms6IHBvc3QgZXJyb3Igb24gYnVzIGluIGVsZW1lbnQsIG5vdCB0cmFuc2ZlciB0aHJlYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODk2MAoKMjAxNC0wNC0yMiAyMjoyNjozMiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsaHR0cHNpbmsuYzoKCSAgY3VybGh0dHBzaW5rOiBhbGxvdyBmb3IgdW5jb25kaXRpb25hbGx5IGRpc2FibGluZyBwcm94eWluZwoJICBQcmV2aW91c2x5IGlmIHRoZSBwcm94eSBzZXJ2ZXIgaG9zdG5hbWUgd2FzIHRoZSBlbXB0eSBzdHJpbmcKCSAgY3VybGh0dHBzaW5rIHdvdWxkIG5ldmVyIGV2ZW4gc2V0IHRoZSBsaWJjdXJsIG9wdGlvbi4gRm9yIGxpYmN1cmwKCSAgaG93ZXZlciwgaGF2aW5nIGEgcHJveHkgc2VydmVyIGhvc3RuYW1lIGJlIHRoZSBlbXB0eSBzdHJpbmcgbWVhbnMgdGhhdAoJICBwcm94eWluZyBzaG91bGQgYmUgZGlzYWJsZWQgZXZlbiBpZiBlbnZpcm9ubWVudCB2YXJpYWJsZXMgbWlnaHQgYmUgc2V0LgoJICBOb3cgd2l0aCB0aGUgcmVzdHJpY3Rpb24gbGlmdGVkLCBkb2luZyB0aGlzIGlzIGFsbG93ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg5NjAKCjIwMTQtMDQtMjIgMjI6MjY6NTYgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybGZpbGVzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxmdHBzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxodHRwc2luay5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsc2Z0cHNpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybHNtdHBzaW5rLmM6CgkgIGN1cmwqc2luazogaW1wcm92ZSByZXR1cm4gdmFsdWUgY2hlY2tzIGluIHRlc3QgY2FzZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODk2MAoKMjAxNC0wNC0yMiAyMjoyNjoxMiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHRsc3NpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybGZpbGVzaW5rLmM6CgkgIGN1cmwqc2luazogZml4IHR5cG9zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg5NjAKCjIwMTQtMDQtMTYgMDE6NTA6MDMgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsZmlsZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybHNmdHBzaW5rLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc3Noc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsdGxzc2luay5jOgoJICBjdXJsKnNpbms6IGZpeCBzb21lIGdzdC1pbmRlbnQgcHJvYmxlbXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODk2MAoKMjAxNC0wNC0yNSAxNjoxODowNyAtMDQwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2w6IGNoZWNrIHRoZSBjb3JyZWN0IEdzdEdMTWVtb3J5IGluIGJhc2ljX3Rlc3QKCjIwMTQtMDQtMjUgMTc6NDA6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IE9ubHkgcmVxdWlyZSBhbGlnbm1lbnQgYW5kIHN0cmVhbS1mb3JtYXQgZm9yIGgyNjQsIHBhcnNlZCBpcyBpbXBsaWNpdAoKMjAxNC0wNC0yNSAxNDo0MToyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogU2V0IHNvdXJjZSBzdGF0ZSB0byBOVUxMIGlmIGRvd25sb2FkaW5nIGZhaWxlZCBmb3Igd2hhdGV2ZXIgcmVhc29uCgoyMDE0LTA0LTI0IDEzOjU5OjM1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbC94MTE6IFJlbW92ZWQgdW51c2VkIHZhcmlhYmxlCgoyMDE0LTA0LTI0IDE4OjMzOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSAgZ2wveDExOiBHZXQgcmlkIG9mIHVubmVlZGVkIHNlY29uZCBkaXNwbGF5IGNvbm5lY3Rpb24gYW5kIGRvIGV2ZXJ5dGhpbmcgZnJvbSB0aGUgbWFpbiBsb29wCgoyMDE0LTA0LTI0IDE4OjI4OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2wveDExOiBCbG9jayByZW5kZXJpbmcgdW50aWwgc3dhcGJ1ZmZlcnMgaXMgY2FsbGVkIGFuZCBkb24ndCBnbyB2aWEgWDExIGV2ZW50cyBhcyB1bm5lZWRlZCBpbmRpcmVjdGlvbgoJICBUaGlzIHNob3VsZCBmaXggUW9TIHByb2JsZW1zLCB3aGVyZSBiYXNlc2luayBiZWxpZXZlZCBpdCB3YXMgcmVuZGVyaW5nIHdpdGgKCSAgMjBGUFMgYnV0IGFjdHVhbGx5IHdlIHdlcmUganVzdCBxdWV1ZWluZyB1cCBYMTEgRXhwb3NlIGV2ZW50cyBhbmQgb25seSBvbmNlCgkgIGluIGEgd2hpbGUgc29tZXRoaW5nIHdhcyByZW5kZXJlZC4KCjIwMTQtMDQtMjQgMTY6MDU6MzIgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsOiBmYWlscyBnbGltYWdlc2luayB3aGVuIHNoYWRlciBjb21waWxhdGlvbiB3ZW50IHdyb25nCgkgIFRob3NlIHNoYWRlcnMgYXJlIGZpeGVkIGFuZCB2ZXJ5IHNpbXBsZSBzbyBpdCBzaG91bGQgbm90IGZhaWwKCSAgYnV0IGl0J3Mgd29ydGggdG8gaGFuZGxlIGEgc3VjaCBjYXNlLgoKMjAxNC0wNC0yNCAxNTozNjo0NyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2w6IGNhbGwgZ2xDbGVhckNvbG9yIGJlZm9yZSBnbENsZWFyCgoyMDE0LTA0LTI0IDE2OjMzOjU2ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWdsLXVuaW5zdGFsbGVkLnBjLmluOgoJICBwa2djb25maWc6IGZpeCBnc3RyZWFtZXItZ2wgdW5pbnN0YWxsZWQKCSAgRW5zdXJlIHRvIHByb3ZpZGUgbGliZ3N0Z2wgYWxzbyBpbiB0aGUgdW5pbnN0YWxsZWQgc2V0dXAuCgkgIEZpeGVzIGJ1aWxkIG9mIGdzdC1vbXggZm9yIFJQSSBpbiB1bmluc3RhbGxlZCBzZXR1cC4KCjIwMTQtMDQtMjQgMTU6MTc6NDEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5jOgoJICBnbC9ycGk6IGRvIG5vdCBzY2FsZSB0byBmdWxsIHNjcmVlbgoJICBIYXZpbmcgYSA2NDB4MzYwIG1vdmllIGJlaW5nIHNjYWxlZCB0byAxOTAweDEyMDAgZG9lcyBub3QgbG9vayBuaWNlCgoyMDE0LTA0LTI0IDE0OjUwOjU3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuYzoKCSAgZ2wvcnBpOiBjaGFuZ2UgZGlzcG1hbnggYXR0cmlidXRlcyBvZiBleGlzdGluZyBlbGVtZW50IGluc3RlYWQgb2YgY3JlYXRpbmcgYSBuZXcgb25lCgkgIEkgd2FzIGx1Y2t5IHRoYXQ6CgkgIGUxID0gdmNfZGlzcG1hbnhfZWxlbWVudF9hZGQgKCkKCSAgZWdsQ3JlYXRlV2luZG93U3VyZmFjZSAoZTEpCgkgIHZjX2Rpc3BtYW54X2VsZW1lbnRfcmVtb3ZlIChlMSkKCSAgZTIgPSB2Y19kaXNwbWFueF9lbGVtZW50X2FkZCAoKQoJICByZXN1bHRlZCBpbiBoYXZpbmcgZTIgZXF1YWwgdG8gZTEuIEFuZCBhbHNvIGhhdmluZyB0aGUgZWdsIHN1cmZhY2UKCSAgdGhhdCBkb2VzIG5vdCBhbGxvY2F0ZSBpdHMgYnVmZmVycyBiZWZvcmUgdGhlIGZpcnN0IGRyYXcuCgoyMDE0LTA0LTI0IDE0OjM4OjQwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuYzoKCSAgZ2wvcnBpOiBlbnN1cmUgdGhlIGRpc3BtYW54IGVsZW1lbnQgdG8gYmUgb3BhcXVlCgkgIFNvIHRoYXQgd2UgZW5zdXJlIGl0IGRvZXMgbm90IGdldCBhbHBoYSBjb21wb3NpdGVkIHdpdGggb3RoZXIKCSAgZGlzcG1hbnggZWxlbWVudHMgbGlrZSB0aGUgZGVza3RvcC4KCjIwMTQtMDQtMTggMjA6MDQ6MjUgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXZmYXNzZXRzcmM6IGRvd25ncmFkZSByYW5rIHRvIFNFQ09OREFSWSBpbiBPUyBYCgoyMDE0LTA0LTE4IDIwOjAzOjQ4ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmYXNzZXRzcmMubToKCSAgYXZmYXNzZXRzcmM6IHJlbmFtZSByZWZlcmVuY2VzIHRvIGlPUwoKMjAxNC0wNC0xNCAxOTowODowMSArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZhc3NldHNyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZhc3NldHNyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9pb3NhdmFzc2V0c3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2lvc2F2YXNzZXRzcmMubToKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGlvc2F2YXNzZXRzcmM6IHJlbmFtZSBlbGVtZW50IHRvIGF2ZmFzc2V0c3JjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgyNDkKCjIwMTQtMDQtMDMgMTQ6MDI6MTggKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvaW9zYXNzZXRzcmMubToKCSogc3lzL2FwcGxlbWVkaWEvaW9zYXZhc3NldHNyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9pb3NhdmFzc2V0c3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBpb3NhdmFzc2V0c3JjOiBQb3J0IHRvIDEuMAoJICBBbHNvIGVuYWJsZXMgdGhpcyBlbGVtZW50IG9uIE9TWCA+PSAxMC43LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MjQ5CgoyMDEzLTA1LTExIDAzOjQxOjM2ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2lvc2F2YXNzZXRzcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvaW9zYXZhc3NldHNyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYTogYWRkIG5ldyBzb3VyY2UvZGVjb2RlciBlbGVtZW50IGZvciBpT1MgYXNzZXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgyNDkKCjIwMTQtMDQtMDkgMTA6NTU6MDMgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIGNvcmVtZWRpYWJ1ZmZlcjogaGFuZGxlIHN0cmlkZSBhbGlnbm1lbnQKCSAgSGFuZGxlIHN0cmlkZSBhbGlnbm1lbnQgdGhyb3VnaCB0aGUgdXNlIG9mIHRoZSB2aWRlbyBtZXRhIEFQSS4gVGhlCgkgIGNvZGUgaXMgYmFzZWQgb24gdGhlIGNvcmV2aWRlb2J1ZmZlciBpbXBsZW1lbnRhdGlvbi4KCSAgSWYgdGhlIHZpZGVvIG1ldGEgQVBJIGlzIG5vdCBzdXBwb3J0ZWQgYW5kIHRoZSB1bmRlcmx5aW5nIGJ1ZmZlcgoJICBjb250YWlucyBwYWRkaW5nLCB0aGUgY29yZSBtZWRpYSBidWZmZXIgaXMgY29waWVkIHRvIGEgc3lzdGVtIG1lbW9yeQoJICBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc4ODUKCjIwMTQtMDQtMDkgMTE6NDc6MTIgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogY2hlY2sgaWYgZG93bnN0cmVhbSBzdXBwb3J0cyB0aGUgdmlkZW8gbWV0YSBBUEkKCSAgQ2hlY2sgaWYgZG93bnN0cmVhbSBzdXBwb3J0cyB0aGUgdmlkZW8gbWV0YSBBUEksIHNvIHdlIGNhbiB1c2UgaXQgbGF0ZXIKCSAgd2l0aCB0aGUgY29yZSBtZWRpYSBidWZmZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3OTUzCgoyMDE0LTA0LTI0IDEwOjM3OjAwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogcGFzcyBhIE5TVmlldyB0byBzZXRfd2luZG93X2hhbmRsZSBpbnN0ZWFkIG9mIGEgTlNXaW5kb3cKCSAgRml4IGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0NTEKCjIwMTQtMDQtMjQgMDk6MDM6MzIgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBvbmx5IGRyYXcgb25jZSB0aGUgd2luZG93IGhhcyBiZWVuIHJlc2l6ZWQKCSAgSXQgYXZvaWRzIHRvIGRyYXcgdGhlIGZpcnN0IGZyYW1lIHdpdGggYW4gaW5jb3JyZWN0IHZpZXcgcG9ydC4KCjIwMTQtMDQtMjQgMDg6NDk6NTQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJICBnbC9jb2NvYTogc2V0IHRoZSB2aWV3IHRvIHVzZSBmb3IgZHJhd2luZyBieSB0aGUgY29udGV4dAoJICBJdCBhdm9pZHMgdG8gZHJhdyB0byBhbiBpbnZhbGlkIGJ1ZmZlci4KCSAgV2l0aHRvdXQgdGhpcyB0aGUgZGVmYXVsdCBmcmFtZSBidWZmZXIgaXMgdW5kZWZpbmVkOgoJICBnbEJpbmRGcmFtZWJ1ZmZlciAoR0xfRlJBTUVCVUZGRVIsIDApCgkgIFZpc3VhbGx5IHlvdSBjb3VsZCBzZWUgc29tZSB3aGl0ZSBmcmFtZXMgYXQgdGhlIGJlZ2lubmluZwoJICB3aGVuIGx1bmNoaW5nIHZpZGVvdGVzdHNyYyAhIGdsaW1hZ2VzaW5rCgkgIFdpdGggT3BlbkdMIFByb2ZpbGVyIGZyb20gWENvZGUgeW91IGNvdWxkIHNlZSBzb21lCgkgIEdMX0lOVkFMSURfRlJBTUVCVUZGRVJfT1BFUkFUSU9OIGZvciB0aGUgZmlyc3QgZnJhbWVzCgoyMDE0LTA0LTIzIDE0OjQxOjIxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbDogZml4IGRlY2xhcmF0aW9uLWRlZmluaXRpb24gbWlzbWF0Y2ggZm9yIF9pbml0X3VwbG9hZAoKMjAxNC0wNC0yMyAxMzozNDoxMiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkgIGdsL2J1ZmZlcnBvb2w6IGRvIG5vdCByZXNldCB1cGxvYWQgd2hlbiBzZXRfY29uZmlnIGRvZXMgbm90IGNoYW5nZSB0aGUgY2FwcwoJICBXaXRoIHZpZGVvdGVzdHNyYyAhIGdsaW1hZ2VzaW5rIGl0IHdhcyByZXNldCAzIHRpbWVzCgoyMDE0LTA0LTIzIDEzOjMwOjI3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBnbDogdXNlICNpZmRlZiBpbnN0ZWFkIG9mICNpZiBmb3IgX19BUFBMRV9fCgkgIHdhcm5pbmc6ICJfX0FQUExFX18iIGlzIG5vdCBkZWZpbmVkIFstV3VuZGVmXQoJICB3aXRoIGdjYyB2ZXJzaW9uIDQuNy4yIDIwMTIwNzMxIChwcmVyZWxlYXNlKQoJICAoY3Jvc3N0b29sLU5HIGxpbmFyby0xLjEzLjErYnpyMjQ1OCAtIExpbmFybyBHQ0MgMjAxMi4wOCkKCjIwMTQtMDQtMjMgMTI6NDI6MzIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogVXNlciBnX3NsaWNlX25ldzAgdG8gZW5zdXJlIGZ1bGx5IGluaXRpbGl6ZWQgc3RydWN0dXJlCgkgIFRoZSBwYm8gcG9pbnRlciBub3QgYmVpbmcgaW5pdGlhbGl6ZWQgd291bGQgdHJpZ2dlciBhIHVzZSBvZiB1bml0aWxpYWxpemVkIHZhcmlhYmxlCgkgIGluIHZhbGdyaW5kLgoKMjAxNC0wMy0yOSAxODozNDoyNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBGaXggc3VwcG9ydCBmb3IgSFcgd2l0aG91dCBvdXRwdXQKCSAgRGV2aWNlcyBzdWl0YWJsZSBmb3IgZGVja2xpbmtzcmMgbWF5IG5vdCBoYXZlIGFueSBvdXRwdXQsIGhlbmNlIHF1ZXJ5aW5nCgkgIHRoZSBpbnB1dCByZXR1cm5zIE5VTEwuIEFkZCBzdXBwb3J0IGZvciBhbGwgY2FzZXMgd2hlcmUKCSAgaW5wdXQvb3V0cHV0L2NvbmZpZyBtYXkgYmUgbWlzc2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzMwNgoKMjAxNC0wMy0xNSAxNToxNzo0MyArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgeTRtZGVjOiBjaGVjayBmb3IgVklERU8gbWV0YSBpbnN0ZWFkIG9mIENST1AgbWV0YQoJICBUaGlzIGVsZW1lbnQgb25seSBuZWVkIHN0cmlkZSBzdXBwb3J0LCBidXQgY2hlY2tzIGZvciBDUk9QX01FVEEsIHdoaWNoCgkgIGlzIGEgYml0IHRvbyBtdWNoLCBldmVuIHRob3VnaCB0aGlzIHdvcmtzIGFzIENST1AgaW1wbHkgaGF2aW5nIFZJREVPCgkgIG1ldGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjYyNTUKCjIwMTQtMDQtMjMgMTE6MTA6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IFVzZSB0aGUgcGl4ZWwtYXNwZWN0LXJhdGlvIGFkanVzdGVkIHdpZHRoL2hlaWdodCB3aGVuIGNlbnRlcmluZyB0aGUgZnJhbWUgaW4gdGhlIGRpc3BsYXkgYXJlYQoJICBNYWtlcyBzdXJlIHdlIGFjdHVhbGx5IGtlZXAgdGhlIGRpc3BsYXkgYXNwZWN0IHJhdGlvCgoyMDE0LTA0LTIzIDEwOjU1OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBCeSBkZWZhdWx0IGtlZXAgdGhlIGRpc3BsYXkgYXNwZWN0IHJhdGlvCgkgIEFsc28gdGhlIGRlZmF1bHQgZm9yIHRoZSBwaXhlbC1hc3BlY3QtcmF0aW8gc2hvdWxkIGJlIDEvMSwgbm90IDAvMS4KCjIwMTQtMDQtMjMgMTA6NDI6NDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IEZsdXNoIHByb2dyYW0gZW5kIGNvZGUgYnl0ZXMKCSAgVGhpcyBzaG91bGQgbm90IGhhcm0gcmVndWxhciBmaWxlcywgc2luY2UgdGhvc2UgYXJlIHRoZSBsYXN0IDQgYnl0ZXMgb2YKCSAgYSBub3JtYWwgZmlsZS4KCSAgVGhpcyBhbGxvd3MgdG8gaGFuZGxlIHBsYXliYWNrIG9mIGNvbmNhdGVuYXRlZCBtcGVnLXBzIGZpbGVzLiBTZWVraW5nIGFuZAoJICBkdXJhdGlvbiByZXBvcnRpbmcgaXMgc3RpbGwgd3JvbmcgdGhvdWdoLgoKMjAxNC0wNC0yMyAxMDoyNzoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgZ2x0ZXN0c3JjOiBVbnJlZiBjb250ZXh0IHdoZW4gY3JlYXRpb24gZmFpbGVkIGFuZCBndWFyZCBhZ2FpbnN0IHRoYXQgaW4gZmlsbCgpCgoyMDE0LTA0LTIzIDEwOjI0OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBDYWxsIGdzdF9vYmplY3RfdW5yZWYoKSBvbiB0aGUgR3N0R0wgR09iamVjdHMgYWdhaW4KCSAgV2hpbGUgdGhleSdyZSBwbGFpbiBHT2JqZWN0cyBpdCBkb2VzIG5vdCBodXJ0IHRvIGNhbGwgZ3N0X29iamVjdF91bnJlZigpCgkgIG9uIHRoZW0gYW5kIHBvdGVudGlhbGx5IGFsbG93cyB0byBkZWJ1ZyByZWZlcmVuY2UgbGVha3MgYSBiaXQgZWFzaWVyLgoKMjAxNC0wNC0yMyAxMDowMDo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogSWYgY3JlYXRpbmcgYSBjb250ZXh0IG9yIHVwbG9hZCBmYWlsZWQsIGRlc3Ryb3kgaXQKCSAgRml4ZXMgZGVhZGxvY2tzIGluIGVycm9yIGNhc2VzIHdoZW4gbGF0ZXIgY29kZSBhc3N1bWVzIHRoZSBicm9rZW4KCSAgY29udGV4dCBpcyBhY3R1YWxseSB1c2FibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg3NjEKCjIwMTQtMDQtMjIgMTI6NTY6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBSZW1vdmUgZGVhZCBjb2RlIGFuZCBzaW1wbGlmeSBpZiBzdGF0ZW1lbnQKCSAgQ0lEIDEyMDQyNzQKCjIwMTQtMDQtMjEgMTM6MTU6MzQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkgIG14ZjogZml4IE1QMiBjYXNlCgkgIFRlc3RpbmcgbXBlZ3ZlcnNpb24gd2hlbiBtcGVnYXVkaW92ZXJzaW9uIHdhcyBsaWtlbHkgbWVhbnQuCgkgIFNpbWlsYXIgdGVzdHMgaW4gc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jIGFsc28gdGVzdAoJICBtcGVnYXVkaW92ZXJzaW9uIHdpdGggdGhlIHNhbWUgY29uZGl0aW9uYWwgY29kZS4KCSAgQ292ZXJpdHkgMjA2MDcxCgoyMDE0LTA0LTIxIDEwOjM2OjU1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IGd1YXJkIGFnYWluc3QgZGl2aWRpbmcgYnkgemVybwoJICBJZiBmcmFtZXJhdGUgaXMgdW5rbm93biwgd2Ugd3JpdGUgdGhlIG1heGltdW0gZnJhbWVyYXRlCgkgIGFsbG93ZWQgZm9yIHRoaXMgcHJvZmlsZS9sZXZlbDoKCSAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL2RyYWZ0LWlldGYtYXZ0LXJ0cC12YzEtMDYjc2VjdGlvbi02LjEKCSAgaHR0cDovL3dpa2kubXVsdGltZWRpYS5jeC9pbmRleC5waHA/dGl0bGU9VkMtMSNTZXR1cF9EYXRhXy4yRl9TZXF1ZW5jZV9MYXllcgoJICBDb3Zlcml0eSAxMTM5Njk0CgoyMDE0LTA0LTIxIDEwOjA3OjA2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogZ3VhcmQgYWdhaW5zdCBkaXZpZGluZyBieSAwCgkgIFVzZSBhIHBsYWNlaG9sZGVyIHZhbHVlIGluIHRoYXQgY2FzZSwgaXQncyBiZXR0ZXIgdGhhbiBjcmFzaGluZy4KCSAgQ292ZXJpdHkgMTEzOTY5NwoKMjAxNC0wNC0yMSAwOTo1MToxOSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2w6IGEgY291cGxlIHNwZWxsaW5nL2dyYW1tYXIgZml4ZXMKCjIwMTQtMDQtMjEgMDk6NTA6MTkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsOiBndWFyZCBhZ2FpbnN0IHVzaW5nIGEgTlVMTCB3aW5kb3cgcG9pbnRlcgoJICBDb3Zlcml0eSAxMTk1MTQ1CgoyMDE0LTA0LTIxIDA5OjQ3OjA4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbDogcHJldmVudCBkaXZpc2lvbiBieSAwIG9uIHVuc3VwcG9ydGVkIHRleHR1cmUgdHlwZQoJICBDb3Zlcml0eSAxMTk5Njk3CgoyMDE0LTA0LTIxIDIyOjAxOjQ3ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogRml4IGJ0NzA5IGNvbnZlcnNpb24gbWF0cmljZXMuCgkgIEZpeCB0aGUgc2lnbiBvbiBvbmUgZW50cnkgaW4gdGhlIGJ0LjcwOSBZVVYtPlJHQiBjb252ZXJzaW9uCgkgIG1hdHJpeCwgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGludmVyc2UgbWF0cml4LiBGaXhlcyByZWFsbHkKCSAgd3JvbmcgY29sb3VyaW5nIG9mIHNvbWUgdmlkZW9zLgoKMjAxNC0wNC0xNyAwOTo1ODo0NyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiYmFzZWJpbjogZml4IHRlc3QgZm9yIHByb3BlciB1c2UgY291bnQgYmFsYW5jaW5nCgkgIHVzZWNvdW50IGlzIHVuc2lnbmVkLCBzbyB0b28gbWFueSAidW51c2UiIHdpbGwgd3JhcCB0aGUgY291bnRlcgoJICBhcm91bmQgYW5kIHRoZSA+PSAwIGNoZWNrIHdpbGwgYWx3YXlzIGJlIGZpbmUuCgkgIEl0IHdvdWxkIGJlIG11Y2ggc2ltcGxlciB0byBqdXN0IG1ha2UgdGhlIGNvdW50ZXIgc2lnbmVkLCBidXQKCSAgbW92aW5nIHRoZSBjaGVja3Mgd2hlcmUgdGhlIGRlY3JlbWVudHMgaGFwcGVuIGFsbG93IGEgbWlzdGFrZQoJICB0byBiZSBkZXRlY3RlZCBlYXJsaWVyLCBhbmQgdGh1cyBlYXNpZXIgdG8gZGVidWcuCgkgIENvdmVyaXR5IDExMzk3OTEKCjIwMTQtMDQtMTcgMDk6MzU6MzcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogZ3VhcmQgYWdhaW5zdCBOVUxMIG5vbiBzb3VyY2UgY29tcG9uZW50cwoJICBUaGlzIGNvbXBvbmVudCBpcyBkZXJlZmVyZW5jZWQsIGFuZCBsYXRlciBjb2RlIGNoZWNraW5nIGZvcgoJICBOVUxMIGluIHBhcnRpY3VsYXIgY2FzZXMgaW1wbGllcyBpdCBjYW4gYmUgTlVMTC4gVGhpcyBsaWtlbHkKCSAgZG9lcyBub3QgZml4IHRoZSBjb3Zlcml0eSB3YXJuaW5nIGFzIGl0IHdhcyBzZWVpbmcgYW5vdGhlcgoJICBwYXRoIHNldHRpbmcgY29tcG9uZW50IHRvIE5VTEwgZXhwbGljaXRlbHksIGJ1dCB0aGlzIHdhcwoJICBzcG90dGVkIGJ5IGxvb2tpbmcgYXQ6CgkgIENvdmVyaXR5IDExMzk3MzYKCSAgV2hpY2ggaXMgYWN0dWFsbHkgT0sgZnJvbSB3aGF0IEkgY2FuIHNlZSBzaW5jZSB0aGUgYWN0dWFsCgkgIGRlcmVmZXJlbmNlIG9mIHRoZSBleHBsaWNpdCBOVUxMIHBvaW50ZXIgd2lsbCBub3QgaGFwcGVuCgkgIGlmIHRoZSBjb25kaXRpb24gdGhhdCBsZWQgdG8gdGhlIE5VTEwgcG9pbnRlciBhc3NpZ25tZW50CgkgIGlzIG1ldCwgc2luY2UgdGhlIGFzc2lnbm1lbnQgYW5kIGRlZmVmZXJlbmNlIGhhdmUgbXV0dWFsbHkKCSAgZXhjbHVzaXZlIHRlc3RzLgoKMjAxNC0wNC0xNyAwOToyNjoyMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJICByYXdwYXJzZTogY2F0Y2ggZXJyb3JzIGluIGNhcHMgbWFuaXB1bGF0aW9uCgkgIENvdmVyaXR5IDExMzk2MjIKCjIwMTQtMDQtMTggMjA6MTI6MzcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogZml4IGNvbXBsaWVyIGVycm9yIHVzaW5nIGZpeGVkIGxlbmdodCBhcnJheXMKCjIwMTQtMDQtMTggMTg6MTI6MzYgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuaDoKCSAgaXZmcGFyc2U6IGRldGVjdCBhbmQgcHJvcGFnYXRlIHJlc29sdXRpb24gY2hhbmdlcy4KCSAgRGV0ZWN0IHJlc29sdXRpb24gY2hhbmdlcyBvbiBrZXkgZnJhbWVzLCBhbmQgcHJvcGFnYXRlIHRoZSByZXN1bHRpbmcKCSAgY2FwcyB0byB0aGUgc3JjIHBhZC4gT25seSB0aGUgdW5jb21wcmVzc2VkIGRhdGEgY2h1bmsgaXMgZGVjb2RlZCwgc28KCSAgYXZvaWQgdXNpbmcgdGhlIG5ldyBWUDggYml0c3RyZWFtIHBhcnNpbmcgbGlicmFyeSBmb3Igbm93LgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTA0LTE4IDE3OjM0OjA4ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmg6CgkgIGl2ZnBhcnNlOiBhdm9pZCBwb3NzaWJsZSBkaXZpc2lvbi1ieS16ZXJvIHdoZW4gY2FsY3VsYXRpbmcgUFRTLgoJICBBdm9pZCBwb3NzaWJsZSBkaXZpc2lvbi1ieS16ZXJvIHdoaWxlIGRlcml2aW5nIHRoZSBwcmVzZW50YXRpb24gdGltZXN0YW1wCgkgIG9mIHRoZSBidWZmZXIuIFRoZSBiYXNlIGNsYXNzIHdpbGwgdGFrZSBjYXJlIG9mIGFueSBpbnRlcnBvbGF0aW9uIG5lZWRzLgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTEwLTI1IDA3OjM4OjUzICswODAwICBIYWxsZXkgWmhhbyA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBpdmZwYXJzZTogZW5hYmxlIGJ1aWxkLgoJICBEcm9wIGBpdmZwYXJzZScgZWxlbWVudCBmcm9tIHRoZSBub24tcG9ydGVkIHNldCBvZiBwbHVnaW5zIGluIGNvbmZpZ3VyZS4KCjIwMTQtMDMtMDQgMTU6NDY6NTggKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuaDoKCSAgaXZmcGFyc2U6IHBvcnQgdG8gYmFzZXBhcnNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwODU1CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDEtMjQgMDg6Mzc6MTYgKzA4MDAgIFpoYW8sIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL3ZwOHBhcnNlci10ZXN0LmM6CgkgIHRlc3RzOiBhZGQgc3RhbmRhbG9uZSBwcm9ncmFtIGZvciBWUDggcGFyc2VyLgoJICBBZGQgc3RhbmRhbG9uZSB0ZXN0IGFwcGxpY2F0aW9uIHRoYXQgZGVtb25zdHJhdGVzIGhvdyB0byB1c2UgdGhlIG5ldwoJICBWUDggYml0c3RyZWFtIHBhcnNpbmcgbGlicmFyeSwgd2hpbGUgYWxzbyBhbGxvd2luZyBzaW1wbGUgZGVidWdnaW5nLwoJICB0cmFjaW5nIG9mIElWRiBmaWxlcy4KCSAgW2NsZWFuLXVwcywgdXBkYXRlZCB0byBuZXcgcGFyc2VyIEFQSV0KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wMS0wOCAwMjo0OTowMCArMDgwMCAgWmhhbywgSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svbGlicy92cDhwYXJzZXIuYzoKCSAgdGVzdHM6IGFkZCB0ZXN0IGZvciBWUDggYml0c3RyZWFtIHBhcnNpbmcgbGlicmFyeS4KCSAgW3VwZGF0ZWQgdG8gbmV3IHBhcnNlciBBUEldCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDQtMDkgMDk6MjI6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJICBjb2RlY3BhcnNlcnM6IHZwODogcmVuYW1lIGRib29saHVmZiBzeW1ib2xzLgoJICBSZW5hbWUgVlA4IGRib29saHVmZiBzeW1ib2xzIHNvIHRoYXQgdG8gYXZvaWQgY2xhc2hlcyB3aXRoIGxpYnZweCB3aGVuCgkgIHN0YXRpYyBsaW5raW5nLgoKMjAxNC0wNC0wOCAxMDozMDowOSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9kYm9vbGh1ZmYuQVVUSE9SUzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9kYm9vbGh1ZmYuTElDRU5TRToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9kYm9vbGh1ZmYuUEFURU5UUzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9kYm9vbGh1ZmYuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9kYm9vbGh1ZmYuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2cDhyYW5nZWRlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy92cDh1dGlscy5jOgoJICBjb2RlY3BhcnNlcnM6IHZwODogYWRkIEdTdHJlYW1lciBuYXRpdmUgdXRpbGl0aWVzLgoJICBJbXBvcnQgbGlidnB4IDEuMy4wIHJhbmdlIGRlY29kZXIgZmlsZXMgKGRib29saHVmZi5bY2hdKSB0byBpbXBsZW1lbnQKCSAgdGhlIFZQOCB1dGlsaXRpZXMgbmF0aXZlIGludGVyZmFjZS4gTGlrZXdpc2UsIGNvcHkgYW5kIHVzZSB0aGUgZGVmYXVsdAoJICBsaWJ2cHggZ2VuZXJhdGVkIGVudHJvcHkgcHJvYmFiaWxpdGllcyB0YWJsZXMuCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDEtMDggMDI6NDk6MDAgKzA4MDAgIFpoYW8sIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2cDhwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2cDhwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2cDhyYW5nZWRlY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy92cDh1dGlscy5oOgoJICBjb2RlY3BhcnNlcnM6IGFkZCBWUDggYml0c3RyZWFtIHBhcnNlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjc2MAoJICBbcmVmYWN0b3JlZCwgYW1vbmcgb3RoZXIgZml4ZXNdCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDQtMTggMTY6MjM6NDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBJbXByb3ZlIHRzX3RvX29mZnNldCBjb2RlCgkgICogU2VhcmNoIGluIGN1cnJlbnQgcGVuZGluZyB2YWx1ZXMgZmlyc3QuIEZvciBDQlIgc3RyZWFtcyB3ZSBjYW4gdmVyeQoJICBlYXNpbHkgZW5kIHVwIGhhdmluZyBqdXN0IG9uZSBpbml0aWFsIG9ic2VydmF0aW9ucyBhbmQgdGhlbiBub3RoaW5nCgkgIGVsc2UgKHNpbmNlIHRoZSBiaXRyYXRlIGRvZXNuJ3QgY2hhbmdlKS4KCSAgKiBVc2Ugb25lIGdyb3VwIHdoZXRoZXIgd2UgYXJlIGluIHRoYXQgZ3JvdXAgKk9SKiBpZiB0aGVyZSBpcyBvbmx5CgkgIG9uZSBncm91cC4KCSAgKiBJZiB0aGUgZ3JvdXAgdG8gdXNlIGlzbid0IGNsb3NlZCAocG9pbnRzIGFyZSBiZWluZyBhY2N1bXVsYXRlZCBpbiB0aGUKCSAgUENST2Zmc2V0Q3VycmVudCksIHVzZSB0aGUgbGF0ZXN0IGRhdGEgYXZhaWxhYmxlIGZvciBjYWxjdWxhdGlvbgoJICAqIElmIGluIHRoZSB1bmxpa2VseW5lc3MgdGhhdCBhbGwgb2YgdGhpcyAqc3RpbGwqIGRpZG4ndCBwcm9kdWNlIG1vcmUKCSAgdGhhbiBvbmUgZGF0YSBwb2ludCwganVzdCByZXR1cm4gdGhlIGluaXRpYWwgb2Zmc2V0CgoyMDE0LTA0LTE4IDE2OjIwOjMxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkgIHRzZGVtdXg6IEZpeCBzY2FsaW5nIG1hY3JvcwoJICBXaGlsZSB0aGUgY2FsY3VsYXRpb24gZG9uZSBpbiB0aGVzZSBtYWNyb3Mgd2lsbCB3b3JrIHdpdGggNjRiaXQKCSAgaW50ZWdlcnMsIHRoZXkgd2lsbCBmYWlsIGlmIHdvcmtpbmcgd2l0aCAzMmJpdCBpbnRlZ2Vycy4KCSAgRm9yY2UgdGhlIHNjYWxpbmcgdXAgdG8gc29sdmUgdGhhdC4KCSAgVGhpcyBhbWF6aW5nbHkgZGlkbid0IGludHJvZHVjZSBtYWpvciBpc3N1ZXMgdXAgdG8gbm93LCBidXQgcmVzdWx0ZWQKCSAgaW4gYm9ndXMgdmFsdWVzIGluIGRlYnVnIGxvZ3MuCgoyMDE0LTA0LTE4IDE2OjE4OjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogRG9uJ3QgaGFyZC1mbHVzaCB0aGUgcGFja2V0aXplciBvbiBkaXNjb250IGJ1ZmZlcnMKCSAgRG9pbmcgYSBoYXJkIGZsdXNoIG9uIHRoZSBwYWNrZXRpemVyIHdpbGwgZHJvcCBhbGwgb2JzZXJ2YXRpb25zLCB3aGljaAoJICB3aWxsIGV2ZW50dWFsbHkgYnJlYWsgcHVzaC1iYXNlZCBzZWVraW5nICh3aXRoIEJZVEVTIHNlZ21lbnQpIHNpbmNlCgkgIHdlIHdvbid0IGtub3cgd2hlcmUgdG8gc2VlayB0byBhbnltb3JlIChuZXcgZGF0YSB3b3VsZCBhbHdheXMgYmUKCSAgY29uc2lkZXJlZCBhcyB0aGUgYmVnaW5uaW5nIG9mIHRoZSBzdHJlYW0pLgoKMjAxNC0wNC0xNiAxNjoyNToyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBGaXggY29weS9wYXN0ZSBlcnJvcgoJICBXZSB3YW50IHRvIGNoZWNrIHdoZXRoZXIgdGhlIHJhdGUgaXMgZGlmZmVyZW50LiBXZSBjaGVjayBjaGFuZ2VzIGluCgkgIG51bWVyYXRvciAqYW5kKiBkZW5vbWluYXRvci4KCSAgQ0lEICMxMTM5NjMxCgkgIENJRCAjMTEzOTY0MgoKMjAxNC0wNC0xNiAxNjoxOTo0NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkgIG14ZjogSGFuZGxlIGZyYWN0aW9uIHBhcnNpbmcgZmFpbHVyZQoJICBBbmQgcHJvcGVybHkgY2xlYW51cC9yZXNldCB0aGUgc2VnbWVudCBiZWZvcmUgcmV0dXJuaW5nIG9uIGVycm9ycwoJICBDSUQgIzIwNjAxMgoKMjAxNC0wNC0xNiAxNjoxMjowMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkgIG14ZjogUmVtb3ZlIHVzZWxlc3MgY2hlY2sKCSAgYSBndWludCB3aWxsIGFsd2F5cyBzbWFsbGVyIG9yIGVxdWFsIHRvIHRoZSBtYXhpbXVtIHZhbHVlIGl0IGNhbgoJICBjb250YWluCgkgIENJRCAjMjA2MDQ5CgoyMDE0LTA0LTA5IDEyOjI3OjE2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmdXAuYzoKCSAgbXhmOiBhdm9pZCBkZXJlZmVyZW5jaW5nIE5VTEwgbWFwcGluZyBkYXRhIHBvaW50ZXIKCSAgQWxzbyB1bnJlZiBidWZmZXJzIG9uIGVycm9yLCBhcyBpdCBzZWVtcyB0byBiZSBkb25lIGluIG9uZSwgYnV0CgkgIG5vdCBhbGwsIGVycm9yIHBhdGhzLgoJICBUaGUgTlVMTCBwb2ludGVyIHBhcnQgaXMgQ292ZXJpdHkgMjA2MTEyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc4ODkKCjIwMTQtMDQtMTYgMTY6MDc6MTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJICBkdmI6IEZpeCBpZigpIGNoZWNrCgkgIGludHJvZHVjZWQgYnkgbXkgcHJldmlvdXMgY29tbWl0IDooCgoyMDE0LTA0LTE2IDE1OjQzOjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBEZXRlY3QgRUdMIGhlYWRlciBwcmVzZW5jZQoJICBGaXhlcyB0aGUgYnVpbGQgZm9yIEFuZHJvaWQsIGFuZCBJIHN1c3BlY3QgZm9yIG90aGVyIHN5c3RlbXMgdG9vLi4uCgoyMDE0LTA0LTE2IDE1OjM3OjU3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvY2Ftc2Vzc2lvbi5jOgoJICBkdmIvY2Ftc2Vzc2lvbjogRG9uJ3QgZG8gb3BlcmF0aW9ucyBvbiB1bmV4aXN0aW5nIHNlc3Npb25zCgkgIENJRCAjMjA2MTE0CgoyMDE0LTA0LTE2IDE1OjMyOjMyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuYzoKCSAgZHZiOiBIYW5kbGUgc29ja2V0KCkgZmFpbHVyZQoJICBDSUQgIzIwNjE3OAoKMjAxNC0wNC0xNiAxNToyMzo1NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IEhhbmRsZSBmYWlsdXJlIHRvIGdldCBzdGF0aXN0aWNzIGZyb20gdGhlIGRldmljZQoJICBDaGVjayB0aGUgaW9jdGwgcmV0dXJuIHZhbHVlIGFuZCBkb24ndCBvdXRwdXQgYm9ndXMgdmFsdWVzLgoJICBDSUQgIzIwNjAxNgoKMjAxNC0wNC0xNiAxNToxODo0NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IERvbid0IGNsb3NlIGEgZmQgdGhhdCB3YXNuJ3Qgb3BlbgoJICBXZSBhcmUgaGFuZGxpbmcgdGhlIGZhaWx1cmUgY2FzZXMgaW4gdGhpcyBibG9jayB3aGVyZSB0aGUgb3BlbiBmYWlsZWQKCSAgQ0lEICMyMDYxNzkKCjIwMTQtMDQtMTYgMTU6MTc6MDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBEb24ndCB0cnkgdG8gYWNjZXNzIE5VTEwgc3RyaW5nCgkgIEFuZCByZWZhY3RvciB0aGUgcGlkIHNldHRpbmcgY29kZSB0byBiZSBpbiBpdHMgb3duIGZ1bmN0aW9uIGZvciBjbGFyaXR5CgkgIENJRCAjMjA2Mzc0CgoyMDE0LTA0LTEwIDE2OjA0OjIxICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogYWRkIGR2YiBjYSBpZGVudGlmaWVyIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzU2MAoKMjAxNC0wNC0xMCAxNjowMzowNyArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IGFkZCBzY3JhbWJsaW5nIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzU2MAoKMjAxNC0wNC0xMCAxNjowMjowOSArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IGFkZCBmcmVxdWVuY3kgbGlzdCBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc1NjAKCjIwMTQtMDQtMTAgMTY6MDA6NTAgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBhZGQgZGF0YSBicm9hZGNhc3QgaWQgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3NDAzCgoyMDE0LTA0LTEwIDE1OjU5OjUwICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogYWRkIHByaXZhdGUgZGF0YSBzcGVjaWZpZXIgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3NDAzCgoyMDE0LTA0LTE2IDA5OjIwOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgZHZiOiBNaW5vciBjb2RlIHN0eWxlIGZpeAoKMjAxNC0wNC0xMCAxNTo1ODo1NSArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IGFkZCBwYXJlbnRpYWwgcmF0aW5nIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzQwMwoKMjAxNC0wNC0xMCAxNTo1ODowNCArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IGFkZCBsaW5rYWdlIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzQwMwoKMjAxNC0wNC0xNiAwMDoyNTo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IGZvciBsb29wIGluaXRpYWwgZGVjbGFyYXRpb25zIGFyZSBvbmx5IGFsbG93ZWQgaW4gQzk5IG1vZGUKCSAgRml4ZXMgY29tcGlsZXIgd2FybmluZ3MuCgoyMDE0LTA0LTE1IDIwOjQ3OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogTWFrZWZpbGUuYW06CgkgIGVnbDogQWRkIGxpYmdzdGVnbCBhbmQgZWdsZ2xlcyBwbHVnaW4gdG8gdGhlIENSVUZUIGRpcmVjdG9yaWVzCgoyMDE0LTA0LTE1IDE3OjU4OjM0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9lZ2xnbGVzL0FuZHJvaWQubWs6CgkqIGV4dC9lZ2xnbGVzL01ha2VmaWxlLmFtOgoJKiBleHQvZWdsZ2xlcy9UT0RPOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uaDoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lYWdsLm06CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWdsLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5oOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9lZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmg6CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBlZ2wvZWdsZ2xlc3Npbms6IHJlbW92ZSBzaW5jZSBFR0xJbWFnZSBhbmQgaU9TIHN1cHBvcnQgaGF2ZSBiZWVuIGFkZGVkIGluIGdsaW1hZ2VzaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMzNDMKCjIwMTQtMDMtMjQgMTI6MDg6NDMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkgIGdsOiBhbGxvdyB0byBpbmNsdWRlIEdMRVMvZ2wuaAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzQzCgoyMDE0LTA0LTE0IDA3OjU2OjE2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmQ6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnQKCSAgV2Ugc2V0IGl0IGp1c3QgYWZ0ZXIgdmFyaWFibGUgZGVjbGFyYXRpb24KCSAgQ0lEICMxMTk3NzA5CgoyMDE0LTA0LTEzIDE5OjIwOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5tOgoJICBnbC9lYWdsOiBGaXggY29tcGlsYXRpb24KCjIwMTQtMDQtMTMgMTY6NTM6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLm06CgkgIGdsL2VhZ2w6IE5vdGlmeSB0aGUgd2luZG93J3MgcmVzaXplIGNhbGxiYWNrIGFib3V0IHN1cmZhY2UgZGltZW5zaW9uIGNoYW5nZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODEwNwoKMjAxNC0wNC0xMyAxNjo0NjoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLmg6CgkgIGdsL2VhZ2w6IFJlbW92ZSBzcHVyaW91cyBwcml2YXRlIHN0cnVjdCBwb2ludGVyCgoyMDE0LTA0LTEzIDE2OjQwOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuaDoKCSAgZ2wvYW5kcm9pZDogTm90aWZ5IHRoZSB3aW5kb3cncyByZXNpemUgY2FsbGJhY2sgYWJvdXQgc3VyZmFjZSBkaW1lbnNpb24gY2hhbmdlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MTA3CgoyMDE0LTA0LTEzIDIyOjE2OjQ1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgZ2xpbWFnZXNpbms6IHJlbW92ZSB1bnVzZWQgdGV4dHVyZQoKMjAxNC0wNC0xMyAyMjoxNDo1MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIGdsaW1hZ2VzaW5rOiBtb3ZlIHVwbG9hZCBpbnRvIF9wcmVwYXJlKCkKCjIwMTQtMDQtMTMgMTM6NDk6MjIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbC9jb250ZXh0OiBvdXRwdXQgYXZhaWxhYmxlIGV4dGVuc2lvbnMKCjIwMTQtMDQtMTMgMTM6Mzk6MTQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkgIGdsL2NvbnRleHQ6IHByb3ZpZGUgZ2V0X2dsX3ZlcnNpb24KCjIwMTQtMDQtMTMgMDA6MjE6MDAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsL2NvbG9yOiByZXN0b3JlIHZpZXdwb3J0IGRpbWVuc2lvbnMgd2hlbiBmYm8gZG9uZQoJICBSZWdyZXNzaW9uIGludHJvZHVjZWQgYnkgOTVhYmZkYTEzOTliY2RkYmVlMzQ1ZDQ1NDJlODU3ZDc0Mzk2NTQ3Ny4KCSAgSXQgY2F1c2VkIHRvIGRpc3BsYXkgdGhlIHdyb25nIGZyYW1lIHNpemUgd2hlbiByZXNpemluZyB0aGUgd2luZG93LgoKMjAxNC0wNC0xMiAyMjo0NTozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLm06CgkgIGdsOiBJbXBvcnQgUXVhcnR6Q29yZS9RdWFydHpDb3JlLmggZm9yIENBRUFHTExheWVyIG9uIG9sZGVyIGlPUyB2ZXJzaW9ucwoKMjAxNC0wNC0xMiAyMjoxNTozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2w6IFNldCBnbGltYWdlc2luayByYW5rIHRvIFNFQ09OREFSWQoJICBUaGlzIGlzIGEgZnVsbC1mZWF0dXJlZCB2aWRlbyBzaW5rIG5vdyBhbmQgZXNwZWNpYWxseSBzaG91bGQgYmUKCSAgdXNlZCBpbnN0ZWFkIG9mIG9zeHZpZGVvc2luayBvbiBPU1ggaWYgYXZhaWxhYmxlLgoKMjAxNC0wNC0xMiAyMTo0Mzo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVzMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2w6IEFkZCBzdXBwb3J0IGZvciBpT1MgRUFHTCBwbGF0Zm9ybQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzQxCgoyMDE0LTA0LTEyIDE3OjMzOjQ0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogbWFrZSBnc3RfZ2xfd2luZG93X2NvY29hX3NlbmRfbWVzc2FnZV9hc3luYyByZS1lbnRyYW50CgkgIEJhY2tlbmRzIHRoYXQgdXNlIGdfbWFpbl9jb250ZXh0X2ludm9rZSBhcmUgcmUtZW50cmFudC4KCSAgSWwgYWxsb3dzIHRvIGNhbGwgdHdvIG5lc3RlZCBnc3RfZ2xfY29udGV4dF90aHJlYWRfYWRkLgoJICBleDogaW5pdF91cGxvYWQgLyBpbml0X2NvbG9yY29udmVydAoKMjAxNC0wNC0xMiAxNzowMTowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogRmlyc3QgaGFuZGxlIEdMIHdpbmRvdyBzZXR1cCwgdGhlbiBjcmVhdGUgdGhlIGNvbnRleHQgYW5kIGl0cyB0aHJlYWQKCjIwMTQtMDQtMTIgMTU6NTE6NDcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJICBnbC9jb2NvYTogZml4IE5TQXV0b3JlbGVhc2VQb29sIGluaXRpYWxpemF0aW9uCgoyMDE0LTA0LTEyIDEyOjQyOjQwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBlbnN1cmUgdG8gY2FsbCBOU0FwcGxpY2F0aW9uOnNoYXJlZEFwcGxpY2F0aW9uIGluIHRoZSBtYWluIHRocmVhZAoJICAiKE5TQXBwbGljYXRpb24gKilzaGFyZWRBcHBsaWNhdGlvbiBUaGlzIG1ldGhvZCBhbHNvIG1ha2VzIGEgY29ubmVjdGlvbgoJICB0byB0aGUgd2luZG93IHNlcnZlciBhbmQgY29tcGxldGVzIG90aGVyIGluaXRpYWxpemF0aW9uIgoJICBUaGUgaW1wbGljaXQgdGhpbmcgd2hpY2ggaXMgbm90IG1lbnRpb25lZCBpcyB0aGF0IGl0IHJlcXVpcmVkCgkgIHRvIGJlIGNhbGxlZCBpbiB0aGUgbWFpbiB0aHJlYWQuCgkgIEZpeCBhIHJlZ3Jlc3Npb24gaW50cm9kdWNlcyBieSA4MmI3YzkxNWJiMDJhOTc5MGQyNTZkNTk5NDUyZTVhNTRhZmRhNjMzCgkgIFdoZW4gdXNpbmcgd2l0aCBnc3QtbGF1bmNoLCBpdCB3YXMgbm90IHBvc3NpYmxlIHRvIGNsaWNrIG9uIHRoZSBjbG9zZQoJICBjcm9zcyBvZiB0aGUgd2luZG93IGFueW1vcmUgd2hpY2ggaXMgYSBiaXQgYW5veWluZyBhbmQgYWxzbyBiZWNhdXNlCgkgIGl0J3Mgd2FzIHBvc3NpYmxlIGJlZm9yZS4KCSAgUHJpb3IgdG8gdGhpcyBjb21taXQgdGhlIEdzdEdMQ29udGV4dENvY29hQ2xhc3Mgd2FzIGluaXRpYWxpemVkCgkgIGluIHRoZSBtYWluIHRocmVhZCBiZWNhdXNlIGdzdF9nbF9jb250ZXh0X25ldyB3YXMgY2FsbGVkIGluIHRoZQoJICBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gZnJvbSBnb2luZyBmcm9tIHJlYWR5IHRvIHBhdXNlZC4KCSAgRnJvbSB0aGlzIGNvbW1pdCB0aGlzIGNhbGwgaXMgZG9uZSBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkLgoJICBTbyB0aGF0IHRoZSBjYWxsIHRvIFtOU0FwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXTsKCSAgd2FzIG5vdCBkb25lIGluIHRoZSBtYWluIHRocmVhZCBhbnltb3JlLgoJICBXZSBub3cgZW5zdXJlIHRoYXQgYnkgYXNzdW1pbmcgdGhlcmUgaXMgYSBHTWFpbkxvb3AgcnVubmluZy4KCSAgSXQncyBmb3IgZGVidWdnaW5nIHB1cnBvc2Ugc28gdGhhdCdzIG9rIHRvIGRvIHRoYXQuIEFsc28KCSAgbm90ZSB3ZSBhbHJlYWR5IGRvIHRoaXMgYXNzdW10aW9uIHRvIHJ1biBhcHAgaXRlcmVhdGlvbnMuCgkgIFRoZSByZWdyZXNzaW9uIGhhZCBubyBjb25zZXF1ZW5jZSBvbiB0aGUgY29jb2EvdmlkZW9vdmVybGF5IGV4YW1wbGUKCSAgKHRoYXQgc2hvdWxkIGJlIG1vdmVkIGZyb20gZ3N0LXBsdWdpbnMtZ2wgdG8gLWJhZCkgYmVjYXVzZSB0aGUKCSAgYXBwbGljYXRpb24gaXMgcmVzcG9uc2libGUgZm9yIHRoYXQgbmVjZXNzYXJ5IGNhbGwuCgoyMDE0LTA0LTEyIDE0OjQwOjQwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbC9jb2xvcjogZml4IHdhcm5pbmcgdHlwZSBxdWFsaWZpZXJzIGlnbm9yZWQKCSAgaTY4Ni1hcHBsZS1kYXJ3aW4xMS1sbHZtLWdjYy00LjIKCSAgIndhcm5pbmc6IHR5cGUgcXVhbGlmaWVycyBpZ25vcmVkIG9uIGZ1bmN0aW9uIHJldHVybiB0eXBlIgoKMjAxNC0wNC0xMiAxODoyNDo0MyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2wvY29sb3I6IHJlbW92ZSBpZiBzdGF0ZW1lbnQgd2l0aCBubyBlZmZlY3QKCSAgQ292ZXJpdHkgMTE5OTY5OAoKMjAxNC0wNC0xMiAxODoxNjoyOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC9jb2xvcjogcGFzcyBsYXJnZSB2YWx1ZSBieSByZWZlcmVuY2UKCSAgQ292ZXJpdHkgMTE5OTcwMAoKMjAxNC0wNC0wMiAxMjo1OTo1OCAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwLmM6CgkgIHNydHBkZWM6IGZpeCBhc3NlcnRpb24gY2hlY2tpbmcgc3NyYyBmcm9tIHJ0Y3AgcGFja2V0cwoJICBydGNwX2J1ZmZlcl9nZXRfc3NyYyBpcyBjYWxsZWQgZXZlbiB3aXRoIFJUUCBidWZmZXJzLiB0aGlzIG1lYW5zIHdlCgkgIG1pZ2h0IGVuZCB1cCB3aXRoIGFuIGV4Y2VwdGlvbiBhbmQgbm90IGZpbmQgYW55IHZhbGlkIFJUQ1AgcGFja2V0IHR5cGUKCSAgYW5kIHRodXMgaGl0IEdTVF9SVENQX1RZUEVfSU5WQUxJRC4gd2Ugbm93IHRha2UgY2FyZSBvZiB0aGlzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3NTEyCgoyMDE0LTA0LTExIDEyOjI5OjE3ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvZ3N0anAya2RlY2ltYXRvci5jOgoJICBqcDJrZGVjaW1hdG9yOiBmaXggbWF5YmUtdW5pbml0aWFsaXplZCBjb21waWxlciBlcnJvcgoKMjAxNC0wNC0xMSAxMTozNDoyNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBSZW1vdmUgdW5uZWVkZWQgdW5yZWYKCSAgcGFja2V0X2J1ZmZlciBoYXMgYWxyZWFkeSBiZWVuIGNsZWFyZWQgaW4gYWxsIGNvZGUgcGF0aHMgbGVhZGluZwoJICB0byB0aGlzIHBvaW50LgoJICBDSUQgIzExOTk2OTYKCjIwMTQtMDQtMTEgMDg6Mzk6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBIYW5kbGUgc3ltYm9scyBhZGRlZCBpbiBtaW5vciB2ZXJzaW9uIDcgYW5kIDgKCSAgU29tZSBzeW1ib2xzIHdlcmUgcmUtZGVmaW5lZCBpbiBtaW5vciB2OCAoR08gVEVBTSBCQUNLV0FSRFMgQ09NUEFUSUJMRSEpCgkgIFNvbWUgc3ltYm9scyB3ZXJlIGFkZGVkIGluIG1pbm9yIHY3CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc5NzcKCjIwMTQtMDQtMTEgMTc6MjQ6MzkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJICBnbC9tZW06IGNhY2hlIHRoZSBzdHJpZGUvdW5wYWNrIGxlbmd0aCBmb3IgdXBsb2FkCgoyMDE0LTA0LTExIDE3OjIzOjMyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbC9jb2xvcjogZXhwbGljaXRseSBtYXAgdGhlIGJ1ZmZlcnMgd2UgYXJlIGNvcHlpbmcgaW50bwoJICBPdGhlcndpc2UgaXQgbWF5IG5vdCBiZSBkb3dubG9hZGVkIGF0IGFsbC4KCjIwMTQtMDQtMTEgMDg6MTY6MDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBBZGQgY29tbWVudCB3aXRoIGFsbCBEVkIgQVBJIHY1IG1pbm9yIGNoYW5nZXMKCSAgVGhlcmUgd2Fzbid0IGEgZGVmaW5pdGUgbGlzdCBhbnl3YXksIHNvIEkganVzdCBkb3ZlIGluIHRoZSBrZXJuZWwKCSAgYW5kIGV4dHJhY3QgYWxsIHRoYXQgaW5mb3JtYXRpb24uCgoyMDE0LTA0LTExIDE2OjA5OjA5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbC9jb2xvcjogY2FjaGUgdGhlIHRlbXBvcmFyeSB0ZXh0dXJlcwoKMjAxNC0wNC0xMSAxMTowNDo0MyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2wvbWVtOiBwcm92aWRlIGRlZmluZXMgZm9yIHRva2VucyBub3QgZGVmaW5lZCBpbiBHTEVTMi9hbmNpZW50IHBsYXRmb3JtcwoKMjAxNC0wNC0xMSAxMTowMzoxOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2w6IGZpeHVwIGluY29ycmVjdCBudW1iZXIgb2YgYXJndW1lbnRzCgoyMDE0LTA0LTExIDEwOjU1OjIxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbDogZml4IGluY29ycmVjdCB1c2FnZSBvZiBnX3JldHVybl9pZl9mYWlsCgoyMDE0LTA0LTAyIDE3OjQzOjUyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvbWVtOiBhbGxvY2F0ZSB0aGUgbWVtb3J5IHBlciBwbGFuZQoJICBUaGlzIHBhdGNoIHByb3ZpZGVzIHRoZSBiYXNpYyBpbmZyYXN0cnVjdHVyZSByZXF1aXJlZCBmb3IgdGhpcy4KCSAgVXBsb2FkIGFuZCBEb3dubG9hZCBoYXMgYmVlbiBwb3J0ZWQgdG8gdGhpcy4KCSAgSGFzIHRoZSBuaWNlIGVmZmVjdCBvZiBhbGxvd2luZyBHc3RHTE1lbW9yeSB0byBiZSBvdXIKCSAgcmVmY291bnRlZCB0ZXh0dXJlIG9iamVjdCBmb3IgYW55IHRleHR1cmUgdHlwZSAobm90IGp1c3QgUkdCQSkuCgkgIFNob3VsZCBub3QgbG9zZSBhbnkgZmVhdHVyZXMvdmlkZW8gZm9ybWF0cy4KCjIwMTQtMDQtMDEgMTU6MTA6MDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZW1lbW9yeS5jOgoJICBnbC9lZ2xpbWFnZTogI2lmIDAgdW51c2VkIGNvZGUKCjIwMTQtMDQtMDEgMTM6MzA6NTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgZ2w6IGFkZCBjb2xvcmNvbnZlcnQgb2JqZWN0IHRoYXQgY29udmVydHMgYmV0d2VlbiBjb2xvciBzcGFjZXMvZm9ybWF0cwoJICBDdXJyZW50bHkgdXNlZCBieSBib3RoIHVwbG9hZCBhbmQgZG93bmxvYWQgb2JqZWN0cyBzZXBhcmF0ZWx5LgoKMjAxNC0wNC0xMCAxNzo1NToyMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IGZpeCBmYWFjIEFQSSBlcnJvciBjaGVja2luZwoJICBDb3Zlcml0eSAxMTM5NzkwCgoyMDE0LTA0LTEwIDE3OjUyOjAyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdHBsdWdpbi5jOgoJICBkYXNoZGVtdXg6IGRvIG5vdCBpZ25vcmUgZmFpbHVyZSB0byByZWdpc3RlciB0eXBlZmluZGVyCgkgIENvdmVyaXR5IDExMzk2MjkKCjIwMTQtMDQtMTAgMTc6NDg6MDMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZml4IHRpbWUgbGVhawoJICBDb3Zlcml0eSAxMTQ3MDE2CgoyMDE0LTA0LTEwIDE3OjQ0OjE0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHJlbW92ZSBkZWFkIGNvZGUgYW5kIHZhcmlhYmxlCgkgIEEgcmVjZW50IGNvbW1pdCBtYWRlIHN0cmVhbSBub3QgYWJsZSB0byBiZSBOVUxMLCBlbmRpbmcgdXAgd2l0aAoJICBhIGZsYWcgYmVpbmcgYWx3YXlzIHNldCB0byBGQUxTRSB3aGVuIGl0IG1hdHRlcnMuCgkgIENvdmVyaXR5IDExNDY5NjgsIDExNDcwMTIKCjIwMTQtMDQtMTAgMTc6Mzc6MjIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkgIGN1cmw6IHJlbW92ZSB1bm5lZWRlZCBOVUxMIGNoZWNrCgkgIFdlIGp1c3QgY2hlY2tlZCBmb3IgTlVMTCBhbmQgYWxsb2NhdGVkIGlmIGl0IHdhcy4gQW5kIGdsaWIgYWJvcnRzCgkgIGlmIGl0IGNhbid0IGFsbG9jYXRlLCBJJ20gdG9sZC4KCSAgQ292ZXJpdHkgMTEzOTg0MQoKMjAxNC0wNC0xMCAxNzozMzo1NSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSAgY3VybDogcmVtb3ZlIGR1cGxpY2F0ZSBhc3NpZ25tZW50CgkgIENvdmVyaXR5IDExOTc3MDgKCjIwMTQtMDQtMTAgMTY6NTM6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBBbHNvIHVwZGF0ZSB0aGUgc2VxdWVuY2UgcG9zaXRpb24gd2hlbiB1cGRhdGluZyBub24tbGl2ZSBwbGF5bGlzdHMKCjIwMTQtMDQtMTAgMTQ6NTk6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBUcnkgcmVsb2FkaW5nIHRoZSBwbGF5bGlzdCBmaXJzdCBpZiBkb3dubG9hZGluZyBhIGZyYWdtZW50IGZhaWxzCgkgIEJ1dCBvbmx5IGFkZCB0aGlzIGZvciBub24tbGl2ZSBwbGF5bGlzdHMuIEZvciBsaXZlIHBsYXlsaXN0cyB3ZSBhbHJlYWR5CgkgIGhhdmUgYW5vdGhlciB0aHJlYWQgdGhhdCBpcyBwZXJpb2RpY2FsbHkgdXBkYXRpbmcgcGxheWxpc3RzLgoJICBSZWFzb24gZm9yIHRoaXMgaXMgdGhhdCBzb21ldGltZXMgZG93bmxvYWRpbmcgYSBmcmFnbWVudCBjYW4gZmFpbCBiZWNhdXNlCgkgIHRoZSBVUklzIGhhdmUgY2hhbmdlZCBvciBleHBpcmVkIHNpbmNlIGxhc3QgdGltZS4KCjIwMTQtMDQtMTAgMTQ6NDY6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBXaGVuIHVwZGF0aW5nIGEgbm9uLWxpdmUgcGxheWxpc3QgbWFrZSBzdXJlIHRvIGZpbmQgdGhlIGN1cnJlbnQgc2VxdWVuY2UgYnkgdGltZQoJICBTZXF1ZW5jZSBudW1iZXJzIGluIGRpZmZlcmVudCBwbGF5bGlzdHMgYXJlIG5vdCBndWFyYW50ZWVkIHRvIGJlIHRoZSBzYW1lIGZvciB0aGUKCSAgc2FtZSBwb3NpdGlvbiwgZS5nLiBmcmFnbWVudHMgY291bGQgaGF2ZSBkaWZmZXJlbnQgZHVyYXRpb25zIGluIGRpZmZlcmVudCBwbGF5bGlzdHMuCgkgIEluIHRoZW9yeSB3ZSBzaG91bGQgZG8gZXhhY3RseSB0aGUgc2FtZSBmb3IgbGl2ZSBwbGF5bGlzdHMsIGJ1dCB1bmZvcnR1bmF0ZWx5IHdlIGNhbid0CgkgIGJlY2F1c2UgZG9pbmcgdGhpcyBraW5kIG9mIHNlZWtpbmcgcmVxdWlyZXMgdGhlIGNvbXBsZXRlIHBsYXlsaXN0IHNpbmNlIHdlIHN0YXJ0ZWQKCSAgcGxheWJhY2suIEZvciBsaXZlIHBsYXlsaXN0cyB0aGUgc2VydmVyIGlzIGhvd2V2ZXIgZHJvcHBpbmcgZnJhZ21lbnRzIGluIHRoZSBiZWdpbm5pbmcKCSAgb3ZlciB0aW1lIGFuZCB3ZSBoYXZlIG5vIGFic29sdXRlIHRpbWUgcmVmZXJlbmNlcy4KCjIwMTQtMDQtMDkgMTc6Mjg6NDkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBzbW9vdGhzdHJlYW1pbmc6IGF2b2lkIHVzaW5nIGFuIHVuaW5pdGlhbGl6ZWQgbWFuaWZlc3QKCSAgSWYgd2UgZGlkIG5vdCBzZXQgdGhlIG1hbmlmZXN0IHlldCwgZWFybHkgb3V0IGluIHRoZSBzZWVraW5nIHF1ZXJ5LgoJICBDb3Zlcml0eSAxMTM5NzM3CgoyMDE0LTAzLTE3IDE2OjM5OjQyICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgaDI2NHBhcnNlOiBTZXQgZnJhbWVyYXRlIGV2ZW4gZm9yIGludGVybGFjZWQgdmlkZW9zCgkgIENvLUF1dGhvcmVkIGJ5OiBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY3NTIKCjIwMTQtMDQtMDkgMTA6MDQ6NDYgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkgIG1wZWd0czogYWRkIGF0c2MgdGVycmVzdHJpYWwgdmlydHVhbCBjaGFubmVsIHRhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc0NjAKCjIwMTQtMDQtMDkgMTU6MDc6MTkgKzAyMDAgIFNhbnRpYWdvIENhcm90LU5lbWVzaW8gPHNhbmNhbmVAZ21haWwuY29tPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiBmaXggbWVtb3J5IGxlYWsgcXVlcnlpbmcgc2luayBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc4OTQKCjIwMTQtMDQtMDkgMTg6NDQ6MzggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2hscy9nc3RobHNzaW5rLmM6CgkgIGhsc3Npbms6IGNhdGNoIGZhaWx1cmUgdG8gd3JpdGUgcGxheWxpc3QgZmlsZQoJICBDb3Zlcml0eSAxMTM5NjEzCgoyMDE0LTA0LTA5IDE4OjMxOjMxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSAga2F0ZTogZml4IGltcGxpY2l0IHByb21vdGlvbiB0byBzaWduZWQgaW50IGJyZWFraW5nIG9uIGxhcmdlaXNoIGlucHV0cwoJICBDb3Zlcml0eSAxMTM5ODU4LCAxMTM5ODU3CgoyMDE0LTA0LTA5IDE4OjE2OjUyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3Bhc2luay5jOgoJICBsYWRzcGE6IHJlbW92ZSBkdXBsaWNhdGUgYXNzaWdubWVudAoJICBDb3Zlcml0eSAxMTM5NzA2CgoyMDE0LTA0LTA5IDE4OjEyOjU4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltZGVjOiBmaXggb3BlbiBlcnJvciBjaGVja2luZwoJICBDb3Zlcml0eSAyMDYzNjQKCjIwMTQtMDQtMDkgMTc6Mzc6NDEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJICBzY2hyb2RlYzogcmVtb3ZlIHVubmVjZXNzYXJ5IGNoZWNrCgkgIFRoZSB0YWcgd2FzIGRlcmVmZXJlbmNlZCBlYXJpZXIuIEZyb20gdGhlIGxpYnNjaHJvZWRpbmdlciBjb2RlLAoJICBpdCdzIG5vdCBvYnZpb3VzIHRvIHNlZSB3aGV0aGVyIHRhZyBhbmQgZnJhbWUgd291bGQgYmUgTlVMTCBhdAoJICB0aGUgc2FtZSB0aW1lLiBJIHRoaW5rIGlzIGxpa2VseSB0aGF0IGJvdGggd2lsbCBiZSBub24gTlVMTAoJICBoZXJlLCBidXQgdGhhdCdzIG5vdCBjZXJ0YWluLiBBZGRpdGlvbmFsIHRlc3RzIG1heSBiZSBuZWVkZWQKCSAgdG8gYXZvaWQgZGVyZWZlcmVuY2luZyB0YWcgYW5kL29yIGZyYW1lLCBidXQgd2hhdCB0byBkbyBpZgoJICBvbmx5IG9uZSBpcyBOVUxMIGlzbid0IG9idmlvdXMsIGFzIHRoZSBfZ2V0X3RhZyBmdW5jdGlvbiBkb2VzCgkgIHRyYW5zZmVyIG93bmVyc2hpcCBzbyBpc24ndCB1bmRvYWJsZS4KCSAgQ292ZXJpdHkgMTEzOTg1MAoKMjAxNC0wNC0wOSAxNzoxMDowNiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIHNtb290aHN0cmVhbWluZzogcmVtb3ZlIHVubmVjZXNzYXJ5IGNoZWNrCgkgIFRoZSBmdW5jdGlvbiBpcyBzdGF0aWMsIHRoZSBvbmx5IGNhbGwgc2l0ZSBwYXNzZXMgYSBub24gTlVMTAoJICBwb2ludGVyLCBhbmQgdGhlIHBvaW50ZXIgaXMgZGVyZWZlcmVuY2VkIGJlZm9yZSBhbnl3YXkuCgkgIENvdmVyaXR5IDExMzk4MzkKCjIwMTQtMDQtMDkgMTY6NTU6MzAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwOiByZW1vdmUgZGVhZCBhc3NpZ25tZW50CgkgIENvdmVyaXR5IDExOTc3MDcKCjIwMTQtMDQtMDkgMTU6NTQ6MTggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSAgbXBlZ3RzOiBmaXggc2R0IGxlbmd0aCBjaGVjawoJICBJdCB3YXMgb3JpZ2luYWxseSB0ZXN0IGZvciA5IGJ5dGVzIChhcyB0aGUgY29tbWVudCBzYXlzKSBhbmQgd2FzCgkgIHJld3JpdHRlbiBidWdnaWx5LiBTbyByZXdyaXRlIGl0IGEgdGhpcmQgd2F5LCB3aGljaCBpcyBub3cKCSAgaG9wZWZ1bGx5IGNvbnNpc3RlbnQgd2l0aCB0aGUgb3JpZ2luYWwgYW5kIHRoZSBjb21tZW50LCB3aGlsZQoJICBiZWluZyBtb3JlIHNlbnNlLW1ha2luZyB0byBodW1hbnMuCgkgIENvdmVyaXR5IDExMzk2NTQKCjIwMTQtMDQtMDkgMTY6MDA6MjQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJICBSZXZlcnQgInRzbXV4OiBjYXRjaCBhbGxvYyBmYWlsdXJlIgoJICBUdXJucyBvdXQgZ2xpYiBhYm9ydHMgb24gYWxsb2NhdGlvbiBmYWlsdXJlLCBzbyB0aGlzIGlzIHBvaW50bGVzcy4KCSAgV2UnbGwganVzdCBpZ25vcmUgQ292ZXJpdHkgd2FybmluZ3Mgb24gc3VjaCBjb25zdHJ1Y3RzLgoJICBUaGlzIHJldmVydHMgY29tbWl0IGQzNDc4MDlhODJlMjQwNTczMDJmOTQ4MjY5MzkyZTc2YWFhY2VhMTAuCgoyMDE0LTA0LTA5IDE1OjU4OjM3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJICBtcGVndHM6IHR1cm5zIG91dCBnbGliIGFib3J0cyBvbiBhbGxvY2F0aW9uIGZhaWx1cmUKCSAgU28gdGhpcyBpcyBhY3R1YWxseSBwb2ludGxlc3MuIFdlJ2xsIGp1c3QgaGF2ZSB0byBpZ25vcmUKCSAgQ292ZXJpdHkgbW9hbmluZyBvbiB0aG9zZS4KCSAgUmV2ZXJ0ICJtcGVndHM6IHRlc3QgZm9yIGFsbG9jYXRpb24gZmFpbHVyZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAyMjRjYjgxYjhmY2JmMDNkZjVlMDdmMDQ1ZWNiOWVjZjY0MTg5NDAwLgoKMjAxNC0wNC0wOSAxNTo0NDoxMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSAgbXBlZ3RzOiB0ZXN0IGZvciBhbGxvY2F0aW9uIGZhaWx1cmUKCSAgV2hpbGUgaXQncyB1bmxpa2VseSB0byBnZXQgdGhlcmUsIGl0IHNpbGVuY2VzIHRoZSBjb3Zlcml0eSB3YXJuaW5nCgkgIG9uIHRoZSBlcnJvciBjb2RlIHBhdGggdGhhdCB3ZSB0ZXN0IGZvciBOVUxMIGJlZm9yZSBmcmVlaW5nLCB3aGVuCgkgIGFsbCBicmFuY2hlcyB0aGVyZSBhcmUgZnJvbSBsb2NhdGlvbnMgd2hlcmUgcG10IGNhbm5vdCBiZSBOVUxMLAoJICBhbmQgcmVtb3ZpbmcgdGhlIE5VTEwgY2hlY2sgbWFrZXMgdGhlIGNvZGUgbW9yZSB2dWxuZXJhYmxlIHRvIGEKCSAgaHlwb3RoZXRpY2FsIGZ1dHVyZSBicmFuY2ggZnJvbSBzb21ld2hlcmUgd2hlcmUgaXQgY2FuIGJlLgoJICBDb3Zlcml0eSAxMTM5ODUyCgoyMDE0LTA0LTA5IDE1OjQxOjExICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogcmVtb3ZlIHVubmVjZXNzYXJ5IHRlc3QKCSAgV2UndmUgYmVlbiBkZXJlZmVyZW5jaW5nIHRoYXQgb2JqZWN0IGxpa2UgdGhlcmUncyBubyB0b21vcnJvdwoJICBpbiB0aGUgY29kZSBqdXN0IGJlZm9yZSB0aGF0LgoJICBDb3Zlcml0eSAyMDYzNjkKCjIwMTQtMDQtMDkgMTU6Mzc6NTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkgIGFzZm11eDogcmVtb3ZlIHN0cmF5IGdzdF9idWZmZXJfdW5tYXAgb24gZXJyb3IgcGF0aAoJICBBIHByZXZpb3VzIGNvbW1pdCByZW1vdmVkIHRoZSBtYXAsIGFuZCB0aGUgdW5tYXAgb24gdGhlIG1haW4KCSAgY29kZSBwYXRoLCBidXQgbm90IHRoZSBvbmUgb24gdGhlIGVycm9yIHBhdGguCgkgIENvdmVyaXR5IDExMzk5MzAKCjIwMTQtMDQtMDkgMTU6Mjg6MDUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiByZW1vdmUgZGVhZCBjb2RlCgkgIFRob3NlIGV2ZW50cyB3ZXJlIHByZXZpb3VzbHkgdGFrZW4gZnJvbSBhIGNhY2hlZCBldmVudHMgbGlzdCwKCSAgd2hpY2ggd2FzIHJlbW92ZWQgZHVyaW5nIHRoZSBwb3J0IHRvIDAuMTEsIGJ1dCB0aGlzIGJpdCBzdGF5ZWQuCgkgIENvdmVyaXR5IDExMzk2ODQKCjIwMTQtMDQtMDkgMTU6MjQ6MTMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiByZW1vdmUgdW5uZWVkZWQgY2hlY2sKCSAgQSBtZXNzYWdlIG1heSBub3QgYmUgTlVMTCBpbiB0aGUgbWVzc2FnZSBoYW5kbGluZyBmdW5jdGlvbgoJICAoYW5kIG5vdGhpbmcgdGhlcmUgc2V0cyBpdCB0byBOVUxMKS4KCSAgQ292ZXJpdHkgMTEzOTg0OAoKMjAxNC0wNC0wOSAxNToxODoyMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmM6CgkgIGNvbXBhcmU6IHNwZWNpYWwgY2FzZSBlbXB0eSByZWdpb25zIHdpdGggMSBTU0lNIHRvIGF2b2lkIGRpdmlkaW5nIGJ5IDAKCSAgQ292ZXJpdHkgMTEzOTY4OSwgMTEzOTY4OAoKMjAxNC0wNC0wOSAxNTowOToyNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ0ZXN0LmM6CgkgIGludGVyOiByZW1vdmUgZGVhZCBjb2RlCgkgIENvdmVyaXR5IDExMzk2NjYKCjIwMTQtMDQtMDkgMTU6MDM6NDUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiByZW1vdmUgZGVhZCBjb2RlCgkgIEZyb20gdGhlIDAuMTEgcG9ydAoJICBDb3Zlcml0eSAxMTM5Njc2CgoyMDE0LTA0LTA5IDE0OjM3OjQ4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgcmVzaW5kdmQ6IGF2b2lkIGNyYXNoaW5nIGluIHBhdGhvbG9naWNhbCBjYXNlCgkgIFdoZW4gd2UnZCBzZWUgYW4gdW5rbm93biBzdHJlYW0gdHlwZSwgdGhlbiBhIFNERFMgc3RyZWFtLgoJICBUaGVuIHdlJ2QgZ2V0IHRvIHRoZSBlbmQgb2YgdGhlIHN3aXRjaCB3aXRoIGEgTlVMTCB0ZW1wIHN0cmVhbQoJICBwb2ludGVyLCBhbmQgZGVyZWZlcmVuY2UgaXQuCgkgIENvdmVyaXR5IDExMzk3MDgKCjIwMTQtMDQtMDkgMTQ6MTM6NDYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IGNhdGNoIHByZXYtbm90LWZvdW5kIHdoZW4gaW5zZXJ0aW5nIGluIHRoZSBncm91cCBsaXN0CgkgIFdoaWxlIHRoaXMgcHJvYmFibHkgc2hvdWxkIG5ldmVyIGhhcHBlbiBpZiBjYWxsZXJzIGFyZSB3ZWxsIGJlaGF2ZWQsCgkgIHRoaXMgYXZvaWRzIGEgY3Jhc2ggaWYgaXQgZG9lcy4gV2l0aCBhIHdhcm5pbmcgYWJvdXQgaXQuIFVuc3VyZSBpZgoJICBpdCdkIGJlIGJldHRlciB0byBub3QgYWRkIGF0IGFsbCwgYnV0IGl0IHNob3VsZCBub3QgaGFwcGVuLi4uCgkgIENvdmVyaXR5IDExMzk3MTMKCjIwMTQtMDQtMDkgMTM6NTE6NDEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBndWFyZCBhZ2FpbnN0IF9kaXNwb3NlIGJlaW5nIGNhbGxlZCBtdXRpcGxlIHRpbWVzCgkgIF9kaXNwb3NlIGNhbGxzIF9yZXNldCwgc28gd2UgbmVlZCB0byBtYWtlIHN1cmUgX3Jlc2V0IGhhbmRsZXMKCSAgYWxyZWFkeSBOVUxMZWQgZmllbGRzLgoJICBDb3Zlcml0eSAxMTM5ODQzCgoyMDE0LTA0LTA5IDEzOjQzOjEwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSAgdHNtdXg6IHByZXZlbnQgcG9zc2libGUgZG91YmxlIGZyZWUgb24gZXJyb3IgcGF0aAoJICBTcG90dGVkIHdoaWxlIGxvb2tpbmcgYXQgYSBDb3Zlcml0eSBpc3N1ZSBpbiB0aGUgYXJlYS4KCjIwMTQtMDQtMDkgMTM6NDE6MzUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJICB0c211eDogY2F0Y2ggYWxsb2MgZmFpbHVyZQoJICBXaGlsZSBpdCB3aWxsIHByb2JhYmx5IG5vdCB0cmlnZ2VyLCBpdCBzaG91bGQgc2lsZW5jZSBhIENvdmVyaXR5CgkgIHdhcm5pbmcgYWJvdXQgdGhlIGZhaWwgY29kZSBwYXRoIHRlc3RpbmcgZm9yIE5VTExuZXNzIGJlZm9yZQoJICBmcmVlaW5nLCB3aGVyZSB0aGUgYnVmZmVyIHdhcyBhbHJlYWR5IGRlcmVmZXJlbmNlZC4gSXQgc2VlbXMKCSAgc2FmZXN0IHRvIGtlZXAgdGhhdCB0ZXN0LCBpbiBjYXNlIGZ1dHVyZSBnb3RvIGZhaWwgc3RhdGVtZW50cwoJICBoYXBwZW4gdG8gaGF2ZSBhIE5VTEwgYnVmZmVyIHRoZXJlLgoJICBDb3Zlcml0eSAxMTM5ODUxCgoyMDE0LTA0LTA5IDExOjQzOjIzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSAgZGVja2xpbms6IGluaXRpYWxpemUgcHJpdiB0byBOVUxMCgkgIFdoaWxlIHRoZSBjb2RlIHRoYXQgY3JlYXRlcyB0aGUgb2JqZWN0IHNldHMgcHJpdiB0byBzb21lIGV4aXN0aW5nCgkgIHBvaW50ZXIgYWZ0ZXIgbmV3LCB0aGlzIGVuc3VyZXMgYW55IGZ1dHVyZSBuZXcgbm90IGRvaW5nIHRoaXMgd2lsbAoJICBoaXQgdGhlIHZhcmlvdXMgcHJpdiE9TlVMTCBhc3NlcnRzIGluIHRoZSBjb2RlLgoJICBDb3Zlcml0eSAxMTM5OTM1CgoyMDE0LTA0LTA5IDExOjE1OjEwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICBzcGVlZDogbWFrZSBkdXJhdGlvbiBxdWVyeSBhYmxlIHRvIGNvbnZlcnQgYnl0ZXMgdG8gdGltZQoJICBJdCB3YXMgb25seSBxdWVyeWluZyBpbiB0aW1lLCBidXQgdGhlbiB0cnlpbmcgdG8gdXNlIGRlYWQgYnl0ZXMKCSAgdG8gdGltZSBjb252ZXJzaW9uIGNvZGUuCgkgIENvdmVyaXR5IDExMzk2NzcKCjIwMTQtMDQtMDkgMTE6MDQ6MzIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBmaXggbGVmdCBjcm9wIGNoYW5nZSB0ZXN0CgkgIEl0IHdhcyB0ZXN0aW5nIGEgbm9vcAoJICBDb3Zlcml0eSAxMTM5NjQzCgoyMDE0LTA0LTA5IDExOjAyOjAwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSAgb3B1czogYWRkIG1pc3NpbmcgdmFfZW5kIGluIHZhcmlhZGljIGZ1bmN0aW9uCgkgIENvdmVyaXR5IDExMzk5NDQKCjIwMTQtMDQtMDkgMTE6MDA6MjIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogcmVtb3ZlIGRlYWQgY29kZQoJICBDb3Zlcml0eSAxMTM5NjgzCgoyMDE0LTA0LTA5IDEwOjU2OjE2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSAgbWZjOiByZXNldCAiaW4gdXNlIiBmbGFnIG9uIGZhaWx1cmUgdG8gaW5pdGlhbGl6ZQoKMjAxNC0wNC0wOSAxMDo1NTo0NiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkgIG1mYzogdGVzdCBmb3IgYWxsb2NhdGlvbiBmYWlsdXJlIGJlZm9yZSBkZXJlZmVyZW5jaW5nCgkgIENvdmVyaXR5IDExMzk4NDkKCjIwMTQtMDQtMDkgMTA6MzM6MTAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICBtcGVnMmVuYzogcmVtb3ZlIGRlYWQgYXNzaWdubWVudAoJICBDb3Zlcml0eSAxMTM5ODI5CgoyMDE0LTA0LTA5IDEwOjI4OjQ2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5oOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkgIGdsOiBwYXNzIGxhcmdlIHN0cnVjdHVyZSBieSBjb25zdCBwb2ludGVyLCBub3QgdmFsdWUKCSAgQXZvaWRzIGxhcmdlIHBvaW50bGVzcyBtZW1jcHkuCgkgIENvdmVyaXR5IDIwNjIzNiwgMjA2MjM3CgoyMDE0LTA0LTA4IDIxOjM5OjIwICswMzAwICBNb2hhbW1lZCBTYW1lZXIgPG1zYW1lZXJAZm9vbGFiLm9yZz4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSAgY2FtZXJhYmluOiBhZGQgYW55IGZlYXR1cmUgdG8gdmlld2ZpbmRlcmJpbiBzdGF0aWMgcGFkIHRlbXBsYXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc4NTcKCjIwMTQtMDQtMDggMjA6NTQ6MjYgKzAzMDAgIE1vaGFtbWVkIFNhbWVlciA8bXNhbWVlckBmb29sYWIub3JnPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IHJlcG9ydCBhbiBlcnJvciBpZiB3ZSBmYWlsIHRvIGxpbmsgdmZzcmMgYW5kIHZpZXdmaW5kZXIgcXVldWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzg1NQoKMjAxNC0wNC0wOCAxNzo0NTo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJICBkM2R2aWRlb3Npbms6IHBvc3QgcHJvcGVyIGVycm9yIG1lc3NhZ2Ugd2hlbiB3aW5kb3cgZGlzYXBwZWFycwoKMjAxNC0wNC0wOCAxNzozNDoxMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkgIGZsaXRlOiBmaXggb2ZmIGJ5IG9uZSBpbiBjaGFubmVsIG1hc2sgYnVpbGRpbmcKCSAgVGhlIGZpcnN0IGxvb3Agd291bGQgc2hpZnQgMSBieSA2NCwgd2hpY2ggaXMgZWl0aGVyIHVuZGVmaW5lZAoJICBvciBpbXBsZW1lbnRhdGlvbiBkZWZpbmVkLCBpbnN0ZWFkIG9mIGNsZWFyaW5nIHRoZSB0b3AgYml0LgoJICBDb3Zlcml0eSAxMTk3NjkxCgoyMDE0LTA0LTA4IDE3OjEwOjI3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHM6IHJlc3RvcmUgTlVMTCB0ZXN0IG1pc3Rha2VubHkgcmVtb3ZlZAoJICBUaGFua3MgdG8gdHBtIGZvciBwb2ludCBvdXQgSSdtIGFuIGlkaW90LgoKMjAxNC0wNC0wOCAxNjo1Mzo1NCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsczogb25seSBzZXQgRElTQ09OVCBmbGFnIG9uIGEgdmFsaWQgYnVmZmVyCgkgIFJlY2VudCByZWZhY3RvcmluZyBjYXVzZXMgdGhpcyBjb2RlIHRvIGJlIGNhbGxlZCB3aXRoIGVpdGhlciBhIE5VTEwKCSAgZnJhZ21lbnQsIG9yIGEgbm9uIE5VTEwgZnJhZ21lbnQuIEluIHRoZSBmb3JtZXIgY2FzZSwgd2UgZG9uJ3QgaGF2ZQoJICBhIGJ1ZmZlci4gSW4gdGhlIGxhdHRlciBjYXNlLCB0aGUgb3JpZ2luYWwgY29kZSBkZWFsaW5nIHdpdGggRElTQ09OVAoJICBhc3N1bWVkIHRoZSBidWZmZXIgd2FzIHZhbGlkLiBUZXN0aW5nIGZvciBhIE5VTEwgYnVmZmVyIGhlcmUgdGh1cwoJICBkb2VzIG5vdCBzZWVtIHRvIGNoYW5nZSB0aGUgaW50ZW50LCBhbmQgZml4ZXM6CgkgIENvdmVyaXR5IDExOTUxNDcKCjIwMTQtMDQtMDggMTY6NTM6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBndWFyZCBhZ2FpbnN0IE5VTEwgbWF0ZXJpYWwgdHJhY2sKCSAgSnVzdCB0byBiZSBvbiB0aGUgc2FmZSBzaWRlLgoKMjAxNC0wNC0wOCAxNjo0Njo1NiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzOiBicmluZyBOVUxMIHRlc3QgYmVmb3JlIGRlcmVmZXJlbmNlCgkgIENvdmVyaXR5IDExOTUxNjgKCjIwMTQtMDQtMDggMTY6MjM6NTAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2w6IHRlc3QgZm9yIGZyYW1lIE5VTExuZXNzIGJlZm9yZSBkZXJlZmVyZW5jaW5nIGl0CgkgIENvdmVyaXR5IDExOTUxNzIsIDExOTUxNzEKCjIwMTQtMDQtMDkgMDA6NDQ6MDggKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJICBkdmJzdWJvdmVybGF5OiBBdm9pZCBpbmZpbml0ZSBsb29wcyBvbiBzaG9ydCBkYXRhCgoyMDE0LTA0LTA4IDE2OjA5OjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJICBkdmI6IGZpeCBjb21waWxhdGlvbgoKMjAxNC0wNC0wOCAxNTo1NDowMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlbWVtb3J5LmM6CgkgIGdsOiBmaXggbGVha3MKCSAgQXMgdGhlIHJlbGV2YW50IHZhcmlhYmxlcyBhcmUgaW5pdGlhbGl6ZWQgdG8gMC9OVUxMLCB3ZSBjYW4gbG9vcAoJICBvdmVyIHRoZSBmdWxsIHJhbmdlIGFuZCBtYWtlIHN1cmUgd2UgZnJlZSBwYXJ0aWFsIGFsbG9jYXRpb25zCgkgIHdoZW4gYW4gZXJyb3IgaGFwcGVucyBwYXJ0d2F5IHRocm91Z2ggaW5pdGlhbGl6YXRpb24uCgoyMDE0LTA0LTA4IDE1OjI2OjA0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuYzoKCSAgZHZiOiByZWplY3QgdG9vIGxvbmcgc29ja2V0IHBhdGhzCgkgIENvdmVyaXR5IDIwNjAwNAoKMjAxNC0wNC0wOCAxNDozMzowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IGltcGxlbWVudCBzaW1wbGUgS0VZX1VOSVQgc2Vla2luZwoJICBJZiBhIEtFWV9VTklUIHNlZWsgd2FzIHJlcXVlc3RlZCwgYWRqdXN0IHNlZ21lbnQKCSAgc3RhcnQgdG8gcG9zaXRpb24gb2YgdGhlIGtleSBmcmFtZS4KCjIwMTQtMDQtMDggMTQ6MjQ6MzEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBndWFyZCBhZ2FpbnN0IG92ZXJmbG93IGluIGF1ZGlvIHN1YnRpdGxlIHN0cmVhbXMKCSAgVHVybnMgb3V0IHRoZXJlIHdhcyB0aGUgc2FtZSBpc3N1ZSBhcyB3aXRoIHN1YnRpdGxlcy4KCSAgVGhlcmUgaXMgc3BhY2UgZm9yIGEgc2luZ2xlIGF1ZGlvIHN0cmVhbSwgYnV0IHVwIHRvIDI1NQoJICBtYXkgYmUgdXNlZCBiYXNlZCBvbiBhIHVpbnQ4X3QgdmFsdWUgaW4gYSBzdHJ1Y3QsIHdoaWNoIG1heQoJICBvciBtYXkgbm90IGJlIHJlYWQgZnJvbSB0aGUgKHVudHJ1c3RlZCkgZGF0YS4KCSAgQSBjb21tZW50IGluIGlmb190eXBlcy5oIHNheXMgdGhpcyB2YWx1ZSBpcyBlaXRoZXIgMCBvciAxLCBzbwoJICB3ZSBjYW4gZW5zdXJlIHRoaXMgaGVyZSB3aXRob3V0IGRyYXdiYWNrcy4KCSAgQ292ZXJpdHkgMTEzOTU4NQoKMjAxNC0wNC0wOCAxNDoxOToyOSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IGd1YXJkIGFnYWluc3Qgb3ZlcmZsb3cgaW4gbWVudSBzdWJ0aXRsZSBzdHJlYW1zCgkgIFRoZXJlIGlzIHNwYWNlIGZvciBhIHNpbmdsZSBzdWJ0aXRsZSBzdHJlYW0sIGJ1dCB1cCB0byAyNTUKCSAgbWF5IGJlIHVzZWQgYmFzZWQgb24gYSB1aW50OF90IHZhbHVlIGluIGEgc3RydWN0LCB3aGljaCBtYXkKCSAgb3IgbWF5IG5vdCBiZSByZWFkIGZyb20gdGhlICh1bnRydXN0ZWQpIGRhdGEuCgkgIEEgY29tbWVudCBpbiBpZm9fdHlwZXMuaCBzYXlzIHRoaXMgdmFsdWUgaXMgZWl0aGVyIDAgb3IgMSwgc28KCSAgd2UgY2FuIGVuc3VyZSB0aGlzIGhlcmUgd2l0aG91dCBkcmF3YmFja3MuCgkgIENvdmVyaXR5IDExMzk1ODYKCjIwMTQtMDQtMDggMTM6MjY6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBmaXggc2Vla2luZywgc2VuZCBkYXRhIHN0YXJ0aW5nIGZyb20gYSBrZXkgdW5pdAoJICBGaXhlcyBtdWx0aXBsZSBzZWVraW5nIGlzc3Vlcy4gV2hlbiBkb2luZyBBQ0NVUkFURSBvciBub3JtYWwKCSAgbm9uLUtFWVVOSVQgc2Vla3MsIG14ZmRlbXV4IHdvdWxkIGp1c3Qgc2VuZCBkYXRhIGZyb20gdGhlCgkgIGVkaXQgdW5pdCB0aGF0IGNvdmVyZWQgdGhlIHNlZWsgcG9zaXRpb24sIHdoZXRoZXIgdGhhdCdzCgkgIGEga2V5ZnJhbWUgb3Igbm90LiBEZWNvZGVycyB3b3VsZCBvbmx5IG91dHB1dCB0aGluZ3MgZnJvbQoJICB0aGUgbmV4dCBrZXlmcmFtZSB0aGVuLCB3aGljaCBtZWFucyB0aGVyZSdzIGEgZ2FwIGJldHdlZW4KCSAgdGhlIHN0YXJ0IG9mIHRoZSBzZWdtZW50IGFuZCB0aGUgZmlyc3QgZGVjb2RlZCBkYXRhIGluCgkgIHNvbWUgY2FzZXMuIEluIGNvbWJpbmF0aW9uIHdpdGggZ3N0LWVkaXRpbmctc2VydmljZXMgdGhpcwoJICBtaWdodCByZXN1bHQgaW4gYSBmcm96ZW4gcGljdHVyZSBmb3IgdGhlIGR1cmF0aW9uIG9mIHRoYXQKCSAgZ2FwIGF0IHRoZSBiZWdpbm5pbmcgKGlmIHZpZGVvcmF0ZSBmaXhlcyB1cCB0aGUgZmlyc3QKCSAgYnVmZmVyJ3Mgc3RhcnQgdGltZXN0YW1wIHRvIGNvdmVyIHRoZSBlbnRpcmUgZ2FwKSwgb3IKCSAgYSBibGFjayBmcmFtZSAoaWYgbm8gdmlkZW9yYXRlIGlzIHVzZWQgYW5kIHZpZGVvbWl4ZXIKCSAgZmlsbHMgdGhlIGdhcCkuIEFsc28gZml4ZXMgQS9WIHN5bmMgaXNzdWUgd2hlbiByZXF1ZXN0aW5nCgkgIGEgS0VZVU5JVCBzZWVrLgoKMjAxNC0wNC0wOCAxMjozNzozMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJICBkdHNkZWM6IGZpeCBidWZmZXIgb3ZlcmZsb3dzCgkgIENoYW5uZWxzIGNhbiBiZSB1cCB0byA3LiBBbHNvIGFkZCBhIGd1YXJkIGluIGNhc2UgbW9yZSBjYW4gYmUKCSAgcmV0dXJuZWQgaW4gdGhlIGZ1dHVyZS4KCSAgQ292ZXJpdHkgMTEzOTgyMCwgMTEzOTgyMQoKMjAxNC0wNC0wOCAxMzoyMDo1NCArMDIwMCAgWGF2aSBBcnRpZ2FzIDx4YXJ0aWdhc0BmbHVlbmRvLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJICBkaXJlY3Rzb3VuZHNyYzogRml4IGNyaXRpY2FsIGR1ZSB0byBtaXNzaW5nIGRlYnVnIGNhdGVnb3J5IGluaXRpYWxpemF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc4MTIKCjIwMTQtMDQtMDggMTI6MjA6NDAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgIGZlc3RpdmFsOiBmaXggZmQgbGVhawoJICBDb3Zlcml0eSAxMTM5ODMxCgoyMDE0LTA0LTA4IDExOjI2OjM4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICBzcGVlZDogQ2xhcmlmeSBwYXNzdGhyb3VnaCBpbiBzd2l0Y2ggc3RhdGVtZW50CgkgIFdlIGRvIHdhbnQgdGhlIGNhcHMgZXZlbnQgdG8gYmUgZm9yd2FyZGVkIGRvd25zdHJlYW0KCSAgQ0lEICMxMTM5NzU0CgoyMDE0LTA0LTA4IDExOjIzOjUwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBzb3VuZHRvdWNoOiBBZGQgbWlzc2luZyBicmVhayBpbiBzd2l0Y2gKCSAgV2hvb3BzLCBtb2RpZnlpbmcgdGhlIHBpdGNoIHdoZW4gbW9kaWZ5aW5nIHRoZSBvdXRwdXQgcmF0ZSAuLi4KCSAgQ0lEICMxMTM5NzQ5CgoyMDE0LTA0LTA4IDExOjIxOjQ0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkgIHJzdmc6IEFkZCBtaXNzaW5nIGJyZWFrIGluIHN3aXRjaCBzdGF0ZW1lbnQKCSAgVGhpcyB3YXNuJ3QgZmF0YWwgYmVmb3JlICh3b3JzdCBjYXNlIGl0IHdvdWxkIGNsZWFyIGFuIGFscmVhZHkgZW1wdHkKCSAgYWRhcHRlcikuCgkgIENJRCAjMTEzOTc1OAoKMjAxNC0wNC0wOCAxMToyMDoyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgIG1wZWcyZW5jOiBBZGQgbWlzc2luZyBicmVhayBpbiBzd2l0Y2gKCSAgUVVFUllfQ0FQUyBpcyBmdWxseSBoYW5kbGVkLCB3ZSBkb24ndCBuZWVkIHRvIHBhc3N0aHJvdWdoIHRvIHRoZSBkZWZhdWx0CgkgIGhhbmRsZXIuCgkgIENJRCAjMTEzOTc1NgoKMjAxNC0wNC0wOCAwOTo1MTowOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJICBiejI6IEluaXRpYWxpemUgdmFyaWFibGVzCgkgIFRoZXJlIGlzIGEgc21hbGwgY2hhbmNlIHRoYXQgd2UgbWlnaHQgZW5kIHVwIGluIHRoZSBkb25lIHN0ZXAgd2l0aG91dAoJICBoYXZpbmcgYW55IG91dHB1dCBhdmFpbGFibGUuCgkgIEZ1cnRoZXJtb3JlLCB3aGVuIGdvaW5nIHRocm91Z2ggbm90X3JlYWR5LCB3ZSBuZWVkIHRvIGVuc3VyZSBnc3RfYnVmZmVyX3VubWFwCgkgIGhhcyBhIHByb3Blcmx5IGluaXRpYWxpemVkIEdzdE1hcEluZm8uCgkgIENJRCAjMTEzOTkyMwoJICBDSUQgIzExMzk5MjQKCSAgQ0lEICMxMTM5OTE5CgkgIENJRCAjMTEzOTkyMAoKMjAxNC0wNC0wOCAwNzo0ODoyOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgY2hlY2s6IEZpeCBtcGVndHNtdXggY2FwcwoJICBJbmNvbWluZyBzdHJlYW1zIG5lZWQgdG8gYmUgcGFyc2VkLiBEb2Vzbid0IGZpeCB0aGUgdGVzdCBjb21wbGV0ZWx5IHRob3VnaAoKMjAxNC0wNC0wOCAwNzo0NzoxNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IEluaXRpYWxpemUgaGVscGVyIG1wZWd0cyBsaWJyYXJ5CgkgIFdlIG5vdyB1c2UgdGhhdCBsaWJyYXJ5LCB3ZSBuZWVkIHRvIGluaXRpYWxpemUgaXQgc28gdGhhdCBkZWJ1ZwoJICBjYXRlZ29yaWVzIChhbW9uZ3N0IG90aGVyIHRoaW5ncykgZ2V0IHByb3Blcmx5IGluaXRpYWxpemVkCgoyMDE0LTA0LTA3IDEzOjI1OjU2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZG1zMS5jOgoJICBteGY6IGZpeCBzdG9wIGRhdGUgcGFyc2luZyB1c2luZyB0aGUgd3JvbmcgaW5wdXQKCSAgQ292ZXJpdHkgMTEzOTY0NQoKMjAxNC0wNC0wNyAxMzoyMjoyMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanAya2RlY2ltYXRvci9qcDJrY29kZXN0cmVhbS5jOgoJICBqcDJrZGVjaW1hdG9yOiBmaXggY29weS9wYXN0ZSBlcnJvcnMgaW4gZXhwcmVzc2lvbnMKCSAgQ29ycmVjdCBmb3JtdWxhZSBmb3VuZCBpbiBJVFUgVC44MDAsIEIuMTIuMS5bMzQ1XQoJICBDb3Zlcml0eSAxMTM5NjQ5LCAxMTM5NjUwLCAxMTM5NjUxCgoyMDE0LTA0LTA0IDE1OjMwOjIwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NobS5jOgoJICB0ZXN0czogZml4IHNobSB0ZXN0IGRlYWRsb2NrCgkgIFRoZSB0ZXN0IHdhcyBub3QgYnJpbmdpbmcgdGhlIHNvdXJjZSBiYWNrIHRvIE5VTEwsIHNvIGl0cyB0aHJlYWQKCSAgY291bGQgc3RhcnQgY3JlYXRpbmcgYSBidWZmZXIgd2hpbGUgdGhlIHBhZHMgd2VyZSBiZWluZyBzaHV0ZG93bi4KCjIwMTQtMDQtMDYgMTE6NTc6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IENyZWF0ZSBHTCBjb250ZXh0IGFuZCBzZXQgdXAgd2luZG93IGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQKCSAgZ3N0X2dsX2NvbnRleHRfY3JlYXRlKCkgbWlnaHQgbmVlZCB0byBkaXNwYXRjaCBzb21lIG9wZXJhdGlvbnMgdG8gdGhlCgkgIGFwcGxpY2F0aW9uJ3MgbWFpbiB0aHJlYWQsIGFuZCBjYWxsaW5nIHRoaXMgaW4gdGhlIGNoYW5nZV9zdGF0ZSBmdW5jdGlvbgoJICBjYW4gY2F1c2UgZGVhZGxvY2tzLgoKMjAxNC0wNC0wNCAwOToxOTozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBGaXggY2hlY2sgZm9yIGlPUyBmb3IgdGhlIE9wZW5HTCBzdXBwb3J0CgkgIFRoZXJlIGlzIGFsc28gYW4gaTM4NiB2ZXJzaW9uIG9mIGlPUywgd2hpY2ggaXMgZm9yIHRoZSBzaW11bGF0b3IuCgkgIEJldHRlciB1c2Ugb3VyIGFscmVhZHkgZXhpc3RpbmcgSEFWRV9JT1MgY2hlY2sgaW5zdGVhZCBvZiByZWx5aW5nCgkgIG9uIHRoZSBob3N0IHRyaXBsZXQuCgoyMDE0LTA0LTAzIDExOjU0OjQxICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogZml4IHBvc3NpYmxlIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGVzCgoyMDE0LTA0LTAzIDExOjQ4OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZTogb25seSBhZGQgbG9jYXRpb24gd2hlbiBub2RlIGV4aXN0ZWQKCSAgQWN0dWFsbHkgcmV0dXJuIEZBTFNFIHdoZW4gdGhlIGxvY2F0aW9uIG5vZGUgd2FzIG5vbi1leGlzdGluZwoJICBPbmx5IGFkZCB0aGUgbG9jYXRpb24gbm9kZSB3aGVuIGl0IGV4aXN0ZWQKCjIwMTQtMDQtMDIgMjM6NDk6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IFJlcXVpcmUgcGFyc2VkL2ZyYW1lZCBpbnB1dCBmb3IgbW9zdCBvZiB0aGUgc3VwcG9ydGVkIGZvcm1hdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTUxOQoKMjAxNC0wNC0wMiAyMzowODozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJICBkM2R2aWRlb3Npbms6IE9ubHkgcGFzcyBhIGRlc3QgcmVjdGFuZ2xlIGlmIHNldCwgb3RoZXJ3aXNlIHBhc3MgTlVMTAoJICBDYWxsIHdpdGggYW4gdW5pbml0aWFsaXplZCByZWN0YW5nbGUgd2lsbCBjYXVzZSBlcnJvcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTQ5OTgKCjIwMTQtMDQtMDIgMTM6NDg6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgdGVzdHM6IGZpeCBnbCB1bml0IHRlc3RzIGZvciByZWNlbnQgQVBJIGNoYW5nZXMKCjIwMTQtMDQtMDIgMjM6MDU6NDcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBnbDogcGFzcyB2aWRlbyBpbmZvJ3MgYnkgcmVmZXJlbmNlCgoyMDE0LTA0LTAyIDIzOjA1OjExICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsOiBmaXggYXJyYXkgaW5pdGlhbGl6YXRpb24KCjIwMTQtMDQtMDIgMjI6NTQ6NTUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsYnVtcGVyLmM6CgkgIGdsYnVtcGVyOiByZW1vdmUgcmVkdW5kYW50IGNoZWNrCgoyMDE0LTA0LTAyIDIyOjUzOjEwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5jOgoJICBnbC9nbHg6IHVzZSB0aGUgY29udGV4dCdzIGRpc3BsYXkgcmF0aGVyIHRoYW4gYXNraW5nIGZvciB0aGUgd2luZG93J3MKCjIwMTQtMDQtMDIgMjI6NDM6NDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2w6IGZpeCBhc3NpZ25tZW50IG9mIHRlbXBvcmFyeSB2YXJpYWJsZXMKCjIwMTQtMDQtMDIgMjI6NDI6NTAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbDogYXZvaWQgYWRkaW5nIGEgTlVMTCBwb29sIHRvIHByb3Bvc2UgYWxsb2NhdGlvbgoKMjAxNC0wNC0wMiAxMjozODoyOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsL3dpbjMyOiBhY3R1YWxseSBidWlsZCB0aGUgZ2wgcGx1Z2lucyBvbiB3aW4zMgoJICBSZWdyZXNzaW9uIGZyb20gYzhmZjIxNWIwMmVlMTc4NTEzZTA3NmUyZGZiZDE0ZTljZTc3ZWM0OQoKMjAxNC0wNC0wMiAwOToyOTo1NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsL3dpbjMyOiBmaXggZGV0ZWN0aW9uIG9mIEdML3dnbGV4dC5oCgkgIFdhcyByZXN1bHRpbmcgaW4gJ3ByZXNlbnQgYnV0IGNhbm5vdCBiZSBjb21waWxlZCcgZXJyb3JzCgoyMDE0LTA0LTAxIDIxOjQ4OjI2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2w6IGZpeCBkZXRlY3Rpb24gb2YgZXh0ZW5zaW9ucyB3aXRoIEdMIHZlcnNpb25zIDwgMwoJICBNZXNhLCBmb3IgZXhhbXBsZSByZXR1cm5zIHZhbGlkIHBvaW50ZXJzIGZvciBnbEdldEludGVnZXJ2IGFuZAoJICBnbEdldFN0cmluZ2kgZXZlbiBpZiB0aGUgZ2wgdmVyc2lvbiBpcyBsZXNzIHRoYW4gdGhhdCByZXF1aXJlZCBmb3IKCSAgYm90aCB0aG9zZSBmdW5jdGlvbnMgdG8gc3VwcG9zZWRseSBleGlzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzMyNAoKMjAxNC0wMy0zMCAyMTowMjo0NSArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IGZpeCBkb2NzCgkgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MzU2CgoyMDE0LTAzLTMwIDIxOjAyOjEwICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzLXByaXZhdGUuaDoKCSAgbXBlZ3RzOiBhZGQgZHZiLXQyIGRlbGl2ZXJ5IHN5c3RlbSBkZXNjcmlwdG9yCgkgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MzU2CgoyMDE0LTAzLTI0IDE3OjQ0OjQ3ICswMTAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogYnVnZml4IGRlbGl2ZXJ5IHN5c3RlbSBkZXNjcmlwdG9ycwoJICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjk3OQoKMjAxNC0wMy0yNyAyMToyMjozMiArMDEwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IHVzZSBHU1RfUkVBRF9VSU5UMzJfQkUKCSAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjcxODcKCjIwMTQtMDMtMjcgMjE6MjE6MjMgKzAxMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogYWRkIHBhcnNpbmcgZGF0YSBicm9hZGNhc3QgZGVzY3JpcHRvcgoJICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzE4NwoKMjAxNC0wMy0yNyAyMToxODozNiArMDEwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBhZGQgcGFyc2luZyBzdHJlYW0gaWRlbnRpZmllcgoJICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzE4NwoKMjAxNC0wMy0yNyAxMzo1NjoyNiArMDEwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IHVzZSBnbGliIGFsbG9jIGFuZCBmcmVlCgkgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MTU5CgoyMDE0LTAzLTI5IDE3OjI2OjAzICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogdXNlIGNvcnJlY3QgcHJpbnQgZm9ybWF0IGZvciBnaW50NjQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzM4NQoKMjAxNC0wMy0zMCAxODo1MjozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEhhbmRsZSBlcnJvcnMgd2hlbiBzd2l0Y2hpbmcgcGxheWxpc3RzIHByb3Blcmx5CgoyMDE0LTAzLTMwIDE4OjEyOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogR28gRU9TIGlmIHRoZSBlbmQgb2YgdGhlIHNlZ21lbnQgaXMgcmVhY2hlZAoKMjAxNC0wMy0zMCAxODowNjo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFN0b3JlIGJ1ZmZlciBlbmQgcG9zaXRpb24gaW4gc2VnbWVudC5wb3NpdGlvbgoKMjAxNC0wMy0yOSAxMDoxOTo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEZpeCB0eXBvIGluIGRlYnVnIG91dHB1dAoKMjAxNC0wMy0yOCAxODoyNzoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogQ29weSBvdmVyIERJU0NPTlQgZmxhZyBmcm9tIGlucHV0IGJ1ZmZlcnMKCjIwMTQtMDMtMjggMTg6MTE6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBQdXNoIG5leHQgYnVmZmVyIGFmdGVyIGEgZGlzY29udCB3aXRoIHRoZSBESVNDT05UIGZsYWcKCjIwMTQtMDMtMjggMTc6MzI6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBEcmFpbiByZW1haW5pbmcgZGF0YSBvbiBkaXNjb250cwoKMjAxNC0wMy0yOCAxNzoyNTowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IEZsdXNoIGlmIHdlIHJlY2VpdmUgYSBkaXNjb250IGJ1ZmZlcgoKMjAxNC0wMy0yOCAxNzoyNDo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IERvbid0IGRlcmVmZXJlbmNlIE5VTEwgaWYgZmx1c2hlZCBiZWZvcmUgYSBwcm9ncmFtIHdhcyBzZWxlY3RlZAoKMjAxNC0wMy0yNyAxOTo0Mjo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEVuc3VyZSB0aGF0IGFsbCBwZW5kaW5nIGRhdGEgaXMgcHVzaGVkIGV2ZW4gaWYgdGhlIHN0cmVhbSB3YXMgbm90IGFjdGl2YXRlZCBiZWZvcmUKCSAgZ3N0X3RzX2RlbXV4X3B1c2hfcGVuZGluZ19kYXRhKCkgd2lsbCBjaGVjayBpZiBpdCBub3cgY2FuIGFjdGl2YXRlIHRoZQoJICBzdHJlYW0gYW5kIGFkZCB0aGUgcGFkLCB3ZSBkb24ndCBoYXZlIHRvIGNoZWNrIHRoYXQgb3Vyc2VsdmVzLgoJICBGaXhlcyBwbGF5YmFjayBvZiB2ZXJ5IHNob3J0IE1QRUcgVFMgZmlsZXMuCgoyMDE0LTAzLTI3IDE5OjIyOjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogRml4IHB1bGwgbW9kZSBzY2FubmluZyBmb3IgUENSIG9uIHNtYWxsIGZpbGVzCgkgIElmIGEgZmlsZSBkb2VzIG5vdCBjb250YWluIDUgUENScyB1bnRpbCBpdCBpcyBFT1MsIG9yIGRvZXMgbm90CgkgIGNvbnRhaW4gbW9yZSB0aGFuIDY1NTM2MCBieXRlcyB0aGUgUENSIHNjYW5uaW5nIGFsZ29yaXRobSBqdXN0CgkgIGFib3J0ZWQuCgoyMDE0LTAzLTI2IDIyOjI1OjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG9uJ3Qgc2V0IHRoZSBzZWdtZW50IG9mZnNldAoJICBJdCdzIGNhdXNpbmcgd3JvbmcgcnVubmluZyB0aW1lcyBhZnRlciBzZWVrcyBvciBiaXRyYXRlCgkgIHN3aXRjaGVzLgoKMjAxNC0wMy0yNiAwNzozMjo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFNldCBESVNDT05UIGZsYWcgb24gYWxsIGJ1ZmZlcnMgaW4gcmV2ZXJzZSBwbGF5YmFjayBtb2RlCgoyMDE0LTAzLTI2IDA3OjI1OjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBGaXggZm9yd2FyZHMgYW5kIGJhY2t3YXJkcyBzZWFyY2hpbmcgaW4gdGhlIGZpbGVzIGxpc3QKCjIwMTQtMDMtMjYgMDc6MjQ6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBVbnNldCBEVFMgb2YgYWxsIGJ1ZmZlcnMKCSAgV2Ugd29uJ3QgZ2V0IGEgdmFsaWQgRFRTIGZyb20gdGhlIHNvdXJjZS4KCjIwMTQtMDMtMjYgMDc6MjI6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBTZW5kIGZsdXNoIHN0YXJ0IGV2ZW50IGJlZm9yZSB3YWl0aW5nIGZvciB0aGUgdGFza3MgdG8gZmluaXNoCgkgIE90aGVyd2lzZSB3ZSdsbCB3YWl0IHVudGlsIGJ1ZmZlcnMgYXJlIGNvbXBsZXRlbHkgcHJvY2Vzc2VkIGRvd25zdHJlYW0sCgkgIHdoaWNoIG1pZ2h0IHRha2UgcXVpdGUgc29tZSB0aW1lLgoKMjAxNC0wMy0wOSAxOTozMTozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogSW1wbGVtZW50IHRyaWNrIG1vZGVzIHZpYSBJLWZyYW1lIHZhcmlhbnQgbGlzdHMKCjIwMTQtMDMtMDkgMTg6MjQ6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBJbXBsZW1lbnQgcGFyc2luZyBvZiAjRVhULVgtSS1GUkFNRS1TVFJFQU0tSU5GCgkgIFRoZXNlIGFyZSBJLWZyYW1lLW9ubHkgdmFyaWFudCBsaXN0cyB0aGF0IGNhbiBiZSB1c2VkCgkgIGZvciB0cmljayBtb2RlIHBsYXliYWNrLgoKMjAxNC0wMy0yOCAyMDoyMjo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvTWFrZWZpbGUuYW06CgkgIGdsOiBlZ2w6IGZpeCBkaXN0Y2hlY2sgYW5kIG91dCBvZiBzb3VyY2UgYnVpbGQKCjIwMTQtMDMtMjggMjA6NDc6MzYgKzAxMDAgIFJpY28gVHpzY2hpY2hob2x6IDxyaWNvdHpAdWJ1bnR1LmNvbT4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBidWlsZDogRml4IG1ha2UgZGlzdAoKMjAxNC0wMy0yOCAxOTo0NjozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZml4IExEQUREIG9yZGVyIGZvciBpbnNlcnRiaW4gdGVzdAoKMjAxNC0wMy0yOCAxOTo0MToyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZG9uJ3QgbGluayBjb2RlY3BhcnNlciB0ZXN0cyB0d2ljZSB0byB0aGUgbGliCgoyMDE0LTAzLTI4IDE5OjMwOjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBmaXggYnVpbGQgb2YgZ2wgdW5pdCB0ZXN0cyBpbiB1bmluc3RhbGxlZCBzZXR1cAoJICBQdXQgbG9jYWwgLmxhIGZpbGVzIGZpcnN0LCBhbmQgYWRkIGxpbmsgdG8gbGliZ3N0dmlkZW8KCSAgZm9yIHRlc3RzIHRoYXQgdXNlIHRoZSBsaWJnc3R2aWRlbyBBUEkgZGlyZWN0bHkuCgoyMDE0LTAzLTI3IDIyOjQxOjAyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2wvd2luMzI6IGFsbG93IG5vdCBidWlsZGluZyB0aGUgZ2wgcGx1Z2lucwoJICBGaXhlcyBidWlsZCBvbiB3aW5kb3dzIGlmIDxHTC93Z2xleHQuaD4gaGVhZGVycyBhcmUgbm90IHByZXNlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjcxMjUKCjIwMTQtMDMtMjggMTE6NTQ6NDUgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IHVucmVmIGxhc3QgYnVmZmVyIG9uIERSQUlOCgkgIFNpbWlsYXIgdG8gMDkzNTc0MDUzZmFlMjQzZWM1ZmNmZDZhZGFlODE4NTA1M2IxZTg5NgoJICBpbiBnc3RiYXNlc2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2MTA3CgoyMDE0LTAzLTI3IDE4OjUxOjU5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IGZpeCB3cm9uZyBkb2MgYmxvY2sgZm9yIGNyZWF0ZV93aW5kb3cKCSAgV3Jvbmcgc2luY2UgMWFkMjUzYjkgd2hlbiBwcm9wIG5hbWUgd2FzIGNoYW5nZWQgZnJvbQoJICBjYW5fY3JlYXRlX3dpbmRvdyB0byBjcmVhdGVfd2luZG93LgoKMjAxNC0wMy0yNyAyMjowMjoyMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsOiBkb24ndCBmYWlsIGNvbmZpZ3VyZSBpZiB3ZSBkbyBub3QgdW5kZXJzdGFuZCB0aGUgcGxhdGZvcm0KCjIwMTQtMDMtMjUgMTU6NDA6MTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvTWFrZWZpbGUuYW06CgkgIGdsOiBmaXggb3V0LW9mLXNvdXJjZSBidWlsZHMgcHQyCgkgIDIxYjg5N2RlMmY3NjJiZWU1MDRjYmMwMDdmZDEwODE0OGVlNWFlMjQgZGlkIHRoaXMgZm9yIHgxMSBhbmQgd2F5bGFuZC4KCSAgRG8gaXQgZm9yIHRoZSBvdGhlciBiYWNrZW5kcyBhcyB3ZWxsLgoKMjAxNC0wMy0yNiAyMzoxMzo1MyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsOiBvbmx5IHNldCBDQVBTX0ZFQVRVUkVfTUVNT1JZX0VHTF9JTUFHRSBvbiBlZ2wgcGxhdGZvcm0KCjIwMTQtMDMtMjYgMTc6MTQ6NDAgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogZml4IE9TWCBob3N0IGNoZWNrCgkgIE1ha2VzIHRoZSBjaGVjayB3b3JrcyB3aXRoIChpMzg2fHg4Nl82NCktYXBwbGUtZGFyd2luKiBob3N0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzEwNAoKMjAxNC0wMy0yNiAxOToxNzowMyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbDogbGV0IHRoZSB1c2VyIGluY2x1ZGVzIGl0c2VsZiBvdXIgZWdsIGhlYWRlcnMgaWYgbmVlZGVkCgkgIEZvcmdvdCB0byBhZGRyZXNzIHRoaXMgY2hhbmdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzQzCgoyMDE0LTAzLTIyIDIyOjAxOjQ5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkgIGdsOiBhZGQgRUdMSW1hZ2Ugc3VwcG9ydAoJICAqIHBpY2tlZCBmcm9tIG9sZCBsaWJnc3RlZ2w6CgkgIC0gR3N0RUdMSW1hZ2VNZW1vcnkKCSAgLSBHc3RFR0xJbWFnZUFsbG9jYXRvcgoJICAtIGxhc3RfYnVmZmVyIG1hbmFnZW1lbnQgZnJvbSByZW1vdmVkIEdzdEVHTEltYWdlQnVmZmVyUG9vbAoJICAqIGFkZC1vbnM6CgkgIC0gR3N0RUdMSW1hZ2VNZW1vcnkgbm93IG9sZCBhIHJlZmVyZW5jZSBvbiBHc3RHTENvbnRleHQKCSAgc28gdGhhdCBpdCBjYW4gZGVsZXRlIHRoZSBFR0xJbWFnZSBhbmQgaXRzIGdsdGV4dHVyZSBzb3VyY2UKCSAgd2hpbGUgaGF2aW5nIHRoZSBhc3NvY2lhdGVkIGdsIGNvbnRleHQgYmVpbmcgY3VycmVudC4KCSAgLSBhZGQgRUdMSW1hZ2Ugc3VwcG9ydCBmb3IgR3N0VmlkZW9HTFRleHR1cmVVcGxvYWRNZXRhIHdoaWNoCgkgIG1haW5seSBjYWxsIEVHTEltYWdlVGFyZ2V0VGV4dHVyZTJECgkgIC0gR3N0R0xCdWZmZXJQb29sIG5vdyBzdXBwb3J0cyBHc3RFR0xJbWFnZUFsbG9jYXRvcgoJICAtIGdsaW1hZ2VzaW5rIC8gZ2xmaWx0ZXJzIC8gZXRjLi4gbm93IHByb3Bvc2UgR3N0RUdMSW1hZ2VBbGxvY2F0b3IKCSAgdG8gdXBzdHJlYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzM0MwoKMjAxNC0wMy0yNCAxMjoxMjo0MiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9NYWtlZmlsZS5hbToKCSAgZ2w6IGRlcGxveSBlZ2wgaGVhZGVycyBpbiBnc3QvZ2wvZWdsIGluc3RlYWQgb2YgZ3N0L2dsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMzNDMKCjIwMTQtMDMtMjQgMTI6MTA6MDAgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9NYWtlZmlsZS5hbToKCSAgZ2w6IHJlbW92ZSBjb21tZW50ZWQgYW5kIHVuc3VlZCBjb2RlIGluIHgxMSBNYWtlZmlsZS5hbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzQzCgoyMDE0LTAzLTIzIDIxOjU1OjM0ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJICBwa2djb25maWc6IGFkZCBnc3RyZWFtZXItZ2wKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzM0MwoKMjAxNC0wMy0yNCAxMjowNDowOCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsOiBmaXggY3Jhc2ggaWYgX2J1aWxkX2V4dGVuc2lvbl9zdHJpbmcgaXMgbm90IGNhbGxlZAoJICBPbiBHTEVTMiB0aGVuIChnbC0+R2V0SW50ZWdlcnYgJiYgZ2wtPkdldFN0cmluZ2kpIGlzIGZhbHNlCgkgIHJlZ3Jlc3Npb24gaW50cm9kdWNlZCBieSBjYzZkZjIwNGUyZjU4ZmZmZGE1Y2JlOTBmMzQ1MGFlYmE5NTg4OWM0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMzNDMKCjIwMTQtMDMtMjYgMTA6MTQ6MzYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsOiBPbmx5IGVuYWJsZWQgY29jb2EgYmFja2VuZCBvbiBvc3ggKGFuZCBub3QgaW9zKQoJICBpb3MgcmVxdWlyZXMgdXNpbmcgRUFHTAoKMjAxNC0wMy0yNiAwOTowNToxNSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJICBydG1wc2luazogUmVtb3ZlIFVSTCBjaGVjayBmb3IgdmFsaWQgcGxheXBhdGguCgkgIFRoZSBwbGF5cGF0aCBpcyBhbiBvcHRpb25hbCBjb21wb25lbnQgb2YgdGhlIFVSTCAtIGRvbid0IHJlcXVpcmUgaXQuCgoyMDE0LTAzLTI1IDE3OjM5OjE4ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cGVuYzogdW5sb2NrIG9iamVjdCBsb2NrIGJlZm9yZSBwb3N0aW5nIGVycm9yCgkgIFBvc3RpbmcgYW4gZXJyb3Igd2l0aCB0aGUgb2JqZWN0IGxvY2sgd2lsbCBkZWFkbG9jay4gUmV3b3JrIHRoZSBjb2RlCgkgIGEgYml0IHRvIG1ha2UgdGhpbmdzIG1vcmUgc2ltcGxlLgoKMjAxNC0wMy0yNSAxNTowNDoxNCArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9tZXRhLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogY29zbWV0aWNzOiBkcm9wIFRBQiBjaGFyYWN0ZXJzLgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTAzLTI1IDIxOjQwOjExICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSAgZHZic3Vib3ZlcmxheTogQ2xhcmlmeSBjb25mdXNpbmcgZGVidWcgbWVzc2FnZQoJICBUaGUgbWVzc2FnZSBpcyBkZXNjcmliaW5nIHRoZSBudW1iZXIgb2YgYnl0ZXMgcmVtYWluaW5nIGZvcgoJICBwYXJzaW5nLCBub3QgJ21pc3NpbmcnLgoKMjAxNC0wMy0yNSAyMTo0MDoxMSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICB0c2RlbXV4OiBGaXggbXBlZ3RzX3BhY2tldGl6ZXJfc2V0X2N1cnJlbnRfcGNyX29mZnNldCgpCgkgIFdoZW4gYWRqdXN0aW5nIHRoZSBQQ1Igb2Zmc2V0IG9mIGdyb3VwcywgYWRqdXN0IHRoZSBjb3JyZWN0IGdyb3VwCgkgIGVudHJ5IGZyb20gdGhlIGxpc3QgLSBub3QgdGhlIGN1cnJlbnQgZ3JvdXAgcmVwZWF0ZWRseS4KCjIwMTQtMDMtMjUgMjE6NDA6MTEgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJICBkdmJzdWJvdmVybGF5OiBSZW1vdmUgd2FybmluZyBmb3IgMi1iaXQgYW5kIDgtYml0IHN1YnBpY3R1cmVzCgkgIEJvdGggMi1iaXQgYW5kIDgtYml0IG1vZGUgbm93IHNlZW0gZmluZSwgc28gcmVtb3ZlIHRoZSB3YXJuaW5nCgkgIG1lc3NhZ2VzIGFib3V0IHRoZW0KCjIwMTQtMDMtMjUgMjE6NDA6MTAgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJICBkdmJzdWJvdmVybGF5OiBGaXggOC1iaXQgc3VicGljdHVyZSByZW5kZXJpbmcuCgkgIEZpeCAyIHNtYWxsIGZsYXdzIGhhbmRsaW5nIDgtYml0IHN1YnBpY3R1cmVzIHRoYXQgbWFrZXMKCSAgbXkgb25lIHRlc3QgZmlsZSB3b3JrLgoKMjAxMy0wMy0wOCAwOTo1NzoyMiArMDgwMCAgTGkgWGlhb3dlaSA8eGlhb3dlaS5hLmxpQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBzbGljZV9oZWFkZXIoKSBwYXJzaW5nIGZvciBNVkMuCgkgIFRoZSBpZHJfcGljX2lkIHN5bnRheCBlbGVtZW50IGRlcGVuZHMgb24gSWRyUGljRmxhZywgd2hpY2ggaXMgYSBjYWxjdWxhdGVkCgkgIHZhbHVlIHRoYXQgZG9lcyBub3Qgb25seSBkZXBlbmQgb24gTkFMIHVuaXQgdHlwZSAoSURSKSwgYnV0IHBvc3NpYmx5IGFsc28KCSAgb24gTVZDIG5vbl9pZHJfZmxhZyBzeW50YXggZWxlbWVudC4KCSAgVGhlIGNvbXB1dGVkIGlkcl9waWNfZmxhZyBpcyBhbHJlYWR5IHN0b3JlZCBpbiBHc3RIMjY0TmFsVW5pdCBzdHJ1Y3R1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjE3NzIKCSAgU2lnbmVkLW9mZi1ieTogTGkgWGlhb3dlaSA8eGlhb3dlaS5hLmxpQGludGVsLmNvbT4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMi0xMC0wMSAwOTo0ODowNiArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogYWRkIGdzdF9oMjY0X3BhcnNlX25hbHVfaGVhZGVyKCkgaGVscGVyLgoJICBBZGQgaGVscGVyIHRvIHBhcnNlIHRoZSBOQUxVIGhlYWRlci4gTW92ZSBib3VuZHMgY2hlY2tpbmcgdG8gdGhlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODUyMTUKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMi0xMC0wMSAwOTozNzoyMSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogYWRkIGdzdF9oMjY0X3BhcnNlX3Nwc19kYXRhKCkgaGVscGVyLgoJICBTcGxpdCBzZXFfcGFyYW1ldGVyX3NldF9kYXRhKCkgcGFyc2luZyBvZmYgZ3N0X2gyNjRfcGFyc2Vfc3BzKCkgc28KCSAgdGhhdCBpdCBjb3VsZCBiZSByZS11c2VkIGxhdGVyIG9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1MjE1CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTItMDktMjYgMTg6NDY6MzYgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGNvbXBsZXRlIHNldCBvZiBOQUwgdW5pdCB0eXBlcy4KCSAgQWRkIG1pc3NpbmcgTkFMIHVuaXQgdHlwZXMuIFRoZXkgYXJlIG1vc3RseSByZWxhdGVkIHRvIGFscGhhIGJsZW5kaW5nLAoJICBzY2FsYWJsZSB2aWRlbyBjb2RpbmcgZXh0ZW5zaW9ucyAoU1ZDLCBBbm5leC5HKSwgYW5kIG11bHRpdmlldyB2aWRlbwoJICBjb2RpbmcgZXh0ZW5zaW9ucyAoTVZDLCBBbm5leC5IKS4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wMy0yNCAxOToyNzo0NCArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogY2xlYW4tdXAgZ3N0X2gyNjRfcGFyc2VyX3BhcnNlX3NlaV9tZXNzYWdlKCkuCgkgIEZpeCBidWlsZCB3aGVuIEdTVF9ESVNBQkxFX0dTVF9ERUJVRyBpcyBub3QgZGVmaW5lZC4gVXNlIGEgc3dpdGNoCgkgIHN0YXRlbWVudCB0byBkaXNwYXRjaCB0byB0aGUgdmFyaW91cyBTRUkgcGF5bG9hZCBoYW5kbGVycy4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wMy0yMSAxNzowNzoxOSArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvbmFsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9uYWx1dGlscy5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBza2lwcGluZyBvZiB1bnN1cHBvcnRlZCBTRUkgbWVzc2FnZXMuCgkgIFRoZSBwYXlsb2FkU2l6ZSBkb2VzIG5vdCBhY2NvdW50IGZvciBlbXVsYXRpb24gcHJldmVudGlvbiBieXRlcy4gU28sCgkgIGp1c3QgdXNlIG5hbF9yZWFkZXJfc2tpcCgpIGZvciBza2lwcGluZyBwYXlsb2FkX3NpemUgYml0cy4gSXQgc2hvdWxkCgkgIGJlIHBvc3NpYmxlIHRvIGZ1cnRoZXIgb3B0aW1pemUgdGhpcyBjb2RlIHNpbmNlIHRoZSBOQUwgcmVhZGVyIHNoYWxsCgkgIGJlIGFsaWduZWQgdG8gYnl0ZSBib3VuZGFyeSBhbHJlYWR5LgoJICBLaWxsIHRoZSBub3cgdW51c2VkIG5hbF9yZWFkZXJfc2tpcF90b19uZXh0X2J5dGUoKSBmdW5jdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjgyOQoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTAzLTIxIDE3OjAzOjM2ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggU0VJIGJ1ZmZlcmluZ19wZXJpb2QoKSBwYXJzaW5nLgoJICBGaXggcGFyc2luZyBvZiBidWZmZXJpbmdfcGVyaW9kKCkgU0VJIG1lc3NhZ2VzLiBUaGUgbnVtYmVyIG9mIGJpdHMKCSAgdXNlZCB0byBleHByZXNzIHtuYWwsdmNsfV9pbml0aWFsX2NwYl9yZW1vdmFsX2RlbGF5eyxfb2Zmc2V0fSBzeW50YXgKCSAgZWxlbWVudHMgaXMgbm90IDUgYnV0IDEgKyBpbml0aWFsX2NwYl9yZW1vdmFsX2RlbGF5X2xlbmd0aF9taW51czEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY4MjgKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMi0xMC0xMCAxNjoxOTo0OSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9uYWx1dGlscy5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCByYnNwX21vcmVfZGF0YSgpIGltcGxlbWVudGF0aW9uLgoJICBBY2NvdW50IGZvciB0cmFpbGluZyB6ZXJvIGJpdHMgd2hlbiBjaGVja2luZyBmb3IgcmJzcF9tb3JlX2RhdGEoKS4KCSAgSW4gcGFydGljdWxhciwgZml4IGFuIGh5cG90aGV0aWNhbCBzdHJlYW0gd2hlcmVieSByYnNwX21vcmVfZGF0YSgpCgkgIGlzIGNhbGxlZCBpbiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgZm9yIFBQUyBoZWFkZXI6IE5hbFJlYWRlcgoJICByZWFjaGVkIHBvc2l0aW9uIDIwLCAxMiBiaXRzIGFyZSByZW1haW5pbmcgYW5kIHRyYWlsaW5nIGRhdGEgYXQKCSAgY3VycmVudCBieXRlIHBvc2l0aW9uIGlzIGM4IDAwLgoJICByYnNwX21vcmVfZGF0YSgpIHVzZWQgdG8gcmV0dXJuIFRSVUUgd2hlcmVhcyBpdCBzaG91bGQgb2J2aW91c2x5CgkgIHJldHVybiBGQUxTRSBiZWNhdXNlIHg4IDAwIHJlcHJlc2VudHMgYSB2YWxpZCByYnNwX3RyYWlsaW5nX2JpdHMoKQoJICBzdHJ1Y3R1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODU4OTAKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wMy0yNCAxNzozMzowMCArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL01ha2VmaWxlLmFtOgoJICBnbDogZml4IG91dC1vZi1zb3VyY2UgYnVpbGRzLgoJICBBbHdheXMgdXNlIHRoZSBsb2NhbGx5IGdlbmVyYXRlZCA8Z3N0L2dsL2dzdGdsY29uZmlnLmg+IGZpbGUuCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDMtMjUgMDA6NTA6MzAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgZ2wvZG93bmxvYWQ6IGFkZCBzdXBwb3J0IGZvciB0aGUgYnQ3MDkgY29sb3IgbWF0cml4CgoyMDE0LTAzLTI1IDAwOjM0OjEzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC91cGxvYWQ6IGFkZCBzdXBwb3J0IGZvciB0aGUgYnQ3MDkgY29sb3IgbWF0cml4CgoyMDE0LTAzLTI0IDIzOjA5OjIwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL01ha2VmaWxlLmFtOgoJICBnbDogcmVtb3ZlIGV4cGxpY2l0IHJlZmVyZW5jZSB0byBYX0NGTEFHUwoJICBUaGV5IGFyZSBpbiBHTF9DRkxBR1MgaWYgcmVxdWlyZWQKCjIwMTQtMDMtMjMgMjM6NDM6MjggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3VwbG9hZDogcmVtb3ZlIHRoZSBsZWdhY3kgR0wgMS54IHVwbG9hZCBwYXRoCgkgIHVwbG9hZGluZyByZXF1aXJlcyBzaGFkZXJzIGFuZCBmYm9zIGF2YWlsYWJsZSBpbiBHTDIuCgoyMDE0LTAzLTIzIDExOjAyOjA4ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2w6IGZhbGxiYWNrIHRvIGdsR2V0U3RyaW5nIGlmIEdMX05VTV9FWFRFTlNJT05TIGZhaWxzCgkgIE5lZWQgaXQgb24gTWFjT1NYIDEwLjcuNQoKMjAxNC0wMy0yMyAwMTowMjowMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2FsbF9mdW5jdGlvbnMuaDoKCSAgZ2w6IGFuZCB1cGRhdGUgdGhlIE1ha2VmaWxlCgoyMDE0LTAzLTIzIDAwOjM4OjE2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvYWxsX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2Jhc2UuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9ibGVuZGluZy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2VnbGltYWdlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZmJvLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZml4ZWRmdW5jdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMxX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMxZ2xlczIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMWdsZXMyb3BlbmdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczFvcGVuZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMyX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMyb3BlbmdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczNvcGVuZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9vcGVuZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9vcGVuZ2xfZnVuY3Rpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvc2hhZGVycy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSAgZ2w6IHJlb3JnYW5pemUgdGhlIGV4dGVuc2lvbiBoZWFkZXJzIGJ5IGZ1bmN0aW9uIHJhdGhlciB0aGFuIGFwaQoKMjAxNC0wMy0yMSAyMDoyOTo0OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5jOgoJICBnbC93aW4zMjogdXNlIHRoZSBjb3JyZWN0IGluY2x1ZGUgYW5kIGdzdC1pbmRlbnQKCjIwMTQtMDMtMjEgMTU6NTY6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgY2hlY2s6IGZpeCBtYWtlIGNoZWNrCgkgIFRoZSBtcGVnIHBhcnNlciBub3cgZmxhZ3MgdGhlIHN0cmVhbSBhcyBtcGVnMiBpZiB0aGVyZSBpcyBhIHBpY3R1cmUKCSAgZXh0ZW5zaW9uIGhlYWRlciwgc28gcmVtb3ZlIGl0IGZvciBtcGVnMSBkYXRhLgoKMjAxNC0wMy0xOCAwOToxNjoyNSArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmM6CgkgIGdsOiB1c2Ugd2dsQ3JlYXRlQ29udGV4dEF0dHJpYnNBUkIgdG8gY3JlYXRlIHNoYXJlIGNvbnRleHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjQ5NAoKMjAxNC0wMy0xNyAyMDo0MzozNSArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbC9taXhlcjogZml4IGRvd25sb2FkIGNoZWNrIGZvciBmYWlsdXJlCgoyMDE0LTAzLTE3IDIwOjQwOjUxICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsOiBzaWxlbmNlIGEgY3JpdGljYWwgaWYgdXBzdHJlYW0gZG9lcyBub3QgcHJvdmlkZSB1cyB3aXRoIG1ldGEgcGFyYW1zCgoyMDE0LTAzLTE5IDEzOjQ4OjEwICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIGdsOiBzaWxlbmNlIHdhcm5pbmdzIGJ1aWxkaW5nIGZvciBSUEkgcmVsYXRlZCB0byAndmNvc18qJwoJICBTaW1pbGFyIHRoYW4gMTE5MGE3OWIxOTk1ODRjZmM0ZGQ2MmM0NzQ1MzFjMzJjZmJiYTQyNQoKMjAxNC0wMy0xOSAxMzo0NTozNSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsZGlzcGxheV9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl9lZ2wuaDoKCSAgZ2w6IGtlZXAgb25seSBvbmUgb2NjdXJlbmNlIG9mICcjaW5jbHVkZSA8RUdML2VnbC5oPicKCSAgVG8gc2ltcGx5IG1haW50YWluYW5jZSBpZiB3ZSBuZWVkIHRvIHB1dCBzcGVjaWZpYyBpbmNsdWRlcyBhcm91bmQgaXQuCgoyMDE0LTAzLTE2IDAxOjI1OjEwICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogRG9uJ3QgZm9yd2FyZCB0ZXh0IGdhcCBldmVudHMgZG93bnN0cmVhbQoJICBUaGF0IGdhcCBpcyBvbmx5IGZvciB0aGUgc3VidGl0bGUgc3RyZWFtIGFuZCBub3QgZm9yIHRoZSB2aWRlbyBzdHJlYW0uCgoyMDE0LTAzLTE4IDAwOjExOjA5ICswMDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2w6IGRvbid0IGRlZmF1bHQgdG8gR1NUX0dMX0hBVkVfV0lORE9XX0RJU1BNQU5YPTEKCSAgTWlzdGFrZSBpbnRyb2R1Y2VkIGJ5IDJhMGYwMzk5YWUyMjYwODljMmJhMDdiMWI5MDQ3NDFiODU2ZjM3YWYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjU5MQoKMjAxNC0wMy0xOCAwMDowODo1MCArMDAwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nc3RnbF9jb21wYXQuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2dzdGd0ay5jOgoJICBnbDogZml4IHRoZSB1c2Ugb2YgYWx3YXlzLWRlZmluZWQgbWFjcm9zCgkgIEFmdGVyIDJhMGYwMzk5YWUyMjYwODljMmJhMDdiMWI5MDQ3NDFiODU2ZjM3YWYgR1NUX0dMXyogbWFjcm9zIGFyZSBhbHdheXMKCSAgZGVmaW5lZCB0byAwIG9yIDEuIERvbid0IHVzZSAjaWZkZWYgLi4uIG9yICNpZiBkZWZpbmVkKCkgb24gdGhlbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjU5MQoKMjAxNC0wMy0xOCAwMDowNzo0MyArMDAwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsOiBjaGVjayBmb3IgWCB1bmNvbmRpdGlvbmFsbHkKCSAgV2l0aG91dCB0aGlzIHRoZSBIQVZFX1ggbWFjcm8gaXMgZW1wdHksIG5vdCAibm8iIG9yICJ5ZXMiLCB3aGljaCBpcyBub3QKCSAgd2hhdCB0aGUgbGF0ZXIgY29kZSBpcyBjb3VudGluZyBvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjU5MQoKMjAxNC0wMy0xNyAxNzozNToyMiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsOiBzZXQgZGVmYXVsdCB2YWx1ZSB0byAwIGZvciBhbGwgZGVmaW5pdGlvbnMgdGhhdCBnbyB0byBnc3RnbGNvbmZpZy5oCgkgIFRvIGF2b2lkIHdhcm5pbmdzIGxpa2UgIkdTVF9HTF9IQVZFX09QRU5HTCBpcyBub3QgZGVmaW5lZCIuCgkgIEFzIHdlIGFyZSB1c2luZyAjaWYgaW5zdGVhZCBvZiAjaWZkZWYKCjIwMTQtMDMtMTcgMTU6NDk6MzcgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBnbDogYWxsb3cgbm90IGJ1aWxkaW5nIHRoZSBnbCBsaWJyYXJ5IHBsdWdpbnMKCjIwMTQtMDMtMTcgMTU6MTY6MTMgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBnbDogYWRkIEdNb2R1bGUgbGlicyBmb3Igd2luMzIKCjIwMTQtMDMtMTcgMTU6MDY6MjUgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBnbDogb25seSBsaW5rIGFnYWluc3QgZ3N0ZWdsIGlmIHdlIGFyZSB1c2luZyBlZ2wKCSAgQXNzdW1pbmcgaWYgd2UgYXJlIGJ1aWxkaW5nIGVnbCB0aGF0IHRoZSBlZ2wgbGlicmFyeSBpcyBidWlsdAoKMjAxNC0wMy0xNyAxNTowNToyNCArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsOiBhZGQgdGhlIG9wdGlvbiBvZiBkaXNhYmxpbmcgY29jb2Egb24gT1MgWCB1c2luZyAtLWRpc2FibGUtY29jb2EKCjIwMTQtMDMtMTcgMTQ6Mzc6MTMgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBnbDogYWRkIHBhdGggb2YgdGhlIGdzdGVnbCBsaWJyYXJ5CgkgIFRlbXBvcmFyeSB1bnRpbCB3ZSBtZXJnZSB0aGUgdHdvIGxpYnJhcmllcwoKMjAxNC0wMy0xNyAxNDoyNjozMSArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFJldmVydCAiZ2w6IGFkZCBkZXAgb24gZ3N0ZWdsIgoJICBJdCB3YXMgYWxyZWFkeSBpbiBfTElCQURECgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYjEwYTM1MzA4MDQzMzVmYzNiOTQ5NDYwM2VmNzhjZTk0MTdjM2JjOC4KCjIwMTQtMDMtMTcgMTQ6MTE6MTQgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBnbDogYWRkIGRlcCBvbiBnc3RlZ2wKCSAgVGVtcG9yYXJ5IHVudGlsIHdlIG1lcmdlIHRoZSB0d28gbGlicmFyaWVzCgoyMDE0LTAzLTE3IDE0OjA2OjIyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IEZpeCBkZWJ1ZyBzdGF0ZW1lbnRzIGFuZCBwbGF0Zm9ybQoKMjAxNC0wMy0xNyAxMjozMjoyNiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsOiBzZXQgSEFWRV9FR0xfUlBJIHRvIHllcyBpZiBIQVZFX0dMIGFuZCBSUEkKCSAgV2hpY2ggZml4ZXMgYnVpbGQgb24gUmFzcGJlcnJ5IFBpIHNpbmNlIC1nbCBoYXMgYmVlbiBtb3ZlZCB0byAtYmFkCgoyMDE0LTAzLTE3IDEyOjA0OjQwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL01ha2VmaWxlLmFtOgoJICBnbDogRml4IHN0YXRpYyBidWlsZCB3aXRoIG9iamVjdGl2ZS1DCgkgIC0tdGFnPUNDIGlzIG5lZWRlZCBmb3Igc3RhdGljIGJ1aWxkCgoyMDE0LTAzLTE3IDEyOjAwOjA5ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIG1ha2U6IHdoaXRlc3BhY2UgY2xlYW51cHMKCjIwMTQtMDMtMTcgMTA6NTY6MzkgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGRpc3BsYXlfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xkaXNwbGF5X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgZ2w6IEFkZCBFR0xEaXNwbGF5IGRpc3BsYXkgc3ViY2xhc3MKCjIwMTQtMDMtMTcgMTA6NDQ6MzIgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsL3dpbmRvdzogYWRkIGEgZHVtbXkgd2luZG93IGNsYXNzCgkgIEVmZmVjdGl2ZSBmb3IgdGhlIGNhc2Ugd2hlcmUgd2UgaGF2ZSBhIHBsYXRmb3JtIHRoYXQgZG9lcyBub3QKCSAgcmVxdWlyZSBhIG5hdGl2ZSB3aW5kb3cuICBXZSByZXF1aXJlIGEgbWFpbmxvb3AgdG8gcnVuIHRoZSBHTAoJICBjb21tYW5kcyB3aGljaCBpcyBjdXJyZW50bHkgb3BlcmF0ZWQgYnkgR3N0R0xXaW5kb3cuCgoyMDE0LTAzLTE3IDA4OjEwOjUwICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkgIGdsOiBmaXggdW5kZWNsYXJlZCBzeW1ib2wgd2hlbiBidWlsZGluZyB3aXRob3V0IEdTVF9ERUJVRwoKMjAxNC0wMy0xNiAxODo1NTowMyArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJICBnbDogZml4IGEgZG91YmxlIHVucmVmIG9mIHRoZSBxdWVyeSB3aGVuIGJ1aWxkaW5nIHdpdGhvdXQgWAoKMjAxNC0wMy0xNiAxNjozNjowNiArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogaGFuZGxlIHZpZGVvL3gtcmF3KEFOWSkgaWYgZG93bnN0cmVhbSBzdXBwb3J0cyB0aGUgR3N0VmlkZW9PdmVybGF5Q29tcG9zaXRpb25NZXRhIEFQSQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2NDYzCgoyMDE0LTAzLTE2IDE3OjIxOjM4ICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkgIGdsOiBzaWxlbmNlIGEgY29tcGlsZXIgd2FybmluZyBhYm91dCBtaXNzaW5nIHByb3RvdHlwZXMKCjIwMTQtMDMtMTQgMTk6MDM6MzYgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgZ2wvdXRpbHM6IGFkZCB4MTEgR3N0Q29udGV4dCBoYW5kbGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2MzYwCgoyMDE0LTAzLTE2IDE1OjM0OjExICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2w6IGRlZmluZSBHTF9OVU1fRVhURU5TSU9OUyBpZiBub3QgZGVmaW5lZAoKMjAxNC0wMy0xNiAxNTowODoyMyArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2xpYnMvLmdpdGlnbm9yZToKCSAgTW92ZSBnc3QtcGx1Z2lucy1nbCB0byBiYWQKCjIwMTQtMDMtMTYgMTU6MDY6MzcgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBleHQvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYXBwLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmJsdXIuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc29iZWwuaDoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICBnbDogc2lsZW5jZSBhbGwgdGhlIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDE0LTAzLTE2IDExOjIzOjE2ICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9CVUdTOgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5oOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzY3VydmVzLmg6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGV4dC9nbC9nbHRlc3RzcmMuYzoKCSogZXh0L2dsL2dsdGVzdHNyYy5oOgoJKiBleHQvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZXh0L2dsL2dzdGdsYnVtcGVyLmg6CgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZXh0L2dsL2dzdGdsY29sb3JzY2FsZS5oOgoJKiBleHQvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBleHQvZ2wvZ3N0Z2xkZWludGVybGFjZS5oOgoJKiBleHQvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZXh0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmg6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYXBwLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYmx1ci5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc29iZWwuaDoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBleHQvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmg6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5oOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuaDoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSogZ3N0L2dsL0JVR1M6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNjdXJ2ZXMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmg6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuaDoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmg6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmg6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuaDoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuaDoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5Lmg6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5oOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWl4ZXIuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBtb3ZlIGdsIGVsZW1lbnRzIHRvIGV4dCBzdWJkaXJlY3RvcnkKCjIwMTQtMDMtMTUgMTU6NTU6NDYgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIFs5MDYvOTA2XSBmaWx0ZXI6IHdhcm4gYWJvdXQgdHJ5aW5nIHRvIHNoYXJlIHdpdGggbXVsdGlwbGUgY29udGV4dHMgYXQgb25jZQoKMjAxNC0wMy0xNSAxNDowNjo0MCArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzkwNS85MDZdIEFkZCBHTCBjb250ZXh0IHNoYXJpbmcgc3VwcG9ydCBmb3Igbm9uLWdzdGdsIGVsZW1lbnRzCgoyMDE0LTAzLTE1IDEzOjU1OjM5ICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFs5MDQvOTA2XSBtaXhlcjogYXNrIGZvciBkaXNwbGF5IGhhbmRsZXMgb24gcGFkIGFjdGl2YXRpb24KCjIwMTQtMDMtMTUgMTM6NTE6NDQgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBbOTAzLzkwNl0gYXBpOiBhZGQgR3N0R0xQbGF0Zm9ybSB0by9mcm9tIHN0cmluZwoKMjAxNC0wMy0xNSAxMToyNTo0MyArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL29wZW5nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIFs5MDIvOTA2XSBjb250ZXh0OiBpbXBsZW1lbnQgZ2xHZXRTdHJpbmdpIGhhbmRsaW5nIGZvciBHTCBjb3JlIGNvbnRleHRzL0dMRVMzCgoyMDE0LTAzLTEyIDIzOjQ2OjU4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5jOgoJICBbOTAxLzkwNl0gZ2x4OiB1c2UgdGhlIGRpc3BsYXkgaGFuZGxlIGZyb20gdGhlIGdsb2JhbCBkaXNwbGF5CgkgIEludGVsIGRyaXZlcnMgcmVxdWlyZSB0aGUgZGlzcGxheSBoYW5kbGVzIGJlIHRoZSBzYW1lIGZvciBjb250ZXh0CgkgIHNoYXJpbmcgdG8gb2NjdXIuICBBbHNvIHNvbHZlcyBzb21lIGNhc2VzIG9mIHVzZSBhZnRlciBmcmVlIG9mIHRoZQoJICBkaXNwbGF5IHdoZW4gaW50ZWdyYXRpbmcgd2l0aCBnc3RyZWFtZXItdmFhcGkuCgkgIFNlZSBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD00MTczNiBmb3IgdGhlIGludGVsIGJ1Zy4KCjIwMTQtMDMtMTIgMjM6NDQ6MjggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSAgWzkwMC85MDZdIHRlc3RzL2dzdGdsY29udGV4dDogcmVkdWNlIHRoZSBudW1iZXIgb2YgZnJhbWVzIGRpc3BsYXllZAoJICBXYXMgY2F1c2luZyB0aW1lb3V0cyBvbiBpbnRlbCBoYXJkd2FyZSBkdWUgdG8gdnN5bmMgaGFuZGxpbmcuCgoyMDE0LTAzLTEyIDIzOjQzOjEyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJICBbODk5LzkwNl0gZWdsOiB3YXJuIGlmIHdlIHJlc29ydCB0byBkaXNwbGF5IGhhbmRsZXMgZnJvbSB0aGUgd2luZG93CgoyMDE0LTAzLTA2IDE4OjExOjIyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgWzg5OC85MDZdIGdsaW1hZ2VzaW5rOiBhZGQgYW4gb3RoZXItY29udGV4dCBwcm9wZXJ0eQoJICBBbGxvd3MgYXBwbGljYXRpb25zIHRvIHByb3ZpZGUgdXMgd2l0aCBhbiBPcGVuR0wgY29udGV4dCB3aXRoIHdoaWNoCgkgIHRvIHNoYXJlIHdpdGguCgoyMDE0LTAzLTA0IDIzOjI4OjAxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5jOgoJICBbODk3LzkwNl0gYXBpOiBwbHVnaW4gYSBzbWFsbCBtZW1vcnkgbGVhawoJICBGb3VuZCBieSBhZHJpZW4uc2Nod2FydHplbnRydWJlckBnbWFpbC5jb20KCjIwMTQtMDMtMDIgMTE6NDg6NTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgWzg5Ni85MDZdIHV0aWxzOiB1c2UgdGhlIHZ0YWJsZSBmb3IgZGVsZXRpbmcgdGhlIHRleHR1cmUKCjIwMTQtMDItMjggMTc6NDI6NTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBbODk1LzkwNl0gY29udGV4dDogY2FsbCB3aW5kb3dfY2xhc3MtPmNsb3NlIGxhc3QKCSAgV2Ugc2hvdWxkIGRlc3Ryb3kgcmVzb3VyY2VzIGJlZm9yZSBjbG9zaW5nIHRoZSBkaXNwbGF5IGNvbm5lY3Rpb24KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTA0OAoKMjAxNC0wMi0yNSAwOToyNzoyNiArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuaDoKCSAgWzg5NC85MDZdIGdsOiBhZGQgbWlzc2luZyBHX0JFR0lOX0RFQ0xTL0dfRU5EX0RFQ0xTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUxMTEKCjIwMTQtMDItMjQgMjM6NTU6NTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzg5My85MDZdIHgxMTogY2xvc2UgYm90aCBvZiB0aGUgZGlzcGxheSdzIHdlIHVzZQoJICAodGhlIGNvbW1lbnQgZG9lc24ndCBzZWVtIHRvIGFwcGx5IGFueW1vcmUpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUwNDgKCjIwMTQtMDItMjMgMTE6NDQ6NTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBbODkyLzkwNl0gc2lsZW5jZSBhIGNvbXBpbGVyIHdhcm5pbmcgb24gb2xkZXIgZ2NjIHZlcnNpb25zICg0LjYpCgoyMDE0LTAyLTExIDA4OjU3OjI5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSAgWzg5MS85MDZdIGNvbnRleHQ6IGFkZCBzdXBwb3J0IGZvciB3cmFwcGluZyBleHRlcm5hbCBjb250ZXh0cwoKMjAxMy0xMS0yNyAxNzo1Mjo0NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsZGlzcGxheV94MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGRpc3BsYXlfeDExLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEveDExX2V2ZW50X3NvdXJjZS5jOgoJICBbODkwLzkwNl0geDExOiBhZGQgZGlzcGxheSBzdWJjbGFzcwoJICBHc3RHTERpc3BsYXlYMTEgaG9sZHMgdGhlIGRpc3BsYXkgY29ubmVjdGlvbiBhbmQgbmFtZS4gIEVhY2ggdGhyZWFkIHJlcXVpcmVzCgkgIGl0J3Mgb3duIFgxMSBEaXNwbGF5IGNvbm5lY3Rpb24gKGluaXRpYWxpc2VkIGZyb20gbmFtZSkgZHVlIHRvIHRoZSBmYWN0IHRoYXQKCSAgd2UgZG8gbm90IHdhbnQgdG8gY2FsbCBYSW5pdFRocmVhZHMoKS4gIERvaW5nIHNvIHdvdWxkIHJlc3VsdCBpbiBzZWdmYXVsdHMKCSAgd2hlbiBpbnRlZ3JhdGluZyB3aXRoIEdVSSB0b29sa2l0cyBHdGssIFF0LCBldGMuCgkgIFRoZSBEaXNwbGF5IGNvbm5lY3Rpb24gaXMgZm9yIE9wZW5HTCBwbGF0Zm9ybXMgd2hlcmUgYSBjb25zdGFudCBkaXNwbGF5IGlzCgkgIHJlcXVpcmVkIGluIG9yZGVyIHRvIHNoYXJlIGNvbnRleHRzIChlZ2wpLiAgSW4gdGhlIGNhc2Ugb2YgYSB3cmFwcGVkIGNvbnRleHQKCSAgKGFkZGVkIGxhdGVyKSwgd2UgZG8gbm90IGhhdmUgR3N0R0xXaW5kb3cgdG8gcmV0cmVpdmUgdGhlIGRpc3BsYXkgZnJvbSBzbyBhCgkgICdtYXN0ZXInIGNvbm5lY3Rpb24gaXMgdXNlZCBpbnN0ZWFkLgoKMjAxNC0wMS0xNSAxMDoyMTo1NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgWzg4OS85MDZdIGRpc3BsYXk6IGFkZCBkaXNwbGF5IHR5cGUgZW51bQoKMjAxNC0wMi0yMyAxMToyNzoyMyArMTEwMCAgQWRyaWVuIFNDSCA8YWRyaWVuLnNjaHdhcnR6ZW50cnViZXJAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgWzg4OC85MDZdIGNvcnJlY3QgZXJyb3IgaGFuZGxpbmcgaW4gZ3N0Z2xkb3dubG9hZC5jCgoyMDE0LTAyLTIzIDEwOjM2OjU3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFs4ODcvOTA2XSBtaXhlcjogZml4dXAgYSBtZW1vcnkgbGVhayBvZiB0aGUgY29udGV4dCBpbiB0aGUgR0xUZXh0dXJlVXBsb2FkTWV0YSBwYXRoCgkgIGdzdF9zdHJ1Y3R1cmVfZ2V0IHJldHVybnMgYSByZWZlcmVuY2UgdG8gdGhlIG9iamVjdCBhbmQgd2UgYXNrZWQKCSAgZm9yIGFub3RoZXIgd2l0aCBnc3Rfb2JqZWN0X3JlcGxhY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ4MTYKCjIwMTQtMDItMjMgMDE6MzI6MjMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzg4Ni85MDZdIGZpeHVwIGEgbWVtb3J5IGxlYWsgb2YgdGhlIGNvbnRleHQgaW4gdGhlIEdMVGV4dHVyZVVwbG9hZE1ldGEgcGF0aAoJICBnc3Rfc3RydWN0dXJlX2dldCByZXR1cm5zIGEgcmVmZXJlbmNlIHRvIHRoZSBvYmplY3QgYW5kIHdlIGFza2VkCgkgIGZvciBhbm90aGVyIHdpdGggZ3N0X29iamVjdF9yZXBsYWNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0ODE2CgoyMDE0LTAyLTIxIDE1OjI1OjIyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBbODg1LzkwNl0gZmlsdGVyOiBmcmVlIG91ciBkYXRhCgkgIHBsdWdzIHNvbWUgbWVtb3J5IGxlYWtzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ4MTYKCjIwMTQtMDItMjEgMTM6Mjg6MTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIFs4ODQvOTA2XSBmaWx0ZXI6IHJldHVybiB0aGUgcGFkIHRlbXBsYXRlIGNhcHMgaW4gdHJhbnNmb3JtX2NhcHMKCSAgV2UgY2FuIHRyYW5zZm9ybSBmcm9tIGFueSBpbnB1dCBpbiBvdXIgY2FwcyB0byBhbnkgb3V0cHV0LgoJICBXaXRoIHRoZSBmb2xsb3dpbmcgcGlwZWxpbmUgc25pcHBldDoKCSAgLi4uICEgdmFhcGlkZWNvZGUgISBnbGNvbG9yc2NhbGUgISB4dmltYWdlc2luawoJICBHc3RWaWRlb0dMVGV4dHVyZVVwbG9hZE1ldGEgd2FzIGJlaW5nIHVzZWQgb24gYm90aCBzcmMgYW5kIHNpbmsKCSAgcGFkcyBjYXVzaW5nIGxpbmtpbmcgdG8gZmFpbC4gIFRoaXMgYWxsb3dzIHRoZSB1c2FnZSBvZiB0aGUgbWV0YQoJICBvbiBlaXRoZXIgcGFkIHdpdGhvdXQgYWZmZWN0aW5nIHdoZXRoZXIgdGhlIG1ldGEgaXMgY2hvc2VuIG9uIHRoZQoJICBvdGhlciBwYWQuCgoyMDE0LTAyLTExIDA4OjIzOjM5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMWdsZXMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczFnbGVzMm9wZW5nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMxb3BlbmdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBbODgzLzkwNl0gYXBpOiBwcm92aWRlIGZyb21fc3RyaW5nKCkKCSAgQWxzbyBzL2dzdF9nbF9hcGlfc3RyaW5nL2dzdF9nbF9hcGlfdG9fc3RyaW5nL2cKCjIwMTQtMDItMTEgMDc6MjQ6NDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzg4Mi85MDZdIHBvcnQgZ2xjb2xvcnNjYWxlIHRvIEdMRVMyCgoyMDE0LTAyLTA2IDIxOjQzOjQ1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbODgxLzkwNl0gdXBsb2FkOiByZXN0b3JlIGRlZmF1bHQgdmFsdWVzIGZvciB1bnBhY2tfbGVuZ3RoCgkgIGZpeGVzIGVsZW1lbnRzIHRoYXQgdXBsb2FkIGEgc3VwcGxlbWVudGFyeSB0ZXh0dXJlIChnbGJ1bWJlciwKCSAgZ2xkaWZmZXJlbmNlbWF0dGUsIGV0YykKCjIwMTQtMDItMDUgMDA6NDQ6MTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBbODgwLzkwNl0gZ2xpbWFnZXNpbms6IHJlbW92ZSB1bnVzZWQgc3RvcmVkX2J1ZmZlciBmaWVsZAoJICBJdCBoYXMgdGhlIHBvdGVudGlhbCB0byBjYXVzZSBkZWFkbG9ja3MuCgoyMDE0LTAyLTIwIDIyOjQwOjA1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbODc5LzkwNl0gYnVpbGQ6IGRvbid0IGFkZCBYX0NGTEFHUyB0byBDRkxBR1MKCSAgSXQgc2hvdWxkIGFscmVhZHkgYmUgaW5jbHVkZWQgaWYgbmVlZGVkIGluc2lkZSBHTF9DRkxBR1MKCjIwMTQtMDItMDUgMDE6NTM6MDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIFs4NzgvOTA2XSB0ZXN0czogdXBkYXRlIGZvciBnbG1lbSBhcGkgY2hhbmdlCgoyMDE0LTAyLTA0IDEzOjQ5OjM1ICswMTAwICBDaHJpcyBQYXVsc29uLUVsbGlzIDxjaHJpc0BlZGVzaXguY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzg3Ny85MDZdIHgxMTogVXNlIGNvcnJlY3QgZm9ybWF0IHN0cmluZyBmb3IgZ3VpbnRwdHIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzUzNwoKMjAxNC0wMi0wMSAwMzoxNDo0OCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs4NzYvOTA2XSBnbG1lbTogdXNlIEdzdFZpZGVvSW5mbyBmb3IgZm9ybWF0IGNvbmZpZ3VyYXRpb24KCSAgQWxsb3dzIHVzZSBvZiBzdHJpZGVzCgoyMDE0LTAxLTMxIDA2OjUzOjU0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbODc1LzkwNl0gdXBsb2FkOiBzdXBwb3J0IGZvciBhcmJpdHJhcnkgc3RyaWRlcwoJICBVc2luZyBHTF9VTlBBQ0tfQUxJR05NRU5UIGZvciBHTEVTMiBhbmQgR0xfVU5QQUNLX1JPV19MRU5HVEggZm9yIGV2ZXJ5dGhpbmcgZWxzZQoKMjAxNC0wMS0zMCAwNzo0OToyMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkgIFs4NzQvOTA2XSBmaWx0ZXI6IGltcGxlbWVudCBkcmF3X3RleHR1cmUgZm9yIEdMRVMyCgkgICh0YWtlbiBmcm9tIGdsZWZmZWN0cykKCjIwMTQtMDEtMjkgMTk6MTQ6NTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbODczLzkwNl0gdXBsb2FkOiB1c2UgR3N0VmlkZW9JbmZvIGZvciBjaG9vc2luZyB0aGUgZm9ybWF0CgoyMDE0LTAxLTI5IDA2OjQyOjQwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbODcyLzkwNl0gdXBsb2FkOiBjb25zb2xpZGF0ZSBkYXRhIF9maWxsCgoyMDE0LTAxLTI5IDAyOjUxOjIzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbODcxLzkwNl0gdXBsb2FkOiBmaXggdGV4dHVyZSBzY2FsaW5nIGZvciBZVVkyL1VZVlkgd2l0aCBHTEVTMgoJICBBbm90aGVyIGFydGlmYWN0IGZyb20gdGhlIHRyYW5zaXRpb24gdG8gR0xfVEVYVFVSRV8yRAoKMjAxNC0wMS0yOSAwMTowMjo1NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzg3MC85MDZdIHVwbG9hZDogcmVtb3ZlIHN1cGVyZmxvdXMgZ19tdXRleF9pbml0CgoyMDE0LTAxLTMwIDA4OjI4OjUyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIFs4NjkvOTA2XSB0ZXN0czogYWRkIHNvbWUgdXBsb2FkIHRlc3RzCgoyMDE0LTAxLTI4IDA3OjUwOjEzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbODY4LzkwNl0gdXBsb2FkOiBmaXggY29tcGlsYXRpb24gZm9yIEdMRVMyCgoyMDE0LTAxLTE3IDA4OjQ2OjAyICswODAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBbODY3LzkwNl0gZ2x1cGxvYWQ6IEFkZCBHUkFZOC9HUkFZMTZMRS9CRSB1cGxvYWQgc3VwcG9ydCB0byBnbGltYWdlc2luawoJICB0aGUgMTZiaXQgZGF0YSBpcyB1cGxvYWRlZCBhcyBMVU1JTkFOQ0VfQUxQSEEsIHRoZW4gZXhwYW5kZWQsIGNvbXBvc2VkCgkgIGluIHNoYWRlci4gdmFsdWUgd2VpZ2h0IGlzIGEgbGl0dGxlIGNvbXBsaWNhdGUsIGhpZ2ggYnl0ZSB3ZWlnaHQgaXMKCSAgMjU1KjI1Ni82NTUzNSAoZGVub3JtYWxpemUgdG8gWzB+MjU1XSAsc2hpZnQgdG8gaGlnaCBieXRlLHRoZW4gbm9ybWFsaXplCgkgIHRvIFswfjFdKSwgbG93IGJ5dGUgd2VpZ2h0IGlzIDI1NS82NTUzNShzaW1pbGFyKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyNjcwCgoyMDEzLTExLTIzIDIyOjU3OjAzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgWzg2Ni85MDZdIHVwbG9hZDogdXBkYXRlIHNvbWUgZG9jcwoKMjAxMy0xMS0yMyAyMjoxOToxOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgWzg2NS85MDZdIGdsbWVtOiByZXBvcnQgc3VjY2Vzc2Z1bCBjb3B5IHRvIHRoZSBjYWxsZXIKCjIwMTMtMTItMjkgMTc6Mjk6NTMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nc3RndGsuYzoKCSAgWzg2NC85MDZdIGV4YW1wbGVzOiB1cGRhdGUgdG8gZ3RrMwoKMjAxMy0xMS0yNiAwOTozMjozMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkgIFs4NjMvOTA2XSB3aW5kb3c6IGhvbGQgYSByZWYgdG8gb3VyIEdzdEdMRGlzcGxheQoKMjAxMy0xMS0yNSAyMDozNDowNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbODYyLzkwNl0gd2luZG93OiByZW1vdmUgc2V0X25lZWRfbG9jawoJICBOby1vbmUgaXMgdXNpbmcgaXQuICBUaGUgb25seSBjb2RlIHRoYXQgZGlkIHdhcyB0aGUgeDExIG9uZSB3aGljaAoJICBkb2Vzbid0IG5lZWQgaXQgYW55bW9yZS4KCjIwMTQtMDEtMTAgMDI6NTA6MTQgKzA4MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL29wZW5nbC5oOgoJICBbODYxLzkwNl0gZ2xwcm90b3R5cGVzOiBBZGQgbWlzc2luZyBnbFNjYWxlZiBkZWNsYXJlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjE5MDMKCjIwMTMtMTEtMjMgMjI6NTg6NTcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSAgWzg2MC85MDZdIGRvY3M6IG1pc2MgdXBkYXRlcwoKMjAxMy0xMS0yMyAyMjo1Nzo0OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkgIFs4NTkvOTA2XSB3aW5kb3c6IHByb3ZpZGUgc29tZSBkb2N1bWV0YXRpb24KCjIwMTMtMTEtMjMgMjI6NTY6MTAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJICBbODU4LzkwNl0gZ2xtZW06IHVwZGF0ZSB0aGUgZG9jcwoKMjAxMy0xMS0yMyAyMjo1NDo0NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgWzg1Ny85MDZdIGRpc3BsYXk6IGRvY3VtZW50IHRoZSBuZXcgR3N0Q29udGV4dCBhcGkKCjIwMTMtMTEtMjMgMjI6NTM6NDggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkgIFs4NTYvOTA2XSBjb250ZXh0OiBkb2N1bWVudCBpdAoKMjAxMy0xMS0xNCAxNToyNzo1MiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbODU1LzkwNl0gdXBsb2FkOiBhZGQgc3VwcG9ydCBmb3IgR3N0VmlkZW9HTFRleHR1cmVVcGxvYWRNZXRhCgoyMDEzLTExLTEzIDAwOjQxOjAxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbODU0LzkwNl0gdXNlIHRoZSBhbGxvY2F0aW9uIHF1ZXJ5IHRvIHByb3BvZ2F0ZSBHc3RHTENvbnRleHQKCSAgdXNlcyB0aGUgR3N0VmlkZW9HTFRleHR1cmVVcGxvYWRNZXRhIGFwaSB0eXBlIGZvciB0aGUgcXVlcnkKCjIwMTMtMTAtMjQgMjI6MzA6NDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSAgWzg1My85MDZdIGRpc3BsYXk6IHJlbW92ZSBfe3NldCxnZXR9X2NvbnRleHQKCSAgQSBHc3RHTERpc3BsYXkgZG9lc24ndCBuZWVkIGEgR3N0R0xDb250ZXh0IGFuZCBpdHMgdXNlCgkgIHdhcyBjYXVzZSBhIHJlZmVyZW5jZSBjeWNsZQoKMjAxMy0xMS0xMyAxMDo0MzoxNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzg1Mi85MDZdIHVzZSBHc3RDb250ZXh0IGZvciBHc3RHTERpc3BsYXkgcHJvcG9nYXRpb24KCSAgaW1wbGVtZW50cyB0aGUgaG9va3MgcmVxdWlyZWQgaW4gR3N0RWxlbWVudDo6c2V0X2NvbnRleHQgYW5kIHRoZSBjb250ZXh0IHF1ZXJ5CgoyMDEzLTEyLTIwIDE1OjE4OjM4ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSAgWzg1MS85MDZdIGRlaW50ZXJsYWNlOiBmaXggdGV4dHVyZSBjb29yZGluYXRlcyBjb21wdXRhdGlvbgoJICBGaXhlcyBhIHJlZ3Jlc3Npb24gaW50cm9kdWNlZCBieSBmZmZkY2JkZDNkZGU0MzdlMTBjZjZlMWI1ZTQwYzY5NThkNDFlNmMxCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA4MjYKCjIwMTMtMTEtMTUgMTg6Mjg6NDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs4NTAvOTA2XSBnbHVwbG9hZDogUmVtb3ZlIHRleHR1cmUgc2NhbGluZyBhcnRpZmFjdHMgZnJvbSB0aGUgVEVYVFVSRV9SRUNUQU5HTEUgLT4gVEVYVFVSRV8yRCB0cmFuc2l0aW9uCgkgIGZpeGVzIHRoZSBmdW5reSBjb2xvdXJzIGluIHNvbWUgb2YgdGhlIHl1diBmb3JtYXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjExNTUKCjIwMTMtMTAtMjYgMDI6MjA6MTcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dsdGVzdHNyYy5jOgoJICBbODQ5LzkwNl0gdGVzdHNyYzogdXNlIF9jb250ZXh0X2dldF9nbF9hcGkKCjIwMTMtMTAtMjQgMjI6Mjg6NTcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIFs4NDgvOTA2XSBmaWx0ZXI6IGEgbGl0dGxlIGNvZGUgY2xlYW51cAoKMjAxMy0xMS0xMyAxNTo1NzowNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBbODQ3LzkwNl0gbWl4ZXI6IHVubWFwIHRoZSB2aWRlbyBmcmFtZXMgd2UgbWFwCgkgIHBsdWdzIGEgbWVtb3J5IGxlYWsKCjIwMTMtMTEtMTUgMjA6NTA6MjcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgWzg0Ni85MDZdIG1peGVyOiBoYW5kbGUgMC8xIGZyYW1lcmF0ZSBiZXR0ZXIgaW4gY2FwcwoKMjAxMy0xMS0xNSAyMDo0OTo0MyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgWzg0NS85MDZdIGZpbHRlcjogaGFuZGxlIGNhcHNmZWF0dXJlcyBwcm9wZXJseQoKMjAxMy0xMS0xNCAxNTowODo0NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmg6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZ3N0L2dsL2dzdGdsdmlkZW9taXhlci5oOgoJICBbODQ0LzkwNl0gbWl4ZXI6IGdpdmUgYWNjZXNzIHRvIHRoZSBwYWRzIGF0IHJlbmRlciB0aW1lCgkgIGFsbG93cyB1cyB0byBtb3ZlIHRoZSB2aWRlbyBmcmFtZSBtYXBwaW5nIHNvbWV3aGVyZSBlbHNlCgoyMDEzLTExLTEzIDIzOjI0OjAwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSAgWzg0My85MDZdIG1lbW9yeTogcHJvdmlkZSBjb3B5X2ludG9fdGV4dHVyZQoKMjAxMy0xMi0yNSAyMzozNTo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzg0Mi85MDZdIEZpeCBnc3RnbGNvbmZpZy5oLXJlbGF0ZWQgJ21ha2UgZGlzdGNoZWNrJyBpc3N1ZXMKCSAgRml4IHNyY2RpciB2cy4gYnVpbGRkaXIgaXNzdWUgaW4gZG9jcyBhbmQgJ2ZpbGVzIGxlZnQgYWZ0ZXIKCSAgZGlzY2xlYW4nIGlzc3VlIGZvciBnc3RnbGNvbmZpZy5oCgoyMDEzLTExLTMwIDA5OjUxOjQ5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIFs4NDEvOTA2XSBvc3g6IGFsbG93IHgxMS9nbHggYmFja2VuZCBhbmQgc2V0IGRlZmF1bHQgcnVudGltZSB0byBjb2NvYS9uc2dsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk3NTcKCjIwMTMtMTItMTQgMTk6MTI6MDkgKzAxMDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIFs4NDAvOTA2XSBnbHZpZGVvbWl4ZXI6IFVzZSBjb3JyZWN0IGNvb3JkaW5hdGVzIGFmdGVyIHRoZSBzd2l0Y2ggZnJvbSBHTF9URVhUVVJFX1JFQ1RBTkdMRSB0byBHTF9URVhUVVJFXzJECgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjAxNzcKCjIwMTMtMTEtMzAgMTY6Mzg6MTMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFs4MzkvOTA2XSBjb2NvYTogYWxsb3cgdG8gY2FsbCBzZXRfd2luZG93X2hhbmRsZSBiZWZvcmUgdG8gY3JlYXRlIGdsY29udGV4dAoJICBTbyB0aGF0IGl0IGFjdHVhbGx5IG1ha2UgY29jb2EgdmlkZW9vdmVybGF5IGV4YW1wbGUgd29yayBhZ2Fpbi4KCSAgRml4ZXMgYnVnIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk3NTgKCjIwMTMtMTEtMTUgMTg6Mjg6NDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2xpYnZpc3VhbC92aXN1YWwtZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2RsL3NkbHNoYXJlLmM6CgkgIFs4MzgvOTA2XSBnbDogVXNlIEdMX1RFWFRVUkVfMkQgaW5zdGVhZCBvZiBHTF9URVhUVVJFX1JFQ1RBTkdMRQoJICBXZSBjcmVhdGUgb3VyIHRleHR1cmVzIChpbiBEZXNrdG9wIEdMKSB3aXRoIEdMX1RFWFRVUkVfUkVDVEFOR0xFLAoJICB2YWFwaSBhdHRlbXB0cyB0byBiaW5kIG91ciB0ZXh0dXJlIHRvIEdMX1RFWFRVUkVfMkQgd2hpY2ggdGhyb3dzIGEKCSAgR0xfSU5WQUxJRF9PUEVSQVRJT04gZXJyb3IgYW5kIGFzIHRodXMsIG5vIHZpZGVvLgoJICBBbHNvLCBieSBtb3ZpbmcgZXhjbHVzaXZlbHkgdG8gR0xfVEVYVFVSRV8yRCBhbmQgdGhlIG5wb3QgZXh0ZW5zaW9uCgkgIHdlIGFsc28gcmVtb3ZlIGEgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBEZXNrdG9wIEdMIGFuZCBHTEVTMiBjb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyMjg3CgoyMDEzLTExLTA4IDEyOjEyOjI2ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsX2NvY29hX3ByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFs4MzcvOTA2XSBjb2NvYTogcmVzaXplIE9wZW5HTCB2aWV3IHNpemUgZWFjaCB0aW1lIHRoZSB3aW5kb3cgaXMgcmVzaXplZAoJICBGaXhlcyBnbGl0Y2hlcyB0aGF0IGNhbiBhcHBlYXIgd2hlbiB0aGUgT3BlbkdMIHZpZXcgaGFzIG5vdCBiZWVuIHJlc2l6ZWQKCSAgYWZ0ZXIgYSB3aW5kb3cgcmVzaXplLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNjcyCgoyMDEzLTExLTAxIDE2OjM1OjQ2ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJICBbODM2LzkwNl0gY29jb2E6IG9ubHkgdXNlIEdTUmVnaXN0ZXJDdXJyZW50VGhyZWFkIHdpdGggR05VU3RlcCBlbnZpcm9ubWVudAoKMjAxMy0xMS0wNiAyMjoxNjoyMSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgWzgzNS85MDZdIGdzdGdsd2luZG93OiByZW1vdmUgdW51c2VkIGZpZWxkcwoKMjAxMy0xMS0wNiAyMjoxMzoyMCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgWzgzNC85MDZdIGdzdGdsd2luZG93OiBjbGVhciBtdXRleAoKMjAxMy0xMS0wNiAyMjoxMjowMiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIFs4MzMvOTA2XSBnc3RnbGNvbnRleHQ6IGluaXRpYWxpemUgd2luZG93IHRvIE5VTEwKCjIwMTMtMTEtMDYgMjE6NTk6MjcgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzgzMi85MDZdIHgxMTogaWdub3JlIEV4cG9zZSBldmVudHMgbm90IGluaXRpYXRlZCBieSBnc3RfZ2xfd2luZG93X2RyYXcKCjIwMTMtMTEtMDYgMjE6NTU6NDkgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzgzMS85MDZdIGdsaW1hZ2VzaW5rOiBhdm9pZCB0byBvdmVybG9hZCB0aGUgZHJhd2VyIGlmIGFscmVhZHkgZHJhd2luZwoJICBFc3BlY2lhbGx5IGlmIHRoZSBhcHBsaWNhdGlvbiBjYWxscyBnc3RfdmlkZW9fb3ZlcmxheV9leHBvc2UgYSBsb3QKCjIwMTMtMTAtMjMgMjE6NDY6MDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWl4ZXIuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbODMwLzkwNl0gZ2x2aWRlb21peGVyOiBBZGQgYSBuZXcgc2ltcGxlIGdsdmlkZW9taXhlciBlbGVtZW50CgkgIHRoYXQgc2ltcGx5IHVzZXMgZ2xCbGVuZEZ1bmMgdG8gYmxlbmQgZWFjaCBpbXB1dCBmcmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwNzE0CgoyMDEzLTEwLTIzIDIwOjM4OjU2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFs4MjkvOTA2XSBtaXhlcjogZXJyb3Igb3V0IHByb3Blcmx5IG9uIGZsdXNoaW5nCgoyMDEzLTEwLTIyIDIxOjQ4OjAwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgWzgyOC85MDZdIGNvbnRleHQ6IHJlZmNvdW50IHRoZSBkaXNwbGF5CgoyMDEzLTEwLTI2IDAyOjIwOjU0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFs4MjcvOTA2XSBtaXhlcjogZG9uJ3QgdW5yZWYgdGhlIHF1ZXJ5IGluIHRoZSBkZWZhdWx0IGNhc2UKCSAgVGhlIGVsZW1lbnQvYXBwbGljYXRpb24gcGVyZm9ybWluZyB0aGUgcXVlcnkgaXMgcmVzcG9uc2libGUgZm9yIHRoZQoJICBkZS9hbGxvY2F0aW9uCgoyMDEzLTEwLTI0IDIxOjI0OjAzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbODI2LzkwNl0gdXBsb2FkOiBmcmVlIG91ciBtdXRleAoKMjAxMy0xMC0xMSAxNjowMDoyMyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbODI1LzkwNl0gZ2x3aW5kb3dfeDExOiBjaGVjayBpZiB0aGUgbG9vcCBleGlzdHMKCSAgSXQgaGFwcGVucyB3aGVuIGNhbGxpbmcgc2V0X3dpbmRvd19oYW5kbGUgYmVmb3JlIHRvIHJlYWNoIEdTVF9TVEFURV9SRUFEWS4KCSAgSW4gdGhpcyBjYXNlIHRoZSBwYXJlbnQgaXMgc2V0IHdoZW4gY3JlYXRpbmcgdGhlIGludGVybmFsIHdpbmRvdy4KCjIwMTMtMTAtMDEgMjM6NDc6NTQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuYzoKCSAgWzgyNC85MDZdIGFuZHJvaWQ6IEJ1aWxkIGZpeGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk3ODYKCjIwMTMtMTAtMDEgMTE6NDY6NDYgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSAgWzgyMy85MDZdIHdheWxhbmRfZWdsOiBtYWtlIHRoZSB3YXlsYW5kIGJhY2tlbmQgYWN0dWFsbHkgd29yayBvbiBSYXNwYmVycnkgUGkKCSAgRml4IHJlc2l6aW5nIGFuZCBjYW4gbm93IG1vdmUgdGhlIHdpbmRvdwoKMjAxMy0xMC0wMSAxMTo0NDowMCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSAgWzgyMi85MDZdIGdzdGdsY29udGV4dF9lZ2w6IGF2b2lkIG5vbiB3b3JraW5nIEVHTCBjb25mcyBvbiBycGkvd2F5bGFuZAoKMjAxMy0xMC0wMSAxMTo0MjoyMSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJICBbODIxLzkwNl0gdGVzdHM6IGZpeCB0ZXN0X3NoYXJlIG9uIEdMRVN2MgoKMjAxMy0xMC0wMSAxMToyNzowNyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgWzgyMC85MDZdIGdzdGdsd2luZG93OiBpZiBhdmFpbGFibGUgdXNlIHdheWxhbmQgaW5zdGVhZCBkaXNwbWFueCBvbiBycGkKCjIwMTMtMDktMjcgMDE6MTU6MjUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkgIFs4MTkvOTA2XSBtYWtlIGdlbl90ZXh0dXJlL2RlbF90ZXh0dXJlIHRocmVhZHNhZmUKCSAgVXNlIHN0YWNrIGFsbG9jYXRlZCBpbnN0ZWFkIG9mIHN0YXRpYyB2YXJpYWJsZXMKCSAgQ29uZmxpY3RzOgoJICBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jCgoyMDEzLTA5LTI1IDEyOjI2OjU3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbF9jb2NvYV9wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbODE4LzkwNl0gd2luZG93OiBhZGQgc2VuZF9tZXNzYWdlX2FzeW5jIHZtZXRob2QKCSAgLSBwcm92aWRlIGEgZGVmYXVsdCBzeW5jaHJvbm91cyBzZW5kX21lc3NhZ2UKCSAgLSBtYWtlIGNvbnRleHQgY3JlYXRpb24gdGhyZWFkc2FmZSBhZ2FpbgoKMjAxMy0wOS0yNCAxNjozNzoxMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJICBbODE3LzkwNl0gbWFrZSB0aGUgc3RhdGUgY2hhbmdlIHRlc3QgcGFzcwoKMjAxMy0wOS0yNCAxNDowNzo1OCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbODE2LzkwNl0geDExOiBmaXggbWFrZSBjaGVjayBzZWdmYXVsdAoKMjAxMy0wOS0yMCAxMTo1NTozNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbODE1LzkwNl0gZml4IHNvbWUgcmVmY291bnQgZXJyb3JzCgoyMDEzLTA5LTIwIDExOjU0OjQyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFs4MTQvOTA2XSBtaXhlcjogdGltZXN0YW1wIGJ1ZmZlcnMKCjIwMTMtMDktMTYgMTk6MDc6MTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFs4MTMvOTA2XSB1bnJlZiB0aGUgcG9vbCBvbiBzaHV0ZG93bgoKMjAxMy0wOS0xNSAxNDoyMzo0MyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSAgWzgxMi85MDZdIG1vdmUgdGhlIEdMIHZ0YWJsZSBmcm9tIEdzdEdMRGlzcGxheSB0byBHc3RHTENvbnRleHQKCSAgQ29uZmxpY3RzOgoJICB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jCgoyMDEzLTA4LTIyIDE1OjU1OjM1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSAgWzgxMS85MDZdIHRlc3RzOiB1cGRhdGUgZm9yIEdzdEdMQ29udGV4dCBhZGRpdGlvbgoKMjAxMy0wOS0yNiAxNDo0NjoxNiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJICBbODEwLzkwNl0gZ3N0Z2x1dGlsczogdXNlIGdsX3Z0YWJsZSBmb3IgZ2xEZWxldGVUZXh0dXJlcwoKMjAxMy0wOS0yNiAxNDo0MzoxOSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJICBbODA5LzkwNl0gdGVzdHM6IHBvcnQgdGVzdF9zaGFyZSB0byBHTEVTMgoJICBBbHNvIGFkZCBhIGRlaW5pdCBmdW5jdGlvbiB0byByZWxlYXNlIGZibywgdGV4IGFuZCBzaGFkZXIuCgoyMDEzLTA5LTAzIDIyOjAzOjAzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs4MDgvOTA2XSB4MTE6IHJlbW92ZSBkZWFkIGNvZGUKCjIwMTMtMDktMDMgMjE6NDk6MTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguYzoKCSAgWzgwNy85MDZdIGNvbnRleHQ6IE1vdmUgc29tZSB3aW5kb3cgZXJyb3IgZW51bXMgdG8gY29udGV4dAoKMjAxMy0wOC0zMCAwMDoyODowNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSAgWzgwNi85MDZdIGVnbDogZG9lc24ndCByZXF1aXJlIHRoZSBFR0xDb25maWcgZnJvbSB0aGUgb3RoZXIgY29udGV4dAoJICBsaWJFR0wgc2hvdWxkIGdpdmUgdXMgdGhlIHNhbWUgb3Igc2ltaWxhciBFR0xDb25maWcgZnJvbSB0aGUKCSAgRUdMRGlzcGxheSB3ZSBoYXZlLgoKMjAxMy0wOC0zMCAwMDoyMjozMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIFs4MDUvOTA2XSBnbGZpbHRlcjogcmVuYW1lIGV4dGVybmFsLW9wZW5nbC1jb250ZXh0IHByb3AgdG8gb3RoZXItY29udGV4dAoJICBJdCBub3cgcmVxdWlyZXMgYSBHc3RHTENvbnRleHQgaW5zdGVhZCBvZiBhIGhhbmRsZQoKMjAxMy0wOC0zMCAxNTo1Mzo0MSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzgwNC85MDZdIHJwaTogY2FsbCBiY21faG9zdF9pbml0IGluIHBsdWdpbl9pbml0CgoyMDEzLTA4LTMwIDE0OjEyOjM3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIFs4MDMvOTA2XSByYXNwYmVycnlwaTogYWRkIHN1cHBvcnQgZm9yIGRpc3BtYW54CgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzQyCgoyMDEzLTA4LTI5IDIwOjEyOjI3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkgIFs4MDIvOTA2XSBhZGQgR3N0R0xDb250ZXh0IHRlc3QgdGhhdCB0ZXN0cyBjb250ZXh0IHNoYXJpbmcKCjIwMTMtMDgtMjkgMjA6MTA6NDIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5jOgoJICBbODAxLzkwNl0gY29udGV4dDogUmVpbXBsZW1lbnQgR0wgY29udGV4dCBzaGFyaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ4MDYKCjIwMTMtMDgtMjggMTA6MzI6MjkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFs4MDAvOTA2XSBnbGltYWdlc2luazogYXZvaWQgdG8gZHJhdyB0ZXh0dXJlIHdoaWxlIHJlbGVhc2luZyBzdG9yZWQgYnVmZmVyCgkgIFNwb3RlZCBieSBnZW5lcmljL2N1YmUgZXhhbXBsZSB3aXRoIENsaWVudERyYXdDYWxsYmFjayBzZXQgdG8KCSAgcmV0dXJuaW5nIFRSVUUgKGl0IG1lYW5zIGRyYXdpbmcgYXMgZmFzdCBhcyBwb3NzaWJsZSkKCjIwMTMtMDgtMjggMTA6MDc6MjQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBbNzk5LzkwNl0gZ2xpbWFnZXNpbms6IGZpeCBhc3luY2hyb25lIGRyYXdpbmcKCSAgU2ltcGxpZnkgZ3N0X2dsaW1hZ2Vfc2lua19yZWRpc3BsYXkgd2hpY2ggaXMgdGhlcmUKCSAgb25seSB0byBhc2sgdGhlIHdpbmRvdyBmb3IgYSByZWRyYXcuCgkgIFB1dCBhIGxvY2sgdG8gbWFrZSBzdXJlIHdlIGFyZSBub3QgcmVhbGVhc2luZwoJICB0aGUgc3RvcmVkIGJ1ZmZlciB3aGlsZSBzdGlsbCBkcmF3aW5nIHRoZSBjb3JyZXNwb25kaW5nCgkgIHRleHR1cmUKCjIwMTMtMDgtMjIgMDA6Mjk6MzYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9NYWtlZmlsZS5hbToKCSAgWzc5OC85MDZdIGJ1aWxkOiBpbnN0YWxsIG5lZWRlZCBoZWFkZXIKCjIwMTMtMDgtMjEgMTU6NDA6NTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzc5Ny85MDZdIHgxMTogZml4IGJ1aWxkIGZvciBjbGFuZwoKMjAxMy0wOC0yMSAxNDowNTo1NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkgIFs3OTYvOTA2XSBtb3ZlIGVnbCBpbnRvIGl0cyBvd24gZGlyZWN0b3J5CgoyMDEzLTA4LTIxIDEzOjU3OjU2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmM6CgkgIFs3OTUvOTA2XSBhbmRyb2lkOiBwb3J0IHRvIEdzdEdMQ29udGV4dAoJICBub3QgdGVzdGVkCgoyMDEzLTA4LTE1IDE3OjA5OjA0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsX2NvY29hX3ByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfd2dsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl93Z2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4LmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9nbHguaDoKCSAgWzc5NC85MDZdIGNvbnRleHQ6IGFkZCBzdWJjbGFzc2VzIGZvciB0aGUgZGlmZmVyZW50IHBsYXRmb3JtcyAoZWdsLCBnbHgsIHdnbCwgZXRjKQoJICAtIG1vc3QgY29kZSB0YWtlbiBmcm9tIHRoZSBXaW5kb3cgc3ViY2xhc3NlcwoJICAtIHRlc3RlZCBjb21iaW5hdGlvbnM6IHhFR0wsIEdMWCwgV2F5bGFuZCtFR0wsIENvY29hICh1bmRlciBHTlVTdGVwKSwgV0dMIChXaW5lKQoKMjAxMy0wOC0xNCAxMDo0NDoxOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbNzkzLzkwNl0gYWRkIGEgR3N0R0xDb250ZXh0IG9iamVjdCB0aGF0IHdpbGwgYmUgdGhlIGJhc2lzIG9mIE9wZW5HTCBjb250ZXh0cwoJICBBdCB0aGUgbW9tZW50IGl0IGp1c3Qgc2l0cyBpbiBiZXR3ZWVuIEdzdEdMRGlzcGxheSBhbmQgR3N0R0xXaW5kb3cKCSAgcGVyZm9ybWluZyBzb21lIG9mIHRoZSBzdHVmZiB0aGF0IEdzdEdMV2luZG93IHVzZWQgdG8gZG8uCgoyMDEzLTA4LTEzIDIwOjEwOjU2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzc5Mi85MDZdIGJ1aWxkOiB1c2Ugb3VyIG93biBpbiB0cmVlIGhlYWRlcnMgYmVmb3JlIHN5c3RlbSBvbmVzCgkgIGFsbG93cyB1cyB0byBkZXZlbG9wIGFnYWluc3QgdGhlIHRyZWUgcmF0aGVyIHRoYW4gd2hhdCBtYXkgYmUgaW5zdGFsbGVkCgoyMDEzLTA4LTE2IDE2OjI5OjEyICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEveDExX2V2ZW50X3NvdXJjZS5jOgoJICBbNzkxLzkwNl0gZ2x3aW5kb3cveDExOiByZW1vdmUgWDExRXZlbnRTb3VyY2UgYXMgc29vbiBhcyB0aGUgd2luZG93IGlzIGRlbGV0ZWQKCSAgZ3N0X2dsX3dpbmRvd194MTFfc2VuZF9tZXNzYWdlIGRvIG5vdCB1c2UgWFNlbmRFdmVudCBhbnltb3JlCgoyMDEzLTA4LTE2IDE1OjI2OjI4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbNzkwLzkwNl0gZ2xpbWFnZXNpbms6IHJldHJpZXZlIHdpbmRvdyBvbmx5IHdoZW4gY2xpZW50RHJhd0NhbGxiYWNrIHJldHVybiB0cnVlCgoyMDEzLTA4LTA3IDE3OjExOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlZ2wuYzoKCSAgWzc4OS85MDZdIGVnbDogQ3JlYXRlIGEgd2luZG93IHN1cmZhY2UgaWYgbmVjZXNzYXJ5CgoyMDEzLTA4LTA3IDExOjQ2OjQ5ICswMjAwICBUb251IEphYW5zb28gPGNoYWluQGJzZC5lZT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBbNzg4LzkwNl0gb3N4OiBGaXggY29tcGlsYXRpb24KCjIwMTMtMDgtMDcgMTE6NDI6NDYgKzAyMDAgIFRvbnUgSmFhbnNvbyA8Y2hhaW5AYnNkLmVlPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbNzg3LzkwNl0gZ2w6IFRoZSBHTFNMIHJlY3RhbmdsZSByZXNhbXBsZXIgZG9lcyBub3QgYWx3YXlzIHdvcmsgd2l0aCBpbnQgdGV4IGNvb3JkcwoJICBVc2UgZmxvYXRzIGluc3RlYWQuCgoyMDEzLTA3LTI0IDEzOjM1OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMzb3BlbmdsLmg6CgkgIFs3ODYvOTA2XSBnbHByb3RvdHlwZXM6IEFkZCBzdXBwb3J0IGZvciBOViBleHRlbnNpb25zIGZvciBEcmF3QnVmZmVycyBhbmQgUmVhZEJ1ZmZlcgoKMjAxMy0wNy0yNCAxMzozNDoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZWdsLmM6CgkgIFs3ODUvOTA2XSBlZ2w6IFVzZSBFR0xfS0hSX3N1cmZhY2VsZXNzX2NvbnRleHQgaW5zdGVhZCBvZiBjcmVhdGluZyBhIHVzZWxlc3Mgc3VyZmFjZSBpZiBhdmFpbGFibGUKCjIwMTMtMDctMjIgMTk6MDA6NDIgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5oOgoJICBbNzg0LzkwNl0gZ2xvdmVybGF5OiBhZGQgR19CRUdJTi9FTkQgZGVjbGFyYXRpb24KCjIwMTMtMDctMTkgMTY6Mjg6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbNzgzLzkwNl0gZ2xpbWFnZXNpbms6IEZpeCBmb3JtYXQgc3RyaW5nIHdhcm5pbmcKCjIwMTMtMDctMTkgMTA6MDc6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFs3ODIvOTA2XSBnbGRvd25sb2FkOiBVc2Ugc3RybGVuKCkgaW5zdGVhZCBvZiBzaXplb2YoY2hhciopCgkgIGdzdGdsZG93bmxvYWQuYzo4NDY6MjI6IGVycm9yOiBhcmd1bWVudCB0byAnc2l6ZW9mJyBpbiAnbWVtY3B5JyBjYWxsIGlzIHRoZSBzYW1lIGV4cHJlc3Npb24gYXMgdGhlIHNvdXJjZTsgZGlkIHlvdSBtZWFuIHRvIHByb3ZpZGUgYW4gZXhwbGljaXQgbGVuZ3RoPyBbLVdlcnJvcj1zaXplb2YtcG9pbnRlci1tZW1hY2Nlc3NdCgoyMDEzLTA3LTE5IDE2OjQ4OjAzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFs3ODEvOTA2XSBkb3dubG9hZDogcHJvcG9nYXRlIGVycm9ycyBmcm9tIHRoZSBHTCB0aHJlYWQKCjIwMTMtMDctMTggMjA6MjE6NTcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbNzgwLzkwNl0gdXAvZG93bmxvYWQ6IGNoZWNrIHJldHVybiB2YWx1ZXMKCSAgU28gd2UgZmFpbCBwcm9wZXJseQoKMjAxMy0wNy0xOCAxOTozNzozMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJICBbNzc5LzkwNl0gZG93bmxvYWQ6IHJlbW92ZSBfdGhyZWFkIHZhcmlhbnRzIG9mIHRoZSBBUEkKCjIwMTMtMDctMTggMTk6MzY6MjcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBbNzc4LzkwNl0gdXBsb2FkOiByZW1vdmUgX3RocmVhZCB2YXJpYW50cyBvZiB0aGUgQVBJCgoyMDEzLTA3LTE4IDE5OjE3OjE4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgWzc3Ny85MDZdIHVwbG9hZDogb3ZlcmhhdWwgYW5kIGFkZGl0aW9uIG9mIG5ldyB2aWRlbyBmb3JtYXRzCgkgIHVzZSB0aGUgc2hhZGVycyBmcm9tIGVnbGdsZXNzaW5rIChhZGFwdGVkIGZvciBEZXNrdG9wIEdMKQoJICBlcnJvciBvdXQgcHJvcGVybHkKCjIwMTMtMDctMTcgMjE6MTc6MDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgWzc3Ni85MDZdIGRvd25sb2FkOiBmaXggY29tcGlsZXIgd2FybmluZyBhYm91dCBtaXNzaW5nIHN0cmluZyBmb3JtYXQKCjIwMTMtMDctMTkgMDk6MjA6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ3N0Z2xfY29tcGF0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBbNzc1LzkwNl0gY29uZmlndXJlOiBDaGVjayBmb3IgR0xlZ2xJbWFnZU9FUyBhbmQgb3RoZXJzIGFnYWluCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ0OTgKCjIwMTMtMDctMTggMjA6MjY6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBbNzc0LzkwNl0gd2luMzI6IEZpeCBzb21lIGNvbXBpbGVyIGVycm9ycy93YXJuaW5ncwoKMjAxMy0wNy0xOCAwMTo0MjozMSArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkgIFs3NzMvOTA2XSBnbGZpbHRlcnM6IE1hcmsgd3JpdGFibGUtb25seSBwcm9wZXJ0aWVzIGFzIHJlYWRhYmxlIGFzIHdlbGwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDQyOQoKMjAxMy0wNy0xOCAwMTo0MTowNSArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgWzc3Mi85MDZdIGdsZmlsdGVyczogTWFyayB0aGVtIGFzIFZpZGVvIGZpbHRlcnMgaW4gdGhlaXIgY2xhc3NpZmljYXRpb24KCSAgSXQgbWFrZXMgaXQgcG9zc2libGUgZm9yIGFwcGxpY2F0aW9ucyBsaWtlIHBpdGl2aSB0bwoJICB1c2UgdGhlbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDQyOQoKMjAxMy0wNy0xNyAxMToyMjowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX2VnbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nc3RndGsuYzoKCSAgWzc3MS85MDZdIGdsOiBTb21lIGxlc3MgbG9uZy91bG9uZy9ndWxvbmcgdXNhZ2UKCjIwMTMtMDctMTYgMTg6Mjg6MzMgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFs3NzAvOTA2XSB0ZXN0cy9leGFtcGxlczogcG9ydCBzb21lIG9mIHRoZSBleGFtcGxlcy4KCSAgVGhpcyBjb21taXQgaXMgYSBmaXJzdCBzdGVwLCByZW1vdmVzIGdsdXBsb2FkLCBzd2l0Y2ggbmV3LWRlY29kZWQtcGFkCgkgIHRvIHBhZC1hZGRlZCwgYnV0IHRoZXNlIGV4YW1wbGVzIHN0aWxsIGZhaWwgZm9yIHZhcmlvdXMgcmVhc29ucy4KCjIwMTMtMDctMTYgMTg6Mjc6MDcgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zZGwvc2Rsc2hhcmUuYzoKCSAgWzc2OS85MDZdIHRlc3RzL2V4YW1wbGVzOiBmaXggYW5kIHBvcnQgc29tZSBvZiB0aGUgZXhhbXBsZXMuCgkgIFJlYWxpemUgd2lkZ2V0cywgcmVtb3ZlIGdsdXBsb2FkIGVsZW1lbnQuCgoyMDEzLTA3LTE2IDE2OjE3OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFs3NjgvOTA2XSBnbHRlc3RzcmM6IEZpeCB1c2FnZSBvZiBGQk8gQVBJCgoyMDEzLTA3LTE2IDE0OjIyOjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIFs3NjcvOTA2XSBnbGltYWdlc2luazogUmVtb3ZlIEdWYWx1ZSB1c2FnZSBmb3IgZnJhY3Rpb24gaGFuZGxpbmcKCjIwMTMtMDctMDQgMTA6MDE6NTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgWzc2Ni85MDZdIHV0aWxzOiBnZW5lcmF0ZSBhIFJHQkEgdGV4dHVyZSBpbiBhbGwgY2FzZXMKCjIwMTMtMDctMDMgMjE6MDE6MjUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSAgWzc2NS85MDZdIHdheWxhbmQ6IHJlbW92ZSBmdWxsc2NyZWVuCgoyMDEzLTA3LTAzIDE0OjM3OjEzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBbNzY0LzkwNl0gZmlsdGVyOiBmaXggcGFkIHRlbXBsYXRlIGNhcHMKCSAgdXBsb2FkIGlzIGZvciB0aGUgc2luayB0ZW1wbGF0ZQoJICBkb3dubG9hZCBpcyBmb3JtIHRoZSBzcmMgdGVtcGxhdGUKCjIwMTMtMDctMDMgMTQ6MTM6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIFs3NjMvOTA2XSBtZW1vcnk6IGNvcHkgcHJvcGVybHkgZGVwZW5kaW5nIG9uIHdoZXJlIHRoZSBtb3N0IHJlY2VudCBkYXRhIGlzCgoyMDEzLTA3LTE2IDE0OjExOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIFs3NjIvOTA2XSBnbGltYWdlc2luazogRml4IHNvbWUgbWVtb3J5IGxlYWtzIGFuZCBwcm9wZXJseSBzZXQgdXAgdGhlIGJ1ZmZlciBwb29sCgoyMDEzLTA3LTE2IDEzOjI4OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5oOgoJICBbNzYxLzkwNl0geDExOiBQcm90ZWN0IGV2ZW50IGRpc3BsYXkgY29ubmVjdGlvbiB3aXRoIGEgbXV0ZXgKCSAgV2UgdXNlIGl0IGZyb20gZGlmZmVyZW50IHRocmVhZHMgYW5kIG5lZWQgdG8gc2VyaWFsaXplIHRoZQoJICBhY2Nlc3NlcyB0byBpdC4KCjIwMTMtMDctMTYgMTM6MjM6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs3NjAvOTA2XSB4MTE6IEFsd2F5cyB1c2UgdGhlIHNhbWUgZGlzcGxheSBjb25uZWN0aW9uIGZyb20gdGhlIEdMIHRocmVhZAoJICBUaGUgb3RoZXIgZGlzcGxheSBjb25uZWN0aW9uIG1pZ2h0IGJlIHVzZWQgYnkgYXN5bmMgY2FsbHMgZnJvbSBlbHNld2hlcmUKCSAgYXQgdGhlIHNhbWUgdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDI0NwoKMjAxMy0wNy0xNSAyMTo0NDoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgWzc1OS85MDZdIGdsZG93bmxvYWQ6ICNpZmRlZiBzb21lIEdMRVMyIHNwZWNpZmljIGNvZGUgdG8gZml4IGNvbXBpbGF0aW9uCgoyMDEzLTA3LTE1IDE4OjA3OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5jOgoJICBbNzU4LzkwNl0gYW5kcm9pZDogRG9uJ3QgcmVxdWlyZSBhIHdpbmRvdyB0byBiZSBzZXQKCSAgVGhpcyBhbGxvd3MgdGhlIGZpbHRlcnMgdG8gYmUgdXNhYmxlIHdpdGhvdXQgYSBHTCBzaW5rIGRvd25zdHJlYW0uCgoyMDEzLTA3LTE1IDE4OjAxOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlZ2wuYzoKCSAgWzc1Ny85MDZdIGVnbDogQ3JlYXRlIGFuIG9mZnNjcmVlbiBzdXJmYWNlIGlmIG5vIHdpbmRvdyB3YXMgcHJvdmlkZWQKCjIwMTMtMDctMTUgMTc6MjA6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFs3NTYvOTA2XSBnbGRvd25sb2FkOiBSZXNldCB0aGUgdmlld3BvcnQgYWZ0ZXIgZG93bmxvYWQgUkdCIHZpYSBHTEVTMgoKMjAxMy0wNy0xNSAxNzoxMTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgWzc1NS85MDZdIGdsZG93bmxvYWQ6IFVuYmluZCBmcmFtZWJ1ZmZlciBhZnRlciBkb3dubG9hZGluZyBSR0Igd2l0aCBHTEVTMgoKMjAxMy0wNy0xNSAxNzowODo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSAgWzc1NC85MDZdIGdsZG93bmxvYWQ6IEFkZCBzdXBwb3J0IGZvciBSR0IgcmVvcmRlcmluZyB3aGVuIHVzaW5nIEdMRVMyCgoyMDEzLTA3LTE1IDE3OjA4OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs3NTMvOTA2XSBnbGRpc3BsYXk6IFNlbmRpbmcgYSBtZXNzYWdlIGlzIHN5bmNocm9ub3VzLCB3ZSBjYW4gYWxsb2NhdGUgdGhlIG1lbW9yeSBvbiB0aGUgc3RhY2sKCjIwMTMtMDctMTUgMTU6NTg6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzc1Mi85MDZdIGdsd2luZG93OiBBZGQgZGVzdHJveSBub3RpZmllcyBmb3IgdGhlIGRhdGEgb2YgdGhlIGNhbGxiYWNrcwoJICBBbmQgYWN0dWFsbHkgY2FsbCB0aGUgY2xvc2UgY2FsbGJhY2sgd2hlbiB0aGUgd2luZG93IGlzIGNsb3NlZC4KCjIwMTMtMDctMTUgMTU6MjU6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzc1MS85MDZdIGdsZGlzcGxheTogRG9uJ3QgaG9sZCBsb2NrIHdoaWxlIHNlbmRpbmcgYSBtZXNzYWdlIHRvIHRoZSBHTCB0aHJlYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDI0NwoKMjAxMy0wNy0xNSAxNDoxMToyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgWzc1MC85MDZdIGdsdXBsb2FkOiBBZGQgc3VwcG9ydCBmb3IgUkdCIHJlb3JkZXJpbmcgd2hlbiB1c2luZyBHTEVTMgoKMjAxMy0wNy0xNSAwNzozOTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkgIFs3NDkvOTA2XSBnbHNoYWRlcjogQWRkIHNvbWUgbW9yZSBkZWJ1ZyBvdXRwdXQKCjIwMTMtMDctMTIgMTQ6MzE6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFs3NDgvOTA2XSBnbHVwbG9hZDogR0xfU1RFTkNJTF9BVFRBQ0hNRU5UIGlzIG5lZWRlZCBmb3IgZGVza3RvcCBHTCwgbm90IEdMRVMKCjIwMTMtMDctMTIgMTQ6MjY6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNzQ3LzkwNl0gZ2w6IENvbnN0aWZ5IFlVViBjb252ZXJzaW9uIHNoYWRlcnMKCjIwMTMtMDctMTIgMTQ6MjA6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmg6CgkgIFs3NDYvOTA2XSBhbmRyb2lkOiBBZGQgY29tbWVudCB0byBjbGFyaWZ5IHRoZSB0eXBlIG9mIGEgdmFyaWFibGUKCjIwMTMtMDctMTIgMTQ6MjA6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNzQ1LzkwNl0gZ2w6IFNpbXBsaWZ5IGFuZCBvcHRpbWl6ZSBZVVYgY29udmVyc2lvbiBzaGFkZXJzIGEgYml0CgoyMDEzLTA3LTEyIDExOjM1OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSAgWzc0NC85MDZdIGdsOiBVc2UgX19HU1RfR0xfSF9fIGluc3RlYWQgb2YgX19HTF9IX18gYXMgYSBtdWx0aS1pbmNsdWRlIGd1YXJkCgkgIEdML2dsLmggbWlnaHQgdXNlIHRoZSBsYXR0ZXIgYWxyZWFkeS4KCjIwMTMtMDctMTEgMjE6MzA6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuaDoKCSAgWzc0My85MDZdIHdpbjMyOiBBbGxvdyBzZXR0aW5nIHdpbmRvdyBoYW5kbGUgYmVmb3JlIGNyZWF0aW5nIHRoZSBjb250ZXh0CgoyMDEzLTA3LTExIDIxOjIyOjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgWzc0Mi85MDZdIGNvY29hOiBBbGxvdyBzZXR0aW5nIHdpbmRvdyBoYW5kbGUgYmVmb3JlIGNyZWF0aW5nIHRoZSBjb250ZXh0CgoyMDEzLTA3LTExIDIxOjE3OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJICBbNzQxLzkwNl0gd2F5bGFuZDogRG9uJ3QgbGVhayBtYWluIGNvbnRleHQgYW5kIGxvb3AKCjIwMTMtMDctMTEgMjE6MTU6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs3NDAvOTA2XSB4MTE6IEFsbG93IHNldHRpbmcgd2luZG93IGhhbmRsZSBiZWZvcmUgY3JlYXRpbmcgdGhlIGNvbnRleHQKCjIwMTMtMDctMTEgMjA6NTg6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs3MzkvOTA2XSB4MTE6IERvbid0IGxlYWsgbWFpbiBjb250ZXh0IGFuZCBtYWluIGxvb3AKCjIwMTMtMDctMTEgMjA6NTE6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBbNzM4LzkwNl0gZ2w6IEluY2x1ZGUgZ2x1LmggYWZ0ZXIgZ2wuaAoKMjAxMy0wNy0xMSAxNjoyMTowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFs3MzcvOTA2XSBnbGltYWdlc2luazogUmVxdWVzdCBhbmQgc2V0IHRoZSB3aW5kb3cgaGFuZGxlIG11Y2ggZWFybGllcgoKMjAxMy0wNy0xMSAxNjowNTo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbNzM2LzkwNl0gZ2xpbWFnZXNpbms6IEdpdmUgTUFSR0lOQUwgcmFuayB0byBiZSBhYmxlIHRvIGF1dG9wbHVnIGl0IGlmIG5vdGhpbmcgZWxzZSBpcyBhdmFpbGFibGUKCjIwMTMtMDctMTAgMTE6MzE6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgWzczNS85MDZdIGdsOiBBZGQgc3VwcG9ydCBmb3IgQW5kcm9pZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzQwCgoyMDEzLTA3LTExIDExOjM3OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvTWFrZWZpbGUuYW06CgkgIFs3MzQvOTA2XSB3aW4zMjogTWFrZSBhdXRvbWFrZSBoYXBweSBieSB1c2luZyBub2luc3RfSEVBREVSUwoKMjAxMy0wNy0xMSAxMTowMzozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ3N0Z2xfY29tcGF0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVycGFkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL3gxMV9ldmVudF9zb3VyY2UuYzoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmg6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmg6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmg6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuaDoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5oOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuaDoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5oOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFs3MzMvOTA2XSBnbDogTWFqb3IgaGVhZGVyIGFuZCBpbmNsdWRlIGNsZWFudXAKCjIwMTMtMDctMTAgMTY6MDM6MDQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2Z3ZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5oOgoJICBbNzMyLzkwNl0gYnVpbGQ6IGZpeCByZXBlYXRlZCB0eXBlZGVmcwoJICBXcml0ZSBmb3J3YXJkIGRlY2xhcmF0aW9ucyBpbiBhbm90aGVyIHdheSB0byBhdm9pZAoJICByZXBlYXRlZCB0eXBlZGVmcyAiZXJyb3I6IHJlZGVmaW5pdGlvbiBvZiB0eXBlZGVmIi4KCSAgUmFpc2VkIHdoZW4gdXNpbmcgaTY4Ni1hcHBsZS1kYXJ3aW4xMS1sbHZtLWdjYy00LjIKCSAgSXQgc2VlbXMgdGhhdCBDIGFwcGxlIGNvbXBpbGVyIGRvZXMgbm90IHN1cHBvcnQKCSAgQzExIGZlYXR1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM4ODUKCjIwMTMtMDctMTAgMTU6NDc6MjMgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFs3MzEvOTA2XSBjb2NvYTogZml4IGJ1aWxkIHdoZW4gR05VU1RFUCBpcyBub3QgZGVmaW5lZAoKMjAxMy0wNy0xMCAxMTozMDoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nc3RnbF9jb21wYXQuaDoKCSAgWzczMC85MDZdIGdsY29tcGF0OiBQcm9wZXJseSBjaGVjayBmb3IgR0xjaGFyIGFuZCBvdGhlciB0eXBlcwoJICBPbiBBbmRyb2lkIGZvciBleGFtcGxlIHRoZXNlIGFyZSBubyAjZGVmaW5lcyBidXQgdHlwZWRlZnMKCjIwMTMtMDctMTAgMTE6MjQ6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2dzdGd0ay5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zZGwvc2Rsc2hhcmUuYzoKCSAgWzcyOS85MDZdIGdsOiBJbmNsdWRlIGNvbmZpZy5oIGV2ZXJ5d2hlcmUKCjIwMTMtMDctMDMgMTQ6MTM6NTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFs3MjgvOTA2XSBnbGltYWdlc2luazogZml4IGZvciBnbGVzMgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNTA4CgoyMDEzLTA3LTAzIDA5OjEyOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5oOgoJICBbNzI3LzkwNl0gZWdsOiBSZWZhY3RvciBFR0wgbG9naWMgaW50byBhIGhlbHBlciBvYmplY3QKCjIwMTMtMDctMDIgMjI6NDU6MDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBbNzI2LzkwNl0gd2luZG93OiBkb24ndCBjYWxsIGEgTlVMTCBkZXN0cm95IGZ1bmN0aW9uCgoyMDEzLTA3LTAyIDIyOjA2OjAzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEveDExX2V2ZW50X3NvdXJjZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL3gxMV9ldmVudF9zb3VyY2UuaDoKCSAgWzcyNS85MDZdIHgxMTogdXNlIEdNYWluQ29udGV4dC9HTWFpbkxvb3AKCSAgYWxsb3dzIHVzIHRvIGJlIHJlZW50cmFudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNDQ1CgoyMDEzLTA3LTAyIDE4OjMzOjQyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkgIFs3MjQvOTA2XSB3YXlsYW5kOiBtYWtlIHJlZW50cmFudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNDQ1CgoyMDEzLTA3LTAxIDE0OjQzOjE0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBbNzIzLzkwNl0gZ3N0Z2x3aW5kb3c6IGNsb3NlIGhhcyB0byBiZSBjYWxsZWQgaW4gdGhlIGdsdGhyZWFkLgoJICBJbmRlZWQgJ2dsWE1ha2VDdXJyZW50ICh3aW5kb3dfeDExLT5kZXZpY2UsIE5vbmUsIE5VTEwpOycKCSAgaGFzIHRvIGJlIGNhbGxlZCBpbiB0aGUgdGhyZWFkIHdoZXJlIHRoZSBnbGNvbnRleHQgaXMgYWN0dWFsbHkKCSAgY3VycmVudC4KCSAgT3RoZXJ3aXNlIGdsWERlc3Ryb3lDb250ZXh0IG1heSBjcmFzaC4KCjIwMTMtMDctMDEgMDE6MzY6MzUgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIFs3MjIvOTA2XSBnbDogRml4IGJ1aWxkIG9uIFdpbjMyCgkgIDEpIE5lZWQgdG8gaW5jbHVkZSBHTC9nbGV4dC5oIG9uIFczMiB0byBwcm92aWRlIG5lY2Vzc2FyeSBtYWNyb3MKCSAgMikgVzMyIG1hY3JvcyB0aGF0IHByZS1wcm9jZXNzb3IgaGFzIGJ5IGRlZmF1bHQgYXJlIGRpZmZlcmVudCBmb3IgZGlmZmVyZW50CgkgIHRvb2xjaGFpbnMuIEJvcmxhbmQgdXNlcyBfX1dJTjMyX18sIGV2ZXJ5b25lIGVsc2UgaGFzIF9XSU4zMiwgc28gY2hlY2sgYm90aC4KCSAgU2lkZS1ub3RlOiBnbGV4dC5oIGlzIG5vdCBzdXBwbGllZCBieSBtaW5ndy13NjQgYXQgdGhlIG1vbWVudCwgYnV0IGNhbiBiZQoJICBkb3dubG9hZGVkIGZyb20gaHR0cDovL3d3dy5vcGVuZ2wub3JnL3JlZ2lzdHJ5LwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzY0CgoyMDEzLTA2LTI4IDExOjEwOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgWzcyMS85MDZdIGdsZmlsdGVyOiBVc2UgdWludDY0IGZvciB0aGUgT3BlbkdMIGNvbnRleHQgcHJvcGVydHkKCSAgdWxvbmcvbG9uZyBwcm9wZXJ0aWVzIGFyZSBkZXByZWNhdGVkIGFuZCBzaG91bGQgbm90IGJlIHVzZWQgYW55bW9yZQoJICBmb3IgcG9ydGFiaWxpdHkgcmVhc29ucy4KCjIwMTMtMDYtMjggMTE6MDA6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbNzIwLzkwNl0gZXhhbXBsZXM6IFN0b3AgdXNpbmcgZGVwcmVjYXRlZCBHTGliIHRocmVhZCBBUEkKCjIwMTMtMDYtMjggMTE6MDA6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbNzE5LzkwNl0gZ2w6IEZpeCBjb21waWxhdGlvbiB3aXRoIEdMRVMyCgoyMDEzLTA2LTI4IDAwOjM0OjQ4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIFs3MTgvOTA2XSBzaGFkZXI6IG1ha2UgaXQgcG9zc2libGUgdG8gdW5yZWYgaW4gdGhlIG5vbi1HTCB0aHJlYWQKCjIwMTMtMDYtMjggMDA6MzE6MzYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2xpYnZpc3VhbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkgIFs3MTcvOTA2XSByZW1vdmUgb3V0ZGF0ZWQgY21ha2UgYnVpbGQgZmlsZXMKCjIwMTMtMDYtMTcgMTk6NDU6MjcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmM6CgkgIFs3MTYvOTA2XSB3YXlsYW5kOiBwcm9wZXJseSBjaG9vc2UgRUdMX1JFTkRFUkFCTEVfVFlQRQoJICBiYXNlZCBvbiB0aGUgZ2wgYXBpIHdlIGNob3NlCgoyMDEzLTA2LTE2IDIwOjQ3OjA1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgWzcxNS85MDZdIGRpc3BsYXk6IGluaGVyaXQgZnJvbSB0aGUgcmlnaHQgb2JqZWN0IGNsYXNzCgoyMDEzLTA2LTE2IDIwOjQ0OjQ3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSAgWzcxNC85MDZdIEFkZCBHc3RHTEZyYW1lYnVmZmVyIHRvIHJlcGxhY2UgX2Rpc3BsYXlfZ2VuX2ZibyBhbmQgZnJpZW5kcwoJICBUaGlzIHZlcnNpb24gaXMgc2ltcGx5IEFQSSBjb21wYXRpYmxlIHdpdGggX2Rpc3BsYXlfZ2VuX2Ziby4KCSAgVGhlIG5leHQgdmVyc2lvbiB3aWxsIGxpa2VseSByZXZhbXAgdGhlIEFQSQoKMjAxMy0wNi0xNiAyMDo0MToyOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSAgWzcxMy85MDZdIHNoYWRlcjogbWFrZSBpdCBwb3NzaWJsZSB0byBjcmVhdGUgdGhlIG9iamVjdCBpbiBhIG5vbi1HTCB0aHJlYWQKCjIwMTMtMDYtMTYgMjA6Mzg6MjcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSAgWzcxMi85MDZdIHdheWxhbmQ6IHNodXRkb3duIHByb3Blcmx5CgkgIFdlIGNhbm5vdCB1c2UgX2ZpbmFsaXplIGFzIHRoaXMgd2lsbCBiZSBjYWxsZWQgYmVmb3JlIEdzdEdMV2luZG93J3MKCSAgX2ZpbmFsaXplLiAgVGhpcyBjYXVzZXMgdXMgdG8gdHJ5IGFuZCBwZXJmb3JtIG9wZXJhdGlvbnMgd2l0aCB0aGUKCSAgd2F5bGFuZCBzZXJ2ZXIgd2hlbiB0aGUgY29ubmVjdGlvbiBoYXMgYmVlbiBzZXZlcmVkLgoKMjAxMy0wNi0xNiAyMDozNzowNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuYzoKCSAgWzcxMS85MDZdIHdheWxhbmQ6IHN1cHBvcnQgY2hvb3NpbmcgRGVza3RvcCBHTCBhcyB0aGUgYXBpCgoyMDEzLTA2LTE2IDIwOjM0OjE1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBbNzEwLzkwNl0gd2luZG93OiBmYWlsIGlmIHRoZSB1c2VyIHNwZWNpZmllcyBhbiBHTCBhcGkgdGhhdCB3ZSBjYW5ub3Qgd29yayB3aXRoCgkgIEl0IHdvdWxkJ3ZlIGJlZW4gY2F1Z2h0IGxhdGVyIGluIGFuIGdfYXNzZXJ0IGFueXdheS4KCjIwMTMtMDYtMTMgMTg6MzM6NDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIFs3MDkvOTA2XSBkaXNwbGF5OiBzb21lIG1vcmUgY2xlYW51cHMKCjIwMTMtMDYtMTMgMTc6NTc6MzUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVycGFkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBbNzA4LzkwNl0gZGlzcGxheTogYSBjbGVhbnVwIGFuZCByZW1vdmFsIG9mIG9sZCBjb2RlCgoyMDEzLTA2LTEzIDE2OjU1OjM3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFs3MDcvOTA2XSBkaXNwbGF5OiBtb3ZlIGVycm9yX21lc3NhZ2UgdG8gdXRpbHMKCjIwMTMtMDYtMTMgMTY6MzE6MzggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkgIFs3MDYvOTA2XSBkaXNwbGF5OiBtb3ZlIGFjdGl2YXRlX2NvbnRleHQgaW50byB1dGlscwoKMjAxMy0wNi0xMyAxNjowNDo0MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs3MDUvOTA2XSB4MTE6IGRvbid0IHNodXRkb3duIGluIF9maW5hbGl6ZQoJICBUaGUgd2luZG93J3MgbG9vcCBjb3VsZCBiZSBzdGlsbCBydW5uaW5nIHdoZW4gX2ZpbmFsaXplIGlzIGNhbGxlZAoJICBhbmQgaWYgd2UgZGVzdHJveSB0aGUgZGlzcGxheSBjb25uZWN0aW9uIGl0IHdpbGwgbmV2ZXIgYmUgY2xvc2VkLgoJICBBZGQgX29wZW4gYW5kIF9jbG9zZSB2ZnVuY3MgdG8gR3N0R0xXaW5kb3cgc28gdGhhdCBzdWJjbGFzc2VzIGNhbgoJICBzdGFydCB1cCBhbmQgc2h1dGRvd24gYXQgdGhlIHJpZ2h0IHRpbWUuCgoyMDEzLTA2LTEzIDE0OjM2OjQxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9saWJ2aXN1YWwvdmlzdWFsLWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NkbC9zZGxzaGFyZS5jOgoJICBbNzA0LzkwNl0gVXNlIGdzdF9vYmplY3RfW3VuXXJlZiBzbyB3ZSBjYW4gZ2V0IHJlZmNvdW50cyBpbiB0aGUgbG9nCgoyMDEzLTA2LTEzIDE0OjE4OjI0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbNzAzLzkwNl0geDExOiBkb24ndCBzZWdmYXVsdCBpZiBkZXN0cm95X2NiIGlzIE5VTEwKCjIwMTMtMDYtMTIgMjM6MjE6MTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzcwMi85MDZdIHgxMTogZml4IHNlZ2ZhdWx0IGlmIHRoZSB4MTEgYmFja2VuZCBpcyBpbnN0YW50aWF0ZWQgYnV0IG5vdCB1c2VkCgoyMDEzLTA2LTEyIDIzOjE3OjMwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFs3MDEvOTA2XSBkaXNwbGF5OiBtb3ZlIGNvbnRleHQgY3JlYXRpb24gaW50byB3aW5kb3cKCjIwMTMtMDYtMTIgMDE6MDQ6NTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkgIFs3MDAvOTA2XSBkaXNwbGF5OiBtb3ZlIG1vc3Qgb2YgdGhlIGNvZGUgaW50byB1dGlscyBmb3Igc29ydGluZyBsYXRlcgoJICBUaGlzIGNvbnRhaW5zIGEgaGFjayB0aGF0IGVzc2VudGlhbGx5IHJlcXVpcmVzIG9uZSBHc3RHTERpc3BsYXkKCSAgcGVyIHByb2Nlc3MuCgoyMDEzLTA2LTExIDE4OjUwOjEyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVycGFkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzY5OS85MDZdIGRpc3BsYXk6IHJlbW92ZSBsaXN0IG9mIHVwbG9hZCBhbmQgZG93bmxvYWQgb2JqZWN0cwoJICBhbmQgb25seSBjcmVhdGUgYW4gdXAvZG93bmxvYWQgb2JqZWN0IHdoZW4gbmVlZGVkLgoKMjAxMy0wNi0xMSAxMjoyNjo1MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBbNjk4LzkwNl0gbW92ZSBzaW5rLXNwZWNpZmljIHN0dWZmIGZyb20gR3N0R0xEaXNwbGF5IGludG8gZ2xpbWFnZXNpbmsKCjIwMTMtMDYtMTEgMTE6Mjc6NTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNjk3LzkwNl0gZGlzcGxheTogYWxsb3cgdGhlIHVzZXIgdG8gdHJ5IGFuZCBjaG9vc2UgdGhlIEdMIGFwaSB3ZSB1c2UgdmlhIGVudiB2YXJpYWJsZQoJICBHU1RfR0xfQVBJPW9wZW5nbCxvcGVuZ2wzLGdsZXMyLGdsZXMzCgoyMDEzLTA2LTExIDExOjI2OjM4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5jOgoJICBbNjk2LzkwNl0gZ2xhcGk6IGZpeCBtZW1vcnkgbGVhayBmcm9tIG5vdCBmcmVlaW5nIGEgc3RyaW5nCgoyMDEzLTA2LTA0IDIyOjE4OjUxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9NYWtlZmlsZS5hbToKCSAgWzY5NS85MDZdIGJ1aWxkOiByZW1vdmUgbGlidG9vbCB3YXJuaW5nIGFib3V0IC12ZXJzaW9uLWluZm8gbm90IHVzZWQgaW4gY29udmVuaWVuY2UgbGlicmFyaWVzCgoyMDEzLTA2LTA0IDIyOjE3OjQxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzY5NC85MDZdIGJ1aWxkOiBhZGQgc3VwcG9ydCBmb3Igc3RhdGljIHBsdWdpbnMKCjIwMTMtMDYtMDQgMjI6MTY6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZ2x4LmM6CgkgIFs2OTMvOTA2XSB4MTFfZ2x4OiBhc2sgZm9yIGEgMy4wIEdMIENvbnRleHQKCSAgKGZhbGxpbmcgYmFjayBpZiBuZWVkZWQpCgoyMDEzLTA2LTAzIDE4OjE1OjQ1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmg6CgkgIFs2OTIvOTA2XSB3aW5kb3dfeDExOiBhZGQgWEVycm9yIHRyYXBwaW5nCgkgIHNvbWUgZnVuY3Rpb25zIGluIEdMWCBjYW4gZmFpbCBpZiB0aGUgaW1wbGVtZW50YXRpb24gZG9lcyBub3Qgc3VwcG9ydAoJICBjZXJ0YWluIGZlYXR1cmVzIHdlIGFzayBmb3IgKGkuZS4gR0wgMykgYnJpbmdpbmcgZG93biB0aGUgZW50aXJlCgkgIGFwcGxpY2F0aW9uCgoyMDEzLTA2LTAzIDE4OjEzOjUyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuaDoKCSAgWzY5MS85MDZdIGZlYXR1cmU6IG1ha2UgZ3N0X2dsX2NoZWNrX2V4dGVuc2lvbiBwdWJsaWMKCSAgcHJldmVudHMgZHVwbGljYXRpb24gb2YgY29kZSBvZiBleHRlbnNpb24gc3RyaW5nIHBhcnNpbmcgaW4gR3N0R0xXaW5kb3cncwoKMjAxMy0wNi0wMiAyMTo0NzoxNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9nbHguYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZ2x4Lmg6CgkgIFs2OTAvOTA2XSB3aW5kb3d4MTFnbHg6IHVzZSBmYmNvbmZpZ3MgaWYgc3VwcG9ydGVkCgoyMDEzLTA0LTI1IDEyOjA0OjIzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJICBbNjg5LzkwNl0gYnVtcGVyOiBuaWNlciBlcnJvciBmb3Igbm8gYnVtcG1hcCBmaWxlIHByb3ZlZGVkCgoyMDEzLTA0LTI0IDE0OjI1OjIxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzY4OC85MDZdIGRpc3BsYXk6IHByb3Blcmx5IHNodXRkb3duIGlmIHdlIGVycm9yIGFmdGVyIGNvbnRleHQgY3JlYXRpb24KCSAgVGhlIF9maW5hbGl6ZSgpIGNvZGUgY2hlY2tzIHRvIHNlZSBpZiB0aGUgY29udGV4dCB3YXMgY3JlYXRlZCBiZWZvcmUKCSAgYXR0ZW1wdGluZyB0byBkZXN0cm95IGl0LiAgV2UgbmV2ZXIgZGlkIHNheSB0aGF0IHdlIGhhZCBjcmVhdGVkIHRoZSBjb250ZXh0LgoKMjAxMy0wNC0yNCAxNDoyNDoyNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSAgWzY4Ny85MDZdIGJ1bXBlcjogZXJyb3Igb3V0IHByb3Blcmx5IGlmIHdlIGNhbm5vdCBsb2FkIHRoZSBwbmcgZmlsZQoKMjAxMy0wNC0yNCAxNDoyMzoxNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSAgWzY4Ni85MDZdIGZpbHRlcnNoYWRlcjogZml4IHN0cmluZyBmb3JtYXQgY29tcGlsZXIgd2FybmluZ3MKCjIwMTMtMDQtMjQgMTQ6MjI6NDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIFs2ODUvOTA2XSBmaWx0ZXI6IGltcHJvdmUgZXJyb3IgaGFuZGxpbmcKCjIwMTMtMDQtMjQgMTI6MTg6MTQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNjg0LzkwNl0gZGlzcGxheTogbGFjayBvZiBmb3JtYXQtc3RyaW5nIGNhdXNpbmcgYSBjb21waWxlciB3YXJuaW5nCgoyMDEzLTA0LTI0IDEyOjE3OjM2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuYzoKCSAgWzY4My85MDZdIGZlYXR1cmU6IHJlbW92ZSBkb3VibGUgZnJlZQoKMjAxMy0wMy0xMSAxNTo1MTowNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIFs2ODIvOTA2XSBvdmVybGF5OiBmaXggdmlkZW8tdG9wIHByb3BlcnR5CgoyMDEzLTA2LTAyIDA3OjUyOjMwICswMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSAgWzY4MS85MDZdIHdpbjMyOiBmaXggZ2wgYXBpIGNhbGxzIG9uIDMyLWJpdAoJICB3aW4gaGFzIHRoZSBicmlnaHQgaWRlYSBvZiBoYXZpbmcgNSBkaWZmZXJlbnQgY2FsbGluZyBjb252ZW50aW9ucy4KCSAgd2Ugc2hvdWxkIHByb2JhYmx5IHVzZSB0aGUgcmlnaHQgb25lIHNvIHdlIGRvbid0IGNyYXNoIGZyb20gc3RhY2sKCSAgY29ycnVwdGlvbi4KCjIwMTMtMDMtMTAgMTM6Mzc6NDggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9vcGVuZ2wuaDoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBbNjgwLzkwNl0gb3ZlcmxheTogdGVudGF0aXZlIHBvcnQgdG8gbmV3IEdzdEdMRnVuY3MgQVBJCgoyMDEzLTAzLTEwIDEzOjM0OjE1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzY3OS85MDZdIG9wZW5nbDogZml4IHBsdWdpbnMgbm90IGJlaW5nIHJlZ2lzdGVyZWQgd2hlbiB0aGV5IHNob3VsZCBiZQoKMjAxMy0wMy0wOSAyMzozNjozNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfd2dsLmM6CgkgIFs2NzgvOTA2XSB3aW5kb3dfd2luMzJfd2dsOiBpbXBsZW1lbnQgd2dsR2V0UHJvY0FkZHJlc3MgZm9yIGV4dGVuc2lvbiBmdW5jdGlvbnMKCjIwMTMtMDMtMDkgMjI6NTM6NDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIFs2NzcvOTA2XSBtZW1vcnk6IGZpeCBHU0laRSBwcmludGYgZm9ybWF0IG9uIHdpbjMyCgoyMDEzLTAzLTA5IDIyOjUzOjA5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX3dnbC5oOgoJICBbNjc2LzkwNl0gd2luZHdvX3dpbjMyOiBwb3J0IHRvIG5ldyBBUEkKCjIwMTMtMDMtMDkgMjI6NDc6MTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs2NzUvOTA2XSB1cGxvYWQ6IHByb3ZpZGUgbmljZXIgZGVidWdnaW5nCgoyMDEzLTAzLTA5IDIyOjQ1OjIzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuYzoKCSAgWzY3NC85MDZdIGZlYXR1cmU6IHRyeSBhbmQgY2F0Y2ggbW9yZSBHTCBleHRlbnNpb24gZnVuY3Rpb25zCgkgIGlmIHdlIGRvbid0IGZpbmQgdGhlIGV4dGVuc2lvbiBpbiBjb3JlIEdMLCB0cnkgdGhlIGV4dGVuc2lvbiB2ZXJzaW9uIGFueXdheQoKMjAxMy0wMy0wOSAyMjozNzozNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmg6CgkgIFs2NzMvOTA2XSBmZWF0dXJlOiBhZGQgZ3N0cmVhbWVyIGxpY2Vuc2UKCjIwMTMtMDMtMDkgMjI6MDU6MjggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNjcyLzkwNl0gZGlzcGxheTogY29uc3RpZnkgR3N0R0xGdW5jcyAqZ2wKCjIwMTMtMDMtMDkgMjE6NTk6MDIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nc3RnbF9jb21wYXQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIFs2NzEvOTA2XSB3aW4zMjogI2luY2x1ZGUgR0wvZ2xleHQuaCBvbiB3aW5kb3dzCgkgIGFsc28gYWRkIHNvbWUgR0wgZGVmYXVsdCB2YXJpYWJsZXMgaWYgc29tZSBHTCB0eXBlcyBhcmUgbm90IGRlZmluZWQKCjIwMTMtMDItMTggMjE6NDA6MzQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIFs2NzAvOTA2XSBkaXNwbGF5OiByZXBsYWNlIGdsaWIgZGVwcmVjYXRlZCBhcGkKCjIwMTMtMDItMTIgMjM6NDg6MzYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9nbHguaDoKCSAgWzY2OS85MDZdIHdpbmRvdzogc2VwZXJhdGUgb2JqZWN0IGNyZWF0aW9uIGFuZCBjb250ZXh0IGNyZWF0aW9uCgoyMDEzLTAyLTA0IDIxOjMwOjUxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJICBbNjY4LzkwNl0gc2hhZGVyOiBmaXggZ2xlczIgc2VnZmF1bHQKCjIwMTMtMDItMDQgMjE6Mjk6MzMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJICBbNjY3LzkwNl0gZmlsdGVyY3ViZTogZml4IGZvciBnbGVzMiBjb21waWxhdGlvbgoKMjAxMy0wMi0wMSAxODoyMDowNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJICBbNjY2LzkwNl0gc29iZWw6IHBvcnQgZm9yIG5vbi1nbGV3CgoyMDEzLTAyLTAxIDAwOjA4OjI4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJICBbNjY1LzkwNl0gbW9zYWljOiBmaXggYSBjb3VwbGUgb2YgYXNzZXJ0aW9ucwoKMjAxMy0wMi0wMSAwMDowNjo1NCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSAgWzY2NC85MDZdIGZpbHRlcnNoYWRlcjogaW1wcm92ZSBlcnJvciBjaGVja2luZwoKMjAxMy0wMS0zMSAyMzo1MTowNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSAgWzY2My85MDZdIGZpbHRlcnNoYWRlcjogcG9ydCB0byBub24tZ2xldwoKMjAxMy0wMS0zMSAyMzo0NjozNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSAgWzY2Mi85MDZdIGxhcGxhY2lhbjogcG9ydCB0byBub24tZ2xldwoKMjAxMy0wMS0zMSAyMzo0Mzo1MiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5oOgoJICBbNjYxLzkwNl0gZ2xhc3M6IHBvcnQgdG8gbm9uLWdsZXcgKyBzaGFkZXIgbWF0cmljZXMKCjIwMTMtMDEtMzEgMjM6Mzk6NTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJICBbNjYwLzkwNl0gY3ViZTogcG9ydCBmb3Igbm9uLWdsZXcKCjIwMTMtMDEtMzEgMjM6MzQ6NDIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJICBbNjU5LzkwNl0gYmx1cjogcG9ydCBmb3Igbm9uLWdsZXcKCjIwMTMtMDEtMzEgMjM6MzI6NDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgWzY1OC85MDZdIG1peGVyOiBmaXggZW9zIHRpbWVzdGFtcCBjaGVjawoKMjAxMy0wMS0zMSAyMzozMTowOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSAgWzY1Ny85MDZdIGZpbHRlcmFwcDogcG9ydCB0byBub24tZ2xldwoKMjAxMy0wMS0zMSAyMzoyOToxMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSAgWzY1Ni85MDZdIGJ1bXBlcjogdXNlIERyYXdFbGVtZW50cyBmb3Igc2VtaS1jb21wYXRhYmlsaXR5IHdpdGggRVMKCSAgYWxzbyBHTF9RVUFEUyBpc24ndCBhdmFpbGFibGUgd2l0aCBFUyBjb250ZXh0cwoKMjAxMy0wMS0xNyAyMzo0NTo1OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBbNjU1LzkwNl0gZG93bmxvYWQ6IHJlbW92ZSBlcnJvbm91cyBSZWFkQnVmZmVyIGNhbGwKCSAgLSBpdCB3YXMgY2F1c2luZyBzZWdmYXVsdHMgaW4gbWVzYQoJICAtIHdlIGRpZG4ndCBzZXQgdGhlIHJlYWRidWZmZXIgc28gd2Ugc2hvdWxkbid0IHJlc2V0IGl0CgoyMDEzLTAxLTE3IDIzOjE3OjE0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJICBbNjU0LzkwNl0gZGlmZmVyZW5jZW1hdHRlOiBwb3J0IHRvIG5vbi1HTEVXCgoyMDEzLTAxLTE3IDIzOjE2OjA3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkgIFs2NTMvOTA2XSBkZWludGVybGFjZTogcG9ydCB0byBub24tR0xFVyArIGFycmF5cwoKMjAxMy0wMS0xNyAyMzoxNDo0OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL29wZW5nbC5oOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSAgWzY1Mi85MDZdIGJ1bXBlcjogcG9ydCB0byBub24tR0xFVyArIGFycmF5cwoKMjAxMy0wMS0xNyAyMzoxMjozNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzY1MS85MDZdIHVwL2Rvd25sb2FkOiBmaXggc29tZSB0eXBvcyB3aGVuIHJlbW92aW5nIEdMRVcKCjIwMTMtMDEtMTYgMjI6NDE6MTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIFs2NTAvOTA2XSBmaWx0ZXI6IGZpeCBfZHJhd190ZXh0dXJlKCkncyB3cm9uZyB2ZXJ0aWNlcwoKMjAxMy0wMS0xNiAyMjoyNzoxMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSAgWzY0OS85MDZdIGVmZmVjdHM6IGZpeGVzIGZvciBtaXJyb3IoMSkgYW5kIHNxdWVlemUoMikgcHJvZHVjaW5nIGJsYWNrCgoyMDEzLTAxLTE2IDE1OjIzOjQ5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFs2NDgvOTA2XSB0ZXN0cy9leGFtcGxlczogcmVtb3ZlIGRlcGVuZGVuY3kgb24gZ2xldwoKMjAxMy0wMS0xNiAxNToyMTo0NCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2FsbF9mdW5jdGlvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzM29wZW5nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL29wZW5nbF9mdW5jdGlvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuaDoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkgIFs2NDcvOTA2XSByZW1vdmUgZGVwZW5kZWN5IG9uIGdsZXcKCjIwMTMtMDEtMTMgMDA6MDk6MzMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMxZ2xlczJvcGVuZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMW9wZW5nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMyb3BlbmdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvb3BlbmdsLmg6CgkgIFs2NDYvOTA2XSBzb21lIGdsIGhlYWRlciBmaXhlcy9hZGRpdGlvbnMKCjIwMTMtMDEtMTAgMTM6MzI6MTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNjQ1LzkwNl0gZml4IGdsZXMyIGNvbXBpbGF0aW9uCgoyMDEzLTAxLTEwIDEwOjU3OjExICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC8uZ2l0aWdub3JlOgoJICBbNjQ0LzkwNl0gdXBkYXRlIC5naXRpZ25vcmUgZm9yIHNvbWUgbmV3IGZpbGVzCgoyMDEzLTAxLTEwIDAxOjQ0OjU0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBbNjQzLzkwNl0gZGlzcGxheTogcHJpdmF0aXNlIG1vc3Qgb2YgdGhlIHN0cnVjdAoKMjAxMy0wMS0xMCAwMToxMzoyMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIFs2NDIvOTA2XSBhZGQgZ3N0Z2xjb25maWcuaCBmb3IgYXBwcyB0byBmaW5kIG91dCB3aGF0IG91ciBjYXBhYmlsaXRlcyBhcmUKCSAgaWUgbGliZ3N0Z2wgY2FuIGJlIGNvbXBpbGVkIHdpdGggYW55IGNvbWJpbmF0aW9uIG9mIG9wZW5nbC9nbGVzMgoKMjAxMy0wMS0xMCAwMDozMDowMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs2NDEvOTA2XSBkaXNwbGF5OiBmZWF0dXJlIGNoZWNrIGZvciBHTCBleHRlbnNpb24gZnVuY3Rpb25zCgoyMDEzLTAxLTEwIDAwOjI1OjA2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzY0MC85MDZdIGJ1aWxkOiBhZGQgbWlzc2luZyBmaWxlIHRvIGJ1aWx0IHNvdXJjZXMKCjIwMTMtMDEtMTAgMDA6MjM6MzIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5jOgoJICBbNjM5LzkwNl0gYWRkIGdldF9wcm9jX2FkZHJlc3MgaW1wbGVtZW50YXRpb25zIGZvciBlZ2wgYW5kIGdseAoKMjAxMy0wMS0wOCAxNzo0MDozOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkgIFs2MzgvOTA2XSB3aW5kb3c6IGFkZCBnZXRfcHJvY19hZGRyZXNzICsgc3R1YiBmb3IgcmV0cmlldmluZyBnbCBmdW5jdGlvbnMKCjIwMTMtMDEtMDggMTc6Mzg6NDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5oOgoJICBbNjM3LzkwNl0geDExX2VnbDogYWRkIHByZWxpbSBzdXBwb3J0IGZvciBjaG9vc2luZyBvcGVuZ2wgb3IgZ2xlcwoKMjAxMy0wMS0wOCAxNzozNjoxOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbNjM2LzkwNl0gd2luZG93X3gxMTogY29tcGFjdCBkZWJ1ZyBpbmZvCgoyMDEzLTAxLTA3IDE0OjA4OjM5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvb3BlbmdsX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuaDoKCSAgWzYzNS85MDZdIGZpeHVwIGNvbXBpbGUgZXJyb3JzCgoyMDEyLTEyLTE5IDE0OjU0OjIxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkgIFs2MzQvOTA2XSB3YXlsYW5kIGVnbDogZGVhY3RpdmF0ZSBjb250ZXh0IGJlZm9yZSB3ZSBkZXN0cm95IGl0CgkgIGF2b2lkcyBhIHNlZ2ZhdWx0IHdpdGggZHJpIGRyaXZlcnMKCjIwMTItMTItMTkgMTQ6MzI6MjAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNjMzLzkwNl0gZGlzcGxheTogZmFpbCBwcm9wZXJseSBpbiBjb250ZXh0IGNyZWF0aW9uIGluIG9yZGVyIHRvIG1pbmltaXplIGEgcmFjZSBjb25kaXRpb24KCSAgcHJldmlvdXNseSwgb24gY29udGV4dCBjcmVhdGlvbiwgd2hlbiB3ZSBmYWlsZWQgdG8gZ2V0IGEgdmFsaWQgY29udGV4dAoJICB3ZSB3b3VsZCBzdGlsbCBhdGVtcHQgdG8gcnVuIHRoZSB3aW5kb3cgbWFpbmxvb3AgYXMgd2VsbCBhcyBzZXR0aW5nIGFuIGVycm9yCgkgIG9uIHRoZSBkaXNwbGF5LiBUaGlzIHdvdWxkIGNhdXNlIHRoZSBjYWxsaW5nIGVsZW1lbnQgdG8gZmluYWxpemUgdGhlIGRpc3BsYXkKCSAgYW5kIHRoZXJlZm9yZSBhdHRlbXB0IHRvIHF1aXQgdGhlIHdpbmRvdyBtYWlubG9vcC4gIEhvd2V2ZXIgdGhlIG1haW5sb29wCgkgIG1heSBub3QgaGF2ZSBzdGFydGVkIHJ1bm5pbmcuICBUaHVzIHdoZW4gdGhlIHdpbmRvdyBtYWlubG9vcCByYW4gaXQgd291bGQKCSAgbmV2ZXIgYSBnZXQgYSBxdWl0IG1lc3NhZ2UgYW5kIG5ldmVyIGVuZC4KCjIwMTItMTItMTggMTg6MzE6MDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBbNjMyLzkwNl0gcmVtb3ZlIHN0cmF5ICkKCSAgVGhlIHJlc3QgaXMgaW5kZW50IHN0dWZmIGZyb20gdGhlIHN0cmF5ICkKCjIwMTItMTItMTggMTg6Mjk6MTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkgIFs2MzEvOTA2XSByZW1vdmUgcmVkZWZpbml0aW9uIHdhcm5pbmdzIGluIGNvbXBpbGluZyB0ZXN0cwoKMjAxMi0xMi0wOSAwOTozMjo0OCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuaDoKCSAgWzYzMC85MDZdIGRpc3BsYXk6IGFkZCBnbCBhcGkgY2hlY2tpbmcKCSAgaS5lLiBjaGVjayBmb3IgY2FzZXMgd2hlcmUgdGhlIHdpbmRvdyB3YW50cyBhIGRpZmZlcmVudCBBUEkgdGhhbgoJICB3aGF0IHRoZSBsaWJyYXJ5IHdhcyBjb21waWxlZCB3aXRoCgoyMDEyLTEyLTA5IDA5OjMwOjQ4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfd2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZ2x4LmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5oOgoJICBbNjI5LzkwNl0gd2luZG93OiBhZGQgR0Vycm9yIGZvciBlcnJvciBoYW5kbGluZyBvZiBjb250ZXh0IGNyZWF0aW9uCgoyMDEyLTEyLTA5IDA5OjA0OjMyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJICBbNjI4LzkwNl0gc2hhZGVyIGZpbHRlcjogZG9uJ3QgZG8gYW55dGhpbmcgaWYgd2UgZG9uJ3QgaGF2ZSBhIHNoYWRlciBmaWxlCgoyMDEyLTEyLTA3IDEzOjMyOjI4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJICBbNjI3LzkwNl0gc2hhZGVyOiBjaGVjayBmb3IgaW52YWxpZCBvYmplY3RzCgoyMDEyLTEyLTA3IDAwOjIwOjU4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgWzYyNi85MDZdIGZpeCBidWlsZCBmYWlsdXJlIGZyb20gdW5kZWZpbmVkIG1hY3JvCgoyMDEyLTEyLTA3IDAwOjE2OjA0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvUkVBRE1FOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2FsbF9mdW5jdGlvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMxX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMxZ2xlczIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMWdsZXMyb3BlbmdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczFvcGVuZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMyX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMyb3BlbmdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvb3BlbmdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvb3BlbmdsX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmg6CgkgIFs2MjUvOTA2XSBhZGQgdnRhYmxlIGZvciBvcGVuZ2wgZnVuY3Rpb25zCgkgIFRoZSB2dGFibGUgcHJvdmlkZXMgdGhlIGFiaWxpdHkgZm9yIG9uZSB0byBjb21waWxlIChidXQgbm90IGxpbmspCgkgIGFnYWluc3QgYm90aCBPcGVuR0wgYW5kIEdMfEVTIGFuZCBzdGFydHMgdGhlIG1vdmUgYXdheSBmcm9tIEdMRVcKCjIwMTItMTItMDYgMTg6NDA6MjYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICBbNjI0LzkwNl0gT1BFTkdMX0VTMiA9PiBIQVZFX0dMRVMyIGFuZCBhZGQgSEFWRV9PUEVOR0wKCSAgdXNlIEdzdEdMQVBJIHRvIGRldGVybWluZSB3aGljaCBjb2RlIHBhdGhzIHRvIGV4ZWN1dGUuCgkgIHBlcmZvcm0gc29tZSBjbGVhbnVwcwoKMjAxMi0xMi0wNiAxNzo0MDo0NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl93Z2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5oOgoJICBbNjIzLzkwNl0gbW92ZSBHTCBpbmNsdWRlcyBpbnRvIGEgc2luZ2xlIGZpbGUKCjIwMTItMTItMDUgMTc6MjM6MjEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkgIFs2MjIvOTA2XSBhZGQgbWlzc2luZyBHTF9TVEVOQ0lMX0FUVEFDSE1FTlQgZm9yIGdsZXMyIGNvbXBhdGFiaWxpdHkKCjIwMTItMTItMDMgMTU6MDQ6NDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdscmVuZGVyZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfd2dsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl93Z2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9nbHguYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZ2x4Lmg6CgkgIFs2MjEvOTA2XSBHc3RHTFJlbmRlcmVyQVBJID0+IEdzdEdMQVBJIGFuZCBnZXQgR3N0R0xBUEkgZnJvbSBhIHdpbmRvdwoKMjAxMi0xMS0zMCAxNzowOToyMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJICBbNjIwLzkwNl0gd2F5bGFuZF9lZ2w6IGF0dGVtcHQgYXQgcmVzaXppbmcgdGhlIHZpZGVvCgoyMDEyLTExLTI5IDEzOjA2OjI0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmM6CgkgIFs2MTkvOTA2XSBmaXggdHlwbyBmb3Igd2luMzIgZGVidWcgdmFyaWFibGVzCgoyMDEyLTExLTI5IDAxOjAxOjU5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC93YXlsYW5kX2V2ZW50X3NvdXJjZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC93YXlsYW5kX2V2ZW50X3NvdXJjZS5oOgoJICBbNjE4LzkwNl0gYWRkIHdheWxhbmQtZWdsIHdpbmRvdyBiYWNrZW5kCgoyMDEyLTExLTIwIDAwOjE1OjA1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs2MTcvOTA2XSBmaXggJ3NldCBidXQgbm90IHVzZWQnIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEyLTExLTE5IDIyOjU0OjE5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfY29jb2EuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMl93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyX3dnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFfZ2x4LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFfZ2x4Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfd2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZ2x4LmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5oOgoJICBbNjE2LzkwNl0gbW92ZSB3aW5kb3ctc3BlY2lmaWMgY29kZSBpbnRvIHNlcGVyYXRlIHN1YmZvbGRlcnMKCjIwMTItMTEtMTkgMjE6NTI6MjIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMl9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyX2VnbC5oOgoJICBbNjE1LzkwNl0gcHJlbGltaW5hcnkgc3VwcG9ydCBmb3IgV2luMzIgRUdMCgoyMDEyLTExLTE4IDAxOjIzOjUyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzYxNC85MDZdIHRyeSBHTFggZmlyc3Qgd2hlbiB1c2luZyBBTlkgfCBPUEVOR0wgfCBPUEVOR0wzCgoyMDEyLTExLTE4IDAxOjE2OjQ0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBbNjEzLzkwNl0gd2luZG93X2NvY29hOiBmaXggc2VnZmF1bHQgd2l0aCBnc3QtbGF1bmNoLTEuMCAtZSAuLi4gYW5kIHNlbmRpbmcgU0lHSU5UIChDdHJsLUMpCgkgIEdOVXN0ZXAgaGFzIGEgc2lnbmFsIGhhbmRsZXIgZm9yIFNJR0lOVCB3aGljaCBydW5zIGluIHRoZSBtYWluIHRocmVhZC4KCSAgSG93ZXZlciB0aGF0IHRocmVhZCBoYXMgbmV2ZXIgYmVlbiAncmVnaXN0ZXJlZCcgd2l0aCBHTlVzdGVwIHNvCgkgIHRoZSBhdXRvcmVsZWFzZSBtYWdpYyBvZiBvYmplY3RpdmUtYyBjYXVzZXMgYSBzZWdmYXVsdCBmcm9tIGFjY2Vzc2luZwoJICBhIG51bGwgTlNUaHJlYWQgb2JqZWN0IHNvbWV3aGVyZSBkZWVwIGluIEdOVXN0ZXAuCgoyMDEyLTExLTE2IDE4OjAxOjA4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9HTlVtYWtlZmlsZS5nbnVzdGVwOgoJKiBnc3QvZ2wvR05VbWFrZWZpbGUuZ251c3RlcDoKCSogZ3N0L2dsL2VmZmVjdHMvR05VbWFrZWZpbGUuZ251c3RlcDoKCSAgWzYxMi85MDZdIHJlbW92ZSBHTlVzdGVwIG1ha2VmaWxlcwoKMjAxMi0xMS0xNiAxNzoxMzowMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfY29jb2EuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFs2MTEvOTA2XSBjb2NvYSBwb3J0IG9mIGRldGVybWluaW5nIGdsIHBsYXRmb3JtIGF0IHJ1bnRpbWUKCjIwMTItMTEtMTUgMjE6NDY6MjEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMV9lZ2wuYzoKCSAgWzYxMC85MDZdIFdpbmRvd1gxMUVHTDogcmVtb3ZlIGdldF9wbGF0Zm9ybSBjYWxsCgoyMDEyLTExLTE1IDEzOjE3OjU5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyX3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzJfd2dsLmg6CgkgIFs2MDkvOTA2XSB3aW4zMiBwb3J0IG9mIGRldGVybWluaW5nIEdMIHBsYXRmb3JtIGF0IHJ1bnRpbWUKCSAgLSBhZGQgR3N0R0xXaW5kb3dXaW4zMiBhbmQgR3N0R0xXaW5kb3dXaW4zMldHTCBhbG9uZyB0aGUgc2FtZSBsaW5lcyBhcyB0aGUKCSAgWDExIHZhcmlhbnRzCgoyMDEyLTExLTE0IDIwOjM5OjM4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xyZW5kZXJlci5oOgoJICBbNjA4LzkwNl0gYWRkIEdTVF9HTF9QTEFURk9STV9BTlkgZm9yIGNob29zaW5nIGFueSBwbGF0Zm9ybQoKMjAxMi0xMS0xNCAyMDozNjoxNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExX2dseC5jOgoJICBbNjA3LzkwNl0gcmVtb3ZlIGdldF9wbGF0Zm9ybSBhbmQgZ2V0X3dpbmRvd19oYW5kbGUgdmZ1bmNzCgkgIC0gcmVuYW1lIGNob29zZV92aXN1YWwoKSB0byBjaG9vc2VfZm9ybWF0KCkgZm9yIGxhdGVyIGluY29ycG9yYXRpbmcKCSAgd2luMzIgY2hhbmdlcyBhbmQgbmV3IEdzdEdMUGxhdGZvcm0gZm9yIFdHTCwgRUdMLCBHTFgsIGV0Yy4KCjIwMTItMTEtMTMgMjI6MTI6MjAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHJlbmRlcmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFFUzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMV9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMV9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMV9nbHguYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMV9nbHguaDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbNjA2LzkwNl0gZGV0ZXJtaW5lIHRoZSBHTCBwbGF0Zm9ybSB0byB1c2UgYXQgcnVudGltZQoJICAtIE1ha2UgR3N0R0xXaW5kb3cgc3ViY2xhc3NhYmxlcmF0aGVyIHRoYW4gc3BlY2lmaWVkIGF0IGNvbXBpbGUgdGltZS4KCSAgLSBBZGQgR3N0R0xXaW5kb3dYMTEgZm9yIHgxMSB3aW5kb3dzIGFuZCB0d28gc3ViY2xhc3NlcywgR3N0R0xXaW5kb3dYMTFHTFgKCSAgYW5kIEdzdEdMV2luZHdYMTFFR0wgZm9yIEdMWCBhbmQgRUdMIHJlcGVjdGl2ZWx5LiAod2luMzIgYW5kIGNvY29hCgkgIHBvcnRzIHRvIGNvbWUpCgkgIC0gQWxzbyBjbGVhbnVwIEdMIGxpYnJhcnkgZGV0ZWN0aW9uIGluIGNvbmZpZ3VyZS5hYwoKMjAxMi0xMi0wMiAxNDo1ODoxNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSAgWzYwNS85MDZdIHNoYWRlcjogbW92ZSB0byBnc3QgZGVidWdnaW5nCgoyMDEyLTExLTIxIDEzOjM0OjE1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9saWJ2aXN1YWwvdmlzdWFsLWdsLmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzYwNC85MDZdIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSgpID0+IGdzdF9lbGVtZW50X2NsYXNzX3NldF9tZXRhZGF0YSgpCgoyMDEyLTExLTA4IDIyOjUzOjU2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9saWJ2aXN1YWwvdmlzdWFsLWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlcnBhZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExRVMyLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzY3VydmVzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dsdGVzdHNyYy5oOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmg6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmg6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmg6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3N0Z3RrLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NkbC9zZGxzaGFyZS5jOgoJICBbNjAzLzkwNl0gdXBkYXRlIEZTRiBhZGRyZXNzCgoyMDEyLTExLTA0IDE5OjE1OjA1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFs2MDIvOTA2XSBoaWRlIGRlcHJlY2F0aW9uIHdhcm5pbmdzIHdpdGggbmV3ZXIgY2x1dHRlciB2ZXJzaW9ucwoKMjAxMi0xMC0xMSAwMDoyNDo1MSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzYwMS85MDZdIGZpeCB0eXBvIGNhdXNpbmcgc2hhZGVyIGNvbXBpbGF0aW9uIGZhaWx1cmUgZm9yIHVwbG9hZGluZyBJNDIwCgoyMDEyLTA5LTI3IDE1OjUzOjQ2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIFs2MDAvOTA2XSBkb2NzOiBhZGQgZG9jcyBmb3IgbmV3IG9iamVjdHMgYW5kIGV4cGFuZCBvbiBzb21lIGV4aXN0aW5nIG9uZXMKCjIwMTItMDktMjYgMDc6MTg6NTMgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIFs1OTkvOTA2XSBHTHxFUzI6IGZpeCB0eXBvcyBmcm9tIHJlY2VudCBjaGFuZ2VzIGFuZCBtYWtlIGRvd25sb2FkaW5nIFJHQiBmb3JtYXRzIHdvcmsgYWdhaW4KCjIwMTItMDktMjUgMTk6MjY6MTcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgWzU5OC85MDZdIGV4YW1wbGVzOiBmaXggY29tcGlsYXRpb24gb2YgY2x1dHRlcnNoYXJlCgoyMDEyLTA5LTI1IDE4OjEzOjQxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIFs1OTcvOTA2XSB0ZXN0czogYWRkIHNvbWUgc2ltcGxlIHBpcGVsaW5lIHRlc3RzIHRvIGNoZWNrCgoyMDEyLTA5LTI1IDE4OjA3OjIzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5oOgoJICBbNTk2LzkwNl0gY29sb3JzY2FsZTogcG9ydCBvdmVyIHRvIGZpbHRlciBiYXNlIGNsYXNzCgoyMDEyLTA5LTI1IDE4OjA2OjE0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIFs1OTUvOTA2XSB1cGRhdGUgZm9yIGZpbHRlciBBUEkgY2hhbmdlCgkgIGdsZWZmZWN0cyBuZWVkZWQgYSBzaW1pbGFyIGNoYW5nZQoKMjAxMi0wOS0yNSAxNzo1OToyNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIFs1OTQvOTA2XSBmaWx0ZXI6IHVwZGF0ZSBmb3IgdXAvZG93bmxvYWQgQVBJIGNoYW5nZXMgYW5kIHNjYWxpbmcgZml4ZXMKCjIwMTItMDktMjUgMTY6MDM6MDEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzU5My85MDZdIHRlc3RzcmMvaW1hZ2VzaW5rOiB1cGRhdGUgZm9yIHVwL2Rvd25sb2FkIEFQSSBjaGFuZ2VzCgoyMDEyLTA5LTI1IDE2OjAxOjU0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBbNTkyLzkwNl0gbWVtb3J5OiB1cGRhdGUgZm9yIHVwL2Rvd25sb2FkIEFQSSBjaGFuZ2VzCgoyMDEyLTA5LTI1IDE2OjAwOjQ4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVycGFkLmg6CgkgIFs1OTEvOTA2XSBtaXhlcjogc2F2ZSB0aGUgdXBsb2FkIG9iamVjdCBpbnN0ZWFkIG9mIHF1ZXJ5aW5nIGZvciBpdCBldmVyeSBmcmFtZQoKMjAxMi0wOS0yNSAxNToyMDoyMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBbNTkwLzkwNl0gdXAvZG93bmxvYWQ6IGZpeCBzY2FsaW5nIG9uIHRyYW5zZmVyCgkgIGkuZS4gdXBsb2FkaW5nIGZyb20gYSAxMHgxMCB2aWRlbyBmcmFtZSB0byBhIDIweDIwIHRleHR1cmUgaW50byBhbm90aGVyIDMweDMwIHZpZGVvZnJhbWUKCjIwMTItMDktMjAgMjM6NDU6MjYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmg6CgkgIFs1ODkvOTA2XSBSZXZlcnQgIkdMQ29sb3JzY2FsZTogY29udmVydCB0byBhIGJpbiBvZiBnbHVwbG9hZCAhIGdsZG93bmxvYWQiCgkgIFRoZSBlbGVtZW50cyBubyBsb25nZXIgZXhpc3Qgc28gd2UgaGF2ZSB0byBkbyBzb21ldGhpbmcgZGlmZmVyZW50CgoyMDEyLTA5LTIwIDIzOjQxOjAwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuaDoKCSAgWzU4OC85MDZdIG1vc2FpYzogdXBkYXRlIGZvciBtaXhlciBjaGFuZ2VzIGFuZCBjb252ZW5pZW5jZSBBUEkKCjIwMTItMDktMjAgMjM6Mjc6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXJwYWQuaDoKCSAgWzU4Ny85MDZdIG1peGVyOiBtaXJyb3IgdGhlIGNoYW5nZXMgZG9uZSBmb3IgZmlsdGVyCgoyMDEyLTA5LTIwIDIzOjIxOjE5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIFs1ODYvOTA2XSBmaXggdXAgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzIHRvIGdldCB0aGVtIGludG8gdGhlIHJpZ2h0IGNhdGVnb3JpZXMKCjIwMTItMDktMjAgMjM6MjA6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkgIFs1ODUvOTA2XSBnbHRlc3RzcmM6IHVwZGF0ZSBmb3IgbmV3IEdMRG93bmxvYWQgaW4gbGlicwoKMjAxMi0wOS0yMCAyMzoxNjowOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIFs1ODQvOTA2XSBnbGltYWdlc2luazogdXBkYXRlIGZvciBuZXcgR0xVcGxvYWQgb2JqZWN0IGluIGxpYnMKCjIwMTItMDktMjAgMjM6MDY6NDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5oOgoJICBbNTgzLzkwNl0gZGVpbnRlcmxhY2U6IGNoYW5nZSBmb3IgbmV3IEFQSQoJICBhbHNvIGFsbG93IGVsZW1lbnRzIHRvIGNhbGwgdGhlIF9maWx0ZXJfdGV4dHVyZSB2ZnVuYyBpZiB0aGV5IHdhbnQKCjIwMTItMDktMjAgMjM6MDM6NTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBbNTgyLzkwNl0gZmlsdGVyczogY2hhbmdlcyBmb3IgbmV3IEFQSQoKMjAxMi0wOS0xOSAwMDozMjozMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIFs1ODEvOTA2XSBmaWx0ZXI6IGFkZCBzZXBlcmF0ZSBmaWx0ZXIgZnVuY3Rpb24gZm9yIG9wZXJhdGluZyBvbiB0ZXh0dXJlcyBpbnN0ZWFkIG9mIGJ1ZmZlcnMKCjIwMTItMDktMTkgMDA6Mjk6NTcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmg6CgkgIFs1ODAvOTA2XSBidWZmZXJwb29sOiByZW1vdmUgb2JzZWxldGUgZ2wgbWV0YSBidWZmZXIgcG9vbCBvcHRpb25zCgoyMDEyLTA5LTE4IDIxOjQyOjI0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFs1NzkvOTA2XSBkb3dubG9hZDogZml4IFlWMTIgZm9ybWF0CgkgIHNhbWUgYXMgSTQyMCBidXQgcGxhbmUgMSsyIHN3YXBwZWQKCjIwMTItMDktMTggMjE6Mzk6MjEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBbNTc4LzkwNl0ge3VwLGRvd259bG9hZDogYWRkIHZhcmlhbnRzIHRoYXQgY2FuIGJlIGNhbGxlZCBpbiB0aGUgZ2wgdGhyZWFkCgoyMDEyLTA5LTE3IDEwOjM3OjM3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzU3Ny85MDZdIHJlbW92ZSB1cGxvYWQgYW5kIGRvd25sb2FkIGVsZW1lbnRzIGZyb20gdGhlIGJ1aWxkIHN5c3RlbQoKMjAxMi0wOS0xNyAxMDozMDowMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZXRhLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBbNTc2LzkwNl0gcmVtb3ZlIHVuZWVkZWQgR3N0R0xNZXRhICh1c2UgR3N0VmlkZW9NZXRhKQoKMjAxMi0wOS0xNiAyMTo0MjowOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIFs1NzUvOTA2XSBmaWx0ZXI6IHBvcnQgdG8gbmV3IHVwbG9hZC9kb3dubG9hZAoKMjAxMi0wOS0xNiAyMTozNjowOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkgIFs1NzQvOTA2XSBtZW1vcnk6IGltcGxlbWVudCB0cmFuc3BlcmVudCB1cGxvYWQvZG93bmxvYWQgZm9yIGRhdGEKCSAgKG5vdCBhc3luYyB5ZXQpCgoyMDEyLTA5LTE2IDIxOjIzOjA5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIFs1NzMvOTA2XSBhZGQgdXBsb2FkIGFuZCBkb3dubG9hZCBsaWJyYXJ5IG9iamVjdHMKCSAgYWxsb3dzIG11bHRpcGxlIHVwbG9hZCBwaXBlbGluZXMgdGhhdCBwcmV2aW91c2x5IHdhc24ndCBwb3NzaWJsZQoJICAoaS5lLiB1cGxvYWQgUkdCIGFuZCBJNDIwIGFuZCAuLi4gb24gdGhlIHNhbWUgR3N0R0xEaXNwbGF5KQoKMjAxMi0wOS0xNiAyMToxMTo0NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzU3Mi85MDZdIHJlbW92ZSB1cGxvYWQgYW5kIGRvd25sb2FkIGVsZW1lbnRzCgkgIHRvIGJlIHJlcGxhY2VkIGJ5IHVwbG9hZCBhbmQgZG93bmxvYWQgaW4gbWVtb3J5CgoyMDEyLTA5LTA1IDE0OjU4OjM4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFs1NzEvOTA2XSBtaXhlcjogZml4IGRlYWRsb2NrIG9uIHNodXRkb3duCgkgIGRpZG4ndCByZWl0ZXJhdGUgb3ZlciB0aGUgc2lua3BhZCdzIGRpc3BsYXlzIGFuZCByZWFjdGl2YXRlIHRoZW0gY2F1c2luZyBhIGRlYWRsb2NrCgoyMDEyLTA5LTA0IDIyOjUwOjAwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzU3MC85MDZdIHJlbW92ZSB0aGUgcmVxdWlyZW1lbnQgZm9yIFZpZGVvTWV0YSB0byBiZSBwcmVzZW50IG9uIG5vbi1HTCBidWZmZXJzCgoyMDEyLTA4LTIwIDE2OjU1OjQxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJICBbNTY5LzkwNl0gZGlmZmVyZW5jZW1hdHRlOiBwcmV2ZW50IGRvdWJsZSB1bnJlZiBvZiBzaGFkZXIgYW5kIG1pZHRleHR1cmUKCjIwMTItMDgtMjcgMTQ6MDg6MTYgKzAwMDAgIE1hdHRoZXcgPG1hdHRAbWF0dC1idW50LWxhcHQuKG5vbmUpPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW5DRS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExRVMyLmM6CgkgIFs1NjgvOTA2XSB3aW5kb3c6IGZpeCBwdWJsaWMgZGVmaW5pdGlvbnMKCjIwMTItMDgtMjcgMTQ6MDc6MzEgKzAwMDAgIE1hdHRoZXcgPG1hdHRAbWF0dC1idW50LWxhcHQuKG5vbmUpPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmM6CgkgIFs1NjcvOTA2XSBmaXggT3BlbkdMfEVTMiBpZmRlZidlZCBjb2RlCgoyMDEyLTA4LTIwIDEzOjI3OjUwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzU2Ni85MDZdIGVmZmVjdHM6IGF2b2lkIHVzaW5nIHRhbmggaW4gc2luX2ZyYWdtZW50CgkgIEl0IHByb2R1Y2VzIHdlaXJkIHJlc3VsdHMgb24gbm91dmVhdS4KCSAgUHJvdmlkZSBhbiBhbHRlcm5hdGl2ZSBpbXBsZW1lbnRhdGlvbiB3aXRoICgxLXNpbmgpKmNvc2gKCjIwMTItMDgtMjAgMTM6MDY6MjcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbNTY1LzkwNl0gZWZmZWN0czogZml4IHNoYWRlciBjb21waWxhdGlvbiB3aXRoIG1lc2EgZHJpdmVycwoKMjAxMi0wOC0xNSAyMTozNzowMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSAgWzU2NC85MDZdIGdsbWVtb3J5OiByZW1vdmUgdW51c2VkIHR5cGVkZWYKCjIwMTItMDgtMTUgMTY6NTI6NDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNTYzLzkwNl0gcmVhZGQgc3VwcG9ydCBmb3IgaGFuZ2luZyBHTCBwaXBlbGluZXMgZS5nLiAuLi4gISBnbGVmZmVjdHMgISBmYWtlc2luawoKMjAxMi0wOC0xNSAxNTozNTo0NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs1NjIvOTA2XSBnbGRpc3BsYXk6IGZpeCBkb3dubG9hZCBvZiBZVVYgZm9ybWF0cwoKMjAxMi0wOC0xNCAyMzo1NToxNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs1NjEvOTA2XSBnbGRpc3BsYXk6IGZpeCBlbmRpYW5lc3MgaXNzdWVzIG9uIFJHQiBkb3dubG9hZAoKMjAxMi0wOC0xNCAxNDo0MToxOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzU2MC85MDZdIGV4YW1wbGVzOiB1cGRhdGUgZm9yIGJ1cyBhcGkgY2hhbmdlcyBhbmQgZ2xpbWFnZXNpbmsgY2hhbmdlcwoKMjAxMi0wOC0xNCAwMjowNToxMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBbNTU5LzkwNl0gZ2xtaXhlcjogcGFzcyB0aGUgbWl4cGFkJ3MgZGlzcGxheSB0byB0aGUgcXVlcnlpbmcgZWxlbWVudAoKMjAxMi0wOC0xMiAxOTowMzo0OCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFs1NTgvOTA2XSBhZGQgbWlzc2luZyBpbmNsdWRlcyBmb3IgX3Bvc3RfbWlzc2luZ19lbGVtZW50X21lc3NhZ2UgaW4gZ2xjb2xvcnNwYWNlCgoyMDEyLTA4LTEwIDE2OjQxOjEyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzU1Ny85MDZdIEZpeCBwbHVnaW4gZGVmaW5lIGFuZCByZW1vdmUgd2FybmluZwoKMjAxMi0wOC0xMCAxNTo1NTo1MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuaDoKCSAgWzU1Ni85MDZdIEdMQ29sb3JzY2FsZTogY29udmVydCB0byBhIGJpbiBvZiBnbHVwbG9hZCAhIGdsZG93bmxvYWQKCjIwMTItMDgtMTAgMTU6MzE6MjAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNTU1LzkwNl0gTWFrZSB0aGUgcXVlcnkgZm9yIGEgR3N0R0xEaXNwbGF5IGEgcGFkIHBlZXIgcXVlcnkKCSAgQWxsb3dzIHRoZSBxdWVyeSB0byBwYXNzIHRocm91Z2ggYmluIGJvdW5kYXJpZXMgYW5kIG1ha2VzIGl0IHBvc3NpYmxlIGZvcgoJICBhcmJpdHJhcnkgZ2wgZWxlbWVudHMgdG8gYmUgcGxhY2VkIGluIGJpbnMuCgoyMDEyLTA4LTA4IDE2OjA4OjQwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJICBbNTU0LzkwNl0gR3N0R0xNZW1vcnk6IHVwZGF0ZSBmb3IgR3N0QWxsb2NhdG9yIEFQSSBjaGFuZ2VzCgoyMDEyLTA3LTE2IDIzOjMxOjMxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJICBbNTUzLzkwNl0gR3N0R0xGaWx0ZXJTaGFkZXI6IHVwZGF0ZSBmb3IgR3N0R0xNZXRhCgoyMDEyLTA3LTE2IDIzOjIyOjU4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJICBbNTUyLzkwNl0gR3N0R0xGaWx0ZXJBcHA6IHVwZGF0ZSBmb3IgR3N0R0xNZXRhCgoyMDEyLTA3LTE2IDIyOjQwOjE1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgWzU1MS85MDZdIEdzdEdMT3ZlcmxheTogZml4IGxvYWRpbmcgb2Ygbm9uLXNxdWFyZSBvdmVybGF5cwoJICBsaWJqcGVnIGNvbXBsYWlucyBhYm91dCAiQXBwbGljYXRpb24gcmVhZCB0b28ge21hbnksZmV3fSBzY2FuIGxpbmVzIiBpbiBub24tc3F1YXJlIGltYWdlcwoKMjAxMi0wNy0xNiAyMTo0MDo1OSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIFs1NTAvOTA2XSBHc3RHTE92ZXJsYXk6IGZpeCBsaWJQTkcgY29tcGxhaW5pbmcgYWJvdXQgdW5zaWduZWQgaW50ZWdlciBiZWluZyBvdXQgb2YgcmFuZ2UKCjIwMTItMDctMTYgMjE6MzU6MjYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBbNTQ5LzkwNl0gR3N0R0xPdmVybGF5OiB1cGRhdGUgZm9yIEdzdEdMTWV0YQoKMjAxMi0wNy0xNiAxNTowNjo1MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSAgWzU0OC85MDZdIEdzdEdMRGlmZmVyZW5jZU1hdHRlOiB1cGRhdGUgZm9yIEdzdEdMTWV0YQoKMjAxMi0wNy0xNiAwMDozNjozMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSAgWzU0Ny85MDZdIEdzdEdMQnVtcGVyOiBmaXggbGliUE5HIGNvbXBsYWluaW5nIGFib3V0IGludmFsaWQgcG5nIGZpbGVzCgkgIFdlIGZhaWxlZCB0byBpbmZvcm0gbGliUE5HIHRoYXQgd2UgaGFkIGFscmVhZHkgcmVhZCB0aGUgaGVhZGVyCgoyMDEyLTA3LTE2IDAwOjAzOjUwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkgIFs1NDYvOTA2XSBHc3RHTEZpbHRlclNvYmVsOiB1cGRhdGUgZm9yIEdzdEdMTWV0YQoKMjAxMi0wNy0xMyAwMTowNzozNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSAgWzU0NS85MDZdIEdzdEdMQnVtcGVyOiB1cGRhdGUgZm9yIEdzdEdMTWV0YQoKMjAxMi0wNy0xMyAwMTowNDoyMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvbGlidmlzdWFsL3Zpc3VhbC1nbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzU0NC85MDZdIGZpeCBtZW1vcnkgbGVha3MgZnJvbSBub3QgZ19mcmVlKClpbmcgc3RyaW5nIHJldHVybmVkIGJ5IGdzdF9lbGVtZW50X2dldF9uYW1lCgoyMDEyLTA3LTEyIDE4OjIyOjAxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzU0My85MDZdIEdzdEdMRGlzcGxheTogZml4IHNlZ2ZhdWx0IGZyb20gR1NUX1BUUl9GT1JNQVQgdHJ5aW5nIHRvIGV4cGFuZCB0aGUgb2JqZWN0CgoyMDEyLTA3LTEyIDE4OjE5OjQ0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmg6CgkgIFs1NDIvOTA2XSBHc3RHTE1peGVyOiBhZGQgYWxsb2NhdGlvbiBhbmQgYnVmZmVycG9vbCBtZXRob2RzCgkgIGJhc2VkIG9mZiBHc3RCYXNlVHJhbnNmb3JtCgoyMDEyLTA3LTEyIDE4OjExOjExICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzU0MS85MDZdIEdzdEdMVGVzdFNyYzogZ2VuZXJhdGUgYSBHTEJ1ZmZlclBvb2wgaW5zdGVhZCBvZiBhIFZpZGVvQnVmZmVyUG9vbCBpbiBkZWNpZGVfYWxsb2NhdGlvbgoKMjAxMi0wNy0xMiAxODowOTo1NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmg6CgkgIFs1NDAvOTA2XSBHc3RHTE1vc2FpYzogdXBkYXRlIGZvciBHc3RHTE1ldGEKCjIwMTItMDctMTIgMTg6MDc6MzQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBbNTM5LzkwNl0gR3N0R0xJbWFnZVNpbms6IGZvbGQgbXVsdGlwbGUgZmllbGRzIGludG8gb25lIGFuZCB1c2UgVklERU9fU0lOS18qIGZvciB3aW5kb3cgd2lkdGgvaGVpZ2h0CgkgIHJlcGxhY2UgdGhlIGNhcHMgaW5mb3JtYXRpb24gd2l0aCBhIEdzdFZpZGVvSW5mbwoJICBwbGFjZSB0aGUgd2luZG93IHdpZHRoL2hlaWdodCBpbmZvcm1hdGlvbiB3aWR0aCBWSURFT19TSU5LCgoyMDEyLTA3LTExIDE0OjIwOjE0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmg6CgkgIFs1MzgvOTA2XSBHc3RHTERlaW50ZXJsYWNlOiB1cGRhdGUgZm9yIEdzdEdMTWV0YQoKMjAxMi0wNy0xMSAxMzo1NTo1NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSAgWzUzNy85MDZdIEdzdEdMRmlsdGVyUmVmbGVjdGVkU2NyZWVuOiB1cGRhdGUgZm9yIEdzdEdMTWV0YQoKMjAxMi0wNy0xMSAxMzozNzo1NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJICBbNTM2LzkwNl0gR3N0R0xGaWx0ZXJHbGFzczogdXBkYXRlIGZvciBHc3RHTE1ldGEKCjIwMTItMDctMTEgMTM6MTE6NTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkgIFs1MzUvOTA2XSBHc3RHTEZpbHRlckxhcGxhY2lhbjogdXBkYXRlIGZvciBHc3RHTE1ldGEKCjIwMTItMDctMTEgMDE6MjU6MDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJICBbNTM0LzkwNl0gR3N0R0xGaWx0ZXJDdWJlOiBVcGRhdGUgZm9yIEdzdEdMTWV0YQoKMjAxMi0wNy0xMSAwMToxMDo0MyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkgIFs1MzMvOTA2XSBHc3RHTEZpbHRlckJsdXI6IHVwZGF0ZSBmb3IgR3N0R0xNZXRhCgoyMDEyLTA3LTA5IDIyOjI3OjQ4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgWzUzMi85MDZdIEdzdEdMRmlsdGVyOiBpbXBsZW1lbnQgYWxsb2NhdGlvbiB2ZnVuY3MKCjIwMTItMDctMDkgMjI6MjY6MTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBbNTMxLzkwNl0gR3N0R0xFZmZlY3RzOiB1cGRhdGUgZm9yIEdzdEdMTWV0YQoKMjAxMi0wNy0wOSAxNjoxNzoxOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzUzMC85MDZdIEdzdEdMVXBsb2FkOiBmaXggdmlkZW8gc2NhbGluZyBhbmQgdXNlIEdMX1VQTE9BRF9DQVBTCgoyMDEyLTA3LTA5IDE2OjE1OjI4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFs1MjkvOTA2XSBHc3RHTERvd25sb2FkOiBmaXggdmlkZW8gc2NhbGluZyBhbmQgdXNlIEdMX0RPV05MT0FEX0NBUFMKCjIwMTItMDctMDkgMTY6MTM6MzkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWV0YS5oOgoJICBbNTI4LzkwNl0gR3N0R0xNZXRhOiBzZXBlcmF0ZSB1cGxvYWQvZG93bmxvYWQvbm9ybWFsIEdMIGNhcHMgdmlkZW8gZm9ybWF0cwoJICBkaWZmZXJlbnRpYXRlIGJldHdlZW4gdXBsb2FkLCBkb3dubG9hZCBhbmQgR0wgY2FwcwoKMjAxMi0wNy0wOSAxNjoxMjo1MyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs1MjcvOTA2XSBHc3RHTERpc3BsYXk6IGFkZCBzb21lIHRyYWNlIGRlYnVnZ2luZwoKMjAxMi0wNy0wOCAxMzoxMTowNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuaDoKCSAgWzUyNi85MDZdIEdzdEdMVGVzdFNyYzogdXBkYXRlIGZvciAxLjAKCSAgaW1wbGVtZW50IGRlY2lkZV9hbGxvY2F0aW9uCgkgIHJlbmFtZSBwdXNoX3NyY19jcmVhdGUgdG8gX2ZpbGwKCSAgdXNlIEdzdFZpZGVvSW5mbyB0byBjb252ZXJ0IHRpbWVzCgkgIG1ha2UgdXNlIG9mIEdzdEdMTWV0YSBhbmQgZnJpZW5kcwoKMjAxMi0wNy0wOCAwMTo1MDo0MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJICBbNTI1LzkwNl0gR3N0R0xEb3dubG9hZDogYWRkIGFsbG9jYXRpb24gbWV0aG9kcyBhbmQgdXNlIEdzdEdMTWV0YQoJICBtYWtlIEdzdEdMRG93bmxvYWQgd29yayB3aXRoIHRoZSBuZXcgR3N0R0xNZXRhIGFuZCBmcmllbmRzCgoyMDEyLTA3LTA4IDAxOjQ5OjA2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBbNTI0LzkwNl0gR3N0R0xEaXNwbGF5OiByZXdvcmsgdGhlIGRvd25sb2FkIGNvZGUKCSAgZGF0YSBwYXJhbWF0ZXJzIG5vdyB0YWtlIEdzdFZpZGVvRnJhbWUKCSAgcmVtb3ZlIHJlZHVuZGFudCBwYXJhbWV0ZXJzCgoyMDEyLTA3LTA4IDAxOjExOjU2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzUyMy85MDZdIHVwZGF0ZSBmb3IgbWV0YSBBUEkgY2hhbmdlcwoKMjAxMi0wNy0wOCAwMToxMDo0MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs1MjIvOTA2XSBHc3RHTERpc3BsYXk6IGFkZCBmb3Jnb3R0ZW4gZnVuY3Rpb24gZGVmaW5pdGlvbgoKMjAxMi0wNy0wOCAwMTowOTo1NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgWzUyMS85MDZdIEdzdEdMTWVtb3J5OiB1cGRhdGUgZm9yIEdzdEFsbG9jYXRvciBjaGFuZ2VzCgoyMDEyLTA3LTA3IDIyOjU2OjMzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFs1MjAvOTA2XSBHc3RHTE1peGVyOiBmaXggZm9yIEdzdENoaWxkUHJveHkgY2hhbmdlcwoKMjAxMi0wNy0wNiAxOToxMDo0NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIFs1MTkvOTA2XSBHc3RHTFVwbG9hZDogaW1wbGVtZW50IHRoZSBhbGxvY2F0aW9uIGZ1bmNzIGFuZCB1c2UgR3N0R0xNZXRhCgkgIG1ha2UgdXNlIG9mIHRoZSBuZXcgR3N0R0xNZXRhLCBHc3RHTE1lbW9yeSBhbmQgR3N0R0xCdWZmZXJQb29sIG9iamVjdHMKCjIwMTItMDctMDYgMTk6MDc6NDUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBbNTE4LzkwNl0gR3N0R0xJbWFnZVNpbms6IGFkZCBwcm9wb3NlX2FsbG9jYXRpb24gaW1wbCBhbmQgdXNlIEdzdEdMTWV0YQoJICBtYWtlIHVzZSBvZiBHc3RHTE1ldGEgYW5kIEdzdEdMTWVtb3J5CgoyMDEyLTA3LTA2IDE5OjA1OjAzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmg6CgkgIFs1MTcvOTA2XSBhZGQgR3N0R0xCdWZmZXJQb29sCgkgIHdoaWNoIGFkZHMgR3N0R0xNZXRhIHRvIGJ1ZmZlcnMKCjIwMTItMDctMDYgMTg6NTc6MzkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZXRhLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1ldGEuaDoKCSAgWzUxNi85MDZdIGFkZCBza2VsZXRvbiBHc3RHTE1ldGEKCSAgdGhlIEdzdFZpZGVvTWV0YSBfbWFwL3VubWFwIGZ1bmN0aW9ucyBzdGlsbCBuZWVkIGltcGxlbWVudGluZwoKMjAxMi0wNy0wNiAxODo1MTowMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgWzUxNS85MDZdIEdzdEdMRGlzcGxheTogcmV3b3JrIGdlbl90ZXh0dXJlIGFuZCB1cGxvYWQKCSAgcmVuYW1lIGZ1bmN0aW9ucyBzbyB0aGF0IG90aGVyIGNvZGUgY2FuIGNyZWF0ZSB0ZXh0dXJlcyBpbiB0aGUgR0wgdGhyZWFkCgkgIGNoYW5nZSB1cGxvYWQgZnVuY3Rpb25zIHRvIHRha2UgYSBHc3RWaWRlb0ZyYW1lCgkgIGRlZmF1bHQgdG8gR0xTTCBmb3IgdXBsb2FkIGNvbnZlcnNpb24KCjIwMTItMDctMDYgMTg6MjI6MjIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSAgWzUxNC85MDZdIGFkZCBHc3RHTE1lbW9yeSBhbmQgYWxsb2NhdG9yCgkgIGltcGxlbWVudCBjdXN0b20gR3N0TWVtb3J5IGZvciBHTCB0ZXh0dXJlcwoJICBjdXJyZW50bHkgbWFwL3VubWFwIHJldHVybnMgTlVMTCBhbHRob3VnaCBpdCBtaWdodCBiZSBmYXZvdXJhYmxlIHRvIHVwbG9hZC9kb3dubG9hZC9jYWNoZSB0aGUgaW1hZ2UgZGF0YQoKMjAxMi0wNi0xOSAxODo0MDoyOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVycGFkLmg6CgkqIGdzdC9nbC9nbHRlc3RzcmMuaDoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5oOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgWzUxMy85MDZdIFJlbW92ZSBHc3RHTEJ1ZmZlciAodG8gYmUgcmVwbGFjZWQgYnkgR3N0R0xNZXRhKQoKMjAxMi0wNi0xOSAxNTo1NDoyNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlcnBhZC5oOgoJICBbNTEyLzkwNl0gR3N0R0xNaXhlcjogdXBkYXRlIGZvciAxLjAgYmFzZWQgb24gdGhlIHZpZGVvbWl4ZXIyIGVsZW1lbnQgaW4gLWdvb2QKCjIwMTItMDYtMDcgMDA6NTE6NDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nc3RndGsuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2RsL3NkbHNoYXJlLmM6CgkgIFs1MTEvOTA2XSB0ZXN0czogdXBkYXRlIGZvciAxLjAKCjIwMTItMDYtMDUgMjI6NTk6MzEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBbNTEwLzkwNl0gR3N0R0xJbWFnZVNpbms6IHVwZGF0ZSBmb3IgMS4wCgoyMDEyLTA2LTA1IDE5OjEwOjE5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExRVMyLmM6CgkgIFs1MDkvOTA2XSBHc3RHTERpc3BsYXk6IHVwZGF0ZSBmb3IgMS4wCgoyMDEyLTA2LTA1IDE4OjUzOjM4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFs1MDgvOTA2XSBHc3RHTERvd25sb2FkOiB1cGRhdGUgZm9yIDEuMAoKMjAxMi0wNi0wNSAxNTo0MDo1MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nbHRlc3RzcmMuaDoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkgIFs1MDcvOTA2XSBHc3RHTFRlc3RTcmM6IHVwZGF0ZSBmb3IgMS4wCgoyMDEyLTA2LTA1IDEzOjU2OjQzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNTA2LzkwNl0gR3N0R0xVcGxvYWQ6IHVwZGF0ZSBmb3IgMS4wCgoyMDEyLTA2LTA0IDE4OjQ0OjU2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSAgWzUwNS85MDZdIEdzdEdMQ29sb3JzY2FsZTogdXBkYXRlIGZvciAxLjAKCjIwMTItMDYtMDMgMjA6NDA6NTMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBbNTA0LzkwNl0gR3N0R0xGaWx0ZXI6IHVwZGF0ZSBmb3IgMS4wCgkgIC1maXggdXAgZnVuY3Rpb24gZGVmaW5pdGlvbnMKCSAgLXJlbW92ZSBfcHJlcGFyZV9vdXRwdXRfYnVmZmVyIChmdW5jdGlvbmFsaXR5IHRha2VuIG92ZXIgYnkgR3N0QnVmZmVyUG9vbCkuCgoyMDEyLTA1LTMwIDEzOjQ2OjIxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs1MDMvOTA2XSBSZW5hbWUgR1NUX0JPSUxFUlBMQVRFXyogdG8gR19ERUZJTkVfVFlQRV8qIGFuZCBtb3ZlIF9iYXNlX2luaXQgaW50byBfY2xhc3NfaW5pdAoKMjAxMi0wNS0yOSAxNzo1NTo0NCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvbGlidmlzdWFsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL2dzdHJlYW1lci1nbC11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1nbC5wYy5pbjoKCSAgWzUwMi85MDZdIFVwZGF0ZSB2ZXJzaW9uaW5nIGZvciBnc3RyZWFtZXIgMS4wCgkgIFJlbmFtZXMgR1NUX01BSk9STUlOT1IgdG8gR1NUX0FQSV9WRVJTSU9OIGluIGJ1aWxkIGZpbGVzCgkgIHJlbW92ZXMgLWxnc3RpbnRlcmZhY2VzIGZyb20gX0xEQUREIGZsYWdzCgoyMDEyLTA1LTIwIDE4OjQ1OjA2ICswMzAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgWzUwMS85MDZdIEZpeCBidWlsZGluZyBvbiA2NCBiaXQgbWluZ3ctdzY0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzY0MjgKCjIwMTItMDQtMjAgMTI6MzM6MzggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNTAwLzkwNl0gZ2xkaXNwbGF5OiBkbyBub3QgY2FsbCBnbENoZWNrRnJhbWVidWZmZXJTdGF0dXMgaWYgMCBpcyBib3VuZAoJICBJbmRlZWQgaXQgbWF5IHJldHVybiBHTF9GUkFNRUJVRkZFUl9VTkRFRklORUQgaWYgdGhlcmUgaXMgbm8KCSAgZGVmYXVsdCBmcmFtZWJ1ZmZlci4KCSAgSXQgc2VlbXMgdG8gYmUgdGhlIGNhc2Ugb24gTWFjT1NYCgoyMDEyLTA0LTIwIDExOjE5OjMyICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzQ5OS85MDZdIGV4YW1wbGVzOiBmaXggYnVpbGQgb24gTWFjT1NYCgoyMDEyLTA0LTIwIDEwOjQxOjUxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNDk4LzkwNl0gZ2xkaXNwbGF5OiBkb24ndCBwYXNzIG5vbi1jb25zdGFudCBzdHJpbmdzIGFzIHByaW50ZiBmb3JtYXQgc3RyaW5ncwoJICBGaXhlcyAnZm9ybWF0IG5vdCBhIHN0cmluZyBsaXRlcmFsIGFuZCBubyBmb3JtYXQgYXJndW1lbnRzJyBvbiBkYXJ3aW4KCjIwMTItMDQtMjAgMTA6MzI6MjMgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmM6CgkgIFs0OTcvOTA2XSBmaWx0ZXJzaGFkZXI6IGZpeCBmb3JtYXQgY29tcGlsZXIgd2FybmluZ3MKCjIwMTItMDQtMjAgMTA6MjY6MzAgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJICBbNDk2LzkwNl0gY21ha2UgYnVpbGQ6IGFkZCBwYXRoIHRvIGNvbmZpZy5oIG9uIEFQUExFCgoyMDEyLTA0LTE4IDE1OjQ0OjA1ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMUVTMi5jOgoJICBbNDk1LzkwNl0gZ2xFUzIuMDogcHJvcGVybHkgdXNlIGdsRGVsZXRlU2hhZGVyCgoyMDEyLTA0LTE3IDE4OjI1OjU1ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBbNDk0LzkwNl0gY21ha2UgYnVpbGQ6IHVzZSBjb25maWcuaCBmcm9tIHdpbjMyL2NvbW1vbiBhbmQgYWRkIHNvbWUgZ3VpZGVsaW5lcwoKMjAxMy0wNi0yOCAwMDowNDo0MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJICBbNDkzLzkwNl0gZ2xmaWx0ZXJzaGFkZXI6IGZpeCBjcmFzaCB3aGVuIGxvYWRpbmcgc2hhZGVyIGZpbGUKCSAgSnVzdCB1c2UgZ19maWxlX2dldF9jb250ZW50cygpIGluc3RlYWQgb2YgaG9tZS1tYWRlIGZpbGUgbG9hZGluZy4KCSAgRml4ZXMgdHdvIGlzc3VlcyAtIG9uZSBpcyB0aGF0IHdlIHNob3VsZCBwYXNzICJyIiB0byBmb3BlbiBhbmQKCSAgbm90IE9fUkRPTkxZLCB0aGUgb3RoZXIgaXMgdGhhdCBhbiBpbmNvcnJlY3QgdmFyaWFibGUgd2FzIHVzZWQKCSAgdG8gcmVhZCB0aGUgZmlsZSBsZW5ndGgsIGxlYWRpbmcgdG8gYW4gZW1wdHkgc2hhZGVyIGZpbGUuCgkgIFNwb3R0ZWQgYnk6IFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI4NDQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjg0NQoJICBDb25mbGljdHM6CgkgIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jCgoyMDEyLTA0LTEzIDE1OjA4OjAwICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExRVMyLmM6CgkgIFs0OTIvOTA2XSBnbHdpbmRvdzogcHJvcGVybHkgZmFpbHMgaWYgcmVzb3VyY2Ugbm90IGZvdW5kCgoyMDEyLTA0LTEzIDEyOjM4OjExICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFFUzIuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbNDkxLzkwNl0gZ2xFUzIuMDogcHJvcGVybHkgZmFpbHMgaWYgZHJpdmVyL2tlcm5lbCBpbmNvbnNpc3RlbmN5CgoyMDEyLTA0LTExIDEwOjQ0OjIzICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbNDkwLzkwNl0gZ2xkaXNwbGF5OiBlcnJvciBvdXQgaW5zdGVhZCBvZiBnX2Fzc2VydAoKMjAxMi0wNC0xMCAxNjoxMjoxNCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzQ4OS85MDZdIGdsaW1hZ2VzaW5rOiBwaXhlbC1hc3BlY3QtcmF0aW8gcHJvcGVydHkgbm93IHJldHVybnMgIjEvMSIgYnkgZGVmYXVsdAoJICBQcmV2aW91c2x5IGl0IHdhcyBub3Qgc2V0CgkgIEZpeCBidWcgIzY3MTczNCAoY29tcGF0aWJpbGl0eSB3aXRoIFRvdGVtKQoKMjAxMi0wNC0wNCAxNjoyMjo0MCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBleHQvbGlidmlzdWFsL3Zpc3VhbC1nbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgWzQ4OC85MDZdIGxpYnZpc3VhbC1nbDogZnVsbCBjb21wYXRpYmlsaXR5IHdpdGggcHJvamVjdE0tbGlidmlzdWFsIGlmIGxpYnByb2plY3RNID49IDIuMC4xCgkgIEZpeCBidWcgIzMxMDc3NQoKMjAxMi0wMy0wNiAxNDozMTowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJICBbNDg3LzkwNl0gZ2w6IEZpeCBjb21waWxlciB3YXJuaW5ncwoJICAnaWYgc3RhdGVtZW50IGhhcyBlbXB0eSBib2R5Jywgd2hpY2ggd2VyZSByZWFsIGJ1Z3MgYW5kCgkgICdjb21wYXJpc29uIG9mIHVuc2lnbmVkIGV4cHJlc3Npb24gPCAwIGlzIGFsd2F5cyBmYWxzZScsIHdoaWNoIHdhcwoJICBvbmx5IGFuIHVubmVlZGVkIGNvbXBhcmlzb24uCgoyMDExLTEyLTIyIDE1OjMwOjM4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGV4dC9saWJ2aXN1YWwvdmlzdWFsLWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzQ4Ni85MDZdIGxpYnZpc3VhbC1nbDogYWRkIG1pbmltYWwgc3VwcG9ydCB0byBsaWJ2aXN1YWwgcGx1Z2lucyB0aGF0IHVzZXMgRnJhbWVidWZmZXIgb2JqZWN0cwoJICBGaXggYnVnICMzMTA3NzUKCSAgZ3N0LWxhdW5jaCBhdWRpb3Rlc3RzcmMgISBsaWJ2aXN1YWxfZ2xfcHJvamVjdE0gISBnbGltYWdlc2luayBpcyB3b3JraW5nCgkgIGJ1dCBmb3Igbm93IHlvdSBjYW5ub3QgYXBwZW5kIGFueSBvdGhlciBvcGVuZ2wgZmlsdGVycyBiZXR3ZWVuCgkgIGxpYnZpc3VhbF9nbF9wcm9qZWN0TSBhbmQgZ2xpbWFnZXNpbmsgYmVjYXVzZSBvdXIgRkJPIGlzIHR1cm5lZCBPRkYuCgkgIEl0IHdvdWxkIHJlcXVpcmUgdGhhdCBsaWJ2aXN1YWwgYWxsb3dzIHRvIHNwbGl0IHJlbmRlcmluZyBiZXR3ZWVuCgkgIHBhc3MxLDIsMy4uLiBhbmQgZmluYWwgcmVuZGVyaW5nLiBJbiBvcmRlciB0byB1bmJpbmQgb3VyIEZCTyBiZWZvcmUKCSAgdGhlIHBhc3NOLCBhbmQgdGhlbiByZWJpbmQgaXQganVzdCBiZWZvcmUgdGhlIGZpbmFsIGxpYnZpc3VhbCByZW5kZXJpbmcuCgoyMDExLTEyLTE1IDE4OjEzOjAwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzQ4NS85MDZdIGdzdGdsZGlzcGxheTogdHVybiBvZmYgdGV4dHVyZSBiaW5kaW5nIGFuZCByZWFkIGJ1ZmZlciB3aGVuIGRvd25sb2FkaW5nIHJnYiBpcyBkb25lCgkgIEl0IGZpeGVzOiAoYmxhY2sgaW1hZ2UgYmVmb3JlKQoJICBnc3QtbGF1bmNoLTAuMTAgYXVkaW90ZXN0c3JjICEgbGlidmlzdWFsX2dsX2x2X2dsdGVzdCAhIGdsZG93bmxvYWQgISB4aW1hZ2VzaW5rCgkgIGFuZAoJICBnc3QtbGF1bmNoLTAuMTAgIGF1ZGlvdGVzdHNyYyAhIGxpYnZpc3VhbF9nbF9sdl9nbHRlc3QgISBnbGRvd25sb2FkICEgZ2xpbWFnZXNpbmsKCjIwMTEtMTItMTUgMTg6MDg6NDggKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZXh0L2xpYnZpc3VhbC92aXN1YWwtZ2wuYzoKCSAgWzQ4NC85MDZdIGxpYnZpc3VhbF9nbDogY29ycmVjdGx5IHNldHVwIGRlcHRoIGFuZCBibGVuZCBmdW5jdGlvbnMKCjIwMTEtMTItMTUgMTY6MTg6MzYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs0ODMvOTA2XSBnbGVsZW1lbnRzOiBkbyBub3QgbGVhayBwYXJlbnQgd2hlbiB1c2luZyBnc3RfcGFkX2dldF9wYXJlbnQKCjIwMTEtMTEtMjUgMTY6NTE6NTkgKzAxMDAgIEpvbmF0aGFuIE1hdHRoZXcgPG5vdHZlcnlzbWFydEBnbWFpbC5jb20+CgoJKiBleHQvbGlidmlzdWFsL0NNYWtlTGlzdHMudHh0OgoJKiBleHQvbGlidmlzdWFsL01ha2VmaWxlLmFtOgoJKiBleHQvbGlidmlzdWFsL3Zpc3VhbC1nbC5jOgoJICBbNDgyLzkwNl0gZXh0OiBBZGQgYSBsaWJ2aXN1YWwgcGx1Z2luIHdyYXBwaW5nIG9wZW5nbCBsaWJ2aXN1YWwKCSAgRml4IGJ1ZyAjMjAyMDY5CgoyMDExLTExLTI0IDE2OjAyOjMyICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzQ4MS85MDZdIGZlYXR1cmUgY2hlY2tpbmc6IGVycm9yIG91dCBpbnN0ZWFkIG9mIGRvaW5nIG5vdGhpbmcgaWYgYW4gT3BlbkdMIGZlYXR1cmUgaXMgbm90IHByZXNlbnQKCSAgRml4IGJ1ZyAjNTcyNzY3CgoyMDExLTExLTIxIDE2OjQ2OjUxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBbNDgwLzkwNl0gd2luMzIgYnVpbGRzOiBhZGQgZ2xzaGFkZXIgZmlsdGVyIHNvdXJjZXMgdG8gdnM5IGFuZCBjb2RlYmxvY2tzCgkgIEFsc28gZml4IHNvbWUgd2FybmluZ3MgZnJvbSBtc3ZjOSBhbmQgbWluZ3ctMy40LjUKCjIwMTEtMTEtMjEgMTU6MDQ6MTYgKzAxMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmM6CgkgIFs0NzkvOTA2XSBnc3RnbHNoYWRlcnZhcmlhYmxlczogc3RydG9rX3IgaXMgbm90IG11bHRpcGxhdGZvcm0KCSAgRml4IGJ1ZyAjNjY0MzY3CgoyMDExLTExLTE4IDE3OjMyOjA1ICswMTAwICBXZWkgRmVuZyA8d2VpLmZlbmcud2F5bmVAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkgIFs0NzgvOTA2XSBPcGVuR0wgRVMgMi4wOiBpbmNsdWRlIGdsaWIuaCB0byB1c2UgR19CRUdJTl9ERUNMUyBpbiBnc3RnbGVzMi5oCgkgIEZpeCBidWcgIzYzMTAxOQoKMjAxMS0xMS0xOCAxNzoyNzo0NSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlczIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJICBbNDc3LzkwNl0gT3BlbkdMIEVTIDIuMDogZml4IGJ1aWxkIHNpbmNlIGdsZmlsdGVyc2hhZGVyIGNoYW5nZXMKCjIwMTEtMTEtMTggMTc6MjY6MzUgKzAxMDAgIEFudG9uaSBTaWx2ZXN0cmUgPGFudG9uaS5zaWx2ZXN0cmVAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBbNDc2LzkwNl0gT3BlbkdMIEVTIDIuMDogZml4IGJ1aWxkIGFuZCBkaXNhYmxlIHNvbWUgZXhhbXBsZXMKCSAgRml4IGJ1ZyAjNjMxMDE5CgoyMDExLTExLTE4IDEyOjE2OjIyICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJICBbNDc1LzkwNl0gZG9jczogYWRkIGdsbW9zYWljIGFuZCBnbHNoYWRlciB0byBkb2NzCgoyMDExLTExLTE4IDExOjUyOjEwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbNDc0LzkwNl0gYnVpbGQ6IG1ha2UgbGlianBlZyB1c2UgY29uZGl0aW9uYWwKCSAgRGlzYWJsZSBnbG92ZXJsYXkgZWxlbWVudCBpZiB3ZSBkbyBub3QgaHZlIGxpYmpwZWcKCjIwMTEtMTEtMTggMTA6MTA6NTkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJICBbNDczLzkwNl0gY21ha2UgYnVpbGQ6IDIuOCBpcyBub3cgcmVxdWlyZWQgYW5kIGFkZCBqcGVnCgkgIGpwZWcgYW5kIHBuZyBzaG91bGQgYmUgb3B0aW9uYWwgYnV0IG91ciBjbWFrZSBidWlsZCBpcyBzdGlsbCBpbiBwcmUtYWxwaGEKCjIwMTEtMTEtMTggMDg6MDg6MTggKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzQ3Mi85MDZdIGxpbnBuZzogbWFrZSBsaWJwbmcgdXNlIGNvbmRpdGlvbmFsCgkgIERpc2FibGUgMyBlbGVtZW50cyBpZiB3ZSBkb24ndCBoYXZlIGxpYnBuZy4KCjIwMTEtMTEtMTcgMTc6MzY6NDQgKzAxMDAgIEx1YyBEZXNjaGVuYXV4IDxsdWMuZGVzY2hlbmF1eEBmcmVlc3VyZi5jaD4KCgkqIGdzdC1saWJzL2dzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL0dOVW1ha2VmaWxlLmdudXN0ZXA6CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5oOgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC9nbC9HTlVtYWtlZmlsZS5nbnVzdGVwOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbNDcxLzkwNl0gZ2xzaGFkZXI6IGFkZCBkeW5hbWljIGZyYWdtZW50IHNoYWRlciBmaWx0ZXIKCSAgQWxzbyBhZGQgZnJhZ21lbnQgc2hhZGVyIHBhcnNlcgoJICBGaXggYnVnICM2MDAxOTUKCjIwMTEtMTEtMTcgMTU6MjI6MDYgKzAxMDAgIEFudGhvbnkgVmlvbG8gPGFudGhvbnkudmlvbG9AdWJpY2FzdC5ldT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5Lmg6CgkgIFs0NzAvOTA2XSBnbG92ZXJsYXk6IGFkZCBqcGVnIHN1cHBvcnQKCSAgRml4IGJ1ZyAjNjM2MDcwCgoyMDExLTExLTE3IDExOjM5OjUwICswMTAwICBBbnRob255IFZpb2xvIDxhbnRob255LnZpb2xvQHViaWNhc3QuZXU+CgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuaDoKCSAgWzQ2OS85MDZdIGdsb3ZlcmxheTogbWFuYWdlIHJhdGlvIHRleHR1cmUKCSAgRml4IGJ1ZyAjNjMwNTI1CgoyMDExLTExLTE3IDExOjM0OjIwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkgIFs0NjgvOTA2XSB0ZXN0czogZml4IGNvbW1lbnRhcnkgaW4gY2x1dHRlcmFjdG9yIGV4YW1wbGUKCjIwMTEtMTEtMTYgMTY6NTM6MjUgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFs0NjcvOTA2XSB0ZXN0czogdmFyaW91cyBidWlsZCBmaXhlcwoJICAtIGNtYWtlIGNvdWxkIG5vdCBmaW5kIGdsaWIKCSAgLSBwdXQgZ3RrIHZhcmlhYmxlcyBhdCB0aGUgYmVnaW5uaW5nIHRvIGF2b2lkIEdMIGNvbmZsaWN0cwoJICAtIHVwZGF0ZSBleGFtcGxlcyB0byBjbHV0dGVyLTEuOAoJICAtIHVzZSBjb25zdCBpbnN0ZWFkIG9mIGRlcHJlY2F0ZWQgR19DT05TVF9SRVRVUk4KCSAgLSBzZXQgbWF4IHBlbmRpbmcgZXZlbnRzIHRvIDAgdG8gbWFrZSBjdWJlIGV4YW1wbGUgd29ya3MgYWdhaW4KCjIwMTEtMDgtMDMgMDk6MDg6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSAgWzQ2Ni85MDZdIHRlc3RzOiBGaXggdmFyaWFibGUgdW51c2VkIGJ1dCBzZXQgY29tcGlsZXIgd2FybmluZwoKMjAxMS0wOC0wMyAwOTowNzo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgWzQ2NS85MDZdIGdsOiBGaXggdmFyaWFibGUgdW51c2VkIGJ1dCBzZXQgY29tcGlsZXIgd2FybmluZ3MKCjIwMTEtMDUtMjUgMTE6MjE6MTkgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbNDY0LzkwNl0gZ2xpbWFnZXNpbms6IEludGVyZmFjZSBxdWVyeSBzaG91bGQgcmV0dXJuIEZBTFNFIGlmIHRoZSBzdXBwbGllZCBpbnRlcmZhY2UgaXMgbm90IEdTVF9UWVBFX1hfT1ZFUkxBWQoKMjAxMC0xMi0xNCAyMzo1Njo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlczIuaDoKCSAgWzQ2My85MDZdIEFkZCBzb21lIG1vcmUgR197QkVHSU4sRU5EfV9ERUNMUyB0byBwdWJsaWMgaGVhZGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM3MjYwCgoyMDEwLTEwLTE5IDE4OjAwOjMzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzQ2Mi85MDZdIHZhcmlvdXM6IGFkZCBtaXNzaW5nIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgZmxhZ3MKCSAgQ2Fub25pY2FsaXplIHByb3BlcnR5IG5hbWVzIGFzIG5lZWRlZC4gSW5jbHVkZXMgc29tZSBnc3QtaW5kZW50IGNoYW5nZXMgYXMgd2VsbCA6LwoKMjAxMC0wOS0xNiAxNTowMDoyOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nc3RndGsuYzoKCSAgWzQ2MS85MDZdIHhvdmVybGF5OiByZXF1aXJlIGJhc2UgZnJvbSBnaXQgYW5kIHVwZGF0ZSB0byBuZXcgQVBJCgoyMDEwLTA5LTA4IDIwOjM4OjA3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBbNDYwLzkwNl0gZ3N0Z2xlZmZlY3RzOiBGaXggdXBwZXIgYm91bmQgb2YgYW4gYXJyYXkgaXRlcmF0aW9uCgkgIDEwIGlzIGFib3ZlIE5FRURFRF9URVhUVVJFUyAoY3VycmVudGx5IDUpIGFuZCBtYWtlcyB0aGUgY29kZSBjb25zaXN0ZW50CgkgIHdpdGggdGhlIHJlc3Qgb2YgdGhlIHVzYWdlIGluIHRoZSBmaWxlLgoKMjAxMC0wOC0xMSAwMDo0Nzo0MiArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbNDU5LzkwNl0gRml4IGRpc3RjaGVjay4KCjIwMTAtMDctMjMgMjI6MTI6MTUgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkgIFs0NTgvOTA2XSBnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbjogZml4IHNvbWUgd2FybmluZ3MgZnJvbSBtc3ZjOQoKMjAxMC0wNy0xMiAxODozODo1OSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzQ1Ny85MDZdIGd0ayBleGFtcGxlczogYWRhcHQgY29kZSBzaW5jZSB0aGUgbmF0aXZlLXdpbmRvdyBjaGFuZ2VzIGZyb20gZ3RrCgkgIEZpeGVzIGJ1ZyAjNTk5ODg1CgoyMDEwLTA1LTA1IDExOjIxOjMxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNDU2LzkwNl0gZ2xmaWx0ZXIvZ2xtaXhlci9nbHRlc3RzcmMvZ2x1cGxvYWQ6IHRocm93IGFuIGVsZW1lbnQgZXJyb3IgaWYgbm8gcGFyZW50IGJpbgoJICBGaXhlcyBidWcgIzYwMjE1MwoKMjAxMC0wNS0wNCAxMTozNzozOCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBbNDU1LzkwNl0gZ2xpbWFnZXNpbms6IGhhbmRsZSBwaXhlbC1hc3BlY3QtcmF0aW8KCjIwMTAtMDUtMDEgMTE6MTk6NTUgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbNDU0LzkwNl0gYmx1cjogZml4IGdhdXNzaWFuIGtlcm5lbCBjb21wdXRhdGlvbgoKMjAxMC0wNC0yOSAyMDo0OTowMiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5oOgoJICBbNDUzLzkwNl0gYmx1cjogZ2l2ZSB1cCBzb21lIGFjY3VyYWN5IGZvciBzcGVlZAoJICBTZXR0bGUgd2l0aCA3eDcgZ2F1c3NpYW4gY29udm9sdXRpb24ga2VybmVscywgbWF5YmUgc2xpZ2h0bHkgbGVzcwoJICBhY2N1cmF0ZSB0aGFuIHByZXZpb3VzIDl4OSBidXQgZmFzdCBlbm91Z2ggdG8gYmUgYWJsZSB0byB1c2UgaXQgb24gaTkxNS4KCSAgQWJvdXQgYSAyMCUgcGVyY2VudCBzcGVlZCBnYWluIChhZ2Fpbiwgcm91Z2hseSBtZWFzdXJlZCB3aXRoCgkgIHZpZGVvdGVzdHNyYyBhbmQgZ2xpbWFnZXNpbmsgc3luYz1mYWxzZSkuIE5vIG5vdGljZWFibGUgcmVuZGVyaW5nCgkgIGRpZmZlcmVuY2Ugd2l0aCBjdXJyZW50IGVmZmVjdHMuCgoyMDEwLTA0LTI4IDE3OjA4OjQ1ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzQ1Mi85MDZdIHNpbjogZ2V0IHJpZCBvZiBobHMgY29udmVyc2lvbiBjb2RlCgkgIEdldCByaWQgb2YgYnVnZ3kgYW5kIGNvbXBsaWNhdGVkIGhscyBjb252ZXJzaW9uIGNvZGUgZm9yIHRoZSBzaW4gZWZmZWN0LgoJICBUaGUgb25seSB0aGluZyBuZWVkZWQgd2FzIGh1ZSBhbnl3YXkgYW5kIGl0IGlzIGVhc2lseSBjYWxjdWxhdGVkIHVzaW5nCgkgIFByZXVjaWwgZm9ybXVsYSBmb3IgcmdiIHRvIHBvbGFyIGNvb3JkaW5hdGVzIGNvbnZlcnNpb24uCgkgIE5vdyB3b3JrcyBvbiBpOTE1IChyZW1vdmVkIGFsbCB0aGUgSUYgYmxvY2tzKS4gU3RpbGwgbmVlZHMgc29tZSB0dW5pbmcsCgkgIEkgd29uZGVyIGlmIGl0IHdpbGwgZXZlciB3b3JrIHByb3Blcmx5LgoKMjAxMC0wNC0zMCAxMTo0NDoyNiArMDIwMCAgUm9sYW5kIFBlZmZlciA8Um9sYW5kLlBlZmZlckBjbGl4eHVuLmRlPgoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs0NTEvOTA2XSBnbHVwbG9hZDogcGFyIGlzIGFscmVhZHkgaGFuZGxlZCBpbiBmaXhhdGVfY2FwcyBmdW5jdGlvbgoJICBGaXhlcyBidWcgIzU5MzE2NQoKMjAxMC0wNC0zMCAxMTo0Mjo0MSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzQ1MC85MDZdIGluZGVudDogZ3N0Z2x1cGxvYWQuYwoKMjAxMC0wNC0yOSAxNDoyMToyOCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSAgWzQ0OS85MDZdIHNvYmVsOiBkcm9wIHVudXNlZCBzaW5nbGUgcGFzcyBzb2JlbCBzaGFkZXIKCSAgRHJvcCB1bnVzZWQgc29iZWwgc2hhZGVyLCBpZiBhbnlvbmUgc3RpbGwgbmVlZHMgaXQsIGdpdCBsb2cgaXMgeW91cgoJICBmcmllbmQuCgoyMDEwLTA0LTI5IDE0OjIwOjU2ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJICBbNDQ4LzkwNl0geHJheTogaW5jcmVhc2UgZWRnZXMgdmlzaWJpbGl0eQoJICBTb21lIGxpdHRsZSBmaW5lIHR1bmluZywgc3RpbGwgbm90IGNvbXBsZXRlbHkgc2F0aXNmaWVkIHlldC4KCjIwMTAtMDQtMjkgMTI6NTk6NDIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuaDoKCSAgWzQ0Ny85MDZdIHhyYXk6IHBvcnQgdG8gdGhlIG5ldyBzZXBhcmFibGUgc29iZWwgY29udm9sdXRpb24KCSAgUG9ydCB4cmF5IGVmZmVjdCB0byB1c2UgdGhlIHNhbWUgc29iZWwgY29udm9sdXRpb24ganVzdCB1c2VkIGluCgkgIGdsZmlsdGVyc29iZWwuIE5vdyB4cmF5IHRvbyB3b3JrcyBvbiBpOTE1IChhIGJpdCBzbG93KS4KCjIwMTAtMDQtMjkgMTA6NTc6MzggKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJICBbNDQ2LzkwNl0gYmx1cjogZm9yZ290IHRvIGFkZCBhbGwgdGhlIGNoYW5nZXMgaW4gcHJldmlvdXMgY29tbWl0CgoyMDEwLTA0LTI5IDA5OjE1OjIxICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSAgWzQ0NS85MDZdIGJsdXI6IHVzZSBkcmF3X3RleHR1cmUgZnJvbSBnbGZpbHRlcgoKMjAxMC0wNC0yOSAwOTowMjoxMiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSAgWzQ0NC85MDZdIGxhcGxhY2lhbjogcHJlY2FsY3VsYXRlIGNvb3JkaW5hdGVzCgkgIFByZWNhbGN1bGF0ZSBjb29yZGluYXRlcyB0byBhdm9pZCB1bm5lZWRlZCB0ZXh0dXJlIGluZGlyZWN0aW9ucy4KCSAgTm93IGxhcGxhY2lhbiB3b3JrcyBvbiBpOTE1LgoKMjAxMC0wNC0yOSAwODoyNzoyOSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkgIFs0NDMvOTA2XSBzb2JlbDogbW92ZSBzb21lIGhpZ2hseSBkdXBsaWNhdGVkIGNvZGUgaW50byBnbGZpbHRlcgoJICBBZGQgYSBuZXcgY29udmVuaWVuY2UgZnVuY3Rpb24gaW4gR3N0R0xGaWx0ZXIgdGhhdCBqdXN0IGRyYXdzIGFuIGlucHV0CgkgIHRleHR1cmUgdG8gYSB0YXJnZXQgdGV4dHVyZSB1c2luZyBhIHNpbXBsZSBzaGFkZXIgd2l0aCBqdXN0IGEgInRleCIKCSAgdW5pZm9ybSBzYW1wbGVyLgoJICBNb3ZlIGRyYXdfdGV4dHVyZSBmcm9tIGdsZmlsdGVyc29iZWwgdG8gZ2xmaWx0ZXIuIFN0aWxsIG5lZWQgdG8gdXBkYXRlCgkgIG90aGVyIHBsdWdpbnMgdG8gdGhpcy4KCjIwMTAtMDQtMjcgMjE6NTY6MDQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbNDQyLzkwNl0gYmx1cjogb3B0aW1pemUgY29vcmRpbmF0ZXMgY2FsY3VsYXRpb25zCgkgIFNhdmUgMjggaW5zdHJ1Y3Rpb25zIG9uIGk5MTUgKG1haW5seSByZWR1bmRhbnQgTU9WcykgYW5kIGdhaW4gYSAyNSUKCSAgKHJvdWdobHkgbWVhc3VyZWQgd2l0aCB2aWRlb3Rlc3RzcmMgYW5kIGdsaW1hZ2VzaW5rIHN5bmM9ZmFsc2UpIHNwZWVkCgkgIGJ1bXAKCjIwMTAtMDQtMjcgMTk6Mzg6MzMgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmg6CgkgIFs0NDEvOTA2XSBzb2JlbDogY29udm9sdmUgb25seSBsdW1hCgkgIFJld29yayBTb2JlbCBhIGxpdHRsZSBiaXQgYWdhaW4gbWFraW5nIGl0IHdvcmsgYXMgdGhlIG9sZCBvbmU6CgkgIDEuIGRlc2F0dXJhdGUgaW5wdXQgdGV4dHVyZQoJICAyLiBjYWxjdWxhdGUgaG9yaXpvbnRhbCBjb252b2x1dGlvbiBmb3IgeCBncmFkaWVudCBhbmQgdmVydGljYWwKCSAgY29udm9sdXRpb24gZm9yIHkgZ3JhZGllbnQgYXQgdGhlIHNhbWUgdGltZSAoaGFsdmVzIHRoZSBudW1iZXIgb2YKCSAgbmVlZGVkIHRleHR1cmUgbG9va3VwcykKCSAgMy4gc3RvcmUgcmVzdWx0cyBpbiBhIHNpbmdsZSB0ZXh0dXJlIChyZWQgYW5kIGdyZWVuIGNoYW5uZWwpCgkgIDQuIGNhbGN1bGF0ZSByZW1haW5pbmcgY29udm9sdXRpb24gKHNhbWUgYXMgYWJvdmUgc3dpdGNoaW5nIHZlcnRpY2FsIGFuZAoJICBob3Jpem9udGFsKQoJICA1LiBjYWxjdWxhdGUgbGVuZ3RoIG9mIGdyYWRpZW50IHVzaW5nIHJlZCBhbmQgZ3JlZW4gYXMgeCBhbmQgeQoJICBjb21wb25lbnRzLgoJICBPcHRpbWl6ZSB3aGVyZXZlciBwb3NzaWJsZSwgc3RvcmUga2VybmVscyBhcyBjb25zdGFudHMgaW4gdGhlIHNoYWRlcnMsCgkgIHJlbW92ZSB1bm5lZWRlZCB1bmlmb3Jtcy4gUmVzdG9yZSBpbnZlcnQgcHJvcGVydHkgY2FyZWZ1bGx5IGF2b2lkaW5nCgkgIHVzaW5nIElGLgoJICBTdGlsbCBub3Qgc3VyZSBpZiAiZnVsbCBjb2xvciIgY29udm9sdXRpb24gd2lsbCBiZSBuZWVkZWQsIGdsZmlsdGVyc29iZWwKCSAgaXMgdG8gYmUgaW50ZW5kZWQgYXMgYSBkZW1vIGZpbHRlciBhbmQgeHJheSwgdGhlIG9ubHkgZWZmZWN0IHdoaWNoIHVzZXMKCSAgc29iZWwgb25seSBuZWVkcyBlZGdlIGludGVuc2l0eS4gRHJvcHBpbmcgaXQgZm9yIG5vdy4KCjIwMTAtMDQtMjcgMDk6MDg6MjIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmg6CgkgIFs0NDAvOTA2XSBzb2JlbDogaW1wbGVtZW50IHNvYmVsIGZpbHRlciB1c2luZyBzZXBhcmFibGUga2VybmVscwoJICBSZWltcGxlbWVudCBzb2JlbCBpbiBhIG11bHRpcGFzcyBmdWxseSBzZXBhcmF0ZWQgY29udm9sdXRpb246CgkgIC0gY2FsY3VsYXRlIHggZ3JhZGllbnQgbWFwIGNvbnZvbHZpbmcgZmlyc3QgaG9yaXpvbnRhbGx5IHdpdGggYmx1cnJpbmcKCSAga2VybmVsIGFuZCB0aGVuIHZlcnRpY2FsbHkgd2l0aCBkaWZmZXJlbnRpYXRpbmcga2VybmVsCgkgIC0gY2FsY3VsYXRlIHkgZ3JhZGllbnQgbWFwIGNvbnZvbHZpbmcgZmlyc3QgdmVydGljYWxseSB3aXRoIGJsdXJyaW5nCgkgIGtlcm5lbCBhbmQgdGhlbiBob3Jpem9uYWxseSB3aXRoIGRpZmZlcmVudGlhdGluZyBrZXJuZWwKCSAgLSBjYWxjdWxhdGUgbGVuZ3RoIG9mIHRoZSBncmFkaWVudCB2ZWN0b3IKCSAgUGFydGljdWxhciBjYXJlIHdhcyBuZWVkZWQgd2l0aCBub3JtYWxpemF0aW9uIG9mIHRoZSBibHVycmluZyBrZXJuZWwgYW5kCgkgIHdpdGggZ3JleSBsZXZlbCBvZmZzZXQgb2YgdGhlIGRpZmZlcmVudGlhdGluZyBvbmUgdG8gcHJldmVudCBvdmVyZmxvdyBvZgoJICByZ2IgdmFsdWVzIGZyb20gdGhlIFswLjAsMS4wXSByYW5nZSBpbiBpbnRlcm1lZGlhdGUgcGFzc2VzLgoJICBOb3cgd29ya3Mgb24gaTkxNS4KCjIwMTAtMDQtMjYgMTM6MjA6MzggKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbNDM5LzkwNl0gc29iZWw6IGdldCByaWQgb2YgI3ZlcnNpb24gMTIwIGRlcGVuZGVudCBhcnJheSBjb25zdHJ1Y3RvcnMKCjIwMTAtMDQtMjcgMTE6MDc6MDQgKzAyMDAgIFBpZXJyZSBQb3V6b2wgPHBpZXJyZS5wb3V6b2xAaG90bWFpbC5mcj4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uaDoKCSAgWzQzOC85MDZdIGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuOiBpbXByb3ZlIGJlaGF2aW9yIGFuZCBhZGQgc29tZSBwcm9wZXJ0aWVzCgkgIEZpeGVzIGJ1ZyAjNjEyMTYzCgoyMDEwLTA0LTI2IDIzOjQ4OjE1ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJICBbNDM3LzkwNl0gZ2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW46IHJlbW92ZSB1bnVzZWQgY29kZSAoY29waWVkL3Bhc3RlZCBmcm9tIGdsZmlsdGVyZ2xhc3MpCgoyMDEwLTA0LTI2IDIzOjQyOjM4ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkgIFs0MzYvOTA2XSBnbGVmZmVjdHNzb3VyY2VzOiBmaXggc29tZSB3YXJuaW5ncyBmcm9tIG1zdmM5CgoyMDEwLTA0LTI2IDIzOjM4OjU5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9HTlVtYWtlZmlsZS5nbnVzdGVwOgoJICBbNDM1LzkwNl0gR05VU3RlcCBidWlsZDogYWRkIGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuIHNvdXJjZXMKCjIwMTAtMDQtMjYgMTQ6NDE6MTcgKzAyMDAgIFBpZXJyZSBQb3V6b2wgPHBpZXJyZS5wb3V6b2xAaG90bWFpbC5mcj4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uaDoKCSAgWzQzNC85MDZdIGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuOiBmb3Jnb3QgdG8gYWRkIHNvdXJjZXMKCjIwMTAtMDQtMjYgMTQ6MzI6MjggKzAyMDAgIFBpZXJyZSBQb3V6b2wgPHBpZXJyZS5wb3V6b2xAaG90bWFpbC5mcj4KCgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFs0MzMvOTA2XSBnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbjogYWRkIG5ldyBPcGVuR0wgUmVmbGVjdGVkIFNjcmVlbiBmaWx0ZXIKCSAgRml4ZXMgYnVnICM2MTIxNjMKCjIwMTAtMDQtMjYgMTQ6MTE6MjggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNDMyLzkwNl0gR3N0R0xEaXNwbGF5OiB0aGlzIGlzIEdMX0RFUFRIMjRfU1RFTkNJTDhfRVhULCBub3QgR0xfREVQVEgyNF9TVEVOQ0lMOF9FWFQKCjIwMTAtMDQtMjYgMTM6NTc6MDAgKzAyMDAgIFBpZXJyZSBQb3V6b2wgPHBpZXJyZS5wb3V6b2xAaG90bWFpbC5mcj4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzQzMS85MDZdIEdzdEdMRGlzcGxheTogZW5hYmxlIHN0ZW5jaWwgYnVmZmVyIHdoZW4gdXNpbmcgZnJhbWVidWZmZXIgb2JqZWN0cy4KCSAgRml4ZXMgQnVnICM2MTIxNTkKCjIwMTAtMDQtMjYgMTI6NDU6NTcgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbNDMwLzkwNl0gY29udm9sdXRpb246IHNhdmUgc29tZSBpbmRpcmVjdGlvbiBncm91cGluZyBtYXRoIGFuZCBzYW1wbGluZwoJICBUaGFua3MgdG8gRXJpYyBBbmhvbHQgSSd2ZSBmaW5hbGx5IHVuZGVyc3Rvb2QgKGF0IGxlYXN0IEkgaG9wZSkgaG93IHRvCgkgIGNvdW50IHRleHR1cmUgaW5kaXJlY3Rpb25zIGFuZCBzYXZlIHVwIHNvbWUuICBUZXh0dXJlIHNhbXBsaW5nIGRlcGVuZGVudAoJICBvbiB0aGUgcmVzdWx0IG9mIHNvbWUgbWF0aCBjb3VudHMgYXMgYW4gaW5kaXJlY3Rpb24gcGhhc2UuIEdyb3VwZWQKCSAgdGV4dHVyZSBsb29rdXBzIHdpdGggbm8gbWF0aCBpbnZvbHZlZCBjb3VudCBhcyBhIHNpbmdsZSBpbmRpcmVjdGlvbi4KCSAgTWF0aCBvbiB0aGUgY29vcmRpbmF0ZXMgY291bnQgYXMgaW5kaXJlY3Rpb24uCgkgIFNvIHRoZSBiZXN0IHRoaW5nIGlzIHRvIGdyb3VwIGFsbCB0aGUgbWF0aCBpbnZvbHZpbmcgY29vcmRpbmF0ZXMgYW5kCgkgIHRoZW4gZG8gYWxsIHRoZSBsb29rdXBzLgoJICBUaGlzIHNhdmVzIGVub3VnaCBpbmRpcmVjdGlvbnMgdG8gbWFrZSBnbGZpbHRlcmJsdXIgYW5kIGdsb3cgZWZmZWN0CgkgIHdvcmssIGFsYmVpdCBhIGJpdCBzbG93bHksIG9uIGk5MTUuCgoyMDEwLTA0LTI1IDEwOjU1OjQzICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJICBbNDI5LzkwNl0gbGFwbGFjaWFuOiByZW1vdmUgdW51c2VkIG5vcm1fY29uc3QgYW5kIG5vcm1fb2Zmc2V0IHVuaWZvcm1zCgkgIFJlbW92ZSB1bnVzZWQgdW5pZm9ybXMgZnJvbSB0aGUgbGFwbGFjaWFuIGZpbHRlci4gQWxzbyByZW1vdmUgaWYKCSAga2VybmVsW2ldICE9IDAgY2hlY2tzIHNvIHRoYXQgaXQgY29tcGlsZXMgd2hlcmUgSUYgaXMgbm90IGF2YWlsYWJsZS4KCSAgQWdhaW4sIGJpZyB0aGFua3MgdG8gRXJpYyBBbmhvbHQgZm9yIHRoZSBoaW50cy4KCjIwMTAtMDQtMTMgMTY6MjA6MDIgLTA3MDAgIEVyaWMgQW5ob2x0IDxlcmljQGFuaG9sdC5uZXQ+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSAgWzQyOC85MDZdIGxhcGxhY2lhbjogQXZvaWQgdXNpbmcgR0xTTCAxLjIwIGZlYXR1cmVzIGluIGEgbm9uLSN2ZXJzaW9uZWQgc2hhZGVyLgoJICBGaXhlcyBjb21waWxlIG9uIE1lc2EuCgoyMDEwLTA0LTI1IDEwOjMxOjAxICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzQyNy85MDZdIHJnYl90b19jdXJ2ZTogc2F2ZSB1cCBhIHRleHR1cmUgaW5kaXJlY3Rpb24KCSAgQXBwYXJlbnRseSBhc3NpZ25pbmcgZ2xfVGV4Q29vcmQgdG8gYSB0ZW1wIGNvdW50IGFzIGFuIGluZGlyZWN0aW9uLgoJICBVc2luZyBpdCBkaXJlY3RseSBhdm9pZHMgaXQgYW5kIGxpbWl0cyBpbmRpcmVjdGlvbnMgdG8gZm91ciBub3QKCSAgZXhjZWVkaW5nIGk5MTUgbGltaXQuIE5vdyB4cHJvIGVmZmVjdCB3b3JrcyBvbiBpOTE1LgoKMjAxMC0wNC0yNSAxMDowNDoyOCArMDIwMCAgVmluc29uIExlZSA8dmxlZUB2bXdhcmUuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbNDI2LzkwNl0gbXVsdGlwbHk6IGZpeCBhIGNvbXBpbGF0aW9uIGVycm9yIHdpdGggQXBwbGUgY29tcGlsZXIKCSAgRml4IG11bHRpcGx5X2ZyYWdtZW50X3NvdXJjZSB0byBjb21waWxlIHdpdGggQXBwbGUgR0xTTCBjb21waWxlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNjc0OAoKMjAxMC0wNC0yNCAyMToxMTozNSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIFs0MjUvOTA2XSB0d2lybDogZ2V0IHJpZCBvZiBwb2xhciBjb29yZGluYXRlcyBjb252ZXJzaW9uCgkgIEdldCByaWQgb2YgcG9sYXIgY29vcmRpbmF0ZXMgaW4gdGhlIHR3aXJsIGVmZmVjdC4gVGhlIHNhbWUgY2FuIGJlIGRvbmUKCSAgdXNpbmcgYSByb3RhdGlvbiBtYXRyaXgsIHNhdmluZyBhbHUgaW5zdHJ1Y3Rpb25zIGFuZCwgbW9zdCBvZiBhbGwsCgkgIGF2b2lkaW5nIHRoZSB1c2Ugb2YgdGhlIGV2aWwgYXRhbigpIGZ1bmN0aW9uICh3aGljaCB1c2VzIElGIG9wZXJhdG9ycykuCgkgIENhbGN1bGF0ZSByb3RhdGlvbiBhbmdsZSBpbiBhIHNhbmVyLCB1bmRlcnN0YW5kYWJsZSB3YXkuCgkgIFdvcmtzIG9uIGk5MTUhIChIb3BlIGl0IHN0aWxsIHdvcmtzIGVsc2V3aGVyZSB0b28gYXMgSSdtIG5vdCBhYmxlIHRvCgkgIHRlc3QgYXQgdGhlIG1vbWVudCkKCjIwMTAtMDQtMjQgMjA6NDM6MzkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbNDI0LzkwNl0gdHVubmVsOiBnZXQgcmlkIG9mIHBvbGFyIGNvb3JkaW5hdGVzIGNvbnZlcnNpb24KCSAgR2V0IHJpZCBvZiBwb2xhciBjb29yZGluYXRlcyBpbiB0aGUgdHVubmVsIGVmZmVjdCBhcyB0aGUgc2FtZSBjYW4gZWFzaWx5CgkgIGJlIGRvbmUganVzdCBjbGFtcGluZyB0aGUgcmFkaXVzIGFuZCBtdWx0aXBseWluZy4KCSAgUmVtb3ZlIHRoZSBldmlsIGF0YW4oKSBjYWxsIHRoYXQgdXNlcyBicmFuY2hpbmcgYW5kIGEgbG90IG9mIHVubmVlZGVkIGFsdQoJICBpbnN0cnVjdGlvbnMuIE5vdyB3b3JrcyBvbiBpOTE1IQoKMjAxMC0wNC0yMyAyMDowNjo0OCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5oOgoJICBbNDIzLzkwNl0gY29udm9sdXRpb246IGdlbmVyYXRlIGdhdXNzaWFuIGtlcm5lbCBvbiB0aGUgZmx5CgkgIEdlbmVyYXRlIGEgbm9ybWFsaXplZCBnYXVzc2lhbiBrZXJuZWwgd2l0aCBnaXZlbiBzaXplIGFuZCBzdGFuZGFyZAoJICBkZXZpYXRpb24gb24gdGhlIGZseS4KCSAgUmVtb3ZlICJub3JtX2NvbnN0IiB1bmlmb3JtIGZyb20gY29udm9sdXRpb24gc2hhZGVycyBhbmQgcHJvdmlkZSBhCgkgIG5vcm1hbGl6ZWQga2VybmVsIGluc3RlYWQuIFJlbW92ZSBub3JtX29mZnNldCB1bmlmb3JtIGFzIGl0IHdhcyBhbHdheXMKCSAgemVybywgd2lsbCByZWludHJvZHVjZSBpdCBpZiByZWFsbHkgbmVlZGVkIGluIHRoZSBmdXR1cmUuIFRoYW5rcyB0byBFcmljCgkgIEFuaG9sdCBmb3Igc3VnZ2VzdGluZyBpdC4KCSAgU2F2ZSBzb21lIEFMVSBpbnN0cnVjdGlvbiBjYWxjdWxhdGluZyBkaXJlY3RseSB0aGUgY29vcmRpbmF0ZSBmb3IKCSAgdGV4dHVyZSBsb29rdXAgaW5zdGVhZCBvZiBzdW1taW5nIGFuIG9mZnNldC4KCSAgU3RpbGwgZXhjZWVkIG1heGltdW0gaW5kaXJlY3QgdGV4dHVyZSBsb29rdXBzIG9uIGk5MTUsIHRoZSBvbmx5IHNvbHV0aW9uCgkgIEkgc2VlIGlzIHVzaW5nIGEgM3gzIGtlcm5lbC4KCjIwMTAtMDQtMjMgMTc6NDk6NDUgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbNDIyLzkwNl0gY29udm9sdXRpb246IHJlZHVjZSB0aGUgbnVtYmVyIG9mIHJlZ2lzdGVyIHVzZWQKCSAgUmVkdWNlIHRoZSBudW1iZXIgb2YgcmVnaXN0ZXIgY2FsY3VsYXRpbmcgdGV4dHVyZSBsb29rdXAgb2Zmc2V0IG9uIHRoZQoJICBmbHkuIEl0IHdhcyBqdXN0IGEgc2ltcGxlIHNlcXVlbmNlLCBubyBuZWVkIHRvIHN0b3JlIGl0IGluIGEgYXJyYXkuCgkgIEZpeGVzIG1heGltdW0gbnVtYmVyIG9mIHJlZ2lzdGVycyBleGNlZWRlZCBlcnJvciB3aXRoIGk5MTUuIFN0aWxsCgkgIGV4Y2VlZCBtYXhpbXVtIGluZGlyZWN0IHRleHR1cmUgbG9va3VwcyBhbmQgbWF4aW11bSBBTFUgaW5zdHJ1Y3Rpb25zLgoJICBNYXliZSB3ZSBzaG91bGQgZ2F2ZSB1cCBzb21lIGJsdXIgZ29vZG5lc3MgYW5kIHVzZSBsaWdodGx5IG1vcmUgbGl0dGxlCgkgIGtlcm5lbHMuCgoyMDEwLTA0LTIzIDE3OjM3OjIxICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzQyMS85MDZdIGNvbnZvbHV0aW9uOiBkb24ndCBjaGVjayBrZXJuZWxbaV0gdG8gYmUgbm9uIHplcm8KCSAgQXBwYXJlbnRseSBzYXZpbmcgdXAgc29tZSB0ZXh0dXJlIGxvb2t1cCBmb3IgemVybyBrZXJuZWwgZWxlbWVudHMgaXMKCSAgZGVmaW5pdGVseSBub3Qgd29ydGggdGhlIHVzZSBvZiBicmFuY2hpbmcuIFRoaXMgd2F5IGNvbnZvbHV0aW9uCgkgIGZyYWdtZW50IHByb2dyYW1zIGFsc28gd29yayB3aGVyZSBJRiBvcGVyYXRvciBpcyBub3Qgc3VwcG9ydGVkICh0ZXN0ZWQKCSAgb24gaTkxNSBhbmQgbm91dmVhdSkuIFNlZSBhbHNvIGRpc2N1c3Npb24gb24gYnVnICM2MTU2OTYuCgkgIFRoYW5rcyB0byBFcmljIEFuaG9sdCBmb3Igc3BvdHRpbmcgdGhpcy4KCjIwMTAtMDQtMjMgMTc6MzA6NDUgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJICBbNDIwLzkwNl0gYmx1cjogdXNlIGNvbW1vbiBzaGFkZXIgc291cmNlcwoJICBQb3J0IGJsdXIgZmlsdGVyIHRvIHVzZSB0aGUgY29tbW9uIGNvbnZvbHV0aW9uIHNoYWRlcnMgaW4KCSAgZ3N0Z2xlZmZlY3Rzc291cmNlcy5jLiBUaGlzIHJlZHVjZXMgY29kZSBkdXBsaWNhdGlvbiBhbmQsIGluY2lkZW50YWxseSwKCSAgdGhlIHNoYWRlcnMgaW4gdGhlIGNvbW1vbiBmaWxlIHdlcmUgYWxyZWFkeSB1cGRhdGVkIHRvIG5vdCB1c2UgYXJyYXkKCSAgY29uc3RydWN0b3IgYW5kIHRvIG5vdCBkZXBlbmQgb24gI3ZlcnNpb24gMTIwLgoJICBGaXJzdCBzdGVwIHRvd2FyZHMgYnVnICM2MTU2OTYgZml4aW5nLgoKMjAxMC0wNC0yMyAxNzoxOTo1MCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkgIFs0MTkvOTA2XSBibHVyOiByZW1vdmUgaG9yaXpvbnRhbCBmbGlwCgkgIEFwcGFyZW50bHkgdGhlcmUgd2FzIHNvbWUgc3RhbGUgaG9yaXpvbnRhbCBmbGlwIGZ1bmN0aW9uIHN0aWxsIHRoZXJlCgkgIGZyb20gbXkgc3VtbWVyIG9mIGNvZGUgZXhwZXJpbWVudHMuIFJlbW92ZSBpdC4KCjIwMTAtMDQtMjMgMTc6MTQ6NTkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbNDE4LzkwNl0gZWZmZWN0czogZGlzYWJsZSBnc3QtaW5kZW50IGluIHRoZSBzb3VyY2VzCgkgIEZpeCBzb21lIGNyYXp5IGZvcm1hdHRpbmcgY2F1c2VkIGJ5IGdzdC1pbmRlbnQgcHJldmlvdXMgcnVucyBhbmQgZGlzYWJsZQoJICB0aGUgc2NyaXB0IGZvciB0aGlzIGZpbGUuIFRoZSBiZXN0IHdvdWxkIGJlIHRvIG1vdmUgc2hhZGVycyBpbnRvCgkgIHNlcGFyYXRlIGZpbGVzIGFuZCBsb2FkIHRoZW0gYXQgcnVudGltZSBvciBoYXJkY29kZSB0aGVtIGF0IGNvbXBpbGUKCSAgdGltZS4KCjIwMTAtMDMtMzEgMTI6NDA6MTIgKzAyMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkgIFs0MTcvOTA2XSBnbGJ1bXBlcjogVXNlIHBuZ19zaWdfY21wKCkgaW5zdGVhZCBvZiBwbmdfY2hlY2tfc2lnKCkKCSAgRml4ZXMgYnVnICM2MTMxODYKCjIwMTAtMDMtMjQgMTE6MTA6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs0MTYvOTA2XSBnbDogdXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSgpCgkgIEZpeGVzICM2MTMzNzEuCgoyMDEwLTAzLTA5IDAxOjM1OjQyICswMTAwICBOaWNob2xhcyBQYW5heWlzIDxuaWNrQG1vdmVuY3kuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIFs0MTUvOTA2XSBnc3RnbHdpbmRvd193aW4zMjogc2hhcmUgb3BlbmdsIGNvbnRleHQgaW4gY29ycmVjdCBvcmRlcgoJICBBbGxvdyB0byB1c2UgdGhlIG9wZW5nbCBjb250ZXh0IHNoYXJpbmcgZmVhdHVyZSBpZiB0aGUgb3JpZ2luYWwKCSAgY29udGV4dCBoYXMgYmVlbiB1c2VkIGFscmVhZHkuCgkgIFRoaXMgaXMgb25seSBwb3NzaWJsZSBvbiB3aW4zMiB3aXRoIHdnbFNoYXJlTGlzdHMgYmVjYXVzZSBvbiBvdGhlcgoJICBiYWNrZW5kcywgdGhlIHNoYXJpbmcgaXMgbWFkZSB3aGVuIGEgY29udGV4dCBpcyBjcmVhdGVkLgoJICBUaGlzIG5ldyBmZWF0dXJlIGlzIG9ubHkgdXNlZnVsbCB3aGVuIHVzaW5nIGV4dGVybmFsIGNvbnRleHQKCSAgYmVjYXVzZSBnc3QtZ2wgaW50ZXJuYWxseSBtYWtlcyBzdXJlIHRoYXQgdGhlIG9yZ2luYWwgY29udGV4dCBpcyBub3QKCSAgYWxyZWFkeSB1c2VkIHdoZW4gc2hhcmluZyBpdC4KCSAgRml4IGJ1ZyAjNjExMDY3CgoyMDEwLTAzLTA5IDAxOjI0OjA2ICswMTAwICBEYXZpZCBIb3l0IDxkaG95dEBsbG5sLmdvdj4KCgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBbNDE0LzkwNl0gZ2xidW1wZXIvZ2xkaWZmZXJlbmNlbWF0dGUvZ2xvdmVybGF5OiBsaWJwbmcgMS40LnggY29tcGF0aWJsZQoJICBGaXggYnVnICM2MDg2NDMKCjIwMTAtMDEtMTIgMTg6MzI6MzkgKzAzMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIFs0MTMvOTA2XSBGaXggV2luZG93cyBjb21waWxlciB3YXJuaW5nIGluIHRlc3QvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmMKCjIwMTAtMDEtMDYgMDA6MTM6NDYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL0dOVW1ha2VmaWxlLmdudXN0ZXA6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbkNFLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMUVTMi5jOgoJKiBnc3QvZ2wvR05VbWFrZWZpbGUuZ251c3RlcDoKCSogZ3N0L2dsL2VmZmVjdHMvR05VbWFrZWZpbGUuZ251c3RlcDoKCSAgWzQxMi85MDZdIENvY29hIGJhY2tlbmQ6IGltcHJvdmUgc3VwcG9ydCBvbiBHTlVTdGVwCgoyMDA5LTEyLTE4IDAwOjM0OjEzICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFs0MTEvOTA2XSBnc3RnbG1peGVyOiBjb3B5L3Bhc3QgcmVjZW50IGNoYW5nZXMgZnJvbSBnc3R2aWRlb21peGVyCgoyMDA5LTEyLTE2IDAxOjMzOjM5ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFs0MTAvOTA2XSBnc3RnbG1peGVyOiBpbmFjdGl2YXRlIHNoYXJlZCBnbCBjb250ZXh0IGJlZm9yZSB0byByZWxlYXNlIG91cnMKCSAgRmlyc3QsIGluYWN0aXZhdGUgc2hhcmVkIGdsIGNvbnRleHRzIGtub3duIGJ5IGVhY2ggc2luayBwYWQuCgkgIFRoZW4sIGRlc3Ryb3kgdGhlIGdsIGNvbnRleHQga25vd24gYnkgdGhlIGdsbWl4ZXIuCgkgIEZpbmFsbHksIHJlLWFjdGl2YXRlIHNoYXJlZCBnbCBjb250ZXh0cy4KCSAgVGhpcyBpcyB0byBzYXRpc2Z5IHRoZSBmYWN0IHRoYXQgbm8gc2hhcmVkIGdsIGNvbnRleHQgbXVzdCBiZSBjdXJyZW50CgkgIHdoZW4gYW4gb3BlbmdsIGNvbnRleHQgaXMgZGVzdHJveWVkLgoJICBNb3Jlb3ZlciB0aGUgYXBwbGljYXRpb24gbWF5IGhhbmcgb3IgY3Jhc2ggd2l0aG91dCB0aG9zZSBzdGVwcy4KCjIwMDktMTEtMjUgMTA6MjQ6MzcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBbNDA5LzkwNl0gZ2xlZmZlY3RzOiBpbmRlbnQgYW5kIGZpeCBzb21lIHdhcm5pbmdzIGluIEVTIDIuMCBtb2RlCgoyMDA5LTExLTIxIDIxOjQwOjE0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFs0MDgvOTA2XSBnbGVmZmVjdHM6IHN0YXJ0IHRvIG1ha2UgaXQgY29tcGF0aWJsZSB3aXRoIE9wZW5HTCBFUyAyLjAKCSAgRm9yIG5vdyBvbmx5IGlkZW50aXR5LCBtaXJyb3IgYW5kIHNxdWVlemUgZWZmZWN0cyBhcmUgYXZhaWxhYmxlLgoJICBNYXliZSBzb21lIGZhY3Rvcml6YXRpb24gaXMgbmVlZGVkIGFib3V0IGNvbXBpbGF0aW9uIHNoYWRlcgoJICBiZWZvcmUgdG8gcHV0IHRoZSBvdGhlciBlZmZlY3RzIHNpbmNlIG9ubHkgYSBjb3B5L3Bhc3QgaXMgbmVlZGVkLAoJICBhdCBsZWFzdCB1bnRpbCBlZmZlY3QgbnVtYmVyIDk6IGhlYXQuCgkgIFRoZSBlZmZlY3RzIGZyb20gMTA6c2VwaWEgdG8gMTU6Z2xvdyByZXF1aXJlIG1vcmUgd29yay4KCjIwMDktMTEtMjEgMTM6MzI6NTkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbkNFLmM6CgkgIFs0MDcvOTA2XSB3aW5DRSBiYWNrZW5kOiBmaXggYnVpbGQKCjIwMDktMTEtMjEgMTM6MjE6NTQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBbNDA2LzkwNl0gZ2xpbWFnZXNpbms6IGFkZCBhIGNsaWVudC1kYXRhIHByb3BlcnR5CgkgIEFsc28gYWRkIGl0IHRvIGdsZmlsdGVyYXBwLgoJICBGaXhlcyAjNTU5MTMxCgoyMDA5LTExLTE3IDIzOjQ3OjI0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2RsL3NkbHNoYXJlLmM6CgkgIFs0MDUvOTA2XSBnbGZpbHRlcjogYWRkIGV4dGVybmFsLW9wZW5nbC1jb250ZXh0IHByb3BlcnR5CgkgIEl0IHJlcGFpcnMgdGhlIGNsdXR0ZXJzaGFyZSBhbmQgc2Rsc2hhcmUgZXhhbXBsZQoKMjAwOS0xMS0xNyAyMjo1NDozOSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzQwNC85MDZdIGdsdXBsb2FkOiByZXBhaXIgZXh0ZXJuYWxfb3BlbmdsX2NvbnRleHQgcHJvcGVydHkKCSAgcWdsd3RleHR1cmVzaGFyZSBub3cgd29ya3MgYWdhaW4uIEluIHRoaXMgZXhhbXBsZSwKCSAgdGhlIHBpcGVsaW5lIGlzIHNyYyAhIGdsdXBsb2FkICEgZmFrZXNpbmsuCgkgIFNvIGluIHRoaXMgY2FzZSB0aGUgZ2x1cGxvYWQgZWxlbWVudCBpcyBhIHNpbmsgaW4KCSAgdGVybXMgb2YgZ2wgY2hhaW4uCgkgIEJ1dCB0aGUgcHJvYmxlbSBpcyBzdGlsbCB0aGVyZSBpZiB0aGUgcGlwZWxpbmUgaXMKCSAgc3JjICEgZ2x1cGxvYWQgISBnbGZpbHRlciAhIGZha2VzaW5rCgkgIChpdCdzIHRoZSBjYXNlIGluIHNkbHNoYXJlIGFuZCBjbHV0dGVyc2hhcmUgZXhhbXBsZXMpCgkgIGJlY2F1c2Ugc2luY2UgcmVjZW50IGNoYW5nZXMgYWJvdXQgaG93IHRoZSBnc3RnbGRpc3BsYXkKCSAgaXMgdHJhbnNtaXR0ZWQgdG8gdGhlIGdsIGVsZW1lbnQsIHRoZSBjb250ZXh0IGlzIHVzdWFsbHkKCSAgY3JlYXRlZCBieSB0aGUgc2luayBpbiB0ZXJtcyBvZiBnbCBjaGFpbi4KCSAgQSBzb2x1dGlvbiB3b3VsZCBiZSB0byBhbHNvIGluc3RhbGwgdGhpcyBwcm9wZXJ0eSBvbiBnbGZpbHRlci4KCjIwMDktMTEtMTcgMDI6MTY6MDEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFs0MDMvOTA2XSBnc3RnbG1peGVyOiBJbml0aWFsaXNlIHRoZSBkZWJ1ZyBjYXRlZ29yeQoJICBJbml0aWFsaXNlIHRoZSBnc3RnbG1peGVyIGRlYnVnIGNhdGVnb3J5IGJlZm9yZSB1c2luZyBpdC4KCjIwMDktMTEtMTcgMDE6MDg6MDkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBbNDAyLzkwNl0gZ2xvdmVybGF5OiBmaXggc29tZSB3YXJuaW5ncwoKMjAwOS0xMS0xNiAxNDozMjoxNiArMDEwMCAgQW50aG9ueSBWaW9sbyA8YW50aG9ueS52aW9sb0B1YmljYXN0LmV1PgoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5Lmg6CgkgIFs0MDEvOTA2XSBnbG92ZXJsYXk6IEFkZGVkIHJvdGF0ZSB0ZXh0dXJlCgkgIGZpeCAjNjAxMjc3CgoyMDA5LTExLTA1IDE0OjUzOjM1ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzQwMC85MDZdIGdzdGdsZGlzcGxheTogbm8gbmVlZCB0aGUgSTQyMCB3b3JrIGFyb3VuZCBpZiBBVEkgTW9iaWxpdHkKCSAgZml4ICM1ODg2NTMKCjIwMDktMTEtMDQgMjM6NDQ6NDYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgWzM5OS85MDZdIGdsbWl4ZXI6IGZpeCB3aGVuIG5vIG1vcmUgZ2wgZWxlbWVudHMgYWZ0ZXIgaXQKCSAgRm9yIGV4YW1wbGU6CgkgIHZpZGVvdGVzdHNyYyAhIGdsdXBsb2FkICEgLi4uICEgZ2xmaXRlciAhIC4uLiAhIGdsbW9zYWljICEgZmFrZXNpbmsKCSAgVXNlZnVsbCB3aGVuIHVzaW5nIGdsbWl4ZXIgaW5zaWRlIGNsdXR0ZXJzaGFyZSBvciBzZGxzaGFyZSBjYXNlcy4KCjIwMDktMTEtMDQgMjM6MTI6NDIgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgWzM5OC85MDZdIGdsZG93bmxvYWQ6IGRvIG5vdCBmb3Jnb3QgdG8gY3JlYXRlIHRoZSBnbCBjb250ZXh0CgkgIGZpeCAjNjAwNjMwCgoyMDA5LTExLTA0IDIzOjExOjU0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJICBbMzk3LzkwNl0gZ2xtb3NhaWM6IGZpeCBhIGNvbXBhcmlzb24gd2FybmluZwoKMjAwOS0xMS0wNCAyMzoxMDoxNiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSAgWzM5Ni85MDZdIGdsZGlmZmVyZW5jZW1hdHRlOiBmaXggc29tZSB3YXJuaW5ncyBmcm9tIHZjOQoKMjAwOS0xMC0yOCAxMDo0MTo1MyArMDEwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuaDoKCSAgWzM5NS85MDZdIGRpZmZlcmVuY2VtYXR0ZTogZml4IHJlZ3Jlc3Npb25zIGZyb20gZ2RrcGl4YnVmIHRvIGxpYnBuZyBtaWdyYXRpb24KCSAgVGhlIGJhY2tncm91bmQgaW1hZ2UgbmVlZHMgdG8gYmUgc2NhbGVkIHRvIGZpdCBjdXJyZW50IHRleHR1cmUgc2l6ZS4KCSAgUHJldmlvdXNseSB0aGlzIHdhcyBkb25lIGJ5IGdka19waXhidWZfc2NhbGVfc2ltcGxlIGJ1dCB0aGF0J3MgYmVlbgoJICByZW1vdmVkLgoJICBDcmVhdGUgYSB0ZXh0dXJlIGZyb20gdGhlIGJhY2tncm91bmQgcGl4YnVmIHdpdGggY29ycmVjdCBkaW1lbnNpb25zIGFuZAoJICB1c2UgaW50ZXJwb2xhdGlvbiBzaGFkZXIgdG8gc2NhbGUgaXQgdG8gdGhlIHJpZ2h0IHNpemUuIEludGVycG9sYXRpb24KCSAgZnJhZ21lbnQgc2hhZGVyIGRvZXNuJ3QgaGF2ZSB0b28gbXVjaCBzZW5zZSBpZiBhbGwgdGhlIHRleHR1cmVzIGRvbid0CgkgIGhhdmUgdGhlIHNhbWUgc2l6ZSBzbyB0aGlzIHNlZW1lZCB0aGUgbW9zdCBuYXR1cmFsIHBsYWNlIHRvIGRvIHRoZQoJICBzY2FsaW5nLiBJdCBjb3VsZCBwcm9iYWJseSBiZSBkb25lIHdpdGggc29tZSBjdXN0b20gdGV4dHVyZSBtYXBwaW5nCgkgIG91dHNpZGUgdGhlIHNoYWRlciBidXQgaXQgaW52b2x2ZWQgbW9yZSBjb2RlLgoJICBGaXhlcyBidWcgIzU5OTg4My4KCjIwMDktMTAtMjcgMTc6MDI6MjMgKzAxMDAgIFByYXRoZWVzaCBHYW5nYWRoYXIgPHByYXRoZWVzaC5nYW5nYWRoYXJAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMzk0LzkwNl0gZ3N0Z2xkaXNwbGF5OiB1c2Ugb2YgR0xfREVQVEhfQ09NUE9ORU5UMTYgaWYgT3BlbkdMIEVTIDIuMAoJICBnbFJlbmRlcmJ1ZmZlclN0b3JhZ2UgZG9lcyBub3QgYWNjZXB0IEdMX0RFUFRIX0NPTVBPTkVOVCBpbgoJICBPcGVuR0wgRVMgMi4wLgoJICBGaXggYnVnICM1OTM3ODYKCjIwMDktMTAtMjcgMTU6Mjc6MTQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5oOgoJICBbMzkzLzkwNl0gZ2xtb3NhaWM6IGZvciBub3cgaXQncyBhIGN1YmUgbW9zYWljCgkgIEFsc28gdXNlIEdQdHJBcnJheSBpbnN0ZWFkIG9mIEdBcnJheSBpbiBnbG1peGVyLgoJICBBbmQgYWRkIGEgcGlwZWxpbmUgdG8gdGVzdHMvcGllcGxpbmVzCgoyMDA5LTEwLTI3IDExOjE0OjM4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJICBbMzkyLzkwNl0gZ2xtb3NhaWM6IGRlc2FjdGl2YXRlIHNoYWRlciB3aGVuIGRvbmUKCjIwMDktMTAtMjYgMTE6NDQ6MzUgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFszOTEvOTA2XSBDb2NvYTogZml4IGJhY2tlbmQgc2luY2UgcmVjZW50IGNoYW5nZXMKCSAgQmVmb3JlLCB0aGUgd2luZG93IHNpemUgd2FzIGdpdmVuIGF0IGl0cyBjcmVhdGlvbi4gTm93LCBpdCdzIGRvbmUgYXQKCSAgdGhlIGRyYXdpbmcgc3RlcCBiZWNhdXNlIGl0J3Mgb25seSByZWxldmFudCB3aGVuIHRoZXJlIGlzIGEgZ2xpbWFnZXNpbmsKCSAgZWxlbWVudCBpbiB0aGUgcGlwZWxpbmUuCgoyMDA5LTEwLTIzIDIwOjUzOjMyICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgWzM5MC85MDZdIHJlbW92ZSB3YXJuaW5ncyBmcm9tIHZzOQoKMjAwOS0xMC0yMyAyMDo1MjozMiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgWzM4OS85MDZdIGZpeCBjb2RlYmxvY2tzIGJ1aWxkIG9uIHdpbjMyCgoyMDA5LTEwLTIzIDEwOjUyOjM5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbkNFLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMUVTMi5jOgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkgIFszODgvOTA2XSBqdXN0IGZpeCBidWlsZHMgYW5kIGluZGVudAoKMjAwOS0xMC0yMyAwMToxMToyNyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlcnBhZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbkNFLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5oOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFszODcvOTA2XSBnbG1peGVyOiBhZGQgYSBnbG1peGVyIGJhc2UgZWxlbWVudAoJICBnbG1peGVyIGNhbiBiZSBzZWVuIGFzIGEgZ2xmaWx0ZXIgZXhjZXB0IGl0IGhhbmRsZXMgTiByZXF1ZXN0ZWQKCSAgc2luayBwYWRzLgoJICBFYWNoIHNpbmsgcGFkIGFuZCB0aGUgc3JjIHBhZCBhcmUgdmlkZW8veC1yYXctZ2wuCgkgIGdsbWl4ZXIgaXMgcmVzcG9uc2libGUgZm9yIG1hbmFnaW5nIGRpZmZlcmVudCBmcmFtZXJhdGVzIGZyb20gaW5wdXRzLgoJICBJdCB1c2VzIE9wZW5HTCBjb250ZXh0IHNoYXJpbmcuIEl0IG1lYW5zIHRoYXQgZWFjaCBpbnB1dCBpcyBpbiBpdHMKCSAgb3duIE9wZW5HTCBjb250ZXh0IHNoYXJlZCB0b2dldGhlciBhbmQgc2hhcmVkIHdpdGggdGhlIE9wZW5HTCBjb250ZXh0CgkgIG9mIHRoZSBvdXB1dCBnbCBjaGFpbi4KCSAgQWxzbyBhZGQgYSBnbG1vc2FpYyB3aGljaCBpcyBhbiBleGFtcGxlIG9mIGltcGxlbWVudGF0aW9uIG9mIGdsbWl4ZXIuCgkgIEZvciBub3cgZ2xtb3NhaWMgaXMgYSBjdWJlIGJ1dCBpdCB3aWxsIGJlIGZpeGVkIGluIHRoZSBuZXh0IGNvbW1pdHMuCgkgIEZvciBub3cgdGhlIGdsbWl4ZXIgaGFzIHNvbWUgd2VpcmQgYmVoYXZpb3VycyBpbiBzb21lIGNvbmZpZ3VyYXRpb25zCgkgIGJ1dCBpdCB3aWxsIGJlIGltcHJvdmVkIGluIHRoZSBuZXh0IGNvbW1pdHMuCgkgIFRoZSBhdXRvdG9vbHMgYnVpbGRzIGlzIHRlbXBvcmFybHkgYnJva2VuIHNpbmNlIHRob3NlIGNoYW5nZXMKCSAgaGF2ZSBiZWVuIG1hZGUgb24gd2luMzIuCgoyMDA5LTEwLTIzIDAxOjA3OjI5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbMzg2LzkwNl0gcGl4YnVmZHJvcDogZml4IGV4YW1wbGUgb24gd2luMzIKCjIwMDktMTAtMDQgMDI6MjM6NDUgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMzg1LzkwNl0gcmV3cml0ZSB0aGUgd2F5IGEgZ3N0Z2xkaXNwbGF5IGlzIHRyYW5zbWl0ZWQgdG8gdGhlIGdsIGVsZW1lbnRzCgkgIEJlZm9yZSwgYSBnc3RnbGRpc3BsYXkgd2FzIGluc3RhbmNpZWQgYnkgdGhlIGdsIHNyYyBpbiB0ZXJtcyBvZiBnbCBjaGFpbi4KCSAgQW5kIHRoZW4gdGhlIG5leHQgZWxlbWVudCBnb3QgaXQgdGhyb3VnaCB0aGUgZmlyc3QgZ3N0Z2xidWZmZXIuCgkgIE5vdywgdGhpcyBpcyBkb25lIHRob3VnaCBxdWVyaWVzLgoJICBBbGwgZ2xlbGVtZW50cyBnZXQgdGhlaXIgcmVmIG9uIGEgZ3N0Z2xkaXNwbGF5IGluIFJFQURZIHN0YXRlLgoJICBUaGlzIHJld3JpdGUgaXMgbWFpbmx5IGEgZmlyc3Qgc3RlcCB0byBiZSBhYmxlIHRvIHNoYXJlIE9wZW5HTCBjb250ZXh0IGhvbGQKCSAgYnkgdGhlIGdzdGdsZGlzcGxheSB1c2luZyBtb3JlIGNvbXBsZXggZ2xlbGVtZW50cy4KCSAgRm9yIGV4YW1wbGUsIHdpdGggYSBnbHZpZGVvbWl4ZXIuIFRoZSBhc3NvY2lhdGVkIGdzdGdsZGlzcGxheSBvZiBlYWNoIGdsIGNoYWluCgkgIG9mIHRoZSBzaW5rIHBhZHMgd2lsbCBzaGFyZSB0aGVpciBPcGVuR0wgY29udGV4dC4KCjIwMDktMTAtMTYgMTg6MDg6MTEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzM4NC85MDZdIGJ1aWxkOiB1c2UgPHN0ZGlvLmg+IC8gInN0ZGlvLmgiCgoyMDA5LTEwLTE2IDE3OjI5OjA4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFszODMvOTA2XSBidWlsZDogaW5jbHVkZSA8c3RkaW8uaD4gd2hlbiB1c2luZyBwcmludGYgJiBjby4KCjIwMDktMTAtMTUgMTU6NDA6MTEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlczIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJICBbMzgyLzkwNl0gRVMyLjA6IHJlbW92ZSB3YXJuaW5ncwoJICBQYXJ0aWFsbHkgZml4ICM1OTM3ODYKCjIwMDktMTAtMTUgMTQ6NTk6MDggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExRVMyLmM6CgkgIFszODEvOTA2XSBFR0wgYW5kIEdMWDo6IHNldCBhIG1pbmltdW0gZGVwdGggc2l6ZQoKMjAwOS0wOS0yMSAxNTowMDowMiArMDIwMCAgQW50aG9ueSBWaW9sbyA8YW50aG9ueS52aW9sb0B1YmljYXN0LmV1PgoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5Lmg6CgkgIFszODAvOTA2XSBnbG92ZXJsYXk6IGNhbiBwdXQgdmlkZW8gb3ZlciBwbmcgaW1hZ2VzCgkgIEZpeCBidWcgIzU5NTMwMwoKMjAwOS0wOS0yMSAxMDo1MTo0NyArMDIwMCAgQW50aG9ueSBWaW9sbyA8YW50aG9ueS52aW9sb0B1YmljYXN0LmV1PgoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBbMzc5LzkwNl0gZ2xvdmVybGF5OiBhZGQgc3VwcG9ydCB0byB1c2UgUkdCIHBuZyBpbWFnZXMKCSAgUHJldmlvdXNseSByZXN0cmljdGVkIHRvIFJHQkEsIG5vdyBnbG92ZXJsYXkgY2FuIGFsc28gaGFuZGxlIGEgUkdCIGltYWdlLgoKMjAwOS0wOS0xOSAxNDozMToyOCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgWzM3OC85MDZdIGdsZGlzcGxheTogYXZvaWQgdG8gcmVxdWVzdCBnbCB0aHJlYWQgd2hlbiBkZWxldGluZyBhIHRleHR1cmUKCSAgQSB0ZXh0dXJlIGlzIG5vdCBkZXN0cm95ZWQgd2hlbiB3aGVuIHdlIGFyZSBkb25lIHdpdGggaXQuCgkgIFRoaXMgdGV4dHVyZSBpcyBqdXN0IGFkZGVkIHRvIHRoZSB0ZXh0dXJlIHBvb2wgaW4gb3JkZXIgdG8gYmUKCSAgcmUtdXNlZC4gSW4gdGhpcyBjYXNlIG5vIE9wZW5HTCBjb2RlIGlzIGV4ZWN1dGVkIHNvIHdlIGRvIG5vdCBuZWVkIHRvCgkgIHJlcXVlc3QgZ2wgdGhyZWFkLgoKMjAwOS0wOS0xOSAxNDoxNjoyNSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFszNzcvOTA2XSBnbGRpc3BsYXk6IGF2b2lkIHRvIHJlcXVlc3QgZ2wgdGhyZWFkIHdoZW4gZ2VuZXJhdGluZyBhIHRleHR1cmUKCSAgVGhhbmtzIHRvIHRoZSB0ZXh0dXJlIHBvb2wgdGhlIGdsIHRleHR1cmVzIGFyZSByZS11c2VkLgoJICBXaGVuIHJlLXVzaW5nIG9uZSwgbm8gb3BlbmdsIGNvZGUgaXMgZXhlY3V0ZWQgc28gZG8gbm90IG5lZWQKCSAgdG8gcmVxdWVzdCBnbCB0aHJlYWQuCgoyMDA5LTA5LTAxIDE1OjIxOjM5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzM3Ni85MDZdIGJ1aWxkOiBzdXBwb3J0IG9wZW5HTEVTIG9uIGxpbnV4IHZpYSBhdXRvZm9vLiBQYXJ0aWFseSBmaXhlcyAjNTkzNzg2CgkgIEFkZCBhIHBrZy1jb25maWcgY2hlY2sgZm9yIG9wZW5nbCBhbmQgaWYgbm90IGZvdW5kIGFzc3VtZSBvcGVuZ2wtZXMuIElmIHVzZXIgaGFzCgkgIG5vbmUgb2YgYm90aCBvbmUgc3RpbGwgZ2V0IGJ1aWxkIGVycm9yIGxhdGVyIG9uICh0aGVyZSBpcyBubyBwa2ctY29uZmlnIGZvcgoJICBvcGVuZ2wtZXMpLgoJICBBZGQgbW9yZSBmaWxlcyB0byBFWFRSQSBkaXN0IGFuZCBidWlsZCB0aGUgb3BlbmdsZXMgdmFyaWFudCBpZiBzZWxlY3RlZC4KCSAgU2ltbWlsYXIgY2hhbmdlcyBjb3VsZCBiZSBkb25lIGZvciB0aGUgd2luQ0UgYmFja2VuZC4KCjIwMDktMDktMDIgMTA6MDY6MzYgKzAyMDAgIEFudGhvbnkgVmlvbG8gPGFudGhvbnkudmlvbG9AdWJpY2FzdC5ldT4KCgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5oOgoJICBbMzc1LzkwNl0gZ2xvdmVybGF5OiBjYW4gY29udHJvbCBpbWFnZSBzaXplIGFuZCBwb3NpdGlvbgoJICBGaXggYnVnICM1OTE1OTEKCjIwMDktMDktMDEgMTk6NDY6MTAgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvc2RsL3NkbHNoYXJlLmM6CgkgIFszNzQvOTA2XSBzZGxzaGFyZSBleGFtcGxlOiBmaXggYnVpbGQgb24gd2luMzIKCjIwMDktMDgtMzEgMTc6MjY6MzQgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvc2RsL3NkbHNoYXJlLmM6CgkgIFszNzMvOTA2XSBzZGxzaGFyZSBleGFtcGxlOiByZXZpZXcgaW5jbHVkZXMgb3JkZXIgYW5kIGZpeCBjbG9zdXJlCgoyMDA5LTA4LTMxIDE3OjE4OjAxICswMjAwICBNaXF1ZWwgw4BuZ2VsIEZhcnLDqSA8bWlxdWVsLmZhcnJlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3NkbC9zZGxzaGFyZS5jOgoJICBbMzcyLzkwNl0gbWFrZSBzZGxzaGFyZSBleGFtcGxlIHdvcmsgb24gbGludXguIEZpeCBidWcgIzU5MzQ4NgoKMjAwOS0wOC0yNiAyMzo0MzozNyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9zZGwvc2Rsc2hhcmUuYzoKCSAgWzM3MS85MDZdIHRlc3RzOiBhZGQgc2Rsc2hhcmUgZXhhbXBsZQoJICBJdCBzaG93cyBob3cgdG8gdXNlIGdsIHRleHR1cmVzIHRoYXQgY29tZQoJICBmcm9tIGdzdCBnbCBlbGVtZW50cyBpbnNpZGUgYSBTREwgT3BlbkdMIHNjZW5lCgoyMDA5LTA4LTE3IDE1OjQ4OjA5ICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFszNzAvOTA2XSBBZGQgbWlzc2luZyBoZWFkZXIgZmlsZSB0byBNYWtlZmlsZS5hbSBhbmQgdXBkYXRlIHNwZWMgZmlsZSB0byBhY3R1YWxseSBiZSBmb3IgdGhpcyBwYWNrYWdlCgoyMDA5LTA4LTAzIDE3OjUyOjMxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzM2OS85MDZdIGRlZmluZSBtaXNzaW5nIGdsZXcgbWFjcm8gb24gb2xkZXIgdmVyc2lvbnMKCjIwMDktMDgtMDMgMTA6MTM6MDIgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFszNjgvOTA2XSBDb2NvYSBiYWNrZW5kOiBmaXggY3Jhc2ggd2hlbiByZXNpemluZwoJICBEZWZhdWx0IGltcGxlbWVudGF0aW9uIG9mIE5TT3BlbmdsVmlldzo6dXBkYXRlIGlzIG5vdCBzYWZlIGJlY2F1c2UgaXQKCSAganVzdCBjYWxscyB1cGRhdGUgb24gdGhlIG9wZW5nbCBjb250ZXh0IHdoZXJlYXMgd2UgYXJlIG5vdCBpbiB0aGUgZ2wgdGhyZWFkLgoJICBBbHNvIGZpeCB0aGUgd2hpdGUgZmxpY2tlcmluZyB3aGVuIHJlc2l6aW5nLCBiZWNhdXNlIG5vdyB3ZSBuZWVkIHRvIGNhbGwKCSAgdGhlIGRyYXcgY2FsbGJhY2sgbWFudWFsbHkgd2hlbiByZXNpemluZy4KCjIwMDktMDctMzEgMTg6MTc6NTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbMzY3LzkwNl0gZG9jczogZml4IEdzdFh2SW1hZ2VTSW5rIC0+IEdzdEdMSW1hZ2VTaW5rIGFuZCByZWluZGVudAoKMjAwOS0wNy0zMCAwMDozNjozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmg6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5oOgoJICBbMzY2LzkwNl0gZG9jczogbWFrZSByZW1haW5pbmcgZWxlbWVudHMgc2hvdyB1cCBpbiBkb2NzCgkgIFNwbGl0IG91dCBkZWNsYXJhdGlvbnMgaW50byBoZWFkZXIgZmlsZXMgYW5kIGhvb2sgZXZlcnl0aGluZyB1cCBzbwoJICB0aGF0IGZpdmUgbW9yZSBlbGVtZW50cyBzaG93IHVwIGluIHRoZSBwbHVnaW4gZG9jcy4gRml4ZXMgIzU1OTEzNS4KCjIwMDktMDctMjcgMDk6NTg6MjAgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFszNjUvOTA2XSBDb2NvYSBiYWNrZW5kOiBtYWtlIHN1cmUgdGhhdCBuc2FwcCBpcyBpbml0aWFsaXplZAoJICBnc3QtbGF1bmNoLTAuMTAgdmlkZW90ZXN0c3JjICEgdGVlIG5hbWU9dCAhIHF1ZXVlICEgZ2xpbWFnZXNpbmsgdC4gISBxdWV1ZSAhIGdsaW1hZ2VzaW5rCgkgIG5vdyB3b3JrcyBwcm9wZXJseSBvbiBNYWNPU1gKCjIwMDktMDctMjQgMTA6MzM6NDcgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkgIFszNjQvOTA2XSBtYWtlIHRoZSBjbWFrZSBidWlsZCB3b3JrIG9uIE1hY09TWAoJICBXZSBjYW4gbm93IGdlbmVyYXRlIGEgWGNvZGUgcHJvamVjdCAob3IgVW5peCBNYWtmaWxlcyksCgkgIHNlZSBJTlNUQUxMIGZpbGUKCjIwMDktMDctMjQgMTA6MTI6MDcgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFszNjMvOTA2XSBDb2NvYSBiYWNrZW5kOiBmaXggY3Jhc2ggd2hlbiBjbG9zaW5nCgkgIC0gQWxsIGdzdGdsd2luZG93IG1lbWJlcnMgYXJlIG5vdyBtb2RpZmllZCBvbmx5IGluIHRoZSBnbCB0aHJlYWQKCSAgdG8gYXZvaWQgdGhyZWFkIGNvbmN1cnJlbmN5CgkgIC0gT3BlbkdMIGNvbnRleHQgaXMgbm93IHByb3Blcmx5IGNsZWFuCgkgIC0gZml4IGEgY291cGxlIG9mIHRoaW5ncyBpbiBpbXBsZW1lbnRhdGlvbiBvZiB4b3ZlcmxheSBpbnRlcmZhY2UKCjIwMDktMDctMTcgMTY6NDc6NDEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFszNjIvOTA2XSBtYWtlIGNvY29hIGJhY2tlbmQgd29yayBvbiBNYWNPU1gKCSAgSXQgd29ya3Mgd2l0aCBib3RoIGdzdC1sYXVuY2ggYW5kIGEgY29jb2EgYXBwIChub24tZW1iZWRkZWQgYW5kIGVtYmVkZGVkKQoJICBCdXQgdGhlcmUgaXMgc3RpbGwgc29tZSBwcm9ibGVtczoKCSAgLSBzb21ldGltZXMgY3Jhc2ggd2hlbiBjbG9zaW5nCgkgIC0gZmxpY2tlcmluZyB3aGVuIHJlc2l6aW5nCgkgIC0gZW1iZWRkZWQgbW9kZSBub3QgcGVyZmVjdAoJICBJIHdpbGwgZmlyc3QgbWFrZSB0aGUgQ01ha2UgYnVpbGQgd29yayB3aXRoIGNvY29hIGJhY2tlbmQKCSAgaW4gb3JkZXIgdG8gZ2VuZXJhdGUgYSBYQ29kZSBwcm9qZWN0LgoJICBUaGVuIGl0IHNob3VsZCBiZSBlYXNpZXIgdG8gZml4IHRob3NlIGlzc3Vlcy4KCjIwMDktMDctMTQgMjA6MzY6MTMgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2dzdGd0ay5jOgoJICBbMzYxLzkwNl0gZ3N0Z3RrOiBhZGQgbWlzc2luZyBsaWNlbnNlIGFuZCBjb3B5cmlnaHQgaW5mb3JtYXRpb24KCjIwMDktMDctMTQgMjA6MjU6MjggKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIFszNjAvOTA2XSBleGFtcGxlczogYWRkIG1pc3NpbmcgY29weXJpZ2h0L2xpY2Vuc2UgdG8gbXkgZXhhbXBsZXMKCjIwMDktMDctMTMgMTY6MzI6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMzU5LzkwNl0gZ2w6IExpbmsgd2l0aCAtbG0gYW5kIGZpeCBpbmRlbnRpb24KCjIwMDktMDctMTMgMTI6NTM6MTcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzM1OC85MDZdIGdzdGdsZGlzcGxheTogQ2xvc2UgYSBzbWFsbCByYWNlIHN0YXJ0aW5nIHRoZSBkaXNwbGF5IHRocmVhZAoJICBUYWtlIHRoZSBkaXNwbGF5IGxvY2sgYmVmb3JlIHNpZ25hbGxpbmcgdGhlIGNyZWF0ZS1jb250ZXh0IGNvbmQKCSAgdG8gZW5zdXJlIHRoZSBjYWxsZXIgaGFzIGRyb3BwZWQgdGhlIGxvY2sgYW5kIGlzIHRoZXJlZm9yZSBsaXN0ZW5pbmcKCSAgZm9yIHRoZSBzaWduYWwuCgoyMDA5LTA3LTEzIDEyOjUyOjMxICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFszNTcvOTA2XSB4MTE6IERvbid0IGNyYXNoIHdoZW4gdGhlIFgxMSBkaXNwbGF5IGlzIG5vdCBhdmFpbGFibGUuCgkgIEVycm9yIG91dCBjbGVhbmx5IGluc3RlYWQgb2YgY3Jhc2hpbmcgd2hlbiB0aGUgWDExIGRpc3BsYXkgY2FuJ3QKCSAgYmUgY29udGFjdGVkLgoKMjAwOS0wNy0xMyAxMjowODoxMSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMzU2LzkwNl0gYnVpbGQ6IEZpeCB0eXBvOiBnc3RnbGJ1bWJlci5oIC0+IGdzdGdsYnVtcGVyLmgKCjIwMDktMDYtMjUgMjE6MzI6MzggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSAgWzM1NS85MDZdIHNhbWUgbW90aW9uIGNvbXBlbnNhdGlvbgoKMjAwOS0wNi0yNSAwMTozMDo0NCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMzU0LzkwNl0gZml4IGFuZCBhZGQgZ2xkZWludGVybGFjZSBmaWx0ZXIgdG8gdGhlIGJ1aWxkcwoKMjAwOS0wNi0yNCAxNzo1ODozNSArMDIwMCAganVsaWVuIDxqdWxpZW5AS0pJUy4obm9uZSk+CgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5oOgoJICBbMzUzLzkwNl0gYWRkIGEgZ2xkZWludGVybGFjZSBmaWx0ZXIKCSAgR3JlZWR5aCBvcGVyYXRpb24gaW1wbGVtZW50ZWQgdXNpbmcgT3BlbkdMIFNoYWRpbmcgTGFuZ3VhZ2UuCgkgIFdlIGNvdWxkIGFkZCBvdGhlciBvcGVyYXRpb25zIGxhdGVyLgoJICBEb2VzIHNvbWUgZ29vZCByZXN1bHRzIGJ1dCBzdGlsbCBub3QgYXMgZXhwZWN0ZWQuCgkgIFRoYXQncyB3aHkgSSBkbyBub3QgYWRkIGl0IHlldCB0byB0aGUgYnVpbGQuCgoyMDA5LTA2LTEyIDExOjMzOjAyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkgIFszNTIvOTA2XSBmaXggdHlwbwoJICBDaGFuZ2UgR1NUX0dMX0RJU1BMQVlfUFJPSkVDVElPTl9QRVJTUEVDSVZFIHRvCgkgIEdTVF9HTF9ESVNQTEFZX1BST0pFQ1RJT05fUEVSU1BFQ1RJVkUuCgkgIFJlLWluZGVudCBhIGNvdXBsZSBvZiBmaWxlcyB0aGF0IG5lZWRlZCBpdC4KCjIwMDktMDYtMDkgMjA6MzU6MjYgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFszNTEvOTA2XSBhbGxvdyB0byBzd2l0Y2ggeG92ZXJsYXkgd2hpbGUgYmVpbmcgaW4gcGF1c2VkIHN0YXRlCgoyMDA5LTA2LTA3IDIwOjE5OjAzICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMUVTMi5jOgoJICBbMzUwLzkwNl0gZml4IHdpbmRvdyBwb3NpdGlvbiB3aGVuIHVzaW5nIHhvdmVybGF5CgkgIHgsIHkgYXJlIHRoZSBjb29yZGluYXRlcyBvZiB0aGUgcG9zaXRpb24gaW5zaWRlCgkgIHRoZSBuZXcgcGFyZW50IHdpbmRvdy4KCSAgRml4ZXMgIzU4NDg3NwoKMjAwOS0wNi0wNiAxNDozNDo1NyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbkNFLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgWzM0OS85MDZdIGNhbiBzd2l0Y2ggeG92ZXJsYXlzIHdoaWxlIHBsYXlpbmcKCSAgRml4ZXMgYnVnICM1ODQ4NzcKCSAgQmVmb3JlIHRoaXMgY29tbWl0IGNhbGxpbmcgImdzdF94X292ZXJsYXlfc2V0X3h3aW5kb3dfaWQiIG1vcmUKCSAgdGhhbiBvbmUgdGltZSwgaGFkIG5vIGVmZmVjdC4KCSAgSXQgbWFpbmx5IGFmZmVjdHMgdGhlIGdsaW1hZ2VzaW5rIGltcGxlbWVudGF0aW9uLgoJICBCdXQgb24gd2luMzIgKGFuZCBDRSksIHNvbWUgc3R1ZmYgaGFzIHRvIGJlIGRvbmUgdG8KCSAgcmVsZWFzZSB0aGUgb2xkIHBhcmVudC4KCSAgQW5kIGFkZCBhIHN3aXRjaHhvdmVybGF5IGV4YW1wbGUgd2hlcmUgdGhlIHVzZXIKCSAgY2FuIGNsaWNrIG9uIGxlZnQvcmlnaHQgcGFydCBvZiB0aGUgbWFpbiB3aW5kb3cgdG8KCSAgc3dpdGNoIHRoZSB4b3ZlcmxheS4KCjIwMDktMDYtMDQgMDk6NTA6NTIgKzAyMDAgIExSTiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFszNDgvOTA2XSBBZGQgZ3N0dmlkZW8gdG8gZ2xpbWFnZXNpbmsgTElCQURELiBGaXhlcyBidWcgIzU4NDY4MAoKMjAwOS0wNi0wNCAwMDoyNzo0NCArMDIwMCAgTFJOIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBbMzQ3LzkwNl0gZml4IG1pc2Nhc3Qgb2YgYSBwb2ludGVyIGluIFNldFdpbmRvd0xvbmdQdHIKCSAgR0NDIDQuNC4wIGNvbXBsYWlucyBlcnJvcjogY2FzdCBmcm9tIHBvaW50ZXIgdG8gaW50ZWdlciBvZiBkaWZmZXJlbnQgc2l6ZQoJICBGaXhlcyAjNTg0Njc4LgoKMjAwOS0wNS0xMiAxMTo0MToxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFszNDYvOTA2XSBGaXggbGlua2luZyBieSBwcm92aWRpbmcgbGlidG9vbCB0aGUgY29ycmVjdCAtLXRhZyBwYXJhbWV0ZXIKCjIwMDktMDUtMTEgMTg6MDY6MTggKzAyMDAgIGp1bGllbiA8anVsaWVuQEtKSVMuKG5vbmUpPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgWzM0NS85MDZdIGNoYW5nZSByb3RhdGlvbiBjZW50ZXIgaW4gY2x1dHRlcnNoYXJlIGV4YW1wbGUKCjIwMDktMDUtMDkgMjE6MzA6MzAgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgWzM0NC85MDZdIFVzZSBhIG1vcmUgY29tcGxleCBnc3QgZ2wgcGlwZWxpbmUgaW4gdGhlIGNsdXR0ZXJzaGFyZSBleGFtcGxlCgoyMDA5LTA1LTA5IDIxOjI2OjQyICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFszNDMvOTA2XSBBZGQgYSBzaWduYWwgd2F0Y2ggYnVzIGNhbGxiYWNrIHRvIGNoZWNrIGdzdCBtZXNzYWdlcwoKMjAwOS0wNS0wOSAyMDo1MTozNiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBbMzQyLzkwNl0gRml4IHRleHR1cmUgYWN0b3IgdXBkYXRlIGR1ZSB0byBhIHRvbyBzdHJvbmcgdGhyZWFkIGxvY2tpbmcuCgkgIE9uIGxpbnV4LCB0aGUgR1NvdXJjZSBmdW5jIGF0dGFjaGVkIHRvIHRoZSBjbHV0dGVyX3RocmVhZHNfYWRkX2lkbGUKCSAgd2FzIG5vdCBnZXR0aW5nIHRoZSBjcHUgcmVzc291cmNlIHBlcmlvZGljYWxseS4KCSAgQmVjYXVzZSB0aGUgdXNlIG9mIGNsdXR0ZXJfdGhyZWFkc19lbnRlci9sZWF2ZSBpbnNpZGUgdGhlIGZha2VzaW5rCgkgIGNhbGxiYWNrIHNlZW1zIHRvIGJlIHRvbyBzdHJvbmcuCgkgIFNvIHJlbW92ZSB0aGUgdXNlIGlmIGNsdXR0ZXJfdGhyZWFkc19lbnRlci9sZWF2ZSBpbiB0aGUgZmFrZXNpbmsgY2FsbGJhY2suCgkgIFRoZW4gcmVwbGFjZSBHUXVldWUgYnkgR0FzeW5jUXVldWUgdG8ga2VlcCB0aHJlYWQgc2FmZSBhY2Nlc3MgdG8gdGhlCgkgIGNvbW11bmljYXRpb24gcXVldWVzIGJldHdlZW4gY2x1dHRlciBhbmQgZ3N0LWdsLgoJICBDYWxsIGNsdXR0ZXJfdGhyZWFkc19hZGRfaWRsZSB3aXRoIGhpZ2ggcHJpb3JpdHkuCgoyMDA5LTA1LTA5IDE1OjQ0OjA5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFszNDEvOTA2XSBQcm9wZXJseSBjbGVhbiB1cCBwZW5kaW5nIGdzdCBnbCBidWZmZXJzIGluIGNsdXR0ZXJzaGFyZSBleGFtcGxlCgoyMDA5LTA1LTA4IDIxOjQzOjU2ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFszNDAvOTA2XSBGaXggY2x1dHRlcnNoYXJlIGV4YW1wbGUuCgkgIEl0IHJlcXVpcmVzIGF0IGxlYXN0IGNsdXR0ZXIgMC44LjYgc2luY2UgbG93ZXIgY2x1dHRlciB2ZXJzaW9ucyBhcmUKCSAgbm90IGNvbXBhdGlibGUgd2l0aCBHTF9URVhUVVJFX1JFQ1RBTkdMRV9BUkIuCgkgIFJlbW92ZSB1c2Ugb2YgQ2x1dHRlckVmZmVjdFRlbXBsYWNlIHNpbmNlIGl0IGRvZXMgbm90IGV4aXN0IGluCgkgIGNsdXR0ZXIgMC45LgoKMjAwOS0wNS0wNCAxMToyNDozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBbMzM5LzkwNl0gQ2FzdCB0byBhIEdzdEJ1ZmZlciogYmVmb3JlIHBhc3NpbmcgdG8gZ3N0X2J1ZmZlcl91bnJlZiB0byBmaXggY29tcGlsZXIgd2FybmluZwoKMjAwOS0wNS0wMiAxNDoyNzoyMyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBbMzM4LzkwNl0gVXNlIEdRdWV1ZSBpbiB0aGUgY2x1dHRlcnNoYXJlIGV4YW1wbGUKCjIwMDktMDQtMzAgMjM6NDA6MzggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbkNFLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFszMzcvOTA2XSBJbXByb3ZlIGNsdXR0ZXJzaGFyZSBleGFtcGxlCgkgIFVzZSBjbHV0dGVyX3RocmVhZHNfQVBJLgoJICBXaGVuIGp1c3QgdXNpbmcgZ2x1cGxvYWQgZnJvbSByZ2IsIHdlIGhhdmUgdG8gYmUgc3VyZSB0aGF0CgkgIHRoZSB1cGxvYWQgdGV4dHVyZSBpcyBub3QgaW4gdXNlIGluIG91ciBnc3QgZ2wgY29udGV4dC4KCjIwMDktMDQtMjAgMTg6MTc6NTQgLTA0MDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExRVMyLmM6CgkgIFszMzYvOTA2XSBbeDExL3gxMUVTXSBmaXggc29tZSBwb2ludGVyIGNhc3Qgd2FybmluZ3MKCjIwMDktMDQtMjAgMjM6NTU6NTEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFszMzUvOTA2XSBbY29jb2FdIHVwZGF0ZSBzaW5jZSBpbnRlcmZhY2UgY2hhbmdlZAoKMjAwOS0wNC0yMCAyMzo0ODoxNSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBbMzM0LzkwNl0gW3dpbjMyL3dpbkNFXSBmaXggc29tZSBwb2ludGVyIGNhc3Qgd2FybmluZ3Mgd2l0aCBtaW5ndwoJICBBbmQgdHVybiBvZmYgZGVwcmVjYXRlZCBXcDY0IG1zdmMgY29tcGlsZXIgb3B0aW9uLgoKMjAwOS0wNC0yMCAwMDo1Mjo0MSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBbMzMzLzkwNl0gYWRkIGZvcmNlLWFzcGVjdC1yYXRpbyBzdXBwb3J0CgoyMDA5LTA0LTE4IDE2OjA4OjIzICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFszMzIvOTA2XSBqdXN0IGdzdC1pbmRlbnQgYW5kIEM5MCBvbiBjbHV0dGVyc2hhcmUgZXhhbXBsZQoKMjAwOS0wNC0xOCAwODo0MDo1MSAtMDQwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFFUzIuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFszMzEvOTA2XSBpbmRlbnQgYW5kIGZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDA5LTA0LTE4IDEzOjU3OjQ0ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExRVMyLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBbMzMwLzkwNl0gQ2FuIG5vdyBzaGFyZSB0ZXh0dXJlcyB3aXRoIGFuIGV4dGVybmFsIGdsIGNvbnRleHQKCSAgVGhlIGV4dGVybmFsIG9wZW5nbCBjb250ZXh0IG11c3QgYmUgc3BlY2lmeSB3aGVuIGNyZWF0aW5nCgkgIG91ciBPcGVuR0wgY29udGV4dCAoZ2x4KSBvciBqdXN0IGFmdGVyICh3Z2wpLgoJICBXaGVuIGNhbGxpbmcgZ2xYQ3JlYXRlQ29udGV4dCBvciB3Z2xTaGFyZUxpc3RzLCB0aGUKCSAgZXh0ZXJuYWwgb3BlbmdsIGNvbnRleHQgbXVzdCBub3QgYmUgY3VycmVudC4KCSAgVGhlbiBvdXIgZ2wgY29udGV4dCBjYW4gYmUgY3VycmVudCBpbiB0aGUgZ2wgdGhyZWFkIHdoaWxlCgkgIHRoZSBleHRlcm5hbCBnbCBjb250ZXh0IGlzIGN1cnJlbnQgaW4gYW4gb3RoZXIgdGhyZWFkLgoJICBTZWUgdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYwoKMjAwOS0wNC0xMiAyMjoyNDowNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAaHV0Y2gtMi5sb2NhbD4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBbMzI5LzkwNl0gQnVpbGQgZm9yIENvY29hIG9uIGRhcndpbiwgd2l0aCB2YXJpb3VzIGZpeGVzCgoyMDA5LTA0LTEyIDIwOjAzOjMwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BodXRjaC0yLmxvY2FsPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nc3RndGsuYzoKCSAgWzMyOC85MDZdIENvbnZlcnQgZ3RrIGV4YW1wbGVzIHRvIHVzZSBoZWxwZXIgbGlicmFyeQoJICBIZWxwZXIgbGliIGltcGxlbWVudHMgZ3N0LWd0ayBnbHVlIG9uIGFsbCBwbGF0Zm9ybXMKCjIwMDktMDQtMTAgMjA6NDI6NTkgKzAyMDAgIEp1bGllbiA8anVsaWVuQEp1bGllbi1LdWJ1bnR1Lihub25lKT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzMyNy85MDZdIGZpeCBpbml0IEZCTydzIHRleHR1cmUgYXR0YWNobWVudCBvbiBFUyAyLjAKCjIwMDktMDQtMTAgMjA6MzA6NDYgKzAyMDAgIEp1bGllbiA8anVsaWVuQEp1bGllbi1LdWJ1bnR1Lihub25lKT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW5DRS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExRVMyLmM6CgkgIFszMjYvOTA2XSBhZGQgWCBiYWNrZW5kIGZvciBPcGVuR0wgRVMgMi4wCgoyMDA5LTAzLTI5IDE1OjQwOjE2ICswMDAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkgIFszMjUvOTA2XSBSZXN0b3JlIGdsaW1hZ2VzaW5rIGluc3RlYWQgb2YgeGltYWdlc2luawoJICBQYXJ0aWFsbHkgcmV2ZXJ0IHByZXZpb3VzIGNvbW1pdC4gSXQncyBub3QgYW4gaXNzdWUgd2l0aCBnbGltYWdlc2luawoJICBYb3ZlcmxheSBpbnRlcmZhY2UuIEl0J3MgYWx3YXlzIHRoZSBzYW1lIGludGVsIGJ1ZyB3aXRoIGRpcmVjdAoJICByZW5kZXJpbmcgcmVkaXJlY3Rpb24gKHRoZSBvbmUgdGhhdCBhZmZlY3RzIGVhY2ggb3BlbmdsIGFwcGxpY2F0aW9uCgkgIHdpdGggY29tcG9zaXRpbmcgbWFuYWdlcnMpLiBJdCB3b3JrcyBmaW5lIHdpdGggRFJJMiBhbmQgVVhBCgkgIGFjY2VsZXJhdGlvbi4gU3RpbGwgbGVhdmluZyBlZmZlY3RzIGRpc2FibGVkIGJlY2F1c2UgSSdtIHRlc3RpbmcgaW50ZWwKCSAgaGFyZHdhcmUgdGhhdCBkb2Vzbid0IHN1cHBvcnQgRkJPcy4KCjIwMDktMDMtMjkgMDk6MDE6NTUgKzAwMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSAgWzMyNC85MDZdIFRlbXBvcmFyeSBkaXNhYmxlIGdsaW1hZ2VzaW5rIGluIGNsdXR0ZXJhY3RvcnRlZQoJICBHTGltYWdlc2luayBYT3ZlcmxheSBpbnRlcmZhY2UgZG9lc24ndCBzZWVtIHRvIHdvcmsgd2l0aCBjb21wb3NpdGUKCSAgcmVkaXJlY3Rpb24gb24gaW50ZWwgKGFuZCBJIGJlbGlldmUgYXRpIHRvbykuIFdpbmRvd3MgYXJlbid0CgkgIHJlZGlyZWN0ZWQgb2Zmc2NyZWVuIGF0IGFsbC4gIFRoaXMgY29tbWl0IGp1c3Qgc2hvd3MgdGhhdCB0aGUgZXhhbXBsZQoJICBjb3JyZWN0eSB3b3JrcyB3aXRoIHhpbWFnZXNpbmsuIFRoZSBtb3N0IGV2aWRlbnQgZGlmZmVyZW5jZSBJIHNlZSBpcwoJICB0aGF0IGdsaW1hZ2VzaW5rIHJlcGFyZW50cyB0aGUgeG92ZXJsYXkgd2luZG93IGludG8gaXRzIG93biB3aGlsZSBib3RoCgkgIHggYW5kIHh2aW1hZ2VzaW5rIGRlc3Ryb3kgdGhlaXIgd2luZG93IGFuZCByZW5kZXIgZGlyZWN0bHkgdG8gdGhlCgkgIHhvdmVybGF5IG9uZS4KCjIwMDktMDMtMjkgMDg6NTE6MTYgKzAwMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSAgWzMyMy85MDZdIFJlbW92ZSByZWR1bmRhbnQgWE1vdmVXaW5kb3cgY2FsbAoJICBSZXZlcnQgdGhlICJtb3ZlIHdpbmRvd3MiIHRoaW5nIGZyb20gY29tbWl0CgkgIDE3NWY3YTcwN2JjOTIyZjNmYWNjNjNlN2Q5YjZkMDFmOWJiNmIxYjAKCSAgV2luZG93cyBhcmUgb2Zmc2NyZWVuIHdobyBjYXJlcyBhYm91dCB0aGVpciBwb3NpdGlvbj8gSWYgeW91IHNlZSB0aGUKCSAgd2luZG93cyBzb21ldGhpbmcgaXMgZ29pbmcgd3Jvbmcgd2l0aCBjb21wb3NpdGUgcmVkaXJlY3Rpb24uCgoyMDA5LTAzLTE4IDIyOjQ2OjU2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzMyMi85MDZdIFtkb3dubG9hZCBZVVkyL1VZVlldIGZpeCBhIHJlZ3Jlc3Npb24KCSAgVGhlIGNhbGwgdG8gZ2xMb2FkSWRlbnRpdHkgd2FzIHJlbW92ZWQgYnkgbWlzdGFrZSBkdXJpbmcKCSAgT3BlbkdMIEVTIDIuMCBpbnRlZ3JhdGlvbi4KCjIwMDktMDMtMTUgMTQ6NDg6MTkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVzMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMzIxLzkwNl0gYWRkIE9wZW5HTCBFUyAyLnggc3VwcG9ydC4KCSAgSW4gT3BlbkdMIDIueCBmb3IgRW1iZWRkZWQgU3lzdGVtLCBhIGxvdCBvZiBiYXNpYyBzY2VuZS9kcmF3IGZ1bmN0aW9ucwoJICBoYXZlIGJlZW4gcmVtb3ZlZC4gSXQgbWVhbnMgdGhhdCBldmVyeXRoaW5nIGlzIG1hZGUgdXNpbmcgdmVydGV4IGFuZAoJICBmcmFnbWVudCBzaGFkZXJzLgoJICBJIGhhdmUgYWxzbyBhZGRlZCBhIGdzdGdsd2luZG93IGJhY2tlbmQgZm9yIHdpbkNFIHRoYXQgdXNlcyBFR0wKCSAgKE5hdGl2ZSBQbGF0Zm9ybSBHcmFwaGljcyBJbnRlcmNhY2UpICh3aGljaCBpcyBhIGZ1bGwgcGFydCBvZgoJICBPcGVuR0wgRVMgc3BlY2lmaWNhdGlvbikuIEl0IHJlbW92ZSB0aGUgdXNlIG9mIHdnbC9nbHggZnVuY3Rpb25zLgoKMjAwOS0wMy0wNyAwMzoxMzozOCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgWzMyMC85MDZdIGZpeCBwb3NpdGlvbiBhbmQgY29udGVudCByZWN0CgoyMDA5LTAzLTA2IDIyOjQzOjQxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBbMzE5LzkwNl0gW3dpbjMyIGJhY2tlbmRdIGZpeCB0cmFuc21pdGlvbiBtZXNzYWdlIHRvIHRoZSBwYXJlbnQuCgkgIFRoZSBRdCBtb3V2ZXhvdmVybGF5IGV4YW1wbGUgc2hvd3MgaG93IHRvIHJvdGF0ZSB0aGUgY3ViZQoJICBieSBtb3ZpbmcgKCtjbGljaykgdGhlIG1vdXZlIG92ZXIgYSBxd2lkZ2V0IHVzaW5nIHhvdmVybGF5CgkgIGludGVyZmFjZS4KCjIwMDktMDItMjYgMTc6NDU6MjEgLTA1MDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL0dOVW1ha2VmaWxlOgoJKiBnc3QtbGlicy9nc3QvZ2wvR05VbWFrZWZpbGUuZ251c3RlcDoKCSogZ3N0L2dsL0dOVW1ha2VmaWxlOgoJKiBnc3QvZ2wvR05VbWFrZWZpbGUuZ251c3RlcDoKCSogZ3N0L2dsL2VmZmVjdHMvR05VbWFrZWZpbGU6CgkqIGdzdC9nbC9lZmZlY3RzL0dOVW1ha2VmaWxlLmdudXN0ZXA6CgkgIFszMTgvOTA2XSByZW5hbWUgR05VbWFrZWZpbGUocykgdG8gR05VbWFrZWZpbGUocykuZ251c3RlcAoKMjAwOS0wMi0yNiAwMTowNjo1OCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvR05VbWFrZWZpbGU6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0L2dsL0dOVW1ha2VmaWxlOgoJICBbMzE3LzkwNl0gaW1wbGVtZW50IGdzdGdsd2luZG93IGZvciBDb2NvYSAoTWFjT1MgYW5kIEdOVXN0ZXApCgoyMDA5LTAyLTI1IDAwOjM5OjQ4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSAgWzMxNi85MDZdIHJlbW92ZSBzb21lIHVudXNlZCBIQVZFX0xJQlBORzogbGlicG5nIGlzIGEgcmVxdWlyZWQgcGFja2FnZQoKMjAwOS0wMi0yNSAwMDoxMjoxMiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvR05VbWFrZWZpbGU6CgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0L2dsL0dOVW1ha2VmaWxlOgoJKiBnc3QvZ2wvZWZmZWN0cy9HTlVtYWtlZmlsZToKCSAgWzMxNS85MDZdIGFkZCBHTlVzdGVwIGJ1aWxkCgoyMDA5LTAyLTIzIDExOjA3OjIyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZ2wtdW5pbnN0YWxsZWQucGMuaW46CgkgIFszMTQvOTA2XSBBZGQgc3JjZGlyIHRvIGluY2x1ZGVzIGZvciBvdXQtb2Ytc291cmNlIGJ1aWxkcwoJICBXaGVuIHlvdSB1c2UgZ3N0cmVhbWVyIHVuaW5zdGFsbGVkIGFuZCBidWlsZCBvdXRzaWRlCgkgIHRoZSBzb3VyY2UgdHJlZSwgdGhlIGluY2x1ZGVzIG5lZWQgdG8gYmUgc3BlY2lmaWVkIGZvcgoJICBib3RoIHRoZSBzb3VyY2UgdHJlZSBhbmQgdGhlIGJ1aWxkIHRyZWUuCgoyMDA5LTAyLTIzIDEzOjM5OjI5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkgIFszMTMvOTA2XSBpbmRlbnQ6IGRvbid0IHVzZSB0YWJzIGluc2lkZSBwcm9wZXJ0eSBkZXNjcmlwdGlvbnMKCjIwMDktMDItMjMgMTM6MzU6NDggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBbMzEyLzkwNl0gYnVpbGQ6IGluY2x1ZGUgc3RkbGliLmggd2hlbiB1c2luZyBmcmVlKCkuCgoyMDA5LTAyLTIyIDE5OjM2OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzMxMS85MDZdIENhc3QgR3N0QnVmZmVyIHN1YmNsYXNzZXMgdG8gR3N0QnVmZmVyICogYmVmb3JlIHBhc3NpbmcgdG8gZ3N0X2J1ZmZlcl91bnJlZigpCgoyMDA5LTAyLTEwIDIyOjM5OjE0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzMxMC85MDZdIEdsb2JhbCByZWluZGVudAoJICBJbmRlbnQgcGFyYW1ldGVyczoKCSAgSU5ERU5UX1BBUkFNRVRFUlM9Ii0tYnJhY2VzLW9uLWlmLWxpbmUgXAoJICAtLWNhc2UtYnJhY2UtaW5kZW50YXRpb24wIFwKCSAgLS1jYXNlLWluZGVudGF0aW9uMiBcCgkgIC0tYnJhY2VzLWFmdGVyLXN0cnVjdC1kZWNsLWxpbmUgXAoJICAtLWxpbmUtbGVuZ3RoODAgXAoJICAtLW5vLXRhYnMgXAoJICAtLWN1ZGRsZS1lbHNlIFwKCSAgLS1kb250LWxpbmUtdXAtcGFyZW50aGVzZXMgXAoJICAtLWhvbm91ci1uZXdsaW5lcyBcCgkgIC0tY29udGludWF0aW9uLWluZGVudGF0aW9uNCBcCgkgIC0tdGFiLXNpemU4IFwKCSAgLS1pbmRlbnQtbGV2ZWwyIgoKMjAwOS0wMi0wMyAxODo1ODowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFszMDkvOTA2XSBSZXBsYXk6IEZpeCBjYWxsYmFja3MgcGFzc2VkIG92ZXIgWEV2ZW50cyBvbiA2NCBiaXQgYXJjaGl0ZWN0dXJlcwoJICBBbHRob3VnaHQgdGhlIFhFdmVudCdzIHhjbGllbnQuZGF0YS5sIGFycmF5IGlzIGFuIGFycmF5IG9mCgkgIGxvbmdzIHRoZXkgd2lsbCBiZSBjb25zdHJhaW5lZCB0byAzMiBiaXQgYnkgdGhlIFgxMSBwcm90b2NvbC4KCSAgT24gNjQgYml0IGFyY2hpdGVjdHVyZXMgdXNlIHR3byBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gc3RvcmUKCSAgb25lIHBvaW50ZXIuCgkgIFRoaXMgZml4ZXMgc2VnZmF1bHRzIHRoYXQgaGFwcGVuIGF0IGxlYXN0IGZvciBldmVyeSBleGFtcGxlCgkgIG9uIHN0YXJ0dXAuCgoyMDA5LTAyLTA1IDEzOjEzOjUxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbHBpeGJ1Zm92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzMwOC85MDZdIFJlbmFtZSBnbHBpeGJ1Zm92ZXJsYXkgdG8gZ2xvdmVybGF5CgoyMDA5LTAyLTA0IDE2OjU3OjE0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdscGl4YnVmb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFszMDcvOTA2XSBSZW1vdmUgY29uZGl0aW9uYWxzIG9uIGdka3BpeGJ1ZgoKMjAwOS0wMi0wOCAwMTo1MDoxMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSAgWzMwNi85MDZdIGZpeCBDTWFrZSBidWlsZCBhbmQgZnJvemVuIENvZGVCbG9ja3MgYnVpbGQKCjIwMDktMDItMDcgMjE6MTk6MjQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJICBbMzA1LzkwNl0gQ01ha2UgYnVpbGQgbm93IGNoZWNrcyBmb3IgbGlicG5nCgoyMDA5LTAyLTA1IDE5OjU5OjI3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdscGl4YnVmb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFszMDQvOTA2XSBvbmx5IGxvYWQgUkdCQSBmaWxlcy5wbmcKCjIwMDktMDItMDQgMTY6MTg6MTUgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMzAzLzkwNl0gQWRkIGxpYnBuZyBkZXBlbmRlbmN5CgoyMDA5LTAxLTI2IDE2OjMwOjIyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xwaXhidWZvdmVybGF5LmM6CgkgIFszMDIvOTA2XSBGaXggc29tZSB3YXJuaW5ncwoKMjAwOS0wMS0yMyAwMjowNDoyMyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xwaXhidWZvdmVybGF5LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbMzAxLzkwNl0gZGVwZW5kcyBvbiBsaWJwbmcgaW5zdGVhZCBvZiBnZGtfcGl4YnVmCgoyMDA5LTAxLTIyIDAyOjE5OjMxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xwaXhidWZvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzMwMC85MDZdIHVzZSBsaWJwbmcgaW4gZ2xwaXhidWZvdmVybGF5IGZpbHRlci4KCjIwMDktMDEtMjIgMDE6MTY6MzggKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5oOgoJICBbMjk5LzkwNl0gdXNlIGxpYnBuZyB0byBsb2FkIHRoZSBub3JtYWwgbWFwIGluc3RlYWQgb2YgdXNpbmcgZ2RrcGl4YnVmCgoyMDA5LTAyLTEwIDIxOjU3OjMxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHBpeGJ1Zm92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzI5OC85MDZdIFJldmVydCAiRml4IGluZGVudGlvbiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA5NmU0YWIxOGMyY2Y5ODc2ZjZjMDMxYjlhYmE2MjgyZDBiZDQ1YTkzLgoJICBZb3Ugc2hvdWxkIGhhdmUgYXNrZWQgZmlyc3QuICBBbmQgeW91IHdvdWxkIGhhdmUgYmVlbiB0b2xkICJubyIsCgkgIGJlY2F1c2UgaXQgY2F1c2VzIHBlb3BsZSBvbiBkZXZlbG9wbWVudCBicmFuY2hlcyB0byBkbyBhIGh1Z2UKCSAgYW1vdW50IG9mIGV4dHJhIHdvcmsuCgoyMDA5LTAyLTEwIDIxOjU3OjA4IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI5Ny85MDZdIFJldmVydCAiRml4IGNhbGxiYWNrcyBwYXNzZWQgb3ZlciBYRXZlbnRzIG9uIDY0IGJpdCBhcmNoaXRlY3R1cmVzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDI4MDc3MWQwOWI1ODYxN2IyNzIwMTAyN2RlMGUxMTk0ZGEzNzZlNzIuCgoyMDA5LTAyLTAzIDE4OjU4OjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI5Ni85MDZdIEZpeCBjYWxsYmFja3MgcGFzc2VkIG92ZXIgWEV2ZW50cyBvbiA2NCBiaXQgYXJjaGl0ZWN0dXJlcwoJICBBbHRob3VnaHQgdGhlIFhFdmVudCdzIHhjbGllbnQuZGF0YS5sIGFycmF5IGlzIGFuIGFycmF5IG9mCgkgIGxvbmdzIHRoZXkgd2lsbCBiZSBjb25zdHJhaW5lZCB0byAzMiBiaXQgYnkgdGhlIFgxMSBwcm90b2NvbC4KCSAgT24gNjQgYml0IGFyY2hpdGVjdHVyZXMgdXNlIHR3byBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gc3RvcmUKCSAgb25lIHBvaW50ZXIuCgkgIFRoaXMgZml4ZXMgc2VnZmF1bHRzIHRoYXQgaGFwcGVuIGF0IGxlYXN0IGZvciBldmVyeSBleGFtcGxlCgkgIG9uIHN0YXJ0dXAuCgoyMDA5LTAyLTAzIDE4OjMzOjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHBpeGJ1Zm92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzI5NS85MDZdIEZpeCBpbmRlbnRpb24KCjIwMDktMDItMDMgMTE6MjM6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjk0LzkwNl0gRml4IGZvcm1hdCBzdHJpbmcgY29tcGlsZXIgd2FybmluZ3MgYnkgdXNpbmcgR19HVUlOVDY0X0ZPUk1BVAoKMjAwOS0wMS0xNSAxODozOTo0OCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdscGl4YnVmb3ZlcmxheS5jOgoJICBbMjkzLzkwNl0gbWluaW1hbCBndGsgZG9jCgoyMDA5LTAxLTA5IDE3OjQ2OjAxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BodXRjaC0yLmxvY2FsPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJICBbMjkyLzkwNl0gQWRkICdleHRlcm4nIGZvciBkYXRhIHN5bWJvbHMgaW4gaGVhZGVycwoKMjAwOS0wMS0wOSAxNzoyMDoyNSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyOTEvOTA2XSBBZGQgY2hlY2sgZm9yIEdMRVdfRVhUX2ZyYW1lYnVmZmVyX29iamVjdAoKMjAwOS0wMS0wOCAxOToxODo0NyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFsyOTAvOTA2XSBTZXQgR0xfTElCUyBjb3JyZWN0bHkgaW4gY29uZmlndXJlLmFjCgkgIFRoaXMgZG9lc24ndCBkZXRlY3QgdGhlIGV4aXN0ZW5jZSBvZiBsaWJyYXJpZXMsIHdoaWNoIG5lZWRzIHRvCgkgIGJlIGZpeGVkLgoKMjAwOS0wMS0wNyAxOToxMTowMSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzI4OS85MDZdIGJ1aWxkIGZpeGVzIGZvciBXaW5kb3dzIGxpYnJhcmllcwoKMjAwOC0xMi0xNCAxMjowNjowNiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyODgvOTA2XSBhZGQgbW9yZSBkZWJ1ZyBvdXB1dHMgYWJvdXQgR0xTTCBhbmQgbWVzYQoKMjAwOC0xMi0xMyAxOTozNjozMiAtMDUwMCAganVsaWVuIDxqdWxpZW5AanVsaWVuLWRlc2t0b3AuKG5vbmUpPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjg3LzkwNl0gZml4IGEgcmVncmVzc2lvbiBhYm91dCBnbFhDaG9vc2VWaXN1YWwgd2hpY2ggZmFpbGVkIHdoZW4gdXNpbmcgbWVzYSwgc28gYXR0cmlidXRlcyBtdXN0IGJlIGxlc3MgcmVzdHJpY3RpdmVzLgoKMjAwOC0xMi0xMyAwMDo1MDoxNiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgWzI4Ni85MDZdIFt3aW4zMl0gUmVnaXN0ZXIgd2luZG93IGNsYXNzIGluIGdzdF9nbF93aW5kb3dfY2xhc3NfaW5pdAoKMjAwOC0xMi0wNyAwMzoyNTo1OSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJICBbMjg1LzkwNl0gZml4IGdsIGZyYW1lcmF0ZSBpbiBnc3QgY2Fwcy4gQ29uc2lkZXIgcG9zaXRpb24gaW4geG92ZXJsYXkuIEZpeCBpbnZlcnNpb24gYmV0dHdlZW4gQ09MUyBhbmQgUk9XUywgYW5kIG1vdmUgd2luZG93cy4KCjIwMDgtMTEtMjkgMjI6MTY6NDQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyODQvOTA2XSB3b3JrYXJvdW5kIGFib3V0IHRoZSBBVEkgc2hhZGVyIGNvbXBpbGVyIG9uIGxpbnV4IChzZXRsb2NhbGUpCgoyMDA4LTExLTI1IDAxOjAxOjAxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI4My85MDZdIGJldHRlciByZXN1bHQgaW4gY3ViZSBhbmQgZG91YmxlY3ViZSBleGFtcGxlLiBBbmQgc29tZSBjbGVhbiB1cCBkZWJ1ZyBhbmQgY29tbWVudHMKCjIwMDgtMTEtMjMgMTY6MTQ6MjYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJICBbMjgyLzkwNl0gdXBkYXRlIENNYWtlIGJ1aWxkCgoyMDA4LTExLTIzIDE2OjA0OjI3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyODEvOTA2XSBNYWtlIGN1YmUgZXhhbXBsZSB3b3JrIG9uIHgxMS4gRmluaXNoIFRPRE8gdGFzayA5LgoKMjAwOC0xMS0yMiAxNjo0MzoyNCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbMjgwLzkwNl0gUmVtb3ZlIHNldF92aXNpYmxlLCBiZWNhdXNlIGl0J3Mgbm93IGF1dG9tYXRpY2FsbHkgZG9uZSB3aGVuIHRoZSBmaXJzdCBwb3N0IHJlZGlzcGxheSBjb21lcy4KCjIwMDgtMTEtMjIgMDA6NTE6MzAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjc5LzkwNl0gZmluaXNoIHNldF94d2luZG93X2lkIChnc3RfZ2xfd2luZG93X3NldF9leHRlcm5hbF93aW5faWQpOiBjaGlsZCBpcyByZXNpemVkIGF0IHRoZSBzYW1lIHRpbWUgYXMgdGhlIHBhcmVudCBpcy4KCjIwMDgtMTEtMjEgMjA6NTE6NDggKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjc4LzkwNl0gSW1wbGVtZW50IHNldF94d2luZG93X2lkIChnc3RfZ2xfd2luZG93X3NldF9leHRlcm5hbF93aW5kb3dfaWQpLgoKMjAwOC0xMS0yMSAxOTozNzoyMSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyNzcvOTA2XSBvcGVuIHggY2xpZW50IGNvbm5lY3Rpb24gZm9yIHNlbmRlciBvbmx5IGF0IHN0YXJ0IHVwCgoyMDA4LTExLTIxIDE5OjExOjExICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI3Ni85MDZdIGJldHRlciBkZWFsIHdpdGggbGFzdCBwZW5kaW5nIGN1c3RvbSBjYiBhbmQgZGVzdHJveV9jb250ZXh0X2NiCgoyMDA4LTExLTIxIDAxOjMxOjE5ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyNzUvOTA2XSBNYWtlIHN1cmUgdGhlIGdsIHJlc3NvdXJlcyBhcmUgZGVzdHJveWVkIGJlZm9yZSB0byBkZXN0cm95IGdsIHdpbmRvdwoKMjAwOC0xMS0yMCAwMToyNDoxMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI3NC85MDZdIGFkZCBzb21lIG90aGVyIGRlYnVnIG91dHB1dHMgYW5kIGNoZWNrcwoKMjAwOC0xMS0xOSAwMDowNzoyMiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbMjczLzkwNl0gYWRkIHNvbWUgZGVidWcgb3V0cHV0cyBhYm91dCBWaXN1YWwgYW5kIFhWaXN1YWxJbmZvCgoyMDA4LTExLTE3IDAxOjA0OjMyICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI3Mi85MDZdIGFkZCBhIHZpc2libGUgbWVtYmVyIHRvIGRlYWwgYmV0dGVyIHdpdGggdGhlIGZpcnN0IGV4cG9zZSBldmVudHMKCjIwMDgtMTEtMTYgMTY6NTc6MDAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjcxLzkwNl0gcmV2ZXJ0IGxhc3QgY29tbWl0IGJlY2F1c2UgdGhlIGNyYXNoIGNvbWVzIGZyb20gbGlic2VsaW51eAoKMjAwOC0xMS0xNSAyMzozMjowNCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyNzAvOTA2XSBmaXggdXNlIG9mIGRpZmZlcmVudCBEaXNwbGF5IHN0cnVjdHVyZXMgd2hpY2ggcG9pbnQgb24gdGhlIHNhbWUgZGlzcGxheSBuYW1lCgoyMDA4LTExLTE1IDE4OjUxOjQ0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI2OS85MDZdIEJldHRlciBkZWFsIHdpdGggWE5leHRFdmVudCBhbmQgWFNlbmRFdmVudAoKMjAwOC0xMS0xNSAwMjoyNDowNyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyNjgvOTA2XSBCZXR0ZXIgZGVhbCB3aXRoIEF0b21zCgoyMDA4LTExLTE0IDAxOjAwOjMzICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI2Ny85MDZdIEdldCByaWRlIG9mIGNhbGxpbmcgc2xlZXAgaW4gZ2wgdGhyZWFkIFggbG9vcAoKMjAwOC0xMS0xMyAwMjowNTozMyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyNjYvOTA2XSBzZWN1cmUgY2xvc2Ugd2hlbiBjbGlja2luZyBvbiB0aGUgY3Jvc3MKCjIwMDgtMTEtMTMgMDE6Mjk6MTAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSAgWzI2NS85MDZdIENSTEYgLT4gTEYKCjIwMDgtMTEtMTMgMDE6MjM6NTEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzI2NC85MDZdIFJld3JpdGUgZ3N0Z2x3aW5kb3dfeDExLmMgYmVjYXVzZSBYIEFQSSBpcyBub3QgdGhyZWFkIHNhZmUuCgoyMDA4LTExLTExIDAzOjE5OjUxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI2My85MDZdIGRpc2NhcmQgeCBjdXN0b20gbWVzc2FnZXMgd2hpY2ggYXJlIG9mIGRhdGUKCjIwMDgtMTEtMDkgMjM6MjM6MzAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzI2Mi85MDZdIFdvcmtzIG9uIGxpbnV4IGJ1dCBzdGlsbCBzb21lIGJ1Z3MuIEZpeCBhdXRvdG9vbHMgIGJ1aWxkLgoKMjAwOC0xMS0wOSAyMjoxNDoyOSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyNjEvOTA2XSBpbXBsZW1lbnQgcXVpdCB4IG1lc3NhZ2UgbG9vcAoKMjAwOC0xMS0wOSAwMjo0NDoyNSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI2MC85MDZdIHRyeSB0byBtYWtlIFhTZW5kRXZlbnQgYmxvY2tlciAoYXMgd2luMzIgU2VuZE1lc3NhZ2UgaXMpCgoyMDA4LTExLTA2IDIzOjQxOjExICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjU5LzkwNl0gY29udGludWUgeCBpbXBsZW1lbnRhdGlvbiAoYnV0IHN0aWxsIG5vdCB0ZXN0ZWQpCgoyMDA4LTExLTA2IDAxOjI4OjI2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI1OC85MDZdIHNldHVwIHggbWVzc2FnZSBsb29wCgoyMDA4LTExLTA1IDAyOjA2OjMzICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzI1Ny85MDZdIGJlZ2luIGdzdGdsd2luZG93X3gxMS5jIGltcGxlbWVudGF0aW9uCgoyMDA4LTEwLTI5IDIzOjUzOjIyICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSAgWzI1Ni85MDZdIGZpeCBDTWFrZSBhbiBDb2RlQmxvY2tzIGJ1aWxkcwoKMjAwOC0xMC0yOCAyMTo0NDowOSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBbMjU1LzkwNl0gZml4IHdpbmRvdyBjbG9zdXJlIHdoZW4gdXNpbmcgZ3N0IHhvdmVybGF5IGludGVyZmFjZQoKMjAwOC0xMC0yOCAwMTozODo0NSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIFsyNTQvOTA2XSBCZXR0ZXIgaGFuZGxlIHdoZW4gdGhlIHBhcmVudCB3aW5kb3cgaXMgcmVzaXppbmcsIGFuZCBjbGVhbnVwIHNvbWUgY29kZQoKMjAwOC0xMC0yOCAwMDoyMjoyNyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMjUzLzkwNl0gd2luMzI6IHJlLWltcGxlbWVudCBzdXBwb3J0cyBmb3IgZ3N0IHhvdmVybGF5IGludGVyZmFjZSwgb24gdGhpcyBicmFuY2gKCjIwMDgtMTAtMjUgMTY6MTg6MjMgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBbMjUyLzkwNl0gYXZvaWQgYSBkZWFkIGxvY2sgb24gd2luZG93IGNsb3N1cmUKCjIwMDgtMTAtMjUgMDI6MDM6MTYgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMjUxLzkwNl0gUHJvcGVybHkgY2xlYW4gT3BlbkdMIGNvbnRleHRzCgoyMDA4LTEwLTI0IDAxOjM5OjAwICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIFsyNTAvOTA2XSB3aW4zMjogYmFzaWMgc3R1ZmZzIGFyZSB3b3JraW5nIG5vdyBvbiB0aGlzIGJyYW5jaCB3aXRoIHRoaXMgbmV3IGRlZXAgZGVzaWduIChnc3RnbHdpbmRvdykKCjIwMDgtMTAtMjMgMDE6NDA6NTIgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBbMjQ5LzkwNl0gYmVnaW4gR3N0R0xXaW5kb3cgaW4gb3JkZXIgdG8gdG90YWxseSByZW1vdmUgZ3N0ZnJlZWdsdXQKCjIwMDgtMTAtMTYgMjM6NDc6MDEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSAgWzI0OC85MDZdIGZpeCBtc3ZjIHdhcm5pbmdzIGFuZCB1cGRhdGUgQ01ha2UgYnVpbGQsIHdpbjMyIENvZGVCbG9ja3MgYnVpbGQgYW5kIHZzOCBidWlsZAoKMjAwOC0xMC0xNSAxNjoxODoyMiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2N1cnZlcy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkgIFsyNDcvOTA2XSBJbXBvcnQgeHJheSBlZmZlY3QKCSAgQWRkIHhyYXkgZWZmZWN0LiBNYXBzIGx1bWEgdG8gYSBuZWdhdGl2ZSwgc2xpZ2h0bHkgY3lhbiB0aW50ZWQsIGN1cnZlLAoJICBhcHBsaWVzIHNvbWUgbGlnaHQgZ2F1c3NpYW4gYmx1ciBhbmQgbXVsdGlwbGllcyBpdCB3aXRoIGl0cyBzb2JlbCBlZGdlcy4gTm90CgkgIHN1cmUgYWJvdXQgdGhlIG5hbWUsIGxpa2VseSB0byBjaGFuZ2UuIFByb2JhYmx5IHN0aWxsIG5lZWRzIHNvbWUgdHVuaW5nLgoKMjAwOC0xMC0xNSAxNjoxNDo1MiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSAgWzI0Ni85MDZdIEFkZCBtdWx0aXBseSBmcmFnbWVudCBzaGFkZXIKCSAgQWRkIGEgZnJhZ21lbnQgc2hhZGVyIHRvIGJsZW5kIHR3byB0ZXh0dXJlcyB3aXRoIG11bHRpcGx5IGJsZW5kIG1vZGUKCjIwMDgtMTAtMTUgMTU6NDk6MTIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJICBbMjQ1LzkwNl0gQWRkIGludmVydCBwcm9wZXJ0eSB0byBzb2JlbCBmaWx0ZXIKCSAgQWRkIGFuIGludmVydCBwcm9wZXJ0eSB0byBzb2JlbF9mcmFnbWVudF9zb3VyY2UgYW5kIFNvYmVsIGZpbHRlci4gVXNlZnVsCgkgIHRvIGhhdmUgZGFyayBlZGdlcyB3aXRoIHdoaXRlIGJhY2tncm91bmQuCgoyMDA4LTEwLTE1IDEyOjUwOjA3ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5oOgoJICBbMjQ0LzkwNl0gTWFrZSBsdW1hX3RvX2N1cnZlIG5vbi1zdGF0aWMKCSAgTWFrZSBsdW1hX3RvX2N1cnZlIHB1YmxpYyBzbyB0aGF0IGl0IGNhbiBiZSB1c2VkIGFzIGEgc3RlcCBmb3IgbW9yZQoJICBjb21wbGV4IGVmZmVjdHMuCgoyMDA4LTEwLTE1IDEyOjQyOjI5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzI0My85MDZdIFN1cHBvcnQgZm9yIG1pc3NpbmcgdmlkZW9mb3JtYXRzIGluIGdsdXBsb2FkCgkgIEFkZCBzdXBwb3J0IGZvciBtaXNzaW5nIGFscGhhIGNoYW5uZWxlZCB2aWRlb2Zvcm1hdHMgKFJHQkEsIEJHUkEsCgkgIEFSR0IsIEFCR1IpIGluIGdzdF9nbF9kaXNwbGF5X2RvX3VwbG9hZF9maWxsLgoKMjAwOC0xMC0xMyAyMzoxNDoyNyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgWzI0Mi85MDZdIEZpeCBjcmFzaCBpbiBmaWx0ZXJzIHdoZW4gZ29pbmcgdG8gTlVMTCB3aXRoIG5vIGRpc3BsYXkKCjIwMDgtMTAtMTEgMTE6NDU6NTQgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJICBbMjQxLzkwNl0gZml4IENNYWtlIGJ1aWxkCgoyMDA4LTEwLTA0IDIyOjM0OjA3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFsyNDAvOTA2XSBCdWlsZCBndGstZG9jcyBmb3IgcGx1Z2lucy4KCSAgQWRkIGluY2x1ZGUgdG8gb3RoZXJ3aXNlIGVtcHR5IC50eXBlcyBmaWxlIHRvIGZpeCB0aGUgc2Nhbm5lciBidWlsZC4KCSAgRWRpdCBNYWtlZmlsZS5hbSwgLnNlY3Rpb25zLCAtZG9jcy5zZ21sIHRvIHNjYW4gYWxsIHBsdWdpbnMgYW5kIGluY2x1ZGUKCSAgdGhlbSBpbiB0aGUgbWFzdGVyIGZpbGUuIEZpeCB4bWwgZXJyb3JzIGluIHR3byBzb3VyY2VzIChtaXNzaW5nIGNsb3NpbmcKCSAgdGFnKS4KCjIwMDgtMDktMjkgMjM6NDU6MTAgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMjM5LzkwNl0gc3RhcnQgdG8gd3JpdGUgdGhlIGd0ayBkb2MKCjIwMDgtMDktMjUgMjI6MjU6MjkgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJICBbMjM4LzkwNl0gZml4IGdsZmlsdGVyZ2xhc3MgKHJlYXNvbjogdmlkZW90ZXN0c3JjIHJnYiBpcyBieSBkZWZhdWx0IGJwcD0zMiwgZGVwdGg9MjQsIHNvIGFscGhhIGNoYW5uZWwgaXMgMCkKCjIwMDgtMDktMjQgMTk6MzI6NDggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJICBbMjM3LzkwNl0gdXBkYXRlIGNtYWtlIGJ1aWxkIGFuZCB0aGUgMiBmcm96ZW4gd2luMzIgYnVpbGRzIChDb2RlQmxvY2tzLCB2czgpCgoyMDA4LTA5LTIzIDEwOjM3OjU4ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMjM2LzkwNl0gaW1wb3J0IHNvYmVsIGVkZ2UgZGV0ZWN0b3IgZnJvbSBjdnMgYnJhbmNoCgoyMDA4LTA5LTI0IDAyOjA3OjQxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkgIFsyMzUvOTA2XSBjYW4gdXNlIHNldmVyYWwgR19MT0dfRE9NQUlOcyBhbmQgR1NUX0NBVGVnb3JpZXMsIHdpdGggbXN2YzgKCjIwMDgtMDktMjIgMDk6NDc6MTYgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdscGl4YnVmb3ZlcmxheS5jOgoJICBbMjM0LzkwNl0gdXNlIHJpZ2h0IGJsZW5kaW5nIGZ1bmN0aW9uIHdpdGggcGl4YnVmIG92ZXJsYXkKCjIwMDgtMDktMjEgMTA6NTg6MTMgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjMzLzkwNl0gbm8gbmVlZCB0byBleHBsaWNpdCBzZXQgdGhlIGRlYnVnIGNhdGVnb3J5IGlmIGRlZmF1bHQgb25lIGlzIHVzZWQKCjIwMDgtMDktMjEgMTA6MDQ6NDkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSAgWzIzMi85MDZdIHVzZSB0ZXh0dXJlMSBmb3IgY3VydmUgdGV4dHVyZXMKCjIwMDgtMDktMjEgMTk6MjY6MzcgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzIzMS85MDZdIEFkZCBhIGdsZmlsdGVyZ2xhc3MgaW5zcGlyZWQgZnJvbSBodHRwOi8vd3d3Lm1kay5vcmcucGwvMjAwNy8xMS8xNy9nbC1jb2xvcnNwYWNlLWNvbnZlcnNpb25zCgoyMDA4LTA5LTIxIDE2OjQwOjM4ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJICBbMjMwLzkwNl0gZXhwbGljaXQgY2hlY2sgZ19nZXRlbnYgcmV0dXJuIHZhbHVlIHRvIGJlIG5vdCBOVUxMCgoyMDA4LTA5LTIwIDE1OjQ0OjI0ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFsyMjkvOTA2XSB1cGRhdGUgYXV0aG9ycyBmcm9tIHRoZSBDVlMgcmVwb3NpdG9yeQoKMjAwOC0wOS0yMCAxNDoxMjo0OSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSAgWzIyOC85MDZdIG91dHB1dCBzaGFkZXJzIGluZm8gbG9nIG9ubHkgaWYgR1NUX0dMX1NIQURFUl9ERUJVRyBlbnYgdmFyaWFibGUgaXMgc2V0LiBTaG91bGQgZml4IFRPRE8gdGFzayAxOAoKMjAwOC0wOS0xOSAxMjo0NzowNiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJICBbMjI3LzkwNl0gZXhwbGljaXRseSBiaW5kIHRoZSBtYWluIHRleHR1cmUgYW5kIHRoZSBjdXJ2ZSBvbmUgdG8gc2VwYXJhdGUgdW5pdHMgaW4gcmdiIGFuZCBsdW1hIHRvIGN1cnZlIGVmZmVjdHMuIFRoaXMgc2hvdWxkIHNvbHZlIHRoZSBpc3N1ZSBwb2ludGVkIGluIFRPRE8gaXRlbSAyMS4KCjIwMDgtMDktMTggMjI6NTA6MDUgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjI2LzkwNl0gY2hlY2sgb24gd2luMzIgdGhhdCBldmVyeSB0ZXN0cy9waXBlbGluZXMgYW5kIHRlc3RzL2V4YW1wbGVzIChnZW5lcmljLCBndGssIHF0KSBzdGlsbCB3b3JrCgoyMDA4LTA5LTE4IDIxOjEzOjM3ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzIyNS85MDZdIGZpeCBhIHJlZ3Jlc3Npb24gdGhhdCBtYWRlIHRoZSBnbHRlc3RzcmMgZWxlbWVudCBub3Qgd29ya2luZwoKMjAwOC0wOS0xNiAwMjoxMDozMSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyMjQvOTA2XSBmaXggYSByZWdyZXNzaW9uIGFib3V0IE1FU0EgWUNiQ3IgY29sb3JzcGFjZSBjb252ZXJzaW9uCgoyMDA4LTA5LTE0IDIzOjIyOjU4ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzIyMy85MDZdIGZpeCBhIHJlZ3Jlc3Npb24gKHNvbWV0aW1lcyBhIEZCTyBpcyBuZWVkZWQgZXZlbiBpZiB0aGUgdmlkZW8gc291cmNlIGlzIHJnYikKCjIwMDgtMDktMTQgMTk6NTY6NTAgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIFsyMjIvOTA2XSBGaW5pc2ggVE9ETyB0YXNrIDE3CgoyMDA4LTA5LTEzIDE5OjQ3OjQ0ICswMjAwICBKdWxpZW4gPGp1bGllbkBib3dvYi4obm9uZSk+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyMjEvOTA2XSBmaXggZ19pbnRfaGFzaCAtPiBnX2RpcmVjdF9oYXNoCgoyMDA4LTA5LTEzIDE4OjE3OjQyICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzIyMC85MDZdIFVzZSBhIGJldHRlciBrZXkgZm9yIHRoZSBwb29sIG9mIHRleHR1cmVzCgoyMDA4LTA5LTEzIDAzOjMyOjA0ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5oOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzIxOS85MDZdIFVzZSBhIGdzdCBkZWJ1ZyBjYXRlZ29yeSBmb3IgR3N0R0xEaXNwbGF5IGluc3RlYWQgb2YgZ19wcmludCwgZ3N0LWxhdW5jaC0wLjEwIC0tZ3N0LWRlYnVnPWdsZGlzcGxheTozIHZpZGVvdGVzdHNyYyAhIGdsaW1hZ2VzaW5rCgoyMDA4LTA5LTEyIDAxOjEzOjUwICswMjAwICBKdWxpZW4gPGp1bGllbkBib3dvYi4obm9uZSk+CgoJKiBnc3QtbGlicy9nc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzIxOC85MDZdIFRoZSBDTWFrZSBidWlsZCBub3cgd29ya3Mgb24gbXkgS3VidW50dS1LREU0LjEuMQoKMjAwOC0wOS0xMSAwMjowNzoxMiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSAgWzIxNy85MDZdIEFkZCBjbWFrZSBidWlsZCBodHRwOi8vd3d3LmNtYWtlLm9yZy4gU2VlIENNYWtlIGluc3RhbGwgaW5zdHJ1Y3Rpb25zIGluIHRoZSBJTlNUQUxMIGZpbGUuIChJIGhhdmUgbm90IGNvcnJlY3RseSBjb25maWd1cmVkIHlldCB0aGUgQ01ha2UgYnVpbGQgZm9yIHVuaXgsIEJFIHBhdGllbnQpCgoyMDA4LTA5LTA3IDE3OjQ0OjQyICswMjAwICBKdWxpZW4gPGp1bGllbkBib3dvYi4obm9uZSk+CgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFsyMTYvOTA2XSBmaXggZ2xidW1wZXIgcmVsYXRlZCBndGsgZGVwZW5kZW5jaWVzCgoyMDA4LTA5LTA3IDE0OjE3OjU3ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMjE1LzkwNl0gZ2xidW1wZXIgaXMgY29tcGlsZWQgb25seSB3aGVuIGhhdmluZyBHZGtQaXhCdWYuIEFuZCB1cGRhdGUgd2luMzIgY29kZWJsb2NrcyBidWlsZAoKMjAwOC0wOS0wNyAwMTozODoxMCArMDIwMCAganVsaWVuIFVzZXIgPGp1bGllbkB1YnVudHUudWJ1bnR1LWRvbWFpbj4KCgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJICBbMjE0LzkwNl0gdXBkYXRlIGNvZGVibG9ja3MgYnVpbGQgb24gbGludXggYW5kIGZpeCBhIHdhcm5pbmcKCjIwMDgtMDktMDcgMDE6MjM6MTkgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5oOgoJICBbMjEzLzkwNl0gZm9yZ290IHRvIGFkZCB0aGUgYnVtcGVyIGZpbGVzCgoyMDA4LTA5LTA3IDAwOjQ1OjM0ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdscGl4YnVmb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFsyMTIvOTA2XSBhZGQgYSBnbGJ1bXBlciAoYnVtcCBtYXBwaW5nIGZpbHRlciB0aHJvdWdoIEdMU0wpIHRoYXQgZXhwb3NlcyBob3cgdG8gdXNlIGJvdGggdmVydGV4IGFuZCBmcmFnbWVudCBzaGFkZXJzCgoyMDA4LTA4LTI1IDEwOjM0OjU0ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzIxMS85MDZdIEZpeCB1cGxvYWQgQVlVViBhbmQgWVYxMiAoYSByZWdyZXNzaW9uIGluIGxhc3QgY29tbWl0cykKCjIwMDgtMDgtMjQgMTY6MzM6MjYgKzAyMDAgIGp1bGllbiBVc2VyIDxqdWxpZW5AdWJ1bnR1LnVidW50dS1kb21haW4+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyMTAvOTA2XSBnZXQgcmlkZSBvZiBhIHdyb25nIGNvbG9yIG9uIG52aWRpYS9saW51eCB3aGVuIGNvbnZlcnRpbmcgeXYxMiB0byByZ2IgdGhyb3VnaCBHTFNMCgoyMDA4LTA4LTI0IDE1OjM5OjE0ICswMjAwICBqdWxpZW4gVXNlciA8anVsaWVuQHVidW50dS51YnVudHUtZG9tYWluPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjA5LzkwNl0gZml4IHdhcm5pbmdzCgoyMDA4LTA4LTI0IDA0OjI0OjI5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzIwOC85MDZdIGZpeCB1cGxvYWQgQVlVViwgcmVncmVzc2lvbiBkdXJpbmcgdGhlIDIgbGFzdCBjb21taXRzCgoyMDA4LTA4LTI0IDAzOjM4OjQwICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzIwNy85MDZdIG91cHMsIGZpeCBteSBtaXN0YWtlIG9uIGxhc3QgY29tbWl0CgoyMDA4LTA4LTI0IDAzOjEyOjEyICswMjAwICB1bmtub3duIDxMdWNALihub25lKT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvQlVHUzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMjA2LzkwNl0gRG8gbm90IHVzZSBmcmFtZSBidWZmZXIgb2JqZWN0IHdoZW4gImlucHV0IHZpZGVvIGlzIFJHQiIgb3Igd2hlbiAiR0xTTCBpcyBub3QgYXZhaWxhYmxlIGFuZCBZQ2JDciBpcyBhdmFpbGFibGUiLiBTbyBmcmFtZSBidWZmZXIgb2JqZWN0IGlzIG5vdCBhIHBsdWdpbiByZXF1aXJlbWVudCBhbnltb3JlLiBTbyBJIGRlY3JlYXNlZCB0aGUgT3BlbmdHTCB2ZXJzaW9uIGZyb20gMS40IHRvIDEuMiAobWF5YmUgbGVzcz8pCgoyMDA4LTA4LTIxIDExOjEyOjQyICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBbMjA1LzkwNl0gdXNlIGEgR0hhc2ggIHRhYmxlIGluc3RlYWQgb2YgYSBHRGF0YSBmb3IgdGhlIHRleHR1cmUgcG9vbAoKMjAwOC0wOC0yMCAxNTo0Nzo1MSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyMDQvOTA2XSBnZXQgcmlkZSBvZiBhIGJ1ZyBvbiBBVEkgcmVsYXRlZCB0byBZVjEyIHRvIHJnYiBjb252ZXJzaW9uIHRocm91Z2ggR0xTTCBhbmQgYWRkIGFuIGV4YW1wbGUKCjIwMDgtMDgtMjAgMTA6MDI6MDIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdscGl4YnVmb3ZlcmxheS5jOgoJICBbMjAzLzkwNl0gdXNlIG9wZW5nbCBmb3IgcGl4YnVmIHJlc2l6aW5nIGluIGdscGl4YnVmb3ZlcmxheSwgc3RhcnQgdG8gd29yayBvbiBwcm9wZXJ0aWVzCgoyMDA4LTA4LTIwIDA5OjI2OjQ2ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbHBpeGJ1Zm92ZXJsYXkuYzoKCSAgWzIwMi85MDZdIHVzZSBmaXhlZCBvcGVuZ2wgcGlwZWxpbmUgZm9yIGdscGl4YnVmb3ZlcmxheSAoYW55IGRyYXdiYWNrPykKCjIwMDgtMDgtMjAgMDk6MjQ6NTMgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjAxLzkwNl0gZml4IGEgc2lnbmVkbmVzcyB3YXJuaW5nCgoyMDA4LTA4LTIwIDAwOjExOjM5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzIwMC85MDZdIGdldCByaWRlIG9mIGEgQVRJIGJ1ZyByZWxhdGVkIHRvIEdMU0wgY29sb3JzcGFjZSBjb252ZXJzaW9uIGZvciBJNDIwIGFuZCBZVjEyIHRvIHJnYgoKMjAwOC0wOC0xOSAyMjoxNToxNyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzE5OS85MDZdIGFkZCBwaXhidWZkcm9wIHZzOCBwcm9qZWN0CgoyMDA4LTA4LTE5IDIxOjA0OjI5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzE5OC85MDZdIGFkZCBmeHRlc3QgdnM4IHByb2plY3QKCjIwMDgtMDgtMTkgMTE6MDc6MTggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBbMTk3LzkwNl0gU2hhZGVycyB3aGljaCBhcmUgaW4gdGhlIHNoYWRlcnN0YWJsZSBhcmUgbm93IHJlbGVhc2VkCgoyMDA4LTA4LTE5IDA5OjQ4OjE0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJICBbMTk2LzkwNl0gZml4IGEgZGlmZmVyZW5jZW1hdHRlIG1lbW9yeSBpc3N1ZQoKMjAwOC0wOC0xOSAwODo1MDoxNCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzE5NS85MDZdIGZpeCBnc3RnbGRpZmZlcmVuY2VtYXR0ZSBhbmQgYWRkIGFuIGV4YW1wbGUgYXBwIHRvIHRlc3QgaXQgZHJhZ2dpbmcgYW4gaW1hZ2Ugb3ZlciB0aGUgdmlkZW8gKHdvcmtzIHdpdGggcGl4YnVmb3ZlcmxheSB0b28sIHNlZSBwaXhidWZkcm9wIC0taGVscCkKCjIwMDgtMDgtMTggMjE6NTA6MDkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSAgWzE5NC85MDZdIGFub3RoZXIgdHlwbywgcmVzdG9yZSBvbGQgdHdpcmwgZnJhZ21lbnQgc291cmNlCgoyMDA4LTA4LTE4IDIxOjQzOjAyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkgIFsxOTMvOTA2XSBmaXggdHlwb3MKCjIwMDgtMDgtMTggMjE6NDA6MjYgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJICBbMTkyLzkwNl0gY29tcGxldGUgZGlmZmVyZW5jZW1hdHRlIGZpbHRlci4uIEkgZGlkIGl0IHF1aWNrbHksIHByb2JhYmx5IHN0aWxsIG5lZWRzIHNvbWUgd29yawoKMjAwOC0wOC0xOCAyMDoyNToyNSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdscGl4YnVmb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFsxOTEvOTA2XSBsaXR0bGUgY2xlYW51cC4gYWRkIGZpcnN0IGRyYWZ0IG9mIGdzdGdsZGlmZmVyZW5jZW1hdHRlLiBzdGlsbCBkb2Vzbid0IHdvcmsKCjIwMDgtMDgtMTggMTg6NTM6MTMgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFsxOTAvOTA2XSBmb3JjZSBjYWxsaW5nIGdsaW1hZ2VzaW5rLT5zdG9wKCkgd2hlbiBnb2luZyBmcm9tIFBBVVNFRCB0byBSRUFEWQoKMjAwOC0wOC0xOCAxNzoxOTowNiArMDIwMCAgdW5rbm93biA8QWRtaW5pc3RyYXRldXJALihub25lKT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbHBpeGJ1Zm92ZXJsYXkuYzoKCSAgWzE4OS85MDZdIHVwZGF0ZSB2czggYnVpbGQgYW5kIGZpeCBzb21lIHdhcm5pbmdzIHRoYXQgY29tZXMgZnJvbSB2YzgKCjIwMDgtMDgtMTggMTY6MTY6NTggKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xwaXhidWZvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzE4OC85MDZdIGFkZCBmaXJzdCBkcmFmdCBvZiBhIHBpeGJ1ZiBvdmVybGF5IGVsZW1lbnQuIGFkZCBtYWNyb3MgdG8gb3B0aW9uYWxseSBidWlsZCB0aGUgbGF0dGVyIGlmIGdkay1waXhidWYgaXMgZm91bmQKCjIwMDgtMDgtMTggMTE6NDg6NDcgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSAgWzE4Ny85MDZdIHJlbW92ZSBleHBvc2UgZXZlbnQgaGFuZGxpbmcsIGl0J3MgbWFwLXVubWFwIHRoYXQgaXMgbm90IGJlaGF2aW5nIGNvcnJlY3RseSwgYW55IGlkZWE/CgoyMDA4LTA4LTE4IDExOjA4OjA5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkgIFsxODYvOTA2XSBhZGQgZXhwb3NlIGV2ZW50IGhhbmRsaW5nIHRvIGNsdXR0ZXJhY3RvcnRlZQoKMjAwOC0wOC0xOCAxMDo1MDozNyArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJICBbMTg1LzkwNl0gYWRkIGNsdXR0ZXJhY3RvcnRlZSBleGFtcGxlLCBhIG5pY2UgZXhhbXBsZSBhYm91dCBob3cgY2x1dHRlciBjb3VsZCBiZSB1c2VkIHRvIGNyZWF0ZSBhIGxpdmUgcHJldmlldyB3aWRnZXQgZm9yIGdsZWZmZWN0cy4gSXQgdXNlcyB0ZXh0dXJlIGZyb20gcGl4bWFwLCBzdGlsbCBuZWVkcyBzb21lIHdvcmsgcmVnYXJkaW5nIGNsZWFuIGV4aXQgYW5kIGV4cG9zZSBldmVudCBtYW5hZ2VtZW50LgoKMjAwOC0wOC0xOCAwOTowNjowOSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIFsxODQvOTA2XSBhZGQgYSBjb3VwbGUgb2YgbWFjcm9zIHRvIGF1dG90b29scyB0byBjb21waWxlIHdpdGggdWludHJlcGlkIGF1dG9tYWtlLiByZW1vdmUgYXJyYXkgY29uc3RydWN0b3Igc28gd2UgZG9uJ3QgaGF2ZSB0byBkZXBlbmQgb24gZ2xzbCAjdmVyc2lvbiAxMjAuCgoyMDA4LTA4LTE3IDE3OjQ1OjUyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkgIFsxODMvOTA2XSBhZGQgYW4gZXhhbXBsZSB0byB1c2UgdGV4dHVyZSBmcm9tIHBpeG1hcCB0byBkbyBzb21lIGtpbmQgb2YgeF9vdmVybGF5IG9uIGEgY2x1dHRlcmFjdG9yLiBBIGJldHRlciB3YXkgd291bGQgYmUgdG8gZGlyZWN0bHkgc2hhcmUgZ2wgaGFuZGxlcyBiZXR3ZWVuIGNsdXR0ZXIgYW5kIGdzdGdsIGJ1dCBzdGlsbCBJIGNhbm5vdCBmaW5kIGEgd2F5IHRvIGRvIGl0LgoKMjAwOC0wOC0xNyAxMjoyMTo0OSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNjdXJ2ZXMuaDoKCSAgWzE4Mi85MDZdIGFkZCBhIGJldHRlciBzZXBpYSB0b25pbmcgY3VydmUKCjIwMDgtMDgtMTcgMDk6MjQ6MjQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbMTgxLzkwNl0gYWRkIGEgdHJhbnNsYXRhYmxlIHN0cmluZyB0byB0ZXN0c3JjIHRvIGdldCByaWQgb2YgcG8gZGlyIGVycm9ycyBhZnRlciBkaXN0Y2xlYW4gYW5kIGdpdCBjbGVhbgoKMjAwOC0wOC0xNiAxNzozNjoxMCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJICBbMTgwLzkwNl0gbWlub3IgY2xlYW51cCBpbiBmeHRlc3QKCjIwMDgtMDgtMTYgMTI6Mzc6MzYgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzZGlzdG9ydGlvbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSAgWzE3OS85MDZdIGRpc3RvcnRpb24gZWZmZWN0IGNsZWFudXAKCjIwMDgtMDgtMTYgMTA6MTU6MzEgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSAgWzE3OC85MDZdIGltcHJvdmUgZnh0ZXN0IGNvbW1hbmQgbGluZSBvcHRpb24gaGFuZGxpbmcsIGRlZmF1bHQgdG8gdmlkZW90ZXN0c3JjIGlmIG5vIHNvdXJjZSBiaW4gZGVzY3JpcHRpb24gaXMgZ2l2ZW4KCjIwMDgtMDgtMTYgMDk6NDA6NTQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBbMTc3LzkwNl0gZml4IGdsZWZmZWN0cyBtZW1vcnkgaXNzdWUgKGluaXQgcmVzb3VyY2VzIG9uIHN0YXJ0IGFuZCByZXNldCB0aGVtIG9uIHN0b3ApCgoyMDA4LTA4LTE2IDA5OjE3OjE0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzE3Ni85MDZdIGZpeCBhIHR5cG8KCjIwMDgtMDgtMTYgMDk6MTM6MzkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkgIFsxNzUvOTA2XSBhZGQgc2luIGVmZmVjdCAoZGVzYXR1cmF0ZSBldmVyeXRoaW5nIGJ1dCByZWQgc2hhZGVzKS4gc3RpbGwgbmVlZHMgc29tZSB0dW5pbmcuCgoyMDA4LTA4LTE0IDIyOjI4OjE5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJICBbMTc0LzkwNl0gYWRkIGEgcHJvcGVydHkgdG8gZ2xlZmZlY3RzIHRvIHN3aXRjaCB2aWRlbyBsZWZ0IHRvIHJpZ2h0LCB1c2VmdWwgd2l0aCB3ZWJjYW1zIHRvIHJlc2VtYmxlIGEgbWlycm9yCgoyMDA4LTA4LTE0IDIxOjI5OjAyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzY3VydmVzLmg6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJICBbMTczLzkwNl0gYWRkIGx1bWF4cHJvIChkZXNhdHVyYXRlICsgY3Jvc3MgcHJvY2VzcykgZWZmZWN0LiBub3RoaW5nIHRvbyBpbXByZXNzaXZlIGJ1dCBJIGxpa2UgaXQuCgoyMDA4LTA4LTE0IDIwOjU0OjU0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkgIFsxNzIvOTA2XSBhZGQgc3VwcG9ydCBmb3IgY29tbWFuZCBsaW5lIHBhcnNpbmcgdG8gZnh0ZXN0ICh0cnkgZnh0ZXN0IHZpZGVvdGVzdHNyYyAhIGRlc2lyZWQgY2FwcyAhIGlkZW50aXR5KS4gcmVwb3J0IGEgbmV3IGlzc3VlIG9uIEJVR1MuCgoyMDA4LTA4LTE0IDIwOjAyOjA0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSAgWzE3MS85MDZdIGltcG9ydCBmeHRlc3QgKGxpdHRsZSBndGsgYXBwIHRvIGVhc2lseSB0ZXN0IGVmZmVjdHMpIGZyb20gY3ZzIGJyYW5jaCwgZml4ZWQgcmdidG9jdXJ2ZS4KCjIwMDgtMDgtMTQgMTc6MDM6MjEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMTcwLzkwNl0gdXBkYXRlIGNvZGVibG9ja3MgYnVpbGQKCjIwMDgtMDgtMTQgMTQ6MDg6MjMgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNkaXN0b3J0aW9uLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJICBbMTY5LzkwNl0gaW1wb3J0IHJlbWFpbmluZyBkaXN0b3J0aW9uIGVmZmVjdHMgZnJvbSBjdnMgYnJhbmNoIChmaXNoZXllLCB0d2lybCwgYnVsZ2UsIHR1bm5lbCwgc3F1YXJlKQoKMjAwOC0wOC0xNCAxMjozOTowMSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNjdXJ2ZXMuaDoKCSAgWzE2OC85MDZdIGNsZWFudXAgY3VydmVzIGhlYWRlcgoKMjAwOC0wOC0xNCAxMjoyNjoyNSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNjdXJ2ZXMuaDoKCSAgWzE2Ny85MDZdIGJldHRlciBjcm9zcyBwcm9jZXNzaW5nIGN1cnZlCgoyMDA4LTA4LTE0IDEyOjA5OjM5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2N1cnZlcy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkgIFsxNjYvOTA2XSBhZGQgcmdiX3RvX2x1bWFfZnJhZ21lbnQgc291cmNlIGFuZCBjb3JyZXNwb25kZW50IGVmZmVjdC4gdXNlIHRoZSBsYXR0ZXIgZm9yIGEgY3Jvc3MgcHJvY2Vzc2luZyBlZmZlY3QuCgoyMDA4LTA4LTE0IDExOjMxOjA5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNjdXJ2ZXMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJICBbMTY1LzkwNl0gaW1wb3J0IGx1bWFfdG9fY3VydmUgZWZmZWN0cyAoU2VwaWEsIEhlYXQpIGZyb20gY3ZzIGJyYW5jaCB3aXRoIGJldHRlciB0ZXh0dXJlIG1lbW9yeSBoYW5kbGluZyAodGV4aW1hZ2UgY3VydmVzIG9ubHkgb25jZSkuIFNlcGlhIGN1cnZlIHN0aWxsIG5lZWRzIHNvbWUgbG92ZS4KCjIwMDgtMDgtMTQgMDk6Mzk6NTUgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJICBbMTY0LzkwNl0gcmVuYW1lIGJsZW5kX2ZyYWdtZW50X3NvdXJjZSB0byBzdW1fZnJhZ21lbnRfc291cmNlIGFuZCBhZGQgdW5pZm9ybSBibGVuZGluZyBwYXJhbWV0ZXJzCgoyMDA4LTA4LTE0IDA5OjI2OjIzICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkgIFsxNjMvOTA2XSBpbXBvcnQgZ2xvdyBlZmZlY3QgKG1heWJlIHRoZSBtb3N0IHRyaWNreSkgZnJvbSBjdnMgYnJhbmNoCgoyMDA4LTA4LTE0IDA4OjAzOjQ5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBbMTYyLzkwNl0gaW1wb3J0IHN0cmV0Y2ggZWZmZWN0IGZyb20gY3ZzCgoyMDA4LTA4LTE0IDAwOjA3OjIwICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBbMTYxLzkwNl0gaW1wb3J0IHNxdWVlemUgZWZmZWN0IGZyb20gY3ZzCgoyMDA4LTA4LTEzIDIyOjQyOjQ4ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzE2MC85MDZdIGZvcmdvdCB0byBhZGQgYSBmaWxlCgoyMDA4LTA4LTEzIDIyOjM2OjEzICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIFsxNTkvOTA2XSBzdGlsbCBzb21lIHNvdXJjZSB0cmVlIHJlb3JnYW5pemUsIGZpeGVkIHNvbWUgaXNzdWUgd2l0aCBoZWFkZXJzIGFuZCBpZmRlZnMsIG1vdmVkIGlkZW50aXR5IGludG8gZWZmZWN0cyBkaXIKCjIwMDgtMDgtMTMgMjA6NTg6NDkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIFsxNTgvOTA2XSBzdGlsbCB3b3JraW5nIG9uIG1lcmdpbiBnc3RnbGVmZmVjdHMsIGFkZCBtaXJyb3IgZWZmZWN0LiByZW9yZ2FuaXplIHNvdXJjZSB0cmVlLgoKMjAwOC0wOC0xMyAxNzo1OTowOSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFsxNTcvOTA2XSBtb3ZlIHRocmVhZF9kb191cGxvYWRfbWFrZSBmcm9tIHRocmVhZF9kb191cGxvYWQgdG8gdGhyZWFkX2luaXRfdXBsb2FkCgoyMDA4LTA4LTEzIDE3OjE2OjE3ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0L2dsL0JVR1M6CgkgIFsxNTYvOTA2XSBmaXggYSBjcmFzaCB0aGF0IGNvdWxkIGhhcHBlbnMgd2hlbiB1c2luZyBhdCBsZWFzdCAyIGdsIGNvbnRleHQgYW5kIHdoZW4gY2xvc2luZyBhIHdpbmRvdyBvbiBsaW51eAoKMjAwOC0wOC0xMyAxNjowMToyMSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvQlVHUzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIFsxNTUvOTA2XSBmaXggc29tZSBlcnJvcnMgYW5kIGNoZWNrIGFsbCB0aGUgcGlwZWxpbmVzIGxpc3RlZCBpbiB0ZXN0cy9waXBlbGluZXMKCjIwMDgtMDgtMTIgMTE6MDk6MzcgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzE1NC85MDZdIGFkZGVkIGZpcnN0IHNrZWxldG9uIG9mIGdzdGdsZWZmZWN0cywgaW1wb3J0ZWQgYmFzaWMgc3R1ZmYgZnJvbSBjdnMgYnJhbmNoLgoKMjAwOC0wOC0xMSAyMDoxMjowMiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSAgWzE1My85MDZdIFRyeSB0byBnZW5lcmVhdGUgdGV4dHVyZXMgd2l0aGluIGdzdGdsZmlsdGVyYmx1ciB0byBzZWUgaWYgdGhlIG5ldyB0aHJlYWRfdXNlX2ZibyB3b3JrcyBib3RoIHdpdGggdGV4dHVyZXMgZnJvbSB0aGUgcG9vbCBhbmQgY3VzdG9tIG9uZXMKCjIwMDgtMDgtMTEgMjA6MDE6NDEgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMTUyLzkwNl0gcmVtb3ZlIGFuIHVubmVlZGVkIChyZWFsbHk/KSBnbFRleEltYWdlCgoyMDA4LTA4LTExIDE5OjA4OjIyICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMTUxLzkwNl0gSVNPIEM5MAoKMjAwOC0wOC0xMSAxOTowMTozMyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSAgWzE1MC85MDZdIGdsVGV4SW1hZ2UyRCh3LCBoLCBOVUxMKSBpcyBub3cgY2FsbGVkIG9ubHkgb25lIHRpbWUgKG1lbSBhbGxvYykKCjIwMDgtMDgtMTEgMTc6MjE6MzAgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMTQ5LzkwNl0gc2FtZSBhcyBwcmV2aW91cyBjb21taXQKCjIwMDgtMDgtMTEgMTc6MTc6MjIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMTQ4LzkwNl0gRml4IHJnYiBpc3N1ZS4gQ3VycmVudCBwcm9ncmFtIHNob3VsZCBhbHdheXMgYmUgc2V0IHRvIDAgd2hlbiBhIG5ldyB0ZXh0dXJlIGlzIGF0dGFjaGVkIHRvIGEgZmJvLgoKMjAwOC0wOC0xMSAxNTo1MzoxMiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFsxNDcvOTA2XSBvdXBzIGZvcmdvdCB0byBhZGQgMiBmaWxlcyB0byB0aGUgcHJldmlvdXMgY29tbWl0CgoyMDA4LTA4LTExIDE1OjQwOjM5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJlZGdlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmVkZ2UuaDoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFsxNDYvOTA2XSByZW1vdmUgZmlsdGVyZWRnZQoKMjAwOC0wOC0xMSAxNTozMDozOCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkgIFsxNDUvOTA2XSBnZW4vZGVsIHRoZSBtaWRkbGUgdGV4dHVyZSBvbmx5IG9uZSB0aW1lIGluIHRoZSBnc3RnbGZpbHRlcmJsdXIKCjIwMDgtMDgtMTEgMTE6MjY6MzIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzE0NC85MDZdIHJlbW92ZSBnc3RnbGZpbHRlcmJsdXIuaCwgaXQncyBlYXNpZXIgdG8gaGF2ZSBldmVyeXRoaW5nIGluIHRoZSBzYW1lIGZpbGUKCjIwMDgtMDgtMTEgMDk6NTI6MTYgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJICBbMTQzLzkwNl0gQWRkIGluaXQgYW5kIHJlc2V0IGNhbGxiYWNrcyBpbiBHc3RHTEZpbHRlciB0byBydW4gYXJiaXRyYXJ5IGdsIGNvZGUgYXQgc3RhcnQgYW5kIHN0b3AuIFVzZWZ1bCB0byBpbml0IGFuZCBjbGVhbnVwIGN1c3RvbSBnbCByZXNvdXJjZXMuCgoyMDA4LTA4LTExIDA5OjAwOjQwICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkgIFsxNDIvOTA2XSBBZGQgYSBnZW5lcmljIGFjdGlvbiB0byBiZSBhYmxlIHRvIGV4ZWN1dGUgYXJiaXRyYXJ5IGdsIGNvZGUgd2l0aGluIHRoZSBnbCB0aHJlYWQgd2l0aCBsZXNzIHBhaW4KCjIwMDgtMDgtMTAgMTE6MjI6MzQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSAgWzE0MS85MDZdIHNvbWUgc3RlcHMgdG93YXJkcyBzaW1wbGlmaWNhdGlvbi4gYWRkZWQgYSBjb252ZW5pZW5jZSBmdW5jdGlvbiB0byBnc3RnbGZpbHRlciBhbmQgc29tZSBjb21tZW50IGhlcmUgYW5kIHRoZXJlCgoyMDA4LTA4LTA1IDEwOjE1OjA3ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzE0MC85MDZdIEZpeCBHTF9TVEFDS19PVkVSRkxPVwoKMjAwOC0wOC0wNCAxMjoxMzoyOSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSAgWzEzOS85MDZdIGZpeCB3YXJuaW5ncyB3aGVuIGNvbXBpbGluZyB1cGxvYWQvZG93bmxvYWQgc2hhZGVycwoKMjAwOC0wOC0wNCAwOTo1Njo1OSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgWzEzOC85MDZdIGlzIHRoYXQgdmlkZW9mb3JtYXQgcG9pbnRlciByZWFsbHkgbmVlZGVkPwoKMjAwOC0wOC0wNCAwOTo0NjoxNCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgWzEzNy85MDZdIERvbid0IHJlYWxsb2NhdGUgdGV4dHVyZSBtZW1vcnkgZXZlcnkgdGltZSBpbiB1cGxvYWRfKiBmdW5jdGlvbnMuCgoyMDA4LTA4LTAxIDExOjAwOjQ5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBbMTM2LzkwNl0gcmVpbmRlbnQgZ3N0Z2xkaXNwbGF5IHdpdGggZ3N0cmVhbWVyLWMtbW9kZQoKMjAwOC0wNy0zMSAxNzo0ODowNCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMTM1LzkwNl0gYWRkIGFuZCBtYWtlIHRoZSBGaWxpcHBvJ3MgZ3N0Z2xmaWx0ZXJibHVyIHdvcmtzIG9uIHRoZSBtYXN0ZXIgYnJhbmNoIChleGFtcGxlIG9mIG11bHRpcGxlIHN0ZXAgcmVuZGVyaW5nKQoKMjAwOC0wNy0yNSAwMTo0MzoyOCArMDIwMCAganVsaWVuIFVzZXIgPGp1bGllbkB1YnVudHUudWJ1bnR1LWRvbWFpbj4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbMTM0LzkwNl0gZml4IG1ha2VmaWxlcyBsaXN0IGZyb20gY29uZmlndXJlLmFjICh0ZXN0cyBoYXZlIGNoYW5nZXMpIGFuZCBmaXggYSB3YXJuaW5nCgoyMDA4LTA3LTIxIDAwOjI0OjQ4ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzEzMy85MDZdIGZpbmlzaCB0b2RvIHRhc2sgNAoKMjAwOC0wNy0yMCAxNjozODo0OCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFsxMzIvOTA2XSBtYWtlIHRoZSBwbHVnaW4gcHJvcGVybHkgc2h1dGRvd24gd2hlbiBvbmUgb2YgdGhlIGNoZWNrIHJlcXVpcmVtZW50cyBmYWlsZWQKCjIwMDgtMDctMTkgMDg6MzI6MzggKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJlZGdlLmM6CgkgIFsxMzEvOTA2XSBmaXggd2FybmluZ3MgKHVudXNlZCB2YXJzKQoKMjAwOC0wNy0xOSAwMzowMDoyNiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZWRnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJlZGdlLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uaDoKCSAgWzEzMC85MDZdIHVzZSBHc3RHTFNoYWRlciBpbiB0aGUgR0xTTCBjb2xvcnNwYWNlIGNvbnZlcnNpb24KCjIwMDgtMDctMTggMjI6MzM6NDQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkgIFsxMjkvOTA2XSBmaXhlZCB3YXJuaW5nIGZvciB1bnVzZWQgdmFyaWFibGUgKGZhdGFsIHdpdGggLVdlcnJvcikKCjIwMDgtMDctMTggMjE6NTU6MDAgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSAgWzEyOC85MDZdIGFkZCBHc3RHTFNoYWRlciBzdHVmZnMgaW4gdGhlIHZzOCBwcm9qZWN0LCBmaXggbGFwbGFjaWFuIGZyYWdtZW50IGNvZGUgdG8gbWFrZSBpdCBjb21waWxlIG9uIEFUSSwgYW5kIGZpeCBjaGVjayBmdW5jdGlvbiBhYm91dCBPcGVuZ2wgYW5kIEdsZXcgdmVyc2lvbgoKMjAwOC0wNy0xOCAxMDo0OTozNCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzEyNy85MDZdIEltcG9ydGVkIEdzdEdMU2hhZGVyIGZyb20gY3ZzIGJyYW5jaC4gQWRkZWQgYSBkZW1vIGxhcGxhY2lhbiBjb252b2x1dGlvbiBmaWx0ZXIgdG8gZGVtb25zdHJhdGUgaG93IHRoaXMgY2FuIGJlIGludGVncmF0ZWQgd2l0aCBtaW5pbXVtIGVmZm9ydC4KCjIwMDgtMDctMTYgMTU6MjM6MzYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQGh1dGNoLmxvY2FsPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkgIFsxMjYvOTA2XSBDaGFuZ2Ugc29tZSBndWludHMgdG8gR0x1aW50cyBiZWNhdXNlIG9mIHdhcm5pbmdzIG9uIE9TL1guCgoyMDA4LTA3LTE2IDE1OjIyOjM2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BodXRjaC5sb2NhbD4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzEyNS85MDZdIEFkZCBsaWJyYXJpZXMgYXMgYXBwcm9wcmlhdGUgdG8gZml4IGNvbXBpbGF0aW9uCgoyMDA4LTA3LTE1IDE0OjM2OjAzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIFsxMjQvOTA2XSBHbG9iYWwgcmVwbGFjZSBvZiBDUkxGIGxpbmUgZW5kaW5ncyB0byBMRgoKMjAwOC0wNy0xMiAxNDoxODo0NyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsxMjMvOTA2XSBYIFNwZWNpZmljOiBiZXR0ZXIgaW1wbGVtZW50YXRpb24gb2YgdGhlIGdzdF9nbF9zZXRfd2luZG93X2lkCgoyMDA4LTA3LTEyIDEzOjI0OjMwICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzEyMi85MDZdIGJldHRlciBpbXBsZW1lbnRhdGlvbiBvZiBnc3RfZ2xfZGlzcGxheV9zZXRfd2luZG93X2lkIGZvciB3aW4zMi4gKGNoYW5nZSB0aGUgd2luZG93IG9mIHRoZSBjdXJyZW50IHdnbGNvbnRleHQgaW5zdGVhZCBvZiByZWluaXQgZXZlcnl0aGluZywgYW5kIHNvIGF2b2lkIHNvbWUgcHJvYmxlbXMgYWJvdXQgb3BlbmdsIG9iamVjdHMgdGhhdCBjb3VsZCBiZSBpbml0IGluIHRoZSBwcmV2aW91cyB3Z2xjb250ZXh0IGFuZCBzbyBubyB1c2FibGUgaW4gdGhlIG5ld2VyIHdnbGNvbnRleHQsIGl0IHdoYXQgdGhlIGNhc2UgZm9yIHRoZSBmaXJzdCB0ZXh0dXJlKSBUaGlzIG5ld2VyIGltcGxlbWVudGF0aW9uIGhhcyBub3QgYmVlbiBtYWRlIHlldCBvbiBsaW51eAoKMjAwOC0wNy0xMiAwMToxMzowOCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsxMjEvOTA2XSBhdm9pZCB1c2Ugb2YgR0xTTCBmdW5jdGlvbnMgd2hlbiBmcmFnbWVudF9zaGFkZXIgaXMgbm90IGF2YWlsYWJsZQoKMjAwOC0wNy0xMSAwNjoyNDoyNyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsxMjAvOTA2XSBnaXQtc3ZuLWlkOiBzdm46Ly9zdm4ud29ib3cuY29tL0dTdHJlYW1lcl9wbGF5Z3JvdW5kL2dzdC1wbHVnaW5zLWdsQDU4MCA5M2RmMTRiYi0wZjQxLTdhNDMtODA4Ny1kM2UyYTJmMGU0NjQKCjIwMDgtMDctMTAgMjM6NTM6MzYgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzExOS85MDZdIGdpdC1zdm4taWQ6IHN2bjovL3N2bi53b2Jvdy5jb20vR1N0cmVhbWVyX3BsYXlncm91bmQvZ3N0LXBsdWdpbnMtZ2xANTc5IDkzZGYxNGJiLTBmNDEtN2E0My04MDg3LWQzZTJhMmYwZTQ2NAoKMjAwOC0wNy0wNyAyMDo1OToyMCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbMTE4LzkwNl0gZ2l0LXN2bi1pZDogc3ZuOi8vc3ZuLndvYm93LmNvbS9HU3RyZWFtZXJfcGxheWdyb3VuZC9nc3QtcGx1Z2lucy1nbEA1NzMgOTNkZjE0YmItMGY0MS03YTQzLTgwODctZDNlMmEyZjBlNDY0CgoyMDA4LTA3LTA2IDE2OjUwOjI5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbMTE3LzkwNl0gdXAgZ3RrIGV4YW1wbGUKCjIwMDgtMDctMDUgMjI6NTY6MjkgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZWRnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuaDoKCSAgWzExNi85MDZdIGdpdC1zdm4taWQ6IHN2bjovL3N2bi53b2Jvdy5jb20vR1N0cmVhbWVyX3BsYXlncm91bmQvZ3N0LXBsdWdpbnMtZ2xANTYzIDkzZGYxNGJiLTBmNDEtN2E0My04MDg3LWQzZTJhMmYwZTQ2NAoKMjAwOC0wNi0zMCAwMDozODozOSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFsxMTUvOTA2XSBnaXQtc3ZuLWlkOiBzdm46Ly9zdm4ud29ib3cuY29tL0dTdHJlYW1lcl9wbGF5Z3JvdW5kL2dzdC1wbHVnaW5zLWdsQDU1NiA5M2RmMTRiYi0wZjQxLTdhNDMtODA4Ny1kM2UyYTJmMGU0NjQKCjIwMDgtMDYtMjkgMTc6Mjc6NDMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJlZGdlLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMTE0LzkwNl0gZ2l0LXN2bi1pZDogc3ZuOi8vc3ZuLndvYm93LmNvbS9HU3RyZWFtZXJfcGxheWdyb3VuZC9nc3QtcGx1Z2lucy1nbEA1NTUgOTNkZjE0YmItMGY0MS03YTQzLTgwODctZDNlMmEyZjBlNDY0CgoyMDA4LTA2LTI4IDIzOjI4OjExICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFsxMTMvOTA2XSBnaXQtc3ZuLWlkOiBzdm46Ly9zdm4ud29ib3cuY29tL0dTdHJlYW1lcl9wbGF5Z3JvdW5kL2dzdC1wbHVnaW5zLWdsQDU1NCA5M2RmMTRiYi0wZjQxLTdhNDMtODA4Ny1kM2UyYTJmMGU0NjQKCjIwMDgtMDYtMjggMTU6Mzg6NDEgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMTEyLzkwNl0gZ2l0LXN2bi1pZDogc3ZuOi8vc3ZuLndvYm93LmNvbS9HU3RyZWFtZXJfcGxheWdyb3VuZC9nc3QtcGx1Z2lucy1nbEA1NTIgOTNkZjE0YmItMGY0MS03YTQzLTgwODctZDNlMmEyZjBlNDY0CgoyMDA4LTA2LTI0IDIyOjI4OjAzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzExMS85MDZdIHVwCgoyMDA4LTA2LTIzIDIzOjEyOjM3ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSAgWzExMC85MDZdIGdpdC1zdm4taWQ6IHN2bjovL3N2bi53b2Jvdy5jb20vR1N0cmVhbWVyX3BsYXlncm91bmQvZ3N0LXBsdWdpbnMtZ2xANTQ0IDkzZGYxNGJiLTBmNDEtN2E0My04MDg3LWQzZTJhMmYwZTQ2NAoKMjAwOC0wNi0yMyAxODo1NjoyOSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzEwOS85MDZdIGdpdC1zdm4taWQ6IHN2bjovL3N2bi53b2Jvdy5jb20vR1N0cmVhbWVyX3BsYXlncm91bmQvZ3N0LXBsdWdpbnMtZ2xANTQzIDkzZGYxNGJiLTBmNDEtN2E0My04MDg3LWQzZTJhMmYwZTQ2NAoKMjAwOC0wNi0yMSAyMTozODo0MiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJlZGdlLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuaDoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBbMTA4LzkwNl0gZ2l0LXN2bi1pZDogc3ZuOi8vc3ZuLndvYm93LmNvbS9HU3RyZWFtZXJfcGxheWdyb3VuZC9nc3QtcGx1Z2lucy1nbEA1NDAgOTNkZjE0YmItMGY0MS03YTQzLTgwODctZDNlMmEyZjBlNDY0CgoyMDA4LTA2LTE5IDIzOjM4OjM2ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzEwNy85MDZdIGZpeCBvcGVuZ2wgdmVyc2lvbiBjaGVja2VyCgoyMDA4LTA2LTE2IDIzOjEyOjQ4ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmVkZ2UuYzoKCSAgWzEwNi85MDZdIHVwIHNvYmVsIGFsZ28KCjIwMDgtMDYtMTUgMTg6MzE6MTIgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJlZGdlLmM6CgkgIFsxMDUvOTA2XSB1cCBTb2JlbCBmaWx0ZXIgYW5kIGdsL2dsZXcgdmVyc2lvbiBjaGVja2VyCgoyMDA4LTA2LTEzIDAwOjAxOjI2ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJlZGdlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmVkZ2UuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMTA0LzkwNl0gc3RhcnQgdG8gYWRkIGEgZ2xmaWx0ZXJlZGdlIHRoYXQgcHJvY2VlZHMgZWRnZSBkZXRlY3Rpb24gdXNpbmcgR0xTTAoKMjAwOC0wNi0xMiAyMTo0MDoxNyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC9nbC9nc3RnbGdyYXBoaWNtYWtlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xncmFwaGljbWFrZXIuaDoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21ha2VyLmM6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWFrZXIuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMTAzLzkwNl0gcmVuYW1lIGdsZ3JhcGhpY21ha2VyIC0+IGdsdXBsb2FkIGFuZCBnbHZpZGVvbWFrZXIgLT4gZ2xkb3dubG9hZAoKMjAwOC0wNi0xMSAyMzo0Mzo0MSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkgIFsxMDIvOTA2XSB1cAoKMjAwOC0wNi0xMSAyMzo0Mjo1MCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSAgWzEwMS85MDZdIGlkZW0KCjIwMDgtMDYtMTEgMjM6NDA6NTcgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkgIFsxMDAvOTA2XSBmaXggd2FybmluZ3MgbGludXgtc3BlY2lmaWMKCjIwMDgtMDYtMTEgMjM6NDA6MDEgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJICBbMDk5LzkwNl0gdXAgKHN3aXRjaGluZyBsaW51eCBhbmQgd2luMzIpIC4uLiBub3QgZnVuIGVkaXRvciAuLi4KCjIwMDgtMDYtMTEgMjM6Mzg6MzMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMDk4LzkwNl0gdXAuLi4KCjIwMDgtMDYtMTEgMjM6MzY6MjUgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZ3JhcGhpY21ha2VyLmM6CgkgIFswOTcvOTA2XSBmaXggd2FybmluZ3MKCjIwMDgtMDYtMTEgMjM6MzE6NTMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHRlc3RzcmMuaDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nbHRlc3RzcmMuaDoKCSAgWzA5Ni85MDZdIHVwCgoyMDA4LTA2LTExIDIzOjI2OjE2ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsdGVzdHNyYy5oOgoJICBbMDk1LzkwNl0gdXAKCjIwMDgtMDYtMTEgMjM6MjM6MTIgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIFswOTQvOTA2XSB1cAoKMjAwOC0wNi0xMSAyMzoxMjo1MyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFswOTMvOTA2XSByZW1vdmUgMiB3YXJuaW5ncwoKMjAwOC0wNi0xMSAyMzowNDo1MiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbMDkyLzkwNl0gRmluaXNoIHRvIHJldml2ZSB0aGUgZ2x0ZXN0c3JjLiBOZXh0IHN0ZXAgaXMgdG8gZG8gc29tZSByZWZhY3RvcmluZy4KCjIwMDgtMDYtMTEgMTg6MzM6NTMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHRlc3RzcmMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzA5MS85MDZdIHN0YXJ0IHRvIHJldml2ZSB0aGUgZ2x0ZXN0c3JjCgoyMDA4LTA2LTEwIDIzOjAwOjM5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzA5MC85MDZdIHVwCgoyMDA4LTA2LTEwIDIyOjU5OjU3ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzA4OS85MDZdIGFkZCBhICJnbGNvbG9yc2NhbGUiIGVsZW1lbnQgZXF1aXZhbGVudCB0byAiZmZtZXBnY29sb3JzcGFjZSAhIHZpZGVvc2NhbGUgISBmZm1wZWdjb2xvcnNwYWNlIgoKMjAwOC0wNi0xMCAyMjowODoxMSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xncmFwaGljbWFrZXIuYzoKCSogZ3N0L2dsL2dzdGdsZ3JhcGhpY21ha2VyLmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbMDg4LzkwNl0gZml4IHNvbWUgY2FwcyBuZWdvY2lhdGlvbnMgdGhvc2UgcGlwZWxpbmVzIHdvcmtzIGZpbmUgOiBnc3QtbGF1bmNoLTAuMTAgLXYgdmlkZW90ZXN0c3JjICEgdmlkZW8veC1yYXcteXV2LCB3aWR0aD0zMjAsIGhlaWdodD0yNDAgISBnbGdyYXBoaWNtYWtlciAhIHZpZGVvL3gtcmF3LWdsLCB3aWR0aD03MjAgLCBoZWlnaHQ9NTc2ICEgZ2xmaWx0ZXJjdWJlICEgZ2xpbWFnZXNpbmsgYW5kIGdzdC1sYXVuY2gtMC4xMCAtdiB2aWRlb3Rlc3RzcmMgISB2aWRlby94LXJhdy15dXYsIHdpZHRoPTMyMCwgaGVpZ2h0PTI0MCAhIGdsZ3JhcGhpY21ha2VyICEgdmlkZW8veC1yYXctZ2wsIHdpZHRoPTcyMCAsIGhlaWdodD01NzYgISBnbGltYWdlc2luawoKMjAwOC0wNi0xMCAxOTowNzo0MyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21ha2VyLmM6CgkgIFswODcvOTA2XSBnbGZpbHRlciBjYW4gYWNjZXB0IHRvIGhhdmUgYW4gaW5wdXQgc2l6ZSBkaWZmZXJlbnQgdGhhbiB0aGUgb3V0IHB1dCBzaXplIDogdmlkZW8veC1yYXctZ2wsIHdpZHRoPXcxLCBoZWlnaHQ9dzEgISBnbGZpbHRlciAhIHZpZGVvL3gtcmF3LWdsLCB3aWR0aD13MiwgaGVpZ2h0PXcyICEgKGZpeCBldmVyeSBleGFtcGxlcykKCjIwMDgtMDYtMDggMjI6MTE6MzYgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMDg2LzkwNl0gdXAKCjIwMDgtMDYtMDggMTM6MTU6MTIgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5oOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21ha2VyLmM6CgkgIFswODUvOTA2XSBmaXggcmVncmVzc2lvbnMgYWJvdXQgZ2x2aWRlb21ha2VyLgoKMjAwOC0wNi0wOCAwMjoxOTo0MyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xncmFwaGljbWFrZXIuYzoKCSogZ3N0L2dsL2dzdGdsZ3JhcGhpY21ha2VyLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzA4NC85MDZdIGFkZCBhIGdsZmlsdGVyYXBwIHdoaWNoIGhvbGRzIHRoZSBjbGllbnQgZHJhdyBhbmQgcmVzaGFwZSBjYWxsYmFja3MgKHNvbWUgIndhbnRlZCIgcmVncmVzc2lvbnMgYWJvdXQgdGhlIGdsdmlkZW9tYWtlciwgaGF2ZSBiZWVuIGRvbmUgd2l0aCB0aGlzIHZlcnNpb24uIFdpbGwgYmUgZml4IGluIG5leHQgY29tbWl0cykKCjIwMDgtMDYtMDcgMjE6NTY6MDAgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZ3JhcGhpY21ha2VyLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbMDgzLzkwNl0gZmluaXNoIHRvIGltcGxlbWVudCB0aGUgZ2xmaWx0ZXI6IGV4YW1wbGUgOiBnc3QtbGF1bmNoLTAuMTAgdmlkZW90ZXN0c3JjIG51bV9idWZmZXJzID0gMTAwICEgZ2xncmFwaGljbWFrZXIgISBnbGZpbHRlcmN1YmUgISBnbGltYWdlc2luawoKMjAwOC0wNi0wNyAxNToyNzoxMiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbMDgyLzkwNl0gZ2xmaWx0ZXIgY2FuIHJlcXVlc3QsIHVzZSBhbmQgcmVqZWN0IGEgRkJPIChzdGVwIDEpCgoyMDA4LTA2LTA3IDAwOjAxOjE4ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuaDoKCSogZ3N0L2dsL2dzdGdsZ3JhcGhpY21ha2VyLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFswODEvOTA2XSBzdGFydCB0byBhZGQgYSBnbGZpbHRlcgoKMjAwOC0wNS0yNCAxMjozNTozNCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFswODAvOTA2XSBmaXggZ3N0ZnJlZWdsdXQgbGludXggaW1wbGVtZW50YXRpb24gdG8gY29ycmVjdGx5IGhhbmRsZSB0aGUgZ3N0eG92ZXJsYXkgaW50ZXJmYWNlCgoyMDA4LTA1LTIyIDIwOjEwOjMxICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzA3OS85MDZdIHVwCgoyMDA4LTA1LTIxIDIyOjQ5OjIxICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbHZpZGVvbWFrZXIuYzoKCSAgWzA3OC85MDZdIHVwIGZyb20ga3VidW50dQoKMjAwOC0wNS0yMSAyMToxNzo0OSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFswNzcvOTA2XSB1cAoKMjAwOC0wNS0yMSAyMToxNTo0NyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFswNzYvOTA2XSBjaGVjayBPcGVuR0wgYW5kIEdsZXcgdmVyc2lvbnMKCjIwMDgtMDUtMjAgMTc6NDA6MjAgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWFrZXIuYzoKCSogZ3N0L2dsL2dzdGdsdmlkZW9tYWtlci5oOgoJICBbMDc1LzkwNl0gaW5kZW50CgoyMDA4LTA1LTE5IDIzOjA2OjA3ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzA3NC85MDZdIHVwCgoyMDA4LTA1LTE5IDIzOjAzOjIyICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzA3My85MDZdIHVwCgoyMDA4LTA1LTE5IDIxOjM2OjU5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzA3Mi85MDZdIHVwCgoyMDA4LTA1LTE5IDIxOjI4OjI4ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzA3MS85MDZdIHJlbW92ZSBhbGwgd2FybmluZ3MKCjIwMDgtMDUtMTkgMTg6NDU6NDYgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbMDcwLzkwNl0gaW1wbGVtZW50IGFuZCBmaXggb25DbG9zZTogd2hlbiBhIHVzZXIgY2xpY2sgb24gdGhlIGNyb3NzIG9mIGFuIGludGVybmFsIHdpbmRvdyAodGhlcmUgaXMgbm90IHRoaXMgaXNzdWUgd2hlbiB1c2luZyB0aGUgZ3N0eG92ZXJsYXkgaW50ZXJmYWNlKQoKMjAwOC0wNS0xOSAxNjo1NzozOSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xncmFwaGljbWFrZXIuYzoKCSogZ3N0L2dsL2dzdGdsZ3JhcGhpY21ha2VyLmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dzdGdsdmlkZW9tYWtlci5jOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21ha2VyLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzA2OS85MDZdIGFkZCBnc3RyZWFtZXIgbGljZW5zZQoKMjAwOC0wNS0xOCAyMDowNToxOCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFswNjgvOTA2XSB1cAoKMjAwOC0wNS0xOCAxOTo1ODo0OSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFswNjcvOTA2XSB1cAoKMjAwOC0wNS0xOCAxOToxODowNCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsZ3JhcGhpY21ha2VyLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21ha2VyLmM6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWFrZXIuaDoKCSAgWzA2Ni85MDZdIHVwCgoyMDA4LTA1LTE4IDE3OjU1OjU2ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBbMDY1LzkwNl0gdXAKCjIwMDgtMDUtMTggMTY6MDQ6NTYgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2wuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMDY0LzkwNl0gdXAKCjIwMDgtMDUtMTggMTQ6NDc6MDEgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBbMDYzLzkwNl0gdXAKCjIwMDgtMDUtMTggMTE6MTI6NDYgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsLmM6CgkqIGdzdC9nbC9nc3RnbGdyYXBoaWNtYWtlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xncmFwaGljbWFrZXIuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21ha2VyLmM6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWFrZXIuaDoKCSAgWzA2Mi85MDZdIGdpdC1zdm4taWQ6IHN2bjovL3N2bi53b2Jvdy5jb20vR1N0cmVhbWVyX3BsYXlncm91bmQvZ3N0LXBsdWdpbnMtZ2xANDIxIDkzZGYxNGJiLTBmNDEtN2E0My04MDg3LWQzZTJhMmYwZTQ2NAoKMjAwOC0wNy0xNSAxNDoxNjo1MyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbGV4dGVuc2lvbnMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsZXh0ZW5zaW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC8uY3ZzaWdub3JlOgoJKiBnc3QvZ2wvQlVHUzoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvY29sb3JfbWF0cml4LmM6CgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmg6CgkqIGdzdC9nbC9nc3RnbGNvbnZlcnQuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZXhhbXBsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuaDoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzA2MS85MDZdIEZpcnN0IFNWTiBjb21taXQuICBUaGlzIGNvbW1pdCBpcyBhIGhhY2sgdG8gbWFrZSBnaXQtcmViYXNlIHdvcmsKCjIwMDgtMDItMjMgMTU6MTA6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzA2MC85MDZdIAkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOiAoZ3N0X2dsX2J1ZmZlcl9mb3JtYXRfZnJvbV92aWRlb19mb3JtYXQpOiAJICBGaXggY29tcGlsZXIgd2FybmluZyBpZiB0aGVyZSBhcmUgdmlkZW8gZm9ybWF0IAkgIGVudW1zIGdzdGdsYnVmZmVyIGRvZXNuJ3Qga25vdyBhYm91dCB5ZXQuICogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOiAoZ3N0X2dsX2Rpc3BsYXlfdXBsb2FkX3RleHR1cmVfcmVjdGFuZ2xlKSwgKGdzdF9nbF9kaXNwbGF5X2RyYXdfdGV4dHVyZSk6IAkgIEZpeCBwcmludGYgZm9ybWF0IGZvciA2NC1iaXQgaW50ZWdlcnMuCgoyMDA4LTAxLTMxIDIzOjQwOjEzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZ2wtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZ2wucGMuaW46CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIFswNTkvOTA2XSAqIGNvbmZpZ3VyZS5hYzogKiBwa2djb25maWcvTWFrZWZpbGUuYW06ICogcGtnY29uZmlnL2dzdHJlYW1lci1nbC11bmluc3RhbGxlZC5wYy5pbjogKiBwa2djb25maWcvZ3N0cmVhbWVyLWdsLnBjLmluOiAqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1nbC11bmluc3RhbGxlZC5wYy5pbjogKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtZ2wucGMuaW46IFJlbmFtZSBwa2djb25maWcgZmlsZXMuICBBbmQgaW5zdGFsbCB0aGVtLiAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiAqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6ICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzogQWRkIHNvbWUgdGVzdHMgY29waWVkIGZyb20gLWdvb2QuCgoyMDA4LTAxLTMxIDIxOjM1OjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMDU4LzkwNl0gCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOiAJICBUaGUgbGlicmFyeSBuZWVkcyB0byBsaW5rIGFnYWluc3QgbGliZ3N0dmlkZW8tMC4xMC4gCSogZ3N0L2dsL01ha2VmaWxlLmFtOiAJICBUaGUgcGx1Z2luIGRvZXMgbm90IChJIHRoaW5rKSBuZWVkIHRvIGxpbmsgYWdhaW5zdCBHTCBvciBsaWJnc3R2aWRlbywgCSAgc2luY2Ugb3VyIG5ldyBnc3RyZWFtZXIgR0wgbGlicmFyeSBhbHJlYWR5IGRvZXMgdGhhdCwgYnV0IGl0IGRvZXMgCSAgbmVlZCB0byBsaW5rIGFnYWluc3Qgb3VyIGJyYW5kLW5ldyBsaWJnc3RnbC0wLjEwLgoKMjAwOC0wMS0zMSAyMDozMToxMSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvLmN2c2lnbm9yZToKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMDU3LzkwNl0gKiBnc3QvZ2wvLmN2c2lnbm9yZTogaW5nb3JlIHNvbWUgZmlsZXMgKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06IGRpc3RjaGVjayBmaXhlcyAqIGdzdC9nbC9NYWtlZmlsZS5hbTogZGlzdGNoZWNrIGZpeGVzICogd2luMzIvY29tbW9uL2NvbmZpZy5oOiAtZ29vZCBoYXMgdGhpcyBpbiBDVlMsIHNvIHdlIHdpbGwgdG9vLgoKMjAwOC0wMS0zMSAyMDoyMToyNiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMDU2LzkwNl0gKiBjb25maWd1cmUuYWM6IFJlYWRkIHByZS1wa2djb25maWcgT3BlbkdMIGRldGVjdGlvbiwgc2luY2UgcGtnY29uZmlnIHJlcXVpcmVzIE1lc2EgZnJvbSBnaXQgbWFzdGVyLiAqIGdzdC9nbC9nbGltYWdlc2luay5jOiAqIGdzdC9nbC9nc3RvcGVuZ2wuYzogTW92ZSBkZWJ1ZyBjYXRlZ29yeSBpbml0aWFsaXphdGlvbiB0byBlbGVtZW50LiAqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbTogKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzogKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDogKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzogKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDogTW92ZSBnbGZpbHRlciB0byBsaWJyYXJ5LiAqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1nbC5wYy5pbjogQWRkIGdzdHJlYW1lci1iYXNlLTAuMTAgYXMgYSByZXF1aXJlbWVudC4gKiBwby9lbi5wbzogVXBkYXRlLgoKMjAwOC0wMS0xOCAxNToxMzoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzA1NS85MDZdIAkqIGNvbmZpZ3VyZS5hYzogCSogZG9jcy9NYWtlZmlsZS5hbTogCSogZ3N0LWxpYnMvTWFrZWZpbGUuYW06IAkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbTogCSogZ3N0L2dsL01ha2VmaWxlLmFtOiAqIHRlc3RzL01ha2VmaWxlLmFtOiAJICBGaXggY29tcGlsYXRpb24gaW4gdW5pbnN0YWxsZWQgc2V0dXAgYW5kIHNvbWUgICBkaXN0Y2hlY2steSBiaXRzIChub3QgYWxsIHRob3VnaCkuCgoyMDA4LTAxLTE3IDIzOjIzOjMxICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFswNTQvOTA2XSBGaXhlcyB0byBtYWtlIHByb2plY3QgY29tcGlsZS4gIFByb2JhYmx5IHN0aWxsIGRvZXNuJ3Qgd29yay4gKiBjb25maWd1cmUuYWM6ICogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOiAqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbTogKiBnc3QvTWFrZWZpbGUuYW06ICogZ3N0L2dsL01ha2VmaWxlLmFtOiAqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzogKiBwby9MSU5HVUFTOiAqIHdpbjMyL01BTklGRVNUOgoKMjAwOC0wMS0xNyAxOTo0MDozNiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFswNTMvOTA2XSBBZGQgcHJvamVjdCBpbmZyYXN0cnVjdHVyZS4gIE5vdCBjb21wbGV0ZSwgZG9lc24ndCB3b3JrLiAqIC5jdnNpZ25vcmU6ICogQVVUSE9SUzogKiBDT1BZSU5HOiAqIENPUFlJTkcuTElCOiAqIElOU1RBTEw6ICogTWFrZWZpbGUuYW06ICogTkVXUzogKiBSRUFETUU6ICogUkVMRUFTRTogKiBSRVFVSVJFTUVOVFM6ICogYXV0b2dlbi5zaDogKiBjb25maWd1cmUuYWM6ICogZG9jcy8uY3ZzaWdub3JlOiAqIGRvY3MvTWFrZWZpbGUuYW06ICogZG9jcy9saWJzL01ha2VmaWxlLmFtOiAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogKiBkb2NzL3ZlcnNpb24uZW50aXRpZXMuaW46ICogZXh0L01ha2VmaWxlLmFtOiAqIGdzdC1saWJzL01ha2VmaWxlLmFtOiAqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbTogKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06ICogZ3N0LXBsdWdpbnMtZ2wuZG9hcDogKiBnc3QtcGx1Z2lucy1nbC5zcGVjLmluOiAqIGdzdC9NYWtlZmlsZS5hbTogKiBtNC8uY3ZzaWdub3JlOiAqIG00L01ha2VmaWxlLmFtOiAqIHBrZ2NvbmZpZy8uY3ZzaWdub3JlOiAqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbTogKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtZ2wtdW5pbnN0YWxsZWQucGMuaW46ICogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWdsLnBjLmluOiAqIHN5cy9NYWtlZmlsZS5hbTogKiB0ZXN0cy9NYWtlZmlsZS5hbTogKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbTogKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbTogKiB0b29scy9NYWtlZmlsZS5hbTogKiB3aW4zMi9jb21tb24vY29uZmlnLmguaW46CgoyMDA4LTAxLTA2IDAzOjAxOjM5ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzA1Mi85MDZdICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDogKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmg6ICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzogSGFuZGxlIHhvdmVybGF5IGV4cG9zZXMgY29ycmVjdGx5LiAgVGhpcyBtZWFucyBnbGltYWdlc2luayB3b3JrcyBjb3JyZWN0bHkgbW9zdCBvZiB0aGUgdGltZSBpbiB0b3RlbSAoZnVsbHNjcmVlbmluZyBiZWluZyBhbiBleGVjcHRpb24pLiAgRG9lc24ndCBoYW5kbGUgZXhwb3NlIGV2ZW50cyBkaXJlY3RseSB0byB0aGUgR0wgd2luZG93LgoKMjAwOC0wMS0wNiAwMToxOTo0OCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xleHRlbnNpb25zLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nbGV4dGVuc2lvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMDUxLzkwNl0gKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5jOiAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmg6ICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDogKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5Lmg6ICogc3lzL2dsc2luay9nc3RvcGVuZ2wuYzogUmVlbmFibGUgdmlkZW8veC1yYXctcmdiIGFuZCB4LXJhdy15dXYgZm9yIGdsaW1hZ2VzaW5rLiAgRW5hYmxlIHZibGFuayBzeW5jaHJvbml6YXRpb24uICBSZW1vdmUgdW51c2VkIGNvZGUuCgoyMDA3LTEyLTMxIDA3OjU1OjIzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzA1MC85MDZdICogY29uZmlndXJlLmFjOiAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06IFN3aXRjaCB0byB1c2luZyBwa2djb25maWcgdG8gZGV0ZWN0IGxpYkdMLiAgU2luY2Ugd2UgdXNlIHJlY2VudCBmZWF0dXJlcyBhZGRlZCB0byBNZXNhLCB0aGVyZSdzIG5vIHBvaW50IGluIGFkZGluZyBhIGNoZWNrIGZvciBwcmUtcGtnY29uZmlnIHZlcnNpb25zLgoKMjAwNy0xMi0yOSAwMDozNzo0MCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xleHRlbnNpb25zLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nbGV4dGVuc2lvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2xjb252ZXJ0LmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZXhhbXBsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMDQ5LzkwNl0gKiBjb25maWd1cmUuYWM6ICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuYzogKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5oOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6ICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuaDogKiBzeXMvZ2xzaW5rL2dzdGdsY29udmVydC5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5LmM6ICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuaDogKiBzeXMvZ2xzaW5rL2dzdGdsZG93bmxvYWQuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmM6ICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXJleGFtcGxlLmM6ICogc3lzL2dsc2luay9nc3RnbHRlc3RzcmMuYzogKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6IE1ham9yIGNsZWFudXAgb2YgY29kZS4gIENvbnZlcnQgZ2x1cGxvYWQgdG8gQmFzZVRyYW5zZm9ybS4gSGFuZGxlIGNhcHMgbmVnb3RpYXRpb24gbW9zdGx5IGNvcnJlY3RseS4gIFJlZW5hYmxlIGluIGJ1aWxkLgoKMjAwNy0xMi0yNyAwNToyNjowNSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFswNDgvOTA2XSAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6IENoYW5nZSBnbGltYWdlc2luayBvdmVyIHRvIHVzaW5nIEdMIGJ1ZmZlcnMuICBUaGlzIGJyZWFrcyBnbGltYWdlc2luayBmb3Igbm9ybWFsIG9wZXJhdGlvbiwgYnV0IHNob3VsZCBiZSBmaXhlZCBzb29uLgoKMjAwNy0xMi0yNyAwNDoxNToyNiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmV4YW1wbGUuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzA0Ny85MDZdICogc3lzL2dsc2luay9nbHRlc3RzcmMuYzogKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6ICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xkb3dubG9hZC5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyZXhhbXBsZS5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2x0ZXN0c3JjLmM6ICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOiBDb252ZXJ0IGdsZG93bmxvYWQgdG8gQmFzZVRyYW5zZm9ybS4gIE1ha2UgZ2xmaWx0ZXJleGFtcGxlIHZpc3VhbGx5IGludGVyZXN0aW5nLiAgQWRkIHN1cHBvcnQgZm9yIHZhcmlvdXMgZm9ybWF0cyB0byBkb3dubG9hZGluZy4gIEZpeCBhIGZldyBwbGFjZXMgd2hlcmUgd2UgbGVhayBHTCBzdGF0ZSB0byBvdGhlciBlbGVtZW50cyAoYmFkLCBidXQgaGFyZCB0byBwcmV2ZW50KS4KCjIwMDctMTItMjcgMDA6NTI6MjIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC9nbC9CVUdTOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9jb2xvcl9tYXRyaXguYzoKCSogZ3N0L2dsL2dzdGdsY29udmVydC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmV4YW1wbGUuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMDQ2LzkwNl0gKiBzeXMvZ2xzaW5rL0JVR1M6ICogc3lzL2dsc2luay9NYWtlZmlsZS5hbTogKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6ICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xjb252ZXJ0LmM6ICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmM6ICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXJleGFtcGxlLmM6ICogc3lzL2dsc2luay9nc3RnbHRlc3RzcmMuYzogKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6ICogc3lzL2dsc2luay9nc3RvcGVuZ2wuYzogUmVtb3ZlIGNvZGUgdGhhdCBoYW5kbGVzIG5vbi10ZXh0dXJlIGJ1ZmZlcnMuICBBZGQgYSBHc3RHTEJ1ZmZlckZvcm1hdCB0eXBlIHRoYXQgY29ycmVzcG9uZHMgdG8gaG93IHRvIHVzZSB0aGUgdGV4dHVyZSwgbm90IHRoZSBvcmlnaW5hbCB2aWRlbyBmb3JtYXQuICBDb252ZXJ0IGdzdGZsZmlsdGVyLmMgaW50byBhIGJhc2UgY2xhc3MsIGFkZCBnbGZpbHRlcmV4YW1wbGUgYW5kIGdsY29udmVydCBlbGVtZW50cy4gKiBzeXMvZ2xzaW5rL2NvbG9yX21hdHJpeC5jOiBNaW5vciByYW1ibGluZ3MgYWJvdXQgY29sb3IgY29udmVyc2lvbiBtYXRyaWNlcy4KCjIwMDctMTItMjUgMDA6MzQ6MTMgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dsdGVzdHNyYy5oOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuaDoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzA0NS85MDZdICogc3lzL2dsc2luay9NYWtlZmlsZS5hbTogKiBzeXMvZ2xzaW5rL2dsdGVzdHNyYy5jOiAqIHN5cy9nbHNpbmsvZ2x0ZXN0c3JjLmg6ICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZG93bmxvYWQuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmM6ICogc3lzL2dsc2luay9nc3RnbHRlc3RzcmMuYzogKiBzeXMvZ2xzaW5rL2dzdGdsdGVzdHNyYy5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzogKiBzeXMvZ2xzaW5rL2dzdG9wZW5nbC5jOiBBZGQgZ2x0ZXN0c3JjIGVsZW1lbnQsIGEgZHVwbGljYXRlIG9mIHZpZGVvdGVzdHNyYyB0aGF0IHVzZXMgR0wgcmVuZGVyaW5nIHRvIGNyZWF0ZSBpbWFnZXMuICBNb3JlIGNsZWFudXAuCgoyMDA3LTEyLTI0IDIxOjI2OjM4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgWzA0NC85MDZdICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xkb3dubG9hZC5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuYzogQ2xlYW4gdXAgY29kZS4gIEZpeCBhIGZldyBsZWFrcy4KCjIwMDctMTItMjQgMjE6MDQ6NDUgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dsdmlkZW8uYzoKCSogZ3N0L2dsL2dsdmlkZW8uaDoKCSAgWzA0My85MDZdICogc3lzL2dsc2luay9NYWtlZmlsZS5hbTogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6ICogc3lzL2dsc2luay9nbHZpZGVvLmM6ICogc3lzL2dsc2luay9nbHZpZGVvLmg6ICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuaDogKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5Lmg6IFJlbmFtZSBnbHZpZGVvLltjaF0gdG8gZ3N0Z2xkaXNwbGF5LltjaF0uCgoyMDA3LTEyLTI0IDIwOjUzOjU1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ2x2aWRlby5jOgoJKiBnc3QvZ2wvZ2x2aWRlby5oOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFswNDIvOTA2XSAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6ICogc3lzL2dsc2luay9nbHZpZGVvLmM6ICogc3lzL2dsc2luay9nbHZpZGVvLmg6ICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuaDogKiBzeXMvZ2xzaW5rL2dzdGdsZG93bmxvYWQuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmM6ICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOiBSZXdyaXRlIGEgYnVuY2ggb2YgY29kZSB0byB1c2UgdGV4dHVyZXMgYXMgdGhlIGludGVybWVkaWF0ZSBpbnN0ZWFkIG9mIHJlbmRlcmJ1ZmZlcnMuICB1cGxvYWQsIGRvd25sb2FkLCBmaWx0ZXJpbmcgYWxsIHdvcmsuCgoyMDA3LTEyLTIyIDA1OjAxOjU3ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbGV4dGVuc2lvbnMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsZXh0ZW5zaW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0L2dsL2dsdmlkZW8uYzoKCSogZ3N0L2dsL2dsdmlkZW8uaDoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFswNDEvOTA2XSAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmM6ICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuaDogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDogKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6ICogc3lzL2dsc2luay9nc3RnbGRvd25sb2FkLmM6ICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOiBBIGNhcmVmdWwgcmVhZCBvZiB0aGUgZG9jdW1lbnRhdGlvbiByZXZlYWxzIHRoYXQgSSBjYW4ndCB1c2UgcmVuZGVyYnVmZmVycyBhcyB0ZXh0dXJlcy4gIER1aC4gQ2hlY2twb2ludCBiZWNhdXNlIEknbSBhYm91dCB0byByZXdyaXRlIGEgYnVuY2ggb2YgY29kZS4KCjIwMDctMTItMjEgMDA6MDM6MTAgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsZXh0ZW5zaW9ucy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xleHRlbnNpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nbHZpZGVvLmM6CgkqIGdzdC9nbC9nbHZpZGVvLmg6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMDQwLzkwNl0gKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOiAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmM6ICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuaDogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6ICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzogKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmg6ICogc3lzL2dsc2luay9nc3RnbGRvd25sb2FkLmM6ICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzogKiBzeXMvZ2xzaW5rL2dzdG9wZW5nbC5jOiBTd2l0Y2ggdG8gdXNpbmcgZnJhbWVidWZmZXJfb2JqZWN0cyBpbnN0ZWFkIG9mIEdMWFBpeG1hcHMsIGJlY2F1c2UgdGhhdCdzIHdoYXQgbXkgZHJpdmVyIHN1cHBvcnRzLiAgUmVtb3ZlIEdMRHJhd2FibGUsIHNpbmNlIEdzdEdMRGlzcGxheSBub3cgaGFzIGEgZGVmYXVsdCBkcmF3YWJsZSBhbmQgY29udGV4dC4KCjIwMDctMTItMTggMDE6MjU6NTcgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nbHZpZGVvLmM6CgkqIGdzdC9nbC9nbHZpZGVvLmg6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkqIGdzdC9nbC9nc3R2aWRlby1jb21tb24uYzoKCSogZ3N0L2dsL2dzdHZpZGVvLWNvbW1vbi5oOgoJICBbMDM5LzkwNl0gKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6ICogc3lzL2dsc2luay9nbHZpZGVvLmM6ICogc3lzL2dsc2luay9nbHZpZGVvLmg6ICogc3lzL2dsc2luay9nc3RvcGVuZ2wuYzogKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6IFVzZSBuZXcgR3N0VmlkZW9Gb3JtYXQgY2hlY2tlZCBpbnRvIC1iYXNlLiAgQWRkIG5ldyBnbHVwbG9hZCBlbGVtZW50IHRvIHVwbG9hZCByYXcgdmlkZW8gaW50byBhIEdMWFBpeGJ1Zi4gIFVudGVzdGVkLiAgV2lsbCBsaWtlbHkgY3Jhc2ggeW91ciBtb3RvcmN5Y2xlIGlmIHlvdSB0cnkgaXQuICogc3lzL2dsc2luay9nc3R2aWRlby1jb21tb24uYzogKiBzeXMvZ2xzaW5rL2dzdHZpZGVvLWNvbW1vbi5oOiBSZW1vdmUuCgoyMDA3LTEyLTE2IDIyOjU3OjIxICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dsdmlkZW8uYzoKCSogZ3N0L2dsL2dsdmlkZW8uaDoKCSAgWzAzOC85MDZdICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDogUmVuYW1lIEdMVmlkZW8qIHRvIEdzdEdMKi4KCjIwMDctMTItMTYgMDA6MTY6NDYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsZXh0ZW5zaW9ucy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xleHRlbnNpb25zLmg6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dsdmlkZW8uYzoKCSAgWzAzNy85MDZdICogc3lzL2dsc2luay9NYWtlZmlsZS5hbTogKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5jOiAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmg6ICogc3lzL2dsc2luay9nbHZpZGVvLmM6IEFkZCB2Ymxhbmsgc3luY2hyb25pemF0aW9uLiAgSXNuJ3QgcmVhbGx5IHdvcmtpbmcgb24gbXkgZHJpdmVyLiA6KAoKMjAwNy0xMi0xNSAxOTozMToyMyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ2x2aWRlby5jOgoJKiBnc3QvZ2wvZ2x2aWRlby5oOgoJKiBnc3QvZ2wvZ3N0dmlkZW8tY29tbW9uLmM6CgkqIGdzdC9nbC9nc3R2aWRlby1jb21tb24uaDoKCSAgWzAzNi85MDZdICogc3lzL2dsc2luay9NYWtlZmlsZS5hbTogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6ICogc3lzL2dsc2luay9nbHZpZGVvLmM6ICogc3lzL2dsc2luay9nbHZpZGVvLmg6ICogc3lzL2dsc2luay9nc3R2aWRlby1jb21tb24uYzogKiBzeXMvZ2xzaW5rL2dzdHZpZGVvLWNvbW1vbi5oOiBBZGQgc3VwcG9ydCBmb3IgeFJHQiwgeEJHUiwgYW5kIEFZVVYuICBSZS1hZGQgc3VwcG9ydCBmb3IgcG93ZXItb2YtMiB0ZXh0dXJlcy4KCjIwMDctMTItMTUgMDY6MzM6MzYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nbHZpZGVvLmM6CgkqIGdzdC9nbC9nbHZpZGVvLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSogZ3N0L2dsL2dzdHZpZGVvLWNvbW1vbi5jOgoJKiBnc3QvZ2wvZ3N0dmlkZW8tY29tbW9uLmg6CgkgIFswMzUvOTA2XSAqIHN5cy9nbHNpbmsvZ3N0dmlkZW8tY29tbW9uLmM6ICogc3lzL2dsc2luay9nc3R2aWRlby1jb21tb24uaDogUHVsbCB0b2dldGhlciBzb21lIGNvbW1vbiByYXcgdmlkZW8gZnVuY3Rpb25zIGludG8gb25lIGxvY2F0aW9uLiBUaGlzIHNob3VsZCBldmVudHVhbGx5IG1vdmUgdG8gLWJhc2UuICogc3lzL2dsc2luay9NYWtlZmlsZS5hbTogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6ICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOiAqIHN5cy9nbHNpbmsvZ3N0b3BlbmdsLmM6IFVzZSB0aGUgbmV3IHZpZGVvLWNvbW1vbi5oIHN0dWZmLiAgUmVhZGQgc3VwcG9ydCBmb3IgUkdCIHZpZGVvLgoKMjAwNy0xMi0xNCAxNjoyMzowNiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMDM0LzkwNl0gdXBkYXRlIHNwZWMgZmlsZSBhbmQgYWRkIHR3byBtaXNzaW5nIGZpbGVzIGZvciBkaXN0aW5nCgoyMDA3LTEyLTEyIDAyOjMzOjEyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nbHZpZGVvLmM6CgkqIGdzdC9nbC9nbHZpZGVvLmg6CgkgIFswMzMvOTA2XSAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06ICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOiBTcGxpdCBvdXQgZ2wtcmVsYXRlZCBjb2RlIGludG8gYSBzZXBhcmF0ZSBmaWxlIHdpdGggYSBzZW5zaWJsZSBBUEkuICBNYWpvciBjbGVhbnVwLiAgU3RpbGwgY3Jhc2hlcyBvY2Nhc2lvbmFsbHkgZHVlIHRvIGRpZmZlcmVudCB0aHJlYWRzIHRvdWNoaW5nIGJpdHMgYXQgdGhlIHNhbWUgdGltZS4KCjIwMDctMDYtMDYgMTU6NTg6MzEgKzAwMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkgIFswMzIvOTA2XSAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlX3Npbmtfc3RvcCksIChnc3RfZ2xpbWFnZV9zaW5rX2NyZWF0ZV93aW5kb3cpLCAoZ3N0X2dsaW1hZ2Vfc2lua19pbml0X2Rpc3BsYXkpOiBTcHJpbmtsZSBpbiBzb21lIFhTeW5jIGNhbGxzIHRvIGF2b2lkIHJhY2luZXNzIHdpdGggYnJva2VuIGRyaXZlcnMgKEFUSSkgd2hlbiByZS11c2luZyBhIHNpbmdsZSBnbGltYWdlc2luay4KCjIwMDctMDUtMTggMTI6Mzk6NDkgKzAwMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkgIFswMzEvOTA2XSAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlX3NpbmtfaW5pdF9kaXNwbGF5KTogVXBkYXRlIHRoZSBjYWNoZWQgY2FwcyBhZnRlciBvcGVuaW5nIHRoZSBkaXNwbGF5IHNvIHRoYXQgd2UgcmVwb3J0IG9ubHkgdGhlIHN1cHBvcnRlZCBjYXBzIGZvcm1hdHMsIG5vdCBqdXN0IHRoZSB0ZW1wbGF0ZSBjYXBzLiBGaXhlczogIzQzOTQwNQoKMjAwNy0wNC0wMyAyMjozNjo0NyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSAgWzAzMC85MDZdICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiBGaXggaGFuZGxpbmcgb2YgdmlkZW8veC1yYXcteXV2LiAgQWRkIG92ZXJsYXkgaGFuZGxpbmcuCgoyMDA2LTA5LTIzIDAwOjI4OjM1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJICBbMDI5LzkwNl0gKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IEZpeCBwcm9ibGVtcyB3aGVuIHRoZSBlbGVtZW50IGNhbm5vdCBvcGVuIHRoZSBkaXNwbGF5LiAoZml4ZXMgIzM1NzIxMikKCjIwMDYtMDktMjIgMTU6NTk6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkgIFswMjgvOTA2XSAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKHBsdWdpbl9pbml0KTogTG93ZXIgcmFuayBmcm9tIFNFQ09OREFSWSB0byBNQVJHSU5BTC4gUGx1Z2lucyBpbiAtYmFkIHRoYXQgbWlnaHQgYmUgYXV0b3BsdWdnZWQgc2hvdWxkbid0IHRydW1wIHBsdWdpbnMgaW4gLWJhc2UsIC1nb29kIG9yIC11Z2x5IChpbiB0aGlzIGNhc2UgeGltYWdlc2luaykuICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAocGx1Z2luX2luaXQpOiBTZXQgcmFuayB0byBOT05FIHRvIHByZXZlbnQgaXQgZnJvbSBiZWluZyBhdXRvcGx1Z2dlZCB1bnRpbCBlcnJvcnMgYXJlIGhhbmRsZWQgcHJvcGVybHkgKHNlZSAjMzU3MjEyKS4KCjIwMDYtMDgtMTUgMTk6Mjk6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkgIFswMjcvOTA2XSAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzogKGdzdF9mYW1lZW5jX2dldF9wcm9wZXJ0eSk6ICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2Vfc2lua19nZXRfcHJvcGVydHkpOiBGaXggbGVha3MgKCMzNTE1MDIpLgoKMjAwNi0wNi0yMyAwOTowOTo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSAgWzAyNi85MDZdICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6ICogZXh0L2dzbS9nc3Rnc21lbmMuYzogKiBleHQvbGlibW1zL2dzdG1tcy5jOiAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6ICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzogKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOiAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogVXNlIEdTVF9ERUJVR19DQVRFR09SWV9TVEFUSUMgd2hlcmUgcG9zc2libGUgKCMzNDI1MDMpIGFuZCBmaXggb25lIEdPYmplY3QgYm9pbGVycGxhdGUgbWFjcm8uCgoyMDA2LTA0LTI1IDIxOjU2OjM4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSAgWzAyNS85MDZdICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6ICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6ICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzogKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOiAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzogKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzogKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOiAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzogKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6ICogZXh0L2J6Mi9nc3RiejJkZWMuYzogKiBleHQvYnoyL2dzdGJ6MmVuYy5jOiAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzogKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6ICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOiAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzogKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19iYXNlX2luaXQpOiAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2Jhc2VfaW5pdCk6ICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6ICogZXh0L2dzbS9nc3Rnc21lbmMuYzogKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzogKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6ICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6ICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOiAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX2Jhc2VfaW5pdCk6ICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfYmFzZV9pbml0KTogKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfYmFzZV9pbml0KTogKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX2Jhc2VfaW5pdCk6ICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOiAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6ICogZXh0L3Nob3V0L2dzdHNob3V0LmM6ICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6ICogZXh0L3NuZGZpbGUvZ3N0c2YuYzogKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6ICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuYzogKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOiAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpOiAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KTogKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6ICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOiAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6IChnc3RfY2R4YV9wYXJzZV9iYXNlX2luaXQpOiAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2Jhc2VfaW5pdCk6ICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6ICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOiAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOiAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9iYXNlX2luaXQpOiAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOiAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6ICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6ICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzogKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6IChnc3RfcHV6emxlX2Jhc2VfaW5pdCk6ICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOiAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOiAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5jOiAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzogKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzogKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6ICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOiAqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOiAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6ICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6ICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzogKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOiAqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzogKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzogKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOiAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6ICogZ3N0L3R0YS9nc3R0dGFkZWMuYzogKGdzdF90dGFfZGVjX2Jhc2VfaW5pdCk6ICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9iYXNlX2luaXQpOiAqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6ICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOiAqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6ICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiAoZ3N0X3hpbmdfbXV4X2Jhc2VfaW5pdCk6ICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzogKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzogKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6ICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOiAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKiBzeXMvdmNkL3ZjZHNyYy5jOiAoZ3N0X3ZjZHNyY19iYXNlX2luaXQpOiAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IERlZmluZSBHc3RFbGVtZW50RGV0YWlscyBhcyBjb25zdCBhbmQgYWxzbyBzdGF0aWMgKHdoZW4gZGVmaW5lZCBhcyBnbG9iYWwpCgoyMDA2LTA0LTAxIDEwOjA5OjExICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgYXQgYXBlc3RhYXJ0IGRvdCBvcmc+CgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSAgWzAyNC85MDZdIHJld29yayBidWlsZDsgYWRkIHRyYW5zbGF0aW9ucyBmb3IgdjRsMgoKMjAwNi0wMi0yNSAyMTo0MDowOCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQGZsdWVuZG8uY29tPgoKCSAgWzAyMy85MDZdIDIwMDYtMDItMjUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IEl0IGRvZXNuJ3Qgc2VlbSB3ZSBuZWVkIEdMVS5oCgoyMDA2LTAyLTIyIDE0OjM3OjIwICswMDAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkgIFswMjIvOTA2XSAgICAgICAgICogY29uZmlndXJlLmFjOiAgICAgICAgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbTogICAgICAgTWVyZ2UgcGF0Y2ggZnJvbSAjMzE3MDQ4IGZvciBidWlsZGluZyBvbiBDeWd3aW4uIFBhdGNoIGJ5IEN5Z3dpbiBQb3J0cyBtYWludGFpbmVyLiAgICAgICAgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2Vfc2lua19pbml0X2Rpc3BsYXkpOiAgICAgICAgIE1vdmUgbm9ybWFsIGRlYnVnIG91dHB1dCB0byBMT0cgbGV2ZWwgbm90IEVSUk9SLgoKMjAwNi0wMi0xNCAxMTozNjozMCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgWzAyMS85MDZdIDIwMDYtMDItMTQgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jIChnc3RfZ2xpbWFnZV9zaW5rX2luaXQpOiBDb21lIG9uCgkgIHNjaGxlZWYsIGRvbid0IGJyZWFrIG1lIGdzdC1pbnNwZWN0IC1hLgoKMjAwNi0wMS0zMCAxNTo0Nzo0NyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMDIwLzkwNl0gMjAwNi0wMS0zMCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtIChsaWJnc3RnbGltYWdlc2lua19sYV9MSUJBREQpCgkgIChsaWJnc3RnbGltYWdlc2lua19sYV9DRkxBR1MpOiBBZGQgUExVR0lOU19CQVNFIGNmbGFncyBhbmQgbGlicy4KCjIwMDYtMDEtMjggMTI6NDU6NTQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMDE5LzkwNl0gKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOiBnbGltYWdlc2luay5oIGlzIGRlYWQsIGxvbmcgbGl2ZSBnbGltYWdlc2luay5oCgoyMDA2LTAxLTI4IDA0OjM5OjE4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nbGltYWdlc2luay5oOgoJICBbMDE4LzkwNl0gKiBjb25maWd1cmUuYWM6ICogc3lzL01ha2VmaWxlLmFtOiAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06ICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDogcmV2aXZhbCBvZiBnbGltYWdlc2luay4gIEtpbmQgb2Ygd29ya3MuCgoyMDA1LTExLTIxIDE0OjMzOjExICswMDAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJICBbMDE3LzkwNl0gICAgICAgICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogICAgICAgICAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuYzogKGdzdF9wb2x5cHNpbmtfc2lua19maXhhdGUpOiAgICAgICAgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogKGdzdF9yZmJzcmNfZml4YXRlKTogICAgICAgICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6ICAgICAgICAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZXNpbmtfZml4YXRlKTogICAgICAgICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2ZpeGF0ZSk6ICAgICAgICAgUmVuYW1lIGdzdF9jYXBzX3N0cnVjdHVyZV9maXhhdGVfKiB0byBnc3Rfc3RydWN0dXJlX2ZpeGF0ZV8qICAgICAgICAgKCMzMjIwMjcpCgoyMDA1LTEwLTEyIDE0OjI5OjU1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSAgWzAxNi85MDZdICogZXhhbXBsZXMvaW5kZXhpbmcvaW5kZXhtcGVnLmM6IChtYWluKTogKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6IChnc3RfYXJ0c2RzaW5rX29wZW5fYXVkaW8pLCAoZ3N0X2FydHNkc2lua19jbG9zZV9hdWRpbyksIChnc3RfYXJ0c2RzaW5rX2NoYW5nZV9zdGF0ZSk6ICogZXh0L2FydHNkL2dzdGFydHNkc2luay5oOiAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOiAoZ3N0X2FmcGFyc2Vfb3Blbl9maWxlKSwgKGdzdF9hZnBhcnNlX2Nsb3NlX2ZpbGUpOiAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5oOiAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6IChnc3RfYWZzaW5rX29wZW5fZmlsZSksIChnc3RfYWZzaW5rX2Nsb3NlX2ZpbGUpLCAoZ3N0X2Fmc2lua19jaGFpbiksIChnc3RfYWZzaW5rX2NoYW5nZV9zdGF0ZSk6ICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuaDogKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6IChnc3RfYWZzcmNfb3Blbl9maWxlKSwgKGdzdF9hZnNyY19jbG9zZV9maWxlKSwgKGdzdF9hZnNyY19jaGFuZ2Vfc3RhdGUpOiAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuaDogKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6IChnc3RfY2RhdWRpb19pbml0KTogKiBleHQvZGlyZWN0ZmIvZGlyZWN0ZmJ2aWRlb3NpbmsuYzogKGdzdF9kaXJlY3RmYnZpZGVvc2lua19pbml0KTogKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19pbml0KTogKiBleHQvamFjay9nc3RqYWNrLmg6ICogZXh0L2phY2svZ3N0amFja2Jpbi5jOiAoZ3N0X2phY2tfYmluX2luaXQpLCAoZ3N0X2phY2tfYmluX2NoYW5nZV9zdGF0ZSk6ICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfaW5pdCk6ICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2luaXQpOiAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3Npbmtfb3Blbl9hdWRpbyksIChnc3RfbmFzc2lua19jbG9zZV9hdWRpbyksIChnc3RfbmFzc2lua19jaGFuZ2Vfc3RhdGUpOiAqIGV4dC9uYXMvbmFzc2luay5oOiAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuYzogKGdzdF9wb2x5cHNpbmtfaW5pdCk6ICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKTogKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOiAqIGV4dC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzogKGdzdF9zbW9vdGh3YXZlX2luaXQpOiAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6IChnc3Rfc2Zfc2V0X3Byb3BlcnR5KSwgKGdzdF9zZl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3NmX3JlbGVhc2VfcmVxdWVzdF9wYWQpLCAoZ3N0X3NmX29wZW5fZmlsZSksIChnc3Rfc2ZfY2xvc2VfZmlsZSksIChnc3Rfc2ZfbG9vcCk6ICogZXh0L3NuZGZpbGUvZ3N0c2YuaDogKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY19pbml0KTogKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOiAoZ3N0X3RhcmtpbmRlY19pbml0KTogKiBnc3QvYXBldGFnL2FwZWRlbXV4LmM6IChnc3RfYXBlX2RlbXV4X2luaXQpOiAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6IChnc3RfY2R4YXBhcnNlX2luaXQpOiAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2luaXQpOiAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOiAoZ3N0X2Zlc3RpdmFsX2NoYW5nZV9zdGF0ZSk6ICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmg6ICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOiAoZ3N0X21wZWcyc3VidF9pbml0KTogKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6IChnc3RfbXVsdGlmaWxlc2lua19pbml0KSwgKGdzdF9tdWx0aWZpbGVzaW5rX3NldF9sb2NhdGlvbiksIChnc3RfbXVsdGlmaWxlc2lua19vcGVuX2ZpbGUpLCAoZ3N0X211bHRpZmlsZXNpbmtfY2xvc2VfZmlsZSksIChnc3RfbXVsdGlmaWxlc2lua19uZXh0X2ZpbGUpLCAoZ3N0X211bHRpZmlsZXNpbmtfcGFkX3F1ZXJ5KSwgKGdzdF9tdWx0aWZpbGVzaW5rX2hhbmRsZV9ldmVudCksIChnc3RfbXVsdGlmaWxlc2lua19jaGFpbiksIChnc3RfbXVsdGlmaWxlc2lua19jaGFuZ2Vfc3RhdGUpOiAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuaDogKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOiAoZ3N0X3ZpZGVvZHJvcF9pbml0KTogKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzogKGNkcGxheWVyX2luaXQpOiAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzogKGR4cjNhdWRpb3NpbmtfaW5pdCksIChkeHIzYXVkaW9zaW5rX29wZW4pLCAoZHhyM2F1ZGlvc2lua19jbG9zZSksIChkeHIzYXVkaW9zaW5rX2NoYWluX3BjbSksIChkeHIzYXVkaW9zaW5rX2NoYWluX2FjMyksIChkeHIzYXVkaW9zaW5rX2NoYW5nZV9zdGF0ZSk6ICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5oOiAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6IChkeHIzc3B1c2lua19pbml0KSwgKGR4cjNzcHVzaW5rX29wZW4pLCAoZHhyM3NwdXNpbmtfY2xvc2UpLCAoZHhyM3NwdXNpbmtfY2hhaW4pLCAoZHhyM3NwdXNpbmtfY2hhbmdlX3N0YXRlKTogKiBzeXMvZHhyMy9keHIzc3B1c2luay5oOiAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzogKGR4cjN2aWRlb3NpbmtfaW5pdCksIChkeHIzdmlkZW9zaW5rX29wZW4pLCAoZHhyM3ZpZGVvc2lua19jbG9zZSksIChkeHIzdmlkZW9zaW5rX3dyaXRlX2RhdGEpLCAoZHhyM3ZpZGVvc2lua19jaGFuZ2Vfc3RhdGUpOiAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuaDogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZXNpbmtfaW5pdCk6ICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOiAoZ3N0X3FjYW1zcmNfY2hhbmdlX3N0YXRlKSwgKGdzdF9xY2Ftc3JjX29wZW4pLCAoZ3N0X3FjYW1zcmNfY2xvc2UpOiAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuaDogKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19pbml0KTogKiBzeXMvdmNkL3ZjZHNyYy5jOiAoZ3N0X3ZjZHNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3ZjZHNyY19nZXQpLCAoZ3N0X3ZjZHNyY19vcGVuX2ZpbGUpLCAoZ3N0X3ZjZHNyY19jbG9zZV9maWxlKSwgKGdzdF92Y2RzcmNfY2hhbmdlX3N0YXRlKSwgKGdzdF92Y2RzcmNfcmVjYWxjdWxhdGUpOiAqIHN5cy92Y2QvdmNkc3JjLmg6IHJlbmFtZWQgR1NUX0ZMQUdTIG1hY3JvcyB0byBHU1RfT0JKRUNUX0ZMQUdTIG1vdmVkIGJpdHNoaWZ0IGZyb20gbWFjcm8gdG8gZW51bSBkZWZpbml0aW9uCgoyMDA1LTA5LTA1IDE3OjIwOjI4ICswMDAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJICBbMDE1LzkwNl0gICAgICAgICAgIEZpeCB1cCBhbGwgdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbnMuCgoyMDA0LTExLTAxIDE0OjQzOjM4ICswMDAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJICBbMDE0LzkwNl0gKiBleHQvYWxzYS9nc3RhbHNhLmM6IChnc3RfYWxzYV9jbGFzc19pbml0KSwgKGdzdF9hbHNhX2Rpc3Bvc2UpLCAgICAgICAgIChnc3RfYWxzYV9maW5hbGl6ZSk6ICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOiAoZ3N0X2NkYXVkaW9fY2xhc3NfaW5pdCksICAgICAgICAgKGdzdF9jZGF1ZGlvX2ZpbmFsaXplKTogKiBleHQvY2RwYXJhbm9pYS9nc3RjZHBhcmFub2lhLmM6IChjZHBhcmFub2lhX2NsYXNzX2luaXQpLCAoY2RwYXJhbm9pYV9maW5hbGl6ZSk6ICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOiAoZ3N0X2RpdnhkZWNfZGlzcG9zZSk6ICogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOiAoZ3N0X2RpdnhlbmNfZGlzcG9zZSk6ICogZXh0L2R2ZHJlYWQvZHZkcmVhZHNyYy5jOiAoZHZkcmVhZHNyY19jbGFzc19pbml0KSwgICAgICAgICAoZHZkcmVhZHNyY19maW5hbGl6ZSk6ICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNkZWNfY2xhc3NfaW5pdCksIChnc3RfZmxhY2RlY19maW5hbGl6ZSk6ICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNlbmNfY2xhc3NfaW5pdCksICAgICAgKGdzdF9mbGFjZW5jX2ZpbmFsaXplKTogKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzaW5rLmM6IChnc3RfZ25vbWV2ZnNzaW5rX2NsYXNzX2luaXQpLCAgICAgICAgIChnc3RfZ25vbWV2ZnNzaW5rX2ZpbmFsaXplKTogKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzcmMuYzogKGdzdF9nbm9tZXZmc3NyY19jbGFzc19pbml0KSwgKGdzdF9nbm9tZXZmc3NyY19maW5hbGl6ZSk6ICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOiAoZ3N0X2ZhbWVlbmNfY2xhc3NfaW5pdCksICAgICAgICAgKGdzdF9mYW1lZW5jX2ZpbmFsaXplKTogKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX2NsYXNzX2luaXQpLCAgICAgICAgIChnc3RfbmFzc2lua19maW5hbGl6ZSk6ICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3NpbmtfZmluYWxpemUpLCAoZ3N0X3NkbHZpZGVvc2lua19jbGFzc19pbml0KTogKiBleHQvc25kZmlsZS9nc3RzZi5jOiAoZ3N0X3NmX2Rpc3Bvc2UpOiAqIGdzdC1saWJzL2dzdC9taXhlci9taXhlcnRyYWNrLmM6IChnc3RfbWl4ZXJfdHJhY2tfZGlzcG9zZSk6ICogZ3N0LWxpYnMvZ3N0L3R1bmVyL3R1bmVyY2hhbm5lbC5jOiAoZ3N0X3R1bmVyX2NoYW5uZWxfZGlzcG9zZSk6ICogZ3N0LWxpYnMvZ3N0L3R1bmVyL3R1bmVybm9ybS5jOiAoZ3N0X3R1bmVyX25vcm1fZGlzcG9zZSk6ICogZ3N0LWxpYnMvZ3N0L3h3aW5kb3dsaXN0ZW5lci94d2luZG93bGlzdGVuZXIuYzogKGdzdF94X3dpbmRvd19saXN0ZW5lcl9kaXNwb3NlKTogKiBnc3QvYXVkaW9zY2FsZS9nc3RhdWRpb3NjYWxlLmM6ICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzogKHBsYXlfb25fZGVtYW5kX2NsYXNzX2luaXQpLCAocGxheV9vbl9kZW1hbmRfZmluYWxpemUpOiAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzogKGdzdF92aWRlb2JhbGFuY2VfZGlzcG9zZSk6ICogZ3N0L3ZpZGVvc2NhbGUvZ3N0dmlkZW9zY2FsZS5jOiAoZ3N0X3ZpZGVvc2NhbGVfY2hhaW4pOiAqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOiAoY2RwbGF5ZXJfY2xhc3NfaW5pdCksICAgICAoY2RwbGF5ZXJfZmluYWxpemUpOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlc2lua19maW5hbGl6ZSksICAgICAgICAgKGdzdF9nbGltYWdlc2lua19jbGFzc19pbml0KTogKiBzeXMvb3NzL2dzdG9zc2VsZW1lbnQuYzogKGdzdF9vc3NlbGVtZW50X2NsYXNzX2luaXQpLCAoZ3N0X29zc2VsZW1lbnRfZmluYWxpemUpOiAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiAoZ3N0X29zc3NpbmtfZGlzcG9zZSk6ICogc3lzL29zcy9nc3Rvc3NzcmMuYzogKGdzdF9vc3NzcmNfZGlzcG9zZSk6ICogc3lzL3Y0bC9nc3R2NGxlbGVtZW50LmM6IChnc3RfdjRsZWxlbWVudF9kaXNwb3NlKTogICAgICAgICAgIEZpeGVzIGEgYnVuY2ggb2YgcHJvYmxlbXMgd2l0aCBmaW5hbGl6ZSBhbmQgZGlzcG9zZSBmdW5jdGlvbnMsICAgICAgICAgICBlaXRoZXIgYXNzdW1wdGlvbnMgdGhhdCBkaXNwb3NlIGlzIG9ubHkgY2FsbGVkIG9uY2UsIG9yIG5vdCBjYWxsaW5nICAgICAgICAgICB0aGUgcGFyZW50IGNsYXNzIGRpc3Bvc2UvZmluYWxpemUgZnVuY3Rpb24KCjIwMDQtMDgtMjcgMTk6MTg6MjQgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkgIFswMTMvOTA2XSAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlc2lua194aW1hZ2VfcHV0KSwgKGdzdF9nbGltYWdlc2lua194d2luZG93X25ldyksIChnc3RfZ2xpbWFnZXNpbmtfeGNvbnRleHRfZ2V0KSwgKGdzdF9nbGltYWdlc2lua19maXhhdGUpOiAgTW92ZSBsb2NhbCB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgdG8gbWFrZSBnY2MtMi45NSBoYXBweS4KCjIwMDQtMDgtMDkgMjA6MTY6NDggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL0FSQl9tdWx0aXRleHR1cmUuaDoKCSogZ3N0L2dsL0VYVF9wYWxldHRlZF90ZXh0dXJlLmg6CgkqIGdzdC9nbC9OVl9yZWdpc3Rlcl9jb21iaW5lcnMuaDoKCSogZ3N0L2dsL2dzdGdsX252aW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdsX3BkcmltYWdlLmM6CgkqIGdzdC9nbC9nc3RnbF9yZ2JpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHNpbmsuaDoKCSogZ3N0L2dsL2dzdGdseHdpbmRvdy5jOgoJKiBnc3QvZ2wvcmVnY29tYl95dXZyZ2IuYzoKCSAgWzAxMi85MDZdICogc3lzL2dsc2luay9BUkJfbXVsdGl0ZXh0dXJlLmg6ICBSZW1vdmUgb2xkIGZpbGVzLiAqIHN5cy9nbHNpbmsvRVhUX3BhbGV0dGVkX3RleHR1cmUuaDogKiBzeXMvZ2xzaW5rL05WX3JlZ2lzdGVyX2NvbWJpbmVycy5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xfbnZpbWFnZS5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xfcGRyaW1hZ2UuYzogKiBzeXMvZ2xzaW5rL2dzdGdsX3JnYmltYWdlLmM6ICogc3lzL2dsc2luay9nc3RnbHNpbmsuYzogKiBzeXMvZ2xzaW5rL2dzdGdsc2luay5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2x4d2luZG93LmM6ICogc3lzL2dsc2luay9yZWdjb21iX3l1dnJnYi5jOgoKMjAwNC0wOC0wOSAyMDoxNDo1MSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuaDoKCSAgWzAxMS85MDZdIFBhdGNoIGZyb20gR2Vybm90IFppZWdsZXIgPGd6QGx5c2F0b3IubGl1LnNlPiByZXdyaXRpbmcgdGhlIEdMIHNpbmsgcGx1Z2luLiAgKEJ1ZyAjMTQ3MzAyKSAqIGNvbmZpZ3VyZS5hYzogVGVzdCBmb3IgT3BlbkdMICogc3lzL01ha2VmaWxlLmFtOiBVc2UgdGVzdCBmb3IgT3BlbkdMICogc3lzL2dsc2luay9NYWtlZmlsZS5hbTogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IHJld3JpdGUgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6IHJld3JpdGUKCjIwMDQtMDMtMTUgMTk6MzI6MjYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyBhdCBhcGVzdGFhcnQgZG90IG9yZz4KCgkqIGdzdC9nbC9nc3RnbF9udmltYWdlLmM6CgkqIGdzdC9nbC9nc3RnbF9wZHJpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xfcmdiaW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdsc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x4d2luZG93LmM6CgkqIGdzdC9nbC9yZWdjb21iX3l1dnJnYi5jOgoJICBbMDEwLzkwNl0gZG9uJ3QgbWl4IHRhYnMgYW5kIHNwYWNlcwoKMjAwNC0wMy0xNSAxNjozMjo1MyArMDAwMCAgSm9oYW4gRGFobGluIDxqb2hhbkBnbm9tZS5vcmc+CgoJKiBnc3QvZ2wvQVJCX211bHRpdGV4dHVyZS5oOgoJKiBnc3QvZ2wvRVhUX3BhbGV0dGVkX3RleHR1cmUuaDoKCSogZ3N0L2dsL05WX3JlZ2lzdGVyX2NvbWJpbmVycy5oOgoJKiBnc3QvZ2wvZ3N0Z2xzaW5rLmg6CgkgIFswMDkvOTA2XSAgICAgICAgICogKi5oOiBSZXZlcnQgaW5kZW50aW5nCgoyMDA0LTAzLTE0IDIyOjM0OjMyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgYXQgYXBlc3RhYXJ0IGRvdCBvcmc+CgoJKiBnc3QvZ2wvQVJCX211bHRpdGV4dHVyZS5oOgoJKiBnc3QvZ2wvRVhUX3BhbGV0dGVkX3RleHR1cmUuaDoKCSogZ3N0L2dsL05WX3JlZ2lzdGVyX2NvbWJpbmVycy5oOgoJKiBnc3QvZ2wvZ3N0Z2xfbnZpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xfcGRyaW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdsX3JnYmltYWdlLmM6CgkqIGdzdC9nbC9nc3RnbHNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2x4d2luZG93LmM6CgkqIGdzdC9nbC9yZWdjb21iX3l1dnJnYi5jOgoJICBbMDA4LzkwNl0gZ3N0LWluZGVudAoKMjAwNC0wMS0xMiAwNDoxNTo0NyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvZ3N0Z2xfbnZpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xfcGRyaW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdsc2luay5jOgoJICBbMDA3LzkwNl0gKiBleHQvZmZtcGVnL2dzdGZmbXBlZy5jOiAgKiBleHQvZmZtcGVnL2dzdGZmbXBlZ2NvZGVjbWFwLmM6ICAqIGV4dC9mZm1wZWcvZ3N0ZmZtcGVnZGVjLmM6ICAqIGV4dC9mZm1wZWcvZ3N0ZmZtcGVnZW5jLmM6ICAqIGV4dC9mZm1wZWcvZ3N0ZmZtcGVncHJvdG9jb2wuYzogICogZXh0L2dka19waXhidWYvZ3N0Z2RrYW5pbWF0aW9uLmM6ICAqIGV4dC9qcGVnL2dzdGpwZWcuYzogICogZXh0L2xpYnBuZy9nc3RwbmcuYzogICogZXh0L21wZWcyZGVjL3BlcmZ0ZXN0LmM6ICAqIGV4dC9zcGVleC9nc3RzcGVleC5jOiAgKiBnc3QtbGlicy9nc3QvcmVzYW1wbGUvZHRvcy5jOiAgKiBnc3QvaW50ZmxvYXQvZ3N0aW50ZmxvYXRjb252ZXJ0LmM6ICAqIGdzdC9vbmV0b24vZ3N0b25ldG9uLmM6ICAqIGdzdC9ydGpwZWcvUlRqcGVnLmM6ICAqIGdzdC9ydHAvZ3N0cnRwLmM6ICAqIHN5cy9keHIzL2R4cjNpbml0LmM6ICAqIHN5cy9nbHNpbmsvZ3N0Z2xfbnZpbWFnZS5jOiAgKiBzeXMvZ2xzaW5rL2dzdGdsX3BkcmltYWdlLmM6ICAqIHN5cy9nbHNpbmsvZ3N0Z2xzaW5rLmM6ICAqIHRlc3RzdWl0ZS9nc3QtbGludDogIE1ha2Ugc3VyZSBldmVyeWJvZHkgd3JhcHMgI2luY2x1ZGUgImNvbmZpZy5oIiBpbiAjaWZkZWYgSEFWRV9DT05GSUdfSAoKMjAwMy0xMi0yMiAwMTo0NzowOCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvZ3N0Z2xzaW5rLmM6CgkgIFswMDYvOTA2XSBNZXJnZSBDQVBTIGJyYW5jaAoKMjAwMy0xMi0wNCAxMDozNzozNiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZ3N0L2dsL2dzdGdsc2luay5jOgoJICBbMDA1LzkwNl0gcmVtb3ZlIGNvcHlyaWdodCBmaWVsZCBmcm9tIHBsdWdpbnMKCjIwMDMtMTEtMDcgMTI6NDY6NTIgKzAwMDAgIFJvbmFsZCBTLiBCdWx0amUgPHJidWx0amVAcm9uYWxkLmJpdGZyZWFrLm5ldD4KCgkqIGdzdC9nbC9nc3RnbF9yZ2JpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2x4d2luZG93LmM6CgkqIGdzdC9nbC9yZWdjb21iX3l1dnJnYi5jOgoJICBbMDA0LzkwNl0gUmVtb3ZlIGFsbCBjb25maWcuaCBpbmNsdWRlcyBmcm9tIGhlYWRlciBmaWxlcywgYWRkIGl0IHRvIGVhY2ggc291cmNlIGZpbGUgYW5kIHJlbW92ZSBkdXBsaWNhdGUgY29uZmlnLmggaW5jbHVkZXMgZnJvbSBzZXZlcmFsIHNvdXJjZSBmaWxlcwoKMjAwMy0xMS0wNiAwMDoyNzowMyArMDAwMCAgbWFkbWFjIDxtYWRtYWM+CgoJKiBnc3QvZ2wvZ3N0Z2xzaW5rLmM6CgkgIFswMDMvOTA2XSB1cGRhdGVzIHRvIGdsc2luawoKMjAwMy0xMC0zMSAxNjo0MDoyMCArMDAwMCAgbWFkbWFjIDxtYWRtYWM+CgoJKiBnc3QvZ2wvQVJCX211bHRpdGV4dHVyZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xfbnZpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xfcmdiaW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdsc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x4d2luZG93LmM6CgkqIGdzdC9nbC9yZWdjb21iX3l1dnJnYi5jOgoJICBbMDAyLzkwNl0gZ2xzaW5rIHdpdGggY29ycmVjdCB0aHJlYWRpbmcgc3VwcG9ydAoKMjAwMy0xMC0yOCAxODo1NDoyMCArMDAwMCAgbWFkbWFjIDxtYWRtYWM+CgoJKiBnc3QvZ2wvQVJCX211bHRpdGV4dHVyZS5oOgoJKiBnc3QvZ2wvRVhUX3BhbGV0dGVkX3RleHR1cmUuaDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvTlZfcmVnaXN0ZXJfY29tYmluZXJzLmg6CgkqIGdzdC9nbC9nc3RnbF9udmltYWdlLmM6CgkqIGdzdC9nbC9nc3RnbF9wZHJpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xfcmdiaW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdsc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xzaW5rLmg6CgkqIGdzdC9nbC9nc3RnbHh3aW5kb3cuYzoKCSogZ3N0L2dsL3JlZ2NvbWJfeXV2cmdiLmM6CgkgIFswMDEvOTA2XSB3ZWxjb21lIHRvIGdsc2luayBmb3IgMC43LnggOikKCjIwMTQtMDMtMTQgMTg6MjM6NTEgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy93aW5rcy9NYWtlZmlsZS5hbToKCSogc3lzL3dpbmtzL2dzdGtzY2xvY2suYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuaDoKCSogc3lzL3dpbmtzL2tzaGVscGVycy5jOgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYzoKCSAgd2lua3M6IHBvcnQgdG8gMS4wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIwNDEKCjIwMTQtMDMtMTUgMTU6MTc6NDMgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkgIHk0bWRlYzogY2hlY2sgZm9yIFZJREVPIG1ldGEgaW5zdGVhZCBvZiBDUk9QIG1ldGEKCSAgVGhpcyBlbGVtZW50IG9ubHkgbmVlZCBzdHJpZGUgc3VwcG9ydCwgYnV0IGNoZWNrcyBmb3IgQ1JPUF9NRVRBLCB3aGljaAoJICBpcyBhIGJpdCB0b28gbXVjaCwgZXZlbiB0aG91Z2ggdGhpcyB3b3JrcyBhcyBDUk9QIGltcGx5IGhhdmluZyBWSURFTwoJICBtZXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2MjU1CgoyMDE0LTAzLTA0IDEzOjE5OjU1ICswMTAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgZHZic3JjOiBtcGVndHM6IGNoYW5nZSBiYW5kd2lkdGggdG8gRFZCdjUgdmFsdWVzCgkgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1NDYzCgoyMDEzLTEwLTMxIDE0OjI3OjEwICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiB0cy1wYXJzZXI6IEFkZCB0YWJsZV9pZF9uYW1lIGZ1bmN0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjE2ODIKCjIwMTMtMTEtMTkgMTE6MzY6MTQgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IHRzLXBhcnNlcjogQWRkIERWQiB0ZWxldGV4dC9zdWJ0aXRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjE2ODIKCjIwMTQtMDMtMDMgMTM6MDc6NDcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBTdXBwb3J0IEJsdXJheSBEVFMvRFRTLUhEIGFuZCBBQzMrL1RydWVIRCBzdHJlYW1zCgkgIEFwYXJ0IGZyb20ganVzdCBhZGRpbmcgZGV0ZWN0aW9uIG9mIHRoZSBwcm9wZXIgc3RyZWFtIHR5cGUsIHdlIGFsc28gbmVlZCB0byBvbmx5CgkgIG91dHB1dCB0aGUgZmlyc3Qgc3Vic3RyZWFtICgweDcxKSB3aGljaCBjb250YWlucyB0aGUgY29yZSBzdWJzdHJlYW0uCgkgIFdoaWxlIHRoaXMgZG9lcyBub3QgcHJvdmlkZSAqZnVsbCogRFRTLUhEIHN1cHBvcnQgKHNpbmNlIGl0IHdpbGwgbWlzcyB0aGUgY29tcGxlbWVudGFyeQoJICBzdWJzdHJlYW1zKSwgaXQgd2lsbCBzdGlsbCB3b3JrIGluIHRoZSB3YXkgbGVnYWN5IChub24tRFRTLUhEKSBibHVyYXkgcGxheWVycyB3b3VsZCB3b3JrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1NTYzCgoyMDE0LTAzLTEzIDE0OjQxOjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBGaXggc3RyaW5nIG9yZGVyIGluIHdhcm5pbmcgbWVzc2FnZQoKMjAxNC0wMy0wOSAxODo0MToyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogQWx3YXlzIGNhbGN1bGF0ZSB0aGUgY3VycmVudCBkb3dubG9hZCByYXRlCgkgIEFsc28gdGFrZSBpbnRvIGFjY291bnQgdGhlIGxhc3QgZG93bmxvYWQgcmF0ZSB3aGVuCgkgIGNhbGN1bGF0aW5nIGl0LgoKMjAxNC0wMy0xMSAxMDozMjo0NiArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkgIHNiY2VuYzogQWxsb3cgdXNlciB0byBzZXQgY2hhbm5lbC1tb2RlCgkgIERvbid0IHJldHVybiBlcnJvciB3aGVuIGNoYW5uZWwtbW9kZSBpcyBhbHJlYWR5IHNldCwganVzdCBjaGVjayB0aGF0IGl0CgkgIGlzIGNvaGVyZW50IHdpdGggbnVtYmVyIG9mIGNoYW5uZWxzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2MDk4CgoyMDE0LTAzLTEwIDExOjE5OjQ2ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBEaWZmZXJlbnRpYXRlIHRoZSBtcGVnLTIgc3RyZWFtIGZyb20gbXBlZy0xIGJhc2VkIG9uIHBpY19leHQKCSAgUHJlc2VuY2Ugb2YgcGljdHVyZSBleHRlbnNpb24gaGVhZGVyIGlkZW50aWZpZXMgdGhlIHN0cmVhbSBhcyBtcGVnMi4KCSAgV2UgYXJlIHN1cHBvc2VkIHRvIHNldCB0aGUgbXBlZ3ZlcnNpb24gdG8gMiBpZiB0aGVyZSBpcyBhIHBpY2V4dGVuc2lvbgoJICBpbnN0ZWFkIG9mIGJsaW5kbHkgc2V0dGluZyB0aGUgdmVyc2lvbiB0byAxCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjYwMjgKCjIwMTQtMDMtMTEgMjI6MzY6MDEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IHNldCBhIGdyb3VwLWlkIG9uIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCSAgU2V0IGEgZGVmYXVsdCBncm91cC1pZCB0byBmaXggYSB3YXJuaW5nIHByaW50ZWQgYnkgdGhlIHNpbmsuCgoyMDE0LTAzLTEwIDIyOjQ4OjA0ICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtZHVwb25jaGVsbGUxQGdtYWlsLmNvbT4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkgIGZyZWkwcmZpbHRlcjogZml4IG1lbW9yeSBjb3JydXB0aW9uIG9uIHNpbmsgY2FwcyBjaGFuZ2VzLgoJICBXaGVuIHRoZSBpbnB1dCBzaXplIGNoYW5nZWQsIHRoZSBmcmVpMHIgZmlsdGVycyBkaWRuJ3QgdGFrZQoJICBpdCBpbnRvIGFjY291bnQgYW5kIGVuZGVkIHVwIGNvcnJ1cHRpbmcgbWVtb3J5LgoJICBGaXhlcyAjNzI2MDY5CgoyMDE0LTAzLTExIDE1OjMwOjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSAgYXRkZWM6IEFkZCBzb21lIG1vcmUgZGVidWcgb3V0cHV0CgoyMDE0LTAzLTExIDE0OjQ3OjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuaDoKCSAgYXRkZWM6IEltcGxlbWVudCBkcmFpbmluZyBwcm9wZXJseQoKMjAxNC0wMy0xMSAxNDozNzo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkgIGF0ZGVjOiBGaXJzdCBkZXF1ZXVlIGEgYnVmZmVyIGJlZm9yZSBlbnF1ZXVlaW5nIGFueXRoaW5nIGZyb20gdGhlIHF1ZXVlCgkgIFJlcXVpcmVkIGZvciBvZmZsaW5lIHJlbmRlcmluZyBhY2NvcmRpbmcgdG8gdGhlIGRvY3MuIHd0Zi4KCjIwMTQtMDMtMTEgMTQ6MzI6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5oOgoJICBhdGRlYzogS2VlcCB0cmFjayBvZiB0aGUgY3VycmVudCBwb3NpdGlvbgoJICBJdCdzIHJlcXVpcmVkIHRvIHNldCBhIHZhbGlkIHNhbXBsZSB0aW1lIGZvciBkZWNvZGluZyBvbiBpT1MuCgoyMDE0LTAzLTExIDE0OjI0OjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuaDoKCSAgYXRkZWM6IEFsd2F5cyB0cnkgdG8gcHVsbCBvbmUgZGVjb2RlZCBmcmFtZSBvdXQgb2YgdGhlIHF1ZXVlCgkgIC4uLiBpbnN0ZWFkIG9mIGRvaW5nIG1hZ2ljIGNhbGN1bGF0aW9ucyB3aXRoIHRoZSBidWZmZXIgZHVyYXRpb24uCgoyMDE0LTAzLTExIDE0OjIyOjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSAgYXRkZWM6IEhhbmRsZSBlcnJvcnMgaW4gaGFuZGxlX2ZyYW1lKCkgcHJvcGVybHkKCjIwMTQtMDMtMTEgMTQ6MTQ6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJICBhdGRlYzogQ2FsbCBBdWRpb1F1ZXVlUmVzZXQoKSBmb3IgZmx1c2hpbmcKCSAgQXVkaW9RdWV1ZUZsdXNoKCkgaXMgZm9yIGRyYWluaW5nIGFsbCByZW1haW5pbmcgZGF0YS4KCjIwMTQtMDMtMTEgMTE6MTg6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnR1dGlsLmM6CgkgIGF0ZGVjOiBTZXQgY29ycmVjdCBudW1iZXIgb2YgZnJhbWVzIGZvciBNUDMKCjIwMTQtMDMtMTEgMTE6MTg6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJICBhdGRlYzogSW5pdGlhbGl6ZSB0aGUgYXVkaW8gZGVzY3JpcHRpb24gd2l0aCB6ZXJvZXMKCjIwMTQtMDMtMTEgMTE6MTQ6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJICBhdGRlYzogU2V0IHRoZSBjb3JyZWN0IGxheWVyIGRlcGVuZGluZyBvbiB0aGUgTVAzIGNhcHMKCjIwMTQtMDMtMTEgMTA6MjY6MzQgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHZpZGVvc2lnbmFsIHdhcyBwb3J0ZWQgYWxtb3N0IGEgeWVhciBhZ28KCjIwMTQtMDMtMDkgMTk6Mzg6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IEZpeCBjb21wYXJpc29uIGluIGJpdHJhdGUgc2VsZWN0aW9uCgoyMDE0LTAzLTA3IDEyOjExOjU5ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBzZXQgcHJveHkgYWxsb2NhdGlvbiBmbGFnIG9uIHRoZSB2aWRlbyBzaW5rIHBhZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1ODkzCgoyMDE0LTAzLTA3IDE2OjIyOjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIG0zdTg6IEZpeCBvZmYtYnktb25lIGluIHRoZSBkb3dubG9hZCByYW5nZSBlbmQKCjIwMTQtMDMtMDcgMTY6MjI6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3RmcmFnbWVudC5jOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkOiBIYW5kbGUgbm8gYnVmZmVycyBiZWZvcmUgRU9TIGFzIGVycm9yIGluc3RlYWQgb2YgY3Jhc2hpbmcKCjIwMTQtMDMtMDYgMjM6MTQ6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IEltcGxlbWVudCBwcm9wZXIgc2VnbWVudCBoYW5kbGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1ODQ2CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMyNjgKCjIwMTQtMDMtMDUgMTA6NDc6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0ZnJhZ21lbnQuYzoKCSAgaGxzZGVtdXg6IEltcGxlbWVudCBoYW5kbGluZyBvZiBieXRlIHJhbmdlcwoKMjAxNC0wMi0yNyAxMDo1NDoxMCArMDEwMCAgWmFsbGVzb3YgPHphbGxlc292QGdtYWlsLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEZpeCBzZWVraW5nIGZ1cnRoZXIgdGhhbiB0cmFjayBkdXJhdGlvbgoJICBEb24ndCBmYWlsIHRoZSBzZWVrIGJ1dCBpbnN0ZWFkIHNlbmQgYW4gRU9TIGV2ZW50IGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQuCgoyMDE0LTAzLTA1IDE2OjAyOjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogU3dpdGNoIHBsYXlsaXN0cyBhZnRlciBwdXNoaW5nIHRoZSBmcmFnbWVudAoJICBNYWtlcyBzdXJlIHdlIHByb3Blcmx5IHNldCB0aGUgZGlzY29udCBmbGFnIGZvciB0aGUgbmV4dCBidWZmZXIsCgkgIG5vdCB0aGUgY3VycmVudCBvbmUuCgoyMDE0LTAxLTEwIDE3OjM4OjA5ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBoYW5kbGUgdmlkZW8veC1yYXcoQU5ZKSBpZiBkb3duc3RyZWFtIHN1cHBvcnRzIHRoZSBHc3RWaWRlb092ZXJsYXlDb21wb3NpdGlvbk1ldGEgQVBJCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjE5NTAKCjIwMTQtMDMtMDQgMTc6MjU6MjMgKzAyMDAgIEFuZHJlcyBHb21leiA8YWdvbWV6QGlnYWxpYS5jb20+CgoJKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmM6CgkgIHdpbmluZXQ6ICJpcmFkaW8tbW9kZSIgcHJvcGVydHkgZGVmYXVsdHMgdG8gVFJVRQoJICBBcyBwZXIgZGlzY3Vzc2VkIGluIGJ1ZyAjNzI1MzgzLCBpdCBkb2Vzbid0IG1ha2UgbXVjaCBzZW5zZSB0byBkZWZhdWx0CgkgIHRvIEZBTFNFIGluIHRoZSAiaXJhZGlvLW1vZGUiIHByb3BlcnR5LiBCZXR0ZXIsIGxldCdzIHNlbnQgdGhlIGhlYWRlcgoJICBieSBkZWZhdWx0IGFuZCBqdXN0IGlnbm9yZSBoZWFkZXJzIHRoYXQgYXJlIG5vdCB1bmRlcnN0b29kLCBpZiBzby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTY1OQoKMjAxNC0wMy0wNSAwMDo1MTowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZzEyM2F1ZGlvZGVjLmM6CgkgIHRlc3RzOiBmaXggbXBnMTIzYXVkaW9kZWMgdGVzdCBmb3IgYmlnLWVuZGlhbiBhcmNoaXRlY3R1cmVzCgoyMDE0LTAzLTA1IDExOjIwOjI3ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgcmF3cGFyc2U6IGluY3JlYXNlIGZyYW1lcmF0ZSB0byBtYXhpbnQKCjIwMTQtMDMtMDUgMTA6NTQ6NDcgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICByYXdwYXJzZTogaW5jcmVhc2UgbWF4aW11bSBmcmFtZXJhdGUKCjIwMTQtMDMtMDIgMDU6MjU6NDggKzAxMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IElnbm9yZSBnY292IGludGVybWVkaWF0ZSBmaWxlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1NDgxCgoyMDE0LTAzLTAxIDE3OjEzOjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IEltcGxlbWVudCBwcm9wZXIgaGFuZGxpbmcgb2YgZGlzY29udGludWl0aWVzCgkgIEl0J3Mgbm90IHJlYWxseSBjb3JyZWN0IHlldCBmb3Igc2Vla3MgYnV0IGJldHRlciB0aGFuIHdoYXQKCSAgd2UgaGFkIGJlZm9yZS4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU4NDYKCjIwMTQtMDItMjggMTE6MTY6MjcgLTA4MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwZW5jOiB1bnJlZiBjYXBzIGFmdGVyIGdzdF9xdWVyeV9zZXRfY2Fwc19yZXN1bHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTQxMgoKMjAxNC0wMi0yNSAxMTo0NTo0NiArMDAwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBTZWdmYXVsdHMgaWYgcGxheWxpc3QgaGFzIG5vIG1lZGlhIGZpbGVzCgkgIGhsc2RlbXV4IGNhdXNlcyBhIG51bGwgcG9pbnRlciBkZXJlZmVyZW5jZSBpZiB0aGUgbWVkaWEgcGxheWxpc3QKCSAgZG9lcyBub3QgY29udGFpbiBhbnkgbWVkaWEgZmlsZXMuIFRoZSBnc3RfbTN1OF9jbGllbnRfZ2V0X2R1cmF0aW9uCgkgIGZ1bmN0aW9uIGFzc3VtZXMgdGhhdCBkZW11eC0+Y2xpZW50LT5jdXJyZW50LT5maWxlcyBpcyB2YWxpZCB3aGVuCgkgIGNvbXB1dGluZyBkdXJhdGlvbi4KCSAgZ3N0X20zdThfY2xpZW50X3VwZGF0ZSBuZWVkZWQgdG8gYmUgbW9kaWZpZWQgdG8gY2hlY2sgZm9yIHRoZQoJICBjYXNlIG9mIGRvd25sb2FkaW5nIGFuIE0zVTggZmlsZSB0aGF0IGRvZXNuJ3QgY29udGFpbiBhbnkgbWVkaWEKCSAgZmlsZXMsIGFuZCByZXR1cm5pbmcgYW4gZXJyb3IgdG8gZ3N0aGxzZGVtdXguYwoJICBUaGlzIGJ1ZyBjYW4gYmUgcmVwcm9kdWNlZCBieSBjcmVhdGluZyBhIG1hc3RlciBtM3U4IGZpbGUgdGhhdAoJICBjb250YWlucyBvbmUgbWVkaWEgcGxheWxpc3QgdGhhdCBwb2ludHMgYmFjayB0byB0aGUgbWFzdGVyIG0zdTgKCSAgZmlsZS4gIEZvciBleGFtcGxlIGNyZWF0ZSBhIGZpbGUgY2FsbGVkIGJ1ZzcyNTEzNC5tM3U4OgoJICAjRVhUTTNVCgkgICNFWFQtWC1WRVJTSU9OOjQKCSAgI0VYVC1YLVNUUkVBTS1JTkY6UFJPR1JBTS1JRD0xLCBCQU5EV0lEVEg9MTI1MTEzNSwgQ09ERUNTPSJhdmMxLjQyMDAxZiBtcDRhLjQwLjIiLCBSRVNPTFVUSU9OPTY0MHgzNTIKCSAgYnVnNzI1MTM0Lm0zdTgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTEzNAoKMjAxNC0wMi0yOCAwOTozNDo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZmUxNjcyZSB0byBiY2IxNTE4CgoyMDE0LTAyLTI3IDIyOjI4OjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBEb24ndCB3cml0ZSBhZnRlciB0aGUgZW5kIG9mIHRoZSBwc20gYXJyYXkgd2hlbiBpbml0aWFsaXNpbmcgaXQKCjIwMTQtMDItMjcgMjE6NDU6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNyYy5jOgoJICBvcGVuYWxzcmM6IFJlbW92ZSB1bnVzZWQgZnVuY3Rpb24gdG8gZml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTQtMDItMjcgMjE6NDE6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDN0YWc6IFJlbW92ZSB1bnVzZWQgZnVuY3Rpb24gdG8gZml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTQtMDItMjcgMTU6NDk6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBJbml0IGFuZCBjbGVhciBhIG11dGV4CgkgIEdMaWIgaW5pdGlhbGlzZXMgYXV0b21hdGljYWxseSBmb3IgdXMgZm9yIHNvbWUgcmVhc29uLi4uIGJ1dCBvZiBjb3Vyc2UKCSAgZG9lcyBub3QgY2xlYXIgdGhlIG11dGV4IG9uY2UgdGhlIGRlbXV4ZXIgaXMgZGVzdHJveWVkLgoKMjAxNC0wMi0yNyAxNTo0MTozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFVucmVmIHNlZWsgZXZlbnRzIGJlZm9yZSByZXR1cm5pbmcgZnJvbSB0aGUgc2VlayBoYW5kbGVyCgkgIE90aGVyd2lzZSB3ZSBsZWFrIHRoZW0gYWxsLgoKMjAxNC0wMi0yNyAxMjowMjoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogRml4IGRlYnVnIG91dHB1dCB0byBkZXNjcmliZSB0aGUgbmV3IHJlYWxpdHkKCjIwMTQtMDItMjcgMTE6NTM6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IFdhcm5pbmcgbWVzc2FnZXMgYXJlIG5vdCBmYXRhbAoJICBBbHNvIHRoZXkgbmVlZCB0byBiZSBwYXJzZWQgd2l0aCBnc3RfbWVzc2FnZV9wYXJzZV93YXJuaW5nKCksCgkgIGdzdF9tZXNzYWdlX3BhcnNlX2Vycm9yKCkgZG9lcyBub3Qgd29yayBvbiB0aGVtLgoKMjAxNC0wMi0yNiAyMjoyNjo0OCArMDEwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBkb2NzOiBtcGVndHM6IGFkZCBtaXNzZWQgZG9jcwoJICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTI3OAoKMjAxNC0wMi0yNiAyMTowODoyMyArMDEwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgZG9jczogZHZic3JjOiBhZGQgbWlzc2VkIGFyZ3MKCSAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUyNzgKCjIwMTQtMDItMjYgMjI6MTI6MjMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDFhMDdkYTkgdG8gZmUxNjcyZQoKMjAxNC0wMi0yNiAxOToxODo1NCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvTWFrZWZpbGUuYW06CgkgIGRvY3M6IHJlbW92ZSBzdHJheSAoIGluIE1ha2VmaWxlLmFtCgoyMDE0LTAyLTI0IDIyOjUzOjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZm9yd2FyZCB0YWdzIHRoYXQgaGF2ZSBnbG9iYWwgc2NvcGUKCSAgSW5zdGVhZCBvZiBkcm9wcGluZyBhbGwgdGFnIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ0Mzk1CgoyMDE0LTAyLTI0IDIyOjQzOjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIHRzZGVtdXg6IHN0b3JlIGdsb2JhbCB0YWdzIHRvIHB1c2ggbGF0ZXIKCSAgS2VlcCBhIGxpc3Qgb2YgY3VycmVudCBnbG9iYWwgdGFncyBhcm91bmQgYW5kIHB1c2ggdGhlbQoJICB3aGVuZXZlciBhIG5ldyBzdHJlYW0gaXMgc3RhcnRlZC4gQWxzbyBjb252ZXJ0IGFsbCBzdHJlYW0KCSAgc3BlY2lmaWMgdGFncyB0byBnbG9iYWwgYXMgdGhleSBhcmUgc3RyZWFtIHNwZWNpZmljIGZvcgoJICB0aGUgY29udGFpbmVyLCBzbyB0aGV5IGFyZSBnbG9iYWwgZm9yIHRoZSBzdHJlYW1zIGZyb20KCSAgd2l0aGluIHRoYXQgY29udGFpbmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ0Mzk1CgoyMDE0LTAyLTI2IDExOjMyOjAxICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9NYWtlZmlsZS5hbToKCSAgZG9jczogaW5zdGFsbCBwcmVidWlsdCBwbHVnaW4gZG9jcyBpZiBndGstZG9jIGlzIGRpc2FibGVkCgkgIFN5bmMgdG8gdGhlIE1ha2VmaWxlLmFtIGZyb20gZ3N0LXBsdWdpbi1iYXNlIHdoZXJlIGl0IGlzIGRvbmUgcmlnaHQuCgkgIEZpeGVzICM3MjUwMzQKCjIwMTQtMDItMjEgMDk6MzY6NTEgKzAwMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogRml4IHBhcnNpbmcgb2YgQ09ERUNTIGFuZCBSRVNPTFVUSU9OCgkgIGhsc2RlbXV4IGRvZXMgbm90IGNoZWNrIGZvciB0aGUgJyInIGNoYXJhY3RlciBpbiAjRVhULVgtU1RSRUFNLUlORgoJICBhdHRyaWJ1dGVzLiBUaGUgQ09ERUNTIHBhcmFtZXRlciBpcyBhbiBleGFtcGxlIG9mIGFuIGF0dHJpYnV0ZQoJICB0aGF0IG1pZ2h0IHVzZSB0aGUgJyInIHN5bWJvbCBhbmQgbWlnaHQgY29udGFpbiBhICcsJyBjaGFyYWN0ZXIKCSAgaW5zaWRlIHRoaXMgcXVvdGVkIHN0cmluZy4KCSAgRm9yIGV4YW1wbGU6IENPREVDUz0iYXZjMS43Ny4zMCwgbXA0YS40MC4yIgoJICBobHNkZW11eCBkb2VzIG5vdCBjb3JyZWN0bHkgcGFyc2UgdGhlIFJFU09MVVRJT04gYXR0cmlidXRlLCBpdAoJICBhc3N1bWVzIHRoYXQgYW4gJz0nIGNoYXJhY3RlciBpcyB1c2VkIHRvIGRlbGluZWF0ZSB0aGUgd2lkdGgKCSAgYW5kIGhlaWdodCB2YWx1ZXMsIGJ1dCB0aGUgSExTIFJGQyBzdGF0ZXMgdGhhdCBhICd4JyBjaGFyYWN0ZXIKCSAgbXVzdCBiZSB1c2VkIGFzIHRoZSBkZWxpbWl0ZXIgYmV0d2VlbiB3aWR0aCBhbmQgaGVpZ2h0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MTQwCgoyMDE0LTAyLTIxIDA5OjMwOjQ5ICswMDAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IEZpeCBmb3IgVVJMcyB0aGF0IGNvbnRhaW4gYSAnLycgaW4gdGhlIHF1ZXJ5IHBhcmFtZXRlcgoJICBJZiB0aGUgVVJMIGZvciB0aGUgbWFzdGVyIG1hbmlmZXN0IGZpbGVzIGNvbnRhaW5zIGEgJy8nIGNoYXJhY3RlcgoJICBpbiB0aGUgcXVlcnkgcGFyYW1ldGVyIChmb3IgZXhhbXBsZQoJICBodHRwOi8vZXhhbXBsZS5uZXQvMTA1NDU1OV9oMjY0XzE1MDBrLm1wNC9tYXN0ZXIubTN1OD9hY2w9LyoxMDU0NTU5X2gyNjRfMTUwMGsubXA0KSwKCSAgaGxzZGVtdXggaXMgaW5jb3JyZWN0bHkgY29udmVydGluZyB0aGUgcmVsYXRpdmUgVVJMcyBvZiB0aGUgbWVkaWEKCSAgcGxheWxpc3RzIGluIHRvIGFic29sdXRlIFVSTHMuIEl0IGlzIGluY29ycmVjdGx5IHVzaW5nIHRoZSBsYXN0ICcvJyBpdAoJICBmaW5kcyBpbiB0aGUgVVJMLiBBY2NvcmRpbmcgdG8gUkZDMzk4NiB0aGUgJy8nIGNoYXJhY3RlciBpcyBhbGxvd2VkIGluCgkgIHRoZSBxdWVyeSBwYXJ0IG9mIHRoZSBVUkwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUxMzcKCjIwMTMtMTItMDIgMTA6MDE6MTIgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuaDoKCSAgZWdsZ2xlc3Npbms6IG1vdmUgR3N0RUdMSW1hZ2VCdWZmZXJQb29sIHRvIGdzdGVnbCBsaWIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjA1NAoKMjAxNC0wMi0yNSAxMjoxNzoyMCArMDEwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3RzLmM6CgkgIHRlc3Q6IG1wZWd0czogQWRkIGNoZWNrIGZvciBTRFQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDk4MQoKMjAxNC0wMi0yMiAxNjo0NjozMSArMDEwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogQWRkIGNvbnN0cnVjdG9yIGZvciBkdmIgc2VydmljZSBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ5ODEKCjIwMTQtMDItMjUgMTA6Mjg6MzggKzAxMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBtcGVndHM6IEFkZCBuZXcgU0RUIEFQSQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0OTgxCgoyMDE0LTAyLTIyIDE2OjQ3OjU3ICswMTAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uaDoKCSAgbXBlZ3RzOiBBZGQgc3VwcG9ydCBmb3IgY3JlYXRpb24gb2YgU0RUCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ5ODEKCjIwMTQtMDItMjIgMTY6NDE6MjIgKzAxMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5oOgoJICBtcGVndHM6IEFkZCB0cmFuc3BvcnRfc3RyZWFtX2lkIHRvIEdzdE1wZWdUc1NEVAoJICBUaGUgdHJhbnNwb3J0X3N0cmVhbV9pZCBpcyBjb250YWluZWQgaW4gdGhlIHN1YnRhYmxlIGV4dGVuc2lvbi4KCSAgSW50cm9kdWNlIGEgdmFyaWFibGUgZm9yIHJlYWRhYmlsaXR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0OTgxCgoyMDE0LTAyLTI1IDExOjI5OjA2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IEluaXRpYWxpemUgUFNNIGZ1bGx5CgkgIFNvbWUgZ2FwcyB3ZXJlIG1pc3NlZCBpbiB0aGUgcHJldmlvdXMgdmVyc2lvbi4gSW5zdGVhZCBqdXN0IGluaXRpYWxpemUKCSAgdGhlIHdob2xlIHRhYmxlIHRvIC0xIGZpcnN0IGFuZCB0aGVuIGZpbGwgd2hhdCBuZWVkcyB0byBiZSBzcGVjaWZpZWQuCgoyMDE0LTAyLTI0IDE1OjUyOjUzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHMtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBGaXggZGVzY3JpcHRvciBjaGVja3MKCSAgT25seSB1c2UgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgb24gcHJvdmlkZWQgZGlyZWN0IGFyZ3VtZW50cy4gVGhlIG90aGVycyBnZXQKCSAgY2hlY2tlZCBhbGwgdGhlIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ0NjQKCjIwMTQtMDItMjQgMTQ6NTY6MDMgLTA1MDAgIEtpcHAgQ2Fubm9uIDxrY2Fubm9uQGNpdGEudXRvcm9udG8uY2E+CgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzYmFkLmM6CgkgIGRlYnVndXRpbHNiYWQuYyBmYWlscyBnc3QtaW5kZW50IGNoZWNrCgkgIHRoaXMgcGF0Y2ggaXMgImdzdC1pbmRlbnQgZGVidWd1dGlsc2JhZC5jIgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MDkwCgoyMDE0LTAyLTIyIDE4OjIyOjI2ICswMTAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBuZXR3b3JrX25hbWU6IENoZWNrIGNvbnZlcnRlZCBsZW5ndGgKCSAgQ2hlY2sgdGhlIGxlbmd0aCBvZiB0aGUgbmFtZSBhcmd1bWVudCBhZnRlciBpdCBoYXMgYmVlbiBjb252ZXJ0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM5NTMKCjIwMTQtMDItMDggMjI6NDc6MjAgKzAxMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svbGlicy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9saWJzL21wZWd0cy5jOgoJICB0ZXN0czogQWRkIHRlc3QgZm9yIG1wZWd0cyBsaWJyYXJ5CgkgIFRlc3RzIGZvciBQQVQsIFBNVCwgYW5kIE5JVAoJICBDcmVhdGVzIGEgbmV3IHRhYmxlLCBhbmQgcG9wdWxhdGVzIGl0IHdpdGggZGVzY3JpcHRvcnMuCgkgIFBhcnNlcyB0aGUgbmV3bHkgY3JlYXRlZCB0YWJsZXMsIGFuZCBjaGVja3MgdGhlIGRhdGEuCgkgIENyZWF0ZXMgYSBHc3RNcGVnVHNTZWN0aW9uIGZyb20gdGhlIHRhYmxlcywgYW5kIHBhY2tldGl6ZSB0aGUgc2VjdGlvbnMuCgkgIFRoZSBwYWNrZXRpemVkIHNlY3Rpb24gZGF0YSBpcyBieXRlLXdpc2UgY29tcGFyZWQgdG8gYSBzdGF0aWMgYnl0ZSBhcnJheQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzOTUzCgoyMDE0LTAyLTI0IDExOjA2OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBleGFtcGxlczogZ3N0LWNhbWVyYWJpbjItdGVzdDogbmV3IDEueCByYXcgY2FwcyBmb3JtYXQKCSAgUmVtb3ZlIC15dXYgYW5kIC1yZ2IgZnJvbSB2aWRlby94LXJhdyBhcyB0aG9zZSBhcmUgZnJvbSB0aGUKCSAgb2xkIDAuMTAgdmVyc2lvbgoKMjAxNC0wMi0yMyAxNToxODoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogS2VlcCB0cmFjayBvZiB0aW1lc3RhbXBzIGJ5IGFkZGluZyB0aGVtIHVwIGR1cmluZyBwbGF5YmFjawoJICAuLi5pbnN0ZWFkIG9mIGFkZGluZyB0aGVtIGZyb20gdGhlIHN0YXJ0IG9mIHBsYXlsaXN0IGV2ZXJ5IHRpbWUuIFRoaXMKCSAgYW1vbmcgb3RoZXIgdGhpbmdzIGZpeGVzIHRpbWVzdGFtcHMgZm9yIGxpdmUgc3RyZWFtcywgd2hlcmUgdGhlIHBsYXlsaXN0CgkgIGlzIHNvbWUga2luZCBvZiByaW5nYnVmZmVyIG9mIGZyYWdtZW50cyBhbmQgdGh1cyBhZGRpbmcgZnJvbSB0aGUgYmVnaW5uaW5nCgkgIG9mIHRoZSBwbGF5bGlzdCB3aWxsIG1pc3MgdGhlIHBhc3QgZnJhZ21lbnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0OTgzCgoyMDE0LTAyLTIzIDExOjAxOjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRGVwcmVjYXRlIGZyYWdtZW50cy1jYWNoZSBwcm9wZXJ0eQoJICBUaGUgYnVmZmVyaW5nL2NhY2hpbmcgaXMgaGFuZGxpbmcgY29tcGxldGVseSBkaWZmZXJlbnQgbm93IGFuZAoJICBvdXRzaWRlIG9mIGhsc2RlbXV4LgoKMjAxNC0wMi0xOCAxOToxNjozNSAtMDYwMCAgQnJlbmRhbiBMb25nIDxzZWxmQGJyZW5kYW5sb25nLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuaDoKCSAga2F0ZWRlYzogTWVyZ2UgbmV3IHRhZ3Mgd2l0aCBleGlzdGluZyB0YWdzIHRvIHByZXZlbnQgb3ZlcndyaXRpbmcgZGVtdXhlciB0YWdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ2OTkKCjIwMTQtMDItMjAgMTU6MDk6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIGV4dDogVXNlIENvZGVjL0RlbXV4ZXIvQWRhcHRpdmUgZm9yIHRoZSBhZGFwdGl2ZSBzdHJlYW1pbmcgZGVtdXhlcnMKCjIwMTQtMDItMTcgMDk6MTk6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogUmVmYWN0b3IgdGhyZWFkaW5nIGFuZCBkb3dubG9hZGluZwoJICBXZSBub3cgZG93bmxvYWQgZnJhZ21lbnRzIGFzIGZhc3QgYXMgcG9zc2libGUgYW5kIHB1c2ggdGhlbSBkb3duc3RyZWFtCgkgIHdoaWxlIGFub3RoZXIgdGhyZWFkIGlzIGp1c3QgcmVzcG9uc2libGUgZm9yIHVwZGF0aW5nIGxpdmUgcGxheWxpc3RzCgkgIGV2ZXJ5IG5vdyBhbmQgdGhlbi4KCSAgVGhpcyBzaW1wbGlmaWVzIHRoZSBjb2RlIGEgbG90IGFuZCB0b2dldGhlciB3aXRoIHRoZSBuZXcgYnVmZmVyaW5nCgkgIG1vZGUgZm9yIGFkYXB0aXZlIHN0cmVhbXMgaW4gbXVsdGlxdWV1ZSBtYWtlcyBzdHJlYW1zIHN0YXJ0IG11Y2ggZmFzdGVyLgoJICBBbHNvIHNpbXBsaWZ5IHRocmVhZGluZyBhIGJpdCBhbmQgaG9wZWZ1bGx5IG1ha2UgdGhlIEdzdFRhc2sgdXNhZ2Ugc2FmZXIuCgoyMDE0LTAyLTE5IDA5OjM1OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogT25seSBzd2l0Y2ggcGFkcyBpZiB0aGUgY2FwcyBhcmUgY2hhbmdpbmcKCjIwMTQtMDItMjEgMTI6MzM6NDIgKzAwMDAgIENocmlzIEJhc3MgPGZsb29ibGVmbGFtQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGVuc3VyZSBzZWdtZW50cyBhcmVuJ3QgZmV0Y2hlZCBiZWZvcmUgdGhleSdyZSBhdmFpbGFibGUKCSAgSW5jb3JyZWN0IHRpbWUgc2NhbGluZyBpbiBnc3RfZGFzaF9kZW11eF93YWl0X2Zvcl9mcmFnbWVudF90b19iZV9hdmFpbGFibGUoKQoJICBtZWFucyB0aGF0IG1lZGlhIHNlZ21lbnRzIGFyZSBmZXRjaGVkIGJlZm9yZSB0aGVpciBhdmFpbGFibGl0eSB0aW1lLiBUaGlzCgkgIHBhdGNoIGZpeGVzIHRoaXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ4NzUKCjIwMTQtMDItMjEgMTQ6MDY6MjQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogVW5jb21tZW50IFBBVCBjbGVhcnVwIGluIF9yZXNldAoJICBUaGUgUEFUIGlzIHJlbGF0ZWQgdG8gdGhlIHN0cmVhbSwgd2UgdGhlcmVmb3JlIHdhbnQgaXQgY2xlYXJlZCBhbG9uZwoJICB3aXRoIGFueXRoaW5nIHN0cmVhbSByZWxhdGVkLgoJICBUaGlzIGNvbW1lbnRlZCBzZWN0aW9uIHdhcyBmcm9tIHRoZSAob2xkKSBtcGVndHNwYXJzZSBhbmQgKm1pZ2h0KiBoYXZlCgkgIGJlZW4gcmVsYXRlZCB0byBzcGVlZGluZyB1cCBEVkIgc3RhcnQtdXAuIEJ1dCB3ZSBoYXZlIGFub3RoZXIgcGxhbiBmb3IgdGhhdC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDcxNgoKMjAxNC0wMi0xOCAxMDoxOTo1MiArMDAwMCAgQ2hyaXMgQmFzcyA8Zmxvb2JsZWZsYW1AZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogaW5pdGlhbGlzZSBkZW11eC0+bGFzdF9tYW5pZmVzdF91cGRhdGUKCSAgZGVtdXgtPmxhc3RfbWFuaWZlc3RfdXBkYXRlIGlzIG5vdCBpbml0aWFsaXNlZCBhdCBzdGFydHVwLCB3aXRoIHRoZQoJICBlZmZlY3QgdGhhdCBsaXZlIG1hbmlmZXN0cyBhcmUgcmVsb2FkZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIGRvd25sb2FkCgkgIGxvb3AgYmVnaW5zLiBUaGlzIHBhdGNoIGZpeGVzIHRoaXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ3OTAKCjIwMTMtMTItMjkgMTY6MDA6MDEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogRml4IHRzX3RvX29mZnNldCBiZXlvbmQgbGFzdCBvYnNlcnZlZCBQQ1IKCSAgVGhlIHJlcXVlc3RlZCBUUyBtaWdodCBiZSBiZXlvbmQgdGhlIGxhc3Qgb2JzZXJ2ZWQgUENSLiBJbiBvcmRlciB0byBjYWxjdWxhdGUKCSAgYSBjb2hlcmVudCBvZmZzZXQsIHdlIG5lZWQgdG8gdXNlIHRoZSBsYXN0IGFuZCBwcmV2aW91cy10by1sYXN0IGdyb3Vwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTAzNQoKMjAxNC0wMi0xMiAxODoxNTo0NCAtMDYwMCAgQnJlbmRhbiBMb25nIDxzZWxmQGJyZW5kYW5sb25nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSAgbXBlZ3RzOiBBZGQgZ3N0X21wZWd0c19zZWN0aW9uX2dldF9kYXRhLCB0byBhbGxvdyB1cyB0byBnZXQgdGhlIG9yaWdpbmFsIGJpbmFyeSBzZWN0aW9uIGRhdGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQyNTUKCjIwMTQtMDItMjAgMTk6MDg6MzMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHMtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBBZGQgc2l6ZSBndWFyZHMgZm9yIGRlc2NyaXB0b3JzIHdoZXJlIG5lZWVkZWQKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDQ2NAoKMjAxNC0wMi0yMCAxODoxNDo1MSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0cy1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJICBtcGVnLXRzOiBSZW5hbWUgcHJpdmF0ZSBmdW5jdGlvbgoJICBDYWxsaW5nIGl0IF9kZXNjX2NoZWNrcyB3aGVuIGl0IHdhcyBpbiBmYWN0IHVzZWQgZm9yIHNlY3Rpb25zIHdhcyBhCgkgIHRhZCBjb25mdXNpbmcgLi4uCgoyMDE0LTAyLTE2IDEwOjQ1OjIxICswMTAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogQWRkIHN1cHBvcnQgZm9yIGNvbnRlbnQgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0MDM0CgoyMDE0LTAyLTE2IDEwOjQ0OjU1ICswMTAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogQWRkIHN1cHBvcnQgZm9yIGNvbXBvbmVudCBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQwMzQKCjIwMTQtMDItMTYgMTA6NDM6NTIgKzAxMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBBZGQgc3VwcG9ydCBmb3IgZXh0ZW5kZWQgZXZlbnQgZGVzcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQwMzQKCjIwMTQtMDItMTAgMjE6NTI6MjggKzAxMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBBZGQgc3VwcG9ydCBmb3IgRFZCIHRlcnJlc3RyaWFsIGRlbGl2ZXJ5IHN5c3RlbSBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQwNjkKCjIwMTQtMDItMTYgMTA6MDk6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3dpbmtzL01ha2VmaWxlLmFtOgoJICBjb25maWd1cmU6IFJlbmFtZSBhbGwgdmFyaWFibGVzIHJlbGF0ZWQgdG8gdGhlIHdpbmtzIHBsdWdpbgoJICBJdCBkb2VzIG5vdCBtYWtlIHNlbnNlIHRvIGNhbGwgdGhlbSBhZnRlciBkaXJlY3RzaG93IGlmIHRoZXkKCSAgYXJlIGZvciB0aGUgd2lua3MgcGx1Z2luIG9ubHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQxMDAKCjIwMTMtMDQtMDggMTQ6MDQ6MTAgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBmaXggdXBkYXRlIGludGVydmFsIHdpdGggcmVzcGVjdCBvZiB0aGUgc3BlYwoKMjAxNC0wMi0xNCAxMjozOTowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5oOgoJICBhbWNhdWRpb2RlYzogQ2FsY3VsYXRlIG51bWJlciBvZiBzYW1wbGVzIHBlciBmcmFtZSBmb3IgTVAzIGFuZCB1c2UgdGhhdAoJICBTb21lIGF1ZGlvIGRlY29kZXJzIChhdCBsZWFzdCB0aGUgTVAzIGRlY29kZXIgb24gTVRLIGJhc2VkIGRldmljZXMpIG91dHB1dHMKCSAgcmF3IGF1ZGlvIGluIGJhdGNoZXMgb2YgbXVsdGlwbGUgYXVkaW8gZnJhbWVzLiBXZSBuZWVkIHRvIGhhbmRsZSB0aGF0CgkgIHByb3Blcmx5LCBvdGhlcndpc2UgdGhlIGJhc2UgY2xhc3Mgd2lsbCBiZSBraW5kIG9mIHVuaGFwcHkuCgoyMDE0LTAyLTE0IDEyOjMzOjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBhbWNhdWRpb2RlYzogRXJyb3Igb3V0IGlmIHdlIGdldCBhbiBpbnZhbGlkIHJhdyBhdWRpbyBidWZmZXIgc2l6ZQoKMjAxNC0wMi0xNCAxMjozMjozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW1jdmlkZW9kZWM6IFN0b3JlIHJldHVybiB2YWx1ZSBvZiBnc3RfY2Fwc19tZXJnZV9zdHJ1Y3R1cmUoKQoJICBUaGUgaW5wdXRzIGFyZSBib3RoIGludmFsaWQgYWZ0ZXJ3YXJkcy4KCjIwMTQtMDItMTQgMTI6MzE6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFtY3ZpZGVvZGVjOiBSZWxlYXNlIGJ1ZmZlciB0byBBbmRyb2lkIGlmIGFsbG9jYXRpbmcgb3V0cHV0IGZhaWxlZAoKMjAxNC0wMi0xNCAxMjoyODo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgYW1jYXVkaW9kZWM6IFJlbGVhc2UgYnVmZmVyIGJhY2sgdG8gQW5kcm9pZCBpZiBhbGxvY2F0aW5nIG91dHB1dCBmYWlscwoKMjAxNC0wMi0xMyAxMDoyMToxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogS2VlcCBhbGl2ZSBjb25uZWN0aW9ucyBpZiB0aGUgc291cmNlIHN1cHBvcnRzIHRoYXQKCjIwMTQtMDItMTMgMTA6MDY6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IFJlLXVzZSBvbGQgc291cmNlIGVsZW1lbnQgaWYgcG9zc2libGUKCSAgQWxsb3dzIHRvIGltcGxlbWVudCBrZWVwLWFsaXZlIGhhbmRsaW5nIGluIHRoZSBzb3VyY2UgZWxlbWVudC4KCjIwMTQtMDItMTIgMTg6NDk6MTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IElnbm9yZSBlbXB0eSBsaW5lcyBpbiB0aGUgcGxheWxpc3QKCSAgQmFzZWQgb24gYSBwYXRjaCBieSBBbmRvbmkgTW9yYWxlcy4KCjIwMTQtMDItMTIgMTg6NDc6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IE1ha2Ugc3VyZSB0byBpZ25vcmUgXHIgaW4gbGluZSBlbmRpbmdzIGluIGV2ZXJ5IGNhc2UKCjIwMTQtMDItMTIgMTg6Mjc6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IEdpdmUgYSBwcm9wZXIgbmFtZSB0byB0aGUgc3JjcGFkcyBhbmQgcmVtb3ZlIGl0IHdoZW4gcmVzZXR0aW5nIHRoZSBlbGVtZW50CgoyMDE0LTAyLTEyIDE4OjA2OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBGaXggcG90ZW50aWFsIGRlYWRsb2NrCgkgIFRoZSBzdHJlYW1pbmcgdGhyZWFkIG1pZ2h0IHVzZSBvdXIgbG9jaywgc28gc2h1dHRpbmcKCSAgZG93biB0aGUgZWxlbWVudCB3aGlsZSBob2xkaW5nIHRoYXQgbG9jayBjYWxscyBmb3IgcHJvYmxlbXMuCgoyMDE0LTAyLTEyIDE3OjU5OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBTaHV0ZG93biB0aGUgc291cmNlIGVsZW1lbnQgYmVmb3JlIHVubGlua2luZyBpdAoJICBPdGhlcndpc2Ugd2UgbWlnaHQgZ2V0IHdhcm5pbmdzIGFib3V0IHB1c2hpbmcgdG8gdW5saW5rZWQgcGFkcy4KCSAgQmFzZWQgb24gYSBwYXRjaCBieSBBbmRvbmkgTW9yYWxlcy4KCjIwMTQtMDItMTIgMTY6NDY6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBTdG9wIGxlYWtpbmcgR0Vycm9ycyBpbiBzb21lIGVycm9yIHBhdGhzCgoyMDEyLTA1LTExIDEzOjU4OjI4ICswMjAwICBHaWwgUGVkZXJzZW4gPGdpdEBncG9zdC5kaz4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRvbid0IHBhdXNlIHRhc2sgd2hlbiBpdCBpcyBzdG9wcGVkCgkgIFRoaXMgZml4ZXMgYSBwb3RlbnRpYWwgZGVhZC1sb2NrIHNpdHVhdGlvbiBmcm9tIEdzdFRhc2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTg2OQoKMjAxNC0wMi0xMiAxNjowMTowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFdhaXQgZm9yIHRoZSB1cGRhdGUgdGFzayB0byBmaW5pc2ggd2hlbiBzaHV0dGluZyBkb3duCgoyMDE0LTAyLTEyIDE1OjMzOjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogUHJldmVudCByb3VuZGluZyBlcnJvcnMgZHVlIHRvIGRpdmlzaW9uIGJ5IHVzaW5nIGdzdF91dGlsX3VpbnQ2NF9zY2FsZSgpCgoyMDEzLTA3LTI1IDE5OjM2OjQ4ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogc2NoZWR1bGUgbmV4dCB1cGRhdGUgYmFzZWQgb24gdGhlIGZyYWdtZW50IGR1cmF0aW9uCgoyMDE0LTAyLTEyIDE1OjE2OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogUHJvcGVybHkgZXJyb3Igb3V0IGlmIGNhcHMgY2FuJ3QgYmUgdHlwZWZpbmQgaW5zdGVhZCBvZiB1c2luZyBOVUxMIGNhcHMKCjIwMTMtMDctMjkgMTg6MDA6MzEgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogbG9nIGZyYWdtZW50IHRpbWVzdGFtcAoKMjAxNC0wMi0xMiAxNDoxMDowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogVXNlIGdfYXNjaWlfeGRpZ2l0X3ZhbHVlKCkgaW5zdGVhZCBvZiBvdXIgb3duIHZlcnNpb24gb2YgaXQKCjIwMTQtMDItMTIgMTM6NDA6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBFcnJvciBvdXQgaWYgdGhlIGtleSBpcyBub3QgMTYgYnl0ZXMgbGFyZ2UKCjIwMTQtMDItMTIgMTM6MTM6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEb3dubG9hZCBwbGF5bGlzdHMgd2l0aCBjb21wcmVzc2lvbiwga2V5cyBhbmQgZnJhZ21lbnRzIHdpdGhvdXQKCjIwMTQtMDItMTIgMTM6MTE6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBEb3dubG9hZCB0aGUgbWFuaWZlc3Qgd2l0aCBjb21wcmVzc2lvbiwgdGhlIGZyYWdtZW50cyB3aXRob3V0CgoyMDE0LTAyLTEyIDEzOjEwOjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogRG93bmxvYWQgTVBEIHdpdGggY29tcHJlc3Npb24sIHRoZSBmcmFnbWVudHMgd2l0aG91dAoKMjAxNC0wMi0xMiAxMzowODoyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5oOgoJICB1cmlkb3dubG9hZGVyOiBBZGQgc3VwcG9ydCBmb3IgY29tcHJlc3NlZCBkb3dubG9hZHMKCSAgVmVyeSB1c2VmdWwgZm9yIHBsYXlsaXN0cywgbGVzcyB1c2VmdWwgZm9yIG1lZGlhIGZpbGVzLgoKMjAxNC0wMi0xMiAxMToyNjowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERvbid0IHNldCB0aGUgZWxlbWVudCBwcml2YXRlIGRhdGEgb24gdGhlIHNyY3BhZHMKCSAgSXQncyBub3QgdXNlZCBhbnl3YXkuCgoyMDE0LTAyLTEyIDExOjI1OjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogVXNlIGdzdF9wYWRfdXNlX2ZpeGVkX2NhcHMoKSBvbiB0aGUgc3JjcGFkcwoKMjAxNC0wMi0xMiAxMDo1OTozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogQ2FjaGUgdGhlIGtleSBmcmFnbWVudCBpbnN0ZWFkIG9mIGRvd25sb2FkaW5nIGl0IG92ZXIgYW5kIG92ZXIgYWdhaW4KCjIwMTQtMDItMTIgMTA6NTg6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBGaXggY2xlYW51cCB3aGVuIGRlY3J5cHRpb24gZmFpbHMKCSAgRmlyc3QgdW5tYXAgYnVmZmVycywgdGhlbiB1bnJlZiB0aGVtLiBBbmQgYWxzbyB1bnJlZiB0aGUKCSAga2V5IGZyYWdtZW50LgoKMjAxNC0wMi0xMSAxNToyMDo1OCArMDEwMCAgTGlodWEgTGl1IDxsaWh1YWxAYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSAgY3VybHNtdHBzaW5rOiBJbmNsdWRlIHRpbWV6b25lIGluZm9ybWF0aW9uIGluIG1haWwgaGVhZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQxMjUKCjIwMTQtMDItMTEgMTg6MTU6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IERvbid0IHRyeSBkZWNyeXB0aW9uIGlmIGFuIHVuc3VwcG9ydGVkIG1ldGhvZCBpcyBmb3VuZAoKMjAxNC0wMi0xMSAxODoxNTowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogUHJvcGVybHkgcGFyc2UgSVYgZnJvbSB0aGUgcGxheWxpc3QKCSAgV2l0aG91dCB0aGlzIGV2ZXJ5IGZyYWdtZW50J3MgZmlyc3QgMTYgYnl0ZXMgd2lsbCBiZSBjb3JydXB0ZWQKCSAgaWYgbm90IHRoZSBmYWxsYmFjayBJViBpcyB1c2VkIGJ5IHRoZSBwbGF5bGlzdC4KCjIwMTQtMDItMTEgMTU6MjY6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IFJlc2V0IGNhbmNlbGxlZCBzdGF0ZSBhZnRlciBmZXRjaGluZyBhbiBVUkkKCSAgT3RoZXJ3aXNlIGl0IHdpbGwgbmV2ZXIgZXZlciBiZSBhYmxlIHRvIGZldGNoIGFueXRoaW5nIGFmdGVyIGFuCgkgIGVycm9yIHVudGlsIHRoZSB1c2VyIHJlc2V0cyBpdCBtYW51YWxseS4KCjIwMTQtMDItMTEgMTQ6NTc6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBQcm9wYWdhdGUgZG93bmxvYWQgZXJyb3JzIHByb3Blcmx5IGFuZCBwb3N0IGVycm9yIG1lc3NhZ2VzIGlmIHRoZXkncmUgZmF0YWwKCjIwMTQtMDItMTEgMTQ6MTg6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIGV4dDogVXBkYXRlIGZvciBHc3RVcmlEb3dubG9hZGVyIEFQSSBjaGFuZ2VzCgoyMDE0LTAyLTExIDE0OjEzOjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmg6CgkgIHVyaWRvd25sb2FkZXI6IFByb3ZpZGUgc29tZSBtb3JlIGRldGFpbHMgYWJvdXQgZXJyb3JzIGlmIGRvd25sb2FkaW5nIGZhaWxzCgoyMDE0LTAyLTExIDA5OjIwOjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFRoZSB3aW5rcyBwbHVnaW4gaXMgbm90IHBvcnRlZCB0byAxLjAgeWV0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQxMDAKCjIwMTQtMDItMTAgMTU6Mzg6MDggLTA4MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogY2FsbCBjbG9zZSgpIGFmdGVyIHNodXRkb3duKCkKCSAgc2h1dGRvd24oKSBkb2Vzbid0IGNsb3NlIHRoZSBmaWxlIGRlc2NyaXB0b3Igc28gd2UgbGVhayBzb2NrZXRzIGlmIHdlCgkgIGRvbid0IGNhbGwgY2xvc2UoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDA3NwoKMjAxNC0wMi0xMCAxNDozMzo0OSAtMDgwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiB1c2Ugc2h1dGRvd24oKSBpbnN0ZWFkIG9mIGNsb3NlKCkKCSAgd2UgbWFrZSBzdXJlIGJvdGggZW5kcyBnZXQgbm90aWZpZWQgd2hlbiB0aGUgc29ja2V0IGlzIGNsb3NlZCBieSB1c2luZwoJICBzaHV0ZG93bigpIGluc3RlYWQgb2YgY2xvc2UoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDA3NwoKMjAxNC0wMi0xMCAxODoyOToyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFN0YXJ0IGRvd25sb2FkaW5nIHRoZSBuZXh0IGZyYWdtZW50IGltbWVkaWF0ZWx5IGFmdGVyIGNhY2hpbmcgdGhlIGluaXRpYWwgZnJhZ21lbnRzCgkgIEFuZCBvbmx5IGFmdGVyd2FyZHMgd2FpdCB1bnRpbCBhIGZyYWdtZW50IHdhcyBwbGF5ZWQuIE90aGVyd2lzZSB3ZSdyZSBrZWVwaW5nCgkgIG91ciBjYWNoZSBtb3N0IG9mIHRoZSB0aW1lIGF0ICJmcmFnbWVudHMtY2FjaGUiIGZyYWdtZW50cyBtaW51cyBvbmUuCgkgIEFsc28gYWxsb3cgc2V0dGluZyAiZnJhZ21lbnRzLWNhY2hlIiB0byAxIG5vdyB0byBzdGFydCBwbGF5YmFjayBldmVuIGZhc3Rlci4KCjIwMTQtMDItMTAgMTg6Mjc6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBTdGFydCBmZXRjaGluZyBuZXcgZnJhZ21lbnRzIHdoZW5ldmVyIHdlIGhhdmUgbGVzcyBmcmFnbWVudHMgY2FjaGVkIHRoYW4gZ2l2ZW4gYnkgdGhlIGZyYWdtZW50cy1jYWNoZSBwcm9wZXJ0eQoJICBXYWl0aW5nIHVudGlsIG91ciBjYWNoZSBpcyBlbXB0eSBiZWZvcmUgc3RhcnRpbmcgdG8gZmV0Y2ggdGhlIG5leHQgZnJhZ21lbnQKCSAga2luZCBvZiBkZWZlYXRzIHRoZSBwdXJwb3NlIG9mIGNhY2hpbmcgbXVsdGlwbGUgZnJhZ21lbnRzLgoKMjAxNC0wMi0xMCAxODoyMTozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEZpeCBiaXRyYXRlIGNhbGN1bGF0aW9uCgkgIGdfZ2V0X21vbm90b25pY190aW1lKCkgcmV0dXJucyBtaWNyb3NlY29uZHMsIG5vdCBuYW5vc2Vjb25kcy4KCjIwMTQtMDItMTAgMTc6MjY6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IEFjdHVhbGx5IHN0b3JlIGRvdWJsZXMgYXMgc3VjaCBhbmQgZG9uJ3QgdHJ1bmNhdGUgdGhlbSB0byBpbnRzCgkgIEZpeGVzIGJyb2tlbiBkdXJhdGlvbiByZXBvcnRpbmcuCgoyMDE0LTAyLTEwIDE3OjI1OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBVc2UgbG9jYWxlLWluZGVwZW5kZW50IGludC9mbG9hdCBwYXJzaW5nIGZ1bmN0aW9ucyBmcm9tIEdMaWIKCjIwMTQtMDItMTAgMTQ6MzQ6NDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRkZWMuYzoKCSAgZmx1aWRkZWM6IGFkZCBtb3JlIHNvdW5kZm9udCBzZWFyY2ggcGF0aHMKCSAgRmVkb3JhIGluc3RhbGxzIHRoZSBzb3VuZGZvbnRzIGluIC91c3Ivc2hhcmUvc291bmRmb250cy8gc28gbWFrZSBzdXJlIHdlCgkgIGxvb2sgdGhlcmUgYXMgd2VsbC4KCjIwMTQtMDItMTAgMDg6MTk6NTIgKzAwMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRkZWMuYzoKCSAgQ2hhbmdlIHNvdW5kZm9udCBmaWxlIHNlYXJjaCBwYXRoIGZvciBmbHVpZGRlYwoJICBVc2UgZ2xpYiB0byBnZXQgYSBsaXN0IG9mIHN5c3RlbSAic2hhcmUiIGRpcmVjdG9yaWVzLCB0aGVuIGdvIHRocm91Z2ggdGhhdAoJICBsaXN0LCBhcHBlbmRpbmcgJ3NvdW5kcy9zZjIvJyB0byBlYWNoIGRpcmVjdG9yeSB0byBnZXQgYSBzb3VuZGZvbnQgZGlyZWN0b3J5LAoJICBhbmQgbG9va2luZyBmb3IgLnNmMiBmaWxlcyB0aGVyZS4KCSAgVGhpcyB3YXkgZmx1aWRkZWMgaXMgYWJsZSB0byBsb2FkIHNmMiBmaWxlcyBvbiBXMzIsIGJlY2F1c2Ugb3RoZXJ3aXNlIHRoZQoJICBwYXRoICcvdXNyL3NoYXJlL3NvdW5kcy9zZjInIG1ha2VzIG5vIHNlbnNlIHRoZXJlLgoJICBGaXhlcyAjNzI0MDEzCgoyMDE0LTAyLTEwIDA4OjIxOjA0ICswMDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IHdpbmtzIGNvbmZpZ3VyZSB0ZXN0CgkgIEZpeGVzICM3MjM5OTUKCjIwMTQtMDItMTAgMDg6MjI6MDUgKzAwMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL3dpbmtzL01ha2VmaWxlLmFtOgoJICB3aW5rczogTWFrZSBoZWFkZXJzIGtub3duIHRvIGF1dG9tYWtlCgkgIEZpeGVzICM3MjQwMDMKCjIwMTQtMDItMDkgMTg6NDk6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9obHMvTWFrZWZpbGUuYW06CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFByZWZlciB0byB1c2UgbmV0dGxlIGZvciBkZWNyeXB0aW9uIGJ1dCBmYWxsLWJhY2sgdG8gbGliZ2NyeXB0CgkgIG5ldHRsZSBpcyB1c2VkIGJ5IG5ld2VyIHZlcnNpb25zIG9mIGdudXRscywgd2hpbGUgb2xkZXIgdmVyc2lvbnMgb2YgZ251dGxzCgkgIHVzZWQgbGliZ2NyeXB0LiBTdXBwb3J0IGJvdGggZm9yIG5vdyBhcyBub3QgZXZlcnkgZGlzdHJvIGhhcyBuZXR0bGUgeWV0LgoJICBuZXR0bGUgaXMgcHJlZmVycmVkIGFzIGl0IGlzIG1vcmUgZWZmaWNpZW50IHRvIHVzZSBhbmQgbXVjaCBzbWFsbGVyLgoKMjAxNC0wMi0wOSAxODoxOTozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBVcGRhdGUgdG8gbm9uLWRlcHJlY2F0ZWQgR0xpYiB0aHJlYWQgQVBJCgoyMDE0LTAyLTA5IDE4OjA5OjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvaGxzL01ha2VmaWxlLmFtOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIG00L2xpYmdjcnlwdC5tNDoKCSAgaGxzZGVtdXg6IFVzZSBsaWJnY3J5cHQgZGlyZWN0bHkgaW5zdGVhZCBvZiBnb2luZyB0aHJvdWdoIGdudXRscwoJICBnbnV0bHMgaXMgYWxzbyBqdXN0IHdyYXBwaW5nIGdjcnlwdCwgYnV0IHdlIGRvbid0IG5lZWQgYW55IG9mCgkgIHRoZSBUTFMgcmVsYXRlZCBmdW5jdGlvbmFsaXR5LiBXZSBqdXN0IG5lZWQgdG8gYmUgYWJsZSB0byBkZWNyeXB0CgkgIEFFUzEyOC1DQkMuCgoyMDE0LTAyLTA4IDIwOjA4OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb3B1cy5jOgoJICBvcHVzOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlIGZyb20gdW5pdCB0ZXN0CgoyMDE0LTAyLTA4IDIwOjA3OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJICBrYXRlOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlIGZyb20gdW5pdCB0ZXN0CgoyMDE0LTAyLTA4IDIwOjA3OjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogRml4IGNvbXBpbGVyIHdhcm5pbmcgaW4gdGVzdAoJICBlcnJvcjogc3VnZ2VzdCBicmFjZXMgYXJvdW5kIGluaXRpYWxpemF0aW9uIG9mIHN1Ym9iamVjdCBbLVdlcnJvciwtV21pc3NpbmctYnJhY2VzXQoKMjAxNC0wMi0wOCAxOTo1OTo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogRml4IGNvbXBhcmlzb24gY29tcGlsZXIgd2FybmluZwoJICBlcnJvcjogY29tcGFyaXNvbiBvZiBjb25zdGFudCAtMSB3aXRoIGV4cHJlc3Npb24gb2YgdHlwZQoJICAnR3N0U3J0cENpcGhlclR5cGUnIGlzIGFsd2F5cyBmYWxzZQoKMjAxNC0wMi0wOCAxOToyOTozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuaDoKCSAgbW90aW9uY2VsbHM6IFJlbW92ZSB1bnVzZWQgcHJpdmF0ZSBmaWVsZHMKCjIwMTQtMDItMDggMTk6Mjg6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHNlZ21lbnRhdGlvbi5jcHA6CgkgIHNlZ21lbnRhdGlvbjogRml4IGludGVnZXIgdW5kZXJmbG93IGNoZWNrCgkgIGVycm9yOiBjb21wYXJpc29uIG9mIHVuc2lnbmVkIGV4cHJlc3Npb24gPCAwIGlzCgkgIGFsd2F5cyBmYWxzZSBbLVdlcnJvciwtV3RhdXRvbG9naWNhbC1jb21wYXJlXQoKMjAxNC0wMi0wOCAxODo1ODozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgZGZidmlkZW9zaW5rOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoKMjAxNC0wMi0wOCAxODo1NzozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9iejIvZ3N0YnoyZGVjLmg6CgkqIGV4dC9iejIvZ3N0YnoyZW5jLmg6CgkgIGJ6MjogRml4IHR5cG8gaW4gaGVhZGVyIGluY2x1ZGUgZ3VhcmRzCgoyMDE0LTAyLTA4IDE4OjU2OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVycG9vbC5jOgoJICB2ZHBhdTogRml4IGNvbXBhcmlzb24gY29tcGlsZXIgd2FybmluZwoJICBlcnJvcjogY29tcGFyaXNvbiBvZiBjb25zdGFudCAtMSB3aXRoIGV4cHJlc3Npb24KCSAgb2YgdHlwZSAnY29uc3QgR3N0VmlkZW9Gb3JtYXQnIGlzIGFsd2F5cyBmYWxzZQoKMjAxNC0wMi0wOCAxODo1NDo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjRzcmM6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5ncwoKMjAxNC0wMi0wOCAxODo0ODo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM3RhZzogRml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoJICBlcnJvcjogdmFyaWFibGUgJ2ltYWdlX3R5cGUnIGlzIHVzZWQgdW5pbml0aWFsaXplZCB3aGVuZXZlcgoJICAnaWYnIGNvbmRpdGlvbiBpcyBmYWxzZSBbLVdlcnJvciwtV3NvbWV0aW1lcy11bmluaXRpYWxpemVkXQoKMjAxNC0wMi0wOCAxODo0NToxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxNC0wMi0wOCAxODoyMDoyMiArMDEwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJICBtcGVndHM6IHBtdDogRGV0ZWN0IGRlc2NyaXB0b3IgbGVuZ3RoIGNvcnJlY3QKCjIwMTQtMDItMDggMTc6NDM6MDMgKzAxMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSAgbXBlZ3RzOiBDb3JyZWN0bHkgY2hlY2sgZm9yIFBBVCxQTVQsQ0FULFRTRFQKCjIwMTQtMDItMDggMTM6MDg6MDIgKzAxMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSAgbXBlZ3RzOiBGaXggc29tZSBwYWNrZXRpemluZyBidWdzCgkgIC0gTGVuZ3RoIG9mIE5JVCBzdHJlYW0gZGVzY3JpcHRvcnMgd2FzIG5vdCBkZXRlY3RlZCBjb3JyZWN0CgkgIC0gUmVzZXJ2ZWQgYml0cyB3YXMgbm90IHNldCBhY2NvcmRpbmcgdG8gRU4gMzAwIDQ2OCwgSVNPL0lFQyAxMzgxOC0xCgkgIC0gQWxzbyBzZXQgb3V0cHV0IGRhdGEgc2l6ZSBpZiB0aGUgc2VjdGlvbiB3YXMgcHJldmlvdXNseSBwYWNrZXRpemVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM4OTIKCjIwMTQtMDItMDcgMTE6NTQ6MDcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBSZW1vdmUgb3IgbW92ZSB2YXJpYWJsZSBhc3NpZ25tZW50cwoJICBUbyB3aGVyZSB0aGV5J3JlIG5lZWRlZAoKMjAxNC0wMi0wNyAxMTo1MzozOCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIGR2Yi1kZXNjcmlwdG9yOiBSZW1vdmUgdW5uZWVkZWQgaW5jcmVtZW50CgoyMDE0LTAyLTA3IDExOjQyOjUxICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgZHZiLWRlc2NyaXB0b3I6IEZpeCBjb21wYXJpc2lvbgoJICB3ZSB3YW50IHRvIHN0b3AgaWYgb25lIE9SIHRoZSBvdGhlciBpcyBOVUxMLgoKMjAxNC0wMi0wNiAxMzo1Mzo0OSArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogVXBkYXRlZCBkb2NzIHdpdGggbmV3IEFQSQoKMjAxMy0xMS0xOSAxMjoyMTozMSArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0L21wZWd0c211eC90c211eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c211eC90c211eC9jcmMuaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uaDoKCSAgbXBlZ3RzbXV4OiBVc2UgbXBlZy10cyBsaWIgZm9yIFBBVC9QTVQgc2VjdGlvbnMKCSAgUmV3cml0ZSBvZiB0aGUgUEFUL1BNVCBzZWN0aW9uIGhhbmRsaW5nIHRvIHVzZSB0aGUgbXBlZy10cyBsaWJyYXJ5CgoyMDEzLTExLTIwIDExOjE0OjQ2ICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eGNvbW1vbi5oOgoJICBtcGVndHNtdXg6IEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgU0kgdGFibGVzCgkgIFRoZSBtdXhlciBpcyBub3cgYWJsZSB0byBpbmNsdWRlIERWQiBzZWN0aW9ucyBpbiB0aGUgdHJhbnNwb3J0IHN0cmVhbS4KCSAgVGhlIHNpLWludGVydmFsIHByb3BlcnR5IHdpbGwgZGV0ZXJtaW5lIGhvdyBvZnRlbiB0aGUgU0kgdGFibGVzIGFyZQoJICBtdXhlZCBpbnRvIHRoZSBzdHJlYW0uCgkgIFRoZSBzZWN0aW9uIGlzIGhhbmRsZWQgYnkgdGhlIG1wZWctdHMgbGlicmFyeS4gQmVsb3cgaXMgYSBzbWFsbCBleGFtcGxlCgkgIHRoYXQgd2lsbCBpbmNsdWRlIGEgTmV0b3JrIEluZm9ybWF0aW9uIFRhYmxlIHdpdGggYSBOZXR3b3JrIE5hbWUKCSAgZGVzY3JpcHRvciBpbiB0aGUgc3RyZWFtLgoJICBHc3RNcGVnVHNOSVQgKm5pdDsKCSAgR3N0TXBlZ1RzRGVzY3JpcHRvciAqZGVzY3JpcHRvcjsKCSAgR3N0TXBlZ1RzU2VjdGlvbiAqc2VjdGlvbjsKCSAgR3N0RWxlbWVudCAqbXBlZ3RzbXV4OwoJICBnc3RfbXBlZ3RzX2luaXRpYWxpemUgKCk7CgkgIG5pdCA9IGdzdF9tcGVndHNfc2VjdGlvbl9uaXRfbmV3ICgpOwoJICBuaXQtPmFjdHVhbF9uZXR3b3JrID0gVFJVRTsKCSAgZGVzY3JpcHRvciA9IGdzdF9tcGVndHNfZGVzY3JpcHRvcl9mcm9tX2R2Yl9uZXR3b3JrX25hbWUgKCJOZXR3b3JrIG5hbWUiKTsKCSAgZ19wdHJfYXJyYXlfYWRkIChuaXQtPmRlc2NyaXB0b3JzLCBkZXNjcmlwdG9yKTsKCSAgc2VjdGlvbiA9IGdzdF9tcGVndHNfc2VjdGlvbl9mcm9tX25pdCAobml0KTsKCSAgLy8gbXBlZ3RzbXV4IHNob3VsZCBiZSByZXRyaWV2ZWQgZnJvbSB0aGUgcGlwZWxpbmUKCSAgZ3N0X21wZWd0c19zZWN0aW9uX3NlbmRfZXZlbnQgKHNlY3Rpb24sIG1wZWd0c211eCk7CgkgIGdzdF9tcGVndHNfc2VjdGlvbl91bnJlZiAoc2VjdGlvbik7CgoyMDEzLTExLTE5IDExOjMwOjMzICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogU3VwcG9ydCByZWdpc3RyYXRpb24gYW5kIGN1c3RvbSBkZXNjcmlwdG9yCgkgIFN1cHBvcnQgZm9yIHJlZ2lzdHJhdGlvbiBkZXNjcmlwdG9yICgweDA1KQoJICBBZGQgZnVuY3Rpb24gdG8gY3JlYXRlIGEgZGVzY3JpcHRvciB3aXRoIGN1c3RvbSB0YWcgYW5kIGRhdGEKCjIwMTMtMTEtMTkgMTE6MTU6NTIgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogQWRkIGNyZWF0aW9uIG9mIERWQiBTdWJ0aXRsaW5nIGRlc2NyaXB0b3IKCSAgRGVzY3JpcHRvciB0YWcgaXMgMHg1OQoKMjAxMy0xMS0xOSAxMDo1MDozMCArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBTdXBwb3J0IHBhcnNpbmcgb2YgRFZCIFRlbGV0ZXh0IGRlc2NyaXB0b3IKCSAgRGVzY3JpcHRvciB0YWcgaXMgMHg1NgoKMjAxMy0xMS0yMCAxMTowNjowMyArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJICBtcGVndHM6IEFkZCBzdXBwb3J0IGZvciBjcmVhdGluZyBQQVQvUE1UCgoyMDEzLTExLTIwIDExOjA0OjU4ICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkgIG1wZWd0czogQWRkIHByb2dyYW1fbnVtYmVyIHRvIEdzdE1wZWdUc1BNVAoKMjAxMy0xMC0yOCAxNDo0OTowOCArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBBZGQgbmV0d29yayBuYW1lIGRlc2NyaXB0b3IgY29uc3RydWN0aW9uCgkgIEFkZCBmdW5jdGlvbiB0byBjcmVhdGUgYSBOZXR3b3JrIE5hbWUgRFZCIGRlc2NyaXB0b3IuCgoyMDEzLTEwLTI4IDE0OjQ4OjEzICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5oOgoJICBtcGVndHM6IEFkZCBzdXBwb3J0IGZvciBjcmVhdGluZyBhIE5JVCBzZWN0aW9uCgkgIEZ1bmN0aW9ucyB0aGF0IHdpbGwgZW5hYmxlIHVzZXIgdG8gY3JlYXRlIE5ldHdvcmsgSW5mb3JtYXRpb24gVGFibGVzLgoKMjAxMy0xMC0yOCAxNDoyNjozOSArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uaDoKCSAgbXBlZ3RzOiBBZGQgbmV0d29ya19pZCB0byBHc3RNcGVnVHNOSVQKCSAgVGhlIG5ldHdvcmtfaWQgaXMgc3RvcmVkIGluIHRoZSBzdWJ0YWJsZSBleHRlbnNpb24uIE1ha2UgYSBmaWVsZAoJICBpbiB0aGUgR3N0TXBlZ1RzTklUIGZvciBiZXR0ZXIgY29kZSByZWFkYWJpbGl0eQoKMjAxMy0xMC0zMSAxMzo0NzoyMyArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJICBtcGVndHM6IEFkZCBmdW5jdGlvbnMgdG8gc2VuZCBzZWN0aW9ucyBhcyBldmVudHMKCSAgQWRkZWQgZnVuY3Rpb24gdGhhdCBlbmFibGVzIHRoZSB1c2VyIHRvIHNlbmQgYSBHc3RNcGVnVHNTZWN0aW9uIGFzCgkgIGFuIGV2ZW50IHRvIGEgR3N0RWxlbWVudC4gKGkuZS4gbXBlZ3RzbXV4KQoKMjAxMy0xMC0yOCAxNDo0NDoxMyArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHMtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJICBtcGVndHM6IEFkZCBmdW5jdGlvbnMgdG8gcGFja2V0aXplIHNlY3Rpb24KCSAgU2VjdGlvbnMgbmVlZHMgdG8gYmUgcGFja2V0aXplZCBmb3IgdXNlIGluIGkuZS4gbXBlZ3RzbXV4LgoJICBUaGVzZSBmdW5jdGlvbnMgaGFuZGxlcyB0aGUgZ2VuZXJpYyBjb21tb24gcGFydHMgb2YgYSBHc3RNcGVnVHNTZWN0aW9uCgoyMDEzLTEwLTI4IDE0OjM5OjQ5ICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0cy1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkgIG1wZWd0czogQWRkIGluaXQgZnVuY3Rpb25zIGZvciBkZXNjcmlwdG9yL3NlY3Rpb24KCjIwMTMtMTAtMzAgMTA6NDM6MjEgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzLXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogQWRkIGZ1bmN0aW9uIHRvIGVuY29kZSBVVEY4IHN0cmluZ3MKCSAgVGhpcyBjYW4gYmUgdXNlZCB0byBjcmVhdGUgZGVzY3JpcHRvcnMgd2l0aCBhcHByb3ByaWF0ZSBjaGFyYWN0ZXIgbWFwcwoKMjAxMy0xMC0zMCAxMDo0MjowNyArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogVXNlIGJpZyBlbmRpYW4gVUNTLTIgY29kaW5nCgkgIFBhcnNpbmcgb2YgY29udHJvbCBjb2RlcyByZXF1aXJlcyBhIGJpZyBlbmRpYW4gY2hhcmFjdGVyIG1hcAoKMjAxMy0xMC0zMCAxMDozMzoxOCArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogQWRkIHN1cHBvcnQgZm9yIHR3by13YXkgaWNvbnYgY29udmVyc2lvbnMKCSAgVG8gdXNlIGluIGNvbnZlcnNpb25zIGZyb20gVVRGLTggdG8gYW5vdGhlciBjaGFyYWN0ZXIgbWFwCgoyMDE0LTAyLTA2IDE2OjE3OjM5ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkgIGFwcGxlbWVkaWE6IEZpeCBsaWJ0b29sIHVzYWdlCgkgIC0tdGFnPUNDIGlzIG5lZWRlZCBmb3Igc3RhdGljIGJ1aWxkCgoyMDE0LTAyLTA2IDE0OjIxOjUyICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3R0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBVcGRhdGUgcGx1Z2luIGxpY2Vuc2UgZmllbGQKCSAgVGhlIG9yaWdpbmFsIGNvZGUgKG9sZCBtcGVndHNwYXJzZSkgZnJvbSB3aGljaCB0aGlzIHBsdWdpbiB3YXMgYmFzZWQgb24KCSAgd2FzIGR1YWwtbGljZW5zZWQuIFRoaXMgYWxsb3dlZCB1c2FnZSBvZiB0aGUgY29kZSB1bmRlciBhbnkgb2YgdGhlCgkgIGxpY2Vuc2VzICh3aGljaCBpbmNsdWRpbmcgTEdQTCk6CgkgICIiIgoJICAqIEFsdGVybmF0aXZlbHksIHRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgbWF5IGJlIHVzZWQgdW5kZXIgdGhlIHRlcm1zIG9mCgkgICogdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBWZXJzaW9uIDIgb3IgbGF0ZXIgKHRoZSAiTEdQTCIpLAoJICAqIGluIHdoaWNoIGNhc2UgdGhlIHByb3Zpc2lvbnMgb2YgdGhlIExHUEwgYXJlIGFwcGxpY2FibGUgaW5zdGVhZAoJICAqIG9mIHRob3NlIGFib3ZlLiBJZiB5b3Ugd2lzaCB0byBhbGxvdyB1c2Ugb2YgeW91ciB2ZXJzaW9uIG9mIHRoaXMgZmlsZSBvbmx5CgkgICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBMR1BMLCBhbmQgbm90IHRvIGFsbG93IG90aGVycyB0bwoJICAqIHVzZSB5b3VyIHZlcnNpb24gb2YgdGhpcyBmaWxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTVBMLCBpbmRpY2F0ZSB5b3VyCgkgICogZGVjaXNpb24gYnkgZGVsZXRpbmcgdGhlIHByb3Zpc2lvbnMgYWJvdmUgYW5kIHJlcGxhY2UgdGhlbSB3aXRoIHRoZSBub3RpY2UKCSAgKiBhbmQgb3RoZXIgcHJvdmlzaW9ucyByZXF1aXJlZCBieSB0aGUgTEdQTC4gSWYgeW91IGRvIG5vdCBkZWxldGUKCSAgKiB0aGUgcHJvdmlzaW9ucyBhYm92ZSwgYSByZWNpcGllbnQgbWF5IHVzZSB5b3VyIHZlcnNpb24gb2YgdGhpcyBmaWxlIHVuZGVyCgkgICogdGhlIHRlcm1zIG9mIHRoZSBNUEwgb3IgdGhlIExHUEwuCgkgICIiIgoJICBXaGVuIHJlZmFjdG9yZWQgKGxlYWRpbmcgdG8gdGhlIGNyZWF0aW9uIG9mIHRoaXMgbmV3IHBsdWdpbiksIEkgY2hvc2UgYWxsCgkgIG5ldyBjb2RlIHRvIGJlIExHUEwtb25seSAod2hpY2ggd2FzIGFsbG93ZWQgZm9yIHByZS1leGlzdGluZyBjb2RlKSBieSByZW1vdmluZwoJICB0aGUgTVBMIHNlY3Rpb25zLgoJICBUaGUgaGVhZGVycyB3ZXJlIGFsbCB1cGRhdGVkLCBidXQgbm90IHRoZSBwbHVnaW4gbGljZW5zZSBmaWVsZC4gVGhpcyBjb21taXQKCSAgZml4ZXMgdGhpcy4KCjIwMTQtMDItMDQgMTQ6MTU6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9pbnNlcnRiaW4uYzoKCSAgdGVzdHM6IGluc2VydGJpbjogdXBkYXRlIHRlc3RzIHRvIDEueCBzY2VuYXJpbwoJICBUaGUgdGhyZWFkIHRoYXQgY2FsbHMgdGhlIHN1Y2Nlc3MvZmFpbHVyZSBjYWxsYmFjayBjYW4gYmUgdGhlCgkgIHNhbWUgdGhhdCBpcyBhZGRpbmcvcmVtb3ZpbmcgdGhlIGVsZW1lbnQgYXMgdGhlIElETEUgcHJvYmUgY2FuCgkgIGhhcHBlbiBpbnN0YW50bHkgaWYgdGhlIHBhZCBpcyBub3QgJ2J1c3knLgoJICBUaGlzIHJlcXVpcmVkIG1vdmluZyBzb21lIGNoZWNrcyBmb3IgdGhlIGNhbGxiYWNrIGNvdW50ZXIgYXJvdW5kCgkgIGFzIHdlbGwgYXMgcmVtb3Zpbmcgc29tZSBwYWQgcHVzaGVzIGZyb20gdGhlIG1haW4gdGVzdCB0aHJlYWQgYXMKCSAgdGhleSB3ZXJlIG1hZGUgdXNlbGVzcyBhZnRlciB0aGUgSURMRSBwYWQgcHJvYmUgd2FzIGZpeGVkIGluIGNvcmUKCSAgYnkgY29tbWl0IDAzMjQzNThlYmM4MTIyYTQxYWI0OTlhM2VmNzk3M2I2MWMzZTYyMWIKCjIwMTQtMDItMDMgMjM6Mzk6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW46IGF2b2lkIHdhcm5pbmcgaWYgdGVzdCBpcyBmYWlsaW5nCgkgIEluIGNhc2UgdGhlIHRlc3QgZmFpbHMgdGhlIG1lc3NhZ2Ugd29uJ3QgYmUgcmV0dXJuZWQgYW5kIGl0CgkgIHdpbGwgbGVhZCB0byBhbiBhc3NlcnRpb24gdGhhdCBtaWdodCBiZSBtaXNsZWFkaW5nIHRvIHRob3NlCgkgIGRlYnVnZ2luZyB0aGUgaXNzdWUuCgoyMDE0LTAyLTAzIDIzOjEwOjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogc3RvcCBzb3VyY2UgdG8gZG8gaW50ZXJuYWwgcmVjb25maWd1cmF0aW9uIHNhZmVseQoJICBJbiBvcmRlciB0byBiZSBhYmxlIHRvIGNoYW5nZSB0aGUgY2FwcyBvbiBtdWx0aXBsZSBjYXBzZmlsdGVycyB0aGUKCSAgc291cmNlIGVsZW1lbnQgbmVlZHMgdG8gYmUgc3RvcHBlZCwgb3RoZXJ3aXNlIGl0IHdpbGwgZ2V0IGEgZmV3CgkgIHJlY29uZmlndXJlIGV2ZW50cyBhbmQgbWlnaHQgdHJ5IHRvIHJlbmVnb3RpYXRlIHdoaWxlIHRoZSBiaW4KCSAgaXMgc3RpbGwgdHJhbnNpdGlvbmluZyBpdHMgY2FwcywgbGVhZGluZyB0byBhIG5vdC1uZWdvdGlhdGVkIGZhaWx1cmUKCSAgYW5kIHRoZSBpbWFnZSBjYXB0dXJlIHdvbid0IGhhcHBlbiBiZWNhdXNlIHRoZSBzb3VyY2Ugd2lsbCBiZQoJICB1bnVzYWJsZS4KCSAgVGhlIHNvbHV0aW9uIGlzIHRvIGtlZXAgdGhlIHNvdXJjZSBpbiBwYXVzZWQgd2hpbGUgdGhlIGNhcHMgYXJlIGJlaW5nCgkgIGNoYW5nZWQgaW4gdGhlIGJpbiwgYW5kIHRoZW4gYnJpbmcgdGhlIGVsZW1lbnQgYmFjayB0byBwbGF5aW5nIG9uY2UKCSAgaXQgaXMgZG9uZS4gVW5mb3J0dW5hdGVseSB0aGlzIGluY3JlYXNlcyB0aGUgaW1hZ2UgY2FwdHVyZSBsYXRlbmN5LAoJICBidXQgaXQgc2hvdWxkIGFsd2F5cyB3b3JrLgoJICBBIHBvc3NpYmxlIGltcHJvdmVtZW50IHRvIHJlZHVjZSB0aGUgbGF0ZW5jeSBpcyB0byBhZGQgYW5vdGhlciBzaWduYWwKCSAgdG8gYmUgY2FsbGVkIGJlZm9yZSAnc3RhcnQtY2FwdHVyZSc6ICdwcmVwYXJlLWNhcHR1cmUnLiBBdCB0aGlzIHN0ZXAKCSAgdGhlIGNhbWVyYSBzb3VyY2Ugc2hvdWxkIHNldCBhbGwgY2FwcyBpdCBuZWVkcyBhbmQgZ2V0IHRoZSBzb3VyY2UKCSAgcmVhZHkgZm9yIGRvaW5nIHRoZSBjYXB0dXJlIGFzIHNvb24gYXMgJ3N0YXJ0LWNhcHR1cmUnIGlzIGNhbGxlZC4KCSAgVGhpcyBjYW4gYmUgZG9uZSBvbiBhIGZ1dHVyZSBjb21taXQKCjIwMTQtMDItMDMgMjM6MDk6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCSAgUHJvYmFibHkgYSBsZWZ0IG92ZXIgZnJvbSAwLjEwIC0+IDEueCBwb3J0aW5nCgoyMDE0LTAyLTA0IDE3OjIyOjI3ICswMTAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogaW1wcm92ZWQgZXJyb3IgcmVwb3J0IGFuZCBjaGVja3MKCSAgU2lnbmVkLW9mZi1ieTogQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKMjAxNC0wMi0wNCAxMjo1MjoyNSArMDEwMCAgRHVuY2FuIFBhbG1lciA8ZHBhbG1lckBkaWdpc29mdC50dj4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogRml4IHJhY2UgY29uZGl0aW9uIGJldHdlZW4gRU9TIGhhbmRsaW5nIGFuZCBkb3dubG9hZGluZyBhIHJhbmdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMxMzQKCjIwMTQtMDItMDQgMDU6NDY6MTYgLTA1MDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5oOgoJICBhaWZmcGFyc2U6IGFkYXB0aXZlIGJ1ZmZlciBzaXplCgkgIENvcGllZCBmcm9tIHdhdnBhcnNlLCBoZWxwcyB3aXRoIENQVSB1c2FnZSBvbiBoaWdoIGJpdHJhdGUKCSAgZmlsZXMuCgoyMDE0LTAyLTAyIDE4OjE3OjA2IC0wODAwICBEYW4gS2VnZWwgPGRhbmtAa2VnZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBTaW5jZSBiMWE3NTZmZCwgYXBwbGVtZWRpYSBmYWlscyB0byBidWlsZCBvbiBvc3ggMTAuNywgd2hpY2ggbGFja3MgVmlkZW9Ub29sYm94LmguLi4gc28gZGlzYWJsZSBpdCBvbiBPU1ggaWYgdGhhdCBoZWFkZXIgaXMgbWlzc2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzUwOAoKMjAxNC0wMi0wMiAxMzo1MDo1MyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBmaXggZGF0YSBzdGFydCBvZmZzZXQgY2FsY3VsYXRpb24gbm90IGNvdW50aW5nIENPTU0gc2l6ZQoJICBJbiBwYXJ0aWN1bGFyLCB0aGlzIGZpeGVzIHNlZWtpbmcgYmFjayB0byB0aGUgc3RhcnQgcmVhZGluZyBkYXRhCgkgIG91dCBvZiBzeW5jIHdpdGggc2FtcGxlIHN0YXJ0IGdyYW51bGFyaXR5LCB5aWVsZGluZyBzd2FwcGVkIGNoYW5uZWxzLgoKMjAxNC0wMS0zMSAyMzo0MzozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJICB0ZXN0czogZ2RwZGVwYXk6IHVwZGF0ZSB0byAxLnggZXZlbnRzCgkgIFRlc3RzIG5lZWRlZCBzdHJlYW0gc3RhcnQgYXQgYmVnaW5uaW5nIGFuZCBzZWdtZW50IGFmdGVyIHRoZQoJICBjYXBzIGV2ZW50CgoyMDE0LTAxLTMxIDE4OjM4OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkqIGdzdC9nZHAvZHAtcHJpdmF0ZS5oOgoJICBnZHA6IGFkZCBEVFMgdG8gaGVhZGVycwoKMjAxNC0wMS0zMSAxMjoxNTo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgZ2RwcGF5OiB1cGRhdGUgdG8gMS54IHJlYWxpdHkKCSAgKiBzdHJlYW0tc3RhcnQtaWQgaXMgbWFuZGF0b3J5IGF0IHRoZSBiZWdpbm5pbmcsIHNvIGFkZCB0aGF0IHRvIHRoZQoJICBnZHAgaGVhZGVycwoJICAqIGNhcHMgbXVzdCBiZSBzZW50IGJlZm9yZSBuZXcgc2VnbWVudCwgaW52ZXJ0IHRoZSBvcmRlciBmcm9tIGxlZ2FjeQoJICAwLjEwIGNvZGUKCSAgQW5kIGZpeCB0aGUgdGVzdHMgYXMgYSByZWYgaXMgbm93IGtlcHQgZm9yIHRob3NlIGJ1ZmZlcnMgdGhhdCBjb21wb3NlCgkgIHRoZSBoZWFkZXIKCjIwMTQtMDEtMzEgMTY6NTg6MTYgLTA1MDAgIENvbGluIE1hY2RvbmFsZCA8Y2JtQG0uZnNmLm9yZz4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZmlzaGV5ZS5jOgoJICBmaXNoZXllOiBGaXggZG9jdW1lbnRhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMzk4CgoyMDE0LTAxLTI5IDE2OjMyOjMwICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IERlZmF1bHQgZnJhbWVyYXRlIHRvIDAvMSB3aGVuIG5vIGluZm9ybWF0aW9ucyBmb3VuZAoJICBJdCBpcyBub3QgcGVyZmVjdCBidXQgaXQgYWxsb3dzIHVzIHRvIGJlIHN1cmUgdGhhdCB0aGUgbWFuZGF0b3J5ICdmcmFtZXJhdGUnCgkgIGZpZWxkIGlzIHByZXNlbnQgaW4gdGhlIGNhcHMuCgkgIEFzIHNvb24gYXMgc29tZSBpbmZvcm1hdGlvbiBpcyBmb3VuZCBpbiB0aGUgc3RyZWFtLCB0aGF0IHdpbGwgYmUKCSAgdXBkYXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzI0MwoKMjAxNC0wMS0zMCAxOTo0NTowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgdGVzdHM6IGdkcHBheTogcmVmYWN0b3IgYW5kIGFkZCBtaXNzaW5nIGJpdHMKCSAgTW9zdCBvZiB0aGUgdGVzdHMgd2VyZW4ndCB1cGRhdGVkIGFmdGVyIHRoZSBzdGlja3kgZXZlbnRzIG9yZGVyCgkgIGFuZCBzdHJlYW0gc3RhcnQuIEZpeCB0aGF0IGFuZCByZWZhY3RvciB0aG9zZSB0ZXN0cyBjaGVjayB0aGF0CgkgIGFyZSB0aGUgc2FtZSB0byBzb21lIGNvbW1vbiBmdW5jdGlvbnMuCgkgIFRob3NlIGZ1bmN0aW9ucyBzdGlsbCBkb24ndCBhY3R1YWxseSB0ZXN0IHRoZSBjb250ZW50IGJ1dCBhdAoJICBsZWFzdCBub3cgdGhleSBhcmUgaW4gYSBzaW5nbGUgcGxhY2UgYW5kIGNhbiBiZSBpbXByb3ZlZAoJICB3aXRob3V0IHJlcGxpY2F0aW9uCgoyMDE0LTAxLTMwIDE4OjE3OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJICB0ZXN0czogZ2RwcGF5OiBEbyBub3QgZm9yZ2V0IHRvIHNlbmQgc3RyZWFtLXN0YXJ0IGV2ZW50IG9uIHRlc3QKCSAgRXZlbiBpZiB3ZSBkb24ndCB3YW50IHRvIHB1c2ggdGhlIGNhcHMgZXZlbnQsIGEgc3RyZWFtLXN0YXJ0IG11c3QKCSAgYmUgcHJlc2VudCBiZWZvcmUgYW55IGRhdGEgaW4gMS54CgoyMDE0LTAxLTMwIDE4OjA5OjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdkcHBheTogcHVzaCB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgkgIGluc3RlYWQgb2YganVzdCBzd2FsbG93aW5nIHVwc3RyZWFtJ3Mgc3RyZWFtLXN0YXJ0IGludG8gaXRzCgkgIHBheWxvYWQsIHB1c2ggaXQgYXMgZWxlbWVudHMgZXhwZWN0IGEgc3RyZWFtLXN0YXJ0IGJlZm9yZSBkYXRhCgoyMDE0LTAxLTMwIDIwOjI4OjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogV2UgZG8gbm90IHN1cHBvcnQgdGhlIFNLSVAgc2VlayBmbGFnIGJ1dCB0aGF0IGlzIG5vdCBhIHByb2JsZW0KCjIwMTQtMDEtMzAgMTA6NDQ6MTggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGQ0OGJlZDMgdG8gMWEwN2RhOQoKMjAxNC0wMS0zMCAwMzoyODo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjogaW1wcm92ZSBwcmV2aWV3IGhhbmRsaW5nIGluIHRlc3RzCgkgIEFsd2F5cyBlcmFzZSB0aGUgcHJldmlldyBpbWFnZSBkYXRhIHRvIGFsbG93IHRoZSBuZXh0IGNoZWNrIGZvcgoJICBpdCB0byBvcGVyYXRlIHByb3Blcmx5CgoyMDE0LTAxLTI5IDIwOjM4OjU3ICswMTAwICBEdW5jYW4gUGFsbWVyIDxkcGFsbWVyQGRpZ2lzb2Z0LnR2PgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBBbHdheXMgcmVsZWFzZSB0aGUgb2JqZWN0IGxvY2sgaW4gZ3N0X3VyaV9kb3dubG9hZGVyX2ZldGNoX3VyaV93aXRoX3JhbmdlKCkKCSAgZXZlbiBpZiBkb3dubG9hZGVyLT5wcml2LT51cmlzcmMgaXMgbm90IHNldC4gVGhpcyBhdm9pZHMgZGVhZGxvY2sgdW5kZXIgc29tZQoJICBzb21lIGNvbmRpdGlvbnMgb24gY2FuY2VsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMTI3CgoyMDE0LTAxLTI5IDEzOjI1OjM3ICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgb3BlbmN2OiBUaGUgcGx1Z2luIHdvcmtzIHdpdGggMi40LjggdG9vCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMyMzAKCjIwMTQtMDEtMjkgMTA6NTA6NDAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9uYWx1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL25hbHV0aWxzLmg6CgkgIGNvZGVjcGFyc2VyczogRG9uJ3QgdXNlIGdzdF8gYXMgcHJlZml4IGZvciBwcml2YXRlIHN5bWJvbHMKCSAgT3RoZXJ3aXNlIHRoZXkgZ2V0IGV4cG9zZWQvYWNjZXNzaWJsZSBpbiB0aGUgcmVzdWx0aW5nIC5zbwoJICBBbmQgbWFrZSBjaGVjay1leHBvcnRzIHdpbGwgY29tcGxhaW4KCjIwMTQtMDEtMjcgMjM6NTU6NTcgLTAzMDAgIEFtYXVyeSBNZWRlaXJvcyA8YW1hdXJ5bWVkZWlyb3NAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkgIHRzZGVtdXg6IEZpeCBmbGFncyBjb21wYXJpc29uIG9wZXJhdG9yIHByZWNlZGVuY2UKCSAgRml4IG9wZXJhdG9yIHByZWNlZGVuY2UsIHNvIHRoZSB3aG9sZSBvcGVyYXRpb24gaXMKCSAgbmVnYXRlZCBpbnN0ZWFkIG9mIG9ubHkgZmxhZ3MgdmFyaWFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIwOTYKCjIwMTQtMDEtMjYgMTQ6NDI6NTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvTWFrZWZpbGUuYW06CgkgIG1wZWd0czogaW5zdGFsbCBidXQgbm9kaXN0IGZvciBnZW5lcmF0ZWQgaGVhZGVyCgoyMDE0LTAxLTI1IDE3OjQwOjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogRG9uJ3QgaGFuZGxlIEZMVVNISU5HIG9yIE5PVF9MSU5LRUQgYXMgZXJyb3IKCSAgQW5kIGFsc28ganVzdCBzdG9wIHRoZSB0YXNrIGZvciBGTFVTSElORy4KCjIwMTQtMDEtMjQgMjE6NDE6MjUgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IERvbid0IGdvIGludG8gcHVsbCBtb2RlIHdoZW4gdGhlIHNlcXVlbnRpYWwgZmxhZyBpcyBzZXQKCSAgV2hlbiB0aGUgc2NoZWR1bGluZyBxdWVyeSByZXN1bHRzIGhhcyBHU1RfU0NIRURVTElOR19GTEFHX1NFUVVFTlRJQUwgc2V0CgkgIGluIGl0cyBmbGFncyBkb24ndCBnbyBpbnRvIHB1bGwgbW9kZSB0byBwcmV2ZW50IG92ZXItZWFnZXIgc2Vla2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjkzNAoKMjAxNC0wMS0yNCAxMjozNjo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjY0cGFyc2UuYzoKCSAgdGVzdHM6IGgyNjRwYXJzZTogZml4IHRlc3RzIGFmdGVyIGxlYWRpbmcgMHgwMCByZW1vdmFsCgkgIENvbW1pdCA2YWYzODdjZDVhYjJjOTQ2MDI1ZTU0OTk5MDNlNzVlZTg3YjA2M2E5IG1hZGUgaDI2NHBhcnNlCgkgIHN0cmlwIGEgbGVhZGluZyAweDAwIGJ5dGUgZnJvbSBzb21lIG91dHB1dCBzY2VuYXJpb3MuIFRoaXMgYnJva2UKCSAgdGVzdHMgYXMgYnNfdG9fbmFsIHRlc3QgZXhwZWN0cyBvbmUgbW9yZSBieXRlIG9uIHRoZSBvdXRwdXQuCgkgIEZpeCB0aGlzIGJ5IGNvbXBhcmluZyB0aGUgb3V0cHV0IHdpdGggdGhlIGV4cGVjdGVkIHN0cmlwcGVkIHZlcnNpb24sCgkgIHRvby4KCjIwMTQtMDEtMjQgMDE6MDc6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL25hbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvbmFsdXRpbHMuaDoKCSAgY29kZWNwYXJzZXJzOiByZWZhY3RvciBjb21tb24gbmFsIHBhcnNpbmcgdG8gbmFsdXRpbHMKCSAgTW92ZXMgY29tbW9uIGNvZGUgZnJvbSBoMjY0IGFuZCBoMjY1IHRvIGEgc2VwYXJhdGUgZmlsZQoKMjAxNC0wMS0wMyAwOTo0NDoyOCArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBGaXggbXVsdGlwbGUgU0VJIG1lc3NhZ2VzIGluIG9uZSBTRUkgUkJTUCBwYXJzaW5nLgoJICBBbiBTRUkgUkJTUCBjb3VsZCBjb250YWlucyBtb3JlIHRoYW4gb25lIFNFSSBtZXNzYWdlIGFzIHNwZWNpZmllZCBpbgoJICA3LjQuMi4zLjEuCgkgIFRoaXMgY29tbWl0IGNoYW5nZSB0aGUgcGFyc2VyIEFQSTogdGhlIGdzdF9oMjY0X3BhcnNlcl9wYXJzZV9zZWkoKQoJICBmdW5jdGlvbiBub3cgY3JlYXRlIGFuZCBmaWxsIGEgR0FycmF5IGNvbnRhaW5pbmcgR3N0SDI2NFNFSU1lc3NhZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjE3MTUKCjIwMTQtMDEtMjIgMTA6MjY6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkgIGgyNjVwYXJzZXI6IHJlbW92ZSB0cmFpbGxpbmcgMHgwMCBieXRlcyBhcyB0aGUgc3BlYyBkb2Vzbid0IGFsbG93IHRoZW0KCSAgSnVzdCBsaWtlIGgyNjQsIHRoZSBzcGVjIGRvZXNuJ3QgYWxsb3cgdGhlIGxhc3QgYnl0ZXMgb2YgYSBOQUwgdG8gYmUgMHgwMC4KCSAgU28gcmVtb3ZlIGl0IGFzIGl0IGlzIHByb2JhYmx5IGp1c3QgcGFkZGluZy4KCSAgVGhpcyBpcyByZWxhdGVkIHRvIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEzODQKCjIwMTQtMDEtMjAgMTc6MjQ6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGgyNjRwYXJzZXI6IHJlbW92ZSB0cmFpbGxpbmcgMHgwMCBieXRlcyBhcyB0aGUgc3BlYyBkb2Vzbid0IGFsbG93IHRoZW0KCSAgVGhlIHNwZWMgc3RhdGVzIHRoYXQgdGhlIGxhc3QgYnl0ZSBvZiBhIE5BTCAnc2hhbGwgbm90JyBiZSAweDAwCgkgIGFuZCBpdCBpcyBhbGxvd2VkIGZvciBieXRlLXN0cmVhbSBmb3JtYXQgdG8gYWRkIHBhZGRpbmcgMHgwMCBmb3IKCSAgYWxpZ25tZW50LgoJICBTbyBvdXIgcGFyc2VyIHNob3VsZCBzdHJpcCBhbnkgdHJhaWxsaW5nIDB4MDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEzODQKCjIwMTQtMDEtMjEgMjM6NDI6NTggKzA5MDAgIEp1c3RpbiBKb3kgPGp1c3Rpbi5qb3kuOXRvNUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGRvbid0IGxlYWsgcGFkIG5hbWUgd2hlbiB0cmVhdGluZyBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjY5OQoKMjAxNC0wMS0yMSAxMDoyNzoyMCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJICBtcGVncHNtdXg6IHVwZGF0ZSBsYXN0X3RzIHRvIG11eCBjb3JyZWN0bHkKCSAgV2UgdXNlIGxhc3RfdHMgdG8gZGVjaWRlIHdoYXQgYnVmZmVyIHRvIG11eCBuZXh0IHNvIG1ha2Ugc3VyZSB0aGF0IGl0CgkgIGFsd2F5cyBjb250YWlucyB0aGUgbGFzdCBrbm93biB2YWxpZCB0aW1lc3RhbXAuCgoyMDE0LTAxLTIxIDEwOjU4OjM1ICswOTAwICBkdWh1aS5sZWUgPGR1aHVpLmxlZUBsZ2UuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkgIGgyNjVwYXJzZXI6IEluaXRpYWxpemUgcG9pbnRlciBjb3JyZWN0bHkgdGhhdCBpcyBuZXZlciBhc3NpZ25lZCBidXQgZnJlZWQgaW4gZXJyb3IgY2FzZXMKCSAgRml4ZXMgY3Jhc2ggb24gYnJva2VuIHN0cmVhbXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjI2NjkKCjIwMTQtMDEtMjEgMDk6NDQ6MDAgKzAxMDAgIEFsZXhleSBDaGVybm92IDw0ZXJub3ZAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZHZpZGVvc2luazogRmlyc3QgZGVzdHJveSB0aGUgd2luZG93LCB0aGVuIHVucmVnaXN0ZXIgdGhlIGNsYXNzCgkgIEl0J3MgaW1wb3NzaWJsZSB0byBjcmVhdGUgYW5vdGhlciBwaXBlbGluZSB3aXRoIGQzZHZpZGVvc2luayBhZnRlciBkaXNwb3NpbmcKCSAgdGhlIHByZXZpb3VzIG9uZSBkdWUgdG8gc29tZSBwcm9ibGVtIGluIGQzZHZpZGVvc2luay4gVGhlIG1lc3NhZ2UgaXM6ICJVbmFibGUKCSAgdG8gcmVnaXN0ZXIgRGlyZWN0M0QgaGlkZGVuIHdpbmRvdyBjbGFzcyIuCgkgIEkndmUgZXZhbHVhdGVkIHRoZSBwcm9ibGVtIGFuZCBpdCdzIHRoYXQgVW5yZWdpc3RlckNsYXNzKCkgaW4gd29ya2luZyB0aHJlYWQgaXMKCSAgY2FsbGVkIGJlZm9yZSBEZXN0cm95V2luZG93KCkgYW5kIFVucmVnaXN0ZXJDbGFzcygpIGRvZXMgbm90aGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjYyMgoKMjAxNC0wMS0yMCAxNjoyNTo1MSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJICBtcGVncHNtdXg6IGZpeCB0aW1lc3RhbXAgaGFuZGxpbmcKCSAgSWYgdGhlIGZpcnN0IGJ1ZmZlciB0aGF0IHdlIGhhbmRsZSBmb3IgYSBzdHJlYW0gaGFzIG5vIHRpbWVzdGFtcCwgd2UKCSAgd291bGQgbmV2ZXIgY29uc2lkZXIgdGhpcyBwYWQgYWdhaW4gZm9yIG11eGluZyB3aGljaCBjYXVzZXMgcXVldWVzIHRvCgkgIGZpbGwgdXAgYW5kIHBpcGVsaW5lcyB0byBzdGFsbC4gSW5zdGVhZCwgdHJ5IHRvIG11eCBwYWRzIHdpdGggLTEKCSAgdGltZXN0YW1wcyBhcyBzb29uIGFzIHBvc3NpYmxlLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMzMwCgoyMDE0LTAxLTIwIDE2OjIzOjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkgIG1wZWdwc211eDogcmV0dXJuIEdTVF9GTE9XX0VPUyB3aGVuIHdlIHB1c2hlZCBFT1MKCSAgUmV0dXJuIEdTVF9GTE9XX0VPUyBmcm9tIHRoZSBjb2xsZWN0ZWQgZnVuY3Rpb24gd2hlbiB3ZSBwdXNoZWQgRU9TIG9yCgkgIGVsc2UgaXQgc2ltcGx5IGtlZXBzIG9uIGNhbGxpbmcgb3VyIGNvbGxlY3RlZCBmdW5jdGlvbi4KCjIwMTQtMDEtMjAgMTA6Mzg6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSAgYXBwbGVtZWRpYTogQWN0dWFsbHkgdGhlIGVuYy9kZWNiaW5zIGFyZSBub3QgdXNlZCBhbnl3aGVyZSBjdXJyZW50bHkKCSAgQ29kZSBpcyBjb21tZW50ZWQgb3V0LgoKMjAxNC0wMS0yMCAxMDozNDo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYTogRml4IGJ1aWxkIG9uIGlPUyBhbmQgcHJvYmFibHkgYWxzbyBvbiBPU1gKCSAgVGhlIHZpZGVvIHRvb2xib3ggaXMgbm90IGF2YWlsYWJsZSBvbiBpT1MsIGFuZCBhbHNvIG9uIE9TWAoJICB3ZSBzaG91bGQgcHJvYmFibHkgYnVpbGQgYWxsIHNvdXJjZSBmaWxlcyB0aGF0IGFyZSB1c2VkIGZvcgoJICBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjU5MAoKMjAxNC0wMS0yMCAxNToyMTo0MiArMDkwMCAgZHVodWkubGVlIDxkdWh1aS5sZWVAbGdlLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIGgyNjVwYXJzZTogVXBkYXRlIGNhcHMgd2hlbiByZWNlaXZlIFZQUy9TUFMvUFBTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIyNDAKCjIwMTQtMDEtMjAgMTc6MDM6MDkgKzA5MDAgIGR1aHVpLmxlZSA8ZHVodWkubGVlQGxnZS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSAgaDI2NXBhcnNlcjogRml4IHNlZ2ZhdWx0IHdoZW4gcGFyc2luZyBIUkQgcGFyYW1ldGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIyNDAKCjIwMTQtMDEtMTggMTM6NTY6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmV4ci9nc3RvcGVuZXhyZGVjLmNwcDoKCSAgb3BlbmV4cmRlYzogRG9uJ3Qgc3RhcnQgc2Nhbm5pbmcgZm9yIHRoZSBoZWFkZXIgZnJvbSB0aGUgc3RhcnQgYWdhaW4gZWFjaCB0aW1lCgkgIFRoaXMgd2lsbCBiZSBpbmNyZWRpYmxlIHNsb3cgaWYgdGhlIHVwc3RyZWFtIGJsb2NrIHNpemUgaXMgdmVyeSBzbWFsbC4gSW5zdGVhZAoJICBjb250aW51ZSBzY2FubmluZyBmb3IgdGhlIGhlYWRlciB3aGVyZSB3ZSBwcmV2aW91c2x5IHN0b3BwZWQuCgkgIEZvciB0aGUgc3RhbmRhcmQgZmlsZXNyYyBibG9jay1zaXplIHRoaXMgbWFkZSBkZWNvZGluZyBhIGZpbGUgYWJvdXQKCSAgMyB0aW1lcyBmYXN0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk4OTAKCjIwMTQtMDEtMTggMTM6MDY6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5jOgoJICBzZmRlYzogVGhpcyBpcyBhIGRlY29kZXIsIG5vdCBhIGRlbXV4ZXIKCSAgRG9uJ3QgY29uZnVzZSBhdXRvcGx1Z2dlcnMhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIzMTYKCjIwMTQtMDEtMTggMDE6MTk6MzYgKzAyMDAgIEFuZHJleSBVdGtpbiA8YW5kcmV5LmtyaWVnZXIudXRraW5AZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgdHNkZW11eDogRml4IGxlYWsgb2YgUENST2Zmc2V0R3JvdXAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjQ2MgoKMjAxNC0wMS0xNiAxMjoxODo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogUmVtb3ZlIHNvbWUgdXNlbGVzcyBhc3NpZ25tZW50cyBhbmQgc2tpcCB0aGUgY3VycmVudCBwYXJ0IG9mIHRoZSBidWZmZXIgaWYgdGhlIHBhZCBpcyBtdXRlZAoKMjAxNC0wMS0xNiAyMDoxNjo0NyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguaDoKCSogZXh0L3Jlc2luZHZkL2dzdHBlc2ZpbHRlci5jOgoJICByZXNpbmR2ZDogTWVyZ2UgY2hhbmdlcyBhY3Jvc3MgZnJvbSBtYXN0ZXIgbXBlZ2RlbXV4CgkgIE1lcmdlIHZhcmlvdXMgY2hhbmdlcyBhbmQgZml4ZXMgZnJvbSB0aGUgbWFzdGVyIG1wZWdkZW11eAoJICBQZXJmb3JtYW5jZSBpbXByb3ZlbWVudCBmcm9tIHRoZSB3YXkgc3RyZWFtcyBhcmUgb3JnYW5pc2VkLAoJICByZXR1cm4gZmxvdyBjb21iaW5pbmcsIGxhbmd1YWdlIHRhZyBldmVudCBnZW5lcmF0aW9uLAoJICBhZGp1c3RtZW50cyBhbmQgZml4ZXMgaW4gZGVidWcgb3V0cHV0LCBhbmQgdGhpbmdzIGxpa2UgdGhhdC4KCjIwMTQtMDEtMTYgMjA6MTQ6NDggKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiBNZXJnZSBzb21lIGNoYW5nZXMgZnJvbSB0aGUgcmVzaW5kdmQgY29weQoJICBPbmUgYnVnIGZpeCwgc29tZSBkZWJ1ZyBjaGFuZ2VzIGFuZCBvdGhlciBpbmNvbnNlcXVlbnRpYWwgY2hhbmdlcwoJICBqdXN0IHRvIHJlZHVjZSB0aGUgZGlmZiBiZXR3ZWVuIHRoZSAyIGNvcGllcyBhIGJpdC4KCjIwMTQtMDEtMTUgMjM6MzA6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IEZpeCBhbmQgc2ltcGxpZnkgb3ZlcmxhcCBjYWxjdWxhdGlvbgoKMjAxNC0wMS0xNCAyMzo1NTo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZHNyYzogZml4IG1pbm9yIG1lbW9yeSBsZWFrIHdoZW4gY3JlYXRpbmcgdGl0bGUgaW5mbyBtZXNzYWdlCgoyMDEzLTEwLTA5IDE3OjQ5OjA2ICswMjAwICBKb3JnZSBaYXBhdGEgPGpvcmdlbHVpcy56YXBhdGFAZ21haWwuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbWN2aWRlb2RlYzogQWRkIHRoZSBkaXZ4IHZhcmlhbnQgZm9yIG1wZWc0IHZpZGVvCgkgIExvb2tzIGxpa2UgYWxsIHRoZSBtcGVnNCB2aWRlbyBkZWNvZGVycyBhbHNvIGFjY2VwdCB0aGUgZGl2eAoJICB2YXJpYW50cy4gU28gd2UgYmV0dGVyIGFkZCB0aG9zZSBjYXBzIHRvbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMTYzCgoyMDE0LTAxLTE0IDE3OjA4OjM2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggKGFnYWluKSBjaGVjayBmb3IgREIgQVBJOiA1LjQgaXMgTm90IFJlY2VudCBFbm91Z2gKCSAgTWF5YmUgdGVzdGluZyB0aGUgdmVyc2lvbiBpcyBjbGVhcmVyLCBidXQgdGVzdGluZyBmb3IgPCA1IGlzIG5vdAoJICBlbm91Z2gsIG15IHZlcnNpb24gaXMgNS40IGFuZCBkb2VzIG5vdCB5ZXQgaGF2ZSB0aG9zZSBuZXcgZW51bXMuCgkgIElmIHlvdSBnaXQgYmxhbWUgdG8gdGhpcyBhbmQgaGF2ZSBhIHZlcnNpb24gPiA1LjQgdGhhdCBkb2VzIG5vdAoJICBlaXRoZXIsIHBsZWFzZSBmZWVsIGZyZWUgdG8gam9pbiBhbG9uZyBhbmQgYnVtcCB0aGUgdmVyc2lvbi4KCjIwMTQtMDEtMTQgMjM6MjE6MjUgKzA5MDAgIGR1aHVpLmxlZSA8ZHVodWkubGVlQGxnZS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmg6CgkgIGgyNjVwYXJzZXI6IEZpeCBzZWdmYXVsdCB3aGVuIHBhcnNpbmcgVlBTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIwODEKCjIwMTQtMDEtMTQgMTA6Mzg6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkgIGZhY2VibHVyOiBzZXQgbWF4aW11bSBmZWF0dXJlIHNpemUgdG8gMHgwCgkgIFByZXZpb3VzbHkgZmFjZXMgd291bGQgb25seSBiZSBkZXRlY3RlZCBpZiB0aGV5IHdlcmUgYXQgbGVhc3QgMzB4MzAgcGl4ZWxzCgkgIGxhcmdlIGFuZCBhdCBtb3N0IDMyeDMyIHBpeGVscy4gV2Uga2VlcCB0aGUgbWluaW11bSBzZXR0aW5nIChtYXliZSBuZWVkcwoJICBhIHByb3BlcnR5IGFzIGluIGZhY2VkZXRlY3QpIGJ1dCBkaXNhYmxlIHRoZSBtYXhpbXVtIGZlYXR1cmUgc2l6ZS4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIxNTgKCjIwMTQtMDEtMTQgMDE6MDY6MDIgLTA1MDAgIEtpcHAgQ2Fubm9uIDxrY2Fubm9uQGNpdGEudXRvcm9udG8uY2E+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgZmFjZWRldGVjdDogc2V0IG1heGltdW0gZmVhdHVyZSBzaXplIHRvIDB4MAoJICBUaGlzIGRpc2FibGVzIHRoZSAibWF4IGZlYXR1cmUgc2l6ZSIgZmVhdHVyZS4gVGhlIGN1cnJlbnQgY29uZmlndXJhdGlvbgoJICBpcyB0b3RhbGx5IGJ1c3RlZDogVGhlIG1heCBmZWF0dXJlIHNpemUgaXMgaGFyZC1jb2RlZCB0byAyIHBpeGVscyBtb3JlCgkgIHRoYW4gdGhlIHVzZXItc3VwcGxpZWQgbWluIGZlYXR1cmUgc2l6ZSB3aGljaCBwcmV0dHkgbXVjaCBtZWFucyB5b3UgbmVlZAoJICB0byBndWVzcyB0aGUgc2l6ZSBvZiB0aGUgcGVyc29uJ3MgZmFjZSB0byB3aXRoaW4gYSBmZXcgcGl4ZWxzIHRvIGdldCB0aGUKCSAgY29kZSB0byBmaW5kIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMTU4CgoyMDE0LTAxLTE0IDAyOjE5OjEyICswMjAwICBBbmRyZXkgVXRraW4gPGFuZHJleS5rcmllZ2VyLnV0a2luQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIHRzZGVtdXg6IGZpeCBtZW1sZWFrIG9mIFBDUk9mZnNldEN1cnJlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjE0NQoKMjAxNC0wMS0xMyAyMTo1MDoxNiArMDkwMCAgSnVzdGluIEpveSA8anVzdGluLmpveS45dG81QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJICBoMjY1cGFyc2VyOiBwcmV2ZW50IHRvIG92ZXJydW4gY2hyb21hX3dlaWdodF9sMF9mbGFnCgkgIFRoZSBpbmRleCBvZiBlbGVtZW50cyBjYW5ub3QgZXhjZWVkIG9yIGVxdWFsIHRvIHRoZSBzaXplIG9mIGVsZW1lbnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMTAxCgoyMDE0LTAxLTEzIDEwOjAxOjQzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IHNldCBidWZmZXIgb2Zmc2V0IHRvIGJ1ZmZlciB0aW1lc3RhbXAKCSAgb2dnbXV4IGV4cGVjdHMgdGhpcyB0byBvcmRlciBpbmNvbWluZyBidWZmZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIwNzgKCjIwMTQtMDEtMTAgMDg6NTg6MjcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGR2YjogVXNlIERWQl9BUElfVkVSU0lPTiB0byBrbm93IGlmIHdlIGhhdmUgcmVjZW50IGVub3VnaCB2ZXJzaW9uCgkgIFdlIGVuZCB1cCB3aXRoIHRoZSBzYW1lIGVuZC1yZXN1bHQgYnV0IGl0J3MgbW9yZSBjb21wcmVoZW5zaWJsZQoKMjAxNC0wMS0wOSAxNjozODoxMyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBjaGVjayBmb3IgZ29vZCBlbm91Z2ggZHZiIGtlcm5lbCBoZWFkZXJzCgkgIFJlY2VudCBjaGFuZ2VzIGFyZSB1c2luZyBuZXcgZHZiIGFwaS4gRG9uJ3QgYnVpbHQgdGhlIHBsdWdpbiwgaWYgd2UgY2FuJ3QuCgkgIEZpeGVzICM3MjE4NjkKCjIwMTQtMDEtMDkgMDg6MTg6MDcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBtaXNjIGNvZGUgY2xlYW51cHMKCSAgRml4IHRoZSBsYXVuY2ggZXhhbXBsZXMgZm9yIDEuMC4gVHVybiBtb3JlIGxvZ2dpbmcgaW50byBfT0JKRUNUIHZhcmlhbnRzLgoKMjAxNC0wMS0wOSAwOToxMzo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiByZW1vdmUgdW5uZWNlc3NhcnkgdmFyaWFibGUKCSAgSW5zdGVhZCBvZiB1c2luZyAyIGluZGV4ZXMgdGhhdCB3ZXJlIGFjdHVhbGx5IHRoZSBzYW1lLCB1c2Ugb25seQoJICBvbmUuIFNhdmVzIGEgdmFyaWFibGUuCgoyMDE0LTAxLTA5IDA5OjExOjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBmaXggc2Vla2luZyB3aGVuIHRoZSBtcGQgdXNlcyBhIHNlZ21lbnQgdGVtcGxhdGUKCSAgUmVtb3ZlIHRoZSBkYXNoZGVtdXggc2Vla2luZyBmdW5jdGlvbiB0byB1c2UgdGhlIG9uZSBpbXBsZW1lbnRlZAoJICBpbiBtcGRwYXJzZXIgYXMgaXQgaXMgbW9yZSBjb21wbGV0ZS4gVGhpcyBhbHNvIG1ha2VzIGRhc2hkZW11eCBub3QKCSAgY3Jhc2ggd2hlbiBzZWVraW5nIG9uIHN0cmVhbXMgdGhhdCB1c2Ugc2VnbWVudCB0ZW1wbGF0ZXMuCgoyMDE0LTAxLTA4IDE2OjMzOjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmg6CgkgIG1wZWc0dmlkZW9wYXJzZTogZG8gbm90IGxvc2UgRElTQ09OVCBmbGFnIGlmIGJ1ZmZlciBpc24ndCBwdXNoZWQKCSAgbXBlZzR2aWRlb3BhcnNlIG1pZ2h0IG5vdCBwdXNoIGJ1ZmZlcnMgd2hpbGUgcGFyc2luZy4gSWYgdGhvc2UgYnVmZmVycwoJICBjb250YWluIHRoZSBESVNDT05UIGZsYWcsIGl0IGdldHMgbG9zdCBhbmQgZG93bnN0cmVhbSB3b24ndCBnZXQgYW55CgkgIGJ1ZmZlciB3aXRoIHRoZSBmbGFnLgoJICBGaXggaXQgYnkgYWRkaW5nIHRoZSBESVNDT05UIHRvIHRoZSBuZXh0IHB1c2hlZCBidWZmZXIuCgkgIFRoaXMgbWFrZXMgYmFja3dhcmRzIHBsYXliYWNrIHdvcmsuCgoyMDE0LTAxLTA2IDIyOjE1OjI0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZkZWMuYzoKCSAgc2ZkZWM6IHNraXAgJ1wwJyBzdHJpbmdzIGZvciBtZXRhZGF0YQoJICBsaWJzbmRmaWxlIGRvZXMgbm90IGZpbHRlciBlbXB0eSBzdHJpbmdzLiBXZSBnZXQgYSB3YXJuaW5nIGZyb20gZ3N0cmVhbWVyIHdoZW4KCSAgc2V0dGluZyB0aGlzIGFzIGEgdGFnLgoKMjAxNC0wMS0wNiAxNToxNToyNyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmM6CgkgIHNmZGVjOiBicmVhayBsb25nIG1ldGhvZAoJICBFeHRyYWN0IHRhZ2xpc3QgY3JlYXRpb24gaW50byBzZXBhcmF0ZSBmdW50aW9uLgoKMjAxNC0wMS0wNiAxNTowMToyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1zY3RlLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHMtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvbXBlZ3RzLmg6CgkgIG1wZWd0czogbWFrZSBoZWFkZXJzIHVzYWJsZSB3aXRoIGMrKyBjb21waWxlcgoJICBBZGQgR19CRUdJTl9ERUNMUyBHX0VORF9ERUNMUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxMTM2CgoyMDE0LTAxLTA2IDE1OjAyOjMwICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZkZWMuYzoKCSAgc2ZkZWM6IHJlbW92ZSBsZWZ0IG92ZXIgcHJvcGVydHktaWQgZW51bQoKMjAxNC0wMS0wNiAxNDo1Mjo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIGgyNjVwYXJzZTogQWxsb3dzIGh2YzEgdmVyc2lvbiAwIGFuZCBmaXggcmVhZGluZyBvZiBOQUwgY291bnQgaW4gY29kZWNfZGF0YQoKMjAxNC0wMS0wNiAxNDo0ODoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIGgyNjVwYXJzZTogRml4IHNvbWUgbW9yZSBkZWJ1ZyBvdXRwdXQKCSAgQW5kIGRvbid0IGFjY2VzcyBpbnZhbGlkIG1lbW9yeQoKMjAxNC0wMS0wNiAxNDo0Nzo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJICBoMjY1cGFyc2VyOiBGaXggZGVidWcgb3V0cHV0CgoyMDE0LTAxLTA2IDEzOjUxOjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBZGQgSEVWQyAvIGgyNjUgc3VwcG9ydAoKMjAxNC0wMS0wNSAyMzo0NDozNiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IHR5cG8gZml4IGluIGNvbW1lbnQKCjIwMTQtMDEtMDUgMjM6NDM6MjUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5jOgoJICBzZmRlYzogdGhlIHJlYWQgZnVuY3Rpb25zIGFscmVhZHkgcmV0dXJuIGZyYW1lc19yZWFkCgkgIEZpeGVzIGNob3BweSBvdXRwdXQuCgoyMDE0LTAxLTA1IDIzOjQxOjI2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NuZGZpbGUvZ3N0c2YuYzoKCSAgc25kZmlsZTogZW5hYmxlIHJmNjQgZm9ybWF0CgoyMDE0LTAxLTAyIDIxOjAyOjI3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZkZWMuYzoKCSAgc2ZkZWM6IGFkZCBkYXRlIHRvIHRhZ2xpc3QKCjIwMTQtMDEtMDMgMTE6MTg6MDYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htc2luazogRG9jdW1lbnQgdGhhdCBzb2NrZXQtcGF0aCBtYXkgY2hhbmdlCgoyMDE0LTAxLTAzIDExOjE2OjQyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobXNpbms6IENoYW5nZSBkZWZhdWx0IHNobSBzaXplIHRvIDY0IE1pQgoJICBUaGUgb3JpZ2luYWwgc2l6ZSBvZiAyNTZrIHdhcyB0b28gc21hbGwgZm9yIGFueXRoaW5nIHdoZXJlCgkgIG9uZSB3b3VsZCB3YW50IHRvIHVzZSBzaG0uIElmIHRoZSBidWZmZXIncyBzaXplIG5lZWRzIHRvIGJlIGxpbWl0LCBpdCBpcwoJICBiZXR0ZXIgdG8gdXNlIGJ1ZmZlci10aW1lIGluIG1vc3QgY2FzZXMgYW55d2F5LgoKMjAxMy0xMC0xMCAxODoyNTo0NiArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgZHZic3JjOiBBZGQgZHZiLXMyLCBkdmItdDIgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5NDE0CgoyMDEzLTEwLTEwIDE4OjIzOjIwICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBkdmJzcmM6IENoYW5nZSBmcm9tIGRlcHJlY2F0ZWQgZnJvbnRlbmQgdHlwZSBmaWVsZCB0byBEVFZfRU5VTV9ERUxTWVMKCSAgLWFkZCBkZWxzeXMgcHJvcGVydHkKCSAgLWFkZCBkZWxpdmVyeSBzeXN0ZW0gY2FwYWJpbGl0eSB0byB0aGUgZ3N0cmVhbWVyIGFkYXB0ZXIgc3RydWN0dXJlCgkgIC1yZWFkeSBmb3IgYWRkIG5ldyBkZWxpdmVyeSBzeXN0ZW1zCgkgIEFwcGxpY2F0aW9uIG11c3QgYXNrIHRoZSBhZGFwdGVyIHN0cnVjdHVyZSB0byBrbm93IHdoaWNoIGRlbGl2ZXJ5IHN5c3RlbXMgYXJlIGF2YWlibGUuCgkgIFRoZSBwcm9wZXJ0eSBkZWxzeXMgbXVzdCBiZSBzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk0MTQKCjIwMTQtMDEtMDMgMDk6NTk6MzQgKzAxMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBGaXggR3N0Q2FwcyBtZW1vcnkgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMzgyCgoyMDEzLTEyLTMxIDIyOjM4OjAzICswMTAwICBQaW90ciBEcsSFZyA8cGlvdHJkcmFnQGdtYWlsLmNvbT4KCgkqIHBvL1BPVEZJTEVTLmluOgoJICBwbzogdXBkYXRlIFBPVEZJTEVTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEyOTMKCjIwMTMtMTItMzEgMjM6MTg6NTQgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMtY29uc3RhbnRzLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogQWRkIG5ldyBjb2xvciBmb3JtYXQsIGFuZCBlbmhhbmNlIGRlYnVnIG91dHB1dAoJICBBZGQgYSBuZXcgY29sb3IgZm9ybWF0IHNlZW4gb24gbXkgR2FsYXh5IFMzCgkgIChPTVhfU0VDX0NPTE9SX0Zvcm1hdE5WMTJUaWxlZCA9IDB4N2ZjMDAwMDIpIHRvIHRoZSB0YWJsZSwKCSAgYnV0IGRvbid0IGFjdHVhbGx5IGltcGxlbWVudCBpdCAtIHRoZSBkZWNvZGVyIGRvZXNuJ3QgY2hvb3NlIGl0LgoJICBSZW1vdmUgYW4gYXNzZXJ0IHRoYXQgbWFrZXMgdGhlIHBsdWdpbiBmYWlsIG5vaXNpbHkgYW5kIHRha2UgdGhlIGFwcCBkb3duCgkgIGlmIGl0IHNlZXMgYSBjb2xvciBmb3JtYXQgaXQgZG9lc24ndCByZWNvZ25pc2UgKGp1c3Qgc2tpcCB0aGUgY29kZWMgaW5zdGVhZCkKCSAgTW9kaWZ5IHRoZSBkZWJ1ZyBvdXRwdXQgd2hlbiBwbHVnaW4gc2Nhbm5pbmcgdG8gcHJpbnQgY29sb3IgZm9ybWF0IGluZm8gdG8KCSAgbWFrZSB0aGlzIHNvcnQgb2YgdGhpbmcgZWFzaWVyIGluIHRoZSBmdXR1cmUuCgoyMDEzLTEyLTE5IDIzOjAwOjEyICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogRG9uJ3QgZGlzcnVwdCBidWZmZXIgc3RhdGUgaW4gdGhlIGNsaXAgZnVuY3Rpb24KCSAgQ29sbGVjdHBhZHMgYXNzdW1lcyB0aGF0IGl0IGNhbiBwYXNzIGFueSBidWZmZXIgdG8gdGhlIGNsaXAgZnVuY3Rpb24KCSAgZm9yIGFkanVzdG1lbnQsIHNvbWUgb2Ygd2hpY2ggYXJlIGFydGlmaWNpYWxseSBpbmplY3RlZCAtIHNvIGRvbid0CgkgIGFkanVzdCBnbG9iYWwgdGltZXN0YW1wIHRyYWNraW5nIHRoZXJlLiBJbnN0ZWFkLCBvbmx5IGFkanVzdCB0aGUKCSAgYnVmZmVyIHRpbWVzdGFtcHMgYW5kIHVzZSB0aGVtIGRpcmVjdGx5IGluIHRoZSBjb2xsZWN0aW9uIGZ1bmN0aW9uLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4NzQ4CgoyMDEzLTEyLTMwIDE1OjQ5OjU3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZkZWMuYzoKCSAgc25kZmlsZTogZW1pdCBtaWRpLWJhc2Utbm90ZSB0YWcKCSAgUXVlcnkgaW5zdHJ1bWVudCBkYXRhLiBVc2UgYm90aCAnbG9vcF9pbmZvJyBhbmQgJ2luc3RydW1lbnQnIHRvIGluZm9ybSBhYm91dCB0aGUKCSAgYmFzZW5vdGUuCgoyMDEzLTEyLTMwIDEzOjI4OjUyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogUmVtb3ZlIHVubmVlZGVkIGNhbGwKCSAgJ3BhcnNlJyBpcyBhbHJlYWR5IHByb3ZpZGVkIGJ5IHRoZSBwYXJlbnQgdmFyaWFibGUKCjIwMTMtMTItMjkgMTM6MzE6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIG9wZW5jdjogVGhlIHBsdWdpbiB3b3JrcyB3aXRoIDIuNC43IHRvbwoJICBSZXBvcnRlZCBieSBrd20gb24gSVJDLgoKMjAxMy0xMi0yOCAxMjozOToyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzcGFyc2U6IERvbid0IHNlbmQgY2FwcyBpbiBHc3RCYXNlUGFyc2U6OnN0YXJ0KCkKCSAgVGhpcyBpcyB0b28gZWFybHkgYW5kIHdpbGwgY29uZnVzZSB0aGUgZXZlbnQgb3JkZXIuIFRoZSBvdGhlcgoJICBjb2RlIHRoYXQgc2V0cyB0aGUgY2FwcyBpcyBhdCB0aGUgcmlnaHQgcG9zaXRpb24gYW5kIGRvZXMgaXQKCSAgcHJvcGVybHkgYWxyZWFkeS4KCjIwMTMtMTItMjQgMjM6MTU6MjggKzAwMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJICBtZmM6IGZpeCBpbnB1dCBkZXF1ZXVlIGZvciBvZHJvaWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTAyNwoKMjAxMy0xMi0yNyAxNDoyOTo0NiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGluY3JlYXNlIG1heCBwYXlsb2FkIHNpemUgdG8gNDAwMCBieXRlcwoJICAxMjc1IGlzIHRoZSBtYXhpbXVtIHNpemUgb2YgYSBmcmFtZSwgYnV0IHRoZSBlbmNvZGVyIG1heSByZXR1cm4KCSAgdXAgdG8gMyBmcmFtZXMsIGFuZCB3ZSBuZWVkIGEgZmV3IGV4dHJhIGJ5dGVzIGZvciBUT0MsIGV0Yy4gV2UKCSAgdXNlIDQwMDAsIHdoaWNoIGlzIGEgYml0IG1vcmUsIGFuZCBzdWdnZXN0ZWQgaW4gdGhlIGxpYm9wdXMgZG9jcy4KCjIwMTMtMTItMjcgMTA6MjU6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5oOgoJICBtcGVndHM6IGZpeCBnLWkgYW5ub3RhdGlvbnMgYW5kIGd0ay1kb2MgbWFya3VwCgoyMDEzLTEyLTIwIDEwOjA1OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiByZW1vdmUgc3RyZWFtIGxvb3AgdGhyZWFkCgkgIERvd25sb2FkIGFuZCBwdXNoIGZyb20gdGhlIHNhbWUgdGFzaywgbWFrZXMgY29kZSBhIGxvdCBzaW1wbGVyCgkgIHRvIG1haW50YWluLiBBbHNvIHB1c2hpbmcgZnJvbSBzZXBhcmF0ZSB0aHJlYWRzIGF2b2lkcyBkZWFkbG9ja2luZwoJICB3aGVuIGdzdF9wYWRfcHVzaCBibG9ja3MgZHVlIHRvIGRvd25zdHJlYW0gcXVldWVzIGJlaW5nIGZ1bGwuCgoyMDEzLTEyLTIwIDE5OjQyOjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogZml4IGRlYWRsb2NrIG5lYXIgRU9TCgkgIEEgZGVhZGxvY2sgY2FuIGhhcHBlbiB3aGVuIHRoZSBzb3VyY2Ugc2VuZHMgRU9TIHdoZW4KCSAgYmVpbmcgcHV0IHRvIE5VTEwgYXMgdGhlIG9iamVjdCBsb2NrIGlzIGJlaW5nIGhlbGQgYnkgdGhlCgkgIHRocmVhZCB0aGF0IHNldHMgdGhlIGVsZW1lbnQgdG8gTlVMTCBhbmQgaXMgbmVlZGVkIGJ5CgkgIHRoZSBldmVudCBoYW5kbGVyLgoKMjAxMy0xMi0yMCAxOTozOToxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaDogZGV0ZWN0IEVPUyB3aGVuIHNlZ21lbnRzIGFyZSBnZW5lcmF0ZWQgYnkgdGVtcGxhdGUKCSAgVXNlIHRoZSBQZXJpb2QgZHVyYXRpb24gZG8ga25vdyB3aGVuIHRvIGVuZCB0aGUgc3RyZWFtCgoyMDEzLTEyLTEzIDE3OjI2OjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGRvIG5vdCB0cnkgdG8gYWNjZXNzIGJ1ZmZlciBhZnRlciBsb3NpbmcgdGhlIHJlZgoJICBGb3Igb2J2aW91cyByZWFzb25zCgoyMDEzLTEyLTEzIDE3OjI1OjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiB1c2UgYSBzZXBhcmF0ZSBHc3RVcmlEb3dubG9hZGVyIHBlciBzdHJlYW0KCSAgQXZvaWRzIG9uZSBkb3dubG9hZCBoYXZpbmcgdG8gd2FpdCBmb3IgYW5vdGhlciB0byBmaW5pc2gKCSAgYmVmb3JlIHN0YXJ0aW5nCgoyMDEzLTEyLTA5IDEzOjU1OjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBzdG9yZSBHc3RBY3RpdmVTdHJlYW0gdG8gYXZvaWQgZ2V0dGluZyBpdCBldmVyeSB0aW1lCgkgIEdzdEFjdGl2ZVN0cmVhbSBpcyB1c2VkIGV2ZXJ5d2hlcmUgdG8gb3BlcmF0ZSBvbiB0aGUgTVBEIGNsaWVudCwKCSAgYmV0dGVyIHN0b3JlIGl0IGluIHRoZSBHc3REYXNoRGVtdXhTdHJlYW0gdG8gYXZvaWQgZ2V0dGluZyBpdAoJICBldmVyeXRpbWUKCjIwMTMtMTItMDkgMTM6MzM6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHNpbXBsaWZ5IGxvY2tpbmcgZm9yIHN0cmVhbXMKCSAgVXNlIGEgc2luZ2xlIGxvY2sgZm9yIGFsbCBzdHJlYW1zIGluc3RlYWQgb2YgaGF2aW5nIHNlcGFyYXRlIGxvY2tzLgoJICBUaGlzIG1ha2VzIG1haW50ZW5hbmNlIGVhc2llciBhbmQgYXQgbW9zdCBwb2ludHMgd2Ugd291bGQgbmVlZAoJICBhIHNpbmdsZSBsb2NrIGJlZm9yZSBpdGVyYXRpbmcgb24gYWxsIHN0cmVhbXMgZGF0YS4gU28gbm90IG11Y2gKCSAgaXMgZ2FpbmVkIGZyb20gaW5kaXZpZHVhbCBsb2Nrcy4KCjIwMTMtMTItMDkgMTE6Mjg6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZml4IG11bHRpcGxlIHBlcmlvZCBtcGQgcGxheWJhY2sKCSAgTWFrZSBkYXNoIHBsYXlsaXN0cyB3aXRoIG11bHRpcGxlIHBlcmlvZHMgd29yayBhZ2FpbiBieSB3YWl0aW5nCgkgIHRvIHN3aXRjaCB0aGUgcGVyaW9kcyB3aGVuIGFsbCBzdHJlYW1zIGhhdmUgcmVhY2hlZCB0aGUgZW5kIG9mCgkgIHRoZSBjdXJyZW50IHBlcmlvZC4gVGhlIHN0cmVhbV9sb29wIGlzIHJlc3BvbnNpYmxlIGZvciBhZHZhbmNpbmcKCSAgdGhlIHBlcmlvZCwgYnV0IHRoZSBkb3dubG9hZCBsb29wcyB3aWxsIGFscmVhZHkgc3RhcnQgZG93bmxvYWRpbmcKCSAgZGF0YSBmb3IgdGhlIG5leHQgcGVyaW9kIGFzIHNvb24gYXMgcG9zc2libGUuCgoyMDEzLTEyLTA1IDAyOjUzOjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGFkZCBjb21iaW5lIGZsb3dzIGZ1bmN0aW9uCgkgIFVzZSBhIGZsb3cgY29tYmluYXRpb24gZnVuY3Rpb24gdG8gZGVjaWRlIHRoZSByZXN1bHQgZnJvbSB0aGUKCSAgc3RyZWFtX2xvb3AKCjIwMTMtMTItMDQgMTE6MzA6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IGhhbmRsZSBtdWx0aXBsZSBsYW5ndWFnZXMKCSAgSGFuZGxlIG11bHRpcGxlIGxhbmd1YWdlcyBieSB1c2luZyB0aGUgbm90LWxpbmtlZCByZXR1cm4gdG8gc3RvcAoJICB0aGUgZG93bmxvYWQgdGFzayBmb3IgdGhhdCBzdHJlYW0uIEl0IGNhbiBiZSByZWFjdGl2YXRlZCB3aGVuCgkgIGEgcmVjb25maWd1cmUgZXZlbnQgaXMgcmVjZWl2ZWQuIFN0b3BwaW5nIHRoZSB1bnVzZWQgc3RyZWFtcyBpcwoJICByZWxldmFudCB0byBzYXZlIG5ldHdvcmsgYmFuZHdpZHRoCgoyMDEzLTEyLTAzIDE2OjE2OjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBVc2UgMSBkb3dubG9hZCB0YXNrIHBlciBzdHJlYW0KCSAgSW5zdGVhZCBvZiBoYXZpbmcgYSBzaW5nbGUgZG93bmxvYWQgdGFzayBmb3IgYWxsIHN0cmVhbXMsIHRoaXMKCSAgY29tbWl0IG1ha2VzIGVhY2ggc3RyZWFtIGhhdmUgaXRzIG93biBkb3dubG9hZCBsb29wLCBhbGxvd2luZwoJICBwYXJhbGxlbCBkb3dubG9hZCBvZiBmcmFnbWVudHMuCgoyMDEzLTEyLTAzIDAwOjEyOjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiByZWZhY3RvciBmcmFnbWVudCBmZXRjaGluZyBpbnRvIHNtYWxsZXIgZnVuY3Rpb25zCgkgIE1ha2VzIGl0IGVhc2llciB0byBtYWludGFpbiBhbmQgZXh0ZW5kLiBUaGlzIGlzIGEgZmlyc3Qgc3RlcCBpbnRvCgkgIGFkZGluZyBtdWx0aSBsYW5ndWFnZSBzdXBwb3J0IHRvIGRhc2hkZW11eAoKMjAxMy0xMi0wMiAxNzo0MTowMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogcnVuIGdzdC1pbmRlbnQKCSAgTG90cyBvZiBpbmRlbnRhdGlvbiBpc3N1ZXMgbWFraW5nIGl0IHZlcnkgYW5ub3lpbmcgdG8gY29tbWl0CgkgIGJlY2F1c2Ugb2YgdGhlIGluZGVudCBob29rLiBGaXggdGhpcyBmb3Igb25jZS4KCjIwMTMtMTItMDIgMTc6MzE6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBleHBvc2UgYWxsIHN0cmVhbXMKCSAgYWx3YXlzIGV4cG9zZSBhbGwgc3RyZWFtcyBpbnN0ZWFkIG9mIG9ubHkgZXhwb3Npbmcgb25lIG9mIGVhY2ggdHlwZS4KCSAgVGhpcyBpcyBtb3JlIGFsaWduZWQgd2l0aCBnc3RyZWFtZXIncyB3YXkgb2Ygd29ya2luZy4gQWxsb3dzIHRoZSB1c2VyCgkgIHRvIHNlbGVjdCB0aGUgc3RyZWFtIHRoYXQgaXQgd2FudHMgdG8gdXNlIGJ5IGxpbmtpbmcgaXRzIHBhZCBhbmQgbGVhdmluZwoJICB0aGUgdW51c2VkIG9uZXMgYXMgdW5saW5rZWQuCgoyMDEzLTEyLTI0IDExOjUxOjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lYWdsLm06CgkgIGVnbGdsZXNzaW5rOiBQcm9wZXJseSBjbGVhbiB1cCByZW5kZXJidWZmZXJzIGFuZCBFQUdMIGNvbnRleHQKCjIwMTMtMTItMjMgMTU6MzM6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSAgYWRwY21lbmM6IFByb3Blcmx5IHNldCBvdXRwdXQgZm9ybWF0CgkgIE90aGVyd2lzZSB0aGlzIHdpbGwganVzdCBlcnJvciBvdXQgaWYgd2Ugb25seSBzZXQgY2FwcyBvbiB0aGUgc3JjcGFkLgoKMjAxMy0xMi0yMiAyMjozMzo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZGJlZGFhMCB0byBkNDhiZWQzCgoyMDEzLTEyLTIyIDIxOjU2OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vTWFrZXZhcnM6CgkgIHBvOiBzZXQgZ2V0dGV4dCBkb21haW4gaW4gTWFrZXZhcnMgc28gd2UgZG9uJ3QgaGF2ZSB0byBwYXRjaCB0aGUgZ2VuZXJhdGVkIE1ha2VmaWxlLmluLmluCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU0NTUKCjIwMTMtMTItMjIgMTc6NDY6NDAgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBzZXQgdGhlIGNvcnJlY3Qgc3RyaWRlIGluIHRoZSB2aWRlbyBtZXRhCgoyMDEzLTEyLTIyIDE3OjQ0OjAxICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IGF0ZGVjOiBmaXggYWFjIGRlY29kaW5nIG9uIE1hdmVyaWNrcwoKMjAxMy0xMi0yMCAxODoxMjo1MyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIG1vZHBsdWc6IHNtYWxsIHNlZWtpbmcgY29kZSByZXNodWZmbGUKCSAgUHV0IHRoZSBjb2RlIHRoYXQgY2hlY2tzIHN0b3AgdmFsdWVzIHRvZ2V0aGVyLiBEb24ndCBjbGFtcCBhIGN1ciB2YWx1ZSBvZiAtMSB0byAwIChzaG91bGQgbm90IGhhcHBlbiByaWdodCBub3cpLgoKMjAxMy0xMi0yMCAxODoxMDoxNCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmM6CgkgIHNmZGVjOiBtYWtlIF9zdG9wKCkgbm9uIGZhdGFsIHdoZW4gd2UgaGF2ZSBhbiBlcnJvciBhbHJlYWR5CgkgIEhhdmluZyBubyBvcGVuIGZpbGUgaW4gX3N0b3AoKSBpcyBva2F5LiBKdXN0IHJlc2V0IHN0YXRlLgoKMjAxMy0xMi0yMCAxODowODozMyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmg6CgkgIHNmZGVjOiBhZGQgZXZlbnQgZnVuY3Rpb24gYW5kIHNlZWtpbmcgc3VwcG9ydAoKMjAxMy0xMi0xOCAwODoxMjowNyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmM6CgkgIHNmZGVjOiBhZGQgdGFnbGlzdCBzdXBwb3J0CgkgIE1hcCB0aGUgbWV0YWRhdGEgc3RyaW5ncyBhbmQgYSBidW5jaCBvZiBpbmZvLWZpZWxkcyB0byBHU3RyZWFtZXIgdGFncy4KCjIwMTMtMTItMTcgMjI6MjU6MDMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5jOgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5oOgoJICBzZmRlYzogYWRkIHF1ZXJ5IGltcGxlbWVudGF0aW9uIGZvciBwb3NpdGlvbiBhbmQgZHVyYXRpb24KCjIwMTMtMTItMTcgMTc6NTY6MzIgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zbmRmaWxlL01ha2VmaWxlLmFtOgoJKiBleHQvc25kZmlsZS9nc3RzZi5jOgoJKiBleHQvc25kZmlsZS9nc3RzZi5oOgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5jOgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5oOgoJICBzbmRmaWxlOiByZXdyaXRlIHNuZGZpbGUgZm9yIDEuMAoJICBBZGQgYSBzZmRlYyBmb3IgYSBzdGFydC4gSW5zdGVhZCBvZiBhIHNvdXJjZSBwbHVnaW4sIHRoaXMgaXMgYSBkZW11eGVyL2RlY29kZXIgY29tYmluYXRpb24uIFRoaXMgbWFrZXMgaXQgd29yayB3aXRoIGF1dG8tcGx1Z2dpbmcuCgoyMDEzLTEyLTIwIDAwOjM5OjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IHVwZGF0aW5nIGRvY3MgZXhwbGFpbmluZyBob3cgaXQgd29ya3MKCSAgbXNzZGVtdXggY2hhbmdlZCBhIGxvdCBhbmQgdGhlIGRvY3Mgd2VyZSBub3QgY29ycmVjdCBhbnltb3JlLgoJICBBbHNvIGFkZHMgdGhlICdBZGFwdGl2ZScgY2F0ZWdvcnkgdG8gaXRzIGRldGFpbHMKCjIwMTMtMTItMTkgMTQ6MzA6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogZG8gbm90IHB1c2ggZXZlbnQgaG9sZGluZyBvYmplY3QgbG9jawoJICBDYW4gbGVhZCB0byBkZWFkbG9ja3MgYXMgdGhlIHB1c2ggbWlnaHQgYmxvY2sgZG93bnN0cmVhbSBpbgoJICBzZXJpYWxpemVkIGV2ZW50IGNhc2VzLgoKMjAxMy0xMi0xOSAxNDoyOTo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBsb2NrIGFyb3VuZCAnY2FuY2VsbGVkJyBmbGFnCgkgIFByZXZlbnRzIHJhY2UgY29uZGl0aW9ucyB3aGVuIHBpcGVsaW5lIGlzIHNlZWtpbmcgbmVhciBlb3MKCjIwMTMtMTItMTkgMjE6NTk6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IEFsc28gcmVzeW5jIHRpbWVzdGFtcHMgb24gdGhlIFJFU1lOQyBmbGFnCgoyMDEzLTEyLTE5IDIxOjM2OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lYWdsLm06CgkgIGVnbGdsZXNzaW5rOiBEb24ndCBzZXQgdGhlIEVBR0xDb250ZXh0IG9mIHRoZSBtYWluIHRocmVhZCBhbmQgZG9uJ3QgcmV1c2UgaXQgZWl0aGVyCgkgIC4uLiBpbnN0ZWFkIGNyZWF0ZSBhIG5ldyBjb250ZXh0IGZvciBldmVyeSBzaW5rIGluc3RhbmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNDIxCgoyMDEzLTEyLTE5IDA4OjU3OjQxICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJICBhcHBsZW1lZGlhOiBjb3JldmlkZW9idWZmZXI6IGZpeCBmb3IgcGxhbmFyIGZvcm1hdHMKCjIwMTMtMTItMTkgMDc6NTQ6MDcgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IHJlbW92ZSBzaWxseSBzdHJpZGUgcmVxdWlyZW1lbnQKCSAgVGhpcyBpcyBsZWdhY3kgZnJvbSB0aGUgMC4xMCB0aW1lcywgYW5kIGl0IGlzbid0IGNsZWFyIGhvdyBpdCB3YXMgdXNlZnVsIGJhY2sKCSAgdGhlbiBhbHNvLicKCjIwMTMtMTItMTkgMTE6MTE6MjggKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9kaXJlY3RmYi9kZmItZXhhbXBsZS5jOgoJICBkaXJlY3RmYjogQWRkIGhhY2sgdG8gZml4IGNvbXBpbGUgd2l0aCBicm9rZW4gRGlyZWN0RkIgZGVmaW5lCgkgIENvbXBpbGF0aW9uIGJyZWFrcyBiZWNhdXNlIHNvbWUgdmVyc2lvbnMgb2YgRGlyZWN0RkIgcmVkZWZpbmUKCSAgX19ub19pbnN0cnVtZW50X2Z1bmN0aW9uX18sIHdoaWNoIGlzIHVzZWQgaW4gdGhlIEdfR05VQ19OT19JTlNUUlVNRU5UCgkgIG1hY3JvLgoKMjAxMy0xMi0xNyAxNzo1NTo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBmaXggc2VnZmF1bHQgd2hlbiB0cnlpbmcgdG8gYWNjZXNzIGNvZGVjX2RhdGEKCSAgQ2hlY2sgaWYgY29kZWNfZGF0YSB3YXMgb2J0YWluZWQgYmVmb3JlIHRyeWluZyB0byB1c2UgaXQgdG8KCSAgcHJldmVudCBhIHNlZ2ZhdWx0CgoyMDEzLTEyLTE3IDE3OjU0OjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGFsc28gZ2VuZXJhdGUgY2FwcyBmcm9tIGF1ZGlvdGFnIGF0dHJpYnV0ZQoJICBTb21lIGF1ZGlvIHdpbGwgaGF2ZSBpdHMgYXVkaW8gZm9ybWF0IGRlZmluZWQgYnkgdGhlIEF1ZGlvVGFnCgkgIGluc3RlYWQgb2YgdGhlIEZvdXJjYy4gRmFsbGJhY2sgdG8gdXNpbmcgQXVkaW9UYWcgaWYgRm91cmNjCgkgIGlzbid0IGF2YWlsYWJsZQoKMjAxMy0xMi0xNyAxNjozMTo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBtYWtlIHN1cmUgc3RyZWFtcyBzdG9wIHByb3Blcmx5IG9uIGNhbmNlbGxlZAoJICBzcGVjaWFsbHkgd2hlbiB0aGUgZ3N0X3Rhc2tfam9pbiBpcyB3YWl0aW5nIGZvciB0aGUgdGFzawoJICB0byBnbyBzdG9wIGFuZCB0aGUgdGFzayBpdHNlbGYgc2V0cyBpdHMgYmFjayB0byBwYXVzZWQsIGNhdXNpbmcKCSAgYSBkZWFkbG9jayBvbiBleGl0LgoKMjAxMy0xMi0xNyAxMzoxNjo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IHRyYWNrIHNlZ21lbnRzIHBlciBzdHJlYW0KCSAgQXMgc3RyZWFtcyBub3cgZmxvdyBpbmRlcGVuZGVudGx5LCB0aGUgR3N0U2VnbWVudCBuZWVkcyB0byBiZSBwdXQKCSAgb24gZWFjaCBzdHJlYW0gc28gdGhleSBjYW4gdHJhY2sgdGhlIHBvc2l0aW9uIG9mIGVhY2ggb25lIGNvcnJlY3RseQoJICBpbnN0ZWFkIG9mIGJlaW5nIG1peGVkIGluIGEgc2luZ2xlIHNlZ21lbnQKCjIwMTMtMTEtMTQgMTU6MjM6NDIgKzAxMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogcHVzaCBsYW5ndWFnZSBjb2RlIHRhZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyMzU4CgoyMDEzLTExLTE0IDE1OjE0OjE4ICswMTAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NtYW5pZmVzdDogc3RvcmUgdGhlIGxhbmd1YWdlIG9mIHRoZSBzdHJlYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjM1OAoKMjAxMy0xMi0xNiAxNjoxNDoyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IHJlbW92ZSB0aGUgc3RyZWFtIGxvb3AgdGFzawoJICBEb3dubG9hZCBhbmQgcHVzaCBmcm9tIHRoZSBzYW1lIHRhc2ssIG1ha2VzIGNvZGUgYSBsb3Qgc2ltcGxlcgoJICB0byBtYWludGFpbi4gQWxzbyBwdXNoaW5nIGZyb20gc2VwYXJhdGUgdGhyZWFkcyBhdm9pZHMgZGVhZGxvY2tpbmcKCSAgd2hlbiBnc3RfcGFkX3B1c2ggYmxvY2tzIGR1ZSB0byBkb3duc3RyZWFtIHF1ZXVlcyBiZWluZyBmdWxsCgoyMDEzLTEyLTEzIDE3OjMxOjExIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IEltcHJvdmUgbG9nZ2luZwoJICBTaG93IHRoZSBzdHJlYW0ncyBwYWQgb24gbG9nIG1lc3NhZ2VzIHRvIG1ha2UgZWFzaWVyIHRvIGRlYnVnCgkgIGlzc3VlcyBpbiB0aGUgbXVsdGlwbGUgdGhyZWFkcwoKMjAxMy0xMi0xMCAxODowODo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBpbXByb3ZlIGZsb3cgcmV0dXJuIGhhbmRsaW5nCgkgIEhhbmRsZSBkaWZmZXJlbnQgZmxvdyByZXR1cm5zIGJvdGggZnJvbSB0aGUgc3RyZWFtaW5nIGFuZCB0aGUKCSAgZG93bmxvYWRpbmcgbG9vcHMKCjIwMTMtMTItMTAgMTU6NDE6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiByZW1vdmUgc3RyZWFtIGxvY2tzCgkgIFNpbXBsaWZ5IHRoZSBsb2NraW5nIGJ5IHVzaW5nIGEgc2luZ2xlIGxvY2sgaW5zdGVhZCBvZiBoYXZpbmcgb25lCgkgIGxvY2sgcGVyIHN0cmVhbS4gVGhpcyBzdGlsbCB3b3JrcyBhbmQgaXMgc2ltcGxlciB0byBtYWludGFpbi4KCjIwMTMtMTEtMTIgMDk6NTg6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiBhdm9pZCBkb3dubG9hZGluZyBub3QtbGlua2VkIHN0cmVhbXMKCSAgV2hlbiBhIHN0cmVhbSBnZXRzIGEgbm90LWxpbmtlZCByZXR1cm4sIGl0IHdpbGwgYmUgbWFya2VkIGFzIHNvIGFuZAoJICB3b24ndCBkb3dubG9hZCBhbnkgbW9yZSBuZXcgZnJhZ21lbnRzIHVudGlsIGEgcmVjb25maWd1cmUgZXZlbnQKCSAgaXMgcmVjZWl2ZWQuIFRoaXMgd2lsbCBtYWtlIG1zc2RlbXV4IGV4cG9zZSBhbGwgcGFkcywgYnV0IG9ubHkgZG93bmxvYWQKCSAgZnJhZ21lbnRzIGZvciB0aGUgc3RyZWFtcyB0aGF0IGFyZSBhY3R1YWxseSBiZWluZyB1c2VkLgoJICBSZWx5aW5nIG9uIHRoZSBwYWRzIGJlaW5nIGxpbmtlZC91bmxpbmtlZCBpc24ndCBlbm91Z2ggaW4gdGhpcyBzY2VuYXJpbwoJICBhcyB0aGVyZSBtaWdodCBiZSBhbiBpbnB1dC1zZWxlY3RvciBkb3duc3RyZWFtIHRoYXQgaXMgYWN0dWFsbHkgZGlzY2FyZGluZwoJICBidWZmZXJzIGZvciBhIGdpdmVuIGxpbmtlZCBwYWQuCgkgIFdoZW4gc3RyZWFtcyBhcmUgc3dpdGNoaW5nLCB0aGUgb2xkIGFjdGl2ZSBzdHJlYW0gY2FuIGJlIGJsb2NrZWQgYmVjYXVzZQoJICBpbnB1dC1zZWxlY3RvciB3aWxsIGJsb2NrIG5vdC1saW5rZWQgc3RyZWFtcy4gSW4gY2FzZSB0aGUgbXNzZGVtdXgncwoJICBzdHJlYW0gbG9vcCBpcyBibG9ja2VkIHB1c2hpbmcgYSBidWZmZXIgdG8gYSBmdWxsIHF1ZXVlIGRvd25zdHJlYW0gaXQgd2lsbAoJICBuZXZlciB1bmJsb2NrIGFzIHRoZSBxdWV1ZSB3aWxsIG5vdCBkcmFpbiAoaW5wdXQtc2VsZWN0b3IgaXMgYmxvY2tpbmcpLgoJICBJbiB0aGlzIHNjZW5hcmlvLCBzdHJlYW0gc3dpdGNoaW5nIHdpbGwgZGVhZGxvY2sgYXMgaW5wdXQtc2VsZWN0b3IgaXMKCSAgd2FpdGluZyBmb3IgdGhlIG5ld2x5IGFjdGl2ZSBzdHJlYW0gZGF0YSBhbmQgdGhlIHN0cmVhbV9sb29wIHRoYXQgd291bGQKCSAgcHVzaCB0aGlzIGRhdGEgaXMgYmxvY2tlZCB3YWl0aW5nIGZvciBpbnB1dC1zZWxlY3Rvci4KCSAgVG8gc29sdmUgdGhpcyBpc3N1ZSwgd2hlbmV2ZXIgYW4gc3RyZWFtIGlzIHJlYWN0aXZhdGVkIG9uIGEgcmVjb25maWd1cmUKCSAgaXQgd2lsbCBlbnRlciBpbnRvIHRoZSAnY2F0Y2ggdXAgbW9kZScsIGluIHRoaXMgbW9kZSBpdCBjYW4gcHVzaCBidWZmZXJzCgkgIGZyb20gaXRzIGRvd25sb2FkIHRocmVhZCB1bnRpbCBpdCByZWFjaGVzIHRoZSBjdXJycmVudCBHc3RTZWdtZW50J3MgcG9zaXRpb24uCgkgIFRoaXMgd29ya3MgYmVjYXVzZSB0aGlzIHRpbWVzdGFtcCB3aWxsIGFsd2F5cyBiZSBiZWhpbmQgb3IgZXF1YWwgdG8gdGhlIG1heGltdW0KCSAgdGltZXN0YW1wIHB1c2hlZCBmb3IgYWxsIHN0cmVhbXMsIGFmdGVyIHB1c2hpbmcgZGF0YSBmb3IgdGhpcyB0aW1lc3RhbXAsCgkgIHRoZSBzdHJlYW0gd2lsbCBnbyBiYWNrIHRvIGRlZmF1bHQgYW5kIGJlIHB1c2hlZCBzZXF1ZW50aWFsbHkgZnJvbSB0aGUgbWFpbgoJICBzdHJlYW1pbmcgdGhyZWFkLiBCeSB0aGlzIHRpbWUsIHRoZSBpbnB1dC1zZWxlY3RvciBzaG91bGQgaGF2ZSBhbHJlYWR5CgkgIHJlbGVhc2VkIHRoZSB0aHJlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE4NDkKCjIwMTMtMTItMTggMTY6MjY6MTcgLTA1MDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBtcGVndmlkZW9wYXJzZTogRml4IGRvY3VtZW50YXRpb24gb2YgR3N0TXBlZ1ZpZGVvU2VxdWVuY2VTY2FsYWJsZU1vZGUKCjIwMTMtMTItMTggMTM6NDg6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLnBjLmluOgoJICBwa2djb25maWc6IERvbid0IGluY2x1ZGUgbGlicmFyaWVzIGluIHRoZSBnZW5lcmljIGdzdC1wbHVnaW5zLWJhZCBwYyBmaWxlCgoyMDEzLTEyLTE4IDEzOjQ1OjIyICswMTAwICBNYXJpdXN6IEJ1cmFzIDxtYXJpdXN6LmJ1cmFzQHlvdXZpZXcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWJhZC5wYy5pbjoKCSAgbXBlZ3RzOiBJbnN0YWxsIGdlbmVyYXRlZCBoZWFkZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA2NzMKCjIwMTMtMTItMTcgMTA6MDE6NDIgKzAxMDAgIERhdmlkZSBCZXJ0b2xhIDxkYWRlQGRhZGViLml0PgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IEVuYWJsZSBoYXJkd2FyZSBhY2NlbGVyYXRlZCBkZWNvZGluZyBvbiAxMC45CgoyMDEzLTEyLTE3IDEyOjE3OjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkgIGN1cmw6IEZpeCBpbmRlbnRpb24KCjIwMTMtMTItMTcgMTI6MDY6MTMgKzAxMDAgIEhhcmlkYXNzIFNlbHZhcmFqIDxoYXJpZGFzakBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmdHBzaW5rLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxmdHBzaW5rLmM6CgkgIGN1cmxmdHBzaW5rOiBPcHRpb25hbGx5IGNyZWF0ZSBhIHRlbXBvcmFyeSBmaWxlIGR1cmluZyBGVFAgdHJhbnNmZXIvdXBsb2FkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE2MjAKCjIwMTMtMTItMTcgMTA6MjM6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSAgZGVja2xpbmtzaW5rOiBHaXZlIHByZWZlcmVuY2UgdG8gdGhlIG9yZGVyIG9mIHRoZSBmaWx0ZXIgY2FwcyB3aGVuIHF1ZXJ5aW5nIGNhcHMKCjIwMTMtMTItMTcgMTA6MjE6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSAgZGVja2xpbmtzaW5rOiBPbmx5IGludGVyc2VjdCB3aXRoIHRoZSBmaWx0ZXIgY2FwcyBpZiB0aGVyZSBhY3R1YWxseSBpcyBhIGZpbHRlcgoKMjAxMy0xMi0xNSAyMTowNTozMSAtMDgwMCAgVG9kZCBBZ3VsbmljayA8dG9kZEBhZ3Vsbmljay5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBTb21lIGNvbXBpbGVyIHdhcm5pbmcgZml4ZXMgdG8gc2F0aXNmeSBYQ29kZSBjb21waWxlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTEzCgoyMDEzLTEyLTE2IDE2OjA3OjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzdGFnOiBSZWFkIGltYWdlLWRlc2NyaXB0aW9uIGZyb20gdGhlIGluZm8gc3RydWN0dXJlLCBub3QgdGhlIGNhcHMKCjIwMTMtMTItMTYgMTE6MTQ6MjkgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogRml4IHR5cG8gaW4gYnoyIGNoZWNrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1MzIKCjIwMTMtMTItMTYgMTE6NTE6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDN0YWc6IFdyaXRlIGltYWdlLXR5cGUgaW50byB0aGUgQVBJQyB0YWcKCjIwMTMtMTItMTYgMTA6MjU6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuaDoKCSAgdmMxcGFyc2U6IFBvc3QgVklERU9fQ09ERUMgdGFnCgoyMDEzLTEyLTE2IDEwOjI0OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RwbmdwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHBuZ3BhcnNlLmg6CgkgIHBuZ3BhcnNlOiBQb3N0IFZJREVPX0NPREVDIHRhZwoKMjAxMy0xMi0xNiAxMDoyMjoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IFVzZSBwYnV0aWxzIEFQSSB0byBjcmVhdGUgdGhlIFZJREVPX0NPREVDIHRhZyBzdHJpbmcKCjIwMTMtMTItMTYgMTA6MjE6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5oOgoJICBtcGVnNHZpZGVvcGFyc2U6IFBvc3QgVklERU9fQ09ERUMgdGFnCgoyMDEzLTEyLTE2IDEwOjE5OjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuaDoKCSAgaDI2NXBhcnNlOiBQb3N0IFZJREVPX0NPREVDIHRhZwoKMjAxMy0xMi0xNiAxMDoxODoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogUG9zdCBWSURFT19DT0RFQyB0YWcKCjIwMTMtMTItMTYgMTA6MTY6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5oOgoJICBoMjYzcGFyc2U6IFBvc3QgVklERU9fQ09ERUMgdGFnCgoyMDEzLTEyLTE2IDEwOjEzOjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5oOgoJICBkaXJhY3BhcnNlOiBQb3N0IFZJREVPX0NPREVDIHRhZwoKMjAxMy0xMi0xNCAxODoxMjo1MyAtMDUwMCAgVG9kZCBBZ3VsbmljayA8dG9kZEBhZ3Vsbmljay5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGlua3NyYzogUHJvY2VzcyBFT1MgZXZlbiB3aGVuIHRoZXJlIGFyZSBubyBpbmNvbWluZyB2aWRlbyBmcmFtZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODA3MDAKCjIwMTMtMTItMTQgMTU6NTU6NDIgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IGhhbmRsZSBsZXZlbCAzIGluIGdldF9kcGJfbWF4X21iX3NfZnJvbV9sZXZlbC4gb29wcy4KCjIwMTMtMTItMTQgMTU6NTU6MjIgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSAgYXBwbGVtZWRpYTogYXRkZWM6IGZpeCBtcDMgY2FwcwoKMjAxMy0xMi0xNCAxODo0MjoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rc3JjOiBTZXQgR1NUX0VMRU1FTlRfRkxBR19TT1VSQ0Ugb24gdGhlIHNvdXJjZQoJICBBcyBpdCBkb2VzIG5vdCBpbmhlcml0IGZyb20gYmFzZXNyYywgdGhpcyBmbGFnIGlzIG5vdCBhdXRvbWF0aWNhbGx5IHNldAoJICBhbmQgZS5nLiBnc3RfYmluX2l0ZXJhdGVfc291cmNlcygpIGFuZCBvdGhlciBjb2RlIGRvZXMgbm90IGNvbnNpZGVyIHRoaXMKCSAgZWxlbWVudCBhIHNvdXJjZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDcwMAoKMjAxMy0xMi0xNCAxMzozMjoyNiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogYWRkIG1pc3NpbmcgQU1fQ09ORElUSU9OQUwgZm9yIE9QRU5FWFIgYW5kIFNCQwoJICBNYWtlcyBteSBhdXRvbWFrZSAoMS4xNCkgaGFwcGllci4KCjIwMTMtMTItMTQgMTM6MzA6MDEgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGFwcGxlbWVkaWE6IGFsd2F5cyBpbmNsdWRlIDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KCSAgRml4ZXMgY29tcGlsYXRpb24gd2l0aCBuZXdlc3QgeGNvZGUuCgoyMDEzLTEyLTEyIDE3OjQ5OjI0ICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGgyNjRwYXJzZXI6IG5vdCBhbGwgc3RhcnRjb2RlcyBzaG91bGQgaGF2ZSAzLWJ5dGUgMCBwcmVmaXgKCSAgVGhlIHBhcnNlciBhc3N1bWVzIHRoYXQgZXZlcnkgdGltZSB0aGVyZSBpcyBhIDAgYmVmb3JlIHRoZSBzdGFydGNvZGUsCgkgIGl0IGlzIHBhcnQgb2YgdGhlIHN0YXJ0Y29kZS4gQnV0IHRoYXQncyBub3QgdHJ1ZS4KCSAgRnJvbSB0aGUgc3BlY2lmaWNhdGlvbgoJICBCeXRlIHN0cmVhbSBOQUwgdW5pdCBzeW50YXgKCSAgemVyb19ieXRlIGlzIGEgc2luZ2xlIGJ5dGUgZXF1YWwgdG8gMHgwMC4KCSAgV2hlbiBhbnkgb2YgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBmdWxmaWxsZWQsIHRoZSB6ZXJvX2J5dGUgc3ludGF4CgkgIGVsZW1lbnQgc2hhbGwgYmUgcHJlc2VudC4KCSAg4oCTIHRoZSBuYWxfdW5pdF90eXBlIHdpdGhpbiB0aGUgbmFsX3VuaXQoICkgaXMgZXF1YWwgdG8gNyAoc2VxdWVuY2UgcGFyYW1ldGVyCgkgIHNldCkgb3IgOCAocGljdHVyZSBwYXJhbWV0ZXIgc2V0KQoJICDigJMgdGhlIGJ5dGUgc3RyZWFtIE5BTCB1bml0IHN5bnRheCBzdHJ1Y3R1cmUgY29udGFpbnMgdGhlIGZpcnN0IE5BTCB1bml0IG9mIGFuCgkgIGFjY2VzcyB1bml0IGluIGRlY29kaW5nIG9yZGVyLCBhcyBzcGVjaWZpZWQgYnkgc3ViY2xhdXNlIDcuNC4xLjIuMy4KCSAgVGhlIHByb2JsZW0gd2l0aCBkb2luZyB0aGlzIGZvciBhbGwgc3RhcnRjb2RlcyBpcyB0aGF0IGEgdHJhaWxpbmcgemVybyBjYW4gbWVzcwoJICB1cCB0aW1lc3RhbXBzLiBUaGUgdHJhaWxpbmcgemVybyBnZXRzIHByZXBlbmRlZCB0byB0aGUgc3RhcnRjb2RlLCB3aGljaCB3aWxsCgkgIGNhcnJ5IHRoZSBQVFMgYW5kIERUUyBvZiBwcmV2aW91cyBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQ0NDMKCjIwMTMtMTItMTAgMTE6Mjc6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5oOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkgIGFzZnBhcnNlOiBhZGQgdGltZXN0YW1wcyB0byBwYWNrZXRzCgkgIHJlLWVuYWJsZSB0aGUgY29kZSB0aGF0IGFkZHMgdGltZXN0YW1wcyB0byBwYWNrZXRzIGFmdGVyIGJhc2VwYXJzZSdzCgkgIHBvcnQKCjIwMTMtMTItMTAgMTA6MzQ6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5oOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuaDoKCSAgYXNmcGFyc2U6IHBvcnQgdG8gYmFzZXBhcnNlCgkgIGFzZnBhcnNlIHdhcyBub3QgcmVhbGx5IGZ1bmN0aW9uYWwgYWZ0ZXIgdGhlIHBvcnQgdG8gMS4wCgkgIE5vdyBwb3J0aW5nIGl0IHRvIGJhc2VwYXJzZSB0byBnZXQgaXQgd29ya2luZyBhZ2FpbgoKMjAxMy0xMi0xMyAxMTo0OTo1MiArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGZpeCByZWFkaW5nIG9mIGRpc3BsYXkgd2luZG93IGluIGRpc3BsYXkgZGVmaW5pdGlvbiBzZWdtZW50CgkgIEZyb20gRVRTSSBFTiAzMDAgNzQzIFYxLjMuMSAoMjAwNi0xMSkgNy4yLjEgRGlzcGxheSBkZWZpbml0aW9uIHNlZ21lbnQgc3BlY2lmaWN0YXRpb25zCgkgIHRoZSBwYXJhbWV0ZXJzIG9mIGRpc3BsYXkgd2luZG93IGFyZSBpbiB0aGlzIG9yZGVyOiBYbWluLCBYbWF4LCBZbWluLCBZbWF4LgoJICBTaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCSAgU2lnbmVkLW9mZi1ieTogUGllcnJlLVl2ZXMgTW9yZHJldCA8cGllcnJlLXl2ZXMubW9yZHJldEBzdC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjAzODIKCjIwMTMtMTItMTMgMTQ6MTY6NDkgLTA4MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSAgc3J0cDogYWRkIDI1Ni1iaXQga2V5IHN1cHBvcnQKCSAgKiBleHQvc3J0cC9nc3RzcnRwLltjaF06IGFkZGVkIEdTVF9TUlRQX0NJUEhFUl9BRVNfMjU2X0lDTSB0bwoJICBHc3RTcnRwQ2lwaGVyVHlwZSBhbmQgbmV3IGZ1bmN0aW9uIGNpcGhlcl9rZXlfc2l6ZS4KCSAgKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6IG1heGltdW0ga2V5IHNpemUgaXMgbm93IDQ2IGNoYXJhY3RlcnMgKDE0IGZvcgoJICB0aGUgc2FsdCBwbHVzIHRoZSBrZXkpLiBJZiBkaWZmZXJlbnQgY2lwaGVycyBhcmUgY2hvc2VuIGZvciBSVFAgYW5kCgkgIFJUQ1AgdGhlIG1heGltdW0gbmVlZGVkIGtleSBzaXplIGlzIGV4cGVjdGVkLgoJICAqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzogbWlub3IgZG9jdW1lbnRhdGlvbiB1cGRhdGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNDM0CgoyMDEzLTEyLTEyIDEzOjIxOjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSAgZ3NtZGVjOiBwcm9jZXNzIGFsbCBhdmFpbGFibGUgaW5wdXQgZnJhbWVzIGluIG9uZSBnbwoJICBJbnN0ZWFkIG9mIHBhcnNpbmcsIGRlY29kaW5nIGFuZCBzZW5kaW5nIG91dAoJICBsb3RzIG9zIGxpdHRsZSAyMG1zIGF1ZGlvIGJ1ZmZlcnMgb25lIGJ5IG9uZS4KCjIwMTMtMTItMTEgMTg6NTI6NTMgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IGZpeCBjb21waWxlciB3YXJuaW5nICh1bmluaXRpYWxpemVkIHZhcmlhYmxlKQoKMjAxMy0xMi0xMSAwODoxMTo1MCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5oOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogcmVuYW1lIHJlb3JkZXJfcXVldWVfZnJhbWVfZGVsYXkgdG8gcmVvcmRlcl9xdWV1ZV9sZW5ndGgKCjIwMTMtMTItMTEgMDg6MTA6MTkgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IHJlcG9ydCBsYXRlbmN5CgoyMDEzLTEyLTExIDA3OjU4OjIzICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBzZXQgcmVvcmRlciBxdWV1ZSBsZW5ndGggdG8gdGhlIG1heCBEUEIgbGVuZ3RoCgkgIFNldCByZW9yZGVyX3F1ZXVlX2ZyYW1lX2RlbGF5IGZyb20gdGhlIERQQiBzaXplIChpbiBmcmFtZXMpLiBTdGlsbCBub3Qgb3B0aW1hbCwKCSAgYXMgdGhlIERQQiBzaXplIGlzIGxhcmdlciB0aGFuIHRoZSBtYXggYmZyYW1lIGZvcndhcmQgcHJlZGljdGlvbiBsZW5ndGgsIGJ1dCBJCgkgIGRvbid0IGtub3cgaG93IHRvIGNvbXB1dGUgdGhlIGxhdHRlciB3aXRob3V0IHBhcnNpbmcgZXZlcnkgZ3JvdXAgb2YgcGljdHVyZXMuCgoyMDEzLTEyLTEwIDIzOjA2OjUzICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSAgc291bmR0b3VjaDogQ2FsbCBkZWZhdWx0IGV2ZW50IGhhbmRsZXIgZm9yIGJhc2V0cmFuc2Zvcm0KCSAgTWFrZSBwaXBlbGluZSBlbmQgcHJvcGVybHkgYXQgRU9TIGFuZCBub3QgbGVhayBieSBwYXNzaW5nIGV2ZW50cwoJICB0byB0aGUgZGVmYXVsdCBldmVudCBoYW5kbGVyLgoKMjAxMy0xMi0wNiAwMDo0NTo1MCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgcmVzaW5kdmQ6IFJlbW92ZSByYWN5IGdsaWIgd2FybmluZy4KCSAgU29tZXRpbWVzLCB0aGUgcGFkIHByb2JlcyBjYW4gYmUgY2FsbGVkIHR3aWNlIC0gZm9yIE9PQiBldmVudHMKCSAgdHJhdmVsbGluZyBkb3duc3RyZWFtLiBDbGVhciBvdXQgdGhlIHBhZCBibG9jayBpZCwgc28gaXQgb25seQoJICBnZXRzIHJlbW92ZWQgb25jZS4KCjIwMTMtMTItMDYgMDA6MjI6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJICBnc21kZWM6IGZpeCBkZWNvZGluZyBvZiBhdWRpby9tcy1nc20gdmFyaWFudAoJICBBbHRlcm5hdGVzIGJldHdlZW4gMzMgYW5kIDMyIGJ5dGUgZnJhbWVzLCBidXQgbXVzdCBzdGFydAoJICB3aXRoIGEgMzMgYnl0ZSBmcmFtZS4gVGhpcyBoYXMgYmVlbiBicm9rZW4gZm9yIGFnZXMgc2luY2UKCSAgdGhlIGVsZW1lbnQgd2FzIHBvcnRlZCB0byB0aGUgYXVkaW8gZGVjb2RlciBiYXNlIGNsYXNzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5NDE2CgoyMDEzLTEyLTEwIDExOjEwOjU0ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogc2V0IHRoZSBjb3JyZWN0IHZpZGVvIGZvcm1hdCBpbiB0aGUgdmlkZW8gbWV0YQoJICBGaXhlcyBhbGwga2luZHMgb2Ygd2VpcmQgYnVncyB3aGVuIHZpZGVvY29udmVydCBpcyB1c2VkIHdpdGggdGhlIGRlY29kZXIuCgoyMDEzLTA0LTE3IDEwOjQ0OjQ4ICswODAwICBDb25nIFpob25nIDxjb25neC56aG9uZ0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggcGljdHVyZSBsZXZlbCBzY2FsaW5nIGxpc3RzIGRlcml2YXRpb24gKHJ1bGUgQikuCgkgIEZpeCBwaWN0dXJlIGxldmVsIHNjYWxpbmcgbGlzdHMgZGVyaXZhdGlvbiBmcm9tIGZhbGwtYmFjayBydWxlIHNldCBCLAoJICBhcyBzcGVjaWZpZWQgaW4gNy40LjIuMi4gTW9yZSBwcmVjaXNlbHksIHRoZSBzZXF1ZW5jZSBsZXZlbCBzY2FsaW5nCgkgIGxpc3RzIG5lZWQgdG8gYmUgdXNlZCBidXQgaW50cmEgYW5kIGludGVyIGxpc3RzIGFyZ3VtZW50cyB3ZXJlIHN3YXBwZWQuCgkgIFRoaXMgZml4ZXMgRlJFeHQvZnJlaDUuMjY0IGZyb20gY29uZm9ybWFuY2UgdGVzdGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDA5OQoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTEyLTA4IDE2OjQ2OjU4ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJICBhcHBsZW1lZGlhOiBjb3JldmlkZW9idWZmZXI6IHNldCB0aGUgY29ycmVjdCBzdHJpZGUgZm9yIHBhY2tlZCBmb3JtYXRzCgoyMDEzLTEyLTA4IDE1OjMxOjA5ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBmaXggbXBlZzIgdmlkZW8gc3VwcG9ydAoKMjAxMy0xMi0wOCAxNToyNToyNyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogbWFrZSBqcGVnIGRlY29kaW5nIGFjdHVhbGx5IHdvcmsKCjIwMTMtMTItMDggMTU6MjQ6NTggKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IGZhaWwgZ3JhY2VmdWxseSB3aGVuIG5vdCBuZWdvdGlhdGVkCgoyMDEzLTEyLTA3IDIzOjU1OjEzICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSAgYXBwbGVtZWRpYTogcmV3cml0ZSBWaWRlb1Rvb2xib3ggZGVjb2RlciBiYXNlZCBvbiBHc3RWaWRlb0RlY29kZXIKCjIwMTMtMTItMDYgMjE6MTE6MzIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJKiBnc3Qvdm1uYy92bW5jZGVjLmg6CgkgIHZtY25kZWM6IEFkZCBtaXNzaW5nIGhlYWRlciBmaWxlCgkgIEZvcmdvdCB0byBhZGQgaGVhZGVyIGZpbGUgdG8gcHJldmlvdSBjb21taXQKCjIwMTMtMTItMDYgMjA6NTg6NDggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC92bW5jL01ha2VmaWxlLmFtOgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkgIHZtbmNkZWM6IFBvcnQgdG8gR1N0cmVhbWVyIDEuMCBBUEkKCjIwMTMtMTItMDYgMTc6NTg6MTMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkgIHN0ZXJlbzogUG9ydCB0byBHU3RyZWFtZXIgMS4wIEFQSQoKMjAxMy0xMi0wNiAxNzoxMDozOSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvZ3N0anAya2RlY2ltYXRvci5jOgoJKiBnc3QvanAya2RlY2ltYXRvci9nc3RqcDJrZGVjaW1hdG9yLmg6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2pwMmtjb2Rlc3RyZWFtLmM6CgkgIGpwMmtkZWNpbWF0b3I6IFBvcnQgdG8gR1N0cmVhbWVyIDEuMCBBUEkKCjIwMTMtMTItMDUgMTY6NTA6MjcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5jOgoJICBydHBhc2ZwYXk6IFVzZSBHc3RSVFBCYXNlUGF5bG9hZCBtZXRob2QgdG8gcHVzaCBidWZmZXIKCSAgVGhpcyB3YXkgdGhlIGV2ZW50IGlzIGFsc28gcHVzaGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5NTUzCgoyMDEzLTEyLTA1IDEyOjA1OjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSAgc2JjZGVjOiBSZXF1aXJlIGNhcHMgdG8gYmUgc2V0IGJlZm9yZSBhbnkgZGF0YSBwcm9jZXNzaW5nCgoyMDEzLTEyLTA1IDEyOjA1OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkgIGFkcGNtZGVjOiBSZXF1aXJlIGNhcHMgdG8gYmUgc2V0IGJlZm9yZSBhbnkgZGF0YSBwcm9jZXNzaW5nCgoyMDEzLTEyLTA1IDEyOjA1OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkgIHNpcmVuZGVjOiBSZXF1aXJlIGNhcHMgdG8gYmUgc2V0IGJlZm9yZSBhbnkgZGF0YSBwcm9jZXNzaW5nCgoyMDEzLTEyLTA1IDEyOjA0OjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBSZXF1aXJlIGNhcHMgdG8gYmUgc2V0IGJlZm9yZSBhbnkgZGF0YSBwcm9jZXNzaW5nCgoyMDEzLTEyLTA1IDEyOjA0OjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjNhdWRpb2RlYzogUmVxdWlyZSBjYXBzIHRvIGJlIHNldCBiZWZvcmUgYW55IGRhdGEgcHJvY2Vzc2luZwoKMjAxMy0xMi0wNSAxMjowNDoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkgIGdzbWRlYzogUmVxdWlyZSBjYXBzIHRvIGJlIHNldCBiZWZvcmUgYW55IGRhdGEgcHJvY2Vzc2luZwoKMjAxMy0xMi0wNSAxMTo0OTo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW1jdmlkZW9kZWM6IFVzZSBuZXcgZ3N0X3ZpZGVvX2RlY29kZXJfc2V0X25lZWRzX2Zvcm1hdCgpIEFQSQoKMjAxMy0xMi0wNSAxMTo0OTozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mY2RlYzogVXNlIG5ldyBnc3RfdmlkZW9fZGVjb2Rlcl9zZXRfbmVlZHNfZm9ybWF0KCkgQVBJCgoyMDEzLTEyLTA1IDExOjQ5OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkgIG9wZW5qcGVnZGVjOiBVc2UgbmV3IGdzdF92aWRlb19kZWNvZGVyX3NldF9uZWVkc19mb3JtYXQoKSBBUEkKCjIwMTMtMTItMDUgMTE6NDU6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFkZWMuYzoKCSAgZGFhbGFkZWM6IFVzZSBuZXcgZ3N0X3ZpZGVvX2RlY29kZXJfc2V0X25lZWRzX2Zvcm1hdCgpIEFQSQoKMjAxMy0xMi0wNCAxNzozMToyNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIG1wZWd2aWRlb3BhcnNlcjogQWxzbyBpbml0aWFsaXplIGRlYnVnIGNhdGVnb3J5IGluIHBhcnNlX3NlcXVlbmNlX2hlYWRlcgoJICBBbHNvIHJlbW92ZSB0aGUgdXNlbGVzcyBpbml0aWFsaXplZCBmbGFnLCB0aGlzIGlzIGFscmVhZHkgZG9uZSBieSB0aGUgbWFjcm8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTY1NwoKMjAxMy0xMi0wNCAyMjozODoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuZXhyL2dzdG9wZW5leHJkZWMuY3BwOgoJICBvcGVuZXhyZGVjOiBJbnN0ZWFkIG9mIHRyeWluZyB0byBwYXJzZSB0aGUgYml0c3RyZWFtLCBqdXN0IGxvb2sgZm9yIHRoZSBuZXh0IGhlYWRlcgoJICBUaGlzIHNob3VsZCBiZSBtb3JlIHJvYnVzdCBhbmQgYWxsb3dzIHVzIHRvIGhhbmRsZSBuZXcgdmVyc2lvbnMgb2YgdGhlCgkgIGZpbGUgZm9ybWF0IGlmIHRoZSBsaWJyYXJ5IHN1cHBvcnRzIGl0LgoKMjAxMy0xMi0wNCAwOToxMzozMSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogdXNlIEFDQ0VQVF9JTlRFUlNFQ1QKCSAgV2UgY2FuIGFsc28gYWNjZXB0IGNhcHMgd2l0aCBtaXNzaW5nIGZpZWxkcy4KCjIwMTMtMTItMDQgMDk6MDM6NDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IHJlbW92ZSBmaWVsZHMgZnJvbSBmaWx0ZXIKCSAgRG9uJ3QgZmlsdGVyIG91dCB0aGUgY2FwcyBwcm9wZXJ0aWVzIHdlIGNhbiBjb252ZXJ0IGJldHdlZW4gd2hlbgoJICBwcm94eWluZyB0aGUgZ2V0Y2FwcyBxdWVyeSB0byB0aGUgZG93bnN0cmVhbSBwZWVyIHBhZC4KCjIwMTMtMTItMDQgMDk6MDA6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IHJlZmFjdG9yIHJlbW92ZV9maWVsZHMgaW4gZ2V0Y2FwcwoKMjAxMy0xMi0wMyAxNDo1MzoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJICBvcGVubmkyc3JjOiBDaGVjayBjb2xvciBmb3JtYXQKCjIwMTMtMTItMDMgMTQ6NDc6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSAgb3Blbm5pMnNyYzogQWRkIHN1cHBvcnQgZm9yIHRoZSB2aWRlbyBtZXRhCgoyMDEzLTEyLTAzIDE0OjQ2OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuaDoKCSAgb3Blbm5pMnNyYzogVXNlIEdzdFZpZGVvRnJhbWUgQVBJIGZvciBiZXR0ZXIgaGFuZGxpbmcgb2Ygc3RyaWRlcwoJICBBbmQgZG8gcHJvcGVyIHN0cmlkZSBjb252ZXJzaW9uLgoKMjAxMy0xMi0wMyAxNDozNTo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJICBvcGVubmkyc3JjOiBGaXggYnVmZmVyIGhhbmRsaW5nIHRvIGFjdHVhbGx5IHdvcmsgYW5kIHByb3Blcmx5IHRpbWVzdGFtcCBidWZmZXJzCgoyMDEzLTEyLTAzIDE0OjM1OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkgIG9wZW5uaTJzcmM6IERvbid0IHNodXQgZG93biBsaWJyYXJ5IHdoZW4gZmluYWxpemluZyBhbiBlbGVtZW50IGluc3RhbmNlCgoyMDEzLTEyLTAzIDE0OjM1OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkgIG9wZW5uaTJzcmM6IEZpeCBuZWdvdGlhdGlvbiBhbmQgY3JlYXRpb24gb2YgYSB2aWRlbyBidWZmZXIgcG9vbAoKMjAxMy0xMi0wMyAxNDozNDo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJICBvcGVubmkyc3JjOiBVc2UgZGVidWcgY2F0ZWdvcnkgcHJvcGVybHkKCjIwMTMtMTItMDIgMTc6MDM6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSAgb3Blbm5pMnNyYzogQ2xhc3NpZmljYXRpb24gb2YgdGhlIGVsZW1lbnQgc2hvdWxkIGJlIFNvdXJjZS9WaWRlbwoKMjAxMy0xMi0wMiAxNzowMTozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJICBvcGVubmkyc3JjOiBVc2UgR3N0VmlkZW9JbmZvIHRvIGNyZWF0ZSBjYXBzIGFuZCBkb24ndCBsZWFrIHRoZW0KCjIwMTMtMTItMDIgMTY6NTk6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSAgb3Blbm5pMnNyYzogU29tZSByYW5kb20gY2xlYW51cCBhbmQgbWlub3IgZml4ZXMKCjIwMTMtMTItMDIgMTE6MTc6MDIgKzAxMDAgIE1pZ3VlbCBDYXNhcy1TYW5jaGV6IDxtaWd1ZWxlY2FzYXNzYW5jaGV6QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVubmkyL01ha2VmaWxlLmFtOgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyLmNwcDoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuaDoKCSAgb3Blbm5pOiBBZGQgT3Blbk5OSTIgcGx1Z2luCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg5MTQKCjIwMTMtMTItMDIgMTA6Mjg6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGJ1bGdlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZGlmZnVzZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGZpc2hleWUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtYXJibGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtaXJyb3IuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwZXJzcGVjdGl2ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cm90YXRlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3BoZXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3RyZXRjaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR1bm5lbC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0d2F0ZXJyaXBwbGUuYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBHX0RFRklORV9UWVBFKCkgYWxyZWFkeSBjYWxscyBnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQoKSBmb3IgdXMKCjIwMTMtMTItMDIgMTA6MjU6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGJ1bGdlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlZ2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZGlmZnVzZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1hcmJsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBlcnNwZWN0aXZlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3Ryb3RhdGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcGhlcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcXVhcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzdHJldGNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHVubmVsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R3YXRlcnJpcHBsZS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IFJlbW92ZSBlbXB0eSBHT2JqZWN0OjpmaW5hbGl6ZSgpIGltcGxlbWVudGF0aW9ucwoJICBBbHNvIGRvbid0IHVzZSBHU1RfREVCVUdfRlVOQ1BUUiBmb3IgR09iamVjdCB2ZnVuY3MKCjIwMTMtMTAtMjAgMjI6MDQ6MzggKzAyMDAgIEFudG9uaW8gT3NwaXRlIDxvc3BpdGVAc3R1ZGVudGkudW5pbmEuaXQ+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBlcnNwZWN0aXZlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGVyc3BlY3RpdmUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBBZGQgYSAyRCBwZXJzcGVjdGl2ZSB0cmFuc2Zvcm0gcGx1Z2luCgkgIFRoZSBwZXJzcGVjdGl2ZSBwbHVnaW4gYXBwbGllcyBhIDJEIHBlcnNwZWN0aXZlIChhbHNvIGNhbGxlZCBwcm9qZWN0aXZlKQoJICB0cmFuc2Zvcm0gdG8gdGhlIGZyYW1lIGJ1ZmZlci4KCSAgQSBwZXJzcGVjdGl2ZSB0cmFuc2Zvcm0gY2FuIGJlIHVzZWQgZm9yIGluc3RhbmNlIHRvIHBlcmZvcm0ga2V5c3RvbmUKCSAgY29ycmVjdGlvbiB3aGVuIHBsYXlpbmcgdGhlIGNvbnRlbnQgd2l0aCBhIHZpZGVvIHByb2plY3Rvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDgxMAoKMjAxMy0xMi0wMSAyMzozMToyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgbXBlZzJlbmM6IGF2b2lkIGxpc3QgZm9yIG9uZSBzaW5nbGUgdmFsdWUgaW4gdGVtcGxhdGUgY2FwcwoKMjAxMy0xMi0wMSAyMjozMjowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogbWljcm9vcHRpbWlzYXRpb246IGF2b2lkIHVubmVjZXNzYXJ5IGdzdF9idWZmZXJfZ2V0X3NpemUoKSBjYWxscwoKMjAxMy0xMS0yOSAxMzoyMzo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkgIHJ0cGFzZnBheTogaW5pdCBydHAgYnVmZmVyIGZpeGluZyBydHAgcGFja2V0IGNyZWF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk1NTMKCjIwMTMtMTEtMjkgMTM6MjI6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IGRvbid0IHVzZSBidWZmZXIgYWZ0ZXIgZ2l2aW5nIGF3YXkgb3duZXJzaGlwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk1NTMKCjIwMTMtMTEtMjkgMTA6MTQ6NDMgKzAxMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPHVyYWV1c0BsaW51eHJpc2luZy5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBjaGFuZ2VzCgoyMDEzLTExLTI1IDE2OjU3OjAwICswMDAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zekBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHBuZ3BhcnNlLmM6CgkgIHBuZ3BhcnNlOiBEb24ndCB0cnkgdG8gc2V0IGZyYW1lcmF0ZSBpZiBub3QgZnJvbSB1cHN0cmVhbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE1MTY2CgoyMDEzLTExLTI4IDE1OjEwOjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBGaXggc3BsaXR0aW5nIG9mIG11bHRpcGxlIE5BTFUgcGVyIGJ1ZmZlcgoJICBDb252ZXJzaW9uIHRvIGJ5dGUtc3RyZWFtL25hbCBjcmFzaGVzIHdpdGhvdXQgdGhhdCBiZWNhdXNlIHRoZQoJICBiYXNlcGFyc2UgZnJhbWUgb2YgYWxsIE5BTFVzIGlzIGZpbmlzaGVkIGZvciB0aGUgZmlyc3QgTkFMVSwgdGhlbgoJICB1c2VkIGFnYWluIGZvciBwYXJzaW5nIHRoZSBzZWNvbmQgTkFMVS4gSnVzdCB0aGF0IG5vdyB0aGUgYnVmZmVyCgkgIG9mIHRoZSBmcmFtZSBpcyBhbHJlYWR5IGdvbmUuIEluc3RlYWQgd2UgY3JlYXRlIHRlbXBvcmFyeSBmcmFtZXMKCSAgZm9yIGV2ZXJ5IE5BTFUuCgoyMDEzLTEwLTMxIDE3OjE2OjE0ICswMTAwICBBbnRvbmlvIE9zcGl0ZSA8b3NwaXRlQHN0dWRlbnRpLnVuaW5hLml0PgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogZml4IHNldHRpbmcgY29kZWNfZGF0YSB3aGVuIHVzaW5nIFdhdmVGb3JtYXRFeAoJICBXaGVuIHVzaW5nIFdhdmVGb3JtYXRFeCB0aGUgYWN0dWFsIGNvZGVjIHByaXZhdGUgZGF0YSBpcyBhdCB0aGUgZW5kIG9mCgkgIHRoZSB3YXYgaGVhZGVyIHN0cnVjdHVyZSwgYWZ0ZXIgdGhlIGNiU2l6ZSBmaWVsZCwgc2VlIGZvciBleGFtcGxlIHRoZQoJICBub3RlcyBhdCBodHRwOi8vd2lraS5tdWx0aW1lZGlhLmN4L2luZGV4LnBocD90aXRsZT1XQVZFRk9STUFURVgKCSAgVGhlIHByZXZpb3VzIGNvZGUgd2FzIGVycm9uZW91c2x5IHBhc3NpbmcgdGhlIHdob2xlIFdBVkVGT1JNQVRFWAoJICBzdHJ1Y3R1cmUgYXMgY29kZWNfZGF0YS4KCSAgVGhlIHNtb290aHN0cmVhbWluZyBzcGVjaWZpY2F0aW9uc1sxLDIsM10gYWx3YXlzIG1lbnRpb24gV0FWRUZPUk1BVEVYCgkgIGFuZCBuZXZlciBzbWFsbGVyIHN0cnVjdHVyZXMgbGlrZSBXQVZFRk9STUFUIG9yIFBDTVdBVkVGT1JNQVQsIHNvIHRoZQoJICBidWZmZXIgY2FuIGFzc3VtZWQgdG8gYmUgYXQgbGVhc3QgMTggYnl0ZXMgYW5kIGFsd2F5cyBjb25zdW1pbmcgdGhlIHdhdgoJICBoZWFkZXIgZ2l2ZXMgdGhlIChwb3NzaWJseSBlbXB0eSkgY29kZWMgcHJpdmF0ZSBkYXRhLgoJICBbMV0gaHR0cDovL3dlYi5hcmNoaXZlLm9yZy93ZWIvMjAxMjA5MDcwMDQ3NDIvaHR0cDovL3d3dy5paXMubmV0L2NvbW11bml0eS9maWxlcy9tZWRpYS9zbW9vdGhzcGVjcy8lNUJNUy1TTVRIJTVELnBkZgoJICBbMl0gaHR0cDovL2Rvd25sb2FkLm1pY3Jvc29mdC5jb20vZG93bmxvYWQvQi8wL0IvQjBCMTk5REItNDFFNi00MDBGLTkwQ0QtQzM1MEQwQzE0QTUzLyU1Qk1TLVNTVFIlNUQucGRmCgkgIFszXSBodHRwOi8vZG93bmxvYWQubWljcm9zb2Z0LmNvbS9kb3dubG9hZC85LzUvRS85NUVGNjZBRi05MDI2LTRCQjAtQTQxRC1BNEY4MTgwMkQ5MkMvJTVCTVMtU1NUUiU1RC5wZGYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTkyNAoKMjAxMy0xMC0zMSAxNTo1ODoyNyArMDEwMCAgQW50b25pbyBPc3BpdGUgPG9zcGl0ZUBzdHVkZW50aS51bmluYS5pdD4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IHVzZSBtc3NkZW11eF9kZWJ1ZyBkZWJ1ZyBjYXRlZ29yeSBmb3IgZ3N0bXNzbWFuaWZlc3QuYyB0b28KCjIwMTMtMTAtMTYgMTY6MjI6MzYgKzAyMDAgIEFudG9uaW8gT3NwaXRlIDxvc3BpdGVAc3R1ZGVudGkudW5pbmEuaXQ+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBmaXggY29kaW5nIHN0eWxlCgoyMDEzLTExLTI1IDE1OjE3OjMzICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5jOgoJICBkdmRzcHU6IERvbid0IHVubWFwIGFuIHVucmVmZmVkIGJ1ZmZlcgoJICBnc3RfZHZkX3NwdV9maW5pc2hfc3B1X2J1ZiBkcm9wcyB0aGUgcmVmZXJlbmNlIHRvIHRoZSBjdXJyZW50CgkgIGJ1ZmZlciwgc28gbWFrZSBzdXJlIHRvIGNhbGwgZ3N0X2J1ZmZlcl91bm1hcCBiZWZvcmUgaXQuCgoyMDEzLTExLTIzIDE5OjExOjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5leHIvZ3N0b3BlbmV4cmRlYy5jcHA6CgkgIG9wZW5leHJkZWM6IENvbnNpZGVyIHRoZSBwaXhlbCBhc3BlY3QgcmF0aW8gc3RvcmVkIGluIHRoZSBmaWxlCgoyMDEzLTExLTIzIDE4OjM3OjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5leHIvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuZXhyL2dzdG9wZW5leHIuYzoKCSogZXh0L29wZW5leHIvZ3N0b3BlbmV4cmRlYy5jcHA6CgkqIGV4dC9vcGVuZXhyL2dzdG9wZW5leHJkZWMuaDoKCSAgb3BlbmV4cjogQWRkIE9wZW5FWFIgZGVjb2RlciBlbGVtZW50CgkgIFRoaXMgY3VycmVudGx5IGNvbnZlcnRzIGZyb20gQVJHQjY0X0YxNiAoMTYgYml0IGZsb2F0IHBlciBjb21wb25lbnQpCgkgIHRvIEFSR0I2NCBieSBjbGlwcGluZy4gV2Ugc2hvdWxkIGFkZCBzdXBwb3J0IGZvciB0aGUgRjE2IGZvcm1hdCBhbmQKCSAgaW1wbGVtZW50IGEgY29udmVyc2lvbiBmaWx0ZXIgZWxlbWVudCB0aGF0IGNhbiBhcHBseSBnYW1tYSBjdXJ2ZXMsCgkgIGNoYW5nZSBleHBvc3VyZSwgZXRjLgoKMjAxMy0xMS0yMyAxMToyOTowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmV4ci9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5leHIvZ3N0b3BlbmV4ci5jOgoJKiBleHQvb3BlbmV4ci9nc3RvcGVuZXhyLmg6CgkqIGV4dC9vcGVuZXhyL2dzdG9wZW5leHJkZWMuY3BwOgoJKiBleHQvb3BlbmV4ci9nc3RvcGVuZXhyZGVjLmg6CgkgIG9wZW5leHI6IEFkZCBPcGVuRVhSIHBsdWdpbgoJICBTZWUgaHR0cDovL3d3dy5vcGVuZXhyLmNvbQoKMjAxMy0xMS0yMyAxMTozNTozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSAgb3BlbmpwZWc6IEZpeCBuYW1lcyBvZiBkZWJ1ZyBjYXRlZ29yaWVzCgoyMDEzLTExLTIzIDE0OjM1OjA2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuYzoKCSAgZHZkc3B1OiBwb3AgbmV3IHBhY2tldCB3aGVuIGludmFsaWQgbmV4dCBjb21tYW5kIGJsb2NrCgkgIC4uLiB0byBwcmV2ZW50IHN0YXlpbmcgc3R1Y2sgb24gY3VycmVudCBjb21tYW5kIGJsb2NrIGFuZCBidXN5IGxvb3BpbmcuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTIyMTkKCjIwMTMtMTEtMjMgMTE6MjM6MzUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogYWNjZXB0IFZpZGVvT2JqZWN0TGF5ZXIgYXMgc3RhcnQgb2YgZnJhbWUgYW5kIGNvbmZpZwoJICAuLi4gd2hpY2ggaXQgZGVzZXJ2ZXMgYXMgbXVjaCBhcyBWaWRlb09iamVjdC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzU2NAoKMjAxMy0xMS0yMSAxNTo1NDozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJKiBzeXMvcXR3cmFwcGVyL2ltYWdlZGVzY3JpcHRpb24uYzoKCSogc3lzL3F0d3JhcHBlci92aWRlb2RlY29kZXJzLmM6CgkgIHF0d3JhcHBlcjogZ19tZW1tb3ZlKCkgaXMgZGVwcmVjYXRlZAoJICBKdXN0IHVzZSBwbGFpbiBtZW1tb3ZlKCksIGdfbWVtbW92ZSgpIGlzIGRlcHJlY2F0ZWQgaW4KCSAgcmVjZW50IEdMaWIgdmVyc2lvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI4MTEKCjIwMTMtMTEtMjAgMTI6NDY6MjMgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBIYW5kbGUgdm9ic3ViIHBhY2tldHMgc21hbGxlciB0aGFuIDQgYnl0ZXMKCSAgSW4gcGFydGljdWxhciwgaGFuZGxlIHRoZSBjYXNlIG9mIGFuIGVtcHR5IHBhY2tldCB3aXRoIHNpemUgMCBieXRlcy4KCSAgUGFydGlhbGx5IGZpeGVzOiAjNzEyNjQzCgoyMDEzLTExLTE5IDIwOjE4OjQ4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwZW5jOiBTZXQgdGhlIGZpcnN0IHNlc3Npb24gZmxhZyB0byBmYWxzZSBvbmNlIG9uZSBpcyBjcmVhdGUKCSAgT3RoZXJ3aXNlIGl0IGFsd2F5cyB0aGlua3MgaXQncyB0aGUgZmlyc3Qgc2Vzc2lvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTQ5NQoKMjAxMy0xMS0xOSAyMDoxMjo1NCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5oOgoJICBzcnRwZGVjOiBNYWtlIHN1cmUgdGhhdCBzdHJlYW0taWQvY2Fwcy9zZWdtZW50IGFyZSBzZW50IGJlZm9yZSBidWZmZXJzCgkgIEl0IG1heSBiZSBwb3NzaWJsZSB0aGF0IG9ubHkgb25lIG9mIHRoZSB0d28gc2luayBwYWRzIGlzIGxpbmtlZCBpbiB0aGF0IGNhc2UsCgkgIHRoZSBldmVudHMgbmVlZCB0byBiZSBjcmVhdGVkIGZyb20gdGhlIG90aGVyIHBhZC4KCjIwMTMtMTEtMTkgMTk6MTA6MDYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IFBhc3MgaXNfcnRjcCB0byBzZXRjYXBzIGZ1bmN0aW9uCgoyMDEzLTA0LTA0IDE3OjU5OjAxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwOiBJbXBsZW1lbnQgU1JUQ1AgZGVtdWx0aXBsZXhpbmcKCSAgU2VwYXJhdGUgbXVsdGlwbGV4ZWQgUlRQIGFuZCBSVENQIGlmIHRoZXkgYXJyaXZlCgkgIG9uIHRoZSBydHBfc2luayBwYWQuCgoyMDEzLTExLTE5IDAwOjM4OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZGVjLmM6CgkqIGV4dC9kYWFsYS9nc3RkYWFsYWVuYy5jOgoJICBkYWFsYTogRml4IGNvbXBpbGF0aW9uCgoyMDEzLTExLTEzIDIyOjI1OjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAcGFydG5lci5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGRvIG5vdCB0cnkgdG8gZGVpbml0IHRoZSBkb3dubG9hZHJhdGUgd2hpbGUgaXQgaXMgdXNlZAoJICBUaGlzIGNhbiBjYXVzZSBhbiBhc3NlcnRpb24gb3IgZGVhZGxvY2tzLgoKMjAxMy0xMS0xMSAxNjozNTozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBhbHNvIGNvbnNpZGVyIC9tYW5pZmVzdAoJICBUaGUgc3BlYyBzYXlzIC9NYW5pZmVzdCwgYnV0IC9tYW5pZmVzdCBpcyBlYXNpbHkgZm91bmQgb24gc29tZQoJICBzZXJ2aWNlcywgc28gaGFuZGxlIHRoYXQsIHRvby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDIyMwoKMjAxMy0xMS0xNCAwOTowMjozNSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBGaXggY29tcGlsYXRpb24gd2hlbiBkZWJ1ZyBpcyBkaXNhYmxlZAoKMjAxMy0xMS0xMyAxODo1OTo0OCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkgIGNvZGVjcGFyc2VyczogQWRkIC1sbSBuZWVkZWQgYnkgSC4yNjUgcGFyc2VyCgoyMDEzLTExLTEzIDE3OjE2OjA0IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHBuZ3BhcnNlLmM6CgkgIHBuZ3BhcnNlOiBQcm94eSB1cHN0cmVhbSBmcmFtZXJhdGUgb24gc3JjcGFkIGlmIGF2YWxhaWJsZQoJICBJZiB0aGUgdXNlciBzZXRzIGl0IGhpbXNlbGYgd2l0aCBjYXBzZmlsdGVyLCB0aGUgaW5mb3JtYXRpb24gc2hvdWxkIGJlCgkgIGtlcHQgYW5kIHRyYW5zbWl0dGVkIGRvd25zdHJlYW0uCgoyMDEzLTExLTEyIDE4OjM2OjA0IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmg6CgkgIG1wZWd0c211eDogUHJvcGVybHkgYWRkIHN1YnRpdGxlIGRlc2NyaXB0b3IgZm9yIERWYiBzdWJwaWN0dXJlIHN1YnRpdGxlcwoJICBXZSB3ZXJlIGFkZGluZyBhbiBlbXB0eSBkZXNjcmlwdG9yIGZvciB0aGVtIGFuZCBpdCB3YXMgbm90IHBvc3NpYmxlIHRvCgkgIGFjdHVhbGx5IHVzZSB0aGVtIG9uIG11eGVkIHN0cmVhbXMuCgoyMDEzLTExLTEzIDE0OjI4OjMwICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IGZpeCBub24tZWdsIGRpc3BsYXkgY29udGV4dCBxdWVyeQoKMjAxMy0xMS0xMSAxNjoxNTowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogbG9vayBiZXlvbmQgc3RhcnQgY29kZSBiZWZvcmUgbGVhcGluZwoJICBJbiBjYXNlIG1vcmUgZGF0YSB0aGFuIGEgc3RhcnQgY29kZSBhbG9uZSBpcyBuZWVkZWQgdG8gZGVjaWRlIHdoZXRoZXIKCSAgaXQgZW5kcyBhIGZyYW1lLCBhcnJhbmdlIGZvciBtb3JlIGlucHV0IGRhdGEgYW5kIGRlY2lkZSB3aGVuIGF2YWlsYWJsZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTYyNwoKMjAxMy0xMS0xMSAxMzoyNDowOCArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBkZWNsYXJlIG1pc3NpbmcgaW5zdGFuY2UgdmFyaWFibGVzCgkgIEZpeGVzIGJ1aWxkIG9uIDMyLWJpdCBzeXN0ZW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE4NDQKCjIwMTMtMTEtMTAgMTI6MTc6MTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IHR3ZWFrIGV4dGVuc2lvbiBoYW5kbGluZwoKMjAxMy0xMS0xMCAxMjoxNTozMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBnZWdkZW11eDogZG8gbm90IHVzZSBwdXNoZWQgYnVmZmVyIGluIGRlYnVnIG1lc3NhZ2UKCjIwMTMtMTEtMDkgMTM6MzI6MjEgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBjaGVjayBmb3Igc2FtZSBUU04gb25seSBmb3IgaW50ZXJsYWNlZCBzdHJlYW1zIChmaXhlcyB1bml0IHRlc3QpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE3MjEKCjIwMTMtMTEtMDkgMTI6MTg6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgYXVkaW9taXhlcjogQWRkIHRlc3QgZm9yIHRoZSBPUkMgY29kZQoKMjAxMy0xMS0wOSAwOTo0Mzo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgUmV2ZXJ0ICJtcGVndnBhcnNlOiBGaXggbGFzdCBzdGFydCBjb2RlIHBvc2l0aW9uIHdoZW4gaW5wdXQgYnVmZmVyIGlzIGVtcHR5IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDdjMjNhNmYyM2MxODUzMzBkNzRhZTRjY2NlNzljMzY0MWEyZmFiYWMuCgkgIFRoZSBmaXggd2FzIG5vdCBjb21wbGV0ZSwgc2VlIGRpc2N1c3Npb24gaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTYyNwoKMjAxMy0xMS0wOCAyMDoyMzoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmg6CgkgIG1wZWd0czogQWRkIHNvbWUgbW9yZSBlbGVtZW50LXR5cGUgYW5ub3RhdGlvbnMgZm9yIGctaQoKMjAxMy0xMS0wNyAyMTozNzoyOSArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJICBjb3JlbWVkaWFidWZmZXI6IGtlZXAgYW4gZXh0cmEgcmVmIHRvIHRoZSBpbWFnZSBhbmQgZGF0YSBidWZmZXIKCjIwMTMtMTEtMDcgMTA6NTc6MjIgLTA3MDAgIEdyZWcgUnV0eiA8Z3JlZ0Bnc3ItdGVrLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZwYXJzZTogRml4IGxhc3Qgc3RhcnQgY29kZSBwb3NpdGlvbiB3aGVuIGlucHV0IGJ1ZmZlciBpcyBlbXB0eQoJICBXaGVuIHRoZSBpbnB1dCBidWZmZXIgaXMgZW1wdHkgYW5kIHdlIG5lZWQgbW9yZSBkYXRhIHRvIGRldGVybWluZQoJICB3aGV0aGVyIG9yIG5vdCB0byB0ZXJtaW5hdGUgdGhlIHByZXZpb3VzIGZyYW1lLCB0aGUgbGFzdCBzdGFydCBjb2RlCgkgIGxvY2F0aW9uIG5lZWRzIHRvIGJlIHNldCB0byA0IGJ5dGVzIGJlZm9yZSB0aGUgdGhlIGN1cnJlbnQgcG9zaXRpb24KCSAgKHNpemUgb2Ygc3RhcnRfY29kZSBpcyAzMi1iaXRzKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNjI3CgoyMDEzLTExLTA3IDE0OjM5OjI2ICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogRml4IGJhZCBjb25kaXRpb24gaW4gaDI2NCBwYXJzZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTYxNQoKMjAxMy0xMS0wNyAxMjoyOTo0OCArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJICBhcHBsZW1lZGlhOiBjb3JlbWVkaWFidWZmZXI6IHVzZSBjb3JyZWN0IHJldGFpbi9yZWxlYXNlIGZ1bmN0aW9ucyBvbiBDTVNhbXBsZUJ1ZmZlclJlZiBidWZmZXIKCSAgRml4ZXMgYSBjcmFzaCB3aGlsZSByZWxlYXNpbmcgdGhlIHNhbXBsZSBidWZmZXIgYWZ0ZXIgdGhlIGltYWdlCgkgIGJ1ZmZlciBpdCBjb250YWlucy4KCSAgQWxzbyBmaXhlcyBhIG1pbm9yIGNvZGluZyBzdHlsZSBlcnJvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTYwNgoKMjAxMy0xMS0wNyAxNDoyNjoyMiArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBxdGtpdHZpZGVvc3JjOiBsb3dlciByYW5rIHRvIEdTVF9SQU5LX1NFQ09OREFSWQoJICBNYWtlcyBhdmZ2aWRlb3NyYyBiZSBwcmVmZXJlZCBvdmVyIHF0a2l0dmlkZW9zcmMgc2luY2UgaXQgaXMgZGVwcmVjYXRlZAoJICB3aXRoIE9TIFggMTAuOS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTYxNAoKMjAxMy0xMS0wNyAxMzozMzozNiArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBhdmZ2aWRlb3NyYzogc2V0IHJhbmsgdG8gR1NUX1JBTktfUFJJTUFSWQoJICBNYWtlcyBhdmZ2aWRlb3NyYyB0byBiZSB1c2VkIHdpdGggYXV0b2RldGVjdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTYxNAoKMjAxMy0xMS0wNyAxMjo0Nzo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc3NpbmsuYzoKCSAgaGxzc2luazogZG8gbm90IGxvc2UgcmVmIHRvIHRoZSBtdWx0aWZpbGVzaW5rCgkgIEl0IGlzIG5lZWRlZCB0byB1cGRhdGUgbG9jYXRpb24gcHJvcGVydGllcyBhbmQgaXQgd2FzIGJlaW5nIGxvc3Qgb24KCSAgc3RhdGUgY2hhbmdlcywgY2F1c2luZyBpc3N1ZXMgaWYgdGhlIHBpcGVsaW5lIHdhcyB0byBiZSByZXVzZWQKCjIwMTMtMTEtMDcgMTI6MzU6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNzaW5rLmM6CgkgIGhsc3Npbms6IG1ha2Ugc3VyZSBpdCBpcyBoYW5kbGVkIGFzIGEgc2luawoJICBJdCBvbmx5IGdldHMgdGhlIHNpbmsgZmxhZyBzZXQgd2hlbiBpdCBhZGRzIHRoZSBtdWx0aWZpbGVzaW5rLCB0aGF0CgkgIGhhcHBlbnMgaW4gbnVsbC0+cmVhZHkgYW5kIGl0IG1pZ2h0IGJlIHRvbyBsYXRlLiBTZXQgdGhlIGZsYWcKCSAgZXhwbGljaXRseSBvbiB0aGUgY29uc3RydWN0b3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEwODYKCjIwMTMtMTEtMDcgMTM6MDU6MDggKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJICBhdmZ2aWRlb3NyYzogZml4IGNvbXBpbGVyIHdhcm5pbmcgaW4gaU9TCgoyMDEzLTExLTA3IDEyOjI5OjM0ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGZpeCBidWlsZCBpbiBpT1Mgd2l0aCBpc0VxdWFsVG8gZG9lc24ndCBleGlzdHMKCjIwMTMtMTEtMDcgMTI6MjA6MzEgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogZml4IGJ1aWxkIHdpdGggb2xkZXIgU0RLIG5vdCBzdXBwb3J0aW5nIEFWRGV2aWNlRm9ybWF0CgkgIEFWRGV2aWNlRm9ybWF0IGFuZCBBVkZyYW1lUmF0ZVJhbmdlIGFyZSBhdmFpbGFibGUgaW4gaU9TIHNpbmNlIDcuMAoJICBzbyB3ZSBuZWVkIGEgbW9yZSBkeW5hbWljIGFwcHJvYWNoIHRvIHN1cHBvcnQgY29tcGlsYXRpb24gd2l0aCBvbGRlcgoJICBTREsncy4gV2UgdXNlIGEgTlNPYmplY3QgdG8gYXZvaWQgcmVmZXJlbmNpbmcgdGhvc2UgdHlwZXMgYW5kIGtleS12YWx1ZQoJICBjb2Rpbmcgb3IgcHJlZm9ybVNlbGVjdG9yIHRvIGFjY2VzcyBwcm9wZXJ0aWVzLgoKMjAxMy0xMS0wNyAwMTozODoyMCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBmaXggY2hlY2tzIGZvciBIQVZFX0lPUwoKMjAxMy0xMS0wNyAwMTozNzozOCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBpbmNsdWRlIGNvbmZpZy5oCgoyMDEzLTExLTA2IDE4OjUzOjI1ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGFkZCBtb3JlIGRlYnVnCgoyMDEzLTExLTA2IDE4OjUwOjQ2ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGZpeCBjb21waWxhdGlvbiB3aXRoIGdjYwoJICBUaGUgc3ludGhlc2l6ZSBibG9jayBuZWVkcyB0byBiZSBtb3ZlZCB0byBmaXggYSBjb21waWxlciBlcnJvcgoKMjAxMy0xMS0wNiAxODo0OTozNSArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBzb3J0IGNhcHMgd2l0aCB0aGUgaGlnaGVzdCByZXNvbHV0aW9uIGZpcnN0CgkgIFdoZW4gc3RhcnRlZCB3aXRob3V0IGFueSBjYXBzIGZpbHRlciB3ZSBwcmVmZXIgdGhlIGhpZ2hlc3QKCSAgc3VwcG9ydGVkIHJlc29sdXRpb24uCgoyMDEzLTExLTA0IDExOjE0OjM1ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IHN1cHBvcnQgc2NyZWVuIGNhcHR1cmUgb24gT1NYCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE0MzIKCjIwMTMtMTAtMzEgMTM6MDU6NDAgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogbWlub3IgY29zbWV0aWMKCjIwMTMtMTAtMzEgMTM6MDM6NTggKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogdXNlIGlucHV0IGRldmljZSBmb3JtYXRzIHRvIHNldC9nZXQgY2FwcyBpZiBhdmFpbGFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTIxMQoKMjAxMy0xMC0yOSAxNTozNzoxNiArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiB1cGRhdGUgY2FwcyBpZiBmcmFtZSBzaXplIGhhcyBjaGFuZ2VkCgkgIE9uIE9TWCwgc2V0dGluZyB0aGUgcGl4ZWwgZm9ybWF0IG9uIHRoZSBvdXRwdXQgcmVzZXQgdGhlIGNhcHR1cmUgZGV2aWNlCgkgIHRvIGl0cyBuYXRpdmUgcmVzb2x1dGlvbiwgc28gd2UgbmVlZCB0byB1cGRhdGUgdGhlIGNhcHMgaWYgdGhlIG91dHB1dAoJICBmcmFtZSBzaXplIGhhcyBjaGFuZ2VkIGJlZm9yZSBhIHByb3BlciBzb2x1dGlvbiBpcyBmb3VuZC4KCjIwMTMtMTAtMjkgMTU6MzY6MDYgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogY2hlY2sgaWYgbG93IHByZXNldCBpcyBhdmFpbGFibGUKCjIwMTMtMTAtMjggMTg6MjI6MTMgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogdXNlIGEgZGVkaWNhdGVkIHF1ZXVlIGZvciBBVkZvdW5kYXRpb24gY2FsbHMKCSAgUmVwbGFjZSB0aGUgbWFpbiBxdWV1ZSB3aXRoIGEgZGVkaWNhdGVkIHF1ZXVlIGZvciBBVkZvdW5kYXRpb24gY2FsbHMKCSAgc28gdGhlIGV4ZWN1dGlvbiBvbiB0aGlzIHF1ZXVlIHdvbid0IGJsb2NrIGlmIHRoZSBtYWluIHF1ZXVlCgkgIGlzIG5vdCBydW5uaW5nLgoKMjAxMy0xMC0yOSAxNzozMzoxMSArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiByZW1vdmUgdHJhaWxpbmcgc3BhY2UKCjIwMTMtMTAtMzAgMTQ6NTE6NTAgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogZGlzcGF0Y2ggQVZGb3VuZGF0aW9uIGNhbGxzIHN5bmNocm9ub3VzbHkgaW4gdGhlIG1haW4gcXVldWUKCjIwMTMtMTAtMzAgMTI6NDA6MDEgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGFwcGxlbWVkaWE6IGVuYWJsZSBhdmZ2aWRlb3NyYyBpZiBBVkZvdW5kYXRpb24gaXMgcHJlc2VudAoKMjAxMy0xMC0zMCAxMjozOToyNCArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBvbmx5IGVuYWJsZSAxOTIweDEwODAgcHJlc2V0IG9uIGlPUwoKMjAxMy0xMC0yOCAxMToyMDoyNyArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBkZXRlY3QgcHJlc2VuY2Ugb2YgQVZGb3VuZGF0aW9uCgoyMDEzLTEwLTI4IDExOjUzOjI2ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGFwcGxlbWVkaWE6IHBvcnQgYXZmdmlkZW9zcmMgdG8gMS4wCgoyMDEzLTExLTA3IDE0OjEyOjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBBZGQgdW5pdCB0ZXN0IGZvciBoYW5kbGluZyB1bmFsaWduZWQgYnVmZmVycwoJICBUaGF0IGlzLCBidWZmZXJzIHRoYXQgc3RhcnQgb3IgZW5kIGluIHRoZSBtaWRkbGUgb2YgYW4gb3V0cHV0IGJsb2NrLgoKMjAxMy0xMS0wNyAxNDoxMjowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogRml4IEVPUyBoYW5kbGluZyBpZiB3ZSBoYXZlIHNvbWUgcGVuZGluZyBkYXRhCgoyMDEzLTExLTA3IDEzOjU3OjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBBZGQgdGVzdCBmb3IgdGhlIGRpc2NvbnQgaGFuZGxpbmcKCjIwMTMtMTEtMDcgMTM6NTU6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IFJlZmFjdG9yIHN5bmMgdGVzdCB0byBiZSBtb3JlIHJldXNhYmxlCgoyMDEzLTExLTA3IDEzOjQ4OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBSZW1vdmUgc29tZSByYWN5LW5lc3MgZnJvbSB0aGUgdW5pdCB0ZXN0CgkgIFdlIG1pZ2h0IGFscmVhZHkgYmUgRU9TIHdoZW4gd2Ugc3RhcnQgdGhlIG1haW5sb29wLCBzbyBvbmx5CgkgIHNldCB0aGUgcGlwZWxpbmUgdG8gUExBWUlORyBmcm9tIHRoZSBtYWluIGxvb3AuCgoyMDEzLTExLTA3IDA5OjU0OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IFJlbW92ZSBzb21lIHVudXNlZCBmdW5jdGlvbnMKCjIwMTMtMTEtMDYgMjI6MTM6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IE1ha2Ugc3VyZSB2aWRlby1kb25lIGlzIHBvc3Qgb25seSB3aGVuIGZpbGUgaXMgY2xvc2VkCgkgIEZvcmNlIGZpbGVzaW5rIHRvIG51bGwgYmVmb3JlIHBvc3RpbmcgdmlkZW8tZG9uZSB0byBtYWtlIHN1cmUgdGhlCgkgIGZpbGUgd2FzIGNsb3NlZC4KCSAgSGFkIHRvIGRvIGl0IGZyb20gYSBzZXBhcmF0ZSB0aHJlYWQgdG8gYXZvaWQgY2FsbGluZyBzdGF0ZV9jaGFuZ2UgZnJvbQoJICBhIHN5bmMgbWVzc2FnZSBoYW5kbGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MzczCgoyMDEzLTExLTA2IDIzOjExOjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogd2luMzIvY29tbW9uL2xpYmdzdGNvZGVjcGFyc2Vycy5kZWY6CgkgIHdpbjMyOiBhZGQgbmV3IGNvZGVjcGFyc2VyIEFQSSB0byAuZGVmIGZpbGUKCjIwMTMtMTAtMDkgMTA6NTQ6MTQgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvcGx1Z2luLmM6CgkgIHZpZGVvcGFyc2VyczogYWRkIEguMjY1IEhFVkMgdmlkZW8gcGFyc2VyIGVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODQzOAoKMjAxMy0xMC0wMSAxMzozOTo0MSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGFkZCBILjI2NSBIRVZDIGJpdHN0cmVhbSBwYXJzZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODQzOAoKMjAxMy0xMS0wNSAxMjo0Mzo0NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IGZpeCBzZWVraW5nIGluIHB1c2ggbW9kZQoKMjAxMy0xMS0wNiAxNTo1MDowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogRG9uJ3QgdGFrZSBjaGFubmVsIG1hc2sgaW4gY29uc2lkZXJhdGlvbiBpbiBtb25vIG9yIHN0ZXJlbwoJICBUaGlzIGNvdWxkIGNhdXNlIG5lZ290aWF0aW9uIHRvIGZhaWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg2MzMKCjIwMTMtMTEtMDYgMTU6MzE6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBhdWRpb21peGVyOiBBZGQgdGVzdCB0byB0aGUgLmdpdGlnbm9yZSBmaWxlCgoyMDEzLTExLTA2IDE1OjE4OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBBZGQgc2ltcGx5IHN5bmNocm9uaXphdGlvbiB0ZXN0CgoyMDEzLTExLTA2IDE1OjE4OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYXVkaW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmg6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXJvcmMtZGlzdC5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyb3JjLWRpc3QuaDoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlcm9yYy5vcmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IEFkZCBuZXcgZWxlbWVudCBiYXNlZCBvbiBhZGRlciB0aGF0IGRvZXMgc3luY2hyb25pemVkIGF1ZGlvIG1peGluZwoKMjAxMy0xMS0wNSAxMToxOTozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gODY1YWEyMCB0byBkYmVkYWEwCgoyMDEzLTExLTA0IDE5OjU4OjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzoKCSAgZWdsZ2xlc3Npbms6IFF1ZXJ5IHVwc3RyZWFtIGZpcnN0IHRvIGdldCBhIEVHTERpc3BsYXkKCjIwMTMtMTEtMDQgMTA6MDQ6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvTWFrZWZpbGUuYW06CgkgIGFwcGxlbWVkaWEtbm9ucHVibGljOiBMaW5rIHdpdGggZ21vZHVsZSBmb3IgZ19tb2R1bGVfb3BlbigpIGFuZCBvdGhlcnMKCjIwMTMtMTEtMDQgMTA6MDQ6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSAgYXBwbGVtZWRpYTogTGluayB3aXRoIGdtb2R1bGUgZm9yIGdfbW9kdWxlX29wZW4oKSBhbmQgb3RoZXJzCgoyMDEzLTExLTAxIDIyOjMyOjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEFsd2F5cyBkZWZpbmUgQU1fQ09ORElUSU9OQUwgVVNFX0VHTEdMRVMKCjIwMTMtMTAtMDQgMTI6NDg6MTAgKzAyMDAgIEwuIFNvcmluIDxzb3JpbkBheGlzLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2N1cmwvTWFrZWZpbGUuYW06CgkqIGV4dC9jdXJsL2dzdGN1cmwuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzZnRwc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsc3Noc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc3Noc2luay5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybHNmdHBzaW5rLmM6CgkgIGN1cmw6IGN1cmxzZnRwc2luayAtIG5ldyBsaWJjdXJsLWJhc2VkIHNpbmsgZWxlbWVudCBmb3IgU0ZUUAoJICBOb3RlOiBTRlRQID0gU1NIIEZpbGUgVHJhbnNmZXIgUHJvdG9jb2wKCSAgVGhlIHNpbmsgYWN0cyBhcyBhIGNsaWVudCBhbmQgdXBsb2FkcyBkYXRhIHRvIHRoZSBTRlRQIHNlcnZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTc5NQoKMjAxMy0xMC0zMSAxMzozNjoyNSAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvY2RhdWRpby9NYWtlZmlsZS5hbToKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBjZGF1ZGlvOiBSZW1vdmUgY2RhdWRpbyBwbHVnaW4KCSAgVGhpcyBlbGVtZW50IGlzIGJlaW5nIHJlbW92ZWQgZHVlIHRvIGl0IGJlZW4KCSAgY29uc2lkZXJlZCBvYnNvbGV0ZSBhbmQgdGhlIGZ1bmN0aW9uYWlseSBpdAoJICBwcm92aWRlcyBubyBsb25nZXIgbmVlZGVkLgoJICBEZXRhaWxzIG9uIHRoZSBkZWNpc2lvbiBjYW4gYmUgZm91bmQgaGVyZToKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTIyMwoJICBGaXhlczoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTIzMgoKMjAxMy0xMS0wMSAxMDo0MToxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC95YWRpZi95YWRpZi5jOgoJICB5YWRpZjogRml4IGNvbXBpbGVyIHdhcm5pbmcgY2F1c2VkIGJ5IHNwZWNpZnlpbmcgY29uc3QgdHdpY2UKCSAgeWFkaWYuYzo0OToyNDogd2FybmluZzogZHVwbGljYXRlICdjb25zdCcgZGVjbGFyYXRpb24gc3BlY2lmaWVyIFstV2R1cGxpY2F0ZS1kZWNsLXNwZWNpZmllcl0KCSAgREVDTEFSRV9BU01fQ09OU1QgKDE2LCBjb25zdCB4bW1fcmVnLCBwYl8xKSA9IHsKCSAgXgoJICB5YWRpZi5jOjMzOjUwOiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdERUNMQVJFX0FTTV9DT05TVCcKCSAgI2RlZmluZSBERUNMQVJFX0FTTV9DT05TVChuLHQsdikgICAgc3RhdGljIGNvbnN0IHQgX19hdHRyaWJ1dGVfXygodXNlZCkpIF9fYXR0cmlidXRlX18gKChhbGlnbmVkIChuKSkpIHYKCSAgXgoJICB5YWRpZi5jOjUyOjI0OiB3YXJuaW5nOiBkdXBsaWNhdGUgJ2NvbnN0JyBkZWNsYXJhdGlvbiBzcGVjaWZpZXIgWy1XZHVwbGljYXRlLWRlY2wtc3BlY2lmaWVyXQoJICBERUNMQVJFX0FTTV9DT05TVCAoMTYsIGNvbnN0IHhtbV9yZWcsIHB3XzEpID0gewoJICBeCgkgIHlhZGlmLmM6MzM6NTA6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ0RFQ0xBUkVfQVNNX0NPTlNUJwoJICAjZGVmaW5lIERFQ0xBUkVfQVNNX0NPTlNUKG4sdCx2KSAgICBzdGF0aWMgY29uc3QgdCBfX2F0dHJpYnV0ZV9fKCh1c2VkKSkgX19hdHRyaWJ1dGVfXyAoKGFsaWduZWQgKG4pKSkKCjIwMTMtMTEtMDEgMTA6NDA6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QveWFkaWYveWFkaWYuYzoKCSAgeWFkaWY6IEZpeCBidWlsZCB3aXRoIFhDb2RlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTA0NTEKCjIwMTMtMTAtMjggMTU6MDQ6MTYgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogUmVtb3ZlIHRoZSBleHBsaWNpdCBQQVIgY2FsY3VsYXRpb24gYmFzZWQgb24gVlVJIGhlYWRlcnMKCSAgVGhlIFBBUiBjYWxjdWxhdGlvbiBiYXNlZCBvbiBWVUkgaGVhZGVycyBpcyBhbHJlYWR5IGRvaW5nIGJ5IHRoZQoJICBoMjY0IGNvZGVjcGFyc2VyIGFuZCB3ZSBkb2VzJ3QgbmVlZCB0byBkdXBsaWNhdGUgdGhvc2UgY29kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03MTEwMDkKCjIwMTMtMTAtMTcgMTI6MDU6NDQgKzAyMDAgIEFudG9uaW8gT3NwaXRlIDxvc3BpdGVAc3R1ZGVudGkudW5pbmEuaXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3Ryb3RhdGUuYzoKCSAgcm90YXRlOiBGaXggYW5nbGUgcHJvcGVydHkgaGVscCB0ZXh0CgkgIFRoZSBoZWxwIHRleHQgb2YgdGhlIGFuZ2xlIHByb3BlcnR5IHdhcyBwcm9iYWJseSBjb3BpZWQgZnJvbSB0aGUgY2lyY2xlCgkgIHBsdWdpbiwgZml4IGl0IHRvIG1lbnRpb24gdGhlIHJvdGF0aW9uIGRldGVybWluZWQgYnkgdGhlIGFuZ2xlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwMzkxCgoyMDEzLTEwLTMwIDE4OjQ4OjA4IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkgIGNkYXVkaW86IHBvcnQgdG8gMS5YCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEyMjMKCjIwMTMtMTAtMzAgMTg6MjU6NTAgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IGZpeCByYW5rIGZvciBtb3JlIHNvZnR3YXJlIGRlY29kZXJzCgkgIEluIEdhbGF4eSBTNCB0aGUgY29kZWNzIGxpc3QgY29udGFpbnMgc29tZSBPTVguU0VDLmZvby5zdy5kZWMKCSAgYXMgc29mdHdhcmUgZGVjb2RlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTIxNAoKMjAxMy0xMC0xNyAxMjo1MzozMSArMDIwMCAgQW50b25pbyBPc3BpdGUgPG9zcGl0ZUBzdHVkZW50aS51bmluYS5pdD4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogRml4IHNldHRpbmcgYmxhY2sgYmFja2dyb3VuZCBmb3IgQVlVViBidWZmZXJzCgkgIFdoZW4gdGhlIGZyYW1lIGJ1ZmZlciBpcyBBWVVWIHdyaXRpbmcgYWxsIHplcm9zIGRvZXMgbm90IHNldCBpdCB0bwoJICBibGFjaywgaW4gWVVWIGNvbG9yc3BhY2UgMHgxMCBpcyB0aGUgYmxhY2sgbGV2ZWwgZm9yIGx1bWluYW5jZSBhbmQgMHg4MAoJICBpcyB0aGUgYmxhY2sgbGV2ZWwgZm9yIGNocm9taW5hbmNlLgoJICBGaXggc2V0dGluZyB0aGUgYmFja2dyb3VuZCB0byBibGFjayB3aGVuIHRoZSBvdXRfZnJhbWUgZm9ybWF0IGlzIEFZVVY7CgkgIGluIGFsbCB0aGUgb3RoZXIgc3VwcG9ydGVkIGZvcm1hdHMgemVyb2luZyB0aGUgZGF0YSB3aXRoIG1lbXNldCBpcyBzdGlsbAoJICB0aGUgcmlnaHQgdGhpbmcgdG8gZG8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTAzOTIKCjIwMTMtMTAtMjMgMjM6MzQ6MjcgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYS1ub25wdWJsaWM6IGZpeCBwbHVnaW4gbmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMTM1CgoyMDEzLTEwLTIzIDE3OjIyOjE2ICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogdXNlIHByb3BlciByZWxlYXNlIGNhbGxiYWNrIHR5cGUgaW4gQ1ZQaXhlbEJ1ZmZlckNyZWF0ZVdpdGhQbGFuYXJCeXRlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMTQwCgoyMDEzLTA5LTIxIDAwOjIwOjM2ICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGZpeCB0cnVuY2F0ZWQgbGluZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwNjU3CgoyMDEzLTEwLTMwIDE2OjIwOjU2ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lYWdsLm06CgkgIGVnbGdsZXNzaW5rOiByZW1vdmUgdW51c2VkIGZ1bmN0aW9ucyBpbiB0aGUgZWFnbCBiYWNrZW5kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTExNTkKCjIwMTMtMTAtMTggMTE6NTQ6MTIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBmaXggYWNjZXNzIHRvIGludmFsaWQgYnVmZmVycyBpbiB0aGUgZGVjb2RpbmcgbG9vcAoJICBGbHVzaGluZyB0aGUgZGVjb2RlciBpbnZhbGlkYXRlcyBhbGwgYnVmZmVycywgc28gaXQgc2hvdWxkIGJlIGRvbmUKCSAgYWZ0ZXIgcXVpdGluZyB0aGUgZGVjb2RpbmcgbG9vcC4gT3RoZXJ3aXNlIHdlIGNhbiBqdW1wIGludG8KCSAgImZhaWxlZF9yZWxlYXNlIiBhbmQgc3RvcCBldmVyeXRoaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTExNTYKCjIwMTMtMTAtMjggMDk6MzM6NDcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBVbmlmeSB2YWx1ZSBzZXR0aW5nCgkgIHRoZSBpbml0aWFsIHBhcl9uID0gcGFyX2QgPSAwOyB3YXMgYWx3YXlzIG92ZXJ3cml0dGVuIHNpbmNlIHRoZSBzd2l0Y2gvY2FzZQoJICBoYW5kbGVzIGFsbCB2YWx1ZXMKCSAgQW5kIHJlbW92ZSB0aGUgMCBjYXNlIChpdCdzIHRoZSBzYW1lIGhhbmRsaW5nIGFzIGRlZmF1bHQpCgoyMDEzLTEwLTI4IDA5OjMzOjE2ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogQXZvaWQgZW5kaW5nIHVwIHdpdGggdW5kZWZpbmVkIHZhbHVlcwoJICBJZiBjYXBzIGFyZW4ndCBmaXhlZCwgd2UnZCBlbmQgdXAgd2l0aCB1bmRlZmluZWQgdmFsdWVzIGZvciBmb3JtYXQKCSAgYW5kIGFsaWduLgoKMjAxMy0xMC0xMSAxMToyMzoxNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBEZW1vdGUgR1NUX0VSUk9SIHRvIEdTVF9XQVJOSU5HCgkgIGRpc2NvbnRpbnVpdGllcyBhcmUgbm90IGVycm9ycyBwZXItc2UgYW5kIHdlIGhhbmRsZSB0aGVtIGNvcnJlY3RseS4KCjIwMTMtMTAtMjUgMTE6MTE6MzAgKzAxMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGZpeCBtZW1vcnkgbGVhayBpbiBnc3RfaGxzX2RlbXV4X2dldF9uZXh0X2ZyYWdtZW50CgkgIFRoaXMgcGF0Y2ggZml4ZXMgdGhyZWUgbWVtb3J5IGxlYWtzIGluIGhsc2RlbXV4LCBvbmUgdGhhdCBvY2N1cnMKCSAgZHVyaW5nIG5vcm1hbCBvcGVyYXRpb24gYW5kIHR3byB0aGF0IG9jY3VyIGR1cmluZyBlcnJvciBjb25kaXRpb25zLgoJICBUaGUgZ3N0X2hsc19kZW11eF9nZXRfbmV4dF9mcmFnbWVudCBmdW5jdGlvbiBjYWxscwoJICBnc3RfZnJhZ21lbnRfZ2V0X2J1ZmZlciB3aGljaCBpbmNyZW1lbnRzIHRoZSByZWZlcmVuY2UgY291bnQKCSAgb24gdGhlIGJ1ZmZlciBidXQgZ3N0X2hsc19kZW11eF9nZXRfbmV4dF9mcmFnbWVudCBuZXZlciBjYWxscyB1bnJlZiBvbgoJICB0aGUgYnVmZmVyLiBUaGlzIG1lYW5zIHRoYXQgdGhlIHJlZmVyZW5jZSBjb3VudCBmb3IgZWFjaCBkb3dubG9hZGVkCgkgIGZyYWdtZW50IG5ldmVyIGdldHMgdG8gemVybyBhbmQgc28gaXRzIG1lbW9yeSBpcyBuZXZlciByZWxlYXNlZC4KCSAgVGhpcyBwYXRjaCBhZGRzIGEgY2FsbCB0byBnc3RfYnVmZmVyX3VucmVmIGFmdGVyIHRoZSBmbGFncyBoYXZlIGJlZW4KCSAgdXBkYXRlZCBvbiB0aGUgYnVmZmVyLgoJICBUaGVyZSBpcyBhIGxlYWstb24tZXJyb3IgaW4gZ3N0X2hsc19kZW11eF9kZWNyeXB0X2ZyYWdtZW50IGlmIGl0IGZhaWxzCgkgIHRvIGRvd25sb2FkIHRoZSBrZXkgZmlsZS4gSWYgdGhlIGtleSBmYWlscyB0byBkb3dubG9hZCwgbnVsbCBpcwoJICByZXR1cm5lZCB3aXRob3V0IGRvaW5nIGFuIHVucmVmIG9uIHRoZSBlbmNyeXB0ZWQgZnJhZ21lbnQuIFRoZQoJICBzZW1hbnRpY3Mgb2YgZ3N0X2hsc19kZW11eF9kZWNyeXB0X2ZyYWdtZW50IGlzIHRoYXQgaXQgdGFrZXMgb3duZXJzaGlwCgkgIG9mIHRoZSBlbmNyeXB0ZWQgZnJhZ21lbnQgYW5kIHJlbGVhc2VzIGl0IGJlZm9yZSByZXR1cm5pbmcuCgkgIFRoZXJlIGlzIGEgbGVhay1vbi1lcnJvciBpbiBnc3RfaGxzX3NyY19idWZfdG9fdXRmOF9wbGF5bGlzdCBpbiB0aGUKCSAgdW5saWtlbHkgZXZlbnQgdGhhdCB0aGUgZ3N0X2J1ZmZlcl9tYXAgZmFpbHMuIEluIHRoZSAiaGFwcHkgcGF0aCIKCSAgb3BlcmF0aW9uIG9mIGdzdF9obHNfc3JjX2J1Zl90b191dGY4X3BsYXlsaXN0IHRoZSBidWZmZXIgZ2V0cyBhbiB1bnJlZgoJICBiZWZvcmUgdGhlIGZ1bmN0aW9uIHJldHVybnMsIHRoZXJlZm9yZSB0aGUgZXJyb3IgY29uZGl0aW9uIG11c3QgZG8gdGhlCgkgIHNhbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTA4ODEKCjIwMTMtMTAtMjMgMTc6MTE6MjAgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X3R0eHQuYzoKCSAgbXBlZ3RzbXV4OiBmaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSB3YXJuaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTA3NTkKCjIwMTMtMTAtMjMgMTY6NTg6NDkgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSB3YXJuaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTA3NTkKCjIwMTMtMTAtMTggMTA6MTI6NTYgKzA4MDAgIENoZW4gSmllIDxjaGVuakBsZW1vdGUuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBtYWtlIGdzdF9hbWNfYXZjX3Byb2ZpbGVfZnJvbV9zdHJpbmcgcmVjb2duaXplIGFsdCBuYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTA0MzMKCjIwMTMtMTAtMTIgMTY6MDQ6MjUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgcGl0Y2g6IEZpeCBpbnZlcnRlZCBjb25kaXRpb24gaW4gc2V0Y2FwcwoKMjAxMy0xMC0xMSAxMDozMjo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBTa2lwIHBhY2tldHMgd2l0aCBjb3JydXB0ZWQgbGVuZ3RoCgkgIFRoaXMgaXMgc2ltaWxhciB0byB3aGF0IHdlIGRvIGZvciBwYWNrZXRzIHdpdGggcGF5bG9hZAoKMjAxMy0xMC0xMSAxMDoyOToyMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBSZWZhY3RvciBsYW5ndWFnZSB0YWcgZXh0cmFjdGlvbgoJICBzdWJ0aXRsaW5nIGRlc2NyaXB0b3IgbmVlZHMgdG8gYmUgdXNlZCB3aXRoIGEgZGlmZmVyZW50IG1ldGhvZCB0byBleHRyYWN0CgkgIGxhbmd1YWdlIGNvZGVzLgoKMjAxMy0xMC0xMSAxMDoyMToyNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IEFkZCBzdXBwb3J0IGZvciBwYXJzaW5nIERWQiBTdWJ0aXRsaW5nIGRlc2NyaXB0b3IgKDB4NTkpCgkgIEVzc2VudGlhbGx5IHdvcmtzIGluIHRoZSBzYW1lIHZlaW4gYXMgdGhlIGlzbzYzOSBkZXNjcmlwdG9yIGNvZGUKCjIwMTMtMTAtMTAgMjI6NDY6NDggKzAyMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBGaXggYXNzZXJ0aW9uIGZhdWx0IGluIElTTyA2MzkgcGFyc2luZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MTgwCgoyMDEzLTEwLTA5IDE3OjE4OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgc3BlZWQ6IEZpeCBzb21lIGJ5dGVzLXBlci1mcmFtZSB2cy4gYnl0ZXMtcGVyLXNhbXBsZSBtaXh1cHMKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgY3Jhc2ggd2hlbiBoYW5kbGluZyBtdWx0aXBsZSBjaGFubmVscyBhbmQKCSAgbWlzY2FsY3VsYXRlIHRpbWVzdGFtcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk3MzQKCjIwMTMtMTAtMDggMTE6MTA6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBNYWtlIHN1cmUgdG8gdHJ5IHdpbmRvdy1zeXN0ZW0tYWdub3N0aWMgRUdMIGlmIG5vdGhpbmcgd2FzIGF1dG8tZGV0ZWN0ZWQKCjIwMTMtMTAtMDggMDc6NTY6MTEgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogbG9nIHRpbWUgZm9ybWF0IGFzIG5hbWUgaW5zdGVhZCBvZiB0aGUgbnVtYmVyCgoyMDEzLTEwLTA2IDE3OjM3OjM4ICswMjAwICBHaWxsZXMgRGFydGlndWVsb25ndWUgPGV2YUBnZW50b28ub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBlZ2w6IEFsbG93IGRpc2FibGluZyBnc3RyZWFtZXItZWdsIGxpYnJhcnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTUzMQoKMjAxMy0xMC0wNSAxNDo0NTozMyArMDIwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFVzZSBtcGVndHMtbGliIGZvciBJU08gNjM5IGxhbmd1YWdlIHRhZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTE4MAoKMjAxMy0xMC0wNSAxNDo0NTozMiArMDIwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFJldHVybiBkZXNjcmlwdG9yIGluIGdldF9kZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkxODAKCjIwMTMtMTAtMDUgMTQ6NDU6MzEgKzAyMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogQWRkIElTTyA2MzkgcGFyc2luZyBmdW5jdGlvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTE4MAoKMjAxMy0xMC0wNSAwMDowMDo1MiArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogaGFuZGxlIHN0aWNreSBkdmQgZXZlbnRzCgkgIHBhbGV0dGUtY2hhbmdlZCBldmVudHMgYXJlIG5vdyBzdGlja3kuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk0NTQKCjIwMTMtMTAtMDMgMDc6NTc6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogU21hbGwgaW1wcm92ZW1lbnQgb24gYWx3YXlzIHZhbGlkIGlmIGNvbmRpdGlvbgoJICBObyBuZWVkIHRvIGNoZWNrIGZvciAhY2FuY2VsbGVkIGFzIHRoZSBhYm92ZSBpZiBndWFyYW50ZWVzIGl0CgkgIHRvIGJlIHRydWUKCjIwMTMtMTAtMDMgMDc6NTY6MjEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG8gbm90IGNhbGwgX3N0b3AgaG9sZGluZyB0aGUgdXBkYXRlcyBsb2NrCgkgIEl0IHdpbGwgY2F1c2UgYSBkZWFkbG9jayBhbmQgdGhlIGNhbGVycyBmb3IgX2dldF9uZXh0X2ZyYWdtZW50CgkgIHdpbGwgYWxyZWFkeSBjYWxsIF9zdG9wIGlmIHJlcXVpcmVkIHdoZW4gX2dldF9uZXh0X2ZyYWdtZW50IGZhaWxzLgoJICBGaXhlcyAjNjkwMTQ4CgoyMDEzLTA2LTEyIDEwOjUwOjUxIC0wNjAwICBHcmVnIFJ1dHogPGdyZWdAZ3NyLXRlay5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBJbXByb3ZlIGlmIGNhdXNlIHJlYWRhYmlsaXR5CgkgIEZpeGVkIHVwIHRoZSBlcnJvci1oYW5kbGluZyBjb2RlIHdoZW4gZG93bmxvYWRpbmcgZnJhZ21lbnRzLgoJICBNb2RpZmVkIHRoZSBlcnJvci1oYW5kbGluZyBjb2RlIHRvIHVzZSBwb3NpdGl2ZSBsb2dpYyB3aGVuCgkgIHRlc3RpbmcgZm9yIGNhbmNlbGxhdGlvbiBvZiB0aGUgZG93bmxvYWQgbG9vcC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTQwNAoKMjAxMy0wOS0yNiAxNzowNToyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBhY3R1YWxseSByZXR1cm4gdHJ1ZSBvbiBsYXRlbmN5IHF1ZXJ5CgkgIERvIG5vdCBmb3JnZXQgdG8gc2V0IHRoZSByZXR1cm4gZm9yIGxhdGVuY3kgcXVlcnkKCjIwMTMtMDktMjYgMTY6MTM6MzMgLTAzMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogc3RvcCBmZXRjaGluZyBsaXZlIGZyYWdtZW50cyB0aGF0IGRvbid0IHlldCBleGlzdAoJICBUaGVyZSBpcyBhbiBpc3N1ZSBmb3IgbGl2ZSBzdHJlYW1zIHdoZXJlIGRvd25sb2FkX2xvb3Agd2lsbCBrZWVwCgkgIGRvd25sb2FkaW5nIHNlZ21lbnRzIHVudGlsIGl0IGdldHMgYSA0MDQgZXJyb3IgZm9yIGEgc2VnbWVudAoJICB0aGF0IGhhcyBub3QgeWV0IGJlZW4gcHVibGlzaGVkLiBUaGlzIGlzIGEgcHJvYmxlbSBiZWNhdXNlIHRoaXMKCSAgcmVxdWVzdCBmb3IgYSBzZWdtZW50IHRoYXQgZG9lc24ndCBleGlzdCB3aWxsIHByb3BhZ2F0ZSBhbGwgdGhlCgkgIHdheSBiYWNrIHRvIHRoZSBvcmlnaW4gc2VydmVyKHMpLiBUaGlzIG1lYW5zIHRoYXQgZGFzaGRlbXV4IGNhdXNlcwoJICBleHRyYSBsb2FkIG9uIHRoZSBvcmlnaW4gc2VydmVyKHMpIGZvciBzZWdtZW50cyB0aGF0IGFyZW4ndCB5ZXQKCSAgYXZhaWxhYmxlLgoJICBUaGlzIHBhdGNoIHVzZXMgYXZhaWxhYmlsaXR5U3RhcnRUaW1lLCBwZXJpb2QKCSAgYW5kIHRoZSBob3N0J3MgaWRlYSBvZiBVVEMgdG8gZGVjaWRlIGlmIGEgZnJhZ21lbnQgaXMgYXZhaWxhYmxlIHRvCgkgIGJlIHJlcXVlc3RlZCBmcm9tIGFuIEhUVFAgc2VydmVyIGFuZCBmaWx0ZXIgb3V0IHJlcXVlc3RzIGZvciBmcmFnbWVudHMKCSAgdGhhdCBhcmUgbm90IHlldCBhdmFpbGFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE0MDQKCjIwMTMtMTAtMDMgMTM6MjY6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogRml4IGNvbnZlcnNpb24gdG8gQVZDIGlmIGEgU1BTL1BQUyBub3QgZnJvbSB0aGUgZmlyc3QgaW5kaXplcyBpcyB1c2VkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc5NzQKCjIwMTMtMTAtMDIgMTA6NTU6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5qcGVnL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWcuaDoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5oOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmg6CgkgIG9wZW5qcGVnOiBQb3J0IE9wZW5KUEVHIHBsdWdpbiB0byB0aGUgMi4wIEFQSQoKMjAxMy0xMC0wMiAwNTo0OTo0MyArMDMwMCAgRG9taW5payBSw7Z0dHNjaGVzIDxkb21pbmlrLnJvdHRzY2hlc0BpbnRlbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogQWRkIHN1cHBvcnQgZm9yIEk0MjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTI0MQoKMjAxMy0xMC0wMiAwNTo0OTozNCArMDMwMCAgRG9taW5payBSw7Z0dHNjaGVzIDxkb21pbmlrLnJvdHRzY2hlc0BpbnRlbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5oOgoJICB2dGVuYzogVXNlIGNvcnJlY3Qgc3RyaWRlcywgZXRjIGZyb20gdGhlIEdzdFZpZGVvRnJhbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjIxMQoKMjAxMy0wOC0yMCAxNzowMzozOCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogc3RvcmUgcXVhbnRpemF0aW9uIG1hdHJpY2VzIGluIHppZy16YWcgb3JkZXIKCSAgUXVhbnRpemVyIG1hdHJpY2VzIGFyZSBlbmNvZGVkIGluIHppZ3phZyBzY2FuIG9yZGVyIGluIHRoZSBiaXRzdHJlYW0sCgkgIHNvIGFsd2F5cyBwYXJzZSBpdCBhcyBpdCBpcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODYyOQoKMjAxMy0xMC0wMiAxMTo0MDowNSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogd2luMzIvY29tbW9uL2xpYmdzdGNvZGVjcGFyc2Vycy5kZWY6CgkgIHdpbjMyOiB1cGRhdGUgd2l0aCB0aGUgbmV3IGZpbGUgbGliZ3N0Y29kZWNwYXJzZXJzLmRlZgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4NjI5CgoyMDEzLTEwLTAyIDExOjI0OjU4ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogYWRkIGhlbHBlcnMgdG8gY29udmVydCBxdWFudGl6YXRpb24gbWF0cmljZXMKCSAgQWRkIHV0aWxpdHkgZnVuY3Rpb25zIHRvIGNvbnZlcnQgcXVhbnRpemF0aW9uIG1hdHJpY2VzIGZyb20gemlnLXphZyBzY2FuCgkgIG9yZGVyIGludG8gcmFzdGVyIHNjYW4gb3JkZXIgYW5kIHZpY2UtdmVyc2EKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODYyOQoKMjAxMy0wOS0zMCAxNTozMjo1NSAtMDYwMCAgQnJlbmRhbiBMb25nIDxiLmxvbmdAY2FibGVsYWJzLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL2dzdHJlYW1lci1tcGVndHMtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItbXBlZ3RzLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLXVuaW5zdGFsbGVkLnBjLmluOgoJICBBZGQgZ3N0cmVhbWVyLW1wZWd0cyBwa2ctY29uZmlnIGZpbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkxNDUKCjIwMTMtMDktMjkgMjM6NDM6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGRpc3Bhcml0eS5jcHA6CgkgIG9wZW5jdjogZG9uJ3QgdW5yZWYgTlVMTCBjYXBzIGluIGZpbmFsaXplCgkgIEZpeGVzIGdzdC1pbnNwZWN0LTEuMCAtYSBhbmQgZ2VuZXJpYyBzdGF0ZXMgdW5pdCB0ZXN0LgoKMjAxMy0wOS0yNiAxMzozNzowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2lvc2Fzc2V0c3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2lvc2Fzc2V0c3JjLm06CgkgIGlvc2Fzc2V0c3JjOiBQb3J0IHRvIDEuMCBhbmQgZml4IHNvbWUgYnVncyBvbiB0aGUgd2F5CgoyMDEzLTA5LTI2IDEzOjIxOjU5ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2lvc2Fzc2V0c3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2lvc2Fzc2V0c3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBpb3Nhc3NldHNyYzogQWRkIG5ldyBlbGVtZW50IGZyb20gdGhlIEdTdHJlYW1lciBTREsgcHJvamVjdAoKMjAxMy0wOS0yMyAxNDozNjo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2VnbGdsZXMvTWFrZWZpbGUuYW06CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5oOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VhZ2wubToKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IFBvcnQgaU9TIHBhcnQgdG8gMS4wCgoyMDEzLTA5LTIzIDEzOjIwOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRml4IGlPUyBjaGVjayBmb3IgZWdsZ2xlc3NpbmsKCjIwMTMtMDktMjMgMTE6MzU6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NvcmVtZWRpYWN0eC5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvcGx1Z2luLm06CgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYTogYXZmdmlkZW9zcmMgaXMgbm90IHBvcnRlZCB0byAxLjAgeWV0CgoyMDEzLTA5LTE4IDE3OjUxOjI2ICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGxpdmVhZGRlcjogcm91bmQgd2hlbiBjYWxjdWxhdGlvbiBsZW5ndGggZnJvbSBkdXJhdGlvbgoJICBsaXZlYWRkZXIgc29tZXRpbWVzIGNhbGN1bGF0ZXMgdGhlIG9mZnNldHMgaW5jb3JyZWN0bHkgYmVmb3JlIGFkZGluZy4gVGhlCgkgIHJlc3VsdGluZyBlcnJvcnMgY2FuIGVhc2lseSBiZSBoZWFyZCB3aGVuIG1peGluZyBzaWxlbmNlIHdpdGggYSBzaW5lLgoJICBJJ20gbm90IHN1cmUgd2hhdCB0aGUgZXhhY3QgY29uZGl0aW9ucyBhcmUgdG8gdHJpZ2dlciB0aGlzLCBidXQgaXQgZGVmaW5pdGl2ZWx5CgkgIGhhcHBlbnMgd2hlbiB0aGUgYnVmZmVycyBvZiB0d28gc3RyZWFtcyBoYXZlIGEgZGlmZmVyZW50IGR1cmF0aW9uIGFuZCBidWZmZXIKCSAgbGVuZ3RoIGFuZCBkdXJhdGlvbiBkb24ndCBtYXRjaCBleGFjdGx5IGZvciBvbmUgc3RyZWFtIGJlY2F1c2Ugb2Ygcm91bmRpbmcKCSAgZXJyb3JzIChlLmcuICBkdXJhdGlvbj0wOjAwOjAwLjAyMTMzMzMzMykKCSAgSSBoYXZlIHRvIGFkbWl0LCBJIGdvdCBsb3N0IGluIHRoZSBtYXRoIHNvbWV3aGVyZSBidXQgaXQgc2VlbXMgdGhhdCBub3QKCSAgcm91bmRpbmcgaW4gZ3N0X2xpdmVfYWRkZXJfbGVuZ3RoX2Zyb21fZHVyYXRpb24oKSBjYXVzZXMgMSBzYW1wbGUgb3ZlcmxhcHMgaW4KCSAgY29uc2VjdXRpdmUgYnVmZmVycyBmcm9tIHRoZSBzYW1lIHN0cmVhbS4KCSAgV2hlbiB1c2luZyBnc3RfdXRpbF91aW50NjRfc2NhbGVfaW50X3JvdW5kKCkgaW5zdGVhZCBvZiBqdXN0IHRydW5jYXRpbmcgdGhlCgkgIHNpbmUgc291bmQgY29ycmVjdGx5IGFnYWluLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4MzQ1CgoyMDEzLTA5LTI1IDE1OjIyOjEyICswMTAwICBKYXZpZXIgSmFyZMOzbiA8amphcmRvbkBnbm9tZS5vcmc+CgoJKiBleHQvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJICBobHNzaW5rOiBVc2UgZmxvYXRzIGZvciB0aGUgRVhUSU5GIGR1cmF0aW9uIHZhbHVlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4ODUxCgoyMDEzLTA5LTI1IDE1OjE4OjM5ICswMTAwICBKYXZpZXIgSmFyZMOzbiA8amphcmRvbkBnbm9tZS5vcmc+CgoJKiBleHQvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJICBobHNzaW5rOiBXcml0ZSBFWFQtWC1WRVJTSU9OIHRhZyBpbiB0aGUgcGxheWxpc3QgZmlsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4ODUxCgoyMDEzLTA5LTE5IDE0OjUzOjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3V2Y2gyNjRkZW11eC5jOgoJICBjaGVjazogVXBkYXRlIHV2Y2gyNjRkZW11eCBmb3IgYmVoYXZpb3VyIGNoYW5nZQoJICBTaW5jZSAwMDZlN2EzNDI4YmQwOTdmYzZlNmM2NDgzMzJiZmY1ODNkZDQzNGY5IHdlIG5vIGxvbmdlciBlcnJvciBvdXQgb24KCSAgaW5jb21wbGV0ZSBhdXggc2VnbWVudC4KCjIwMTMtMDktMjcgMTQ6NDU6MDAgKzAwMDAgIFN0ZXZlIE1heW5hcmQgPHN0ZXZlQHNlY29uZHN0cnlrZS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1zY3RlLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvbXBlZ3RzLmg6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzOiBBZGQgU0NURS9FSVNTIHNlY3Rpb25zIGFuZCB0YWJsZSB0eXBlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4Njg4CgoyMDEzLTA3LTI5IDA4OjEwOjA3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFdhaXQgZm9yIHZhbGlkIFBDUi9vZmZzZXQgb2J2ZXJ2YXRpb25zCgkgIEl0IGlzIHF1aXRlIHBvc3NpYmxlIHRoYXQgd2UgbWlnaHQgZ2V0IFBUUy9EVFMgYmVmb3JlIHRoZSBmaXJzdAoJICBQQ1IvT2Zmc2V0IG9ic2VydmF0aW9uLgoJICBJbiBvcmRlciB0byBlbmQgdXAgd2l0aCB2YWxpZCB0aW1lc3RhbXAgd2Ugd2FpdCB1bnRpbCBhdCBsZWFzdCBvbmUKCSAgc3RyZWFtIHdhcyBhYmxlIHRvIGdldCBhIHByb3BlciBydW5uaW5nLXRpbWUgZm9yIGFueSBQVFMvRFRTLgoJICBVbnRpbCB0aGVuLCB3ZSBxdWV1ZSB1cCB0aGUgcGVuZGluZyBidWZmZXJzIHRvIHB1c2ggb3V0LgoJICBPbmNlIHdlIHNlZSBhIGZpcnN0IHZhbGlkIHRpbWVzdGFtcCwgd2UgcmUtZXZhbHVhdGUgdGhlIGFtb3VudCBvZgoJICBydW5uaW5nLXRpbWUgZWxhcHNlZCAoYmFzZWQgb24gcmV0dXJuZWQgaW5pdGFsIHJ1bm5pbmctdGltZSBhbmQgYW1vdW50CgkgIG9mIGRhdGEvRFRTIHF1ZXVlZCB1cCkgZm9yIGFueSBnaXZlbiBzdHJlYW0uCgkgIFRha2luZyB0aGUgYmlnZ2VzdCBhbW91bnQgb2YgZWxhcHNlZCB0aW1lLCB3ZSBzZXQgdGhhdCBvbiB0aGUgcGFja2V0aXplcgoJICBhcyB0aGUgaW5pdGlhbCBvZmZzZXQgYW5kIHJlY2FsY3VsYXRlIGFsbCBwZW5kaW5nIGJ1ZmZlcnMgcnVubmluZy10aW1lCgkgIFBUUy9EVFMuCgkgIE5vdGU6IFRoZSBidWZmZXIgcXVldWVpbmcgc3lzdGVtIGNhbiBhbHNvIGJlIHVzZWQgbGF0ZXIgb24gZm9yIHRoZQoJICBkdmIgZmFzdCBzdGFydCBwcm9wb3NhbCAod2hlcmUgd2UgcXVldWUgdXAgYWxsIHN0cmVhbSBwYWNrZXRzIGJlZm9yZQoJICBzZWVpbmcgUEFUL1BNVCBhbmQgdGhlbiBwdXNoIHRoZW0gb25jZSB3ZSBrbm93IGlmIHRoZXkgYmVsb25nIHRvIHRoZQoJICBjaG9zZW4gcHJvZ3JhbSkuCgoyMDEzLTA3LTA3IDE1OjA0OjE4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IEFkZCBkZXNjcmlwdG9yIGR1bXBpbmcKCjIwMTMtMDctMjYgMDc6NTQ6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c2RlbXV4OiBOZXcgUENSPD0+T2Zmc2V0IGVzdGltYXRpb24gY29kZQoJICBUaGlzIGFsbG93czoKCSAgKiBCZXR0ZXIgZHVyYXRpb24gZXN0aW1hdGlvbgoJICAqIE1vcmUgYWNjdXJhdGUgUENSIGxvY2F0aW9uCgkgICogT3ZlcmFsbCBtb3JlIGFjY3VyYXRlIHJ1bm5pbmctdGltZSBsb2NhdGlvbiBhbmQgY2FsY3VsYXRpb24KCSAgTG9jYXRpb24gYW5kIHZhbHVlcyBvZiBQQ1IgYXJlIHJlY29yZGVkIGluIGdyb3VwcyAoUENST2Zmc2V0R3JvdXApCgkgIHdpdGggbm90YWJsZSBQQ1IvT2Zmc2V0IG9ic2VydmF0aW9ucyBpbiB0aGVtICh3aGVuIGJpdHJhdGUgY2hhbmdlZAoJICBmb3IgZXhhbXBsZSkuIFBDUiBhbmQgb2Zmc2V0IGFyZSBzdG9yZWQgYXMgMzJiaXQgdmFsdWVzIHRvCgkgIHJlZHVjZSBtZW1vcnkgdXNhZ2UgKHRoZXkgYXJlIGRpZmZlcmVuY2VzIGFnYWluc3QgdGhhdCBncm91cCdzCgkgIGZpcnN0X3twY3J8b2Zmc2V0fS4KCSAgVGhvc2UgZ3JvdXBzIGVhY2ggY29udGFpbiBhIGdsb2JhbCBQQ1Igb2Zmc2V0IChwY3Jfb2Zmc2V0KSB3aGljaAoJICBpbmRpY2F0ZXMgaG93IGZhciBpbiB0aGUgc3RyZWFtIHRoYXQgZ3JvdXAgaXMuCgkgIFdoZW5ldmVyIG5ldyBQQ1IgdmFsdWVzIGFyZSBvYnNlcnZlZCwgd2Ugc3RvcmUgdGhlbSBpbiBhIHNsaWRpbmcKCSAgd2luZG93IGVzdGltYXRvciAoUENST2Zmc2V0R3JvdXBDdXJyZW50KS4KCSAgV2hlbiBhIHJlc2V0L3dyYXBvdmVyL2dhcCBpcyBkZXRlY3RlZCwgd2UgY2xvc2UgdGhlIGN1cnJlbnQgZ3JvdXAgd2l0aAoJICBjdXJyZW50IHZhbHVlcyBhbmQgc3RhcnQgYSBuZXcgb25lICh0aGUgcGNyX29mZnNldCBvZiB0aGF0IG5ldyBncm91cAoJICBpcyBhbHNvIGNhbGN1bGF0ZWQpLgoJICBXaGVuIGEgbm90YWJsZSBjaGFuZ2UgaW4gYml0cmF0ZSBpcyBvYnNlcnZlZCAoKy8tIDEwJSksIHdlIHJlY29yZAoJICBuZXcgdmFsdWVzIGluIHRoZSBjdXJyZW50IGdyb3VwLiBUaGlzIGlzIGEgY29tcHJvbWlzZSBiZXR3ZWVuCgkgIHN0b3JpbmcgYWxsIFBDUi9vZmZzZXQgb2JzZXJ2YXRpb25zIGFuZCBub25lLCB3aGlsZSBhdCB0aGUgc2FtZSB0aW1lCgkgIHByb3ZpZGluZyBiZXR0ZXIgaW5mb3JtYXRpb24gZm9yIHJ1bm5pbmctdGltZTw9Pm9mZnNldCBjYWxjdWxhdGlvbgoJICBpbiBWQlIgc3RyZWFtcy4KCSAgV2hlbmV2ZXIgYSBuZXcgbm9uLWNvbnRpZ3VvdXMgZ3JvdXAgaXMgc3RhcnQgKGR1ZSB0byBzZWVraW5nIGZvciBleGFtcGxlKQoJICB3ZSByZS1ldmFsdWF0ZSB0aGUgcGNyX29mZnNldCBvZiBlYWNoIGdyb3Vwcy4gVGhpcyBhbGxvd3MgZGV0ZWN0aW5nIGFzCgkgIHF1aWNrbHkgYXMgcG9zc2libGUgUENSIHdyYXBvdmVyL3Jlc2V0LgoJICBXaGVuIHdhbnRpbmcgdG8gZmluZCB0aGUgb2Zmc2V0IG9mIGEgY2VydGFpbiBydW5uaW5nLXRpbWUsIG9uZSBjYW4KCSAgaXRlcmF0ZSB0aGUgZ3JvdXBzIGJ5IGxvb2tpbmcgYXQgdGhlIHBjcl9vZmZzZXQgKHdoaWNoIGluIGVzc2VuY2UgKmlzKgoJICB0aGUgcnVubmluZy10aW1lIG9mIHRoYXQgZ3JvdXAgaW4gdGhlIG92ZXJhbGwgc3RyZWFtKS4KCSAgT25jZSBhIGdyb3VwIChvciBuZWlnaGJvdXJpbmcgZ3JvdXBzIGlmIHRoZSBydW5uaW5nLXRpbWUgaXMgYmV0d2VlbiB0d28KCSAgZ3JvdXBzKSBpcyBmb3VuZCwgb25jZSBjYW4gdXNlIHRoZSByZWNvcmRlZCB2YWx1ZXMgdG8gZmluZCB0aGUgbW9zdAoJICBhY2N1cmF0ZSBvZmZzZXQuCgkgIFJpZ2h0IG5vdyB0aGlzIGNvZGUgaXMgb25seSB1c2VkIGluIHB1bGwtbW9kZSAsIGJ1dCBjb3VsZCBhbHNvCgkgIGJlIGFjdGl2YXRlZCBsYXRlciBvbiBmb3IgYW55IHNlZWthYmxlIHN0cmVhbSwgbGlrZSBsaXZlIHRpbWVzaGlmdAoJICB3aXRoIHF1ZXVlMi4KCSAgRnV0dXJlIGltcHJvdmVtZW50czoKCSAgKiBzb21lIGhldXJpc3RpY3MgdG8gImNvbXByZXNzIiB0aGUgc3RvcmVkIHZhbHVlcyBpbiBncm91cHMgc28gYXMgdG8ga2VlcAoJICB0aGUgbWVtb3J5IHVzYWdlIGRvd24gd2hpbGUgc3RpbGwga2VlcGluZyBhIGRlY2VudCBhbW91bnQgb2Ygbm90YWJsZQoJICBwb2ludHMuCgkgICogQWZ0ZXIgYSBzZWVrIGNvbXBhcmUgZXhwZWN0ZWQgYW5kIG9idGFpbmVkIFBDUi9PZmZzZXQgYW5kIGlmIHRoZQoJICBkaWZmZXJlbmNlIGlzIHRvbyBiaWcsIHJlLWNhbGN1bGF0ZSBwb3NpdGlvbiB3aXRoIG5ld2x5IG9ic2VydmVkCgkgIHZhbHVlcyBhbmQgc2VlayB0byB0aGF0IG1vcmUgYWNjdXJhdGUgcG9zaXRpb24uCgkgIE5vdGUgdGhhdCB0aGlzIGNvZGUgd2lsbCAqbm90KiBwcm92aWRlIGtleWZyYW1lLWFjY3VyYXRlIHNlZWtpbmcsIGJ1dAoJICB3aWxsIGFsbG93IGEgbXVjaCBtb3JlIGFjY3VyYXRlIFBDUi9ydW5uaW5nLXRpbWUvb2Zmc2V0IGxvY2F0aW9uIG9uCgkgIGFueSByYW5kb20gc3RyZWFtLgoJICBGb3IgcGFzdCAob2JzZXJ2ZWQpIHZhbHVlcyBpdCB3aWxsIGJlIGFzIGFjY3VyYXRlIGFzIGNhbiBiZS4KCSAgRm9yIGZ1dHVyZSB2YWx1ZXMgaXQgd2lsbCBiZSBiZXR0ZXIgdGhhbiB0aGUgY3VycmVudCBzaXR1YXRpb24uCgkgIEZpbmFsbHkgdGhlIG1vcmUgeW91IHNlZWssIHRoZSBtb3JlIGFjY3VyYXRlIHlvdXIgcG9zaXRpb25pbmcgd2lsbCBiZS4KCjIwMTMtMDctMDUgMTc6MTE6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzcGFja2V0aXplcjogTm8gbG9uZ2VyIHVzZSBhIHByaXZhdGUgc3RydWN0CgkgIFRoZXNlIGFyZSBub3QgcHVibGljIGhlYWRlcnMsIGl0IGp1c3QgYWRkcyBjb21wbGV4aXR5IGZvciBubyByZWFzb24KCjIwMTMtMDktMjYgMTY6NTE6MjUgKzAxMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEZpeCBkZXJlZmVyZW5jaW5nIG9mIE5VTEwgcG9pbnRlcgoJICBPbiBzb21lIGxpdmUgSExTIHN0cmVhbXMsIGdzdF9obHNfZGVtdXhfc3dpdGNoX3BsYXlsaXN0IGNhdXNlcwoJICBhc3NlcnRpb24gZmFpbHVyZXMgYmVjYXVzZSBpdCB0cmllZCB0byBkZXJlZmVyZW5jZSBhIE5VTEwgZnJhZ21lbnQuCgkgIFRoaXMgaXMgYmVjYXVzZSBnX3F1ZXVlX3BlZWtfdGFpbCBzb21ldGltZXMgd2FzIHJldHVybmluZyBOVUxMIGFuZAoJICB0aGlzIGNhc2Ugd2FzIG5vdCBiZWluZyBjaGVja2VkLgoJICBUaGlzIHBhdGNoIGRvZXMgdHdvIHRoaW5nczoKCSAgKiBtb3ZlIHRoZSBnX3F1ZXVlX3BlZWtfdGFpbCBpbnNpZGUgdGhlIHNlbWFwaG9yZSBwcm90ZWN0aW9uCgkgICogY2hlY2sgaWYgcV9xdWV1ZV9wZWVrX3RhaWwgcmV0dXJucyBOVUxMCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg4NDkKCjIwMTMtMDktMjcgMTY6MTA6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuaDoKCSAgbXBlZ3RzcGFyc2U6IFF1ZXVlIGJ1ZmZlcnMgdW50aWwgd2UgaGF2ZSBlbm91Z2ggdG8ga25vdyB0aGUgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4MjIyCgoyMDEzLTA5LTE2IDExOjQ2OjI3ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IHJld29yayBUUyBwYWNrZXQgc3luYyBhbmQgZXh0cmFjdGlvbgoJICBUaGUgcHJldmlvdXMgY29kZSBjb3VsZCBlbnRlciBhbiBpbmZpbml0ZSBsb29wIGJlY2F1c2UgdGhlIGFkYXB0ZXIgc3RhdGUKCSAgY291bGQgZ2V0IG91dCBvZiBzeW5jIHdpdGggaXRzIG1hcHBlZCBkYXRhIHN0YXRlIGFmdGVyIHN5bmMgd2FzIGxvc3QuCgkgIFRoZSBjb2RlIHdhcyBwcmV0dHkgY29uZnVzaW5nIHNvIGl0J3MgYmVlbiByZXdyaXR0ZW4gdG8gYmUgY2xlYXJlci4KCSAgVGhlIGVhc2llc3Qgd2F5IHRvIHJlcHJvZHVjZSB0aGUgaW5maW5pdGUgbG9vcCBpcyB0byB1c2UgdGhlIGJyZWFrbXlkYXRhCgkgIGVsZW1lbnQgYmVmb3JlIHRzZGVtdXggdG8gdHJpZ2dlciBhIHJlc3luYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODE2MQoKMjAxMy0wOS0xNiAxMTo0Mjo0OCArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBmaXggYnVmZmVyIG92ZXJmbG93CgkgIFRoaXMgY2FuIGhhcHBlbiB3aXRoIGEgY29ycnVwdCBUUyBmaWxlLCBmb3VuZCB3aXRoIGJyZWFrbXlkYXRhIGVsZW1lbnQKCSAgcGx1Z2dlZCBiZWZvcmUgdHNkZW11eC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODE2MQoKMjAxMy0wOS0yNSAyMzo1Nzo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZW1vdmUgQVNfU0NSVUJfSU5DTFVERQoJICBTaG91bGRuJ3QgYmUgbmVlZGVkIGFueSBtb3JlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3NjU4CgoyMDEzLTA5LTI1IDIwOjI1OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmM6CgkgIGJsdWV6OiBGaXggY29tcGlsYXRpb24gb24gYmlnIGVuZGlhbiBzeXN0ZW1zCgoyMDEzLTA5LTI0IDE4OjMxOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogUkVBRE1FOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZiMDNiYTcgdG8gODY1YWEyMAoKMjAxMy0wOS0yNCAxNTowNToyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEFjdHVhbGx5IHVzZSAxLjMuMC4xIGFzIHZlcnNpb24gdG8gbWFrZSBjb25maWd1cmUgaGFwcHkKCjIwMTMtMDktMjQgMTU6MDA6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4yLjAgPT09CgoyMDEzLTA5LTI0IDE0OjM3OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVnbGdsZXNzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4yLjAKCjIwMTMtMDktMjQgMTQ6Mzc6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEzLTA5LTIzIDE2OjE4OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3Qvc2RwL2dzdHNkcGVsZW0uYzoKCSAgc2RwZGVtdXg6IENoYW5nZSByYW5rIHRvIE5PTkUgdW50aWwgaXQgY2FuIGJlIGF1dG9wbHVnZ2VkIHByb3Blcmx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI0OTUKCjIwMTMtMDktMjAgMTY6MTc6MTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiNjEzNjYxIHRvIDZiMDNiYTcKCjIwMTMtMDktMTkgMjA6MTc6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9hdWRpb2Z4YmFkL2dzdGF1ZGlvZnhiYWQuYzoKCSAgYXVkaW9meGJhZDogQ2hhbmdlIHBsdWdpbiBuYW1lIHRvIGF1ZGlvZnhiYWQgZnJvbSBhdWRpb2NoYW5uZWxtaXgKCjIwMTMtMDktMTkgMjA6MDk6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9kYXNoL2dzdHBsdWdpbi5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdHNtb290aHN0cmVhbWluZy1wbHVnaW4uYzoKCSAgZGFzaC9zbW9vdGhzdHJlYW1pbmc6IFJlbW92ZSB1bnVzZWQgZGVidWcgY2F0ZWdvcnkgd2l0aCB0aGUgc2FtZSBuYW1lCgkgIEl0IGNhdXNlZCBzdGF0aWMgbGlua2luZyB0byBmYWlsLgoKMjAxMy0wOS0xOSAxODo0MzoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNzRhNjg1NyB0byBiNjEzNjYxCgoyMDEzLTA5LTE5IDE3OjM2OjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwOThjMGQ3IHRvIDc0YTY4NTcKCjIwMTMtMDktMTkgMTY6NDQ6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9lZ2xnbGVzL01ha2VmaWxlLmFtOgoJICBlZ2xnbGVzc2luazogRml4IHN0YXRpYyBsaW5raW5nIGZvciBBbmRyb2lkIGJ5IHBhc3NpbmcgLS10YWc9Q0MgdG8gbGlidG9vbAoKMjAxMy0wOS0xOSAxMTozNTowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjEuOTAgPT09CgoyMDEzLTA5LTE5IDEwOjUwOjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZ2xnbGVzc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4xLjkwCgoyMDEzLTA5LTE5IDEwOjQ2OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMy0wOS0xOSAwOTo0NjozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogcG8vY3MucG86CgkqIHBvL25sLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcnUucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTMtMDktMTggMjI6MzY6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFVwZGF0ZSBmb3IgbmV3IEdzdENvbnRleHQgQVBJCgoyMDEzLTA5LTE4IDIyOjI0OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5oOgoJICBlZ2w6IFVwZGF0ZSBmb3IgbmV3IEdzdENvbnRleHQgQVBJCgoyMDEzLTA5LTE3IDE3OjQxOjM5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogUmVzZXQgR3N0VXJpRG93bmxvYWRlciBjYW5jZWxsYXRpb24gd2hlbiByZXN0YXJ0aW5nIHRvIHBsYXkKCjIwMTMtMDktMTUgMTc6MDk6MTYgKzA1MzAgIFN1ZGlwIEphaW4gPHN1ZGlwLmphaW5Ac3QuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogQ29ycmVjdCBjb25kaXRpb24gY2hlY2sgZm9yIGN1cnJlbnQgbmV4dCBpbmRpY2F0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODEwNgoKMjAxMy0wOS0xMiAxMjowMzo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuaDoKCSAgcmF3cGFyc2U6IGZpeCBldmVudCBvcmRlcgoJICBEZWxheSBmb3J3YXJkaW5nIHRoZSBzZWdtZW50IGV2ZW50IHVudGlsIHdlIHB1c2hlZCBjYXBzLgoJICBTZW5kIFNUUkVBTV9TVEFSVCBpbiBwdWxsIG1vZGUuCgoyMDEzLTA5LTEyIDEzOjIxOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFtY3ZpZGVvZGVjOiBEb24ndCBwdXQgdGhlIGxldmVsIHJlc3RyaWN0aW9ucyBvbiB0aGUgc2lua3BhZCBjYXBzCgkgIFRoZXkgdGVuZCB0byBiZSBpbmFjY3VyYXRlIGFuZCBoYXZpbmcgdGhlbSBpbiB0aGUgc2lua3BhZCBjYXBzCgkgIHByZXZlbnRzIHBsYXliYWNrIG9mIGZpbGVzIHRoYXQgd291bGQgb3RoZXJ3aXNlIHBsYXkgZmluZS4KCjIwMTMtMDktMTAgMTg6NTE6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIHRzZGVtdXg6IHJlc3BlY3Qgc2VxbnVtcyBvbiBzZWVrcwoJICBQYXNzIHRoZSBzZXFudW0gdG8gb3RoZXIgZXZlbnRzIHRoYXQgYXJlIGNvbnNlcXVlbmNlIG9mIHRoZQoJICBvcmlnaW5hbCBzZWVrIGV2ZW50CgoyMDEzLTA5LTEwIDExOjM3OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIG9wZW5jdjogV2UgYWxzbyB3b3JrIHdpdGggT3BlbkNWIDIuNC42LjEKCjIwMTMtMDktMTAgMDg6NDg6MzIgKzAwMDAgIElhaW4gTGFuZSA8aWFpbi5sYW5lQGNhbm9uaWNhbC5jb20+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBtb2RwbHVnOiBTcGVjaWZ5IGRpcmVjdG9yeSB3aGVuIGluY2x1ZGluZyBzdGRhZnguaAoJICBtb2RwbHVnIHN0b3BwZWQgZXhwb3NpbmcgdGhlaXIgZGlyZWN0b3J5IGluIHRoZWlyIHBjZmlsZSwgbWVhaW5pbmcKCSAgY29uc3VtZXJzIGFjY2Vzc2luZyB0aGUgaGVhZGVycyBkaXJlY3RseSBmYWlsIHRvIGJ1aWxkLgoJICBodHRwOi8vc291cmNlZm9yZ2UubmV0L3AvbW9kcGx1Zy14bW1zL2dpdC9jaS83NWU5YjE2Njk4MmVkNjM3YjU5ZWY3Y2JjMTgzNWEwOWY3Njg5MjNlLwoKMjAxMy0wOS0wOSAxMzoxNDoxMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjRzcmM6IEZpeCBzbWFsbCBtZW0gbGVhawoKMjAxMy0wOS0wNyAyMzowOTozMSArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZG9uJ3QgdXBkYXRlIHNyYyBjYXBzIGlmIG9ubHkgY29kZWNfZGF0YSBkaWZmZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUzMzMKCjIwMTMtMDktMDUgMTk6MjM6MTAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0c3JjOiBMZXQgdGhlIGNhcHMgYmUgTlVMTCBpZiB0aGVyZSBpcyBubyBwZWVyCgoyMDEzLTA5LTA1IDE5OjIyOjUxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NHNyYzogTm8gbmVlZCB0byBkcm9wIHNlZ21lbnQgZXZlbnRzCgkgIEluIDEuMCwgc2VnbWVudCBldmVudHMgYXJlIHN0aWNreSBhbmQgbm90IGFkZGl0aXZlLCBubyBuZWVkIHRvIHByZXZlbnQKCSAgdGhlaXIgYWNjdW11bGF0aW9uLgoKMjAxMy0wOS0wNSAxOToxMDozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rc3JjOiBzZW5kIGNhcHMgZXZlbnQgYmVmb3JlIHNlZ21lbnQKCjIwMTMtMDktMDQgMTA6NTg6MjQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IGNoYW5nZSBwb29sLT5zaW5rLT5sYXN0X2J1ZmZlciB0byBwb29sLT5sYXN0X2J1ZmZlcgoJICBTbyB0aGF0IEdzdEVHTEltYWdlQnVmZmVyUG9vbCBkb2VzIG5vdCBkZXBlbmQgb24gR3N0RWdsR2xlc1NpbmsKCSAgVGhlIGdvYWwgaXMgc3RpbGwgdG8gbW92ZSBpdCBpbnRvIGdzdGVnbCBsaWIKCjIwMTMtMDktMDQgMTA6NTY6MTIgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IGJ1ZmZlciBwb29sIGRvZXMgbm90IG5lZWQgdG8gbWFpbnRhaW4gYSByZWYgb24gdGhlIGRpc3BsYXkKCSAgQmVjYXVzZSBpdCBkb2VzIG5vdCB1c2UgaXQgYW5kIGFsc28gaXQgbWF5IG5vdCBrbm93IGl0IHdoZW4KCSAgd2UgY3JlYXRlIHRoZSBwb29sCgoyMDEzLTA5LTA0IDEwOjUyOjUxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBhZGQgR3N0RUdMSW1hZ2VCdWZmZXJQb29sU2VuZEJsb2NraW5nQWxsb2NhdGUgY2FsbGJhY2sKCSAgVGhlIGdvYWwgaGVyZSBpcyB0byBwcmVwYXJlIEdzdEVHTEJ1ZmZlclBvb2wgdG8gYmUgbW92ZWQgaW50bwoJICBnc3RlZ2wgbGliLiBTbyBpdCBoYXMgdG8gbm90IGRlcGVuZCBvbiAnZ3N0X2VnbGdsZXNzaW5rX3F1ZXVlX29iamVjdCcKCjIwMTMtMDktMDQgMTA6NDg6MzQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5oOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogcHJlcGFyZSBnc3RfZWdsX2FkYXB0YXRpb25fYWxsb2NhdGVfZWdsaW1hZ2UgdG8gYmUgbW92ZWQKCSAgaW50byBnc3RlZ2wgbGliIG9yIHNwbGl0ZWQgYmV0d2VlbiBnc3RlZ2wgbGliIGFuZCBnc3RnbCBsaWIKCSAgYmVjYXVzZSBpdCBib3RoIGRlcGVuZHMgb24gZWdsIGFuZCBnbAoJICBTbyBpdCBoYXMgdG8gbm90IGRlcGVuZCBvbiBHc3RFZ2xBZGFwdGF0aW9uQ29udGV4dAoKMjAxMy0wOC0zMCAxMzo1NDo0MCArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogQWRkIHN1cHBvcnQgZm9yIHN0cmVhbS1mb3JtYXQ9YXZjMwoJICBXaGVuIG91dHB1dHRpbmcgaW4gQVZDMyBzdHJlYW0gZm9ybWF0LCB0aGUgY29kZWNfZGF0YSBzaG91bGQgbm90CgkgIGNvbnRhaW4gYW55IFNQUyBvciBQUFMsIGJlY2F1c2UgdGhleSBhcmUgZW1iZWRkZWQgaW5zaWRlIHRoZSBzdHJlYW0uCgkgIEluIGNhc2Ugb2YgYXZjLT5ieXRlc3RyZWFtIGgyNjRwYXJzZSB3aWxsIHB1c2ggdGhlIFNQUyBhbmQgUFBTIGZyb20KCSAgY29kZWNfZGF0YSBkb3duc3RyZWFtIGF0IHRoZSBzdGFydCBvZiB0aGUgc3RyZWFtLCBhdCBpbnRlcnZhbHMKCSAgY29udHJvbGxlZCBieSAiY29uZmlnLWludGVydmFsIiBhbmQgd2hlbiB0aGVyZSBpcyBhIGNvZGVjX2RhdGEgY2hhbmdlLgoJICBJbiB0aGUgY2FzZSBvZiBhdmMzLT5ieXRzdHJlYW0gaDI2NHBhcnNlIGRldGVjdHMgdGhhdCB0aGVyZSBpcwoJICBhbHJlYWR5IFNQUy9QUFMgaW4gdGhlIHN0cmVhbSBhbmQgc2V0cyBoMjY0cGFyc2UtPnB1c2hfY29kZWMgdG8gRkFMU0UuCgkgIFRoZXJlZm9yZSBhdmMzLT5ieXRzdHJlYW0gd2FzIGFscmVhZHkgc3VwcG9ydGVkLCBleGNlcHQgZm9yIHRoZSBzdHJlYW0KCSAgdHlwZS4KCSAgSW4gdGhlIGNhc2Ugb2YgYnlzdHJlYW0tPmF2YyBoMjY0cGFyc2Ugd2lsbCBnZW5lcmF0ZSBjb2RlY19kYXRhIGNhcHMKCSAgZnJvbSB0aGUgcGFyc2VkIFNQUy9QUFMgaW4gdGhlIHN0cmVhbS4gSG93ZXZlciBpdCBkb2VzIG5vdCByZW1vdmUgdGhlc2UKCSAgU1BTL1BQUyBmcm9tIHRoZSBzdHJlYW0uIGJ5dGVzdHJlYW0tPmF2YzMgaXMgdGhlIHNhbWUgYXMgYnl0ZXN0cmVhbS0+YXZjCgkgIGV4Y2VwdCB0aGF0IHRoZSBjb2RlY19kYXRhIG11c3Qgbm90IGhhdmUgYW55IFNQUy9QUFMgaW4gaXQuCgkgIHwtLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS18CgkgIHxzdHJlYW0tZm9ybWF0IHwgU1BTIGluLWJhbmQgfCBTUFMgaW4gY29kZWNfZGF0YSB8CgkgIHwtLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS18CgkgIHwgYXZjICAgICAgICAgIHwgbWF5YmUgICAgICAgfCBhbHdheXMgICAgICAgICAgICB8CgkgIHwtLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS18CgkgIHwgYXZjMyAgICAgICAgIHwgYWx3YXlzICAgICAgfCBuZXZlciAgICAgICAgICAgICB8CgkgIHwtLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS18CgkgIEFtZW5kbWVudCAyIG9mIElTTy9JRUMgMTQ0OTYtMTUgKEFWQyBmaWxlIGZvcm1hdCkgaXMgZGVmaW5pbmcgYSBuZXcKCSAgc3RydWN0dXJlIGZvciBmcmFnbWVudGVkIE1QNCBjYWxsZWQgImF2YzMiLiBUaGUgcHJpbmNpcGFsIGRpZmZlcmVuY2UKCSAgYmV0d2VlbiBBVkMxIGFuZCBBVkMzIGlzIHRoZSBsb2NhdGlvbiBvZiB0aGUgY29kZWMgaW5pdGlhbGlzYXRpb24KCSAgZGF0YSAoZS5nLiBTUFMsIFBQUykuIEluIEFWQzEgdGhpcyBkYXRhIGlzIHBsYWNlZCBpbiB0aGUgaW5pdGlhbCBNT09WIGJveAoJICAobW9vdi50cmFrLm1kaWEubWluZi5zdGJsLnN0c2QuYXZjMSkgYnV0IGluIEFWQzMgdGhpcyBkYXRhIGdvZXMgaW4gdGhlCgkgIGZpcnN0IHNhbXBsZSBvZiBldmVyeSBmcmFnbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjAwNAoKMjAxMy0wOS0wMyAxNzozNjowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgc291bmR0b3VjaDogRml4IGNvbXBpbGF0aW9uIHdpdGggc291bmR0b3VjaCAxLjQuMAoJICBJdCB1c2VkIEZMT0FUX1NBTVBMRVMvSU5URUdFUl9TQU1QTEVTICNkZWZpbmVzIGluc3RlYWQgb2Ygb25lcyBwcm9wZXJseQoJICBwcmVmaXhlZCB3aXRoIGEgbmFtZXNwYWNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MzkwCgoyMDEzLTA5LTAzIDExOjE0OjQzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogaWdub3JlIG5ldyB3aW4zMiBjb25maWcuaC1uZXcKCjIwMTMtMDktMDMgMTE6MDU6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW1jdmlkZW9kZWM6IFBvcnQgdGlsZWQgTlYxMiBjb252ZXJzaW9uIHRvIDEuMAoKMjAxMy0wOS0wMyAxMDo1Njo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbWN2aWRlb2RlYzogQWRkIEZJWE1FIGNvbW1lbnQKCjIwMTMtMDgtMTIgMTA6MTY6MTYgKzAwMDAgIEpvcmdlIEx1aXMgWmFwYXRhIDxqemFwYXRhQGZsdWVuZG8uY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMtY29uc3RhbnRzLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBhZGQgc3VwcG9ydCBmb3IgYSBuZXcgcXVhbGNvbW0gY29sb3JzcGFjZQoKMjAxMy0wOS0wMiAyMzoyODozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiBtaW5vciBjbGVhbi11cAoKMjAxMy0wOS0wMiAyMjo1NDozMiArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogc2VuZCBldmVudHMgb24gcGFkcyB0aGF0IGFyZSBub3QgbGlua2VkCgkgIFNvbWVvbmUgbWlnaHQgYmUgd2FpdGluZyBmb3IgY2VydGFpbiBldmVudHMgd2l0aCBhIHByb2JlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MzE3CgoyMDEzLTA4LTI4IDIwOjA3OjQ4ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9NYWtlZmlsZS5hbToKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogZGlzYWJsZSBidWZmZXIgcG9vbHMKCSAgT24gYSBkZXZpY2UgbG9zdCwgYWxsIHRoZSBzdXJmYWNlcyBhbGxvY2F0ZWQgaW4gdGhlCgkgIGRldmljZSBuZWVkIHRvIGJlIHJlbGVhc2VkIGJlZm9yZSByZXNldHRpbmcgdGhlIGRldmljZSwKCSAgd2hpY2ggY2FuJ3QgYmUgZG9uZSBmb3IgdGhlIGFsbG9jYXRlZCBidWZmZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2NTY2CgoyMDEzLTA5LTAyIDEzOjQwOjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvTUFOSUZFU1Q6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaC5pbjoKCSAgQ2hhbmdlIGhvdyB3aW4zMi9jb21tb24vY29uZmlnLmggaXMgdXBkYXRlZAoJICBHZW5lcmF0ZSB3aW4zMi9jb21tb24vY29uZmlnLmgtbmV3IGRpcmVjdGx5IGZyb20gY29uZmlnLmguaW4sCgkgIHVzaW5nIHNoZWxsIHZhcmlhYmxlcyBpbiBjb25maWd1cmUgYW5kIHNvbWUgaGFyZC1jb2RlZCBpbmZvcm1hdGlvbi4KCSAgQ2hhbmdlIHRvcC1sZXZlbCBtYWtlZmlsZSBzbyB0aGF0ICdtYWtlIHdpbjMyLXVwZGF0ZScgY29waWVzIHRoZQoJICBnZW5lcmF0ZWQgZmlsZSB0byB3aW4zMi9jb21tb24vY29uZmlnLmgsIHdoaWNoIHdlIGtlZXAgaW4gc291cmNlCgkgIGNvbnRyb2wuICBJdCdzIGtlcHQgaW4gc291cmNlIGNvbnRyb2wgc28gdGhhdCB0aGUgZ2l0IHRyZWUgaXMKCSAgYnVpbGRhYmxlIGZyb20gVlMuCgkgIFRoaXMgY2hhbmdlIGlzIHNpbWlsYXIgdG8gdGhlIG9uZSByZWNlbnRseSBhcHBsaWVkIHRvIEdTdHJlYW1lcgoJICBhbmQgZ3N0LXBsdWdpbnMtZ29vZC4gIFRoZSBwcmV2aW91cyBjb25maWcuaCBmaWxlIGluIC1iYWQgd2FzIGluCgkgIHByZXR0eSBiYWQgc2hhcGUsIHNvIHVubGlrZSBjb3JlIGFuZCBiYXNlLCBJIGRpZG4ndCBhdHRlbXB0IHRvCgkgIGxlYXZlIGl0IHN0cmljdGx5IHRoZSBzYW1lLCBidXQgZml4ZWQgaXQgYXMgbmVjZXNzYXJ5LiAgTmVlZHMKCSAgdGVzdGluZyBJIGNhbm5vdCBkbyBteXNlbGYuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NjkwMTUKCjIwMTMtMDktMDIgMTI6MTk6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICB0ZXN0czogaWdub3JlIG5ldyBhaWZmcGFyc2UgdGVzdCBiaW5hcnkKCjIwMTMtMDktMDIgMTA6Mjk6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmhoOgoJICBzb3VuZHRvdWNoOiBBbGxvdyBjb21waWxhdGlvbiBhZ2FpbnN0IGZsb2F0IGFuZCBpbnRlZ2VyIHZlcnNpb24gb2YgdGhlIGxpYnJhcnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzI3MAoKMjAxMy0wOC0zMCAyMTo1MjozNSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogRml4IHdhcm5pbmdzIHdoZW4gYnVpbGRpbmcgaW4gT1MgWCBTbm93IExlb3BhcmQKCSAgZ3N0ZGFzaGRlbXV4LmM6MTc1Mzogd2FybmluZzogZm9ybWF0ICclbGx1JyBleHBlY3RzIHR5cGUgJ2xvbmcgbG9uZyB1bnNpZ25lZCBpbnQnLCBidXQgYXJndW1lbnQgOCBoYXMgdHlwZSAnbG9uZyB1bnNpZ25lZCBpbnQnCgkgIGdzdGRhc2hkZW11eC5jOjIyMjQ6IHdhcm5pbmc6IGZvcm1hdCAnJWxsdScgZXhwZWN0cyB0eXBlICdsb25nIGxvbmcgdW5zaWduZWQgaW50JywgYnV0IGFyZ3VtZW50IDkgaGFzIHR5cGUgJ2d1aW50NjQnCgkgIGdzdGRhc2hkZW11eC5jOjIyMjQ6IHdhcm5pbmc6IGZvcm1hdCAnJWxsdScgZXhwZWN0cyB0eXBlICdsb25nIGxvbmcgdW5zaWduZWQgaW50JywgYnV0IGFyZ3VtZW50IDEwIGhhcyB0eXBlICdndWludDY0JwoKMjAxMy0wOC0zMCAyMTozNjoxOSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IEZpeCB3YXJuaW5ncyB3aGVuIGJ1aWxkaW5nIGluIE9TIFggU25vdyBMZW9wYXJkCgkgIGdzdG1wZHBhcnNlci5oOjUzMDogd2FybmluZzogdHlwZSBxdWFsaWZpZXJzIGlnbm9yZWQgb24gZnVuY3Rpb24gcmV0dXJuIHR5cGUKCSAgZ3N0bXBkcGFyc2VyLmM6NDE3Nzogd2FybmluZzogdHlwZSBxdWFsaWZpZXJzIGlnbm9yZWQgb24gZnVuY3Rpb24gcmV0dXJuIHR5cGUKCjIwMTMtMDgtMzAgMDk6MDU6NDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBVc2UgY29kZWNwYXJzZXJzIG1hY3JvcwoJICBub3RlOiBJL1NJIGFsc28gY292ZXJzIHRoZSBTX0kvU19TSSB2YXJpYW50cwoKMjAxMy0wOC0yOSAxMTowMjozNyAtMDcwMCAgS2VycmljayBTdGFsZXkgPGtlcnJpY2tAa2Vycmlja3N0YWxleS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9kaXJlY3RmYi9nc3RkZmIuYzoKCSAgZXhhbXBsZXM6IHBvcnQgZGlyZWN0ZmIgZXhhbXBsZSB0byAxLjAKCSAgZ3N0X3BhZF9nZXRfbmVnb3RpYXRlZF9jYXBzIHdhcyByZW1vdmVkIGZyb20gMS4wOwoJICBnc3RfcGFkX2dldF9jdXJyZW50X2NhcHMgc2hvdWxkIGJlIHVzZWQgaW5zdGVhZC4gU2VlCgkgIGh0dHA6Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy9nc3RyZWFtZXIvZ3N0cmVhbWVyL3RyZWUvZG9jcy9yYW5kb20KCSAgL3BvcnRpbmctdG8tMS4wLnR4dAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MDc0CgoyMDEzLTA4LTI5IDE1OjU1OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogdXBkYXRlIGNvbmZpZy5oCgoyMDEzLTA4LTI5IDE1OjQ2OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICBkZmJ2aWRlb3Npbms6IG1ha2UgImxheWVyLW1vZGUiIHByb3BlcnR5IGFuIGVudW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzUyMAoKMjAxMy0wOC0yOSAxNDo0ODoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgZGZidmlkZW9zaW5rOiBkb24ndCB1c2UgZGVwcmVjYXRlZCBHTGliIHRocmVhZCBBUEkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzUyMAoKMjAxMy0wNi0yNiAxMTowNzoxNCArMDkwMCAgS2F6dW5vcmkgS29iYXlhc2hpIDxra29iYXlhc0BpZ2VsLmNvLmpwPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDoKCSAgZGZidmlkZW9zaW5rOiBwb3J0IHRvIDEuMAoJICBpbmNsdWRpbmcgdGhlIGZvbGxvd2luZyBzdXBwb3J0cyBhbmQgZml4ZXM6CgkgICogQ3JlYXRlIERpcmVjdEZCIHN1cmZhY2VzIGZyb20gR3N0QnVmZmVyUG9vbAoJICAqIEFkZCBOVjEyIHBpeGVsIGZvcm1hdCBzdXBwb3J0CgkgICogRG9uJ3QgdXNlIHRoZSBjdXJzb3IgaW4gdGhlIGV4Y2x1c2l2ZSBtb2RlCgkgIC0gRW5hYmxlQ3Vzb3IoKSBjYW4gYmUgb25seSB1c2VkIHdoZW4gdGhlIGFkbWluaXN0cmF0aXZlIG1vZGUgaXMgc2V0CgkgIGluIERpcmVjdEZCIDEuNi4wIGFuZCBsYXRlci4KCSAgKiBTdXBwb3J0IG11bHRpcGxlIHBsYW5lIHJlbmRlcmluZyBmb3IgcGxhbmFyIGNvbG9yIGZvcm1hdHMKCSAgLSBUaGlzIGFjY29tbW9kYXRlcyB0aGUgY2hyb21hIHBsYW5lIG9mZnNldHMgb2YgdGhlIGZyYW1lYnVmZmVyCgkgIGluIHBsYW5hciBmb3JtYXRzLgoJICAqIEludm9rZSBTZXRDb25maWd1cmF0aW9uIHJlZ2FyZGxlc3Mgb2YgdmlkZW8gbW9kZSBzZXR0aW5nIGluIHNldGNhcHMoKQoJICAtIFNldENvbmZpZ3VyYXRpb24oKSBtZXRob2Qgc2hvdWxkIGJlIGludm9rZWQgcmVnYXJkbGVzcyBvZgoJICB0aGUgcmVzdWx0IG9mIGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X2Jlc3Rfdm1vZGUoKSwgc2luY2UgdGhlIHR3byBhcmUKCSAgdW5yZWxhdGVkLgoJICAqIERpc2FibGUgRGlyZWN0RkIgc2lnbmFsIGhhbmRsZXIKCSAgLSAiLS1kZmI6bm8tc2lnaGFuZGxlciIgb3B0aW9uIGlzIHBhc3NlZCB0byBEaXJlY3RGQkluaXQoKS4KCSAgVGhpcyBwcmV2ZW50cyBEaXJlY3RGQiBmcm9tIHRyeWluZyB0byBraWxsIHRoZSBwcm9jZXNzIGFuZCBhbGxvd3MKCSAgR1N0cmVhbWVyJ3MgdGVybWluYXRpb24gc2VxdWVuY2UgdG8gcHJvY2VlZCBub3JtYWxseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzUyMAoKMjAxMy0wOC0yOSAxMDoyMDo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5jOgoJICBhdmR0cHV0aWw6IFNvbWUgbWlub3IgY2xlYW51cCBhbmQgbGVhayBmaXhlcwoKMjAxMy0wOC0yOCAxNDoyNjowNCArMDIwMCAgQmVybmhhcmQgTWlsbGVyIDxiZXJuaGFyZC5taWxsZXJAc3RyZWFtdW5saW1pdGVkLmNvbT4KCgkqIHN5cy9ibHVlei9hMmRwLWNvZGVjcy5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzcmMuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5jOgoJICBibHVlejogc3VwcG9ydCBhYWMgaW4gYXZkdHBzcmMKCSAgU2lnbmVkLW9mZi1ieTogQmVybmhhcmQgTWlsbGVyIDxiZXJuaGFyZC5taWxsZXJAc3RyZWFtdW5saW1pdGVkLmNvbT4KCjIwMTMtMDgtMjggMTM6MjY6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4xLjQgPT09CgoyMDEzLTA4LTI4IDEzOjA3OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVnbGdsZXNzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXJvcmMtZGlzdC5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMS40CgoyMDEzLTA4LTI4IDEzOjA3OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMy0wOC0yOCAxMjozMzoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogcG8vcHRfQlIucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDEzLTA4LTI4IDExOjEzOjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9tcGVndHMuaDoKCSAgbXBlZ3RzOiBtYXJrIGFzIHVuc3RhYmxlIEFQSQoKMjAxMy0wOC0yNyAxNzowNTo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggcG9zc2libGUgcmVhZCBiZXlvbmQgZW5kIG9mIGJ1ZmZlciB3aGVuIHJlc3luY2luZwoKMjAxMy0wOC0yNyAxMToyNzowNCArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogb25seSB1cGRhdGUgc3JjIENBUFMgd2hlbiBpdCdzIG5lY2Vzc2FyeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NDUyCgoyMDEzLTA4LTIwIDExOjU5OjM0ICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkbyBub3Qgc2V0IENBUFMgYW5kIHBhc3N0aHJvdWdoIG1vZGUgaWYgU1BTL1BQUyBoYXZlIG5vdCBiZWVuIHBhcnNlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NDUyCgoyMDEzLTA4LTI2IDEzOjQ4OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogRG9uJ3Qgc2V0IEJaMl9MSUJTIGlmIGJ6MiBpcyBub3QgZm91bmQKCjIwMTMtMDgtMjYgMTA6MjI6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC93ZWJwL2dzdHdlYnBkZWMuYzoKCSAgd2VicGRlYzogU29tZSBjbGVhbnVwIGFuZCBtaW5vciBmaXhlcwoKMjAxMy0wOC0yNCAwMDo0NjozOCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC93ZWJwL01ha2VmaWxlLmFtOgoJKiBleHQvd2VicC9nc3R3ZWJwLmM6CgkqIGV4dC93ZWJwL2dzdHdlYnBkZWMuYzoKCSogZXh0L3dlYnAvZ3N0d2VicGRlYy5oOgoJICB3ZWJwOiBBZGQgV2ViUCBpbWFnZSBkZWNvZGVyIHBsdWdpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2Mjg1CgoyMDEyLTA5LTAxIDIwOjQ2OjQzICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuaDoKCSAgZmFjZWRldGVjdDogbmV3IHByb3BlcnR5IHRvIGNvbnRyb2wgYnVzIG1lc3NhZ2VzIHVwZGF0ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NTYyMgoKMjAxMy0wOC0yMyAxMjowMTozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5jOgoJKiBleHQvb3BlbmN2L2dzdHNlZ21lbnRhdGlvbi5jcHA6CgkgIG9wZW5jdjogRml4IGluZGVudGlvbgoKMjAxMy0wOC0yMyAxMjowMTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L29wZW5jdi9nc3RkaXNwYXJpdHkuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGRpc3Bhcml0eS5oOgoJICBvcGVuY3Y6IFBvcnQgdG8gbm9uLWRlcHJlY2F0ZWQgR011dGV4L0dDb25kIEFQSQoKMjAxMy0wOC0yMyAxMTozODowNCArMDIwMCAgTWlndWVsIENhc2FzLVNhbmNoZXogPG1pZ3VlbGVjYXNhc3NhbmNoZXpAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RkaXNwYXJpdHkuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGRpc3Bhcml0eS5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJICBvcGVuY3Y6IEFkZCBkaXNwYXJpdHktbWFwIGNhbGN1bGF0aW9uIGVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDc2MAoKMjAxMy0wOC0yMiAxNzozMjoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkgIGRpcmVjdHNvdW5kc3JjOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDEzLTA4LTIyIDE2OjA3OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXBkYXRlIG9wZW5jdiBkZXBlbmRlbmN5LCAyLjQuNSB3b3JrcyB0b28uCgoyMDEzLTA4LTIyIDEzOjQ1OjU5ICswMjAwICBLaXNob3JlIEFyZXBhbGxpIDxraXNob3JlLmFyZXBhbGxpQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuaDoKCSAgZGlyZWN0c291bmRzcmM6IEFkZCAnZGV2aWNlLW5hbWUnIHByb3BlcnR5IGZvciBzZWxlY3RpbmcgYSBhdWRpbyBkZXZpY2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjU3NAoKMjAxMy0wOC0yMiAxNDo1NjowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEZpeCBiejIgY29uZmlndXJlIGNoZWNrIGZvciBXaW5kb3dzCgkgIER1ZSB0byBmdW5jdGlvbiBkZWNvcmF0aW9ucyBvbiBXaW5kb3dzIEFDX0NIRUNLX0xJQiBjYW4ndCBiZSB1c2VkIHRvIGNoZWNrIGZvciBiejIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD00NjU5MjQKCjIwMTMtMDgtMjEgMTQ6NDQ6MzggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUmVmdXNlIG5lZ2F0aXZlIHJhdGVzIHdoaWNoIHdlIGRvbid0IHN1cHBvcnQgeWV0CgkgIEFuZCByZW1vdmUgYSBjaGVjayB3aGljaCB3YXMgZG9uZSBiZWZvcmUKCjIwMTMtMDMtMTAgMTc6MDI6MTggKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJICBtcGVndHNtdXg6IFNldCB0aGUgcHJvZ3JhbSBudW1iZXIgZnJvbSBwcm9nLW1hcAoJICBUaGUgcHJvZy1tYXAgcHJvcGVydHkgb2YgbXBlZ3RzbXV4IG9ubHkgYWxsb3dzIHlvdSB0byBncm91cCBwaWRzIHRvZ2V0aGVyIGluIGEgcHJvZ3JhbS4KCSAgVGhlIHByb2dyYW0gbnVtYmVyIHNldCBpbiB0aGUgUEFUL1BNVCB0YWJsZXMgY2Fubm90IGJlIHNldCBleHBsaWNpdGx5LgoJICBUaGlzIHBhdGNoIHdpbGwgc2V0IHRoZSBwcm9ncmFtIG51bWJlciBhY2NvcmRpbmcgdG8gdGhlIHByb2ctbWFwLgoJICBJZiBhIHByb2dyYW0gaWQgb2YgMCBpcyBnaXZlbiwgdGhlIGZpcnN0IHZhY2FudCBwcm9ncmFtIG51bWJlciBzdGFydGluZyBmcm9tIDEgd2lsbCBiZSB1c2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MjM5CgoyMDEzLTA4LTIxIDA4OjU4OjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvY2FtdXRpbHMuYzoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2YjogQWRhcHQgZm9yIGxhdGVzdCBtcGVndHMgbGliIGNoYW5nZXMKCjIwMTMtMDgtMjEgMDg6NTg6MjMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSAgbXBlZ3RzYmFzZTogQWRhcHQgZm9yIGxhdGVzdCBtcGVndHMgbGliIGNoYW5nZXMKCjIwMTMtMDgtMjEgMDg6NDA6MTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgbXBlZ3RzOiBBQkkvQVBJIGJyZWFrOiBVc2UgR1B0ckFycmF5IGluc3RlYWQgb2YgR0FycmF5CgkgIFdoaWxlIGl0IHdhcyBhIGdyZWF0IGlkZWEsIHZhcmlvdXMgZy1pIGJhc2VkIGJpbmRpbmdzIGRvbid0IHN1cHBvcnQKCSAgR0FycmF5IHdpdGggZW50cmllcyBncmVhdGVyIHRoYW4gc2l6ZW9mKGdwb2ludGVyKSA6KAoJICBTbyBsZXQncyBqdXN0IG1ha2UgZXZlcnlib2R5IGhhcHB5IGJ5IGp1c3QgdXNpbmcgR1B0ckFycmF5LgoJICBBbmQgc2luY2Ugd2UncmUgYnJlYWtpbmcgdGhlIEFQSSwgYWxzbyByZW5hbWUgdGhlIHZhcmlvdXMgZGVzY3JpcHRvciBmaWVsZHMKCSAgdG8gbm8gbG9uZ2VyIGhhdmUgdGhlIGRlc2NyaXB0b3JfIHByZWZpeC4KCSAgSXQgZG9lcyBjb3N0IGEgYml0IG1vcmUgaW4gdGVybXMgb2YgbWVtb3J5L2NwdSB1c2FnZSwgYnV0IG1ha2VzIGl0IHVzYWJsZQoJICBmcm9tIGJpbmRpbmdzLgoKMjAxMy0wOC0xOSAxNTozMTo1MSAtMDQwMCAgUm9iZXJ0IEtyYWtvcmEgPHJvYi5rcmFrb3JhQG1lc3NhZ2VuZXRzeXN0ZW1zLmNvbT4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6CgkgIHV2Y2gyNjRzcmM6IGRvbid0IGVycm9yIG91dCBvbiBpbmNvbXBsZXRlIGF1eCBkYXRhIHNlZ21lbnQKCSAgSXQgYXBwZWFycyB0aGF0IHRoZSBMb2dpdGVjaCBDOTIwIHNvbWV0aW1lcyBkcm9wcyB0aGUgbmV4dAoJICB0byBsYXN0IHNlZ21lbnQgb2YgUkFXIGF1eCBkYXRhIGNvbnRhaW5lZCB3aXRoaW4gdGhlIE1KUEVHCgkgIGNvbnRhaW5lci4gIEgyNjQgZGF0YSB0aGF0IGlzIG11bHRpcGxleGVkIHdpdGggaW4gdGhlIHNhbWUKCSAgY29udGFpbmVyIGRvZXMgbm90IGFwcGVhciB0byBiZSBhZmZlY3RlZC4gIFRoaXMgYXBwZWFycyB0bwoJICBiZSBhIGJ1ZyBpbiB0aGUgTG9naXRlY2ggQzkyMCBmaXJtd2FyZSBhbmQgdXZjaDI2NHNyYyBzaG91bGQKCSAgbm90IGVycm9yIG91dCBpbiB0aGlzIGNhc2UuCgkgIFNvbWV0aW1lcyBpdCBjYW4gdGFrZSAyNCBob3VycyBvZiBjb250aW51b3VzIHN0cmVhbWluZyBmb3IKCSAgdGhlIHByb2JsZW0gdG8gb2NjdXIsIGJ1dCBzb21ldGltZXMgaXQgdGFrZXMgb25seSBhIGNvdXBsZQoJICBvZiBob3Vycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjI3NgoKMjAxMy0wOC0yMCAxNjowMTo0NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXZ0Yy9nc3RpdnRjLmM6CgkgIGl2dGM6IFVzZSBpbnB1dCBmcmFtZXJhdGUgd2hlbiBwb3NzaWJsZQoJICBpZiBpbnB1dCBpcyAzMDAwMC8xMDAxIC4uLiB1c2UgMjQwMDAvMTAwMSBhcyB0aGUgb3V0cHV0IGZpeGF0ZWQgZnJhbWVyYXRlCgoyMDEzLTA4LTE1IDExOjQ1OjM0ICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzbXV4OiBoYW5kbGUgcHVibGlzaGVyLCBpbnRlcnByZXRlZC1ieSBhbmQgbXVzaWNhbC1rZXkgdGFncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1OTk5CgoyMDEzLTA4LTIwIDEzOjI5OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBGaXggc3dpdGNoIHN0YXRlbWVudCBpbiBsZXZlbCBkZXRlY3Rpb24gY29kZQoJICBQcm9wZXJseSBmYWxsIHRocm91Z2ggdGhlIGNhc2VzIHdpdGhvdXQgcmUtYXNzaWduaW5nIHRoZSBsZXZlbCB0bwoJICB0aGUgd3JvbmcgdmFsdWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYzNjkKCjIwMTMtMDgtMTkgMTc6MjM6MjggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogRm9yd2FyZCBzZWdtZW50IGV2ZW50IGFmdGVyIGNhcHMKCSAgU3RvcmUgaXQgdW50aWwgd2Uga25vdyB3aGF0IG91ciBjYXBzIGFyZS4KCjIwMTMtMDgtMjAgMDA6MjY6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9haWZmcGFyc2UuYzoKCSAgdGVzdDogZml4IGNvbXBpbGVyIHdhcm5pbmcgaW4gYWlmZnBhcnNlIHRlc3Qgb24gMzItYml0IHg4NgoKMjAxMy0wOC0xOSAwOToyNToyMCArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IGZpeCBjb3B5cmlnaHQKCjIwMTMtMDgtMTcgMDA6MjI6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9haWZmcGFyc2UuYzoKCSAgdGVzdHM6IGZpeCBzb21lIGxlYWtzIGluIGFpZmZwYXJzZSB1bml0IHRlc3QKCjIwMTMtMDgtMTcgMDA6MDk6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9haWZmcGFyc2UuYzoKCSAgdGVzdHM6IGZpeCBzdGF0ZSBjaGFuZ2Ugb3JkZXIgaW4gYWlmZnBhcnNlIHRlc3QKCSAgRG8gc3RhdGUgY2hhbmdlcyBmcm9tIHNpbmsgdG8gc3JjLiBGaXhlcyByYWNlIGNvbmRpdGlvbiBpbgoJICBwdWxsIG1vZGUgdGVzdCB3aGVyZSB0aGUgc291cmNlIHdpbGwgc3RhcnQgdXAgYW5kIHB1c2ggYnVmZmVycwoJICB0byBxdWV1ZS9pZGVudGl0eSBvciBhaWZmcGFyc2UgYmVmb3JlIHRoZSBtYWluIHRocmVhZCBoYXMKCSAgbWFuYWdlZCB0byBzZXQgdGhlbSB0byBwbGF5aW5nIHlldC4KCjIwMTMtMDgtMTIgMTg6MzM6MzkgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWlmZnBhcnNlLmM6CgkqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9maWxlcy9zMTZiZS1pZDN2Mi5haWZmOgoJICBhaWZmcGFyc2U6IGFkZCB0ZXN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1OTkzCgoyMDEzLTA4LTE3IDAwOjIzOjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogZG9uJ3QgbGVhayBhZGFwdGVyCgoyMDEzLTA4LTE1IDEzOjU4OjQ4ICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogcy9uZXdzZWdtZW50L3NlZ21lbnQvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU5OTMKCjIwMTMtMDgtMTMgMTg6NDI6NTUgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBmaXggcHVzaCBtb2RlCgkgIEZpeCBwdXNoIG1vZGUgYnkgaGFuZGxpbmcgc2luayBldmVudHMgKENBUFMsIFNFR01FTlQpIHByb3Blcmx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1OTkzCgoyMDEzLTA4LTE2IDE1OjQxOjQ4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBSZXBhcnNlIHRoZSBjb25maWcgaWYgdGhlIHNpemUgY2hhbmdlZAoJICBBbHNvIG9ubHkgcmUtaXNzdWUgdGhlIGNhcHMgdXBkYXRlIGlmIHRoZSBwYXJ0IG9mIHRoZSBjb25maWcgdGhhdAoJICBjaGFuZ2VkIGlzIG9uZSB3ZSBjYXJlIGFib3V0LgoKMjAxMy0wOC0xNiAxOTo0ODowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogZml4IGJ1ZmZlcnMgYmVpbmcgZHJvcHBlZCBkdWUgdG8gc2hhZG93ZWQgdmFyaWFibGUKCSAgU3BvdHRlZCBieSBnc3RibHViQGdtYWlsLmNvbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjA5MQoKMjAxMy0wOC0wOCAxMToxOTowMCArMDEwMCAgQ2hyaXMgQmFzcyA8Zmxvb2JsZWZsYW1AZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogb2Zmc2V0IHNlZ21lbnQgbnVtYmVycyBieSBzdGFydE51bWJlcgoJICBGb3IgU2VnbWVudFRlbXBsYXRlIGVsZW1lbnRzIGNvbnRhaW5pbmcgYSBzdGFydE51bWJlciBhdHRyaWJ1dGUsIHRoZQoJICBgbnVtYmVyJyBtZW1iZXIgb2YgR3N0TWVkaWFTZWdtZW50cyBzaG91bGQgYmUgb2Zmc2V0IGJ5IHRoZSB2YWx1ZSBvZgoJICBzdGFydE51bWJlcjsgaG93ZXZlciwgdGhpcyBpcyBub3QgY3VycmVudGx5IHRoZSBjYXNlLiBBcyBhIHJlc3VsdCwgdGhlCgkgIGZpcnN0IFVSSShzKSByZXF1ZXN0ZWQgYnkgdGhlIGRvd25sb2FkIGxvb3Agd2lsbCBiZSB3cm9uZy4KCSAgVGhpcyBjb21taXQgZW5zdXJlcyB0aGF0IHNlZ21lbnQgbnVtYmVycyB3aWxsIGJlIG9mZnNldCBieSBzdGFydE51bWJlcgoJICB3aGVuIG9uZSBpcyBwcmVzZW50IGluIGEgU2VnbWVudFRlbXBsYXRlIGVsZW1lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU2NjEKCjIwMTMtMDgtMDggMTU6MTk6MTUgKzAxMDAgIENocmlzIEJhc3MgPGZsb29ibGVmbGFtQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IHJlbW92ZSBpbmNvcnJlY3QgdGltZXN0YW1wIHNjYWxpbmcuCgkgIFdoZW4gdXNpbmcgYSBTZWdtZW50VGVtcGxhdGUgZWxlbWVudCwgdGhlIHRpbWVzdGFtcHMgb2YgdGhlIGJ1ZmZlcnMKCSAgb3V0cHV0IGJ5IGRhc2hkZW11eCBhcmUgaW5jb3JyZWN0LCBjYXVzaW5nIHByb2JsZW1zIGRvd25zdHJlYW0uCgkgIFRoZSByZWFzb24gaXMgdGhhdCBHc3RNZWRpYVNlZ21lbnQgc3RhcnQgdGltZXMgYXJlIGNhbGN1bGF0ZWQgKGluCgkgIGdzdF9tcGRwYXJzZXJfZ2V0X2NodW5rX2J5X2luZGV4KSBieSBtdWx0aXBseWluZyBzZWdtZW50IGluZGV4IGJ5CgkgIHNlZ21lbnQgZHVyYXRpb24gYW5kIHRoZW4gc2NhbGluZyB0aGUgcmVzdWx0IGFjY29yZGluZyB0aGUgYHRpbWViYXNlJwoJICBhdHRyaWJ1dGUgZnJvbSB0aGUgTVBELiBIb3dldmVyLCB0aGUgc2VnbWVudCBkdXJhdGlvbiBpcyBhbHJlYWR5IGEKCSAgR3N0Q2xvY2tUaW1lIChpLmUuLCBpdCBoYXMgYWxyZWFkeSBiZWVuIHNjYWxlZCBhY2NvcmRpbmcgdG8gdGhlIHRpbWViYXNlCgkgIGZyb20gdGhlIE1QRCBhbmQgY29udmVydGVkIHRvIGEgbmFub3NlY29uZCB2YWx1ZSksIHNvIG11bHRpcGx5aW5nIGl0IGJ5CgkgIHRoZSBzZWdtZW50IGluZGV4IHdpbGwgZ2l2ZSB0aGUgY29ycmVjdCB0aW1lc3RhbXAgd2l0aG91dCB0aGUgbmVlZCBmb3IKCSAgYW55IGZ1cnRoZXIgc2NhbGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTY3OQoKMjAxMy0wOC0xNSAyMDoxMjo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3N0YXRzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zdGF0cy9tcDJvZ2cuYzoKCSAgZXhhbXBsZXM6IHJlbW92ZSBhbm90aGVyIG9ic29sZXRlIGV4YW1wbGUKCjIwMTMtMDgtMTUgMTU6NDY6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9kYWFsYS9nc3RkYWFsYWRlYy5jOgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFlbmMuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuaDoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJICBleHQ6IFVzZSBuZXcgZmx1c2ggdmZ1bmMgb2YgdmlkZW8gY29kZWMgYmFzZSBjbGFzc2VzIGFuZCByZW1vdmUgcmVzZXQgaW1wbGVtZW50YXRpb25zCgoyMDEzLTA4LTE0IDE5OjEyOjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2Fwc2ZpbHRlci9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2Fwc2ZpbHRlci9jYXBzZmlsdGVyMS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nc3RwbGF5Ly5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dzdHBsYXkvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dzdHBsYXkvcGxheWVyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2luZGV4aW5nLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2luZGV4aW5nL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9pbmRleGluZy9pbmRleG1wZWcuYzoKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL1JFQURNRToKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvZGVtby5jOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9wbG90LmM6CgkgIGV4YW1wbGVzOiByZW1vdmUgcHJlaGlzdG9yaWMgZXhhbXBsZXMKCjIwMTMtMDgtMTQgMTg6MTc6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5oOgoJICBpbnRlcmF1ZGlvc3JjOiBtYWtlIHNpbGVuY2UgbWVtb3J5IGFjdHVhbGx5IGNvbnRhaW4gc2lsZW5jZQoJICBpbnN0ZWFkIG9mIHJhbmRvbSBkYXRhLiBSZXBvcnRlZCBieSBNYXJjbyBNaWNoZWxldHRpIG9uCgkgIGdzdHJlYW1lci1kZXZlbC4KCjIwMTMtMDgtMTQgMTM6Mjc6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiYmFzZWJpbjogZml4IGNyaXRpY2FscyB3aGVuIHRyeWluZyB0byBjYXN0IGEgR3N0UGFkIHRvIGEgR3N0RWxlbWVudAoJICBtZXNzYWdlLT5zcmMgbWlnaHQgYmUgYSBHc3RQYWQuIE9ic2VydmVkIGR1cmluZyBnc3QtaW5zcGVjdC0xLjAgLWEKCjIwMTMtMDgtMTQgMTM6NTk6MjcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogLmdpdGlnbm9yZToKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy8uZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBVcGRhdGUgZm9yIG5ldyBmaWxlcyB0byBpZ25vcmUKCjIwMTMtMDgtMTQgMTM6NDE6MzcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5oOgoJICBwZXNwYXJzZTogUmVmYWN0b3J5IHNlY29uZGFyeSBQRVMgZXh0ZW5zaW9uIGhhbmRsaW5nCgkgIFNvbWUgc3RyZWFtcyBoYWQgd3JvbmcgdmFsdWVzIGZvciB0aGUgc3RyZWFtX2lkX2V4dGVuc2lvbiwgbWFrZSBzdXJlCgkgIHdlIG9ubHkgcmVtZW1iZXIgdGhlIHZhbGlkIG9uZXMuCgkgIEZvciBzdHJlYW1zIHdpdGggUEVTX2V4dGVuc2lvbl9maWVsZF9sZW5ndGggPT0gMCwgYXNzdW1lIHRoZXJlJ3Mgbm90aGluZwoJICBlbHNlLgoJICBGb3Igc3RyZWFtcyB0aGF0IHN0YXRlIHRoZXkgaGF2ZSBhIFRSRUYgZXh0ZW5zaW9uIGJ1dCBkb24ndCBoYXZlIGVub3VnaAoJICBkYXRhIHRvIHN0b3JlIGl0LCBqdXN0IGFzc3VtZSBpdCB3YXMgcHJvZHVjZWQgYnkgYSBub24tY29tcGxpYW50IG11eGVyCgkgIGFuZCBza2lwIHRoZSByZW1haW5pbmcgZGF0YS4KCSAgT25seSBzdG9yZSByZW1haW5pbmcgZGF0YSBpbiBzdHJlYW1faWRfZXh0ZW5zaW9uX2RhdGEgaW5zdGVhZCBvZiBzdG9yaW5nCgkgIGRhdGEgd2UgYWxyZWFkeSBwYXJzZS4KCjIwMTMtMDgtMTQgMTA6NDc6MzEgKzAyMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcm1lcmFsaUBnbWFpbC5jb20+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IFJlbW92ZSB1bm5lZWRlZCB1bnJlZiBhbmQgb25seSBzZXQgcGFkIGNhcHMgaWYgd2UgaGF2ZSBjYXBzCgkgIEZpeGVzIGNyYXNoZXMgZHVlIHRvIGludmFsaWQgdW5yZWZzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1OTU3CgoyMDEzLTA4LTE0IDEwOjM5OjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJICBwZXNwYXJzZTogRml4IHBlcyBleHRlbnNpb24gZGF0YSBsZW5ndGggY2hlY2sKCSAgQW5kIHJlbW92ZSBsZW5ndGgvZGF0YSB1cGRhdGVzICh3ZSB1c2UgdGhlIGhlYWRlciBzaXplIGp1c3QgYmVsb3cgdG8KCSAgcHJvcGVybHkgc2V0IHRoZW0pLgoJICBCYXNlZCBvbiBmZWVkYmFjayBmcm9tIFN0YXMgU2VyZ2VldiA8c3RzcEBsaXN0LnJ1PgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3MzQzCgoyMDEzLTA4LTE0IDEwOjMzOjE0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgcGVzcGFyc2U6IFJlbW92ZSB1bnVzZWQgYXJndW1lbnQKCSAgV2UgYWx3YXlzIHByb3ZpZGVkIDAgYXMgdGhlIG9mZnNldCBhbmQgbmV2ZXIgdXNlZCB0aGUgcmV0dXJuZWQgdmFsdWUuCgkgIEJhc2VkIG9uIGZlZWRiYWNrIGZyb20gU3RhcyBTZXJnZWV2IDxzdHNwQGxpc3QucnU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTczNDMKCjIwMTMtMDgtMTMgMTc6NDc6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IG1wZWd2aWRlb3BhcnNlOiB0dXJuIGludGVybmFsIGNvbnNpc3RlbmN5IGNoZWNrIGludG8gYSBnX2Fzc2VydCgpCgkgIFdlIG9ubHkgY2hlY2sgaW5wdXQgZnJvbSB0aGUgQVBJIHVzZXIgd2l0aCBnX3JldHVybl8qX2lmX2ZhaWwoKS4KCSAgSW50ZXJuYWwgc2FuaXR5IGNoZWNrcyBzaG91bGQgdXNlIGdfYXNzZXJ0KCkgaW5zdGVhZCwgd2hpY2ggaXMKCSAgZGlzYWJsZWQgYnkgZGVmYXVsdCBmb3IgcmVsZWFzZXMuCgoyMDEzLTA4LTEzIDE3OjQ1OjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtcGVndmlkZW9wYXJzZXI6IG1pbm9yIGRvYyBmaXhlcwoKMjAxMy0wOC0xMyAxMjo0MToyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogdXNlIGdzdF9kYXRhX3F1ZXVlX3B1c2hfZm9yY2UgZm9yIGFkZGluZyBldmVudHMgdG8gcXVldWUKCSAgVGhpcyBwcmV2ZW50cyBsb2NraW5nIG9uIHN0YXJ0dXAgd2hlbiBhIHN0cmVhbSBvbmx5IGhhcyBhIHNpbmdsZSBidWZmZXIKCSAgZm9yIG9uZSBvZiB0aGUgc3RyZWFtcyBhbmQgbXNzZGVtdXggZGVjaWRlcyB0byBwdXNoIGFuIEVPUyBldmVudCByaWdodAoJICBhZnRlciBpdC4KCjIwMTMtMDgtMDggMTM6MzI6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHVzZSBwdXNoX2ZvcmNlIHdoZW4gYWRkaW5nIGV2ZW50cyB0byB0aGUgZGF0YXF1ZXVlCgkgIFRoaXMgcHJldmVudHMgZGVhZGxvY2tzIG9uIHN0YXJ0dXAgb24gZmlsZXMgdGhhdCBoYXZlIG9ubHkgYSB2ZXJ5CgkgIGxhcmdlIGJ1ZmZlciBmb3IgYSBzdHJlYW0gYW5kIHRoZSBxdWV1ZSBpcyBmaWxsZWQgYW5kIHdpbGwgbG9jayBvbgoJICB0aGUgZW9zIGV2ZW50IHRoYXQgaXMgcHVzaGVkIGFmdGVyIHRoZSBidWZmZXIuIEFzIG5vIGJ1ZmZlcnMgaGF2ZSB5ZXQKCSAgYmVlbiBwdXNoZWQgdG8gb3RoZXIgc3RyZWFtcywgdGhlIHBpcGVsaW5lIGxvY2tzIG9uIHByZXJvbGwKCjIwMTMtMDctMzAgMTU6MTc6MjMgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBzdXBwb3J0IGZpZWxkIGVuY29kaW5nIGZvciBpbnRlcmxhY2VkIHZpZGVvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUxNDQKCjIwMTMtMDgtMTIgMDE6MDI6NTEgLTA0MDAgIEFsZXhhbmRyZSBSb3N0b3Z0c2V2IDx0ZXRyb21pbm9AZ2VudG9vLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgbmVvbmh0dHBzcmM6IGFsbG93IGJ1aWxkaW5nIHdpdGggbmVvbi0wLjMwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU4MTIKCjIwMTMtMDgtMTIgMTI6Mjc6MzMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cDogTGV0IHBhY2tldHMgdGhyb3VnaCB3aXRob3V0IHRvdWNoaW5nIHRoZW0gaWYgbm8gY3J5cHRvIG9yIGF1dGggaXMgc2V0CgoyMDEzLTA4LTEyIDEyOjI3OjE2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBSZWZhY3RvciBjb2RlIGEgYml0CgkgIFNpbXBsaWZ5IHRoZSBlcnJvciBoYW5kbGluZyBjYXNlIGFuZCBnZXQgdGhlIHBhY2tldCBwdXNoIG91dCBvZiB0aGUgaWYoKQoKMjAxMy0wOC0xMiAxMTo1NjoyNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogRG9uJ3QgZXJyb3Igb24gaW52YWxpZCBwYWNrZXQsIGp1c3QgZHJvcCBpdAoKMjAxMy0wOC0wNyAxNTowMTozMyArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogRml4IHRoZSBTZXF1ZW5jZUxheWVyIGhhbmRsaW5nIGZvciBhZHZhbmNlZCBwcm9maWxlLgoJICBUaGUgU2VxdWVuY2UgSGVhZGVyIERhdGEgU3RydWN0dXJlIFNUUlVDVF9DIGZvciBBZHZhbmNlZCBQcm9maWxlCgkgIGhhcyBvbmx5IGEgb25lIHZhbGlkIGZpZWxkIHdoaWNoIGlzIHRoZSBwcm9maWxlIGluZGljYXRvci4gRG9uJ3QKCSAgdXNlIHRoZSByZXNlcnZlZCBmaWVsZHMgZm9yIGZwcyB1cGRhdGUgbGlrZSBTaW1wbGUvTWFpbiBwcm9maWxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NjY3CgoyMDEzLTA4LTA3IDE0OjUyOjQzICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBGaXggc2VxIGhkciBTVFJVQ1RfQSBoYW5kbGluZyBmb3IgYWR2YW5jZWQgcHJvZmlsZS4KCSAgVGhlIFNlcXVlbmNlIEhlYWRlciBEYXRhIFN0cnVjdHVyZSBTVFJVQ1RfQSBmb3IgYWR2YW5jZWQgcHJvZmlsZQoJICBtYXkgYmUgZWlnaHQgY29uc2VjdXRpdmUgemVybyBieXRlcy5Eb24ndCB0cnkgdG8gb3ZlcnJpZGUgdGhlCgkgIHdpZHRoIGFuZCBoZWlnaHQgdmFsdWVzIGluIHRoaXMgY2FzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTY2NwoKMjAxMy0wOC0wNyAxMDoxNDoyMCArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IGZpeCBTU05EIGRhdGEgc2l6ZQoJICBBSUZGIGNodW5rIHNpemUgZG9lcyBub3QgaW5jbHVkZSB0aGUgY2h1bmsgaGVhZGVyIHNpemUgKDggYnl0ZXMpLCBzbyB0aGUKCSAgU1NORCBkYXRhIHNpemUgaXMgZXF1YWwgdG8gdGhlIGNodW5rIHNpemUgbWludXMgdGhlIFNTTkQgaGVhZGVyIHNpemUgKDgKCSAgYnl0ZXMpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1Njc1CgoyMDEzLTA3LTEzIDAyOjUwOjUyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogYWRkIHN1cHBvcnQgZm9yIHJlZGlyZWN0aW9ucwoKMjAxMy0wOC0wMiAyMDozNzozMCArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IHNlbmQgY29kZWMgdGFnIGZvciBlYWNoIHN0cmVhbQoKMjAxMy0wOC0xMCAyMTozNDoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3V2Y2gyNjRkZW11eC5jOgoJICB0ZXN0czogdXZjaDI2NGRlbXV4OiBzZW5kIHN0cmVhbS1zdGFydCBldmVudHMgYW5kIGZpeCBldmVudCBvcmRlcgoKMjAxMy0wOC0xMCAyMTozMzozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6CgkgIHV2Y2gyNjRtanBnZGVtdXg6IGZpeCBldmVudCBvcmRlcmluZwoKMjAxMy0wOC0xMCAyMDowMjowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wbGV4LmM6CgkgIHRlc3RzOiBtcGxleDogZml4ICdHb3QgZGF0YSBmbG93IGJlZm9yZSBzdHJlYW0tc3RhcnQgZXZlbnQnIGZhaWx1cmUKCjIwMTMtMDgtMTAgMTk6NTQ6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOgoJICB0ZXN0czogbXBlZzJlbmM6IGZpeCAnR290IGRhdGEgZmxvdyBiZWZvcmUgc3RyZWFtLXN0YXJ0IGV2ZW50JyBmYWlsdXJlCgoyMDEzLTA4LTEwIDE5OjQ0OjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogZml4IENBUFMgcXVlcnkKCSAgV2FzIGNhdXNpbmcgY3JpdGljYWxzIGluIGRlY29kZWJpbi9wbGF5YmluIGJlY2F1c2UgdGhlIGNhcHMKCSAgcXVlcnkgZG9uZSB3aGVuIGV4cG9zaW5nIHBhZHMgd291bGQgcmV0dXJuIEFOWSBjYXBzLgoKMjAxMy0wOC0xMCAxOTo0Mzo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IGRvbid0IHVucmVmIE5VTEwgYnVmZmVyCgoyMDEzLTA4LTA3IDE5OjA4OjMzICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogc2V0IG1pc3NpbmcgbGF5b3V0IGZpZWxkIGluIHNyY3BhZCBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU2NzQKCjIwMTMtMDgtMDcgMTc6Mjg6MjkgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBzZW5kIHN0YXJ0IHN0cmVhbSBldmVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1Njc0CgoyMDEzLTA4LTA2IDE2OjUzOjM3ICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogZml4IGJ1ZmZlcnMgaW5pdGlhbGlzYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTY3NAoKMjAxMy0wOC0wMiAxNDoxMTowMSArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3pAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBidWlsZDogYWRkIHN1YmRpci1vYmplY3RzIHRvIEFNX0lOSVRfQVVUT01BS0UKCSAgRml4ZXMgd2FybmluZ3Mgd2l0aCBhdXRvbWFrZSAxLjE0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MzUwCgoyMDEzLTA4LTA5IDIwOjEyOjA5ICswMTAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBjcmVhdGUvcmVtb3ZlIG9yYyBkaXJlY3RvcnkgYXQgcHJvcGVyIHRpbWUKCSAgQmVmb3JlIGF1dG9tYWtlIGNyZWF0ZXMgLmRlcHMgZGlyZWN0b3JpZXMsIGFuZCBkdXJpbmcgZGlzdGNsZWFuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MzUwCgoyMDEzLTA4LTA5IDIwOjEwOjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgdGVzdHM6IGZpeCBidWlsZCBvZiBiYXNlYXVkaW92aXN1YWxpemVyIHRlc3Qgd2l0aCBzdWJkaXItb2JqZWN0cyBvcHRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTM1MAoKMjAxMy0wOC0wNyAwOTowNDozOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogVXNlIHNsaWNlIHR5cGUgdG8gZGV0ZXJtaW5lIGlmIGZyYW1lIGlzIGtleWZyYW1lCgkgIFRoaXMgaXMgdGhlIHNhbWUgYmVoYXZpb3VyIGFzIHByZS1iYXNlcGFyc2UtcmVmYWN0b3JpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTU5OAoKMjAxMy0wOC0wMyAxNDoyMDo0NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IERvIG5vdCB0cmlnZ2VyIGNhcHMgdXBkYXRlIGlmIHdlIG9ubHkgaGF2ZSBQUFMgdXBkYXRlcwoJICBVcGRhdGluZyBjYXBzIHJlc3VsdHMgaW4gZG93bnN0cmVhbSBlbGVtZW50cyBwb3RlbnRpYWxseSByZWNvbmZpZ3VyaW5nIHRoZW1zZWx2ZXMKCSAgKHN1Y2ggYXMgZGVjb2RlcnMpLiBJZiB3ZSBkbyB0aGlzIGluIHRoZSBtaWRkbGUgb2Yga2V5ZnJhbWVzLCB3ZSB3b3VsZCByZXN1bHQKCSAgaW4gdGhvc2UgZWxlbWVudHMgYmVpbmcgcmVjb25maWd1cmVkIGFuZCBoYW5kbGluZyBnYXJiYWdlIHVudGlsIHRoZSBuZXh0IGtleWZyYW1lLgoJICBJbnN0ZWFkIG9mIHRoaXMgb25seSBzZW5kIChwb3RlbnRpYWxseSkgbmV3IGNvZGVjX2RhdGEgd2hlbiB3ZSBoYXZlICpib3RoKiBTUFMgYW5kCgkgIFBQUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTMzMwoKMjAxMy0wNy0zMSAxMTo1NjozOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXZ0Yy9nc3RpdnRjLmM6CgkgIGl2dGM6IHF1aWV0IEZJWE1FIHdoZW4gaXQncyBub3QgcmVsZXZhbnQKCjIwMTMtMDctMzEgMTE6NTQ6MDYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2l2dGMvZ3N0aXZ0Yy5jOgoJICBpdnRjOiBpbXBsZW1lbnQgbmV3IGVkZ2UtZGlyZWN0ZWQgdXBzYW1wbGluZwoKMjAxMy0wOC0wMyAxODowNzozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogcmVtb3ZlIHVzZSBvZiBfWE9QRU5fU09VUkNFCgkgIFdoaWNoIGNhdXNlcyBwcm9ibGVtcyB3aGVuIHVzZWQgd2l0aCBfR05VX1NPVVJDRSBhcHBhcmVudGx5LCBhbmQgaXQKCSAgc2VlbXMgaXQgd2FzIG9ubHkgc2V0IGJlY2F1c2Ugb2YgdXNsZWVwKCksIHdoaWNoIHdlIGNhbiBqdXN0IHJlcGxhY2UKCSAgd2l0aCBnX3VzbGVlcCgpIHVudGlsIHdlIGdldCByaWQgb2YgdGhvc2UgZW50aXJlbHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUyMDgKCjIwMTMtMDgtMDIgMTU6MTI6MTcgKzAyMDAgIEJlcm5oYXJkIE1pbGxlciA8YmVybmhhcmQubWlsbGVyQHN0cmVhbXVubGltaXRlZC5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzcmMuYzoKCSAgYmx1ZXo6IHJldHVybiBHU1RfRkxPV19FT1MgaW4gYXZkdHBzcmMgY3JlYXRlIHdoZW4gc3RyZWFtIGlzIEVPRgoJICBTaWduZWQtb2ZmLWJ5OiBCZXJuaGFyZCBNaWxsZXIgPGJlcm5oYXJkLm1pbGxlckBzdHJlYW11bmxpbWl0ZWQuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MzQ5CgoyMDEzLTA4LTAxIDExOjAxOjAzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IExvb2sgaGFyZGVyIGZvciBuZXh0IHN5bmMgcG9zaXRpb24KCSAgSWYgZXZlciB3ZSBsb3NlIHN5bmMsIHdlIHdlcmUganVzdCBjaGVja2luZyBmb3IgdGhlIG5leHQgMHg0NyBtYXJrZXIgLi4uCgkgIHdoaWNoIG1pZ2h0IGFjdHVhbGx5IGhhcHBlbiB3aXRoaW4gYSBtcGVnLXRzIHBhY2tldC4KCSAgSW5zdGVhZCBjaGVjayBmb3IgMyByZXBlYXRpbmcgMHg0NyBhdCB0aGUgZXhwZWN0ZWQgcGFja2V0IHNpemUgaW50ZXJ2YWwsCgkgIHdoaWNoIHRoZSBzYW1lIGxvZ2ljIHdlIHVzZSB3aGVuIHdlIGluaXRpYWxseSBsb29rIGZvciB0aGUgcGFja2V0IHNpemUuCgoyMDEzLTA4LTAxIDEwOjU4OjIzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEZpeCBQQ1IgTFVUIHRhYmxlCgkgIFdlIHdlcmUgb25seSByZXNldHRpbmcgdGhlIGZpcnN0IDUxMiB2YWx1ZXMgb2YgdGhlIGxvb2t1cCB0YWJsZSBpbnN0ZWFkCgkgIG9mIHRoZSB3aG9sZSA4MTkyLgoJICBUaGlzIHJlc3VsdGVkIGluIGFueSBQQ1IgUElEIG92ZXIgMHgwMjAwIC4uLiBlbmRpbmcgdXAgdGFraW5nIHRoZSBmaXJzdCBQQ1IKCSAgdGFibGUgYXJvdW5kIDooCgoyMDEzLTA3LTMwIDIyOjA2OjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBwcm9wZXJseSBlcnJvciBvdXQgd2hlbiBtYW5pZmVzdCBoYXMgbm8gc3RyZWFtcwoJICBQb3N0IGFuIGVycm9yIG1lc3NhZ2Ugd2hlbiB0aGUgbWFuaWZlc3QgaXMgcGFyc2VkIGFuZCBubyB2YWxpZCBzdHJlYW1zCgkgIGFyZSBmb3VuZCBiZSBhY3RpdmF0ZWQgYW5kIHVzZWQuCgkgIEZpeGVzICM3MDQzMDgKCjIwMTMtMDctMzAgMTY6MDg6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHM6IHByaXZhdGUvdGVsZXRleHQgLT4gYXBwbGljYXRpb24veC10ZWxldGV4dAoKMjAxMy0wNy0yOSAyMToyNToxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IHVwZGF0ZQoKMjAxMy0wNy0yOSAyMToyNDo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIC5naXRpZ25vcmU6CgkgIHRlc3RzOiBpZ25vcmUgbmV3IGV4YW1wbGUgYmluYXJpZXMKCjIwMTMtMDctMjkgMjE6MjM6NDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBwby9MSU5HVUFTOgoJKiBwby9lbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL3N2LnBvOgoJKiBwby92aS5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTMtMDctMjkgMTQ6NDg6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4xLjMgPT09CgoyMDEzLTA3LTI5IDEzOjUyOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZ2xnbGVzc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMS4zCgoyMDEzLTA3LTI5IDEzOjUyOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEzLTA3LTI5IDEyOjE3OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJICBtaWRpOiBGaXggaGFuZGxpbmcgb2YgdGhlIFNFR01FTlQgcXVlcnkKCjIwMTMtMDctMjkgMTI6MTQ6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgZ3N0OiBEb24ndCBzd2FwIHN0YXJ0L3N0b3AgZm9yIG5lZ2F0aXZlIHJhdGVzIGluIHRoZSBTRUdNRU5UIHF1ZXJ5CgoyMDEzLTA3LTI5IDExOjAyOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IEltcGxlbWVudCBTRUdNRU5UIHF1ZXJ5CgoyMDEzLTA3LTI5IDExOjAxOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBJbXBsZW1lbnQgU0VHTUVOVCBxdWVyeQoKMjAxMy0wNy0yOSAxMTowMDoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogSW1wbGVtZW50IFNFR01FTlQgcXVlcnkKCjIwMTMtMDctMjkgMDk6MzU6MDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZXNjLmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RwZXNmaWx0ZXIuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QvYXVkaW9meGJhZC9nc3RhdWRpb2NoYW5uZWxtaXguYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0d2F0Y2hkb2cuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkqIGdzdC9pdnRjL2dzdGNvbWJkZXRlY3QuYzoKCSogZ3N0L2l2dGMvZ3N0aXZ0Yy5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0c2NlbmVjaGFuZ2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2RpZmYuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R6ZWJyYXN0cmlwZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uaW5mby5jOgoJKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb21lbW9yeS5jOgoJICBhbGw6IEZpeCBmb3IgR1NUX0RJU0FCTEVfR1NUX0RFQlVHCgkgIFdoZXJlIGFwcGxpY2FibGUsIHJlbW92ZSBtZXRob2RzIHRoYXQgZG9uJ3QgZG8gYW55dGhpbmcgZGlmZmVyZW50IHRoYW4KCSAgdGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24uCgoyMDEzLTA3LTI5IDA4OjQ2OjM5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBkb2NzL3NwZWM6IFJlYWxseSByZW1vdmUgYWxsIG1lbnRpb25zIG9mIENFTFQgcGx1Z2luCgoyMDEzLTA3LTI5IDA4OjI5OjM0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogU2hvdyBOQUxVIHN0cmluZyB0eXBlIGluIGRlYnVnIG1lc3NhZ2VzCgkgIElmIHlvdSBrbm93IHRoZSBOQUxVIHR5cGUgYnkgaGVhcnQgSSB0aXAgbXkgaGF0IHRvIHlvdSwgZm9yIHRoZSByZXN0IG9mCgkgIHVzIG1lcmUgbW9ydGFscyB0aGlzIGlzIGEgYml0IG1vcmUgaGVscGZ1bAoKMjAxMy0wNy0yOSAwODoyODoxNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBSZW1vdmUgdW51c2VkIG1hY3JvcwoKMjAxMy0wNy0yOSAwODoyMzozMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQWRkIG1vcmUgQUMzIGRldGVjdGlvbiBjYXNlcwoJICBBVFNDIGFjMyBzdHJlYW1zIGFyZSBhbHdheXMgZ3VhcmFudGVlZCB0byBiZSBBQzMgaWYgRUFDMyBkZXNjcmlwdG9yCgkgIGlzIG5vdCBwcmVzZW50CgkgIElmIHN0cmVhbSByZWdpc3RyYXRpb24gaWQgaXMgJ0FDLTMnIHRoZW4gaXQncyBhbHNvIGd1YXJhbnRlZWQgdG8gYmUgQUMzLgoJICBGaW5hbGx5IGlmIEFDMyBkZXNjcmlwdG9yIGlzIHByZXNlbnQgaXQncyBndWFyYW50ZWVkIHRvIGJlIEFDMy4KCSAgT25seSBzaWxlbmNlcyBhIHdhcm5pbmcsIGJ1dCBzdGlsbC4KCjIwMTMtMDctMjkgMDg6MjA6MTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRmx1c2ggb3V0IHBlbmRpbmcgZGF0YSBvbiBFT1MKCSAgRW5zdXJlcyBkb3duc3RyZWFtIGVsZW1lbnRzIChsaWtlIGRlY29kZXJzKSByZWFsbHkgZ2V0IGFsbCB0aGUgZGF0YQoKMjAxMy0wNy0yOSAwODoxODoyNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYWNrZXRpemVyOiBNb3JlIEFGQyBmbGFncwoJICBJIHNob3VsZCBoYXZlIHB1dCB0aG9zZSBpbiBhIHByZXZpb3VzIGNvbW1pdC4gc29ycnkgOigKCjIwMTMtMDctMjkgMDg6MTQ6NTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkgIG1wZWdkZWZzOiBTaW1wbGlmeSBQQ1IvUFRTL0RUUyA9PiBHU1QgY29udmVyc2lvbiBtYWNyb3MKCSAgV2Uga25vdyB3ZSB3aWxsIG5vdCBvdmVyZmxvdyA2NCBiaXRzLCB0aGVyZWZvcmUganVzdCB1c2UgZGlyZWN0CgkgIG11bHRpcGxpY2F0aW9uL2RpdmlzaW9uIGluc3RlYWQgb2YgdGhlIHNjYWxlIG1ldGhvZCAodHJpbXMgdXNhZ2UgZnJvbQoJICA1MCBpbnN0cnVjdGlvbiBjYWxscyB0byAyLzMpLgoKMjAxMy0wNy0yOCAyMDoxNDo1NSArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYzoKCSAgZHZkc3B1OiBhcnRpZmFjdHMgd2hlbiByZW5kZXJpbmcgY2xpcHBlZCBzcHUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTAzOQoKMjAxMy0wNy0yOCAxODoyODozMCArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGRvIG5vdCB1cGRhdGUgY2FwcyB3aGVuIGJpdHJhdGUgY2hhbmdlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MDM1CgoyMDEzLTA3LTI4IDE0OjIyOjM4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIFJFUVVJUkVNRU5UUzoKCSAgRml4IFVSSXMgaW4gUkVRVUlSRU1FTlRTCgoyMDEzLTA3LTI4IDEzOjEyOjMyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvY2VsdC9NYWtlZmlsZS5hbToKCSogZXh0L2NlbHQvZ3N0Y2VsdC5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuaDoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmg6CgkgIGNlbHQ6IHJlbW92ZSwgcmVwbGFjZWQgYnkgb3B1cy4KCjIwMTMtMDctMjggMTc6Mjk6MzIgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJICB1dmNoMjY0X21qcGdkZW11eDogUmVtb3ZlIGR1cGxpY2F0ZWQgdmFyaWFibGVzCgoyMDEzLTA3LTI4IDE3OjI1OjEwICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguYzoKCSAgdXZjaDI2NF9tanBnZGVtdXg6IERvbid0IHVubWFwL3VucmVmIGJ1ZmZlciBpZiBpdCdzIHB1c2hlZCBvdXQgYXMtaXMKCjIwMTMtMDctMjYgMTg6MzM6MDAgKzAwMDAgIFJvYmVydCBLcmFrb3JhIDxyb2Iua3Jha29yYUBtZXNzYWdlbmV0c3lzdGVtcy5jb20+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJICB1dmN2NGwyX21qcGVnZGVtdXg6IFVubWFwIGJ1ZmZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5NTE3CgoyMDEzLTA3LTI4IDE1OjQ2OjMzICswMjAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDx1cmFldXNAbGludXhyaXNpbmcub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgdG8gYmUgY3VycmVudAoKMjAxMy0wNy0yNyAxMjoxNzozNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogSERWIG9ubHkgaGFzIG1wZWcgMSBhdWRpbyBsYXllciAyCgkgIFNldCB0aGF0IGFjY29yZGluZ2x5IG9uIHRoZSBjYXBzCgoyMDEzLTA3LTI2IDE3OjMxOjIyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogVmFyaW91cyBkZWJ1ZyBhcmd1bWVudCBmaXhlcwoJICBtYWlubHkgR19HVUlOVDE2X0ZPUk1BVCB0byAuLi4gdGhlIHJpZ2h0IHR5cGUgKGd1aW50MzIgb3IgZ3VpbnQ4KQoKMjAxMy0wNy0yNiAxNzoyNTo0MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogUmVtb3ZlIGRlYWQgYXNzaWdubWVudAoJICBoYXJkZXIgPyA6KQoKMjAxMy0wNy0yNiAxMzoyMDoyNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBsYWRzcGE6IGluaXRpYWxpemUgZGVidWcgY2F0ZWdvcnkgZWFybGllcgoJICBZb3Uga25vdywgYmVmb3JlIGl0J3MgdXNlZC4KCjIwMTMtMDctMjYgMDc6NTM6MDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkgIG1wZWd0c2RlbXV4OiBBZGQgbW9yZSBmbGFnIGRlYnVnZ2luZyBmb3IgUEVTIGFuZCBUUyBwYWNrZXRzCgkgIEhlbHBzIHdpdGggZGVidWdnaW5nIGlzc3Vlcy4gQW5kIGFsc28gcmVtb3ZlIHVudXNlZCB2YXJpYWJsZSAob3BjcikKCSAgVGhpcyB3aWxsIGFsc28gYWxsb3cgdXMgaW4gdGhlIGZ1dHVyZSB0byBwcm9wZXJseSBkZXRlY3Q6CgkgICogcmFuZG9tLWFjY2VzcyBsb2NhdGlvbiAodG8gZW5hYmxlIGtleWZyYW1lIG9ic2VydmF0aW9uIGFuZAoJICBwb3RlbnRpYWxseSBzZWVraW5nCgkgICogZGlzY29udCBsb2NhdGlvbiAodG8gcHJvcGVybHkgaGFuZGxlIHJlc2V0cykKCSAgKiBzcGxpY2UgbG9jYXRpb24gKHRvIHByb3Blcmx5IGhhbmRsZSBuZXcgc3RyZWFtIGNoYW5nZXMpCgoyMDEzLTA3LTI0IDE3OjQ5OjU5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyOiBNYWtlIHdhcm5pbmdzIG1vcmUgbWVhbmluZ2Z1bAoJICBCeSBzdGF0aW5nIHdoZXRoZXIgd2UgZG9uJ3QgaGF2ZSBlbm91Z2ggZGF0YSBvciBpdCdzIGEgY29ycnVwdGVkCgkgIHBhY2tldAoKMjAxMy0wNy0yNCAxNzo0OToyMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSAgcGVzcGFyc2U6IERlbW90ZSBhIFdhcm5pbmcKCSAgV2UgYWN0dWFsbHkgbm93IGtub3cgd2hhdCB0byBkbyAuLi4gaGF2ZSBhIGxvZyBtZXNzYWdlIDopCgoyMDEzLTA3LTI1IDE1OjA2OjEyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogYXZvaWQgdXNpbmcgY2xpcHBlZCBvdXQgYnVmZmVycwoJICBJZiBhIGJ1ZmZlciB3YXMgZW50aXJlbHkgY2xpcHBlZCBvdXQgKGllLCBpdCdzIG91dCBvZiB0aGUgc2VnbWVudAoJICBlbnRpcmVseSksIHdlJ2xsIGVuZCB1cCB3aXRoIGEgTlVMTCBidWZmZXIsIHdoaWNoIHdlIGRvbid0IHdhbnQKCSAgdG8gcHJvY2Vzcy9kZXJlZmVyZW5jZS4KCjIwMTMtMDctMjQgMTU6NTA6MTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgdHNkZW11eDogUmVtZW1iZXIgcmVxdWVzdGVkIHNlZWsgcmF0ZSBhbmQgdXNlIGl0CgkgIFRoZSBuZXcgc2VlayBoYW5kbGluZyByZS1jcmVhdGVzIHRoZSBzZWdtZW50IHRpbWUgaW5mb3JtYXRpb24gb25jZSBpdAoJICBoYXMgZW5vdWdoIGluZm9ybWF0aW9uIGFmdGVyIGEgc2Vlay4KCSAgVGhlIHByb2JsZW0gd2FzIHRoYXQgd2UnZCBjb21wbGV0ZWx5IGlnbm9yZSB0aGUgcmVxdWVzdGVkIHJhdGUuIFNvIHN0b3JlCgkgIHRoYXQgYW5kIHVzZSBpdCBpbiB0aGUgbmV3bHkgY3JlYXRlZCBzZWdtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk0MzY5CgoyMDEzLTA3LTI0IDA5OjE4OjQzICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IGF0ZGVjOiBkZXN0cm95IHRoZSBxdWV1ZSBpZiBzZXRfZm9ybWF0IGZhaWxzCgoyMDEzLTA3LTI0IDA5OjE1OjQ5ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IGF0ZGVjOiByZW1vdmUgYysrIHN0eWxlIGNvbW1lbnRzCgoyMDEzLTA3LTI0IDA5OjExOjU5ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmg6CgkgIGFwcGxlbWVkaWE6IGF0ZGVjOiAxc3Qgcm91bmQgb2YgZml4ZXMKCjIwMTMtMDctMjMgMTA6MTA6MTMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogRml4IGNvZGVjX2RhdGEgaGFuZGxpbmcKCSAgU2V0IHRvIHNlcXVlbmNlX29mZnNldCBzbyB0aGF0IF9wcm9jZXNzX2NvbmZpZyBhY2NlcHRzIGl0LgoJICAoYnR3OiBzZXFfb2Zmc2V0IHVzYWdlIHRocm91Z2hvdXQgdGhpcyBwbHVnaW4gaXMgcmVhbGx5IGRvZGd5KQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyODA2CgoyMDEzLTA2LTE0IDA3OjI4OjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQ3JlYXRlIGFuZCBzZW5kIGNvZGVjIHRhZwoJICBIZWxwcyB3aXRoIGFwcGxpY2F0aW9ucyB0aGF0IHJlbHkgb24gcHJlc2VuY2Ugb2YgdGhhdCB0YWcgZm9yIHVzZXItZmFjaW5nCgkgIGluZm9ybWF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMjE2CgoyMDEzLTA3LTIzIDEzOjI5OjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBJbXBsZW1lbnQgcGtjczcgdW5wYWRkaW5nCgkgIEV2ZXJ5IGVuY3J5cHRlZCBmcmFnbWVudCB3aWxsIGJlIGEgbXVsdGlwbGUgb2YgMTI4IGJpdHMsIHRoZSBsYXN0IGJ5dGUKCSAgY29udGFpbnMgdGhlIG51bWJlciBvZiBieXRlcyB0aGF0IHdlcmUgYWRkZWQgYXMgcGFkZGluZyBpbiB0aGUgZW5kCgkgIGFuZCBzaG91bGQgYmUgcmVtb3ZlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTY3MwoKMjAxMy0wNy0yMyAxMDozMDozOSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuaDoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGFwcGxlbWVkaWE6IGFkZCBBdWRpb1Rvb2xib3ggYmFzZWQgYXVkaW8gZGVjb2RlcgoKMjAxMy0wNy0yMyAxMDozMzoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbms6IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTIzIDEwOjMxOjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgbXhmZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTIzIDEwOjI0OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICB0c2RlbXV4OiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMyAxMDoyMToyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5oOgoJICB0c3BhcnNlOiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMyAxMDoxNTo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMyAxMDoxNDowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkqIGdzdC9taWRpL21pZGlwYXJzZS5oOgoJICBtaWRpcGFyc2U6IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTIzIDEwOjExOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTIzIDEwOjA5OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguaDoKCSAgcmVzaW5kdmQ6IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTIzIDEwOjA3OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTIzIDEwOjA0OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2g6IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTIyIDE3OjMwOjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogZml4IG5lZ290aWF0aW9uIGlmIGZpbHRlciBjYXBzIGFyZSBwYXNzZWQgdG8gcXVlcnlfY2FwcwoJICBNYWtlIHZpZGVvdGVzdHNyYyAhIGludGVybGFjZSAhICRhbnl0aGluZyB3b3JrIGFnYWluLiBQcm9ibGVtCgkgIHdhcyB0aGF0IHVwc3RyZWFtIGZpbHRlciBjYXBzIHdlcmUgcGFzc2VkIHdoaWNoIGNvbnRhaW5lZAoJICBpbnRlcmxhY2UtbW9kZT1wcm9ncmVzc2l2ZSwgd2hpY2ggZG9lc24ndCBpbnRlcnNlY3QgdG9vIHdlbGwKCSAgd2l0aCBpbnRlcmxhY2UncyBzb3VyY2UgcGFkIHRlbXBsYXRlIGNhcHMsIGxlYWRpbmcgdG8KCSAgbm90LW5lZ290aWF0ZWQgZXJyb3JzLgoKMjAxMy0wNy0yMiAxNDo1NjozMiArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogRG9uJ3QgYWJvcnQgb24gaW52YWxpZCBzdHJlYW1zCgkgIEp1c3QgcmV0dXJuIGFuIGVycm9yCgoyMDEzLTA3LTE5IDE1OjMwOjQyICswMTAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvaGxzL01ha2VmaWxlLmFtOgoJKiBleHQvaGxzL2dzdGZyYWdtZW50LmM6CgkqIGV4dC9obHMvZ3N0ZnJhZ21lbnQuaDoKCSAgaGxzOiBmaXggZm9yIGFzc2VydCBmYWlsdXJlIHdoZW4gdXNpbmcgZW5jcnlwdGVkIEhMUyBzdHJlYW1zCgkgIFdoZW4gdXNpbmcgYW4gSExTIGVuY3J5cHRlZCBzdHJlYW0sIGFuIGFzc2VydGlvbiBmYWlsdXJlIGlzIHRocm93bjoKCSAgKGdzdC1sYXVuY2gtMS4wOjMxMDI4KTogR0xpYi1HT2JqZWN0LVdBUk5JTkcgKio6IGNhbm5vdCByZWdpc3RlcgoJICBleGlzdGluZyB0eXBlIGBHc3RGcmFnbWVudCcKCSAgKGdzdC1sYXVuY2gtMS4wOjMxMDI4KTogR0xpYi1DUklUSUNBTCAqKjogZ19vbmNlX2luaXRfbGVhdmU6IGFzc2VydGlvbgoJICBgcmVzdWx0ICE9IDAnIGZhaWxlZAoJICBFdmVudHVhbGx5IHRyYWNrZWQgdGhpcyBkb3duIHRvIHRoZSBjYWxsIGdzdF9mcmFnbWVudF9uZXcoKQoJICBpbiBmdW5jdGlvbiBnc3RfaGxzX2RlbXV4X2RlY3J5cHRfZnJhZ21lbnQuCgkgIFRoZSBHc3RGcmFnbWVudCBjbGFzcyBpcyBkZWZpbmVkIGluIGV4dC9obHMvZ3N0ZnJhZ21lbnQuYyBhbmQgaW4KCSAgZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0ZnJhZ21lbnQuYy4gSGF2aW5nIHR3byBjbGFzcyBkZWZpbml0aW9ucwoJICB3aXRoIHRoZSBzYW1lIG5hbWUgY2F1c2VzIHRoZSBhc3NlcnQgZmFpbHVyZSB3aGVuIHRyeWluZyB0byBhbGxvY2F0ZQoJICBHc3RGcmFnbWVudC4gRGVsZXRpbmcgdGhlIHZlcnNpb24gZnJvbSBobHMgYW5kIGVkaXRpbmcgdGhlCgkgIE1ha2VmaWxlLmFtIHNvbHZlcyB0aGlzIGFzc2VydCBmYWlsdXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0NTU1CgoyMDEzLTA3LTE5IDIzOjQyOjEyICswMjAwICBZb3VyaSBXZXN0ZXJtYW4gPHRldHJhY29uQGdtYWlsLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkgIGRlY2tsaW5rOiBhY3R1YWxseSBlbmFibGUgZGVja2xpbmtzaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ1MDUKCjIwMTMtMDctMTkgMjA6MDk6MjggKzAyMDAgIFlvdXJpIFdlc3Rlcm1hbiA8dGV0cmFjb25AZ21haWwuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rOiBhZGQgImRldmljZS1udW1iZXIiIHRvIHNlbGVjdCBmcm9tIG11bHRpcGxlIGRldmljZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDUwNQoKMjAxMy0wNy0yMiAxMDo0NjoyMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBPbmx5IG1hcCBpbnB1dCBidWZmZXIgb25jZQoJICBJbnN0ZWFkIG9mIGNvbnN0YW50bHkgbWFwL3VubWFwcGluZyBpdCBhIGJpdCBldmVyeXdoZXJlLCB3ZSBwYXNzIGFsb25nCgkgIHRvIGFsbCBmdW5jdGlvbnMgdGhlIEdzdE1hcEluZm8uCgkgIE1ha2VzIG1wZWcgdmlkZW8gZnJhbWUgcGFyc2luZyA2JSBmYXN0ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjMzMAoKMjAxMy0wMy0xMCAxMjowNzo0MCArMTMwMCAgRG91Z2xhcyBCYWduYWxsIDxkb3VnbGFzQHBhcmFkaXNlLm5ldC5uej4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIHRzZGVtdXg6IGRpc2VudGFuZ2xlIHJlcXVlc3RlZCBwcm9ncmFtIG51bWJlciBmcm9tIGFjdGl2ZSBwcm9ncmFtIG51bWJlcgoJICBUaGUgcHJvZ3JhbV9udW1iZXIgYXR0cmlidXRlIHdhcyBvdmVybG9hZGVkLCB0cnlpbmcgdG8gaW5kaWNhdGUgYm90aAoJICB0aGUgY3VycmVudGx5IHBsYXlpbmcgcHJvZ3JhbSwgYW5kIHRoZSBwcm9ncmFtIHJlcXVlc3RlZCB2aWEgdGhlCgkgICJwcm9ncmFtLW51bWJlciIgcHJvcGVydHkuICBUaGUgZW5kIHJlc3VsdCB3YXMgdGhhdCBzZXR0aW5nIHRoZQoJICBwcm9wZXJ0eSBkaWRuJ3Qgd29yayAoc2VlICM2OTA5MzQpLgoJICBJIGFkZGVkIGEgbmV3IHJlcXVlc3RlZF9wcm9ncmFtX251bWJlciBmaWVsZCByYXRoZXIgdGhhbiByZXZpdmluZyB0aGUKCSAgY3VycmVudF9wcm9ncmFtX251bWJlciBmaWVsZCBiZWNhdXNlIGl0IHNlZW1lZCB0aGlzIHdvdWxkIHJlc3VsdCBpbgoJICBmZXdlciBjaGFuZ2VzIG92ZXJhbGwgYW5kIGJlIGxlc3MgY29uZnVzaW5nLiAgSXQgYnJlYWtzIHN5bW1ldHJ5IHdpdGgKCSAgdGhlICJwcm9ncmFtLW51bWJlciIgcHJvcGVydHksIGJ1dCBpdCByZXRhaW5zIHBhcmFsbGVscyB3aXRoIHRoZSBsaWtlcwoJICBvZiBwcm9ncmFtLT5wcm9ncmFtX251bWJlci4KCSAgQmVjYXVzZSBnc3RfdHNfZGVtdXhfcmVzZXQgaXMgY2FsbGVkIGFmdGVyIHRoZSBwcm9wZXJ0aWVzIGhhdmUgYmVlbgoJICBwYXJzZWQsIHJlcXVlc3RlZF9wcm9ncmFtX251bWJlciBpcyBpbml0aWFsaXNlZCBpbiBnc3RfdHNfZGVtdXhfaW5pdC4KCSAgV2hldGhlciB0aGlzIGlzIGV4YWN0bHkgdGhlIHJpZ2h0IHBsYWNlLCBJIGRvbid0IGtub3cuCgoyMDEzLTAzLTA2IDEyOjE1OjQ3ICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBmaXggcHJvZ3JhbS1udW1iZXIgZnVuY3Rpb25hbGl0eQoJICBTZXR0aW5nIHRoZSBwcm9ncmFtLW51bWJlciBwcm9wZXJ0eSBkb2VzIG5vdCBhZmZlY3Qgd2hpY2ggcHJvZ3JhbQoJICBpcyBhY3R1YWxseSBiZWluZyBkZW11eGVkLgoJICBNb3ZpbmcgdGhlIGluaXRpYWxpemF0aW9uIG9mIHRoZSBwcm9ncmFtX251bWJlciBmcm9tCgkgIGdzdF90c19kZW11eF9yZXNldCB0byBnc3RfdHNfZGVtdXhfaW5pdCBzZWVtcyB0byBmaXggdGhpcyBpc3N1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDkzNAoKMjAxMy0wNy0yMiAwOToxODozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZDogU2VuZCBzdHJlYW0tc3RhcnQgZXZlbnQgYmVmb3JlIGFueXRoaW5nIGVsc2Ugb24gdGhlIG1wZWcgZGVtdXhlciBzcmNwYWRzCgoyMDEzLTA3LTE3IDE3OjEyOjU5ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogZG8gbm90IHB1c2ggZGlzY29udCBidWZmZXJzIGlmIHRoZXkgYXJlbid0IGRpc2NvbnQKCSAgRXhwbGljaXRseSB1bnNldCBkaXNjb250IGZsYWcgd2hlbiBpdCBzaG91bGRuJ3QgYmUgc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyMTEwCgoyMDEzLTA3LTE3IDExOjI4OjI4ICswMjAwICBNaWd1ZWwgQ2FzYXMtU2FuY2hleiA8bWlndWVsZWNhc2Fzc2FuY2hlekBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RncmFiY3V0LmNwcDoKCSogZXh0L29wZW5jdi9nc3RncmFiY3V0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkgIGdyYWJjdXQ6IEFkZCBHcmFiQ3V0IHNlZ21lbnRhdGlvbiBlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI3MjIKCjIwMTMtMDctMTUgMjM6MDE6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5jOgoJICBoMjYzcGFyc2U6IGZpeCBoZWlnaHQgZXh0cmFjdGlvbiBmb3IgSDI2M3AKCjIwMTMtMDctMTUgMjI6NTc6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5oOgoJICBoMjYzcGFyc2U6IGFkZCBwaXhlbC1hc3BlY3QtcmF0aW8gaWYgdXBzdHJlYW0gZG9lc24ndCBwcm92aWRlIG9uZQoKMjAxMy0wNy0wOSAxMjo0OTo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZml4IHR5cG8gaW4gY2hlY2tfcXVldWVfZnVsbCBmdW5jdGlvbgoJICBJdCBzaG91bGQgcmV0dXJuIFRydWUgd2hlbiB0aGUgcXVldWUgSVMgZnVsbAoJICBGaXhlcyAjNzA0MjI2CgoyMDEzLTA3LTE1IDExOjE1OjExICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBSZW1lbWJlciBzZWVrIHNlcXVlbmNlIG51bWJlcgoJICAqIEF2b2lkcyBoYW5kbGluZyB0d2ljZSB0aGUgc2FtZSBzZWVrIChjYW4gaGFwcGVuIHdpdGggcGxheWJpbiBhbmQgZmlsZXMKCSAgd2l0aCBzdWJ0aXRsZXMpCgkgICogU2V0IHRoZSBzZXF1ZW5jZSBudW1iZXIgb2YgdGhlIHNlZ21lbnQgZXZlbnQgdG8gdGhlIHNlcXVlbmNlIG51bWJlciBvZgoJICB0aGUgc2VlayBldmVudCB0aGF0IGdlbmVyYXRlZCBpdCAoLTEgZm9yIHRoZSBpbml0aWFsIG9uZSkuCgoyMDEzLTA1LTI0IDE4OjE4OjM1ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGltcGxlbWVudCBzZWVraW5nIGluIHB1c2ggbW9kZQoKMjAxMy0wNS0yOCAxNjoxNDo0MiArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiByZWNhbGN1bGF0ZSBuZXcgc2VnbWVudCBhZnRlciBieXRlIHNlZWsKCSAgVGhlIHNlZWtpbmcgc3RhcnQgdGltZSBpcyBhcHByb3hpbWF0ZWQgZnJvbSB0aGUgc2VlayBvZmZzZXQgaW4gYnl0ZXMKCSAgdXNpbmcgdGhlIGFjY3VtdWxhdGVkIFBDUiBvYnNlcnZhdGlvbnMsIHNvIG9uIGEgVkJSIHN0cmVhbSB0aGVyZSBtaWdodAoJICBiZSBhIGJpZyBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIGFjdHVhbCBQQ1IgYW5kIHRoZSBlc3RpbWF0ZWQgb25lIGFmdGVyCgkgIHRoZSBzZWVrLiBUaGlzIG1pZ2h0IHJlc3VsdCBpbiBhIGxvbmcgd2FpdCB0byBza2lwIGFsbCBvdXQgb2Ygc2VnbWVudHMKCSAgcGFja2V0cy4KCSAgSW5zdGVhZCB3ZSBqdXN0IHJlY2FsY3VsYXRlIHRoZSBuZXcgc2VnbWVudCB0byBzdGFydCBhdCB0aGUgZmlyc3QgUFRTCgkgIGFmdGVyIHRoZSBzZWVrLCBzbyB0aGF0IHBsYXliYWNrIHN0YXJ0cyBpbW1lZGlhdGx5LgoKMjAxMy0wNy0xMyAyMzo0OTo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgVXBkYXRlIGRvY3MgYW5kIHdpbjMyIGNvbmZpZy5oIHRvIGRldmVsb3BtZW50IHZlcnNpb24KCjIwMTMtMDctMTIgMTU6NTg6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkgIGRvY3M6IGFkZCBuZXdseS1wb3J0ZWQgZWxlbWVudHMgdG8gZG9jcwoKMjAxMy0wNy0xMSAxNzo0NjozNyArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogVXNlIHNlcXVlbmNlX2Rpc3BsYXlfZXh0ZW5zaW9uIHZhbHVlcyB0byB1cGRhdGUgdGhlIHNyYyBjYXBzCgkgIFRoZSBjYXBzIHNob3VsZCBhbHdheXMgcmVwcmVzZW50IHdoYXQgdGhlIHVzZXIgaXMgc3VwcG9zZWQgdG8gc2VlLgoJICBTbyBpZiB0aGVyZSBpcyBhIHNlcXVlbmNlX2Rpc3BsYXlfZXh0ZW5zaW9uIGFzc29jaWF0ZWQgd2l0aCB0aGUKCSAgc3RyZWFtIHRoZW4gdXNlIHRoZSBkaXNwbGF5X2hvcml6b250YWxfc2l6ZS9kaXNwbGF5X3ZlcnRpY2FsX3NpemUKCSAgdG8gdXBkYXRlIHRoZSBzcmMgY2FwcyAoaWYgdGhleSBhcmUgbGVzcyB0aGFuIHRoZSB2YWx1ZXMgcHJvdmlkZWQKCSAgYnkgc2VxdWVuY2UgaGVhZGVyKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDAwOQoKMjAxMy0wNy0xMiAwOTo0NTozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWdsZ2xlc3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXJvcmMtZGlzdC5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMS4yCgkgIE9vcHMuLi4gc2hvdWxkJ3ZlIGJlZW4gcGFydCBvZiAxLjEuMiB0YWcgYWxyZWFkeSA6KAoKMjAxMy0wNy0xMSAxNjo1NzoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjEuMiA9PT0KCjIwMTMtMDctMTEgMTY6MzE6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTMtMDctMTAgMTI6Mjg6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkgIG1wZWdwc211eDogU2VuZCBzdHJlYW0tc3RhcnQgZXZlbnQgYmVmb3JlIGFueSBkYXRhCgoyMDEzLTA3LTA4IDA4OjQ0OjQzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c2RlbXV4OiBBdm9pZCBwYXJzaW5nIHNlY3Rpb24gd2l0aG91dCBlbm91Z2ggZGF0YQoJICBUaGlzIGlzIGFjdHVhbGx5IGEgd29ya2Fyb3VuZCAod2UnbGwgYmUgc2tpcHBpbmcgdGhlIHVwY29taW5nIHNlY3Rpb24pCgkgIFRoaXMgd2lsbCBvbmx5IGhhcHBlbiBmb3Igc2VjdGlvbnMgd2hlcmUgdGhlIGJlZ2lubmluZyBpcyBsb2NhdGVkIHdpdGhpbgoJICB0aGUgbGFzdCA4IGJ5dGVzIG9mIGEgcGFja2V0ICh3aGljaCBpcyB0aGUgbWluaW11bSB3ZSBuZWVkIHRvIHByb3Blcmx5CgkgIGlkZW50aWZ5IGFueSBzZWN0aW9uIGJlZ2lubmluZykuCgkgIExhdGVyIHdlIHNob3VsZCBmaWd1cmUgb3V0IGEgd2F5IHRvIHN0b3JlIHRob3NlIGJ5dGVzIGFuZCBtYXJrIHRoYXQKCSAgc29tZSBhbmFseXNpcyBuZWVkcyB0byBoYXBwZW4uIFRoZSBwcm9iYWJpbGl0eSBvZiB0aGlzIGhhcHBlbmluZyBpcwoJICB0b28gbG93IGZvciBtZSB0byBjYXJlIHJpZ2h0IG5vdyBhbmQgZG8gdGhhdCBmaXguIFRoZXJlIGlzIGEgZ29vZCBjaGFuY2UKCSAgdGhhdCBzZWN0aW9uIHdpbGwgZXZlbnR1YWxseSBiZSByZXBlYXRlZCBhbmQgd29uJ3QgZW5kIHVwIG9uIHN1Y2ggYm9yZGVyLgoKMjAxMy0wNy0wOCAwODo0Mzo1MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBBZGQgQkFUIHN1cHBvcnQgdG8gbXBlZ3RzIGV4YW1wbGUKCjIwMTMtMDctMDggMDg6NDI6MTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHMtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSAgbXBlZ3RzOiBVbmlmeSBzZWN0aW9uIGNoZWNrcyBhbmQgYWRkIEJBVCBwYXJzaW5nCgkgICogQXZvaWQgcmVwZWF0aW5nIGNvZGUgZXZlcnl3aGVyZSwgYW5kIGluc3RlYWQgcHJvdmlkZSBhbGwgcGFyc2luZwoJICBpbmZvcm1hdGlvbiBpbiBvbmUgZ28uCgkgICogQWRkIEJBVCBzdXBwb3J0CgkgICogUmVmaW5lIEJBVC9DQVQgaWRlbnRpZmljYXRpb24gKGJ5IGFkZGluZyBQSUQgY2hlY2tzKQoKMjAxMy0wNy0wNyAxMTo0Mjo1MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEF2b2lkIHZtZXRob2QgY2FsbHMKCSAgRGVwZW5kaW5nIG9uIHVzYWdlLCB0c3BhcnNlIGFuZCB0c2RlbXV4IG1pZ2h0IG5vdCBuZWVkIHRvIGJlIGNhbGxlZAoJICB3aGVuIG5ldyBzZWN0aW9uL3Blcy1kYXRhIGlzIGF2YWlsYWJsZS4KCjIwMTMtMDctMDcgMTA6MjU6MjcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c2RlbXV4OiBSZW1vdmUgdW5uZWVkZWQgdmFyaWFibGVzCgkgICogcGFja2V0Lm9yaWd0cyBpcyBubyBsb25nZXIgdXNlZCBzaW5jZSB0aGUgUENSIHJlZmFjdG9yaW5nIGRvbmUgYWdlcyBhZ28KCSAgKiBrbm93bl9wYWNrZXRfc2l6ZSBpcyBhIGR1cGxpY2F0ZSBvZiBwYWNrZXRfc2l6ZSAhPSAwCgkgICogY2FwcyB3YXMgbmV2ZXIgdXNlZCBvdXRzaWRlIG9mIHRoZSBwYWNrZXRpemVyCgoyMDEzLTA3LTA5IDExOjM5OjQ2ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2VyOiBmaXggc2l6ZSBjYXBzIHRvIHJlcG9ydCBjcm9wcGVkIGRpbWVuc2lvbnMuCgkgIFJlc3RvcmUgdGhlIG9yaWdpbmFsIGgyNjRwYXJzZXIgYmVoYXZpb3VyIHRvIHJlcG9ydCBjcm9wcGVkIGRpbWVuc2lvbnMKCSAgaW4gc2l6ZSBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk0MDY4CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDctMDggMTg6NDQ6MjQgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBjYWxjdWxhdGlvbiBvZiB0aGUgZnJhbWUgY3JvcHBpbmcgcmVjdGFuZ2xlLgoJICBGaXggY2FsY3VsYXRpb24gb2YgdGhlIGZyYW1lIGNyb3BwaW5nIHJlY3RhbmdsZSwgYW5kIG1vcmUgcHJlY2lzZWx5CgkgIHRoZSBhY3R1YWwgY3JvcHBlZCBoZWlnaHQuIFRoZSBmcmFtZV9jcm9wX3RvcF9vZmZzZXQgc3VidHJhY3Rpb24KCSAgd2FzIG5vdCBzY2FsZWQgdXAgd2l0aCBTdWJIZWlnaHRDLgoJICBBbHNvIGNsZWFuLXVwIHZhcmlhYmxlcyB0byBhbGlnbiBtb3JlIHdpdGggKDctMTgpIHRvICg3LTIxKS4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMi0xNSAxNDoxODo0OSArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBoMjY0cGFyc2VyOiBQYXJzZSB0aGUgY3JvcHBpbmctcmVjdGFuZ2xlIHNlcGFyYXRlbHkuCgkgIEFzc2lnbiB0aGUgdW4tY3JvcHBlZCB3aWR0aC9oZWlnaHQgdG8gc3BzLT53aWR0aC9zcHMtPmhlaWdodAoJICBkdXJpbmcgc3BzIGhlYWRlciBwYXJzaW5nLiBBZGRlZCBuZXcgZmllbGRzIHRvIFNQUyBoZWFkZXIgc3RydWN0dXJlCgkgIHRvIHByb3ZpZGUgdGhlIGNyb3AtcmVjdGFuZ2xlIGRpbWVuc2lvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTQwNjgKCjIwMTMtMDctMDMgMTY6Mzg6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGltcGxlbWVudCBxdWV1ZSBmdWxsIGNoZWNrIGZ1bmN0aW9uCgkgIENoZWNrcyBpZiB0aGUgcXVldWUgaXMgZnVsbCBhY2NvcmRpbmcgdG8gbWF4IGJ1ZmZlcmluZyB0aW1lCgkgIHNldCBieSB0aGUgdXNlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxNDA0CgoyMDEzLTA3LTA5IDAwOjQ3OjA3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBtaW5vciByZWZhY3RvcgoJICBTcGxpdCBvbmUgdmVyeSBsYXJnZSBmdW5jdGlvbiBpbnRvIDIgc21hbGxlciBidXQgc3RpbGwgbGFyZ2UgZnVuY3Rpb25zLgoJICBBbHNvIGNoYW5nZSB0aGUgaWYgY29uZGl0aW9ucyB0byBwb3NpdGl2ZSBjaGVja3MgdG8gaW1wcm92ZSByZWFkYWJpbGl0eS4KCjIwMTMtMDctMDggMjM6MjQ6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGhhbmRsZSBsaXZlIHBsYXliYWNrIHJlc3luYwoJICBEdXJpbmcgYSBsaXZlIHN0cmVhbSBpdCBpcyBwb3NzaWJsZSBmb3IgZGFzaGRlbXV4IHRvIGxhZyBiZWhpbmQgb24gYQoJICBzbG93IGNvbm5lY3Rpb24gb3IgdG8gcnVzaCBhaGVhZCBvZiB0aGUgY29ubmVjdGlvbiBvcyB0b28gZmFzdC4KCSAgRm9yIHRoZSBmaXJzdCBjYXNlIGl0IGlzIG5lY2Vzc2FyeSB0byBqdW1wIHNvbWUgc2VnbWVudHMgYWhlYWQgdG8gYmUgYWJsZSB0bwoJICBjb250aW51ZSBwbGF5YmFjayBhcyBvbGQgc2VnbWVudHMgYXJlIHVzdWFsbHkgZGVsZXRlZCBmcm9tIHRoZSBzZXJ2ZXIuCgkgIEZvciB0aGUgbGF0ZXIsIGRhc2hkZW11eCBzaG91bGQgd2FpdCBhIGxpdHRsZSBiZWZvcmUgYXR0ZW1wdGluZyBhbm90aGVyCgkgIGRvd25sb2FkIGRvIGdpdmUgdGltZSB0byB0aGUgc2VydmVyIHRvIHByb2R1Y2UgYSBuZXcgc2VnbWVudAoKMjAxMy0wNy0wNSAxMzoyMjoxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGZpeCB0ZW1wbGF0ZSBiYXNlZCBzZWdtZW50IGdlbmVyYXRpb24KCSAgV2hlbiB1c2luZyBhIHRlbXBsYXRlIGJhc2VkIHNlZ21lbnQgbGlzdCwgZG8gbm90IHRyeSB0bwoJICBjb250cnVjdCBhIGZpbml0ZSBzZWdtZW50IGxpc3QgZm9yIHRoZSBsaW1pdHMgb2YgdGhlIGF2YWlsYWJsZSBwZXJpb2RzLgoJICBXZSBtaWdodCBub3Qga25vdyB3aGVuIHRoZSBwZXJpb2QgZW5kcyAoZm9yIGxpdmUgc3RyZWFtcykgYW5kIHdlIGNhbgoJICBhbHdheXMgY3JlYXRlIHRoZSBzZWdtZW50IG9uIGRlbWFuZCB3aGVuIHJlcXVlc3RlZCBieSBkYXNoZGVtdXgsCgkgIGF2b2lkaW5nIHVzZSBvZiBzb21lIG1lbW9yeSBhbmQgY3B1IHdoZW4gcmUtY3JlYXRpbmcgdGhpcyBsaXN0LgoKMjAxMy0wNy0wNCAyMzo0MjoyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiB1c2UgbW9yZSBhcHByb3ByaWF0ZSBkYXRhIHN0cnVjdHVyZXMgZm9yIHBhcnNpbmcKCSAgUmVwbGFjZXMgdGhlIDIgbGlrZWx5IGxhcmdlciBsaXN0cyB3aXRoIG1vcmUgYXBwcm9wcmlhdGUgc3RydWN0dXJlcwoJICB0byBpbXByb3ZlIHBlcmZvcm1hbmNlLgoJICBSZXBsYWNlcyBTIG5vZGVzIEdMaXN0IGZvciBhIEdRdWV1ZSwgdGhpcyByZWR1Y2VzIGxhdGVuY3kgdG8gc3RhcnR1cAoJICBiZWNhdXNlIG9mIHRyYXZlcnNpbmcgdGhlIGxpc3QganVzdCBhcHBlbmQgYW4gZWxlbWVudC4KCSAgUmVwbGFjZXMgdGhlIHByb2Nlc3NlZCBtZWRpYSBzZWdtZW50cyBHTGlzdCBmb3IgYSBHUHRyQXJyYXkgYXMgaXQgaXMKCSAgY29uc3RhbnRseSBhY2Vzc2VkIGJ5IGluZGV4IGR1cmluZyBwbGF5YmFjay4KCjIwMTMtMDctMDQgMTU6MTQ6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGFuc3dlciB0byBsYXRlbmN5IHF1ZXJpZXMKCSAgU2V0IGxpdmUgaWYgc3RyZWFtIGlzIGxpdmUgYW5kIGFsc28gYWRkIHRvIHRoZSBtYXggbGF0ZW5jeSB0aGUKCSAgbWF4IGludGVybmFsIGJ1ZmZlcmluZwoKMjAxMy0wNy0wOCAyMjowMTo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBmaXggY3Jhc2ggd2hlbiBkb3dubG9hZCBpcyBudWxsCgkgIERvIG5vIHRyeSB0byB1bnJlZiBhIE5VTEwgZG93bmxvYWQgYXR0cmlidXRlCgoyMDEzLTA3LTA4IDIyOjAwOjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IGRvIG5vdCBzZXQgY2FuY2VsbGVkIHVubGVzcyBleHBsaWNpdGx5IGNhbGxlZCBieSB1c2VyCgkgIENhbmNlbGxlZCBpcyBhICdwZXJtYW5lbnQnIHN0YXRlIG9mIHRoZSB1cmlkb3dubG9hZGVyIGFuZCBpcyBvbmx5CgkgIHJlbW92ZWQgYnkgYSBjYWxsIHRvIF9yZXNldC4gV2hlbiBhIGRvd25sb2FkIGZhaWxzIHdlIGp1c3Qgd2FudCB0bwoJICByZXR1cm4gTlVMTCBvbiB0aGUgZmV0Y2ggZnVuY3Rpb24gYW5kIGxlYXZlIHRoZSBkb3dubG9hZGVyIHJlYWR5CgkgIGZvciBhbm90aGVyIGZldGNoLCBvdGhlcndpc2UgdGhlIHVzZXIgaGFzIHRvIGNhbGwgX3Jlc2V0IGFmdGVyCgkgIGZhaWxlZCBkb3dubG9hZGVyLCBldmVuIHdoZW4gaXQgZGlkbid0IGNhbGwgX2NhbmNlbC4KCjIwMTMtMDctMDcgMDg6MzU6MDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkgIG1wZWd0czogQXZvaWQgZmFsc2UtcG9zaXRpdmVzIGluIHNlY3Rpb24gdHlwZSBkZXRlY3Rpb24KCSAgRHVlIHRvIHRoZSB2YXJpZXR5IG9mIHNlY3Rpb24gdHlwZXMgb3V0IHRoZXJlLCB3ZSBuZWVkIHRvIGFkZAoJICBzb21lIGNoZWNrcyB3aGVuIGlkZW50aWZ5aW5nIHNlY3Rpb24gdHlwZXMuCgkgIFdlIGNoZWNrIGhlcmUgdGhhdCB0aGUgUElEIGlzIGFsc28gY29uc2lzdGVudCB3aXRoIHRoZSB0YWJsZV9pZC4KCjIwMTMtMDctMDcgMDg6Mjk6MzcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzZGVtdXg6IEZpeCBtdWx0aXBsZS1TSSBkZXRlY3Rpb24vcGFyc2luZwoJICBXZSBoYWQgdHdvIGlzc3VlcyB3aXRoIHRoZSBwcmV2aW91cyBjb2RlOgoJICAxKSBXZSB3ZXJlIGJhZGx5IGhhbmRsaW5nIFBVU0ktZmxhZ2dlZCBwYWNrZXRzLiBXZSB3ZXJlIGRpc2NhcmRpbmcgdGhlCgkgIGluaXRpYWwgZGF0YSAoaWYgcG9pbnRlciAhPSAwKSB3aGVyZWFzIHdlIHNob3VsZCBoYXZlIGJlZW4gYWNjdW11bGF0aW5nCgkgIGl0IHdpdGggdGhlIHByZXZpb3VzIGRhdGEgKGlmIHRoZXJlIHdhcyBhIGNvbnRpbnVpdHkgb2YgY291cnNlKS4KCSAgPT4gRmlyc3Qgc2VyaWVzIG9mIGluZm9ybWF0aW9uIGxvc3MKCSAgMikgV2Ugd2VyZSBub3QgY2hlY2tpbmcgd2hldGhlciB0aGVyZSB3ZXJlIG1vcmUgc2VjdGlvbnMgYWZ0ZXIgdGhlIGVuZAoJICBvZiBvbmUgKGkuZS4gd2hlbiB0aGUgZm9sbG93aW5nIGJ5dGUgd2FzIG5vdCBhIHN0dWZmIGJ5dGUpLgoJICBUaGlzIGZpeGVzIHRob3NlIHR3byBpc3N1ZXMuCgkgIEZpeGVzICM2Nzc0NDMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzQ0MwoKMjAxMy0wNy0wNyAwNzoyMTo0NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndGJhc2U6IEZpeCBzd2l0Y2gvY2FzZSB0eXBvCgkgIEVuZGVkIHVwIHRyeWluZyB0byBhbmFseXplIFBNVCAuLi4gd2l0aCBhIFBBVCA6KAoKMjAxMy0wNy0wNiAxNDo1MDo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogSGFuZGxlIHByaXZhdGUgc2VjdGlvbiBzdHJlYW1zCgkgIFVudGlsIG5vdyB3ZSBzaW1wbHkgaWdub3JlZCB0aG9zZSBzdHJlYW1zIChzaW5jZSB3ZSBjb3VsZG4ndCBkbyBhbnl0aGluZwoJICB3aXRoIGl0IGFueXdheSkuIE5vdyB0aGF0IHdlIGhhdmUgdGhlIG1wZWd0cyBsaWJyYXJ5IGFuZCB3ZSBvZmZsb2FkIHRoZQoJICBzZWN0aW9uIGhhbmRsaW5nIHRvIHRoZSBhcHBsaWNhdGlvbiBzaWRlIHdlIGNhbiBwcm9wZXJseSBpZGVudGlmeSBhbmQKCSAgZXh0cmFjdCB0aGVtLgoJICBCeSBkZWZhdWx0IGl0IGlzIGRpc2FibGVkIGZvciB0c3BhcnNlIGFuZCBlbmFibGVkIGZvciB0c2RlbXV4LCBidXQgdGhlcmUgaXMKCSAgYSBwcm9wZXJ0eSB0byBjaGFuZ2UgdGhhdC4KCSAgVGhpcyBzaG91bGQgb3BlbiB0aGUgd2F5IHRvIHByb3Blcmx5IGhhbmRsZSBhbGwgcHJpdmF0ZSBzZWN0aW9uIHN0cmVhbXMsCgkgIGluY2x1ZGluZzoKCSAgKiBEU00tQ0MKCSAgKiBNSEVHCgkgICogQ2Fyb3VzZWwgZGF0YQoJICAqIE1ldGFkYXRhIHN0cmVhbXMgKHRob3VnaCBJIGhhdmVuJ3Qgc2VlbiBhbnkgb2YgdGhvc2UgaW4gdGhlIHdpbGQpCgkgICogLi4uIEFuZCBhbGwgb3RoZXIgc3BlY3MvcHJvdG9jb2xzIG1ha2luZyB1c2Ugb2YgdGhvc2UKCSAgUGFydGlhbGx5IGZpeGVzICM1NjA2MzEKCjIwMTMtMDctMDYgMTI6Mzk6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBtcGVndHM6IFByb3Blcmx5IGhhbmRsZSBVVEMgdGltZSBpbiBzZWN0aW9ucwoJICAqIGRvbid0IHVucmVmIGluZXhpc3RhbnQgR3N0RGF0ZVRpbWUKCSAgKiBGaW5lLXR1bmUgaG91ci9taW4vc2VjIEJDRCByZWFkaW5nIGNvZGUKCSAgKiBVcGRhdGUgZXhhbXBsZSBjb2RlIGFjY29yZGluZ2x5CgoyMDEzLTA3LTA2IDEwOjU5OjA4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IFJlZ2lzdHJhdGlvbiBkZXNjcmlwdG9yIHN1cHBvcnQKCSAgQW5kIG91dHB1dCB0aGUgbGVuZ3RoIG9mIHRoZSBkZXNjcmlwdG9ycwoKMjAxMy0wNy0wNiAxMDozODoyNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJICBtcGVndHM6IEZpeCBOSVQgcGFyc2luZwoJICBUaGUgc2l6ZSBjaGVja3Mgd2VyZSB3cm9uZy4gVGhlIHNtYWxsZXN0IHNpemUgZm9yIGEgTklUIGlzIDE2IGJ5dGVzCgkgICgxMiBmb3IgdGhlIHNtYWxsZXN0IGNvbnRlbnQgKyA0IGZvciBjcmMpIGFuZCB0aGUgc21hbGxlc3Qgc2l6ZSBmb3IKCSAgYSBpbm5lciBzdHJlYW0gbG9vcCBpcyA2IGJ5dGVzICh3aXRob3V0IGFueSBkZXNjcmlwdG9ycykuCgkgIEFsc28gcmVtb3ZlIEZJWE1FIHRoYXQgaGFzIGFscmVhZHkgbW92ZWQgZWxzZXdoZXJlCgoyMDEzLTA3LTA2IDEwOjM2OjMzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogSGFuZGxlIHJlZ2lzdHJhdGlvbiBkZXNjcmlwdG9yIGZvciBwcm9ncmFtcyBhbmQgc3RyZWFtcwoJICAqIEFsbG93cyB1cyB0byBzaW1wbGlmeSBzb21lIGNvZGUgYW5kIHByZXBhcmUgZm9yIGZ1dHVyZSBjbGVhbnVwcy4KCSAgKiBSZW1vdmUgdXNlbGVzcyBjYXN0cwoJICAqIEFkZCBzb21lIEZJWE1FIHJlZ2FyZGluZyBWQzEKCjIwMTMtMDctMDUgMjE6NDk6NDggKzAyMDAgIFBpb3RyIERyxIVnIDxwaW90cmRyYWdAZ21haWwuY29tPgoKCSogcG8vUE9URklMRVMuaW46CgkqIHBvL1BPVEZJTEVTLnNraXA6CgkgIHBvOiB1cGRhdGUgUE9URklMRVMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzY4MwoKMjAxMy0wNy0wNSAxMToyMDo0OSAtMDYwMCAgQnJlbmRhbiBMb25nIDxiLmxvbmdAY2FibGVsYWJzLmNvbT4KCgkqIGdzdC9zdWJlbmMvZ3N0d2VidnR0ZW5jLmM6CgkgIHdlYnZ0dGVuYzogU2VwYXJhdGUgY3VlcyB3aXRoIHR3byBsaW5lIGJyZWFrcyBpbnN0ZWFkIG9mIG9uZS4KCSAgU2VlIGh0dHA6Ly9kZXYudzMub3JnL2h0bWw1L3dlYnZ0dC8jc3ludGF4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM2NzMKCjIwMTMtMDctMDUgMTg6MzM6NDIgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogbXBlZzI6IGZpeCB2aWRlbyBwYWNrZXQgaGVhZGVyIHNpemUgY2hlY2tzLgoJICBGaXggdmlkZW8gcGFja2V0IGhlYWRlciBzaXplIGNoZWNrcyBmb3I6CgkgIC0gU2VxdWVuY2UgSGVhZGVyOiA2NCBiaXRzIDsKCSAgLSBTZXF1ZW5jZSBTY2FsYWJsZSBFeHRlbnNpb246IDEwIGJpdHMgOwoJICAtIFNsaWNlIEhlYWRlcjogNiBiaXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNjY4CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDctMDUgMTQ6NTg6MjUgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkgIGNvZGVjcGFyc2VyczogbXBlZzI6IGFkZCBtaXNzaW5nIGd0ay1kb2MgZW50cmllcy4KCSAgVGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgd2VyZSBtaXNzaW5nIGd0ay1kb2MgZW50cmllczoKCSAgLSBnc3RfbXBlZ192aWRlb19wYXJzZV9zZXF1ZW5jZV9kaXNwbGF5X2V4dGVuc2lvbgoJICAtIGdzdF9tcGVnX3ZpZGVvX2ZpbmFsaXNlX21wZWcyX3NlcXVlbmNlX2hlYWRlcgoJICAtIGdzdF9tcGVnX3ZpZGVvX3F1YW50X21hdHJpeF9nZXRfcmFzdGVyX2Zyb21femlnemFnCgkgIC0gZ3N0X21wZWdfdmlkZW9fcXVhbnRfbWF0cml4X2dldF96aWd6YWdfZnJvbV9yYXN0ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzY2NwoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAxLTMxIDExOjU3OjU0ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL21wZWd2aWRlb3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IG1wZWcyOiB1cGRhdGUgdGVzdCBwcm9ncmFtIHdpdGggbmV3IEdzdE1wZWdWaWRlb1BhY2tldCBBUEkuCgkgIFRoaXMgaXMgdGhlIGxvc3QgaHVuayBmcm9tOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyOTMzCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDEtMzAgMTY6NTY6MTUgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogbXBlZzI6IGFkZCBzbGljZSBoZWFkZXIgcGFyc2luZyBBUEkuCgkgIEFkZCBBUEkgdG8gcGFyc2UgdGhlIFNsaWNlIGhlYWRlci4gVGhpcyBhbHNvIGNhbGN1bGF0ZXMgdGhlIG1hY3JvYmxvY2sKCSAgcG9zaXRpb24gYXMgc3BlY2lmaWVkIGluIDYuMy4xNi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NDI3NAoJICBTaWduZWQtb2ZmLWJ5OiBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDEtMjUgMTU6NDg6NTggKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogbXBlZzI6IGFkZCBzZXF1ZW5jZSBzY2FsYWJsZSBleHRlbnNpb24gcGFyc2luZyBBUEkuCgkgIEFkZCBBUEkgdG8gcGFyc2UgdGhlIFNlcXVlbmNlIFNjYWxhYmxlIEV4dGVuc2lvbiBoZWFkZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQyNzQKCSAgU2lnbmVkLW9mZi1ieTogU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTA3LTA0IDE0OjIyOjE0ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBjb3BlIHdpdGggbmV3IHBhcnNlciBBUEkuCgkgIE1pZ3JhdGUgdGhlIGNvZGUgdG8gdXNlIHRoZSBuZXcgcGFyc2VyIEFQSSBiYXNlZCBvbiBHc3RNcGVnVmlkZW9QYWNrZXQuCgkgIEFsc28gdHJ5IHRvIG9wdGltaXplIGdzdF9tcGVndl9wYXJzZV9wcm9jZXNzX2NvbmZpZygpIGJ5IHVzaW5nIG1vcmUgb2YKCSAgR3N0TXBlZ1ZpZGVvUGFja2V0IGFuZCBkZXRlcm1pbmluZyB0aGUgZXh0ZW5zaW9uX3N0YXJ0X2NvZGVfaWRlbnRpZmllcgoJICBwcmlvciB0byBjYWxsaW5nIHRoZSBwYXJzZXIgZnVuY3Rpb24gZm9yIHRoYXQgZXh0ZW5zaW9uIHBhY2tldC4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMS0zMSAxMTo1Nzo1NCArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtcGVnMjogYWRkIG5ldyBBUEkgdGhhdCB0YWtlcyBHc3RNcGVnVmlkZW9QYWNrZXQgYXJndW1lbnRzLgoJICBBZGQgbmV3IGludGVyZmFjZSB0byBNUEVHLTIgdmlkZW8gcGFyc2VyIHRoYXQgdGFrZXMgR3N0TXBlZ1ZpZGVvUGFja2V0CgkgIGFyZ3VtZW50cyBpbnN0ZWFkIG9mIGRhdGEsIHNpemUsIGFuZCBvZmZzZXQuIE5ldyBmdW5jdGlvbnMgYXJlIGNhbGxlZAoJICBhZnRlciBnc3RfbXBlZ192aWRlb19wYWNrZXRfKigpIGFuZCBwcm92aWRlIHRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uLgoJICBPbGRlciBBUEkgaXMgbW92ZWQgdG8gdGhlIGRlcHJlY2F0ZWQgbmFtZXNwYWNlIGFuZCB1c2VzIHRoZSBuZXcgZnVuY3Rpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyOTMzCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDctMDUgMTY6NDY6NDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogUmVtb3ZlIG5vLWxvbmdlciBuZWVkZWQgY29kZQoJICBTaW5jZSB3ZSBub3cgc2VuZCBhbGwgc2VjdGlvbnMgdG8gdGhlIHBhY2tldGl6ZXIsIHdlIG5vIGxvbmdlciBuZWVkIHRvIGRvCgkgIGFueW1vcmUgaW4tZGVwdGggY2hlY2tzIGZvciB0aGUgdmFsaWRpdHkgb2YgYSBzZWN0aW9uLgoJICBUaGUgY2hvaWNlIGJvaWxzIGRvd24gdG86CgkgIDEpIElzIGl0IGZyb20gYSBrbm93biBQRVMgcGlkID8gSWYgc28gcGFzcyBpdCBvbiAod2hpY2ggbWlnaHQgYmUganVzdCBwdXNoaW5nCgkgIGRvd25zdHJlYW0gaW4gdGhlIGNhc2Ugb2YgdHNwYXJzZSwgb3IgYWNjdW11bGF0aW5nIFBFUyBkYXRhIGZvciB0c2RlbXV4KQoJICAyKSBJcyBpdCBmcm9tIGEga25vd24gU0kgcGlkID8gSWYgc28gcGFzcyBpdCB0byB0aGUgc2VjdGlvbiBwYWNrZXRpemVyCgoyMDEzLTA3LTA1IDEzOjUzOjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmI6IEZpeCBQTVQgaGFuZGxpbmcKCSAgV2FzIHVzaW5nIGFuIG9sZGVyICh0ZW1wb3JhcnkpIHZlcnNpb24gb2YgdGhlIG1wZWd0cyBsaWJyYXJ5IEFQSS4KCjIwMTMtMDctMDUgMTA6NTc6MzQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IEZpeCBjb21waWxhdGlvbiB3aXRoIGRlYnVnZ2luZyBkaXNhYmxpbmcKCSAgV2UgcHJldmlvdXNseSB3ZXJlbid0IHVzaW5nIHRoYXQgdmFyaWFibGUgLi4uCgoyMDEzLTA3LTA0IDA4OjQzOjM3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkgIG1wZWd0czogSW1wcm92ZSBkb2N1bWVudGF0aW9uCgkgICogQWRkIGEgYmFzZSBwYWdlIGZvciB0aGUgbGlicmFyeQoJICAqIEFkZCBwYWdlcyBmb3IgdGhlIGJhc2UgTVBFRy1UUyBzZWN0aW9uIGFuZCBkZXNjcmlwdG9ycwoJICAqIEFkZCBwYWdlcyBmb3IgdGhlIGtub3duIHZhcmlhbnRzCgkgICogQWRkIGRvY3VtZW50YXRpb24gb24gbW9yZSBmaWVsZHMvc2VjdGlvbnMvdHlwZXMKCSAgKiBSZW1vdmUgc29tZSBmaXhtZXMgdGhhdCB3ZXJlIC4uLiBmaXhlZAoKMjAxMy0wNy0wNCAwNzo0OTozNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IFN3aXRjaCB0byB1c2luZyBHc3RNcGVnVHNTdHJlYW1UeXBlCgkgIFdlIHN0aWxsIGhhdmUgc29tZSBvdGhlciBzdHJlYW0gdHlwZXMgd2hpY2ggaGF2ZW4ndCBiZWVuIHBvcnRlZCwgYnV0CgkgIHdlIHdpbGwgZG8gc28gb25jZSB3ZSBoYXZlIGRlZmluZWQgdGhlIGVudW1zIGluIHRoZSBtcGVndHMgbGlicmFyeS4KCSAgQWxzbyBhZGQgc29tZSBGSVhNRXMgcmVnYXJkaW5nIGl0ZW1zIGRpc2NvdmVyZWQgZHVyaW5nIGFuYWx5c2lzCgoyMDEzLTA3LTA0IDA3OjQ4OjEwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJICBtcGVndHNkZXNjcmlwdG9yOiBGaXggaGFuZGxpbmcgb2YgdW5rbm93biBzdHJlYW0gZW5jb2RpbmdzCgkgIElmIHdlIGNhbm5vdCBpZGVudGlmeSB0aGUgZW5jb2RpbmcgdXNlZCBmb3IgYSBzdHJpbmcsIHJldHVybiBhIE5VTEwKCSAgc3RyaW5nIGluc3RlYWQgb2YgZ2FyYmFnZSBhbmQgYWRkIGEgRklYTUUgc28gd2UgY2FuIGRldGVjdCBhbmQgbGF0ZXIKCSAgZml4IGl0LgoKMjAxMy0wNy0wNCAwNzo0NToxMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIG1wZWd0czogQWRkIHJlZ2lzdGVyZWQgbXBlZy10cyBzdHJlYW0gdHlwZXMKCSAgVGhlc2UgYXJlIHRoZSB2YWx1ZXMgb2ZmaWNpYWxseSByZWdpc3RlcmVkIGluIHRoZSBiYXNlIHNwZWNpZmljYXRpb24KCSAgKEguMjIyLjAvMTM4MTgtMSkuIExhdGVyIG9uIHdlIGNhbiBhZGQgb3RoZXIgZW51bXMgZm9yIG90aGVyIHZhcmlhbnRzCgkgIE5vdGUgdGhhdCB0aGUgZW51bSBpcyBub3QgdXNlZCBpbiB0aGUgc3RydWN0dXJlIGZpZWxkcyAoc3VjaCBhcyBhIHBtdAoJICBzdHJlYW0gc3RyZWFtX3R5cGUgZmllbGQpIHNpbmNlIGl0IGNhbiBjb250YWluIHZhbHVlcyBmcm9tIG90aGVyCgkgIHZhcmlhbnRzLgoKMjAxMy0wNy0wNCAwMjoxMjozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSAgY2FtZXJhYmluOiBleGFtcGxlczogYWRkIG1pc3NpbmcgbGliIHRvIG1ha2VmaWxlCgkgIEZpeGVzIGluaXRpYWxpemF0aW9uIG9mIHNhbXBsZSBhcHBsaWNhdGlvbgoKMjAxMy0wNy0wMyAxOToxMTo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogcHJldmVudCBhc3NlcnRpb24gd2hlbiBkdXJhdGlvbiBpcyB1bmtub3duCgkgIER1cmF0aW9uIGZyb20gc2VnbWVudCBiZWluZyB1bmtub3duIGlzIGEgaXNzdWUgZnJvbSB0aGUgTVBEIGFuZCBub3QKCSAgYSBwcm9ncmFtbWluZyBpc3N1ZSwgc28gdGhlIGFzc2VydCBpc24ndCB1c2VmdWwgaGVyZS4gSW5zdGVhZCBjaGVjawoJICBhbmQgcmV0dXJuIGFuIGVycm9yIGNvZGUgc28gdGhlIGNhbGxlciBjYW4gZmFsbGJhY2sgdG8gYWx0ZXJuYXRpdmVzCgoyMDEzLTA3LTAzIDE5OjExOjExIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBGaXggZXZlbnQgbGVhayB3aGVuIHBhcnNpbmcgbWFuaWZlc3QgZmFpbHMKCSAgQWx3YXlzIHJlbWVtYmVyIHRvIHVucmVmIHRoZSBldmVudCBiZWZvcmUgcHJvY2VlZGluZywgaW4gYm90aCBzdWNjZXNzCgkgIGFuZCBmYWlsdXJlIGNhc2VzCgoyMDEzLTA3LTAzIDEyOjMwOjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IHZhcmlvdXMgY2xlYW51cHMKCSAgUmVtb3ZpbmcgdW51c2VkIGZ1bmN0aW9uLCByZXBsYWNpbmcgLy8gY29tbWVudHMgd2l0aCAvKiAqLyBhbmQKCSAgcmVwbGFjaW5nIHNvbWUgR1NUX1dBUk5JTkcgd2l0aCBHU1RfSU5GTy9fREVCVUcgYXMgdGhleSBhcmUgbWVhbnQKCSAgdG8gYmUKCjIwMTMtMDYtMTEgMTQ6Mjg6NTMgKzAxMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogQ2hhbmdlIGZpcnN0IGZyYWdtZW50IHNlbGVjdGlvbiBmb3IgbGl2ZSBzdHJlYW1zCgkgIFdoZW4gZGFzaGRlbXV4IHNlbGVjdHMgaXRzIGZpcnN0IGZyYWdtZW50LCBpdCBhbHdheXMgc2VsZWN0cyB0aGUKCSAgZmlyc3QgZnJhZ21lbnQgbGlzdGVkIGluIHRoZSBtYW5pZmVzdC4gRm9yIG9uLWRlbWFuZCBjb250ZW50LAoJICB0aGlzIGlzIHRoZSBjb3JyZWN0IGJlaGF2aW91ci4gSG93ZXZlciBmb3IgbGl2ZSBjb250ZW50LCB0aGlzCgkgIGJlaGF2aW91ciBpcyB1bmRlc2lyYWJsZSBiZWNhdXNlIHRoZSBmaXJzdCBmcmFnbWVudCBsaXN0ZWQgaW4gdGhlCgkgIG1hbmlmZXN0IG1pZ2h0IGJlIHNvbWUgY29uc2lkZXJhYmxlIHRpbWUgYmVoaW5kICJub3ciLgoJICBUaGUgY29tbWl0IHVzZXMgdGhlIGhvc3QncyBpZGVhIG9mIFVUQyBhbmQgdHJpZXMgdG8gZmluZCB0aGUKCSAgb2xkZXN0IGZyYWdtZW50IHRoYXQgY29udGFpbnMgc2FtcGxlcyBmb3IgdGhpcyB0aW1lIG9mIGRheS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTUwOQoKMjAxMy0wNy0wMyAxODo1MjoxOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0cy1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9tcGVndHMuaDoKCSAgbXBlZ3RzOiBzcGxpdCBkdmIgZGVzY3JpcHRvcnMvZW51bXMgaW50byBhIHNlcGFyYXRlIGZpbGUKCSAgV2Ugd2lsbCBkbyB0aGUgc2FtZSBvbmNlIHdlIGhhdmUgQVRTQy9JU0RCLy4uLiBkZXNjcmlwdG9yIHBhcnNpbmcKCjIwMTMtMDctMDMgMTg6NDQ6NTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBtcGVndHM6IEZpeCBUT1Qgc2VjdGlvbiBwYXJzaW5nCgkgIEFuZCB1c2UgaXQgaW4gZXhhbXBsZQoKMjAxMy0wNy0wMyAxODowMDo1NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBGaXggYSBsZWFrCgoyMDEzLTA3LTAzIDE3OjU5OjAyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkgIG1wZWd0czogU3BsaXQgZmlsZXMgYW5kIGltcGxlbWVudCBmcmVlIGZ1bmN0aW9ucwoJICAqIEluIG9yZGVyIHRvIGF2b2lkIGZ1dHVyZSBjbGFzaGluZyBiZXR3ZWVuIHRhYmxlX2lkIGZvciB0aGUgdmFyaW91cwoJICBtcGVnLXRzIHZhcmlhbnRzLCB1c2UgZGlmZmVyZW50IGVudW1zLgoJICAqIEluIG9yZGVyIHRvIGtlZXAgZXZlcnl0aGluZyBjbGVhbihpc2gpIGFuZCBhbGxvdyBmb3IgY2xlYW5lciBncm93dGgsCgkgIHNwbGl0IGludG8gZGlmZmVyZW50IGZpbGVzICh3aWxsIG5lZWQgdGhlIHNhbWUgZm9yIGRlc2NyaXB0b3JzIGxhdGVyKQoJICAqIEFsc28gLi4uIGltcGxlbWVudCBmcmVlIGZ1bmN0aW9ucyBmb3IgYWxsIHRhYmxlIHR5cGVzIDopCgoyMDEzLTA3LTAzIDE1OjMwOjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IGJhY2sgdG8gZmVhdHVyZSBkZXZlbG9wbWVudAoKMjAxMy0wNy0wMyAxMDoxNjoyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogb25seSBnZW5lcmF0ZSBpbmRleCBzZWdtZW50IHVyaSBpZiB0aGVyZSBpcyBhIHRlbXBsYXRlCgkgIFNpbXBsZSBmaXggdG8gYXZvaWQgYW4gYXNzZXJ0aW9uLgoKMjAxMy0wNi0yMSAxNzowOTozMCAtMDYwMCAgR3JlZyBSdXR6IDxncmVnQGdzci10ZWsuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogSW1wbGVtZW50IGluaGVyaXRhbmNlIGZvciBjZXJ0YWluIE1QRCBlbGVtZW50cwoJICBBY2NvcmRpbmcgdG8gdGhlIE1QRUctREFTSCBzcGVjLCBjZXJ0YWluIGVsZW1lbnRzIChpLmUuCgkgIFNlZ21lbnRCYXNlLCBTZWdtZW50VGVtcGxhdGUsIGFuZCBTZWdtZW50TGlzdCkgc2hvdWxkIGluaGVyaXQKCSAgYXR0cmlidXRlcyBmcm9tIHRoZSBzYW1lIGVsZW1lbnRzIGluIHRoZSBjb250YWluaW5nIEFkYXB0YXRpb25TZXQKCSAgb3IgUGVyaW9kLgoJICBVcGRhdGVkIHRoZSBTZWdtZW50QmFzZSwgU2VnbWVudFRlbXBsYXRlLCBhbmQgU2VnbWVudExpc3QgcGFyc2VycwoJICB0byBwcm9wZXJseSBpbmhlcml0IGF0dHJpYnV0ZXMgZnJvbSB0aGUgY29ycmVzcG9uZGluZyBlbGVtZW50cyBpbgoJICBBZGFwdGF0aW9uU2V0IGFuZC9vciBQZXJpb2QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI2NzcKCjIwMTMtMDYtMjEgMTU6NTE6NDYgLTA2MDAgIEdyZWcgUnV0eiA8Z3JlZ0Bnc3ItdGVrLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IFByb3Blcmx5IGRldGVjdCBwcmVzZW5jZSBvZiB4bWwgYXR0cmlidXRlcwoJICBDb252ZXJ0IGFsbCB4bWwgYXR0cmlidXRlL2NvbnRlbnQgcGFyc2luZyBmdW5jdGlvbnMgdG8gcmV0dXJuIGEKCSAgYm9vbGVhbiB2YWx1ZSBpbmRpY2F0aW5nIHdoZXRoZXIgb3Igbm90IHRoZSBhdHRyaWJ1dGUvY29udGVudCB3YXMKCSAgcHJlc2VudC4gIFdlIG5lZWQgdGhpcyBmaW5lci1ncmFpbmVkIGNvbnRyb2wgaW4gb3JkZXIgdG8gcHJvcGVybHkKCSAgaW1wbGVtZW50IHRoZSBpbmhlcml0YW5jZSBwb2xpY2llcyBkZXNjcmliZWQgaW4gdGhlIHNwZWMKCSAgQWxzbyBmaXhlZCBzZXZlcmFsIG1lbW9yeSBsZWFrIGNvbmRpdGlvbnMgd2hlbiBoYW5kbGluZyBlcnJvcnMgaW4KCSAgdGhlIHhtbCBhdHRyaWJ1dGUvY29udGVudCBwYXJzaW5nIGZ1bmN0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjY3NwoKMjAxMy0wNy0wMiAyMTozMTo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogY2hhbmdlIGRlYnVnIG1lc3NhZ2UgZnJvbSB3YXJuaW5nIHRvIGluZm8KCSAgSXQgaXNuJ3QgYSB3YXJuaW5nL2lzc3VlLgoKMjAxMy0wNy0wMiAyMToyODoyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogcHJvdGVjdCBmcm9tIGFjY2VzcyB0byBlbXB0eSBsaXN0IGRhdGEKCSAgQ2hlY2sgaWYgdGhlIGxpc3QgaGFzIGVsZW1lbnRzIGJlZm9yZSB0cnlpbmcgdG8gYWNjZXNzIHRoZSBsYXN0IG9uZQoJICBhbmQgY2F1c2luZyBhIHNlZ2ZhdWx0CgoyMDEzLTA3LTAyIDIzOjE2OjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IFNpbXBsaWZ5IGxvY2tpbmcgdG8gZml4IGRlYWRsb2NrcwoJICBVc2Ugb2JqZWN0IGxvY2sgdG8gcHJvdGVjdCB2YXJpYWJsZXMgZnJvbSBjb25jdXJyZW50IGFjY2VzcyBhbmQKCSAgdXNlIGRvd25sb2FkX2xvY2sgdG8gb25seSBhbGxvdyBvbmUgZG93bmxvYWQgcnVubmluZwoKMjAxMy0wNy0wMiAxNjowNDo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcHJvdGVjdCBhZ2FpbnN0IGZhaWxlZCBoZWFkZXIgZG93bmxvYWRzCgkgIEF2b2lkcyBjcml0aWNhbHMgd2hlbiBkb3dubG9hZGVkIGZyYWdtZW50IGlzIE5VTEwKCjIwMTMtMDctMDMgMTM6NTk6MDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogR3N0TXBlZ1RTID0+IEdzdE1wZWdUcwoKMjAxMy0wNy0wMyAxMzo1Nzo1NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmM6CgkqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuaDoKCSogc3lzL2R2Yi9jYW1kZXZpY2UuYzoKCSogc3lzL2R2Yi9jYW1kZXZpY2UuaDoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50Lmg6CgkqIHN5cy9kdmIvY2FtdXRpbHMuYzoKCSogc3lzL2R2Yi9jYW11dGlscy5oOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiOiBHc3RNcGVnVFMgPT4gR3N0TXBlZ1RzCgoyMDEzLTA3LTAzIDEzOjU3OjM4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogR3N0TXBlZ1RTID0+IEdzdE1wZWdUcwoKMjAxMy0wNy0wMyAxMzo1NjoyMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJICBsaWJzL21wZWd0czogUmVuYW1lIEdzdE1wZWdUUyA9PiBHc3RNcGVnVHMKCSAgU29ycnkgZm9yIHRoaXMgOiggQnV0IHRoaXMgbWFrZXMgaXQgbW9yZSBpbiBzeW5jIHdpdGggZXhwZWN0ZWQgdHlwZQoJICBuYW1pbmcgaW4gZ29iamVjdCAoaS5lLiBDYW1lbENhc2UgYW5kIG5vdCBDYW1lbE1BWUJFQ2FzZSkuCgkgIEFsc28gc3BsaXQgZGVzY3JpcHRvciB0eXBlIGVudW1zIGludG8gdGhlIGRpZmZlcmVudCB2YXJpYW50czoKCSAgKiBJU08gSC4yMjIuMCAvIDEzODE4LTEgKGkuZS4gc3RhbmRhcmQgbXBlZy10cykKCSAgKiBEVkIKCSAgKiBBVFNDCgkgICogSVNEQgoJICAqIG1pc2NlbGxhbmVvdXMKCSAgVGhpcyB3aWxsIGF2b2lkIGZ1dHVyZSBjbGFzaGVzIHdoZW4gc3BlY3MgdXNlIHRoZSBzYW1lIGRlc2NyaXB0b3IgdHlwZQoKMjAxMy0wNy0wMSAwODozNToyNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IEFkZCBhbiBleGFtcGxlIG9mIGEgbXBlZy10cyBTSSBleHRyYWN0b3IKCSAgU2VydmVzIGFzIGFuIGV4YW1wbGUgb2YgdXNhZ2Ugb2YgdGhlIG5ldyBtcGVndHMgbGlicmFyeSBmcm9tIGFuCgkgIGFwcGxpY2F0aW9uLgoJICBXaWxsIHBhcnNlL2R1bXAgYWxsIHNlY3Rpb25zIHJlY2VpdmVkIG9uIGEgYnVzLgoJICBVc2FnZSBpcyAuL3RzcGFyc2UgPGFueSBnc3QtbGF1bmNoIGxpbmUgdXNpbmcgdHNkZW11eCBvciB0c3BhcnNlPgoJICBFeGFtcGxlczoKCSAgLi90c3BhcnNlIGZpbGU6Ly8vc29tZS9tcGVndHNmaWxlICEgdHNwYXJzZSAhIGZha2VzaW5rCgkgIC4vdHNwYXJzZSBkdmI6Ly9DSEFOTkVMICEgdHNwYXJzZSAhIGZha2VzaW5rCgkgIC4vdHNwYXJzZSBwbGF5YmluIHVyaT1kdmI6Ly9DSEFOTkVMCgkgIC4vdHNwYXJzZSBwbGF5YmluIHVyaT1maWxlOi8vL3NvbWUvbXBlZ3RzZmlsZQoJICAuLi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjcyNAoKMjAxMy0wNi0yMyAwODo0NDowOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL01ha2VmaWxlLmFtOgoJKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmM6CgkqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuaDoKCSogc3lzL2R2Yi9jYW1kZXZpY2UuYzoKCSogc3lzL2R2Yi9jYW1kZXZpY2UuaDoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50Lmg6CgkqIHN5cy9kdmIvY2FtdXRpbHMuYzoKCSogc3lzL2R2Yi9jYW11dGlscy5oOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiOiBTd2l0Y2ggdG8gTVBFRy1UUyBTSSBsaWJyYXJ5CgkgIEFsc28gc2VydmVzIGFzIGFuIGV4YW1wbGUgb2YgdXNpbmcgbXBlZ3RzIGxpYnJhcnkgZnJvbSBhIHBsdWdpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNzI0CgoyMDEzLTA2LTIzIDA4OjQzOjIzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdHRzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogU3dpdGNoIHRvIE1QRUctVFMgU0kgbGlicmFyeQoJICAqIE9ubHkgbXBlZy10cyBzZWN0aW9uIHBhY2tldGl6YXRpb24gcmVtYWlucy4KCSAgKiBJbXByb3ZlIGNvZGUgdG8gZGV0ZWN0IGR1cGxpY2F0ZWQgc2VjdGlvbnMgYXMgZWFybHkgYXMgcG9zc2libGUKCSAgKiBBZGQgRklYTUUgZm9yIHZhcmlvdXMgaXNzdWVzIHRoYXQgbmVlZCBmaXhpbmcgKGJ1dCBhcmUgbm90IHJlZ3Jlc3Npb25zKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNzI0CgoyMDEzLTA2LTIzIDA4OjQxOjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHMtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9tcGVndHMuaDoKCSAgZ3N0LWxpYnM6IE5ldyBNcGVnLVRTIHN1cHBvcnQgbGlicmFyeQoJICBFeHBvc2VzIHZhcmlvdXMgTVBFRy1UUyAoSVNPL0lFQyAxMzgxOC0xKSBhbmQgRFZCIChFTiAzMDAgNDY4KSBTZWN0aW9uCgkgIEluZm9ybWF0aW9uIGFzIHdlbGwgYXMgZGVzY3JpcHRvcnMgZm9yIHVzYWdlIGJ5IHBsdWdpbnMgYW5kIGFwcGxpY2F0aW9ucy4KCSAgVGhpcyByZXBsYWNlcyBlbnRpcmVseSB0aGUgb2xkIEdzdFN0cnVjdHVyZS1iYXNlZCBzeXN0ZW0gZm9yIGNvbnZleWluZwoJICBtcGVnLXRzIGluZm9ybWF0aW9uIHRvIGFwcGxpY2F0aW9ucyBhbmQgb3RoZXIgcGx1Z2lucy4KCSAgUGFyc2luZyBhbmQgdmFsaWRhdGlvbiBpcyBkb25lIG9uIGEgIndoZW4tbmVlZGVkIiBiYXNpcy4gVGhpcyBlbnN1cmVzCgkgIHRoZSBtaW5pbWFsIG92ZXJoZWFkIGZvciBlbGVtZW50cyBhbmQgYXBwbGljYXRpb25zIGNyZWF0aW5nIGFuZCB1c2luZwoJICBzZWN0aW9ucyBhbmQgZGVzY3JpcHRvcnMuCgkgIFNpbmNlIGFsbCBpbmZvcm1hdGlvbiBpcyBtYWRlIGF2YWlsYWJsZSwgdGhpcyBhbHNvIGFsbG93cyBhcHBsaWNhdGlvbnMKCSAgdG8gcGFyc2UgY3VzdG9tIHNlY3Rpb25zIGFuZCBkZXNjcmlwdG9ycy4KCSAgUmlnaHQgbm93IHRoZSBsaWJyYXJ5IGlzIHRhcmdldGVkIHRvd2FyZHMgcGFyc2luZywgYnV0IHRoZSBzdHJ1Y3R1cmVzCgkgIGNvdWxkIGJlIHVzZWQgaW4gdGhlIGZ1dHVyZSB0byBhbGxvdyBhcHBsaWNhdGlvbnMgdG8gY3JlYXRlIGFuZCBpbmplY3QKCSAgc2VjdGlvbnMgYW5kIGRlc2NyaXB0b3JzIChmb3IgdXNhZ2UgYnkgdmFyaW91cyBtcGVnLXRzIGVsZW1lbnRzKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjcyNAoKMjAxMy0wNi0xMCAxODowMToxNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBIYW5kbGUgY2FzZSB3aXRob3V0IGFuIGluaXRpYWxpemF0aW9uIHNlZ21lbnQKCSAgSWYgbm8gaW5pdGlhbGl6YXRpb24gc2VnbWVudCBpcyBkZWZpbmVkLCB0aGVuIGRvbid0IHByaW50IGEKCSAgY3JpdGljYWwgb3IgYSB3YXJuaW5nLCBqdXN0IGlnbm9yZSBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTk2MQoKMjAxMy0wNy0wMSAxODoyMjo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2g6IHNhdmUgMSBvciAyIHN0cmluZyBjb3BpZXMgd2hlbiBnZXR0aW5nIGZyYWdtZW50IHVyaXMKCSAgT25seSBjcmVhdGUgbmV3IHN0cmluZyBpZiByZXF1aXJlZCwgc2F2aW5nIG1heWJlIDEgb3IgMiBzdHIgY29waWVzIHBlcgoJICBmcmFnbWVudC4KCjIwMTMtMDctMDEgMTg6MTU6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSAgZG9jczogYWRkIHVyaWRvd25sb2FkZXIgbGliIHRvIGd0ay1kb2MgbGlicwoJICBmaXhlcyBydW50aW1lIGxpbmtpbmcgZXJyb3Igb24gd2luZG93cwoKMjAxMy0wNy0wMSAxNzo1MDozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBlYWNoIGZyYWdtZW50IGNhbiBoYXZlIGl0cyBvd24gaW5kZXgKCSAgUmV0dXJuIGluZGV4IFVSSS9yYW5nZSB0byBkYXNoZGVtdXggZnJvbSB0aGUgbXBkcGFyc2VyIHRvIGJlIGFibGUKCSAgdG8gZG93bmxvYWQgYW5kIGRlbGl2ZXIgdGhlbSBkb3duc3RyZWFtIGZvciBwbGF5YmFjay4KCjIwMTMtMDctMDEgMTM6MTk6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogaGFuZGxlIHRvcC1sZXZlbCBpbmRleCB1cmxzCgkgIFBhcnNlIGFuZCBwcm92aWRlIGFjY2VzcyB0byB0b3AtbGV2ZWwgaW5kZXggc2VnbWVudHMgaWYgYXZhaWxhYmxlLgoJICBkYXNoZGVtdXggc2hvdWxkIHB1c2ggdGhvc2Ugd2hlbmV2ZXIgYSBoZWFkZXIgaXMgcHVzaGVkLgoJICBGaXhlcyAjNzAwNDg5CgoyMDEzLTA1LTA2IDE3OjA4OjU0IC0wNDAwICBBcnRodXIgU2hpcGtvd3NraSA8YXJ0QHZpZGVvbi1jZW50cmFsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IEZpeCBjcml0aWNhbCBlcnJvciBvdXRwdXQgd2hlbiBJbml0aWFsaXphdGlvbiBoYXMgbm8gVVJMCgkgIElzc3VlIGV2aW5jZWQgYnkKCSAgaHR0cDovL3l0LWRhc2gtbXNlLXRlc3QuY29tbW9uZGF0YXN0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vY2FyLTIwMTIwODI3LW1hbmlmZXN0Lm1wZAoJICB3aGljaCBwcm9kdWNlcyBvdXRwdXQgbGlrZSAqKiAoZ3N0LWxhdW5jaC0xLjA6ODA2MCk6IENSSVRJQ0FMICoqOgoJICBnc3RfbXBkcGFyc2VyX2dldF9pbml0aWFsaXphdGlvblVSTDogYXNzZXJ0aW9uIGBJbml0aWFsaXphdGlvblVSTC0+c291cmNlVVJMCgkgICE9IE5VTEwnIGZhaWxlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwNDg5CgoyMDEzLTA3LTAxIDE0OjM1OjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBwcmV2ZW50IGNyYXNoIGJ5IGNoZWNraW5nIGlmIHRoZSBzZWdtZW50IG5vZGUgaXMgcHJlc2VudAoJICBEbyBub3QgdHJ5IHRvIGFjY2VzcyByYW5nZSBkYXRhIGlmIHRoZXJlIGlzIG5vIHNlZ21lbnQgbm9kZQoKMjAxMy0wNi0yNSAxODozNDoxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvTWFrZWZpbGUuYW06CgkqIGV4dC9kYXNoL2dzdGRhc2hfZGVidWcuaDoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoOiB1c2Ugc2FtZSBkZWJ1ZyBjYXRlZ29yeSBmb3IgZGFzaGRlbXV4IGFuZCB0aGUgbXBkIHBhcnNlcgoJICBNYWtlcyBkZWJ1Z2dpbmcgZWFzaWVyCgoyMDEzLTA2LTIwIDAzOjUyOjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGFkZCBzdXBwb3J0IGZvciByYW5nZSBiYXNlZCBzZWdtZW50cwoJICBVc2UgdGhlIG1lZGlhUmFuZ2UgaW5mb3JtYXRpb24gYW5kIHBhc3MgaXQgdG8gdGhlIHVyaWRvd25sb2FkZXIKCSAgdG8gY29ycmVjdGx5IGRvd25sb2FkIG9ubHkgdGhlIHNlZ21lbnQgcmFuZ2VzIGluZGljYXRlZCBpbiB0aGUKCSAgTVBECgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIyMDYKCjIwMTMtMDYtMTkgMTg6Mjg6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5oOgoJICB1cmlkb3dubG9hZGVyOiBhZGQgc3VwcG9ydCBmb3IgcmFuZ2UgYmFzZWQgZG93bmxvYWRzCgkgIEFkZHMgYSBuZXcgQVBJIGdzdF91cmlfZG93bmxvYWRlcl9mZXRjaF91cmlfd2l0aF9yYW5nZSB0aGF0IGFsbG93cwoJICBkb3dubG9hZGluZyBvbmx5IGEgYnl0ZSByYW5nZSBmcm9tIGFuIFVSSS4gSXQgdXNlcyBhIHNlZWsgZXZlbnQKCSAgc2VudCB0byB0aGUgc291cmNlIHRvIHNpZ25hbCB0aGUgcmFuZ2UgdG8gYmUgZG93bmxvYWRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjIwNgoKMjAxMy0wMy0wOSAwMTo0OToyMyArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGgyNjRwYXJzZXI6IEZpeCB0aGUgcmV0dXJuIHZhbHVlIHR5cGUgZm9yIHRoZSBTRUkgcGFseWxvYWQgcGFyc2luZyBtZXRob2RzLgoJICBUaGUgcmV0dXJuIHZhbHVlIHR5cGUgb2YgU0VJIHBheWxvYWQgcGFyc2luZyBmdW5jdGlvbnMKCSAgYXJlIEdzdEgyNjRQYXJzZXJSZXN1bHQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU0NzUKCjIwMTMtMDYtMjggMjA6MTU6MDggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cDogRG9uJ3QgcmVxdWlyZSBhIGtleSBpZiBib3RoIGF1dGggYW5kIGNpcGhlciBhcmUgbnVsbAoKMjAxMy0wNi0yOCAyMDozMjozNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL01ha2VmaWxlLmFtOgoJKiBleHQvc3J0cC9nc3RzcnRwLmM6CgkqIGV4dC9zcnRwL2dzdHNydHAuaDoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmg6CgkgIHNydHA6IE1vdmUgdGhlIGVudW1zIHRvIHRoZSBjb21tb24gaGVhZGVyCgkgIFRoZSB0eXBlcyBhcmUgdXNlZCBpbiBib3RoIHRoZSBlbmNvZGVyIGFuZCBkZWNvZGVyCgoyMDEzLTA2LTI4IDIwOjEzOjM4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwOiBSZW1vdmUgdW51c2VkIGNvZGUKCjIwMTMtMDYtMjggMTI6MjU6NTkgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IGFkZCB0aGUgYnVpbGQgcHJlZml4IHBhdGggaW4gdGhlIHNlYXJjaCBkaXJzCgoyMDEzLTA2LTI1IDEwOjI2OjI0IC0wNjAwICBHcmVnIFJ1dHogPGdyZWdAZ3NyLXRlay5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBDbGVhbnVwIG1lbW9yeSBhbGxvY2F0aW9uL2RlYWxsb2NhdGlvbgoJICBFbnN1cmUgdGhhdCBnX2ZyZWUveG1sRnJlZSBpcyB1c2VkIGNvcnJlY3RseSBiYXNlZCBvbiBob3cgdGhlCgkgIG1lbW9yeSB3YXMgYWxsb2NhdGVkLgoJICBXaGVuIGRlYWxsb2NhdGluZyBHTGlzdHMsIHRoZXJlIHdlcmUgbWFueSBwbGFjZXMgdGhhdCB3ZXJlIHVzaW5nCgkgIGdfbGlzdF9mb3JlYWNoIGFuZCBnX2xpc3RfZnJlZS4gIENvbnZlcnRlZCB0aGVzZSBvY2N1cnJlbmNlcyB0bwoJICBjYWxsIGdfbGlzdF9mcmVlX2Z1bGwuCgkgIEFkZCBOVUxMIGNoZWNrcyB0byBhbGwgeG1sRnJlZSBjYWxscyBzaW5jZSB0aGUgZG9jdW1lbnRhdGlvbiBkb2VzCgkgIG5vdCBndWFyYW50ZWUgdGhhdCBwYXNzaW5nIE5VTEwgaXMgc2FmZQoJICBJbiBwbGFjZXMgd2hlcmUgd2UgYXJlIHN0cmR1cCdpbmcgbWVtb3J5IGFsbG9jYXRlZCBieSBsaWJ4bWwyLAoJICBjaGFuZ2VkIHRob3NlIGNhbGxzIHRvIHVzZSB4bWxNZW1TdHJkdXAoKS4KCSAgVGhlcmUgd2VyZSBzZXZlcmFsIHBsYWNlcyB3aGVyZSB3ZSB3ZXJlIG1pc3NpbmcgZ19zbGljZV9mcmVlIHdoZW4KCSAgZGVhbGxvY2F0aW5nIGEgdG9wLWxldmVsIG5vZGUgc3RydWN0dXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyODM3CgoyMDEzLTA2LTI0IDEzOjAyOjQwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJICBtcGVnZGVzYzogRXh0ZW5kIGxpc3Qgb2Yga25vd24gZGVzY3JpcHRvcnMKCSAgQWRkIHRoZSB2YXJpb3VzIEFUU0Mgb25lcwoKMjAxMy0wNi0yNCAwODoyNDo1OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBPbmx5IHdhcm4gZm9yIGFkZGVkIHN0cmVhbXMgd2hlbiBuZWVkZWQKCSAgV2UgdXNlIGFkZF9zdHJlYW0oc3RyZWFtX3R5cGU6LTEpIHRvIGVuc3VyZSBhIHByb2dyYW1zJyBQQ1IgU3RyZWFtIGlzCgkgIGFsc28gdGFrZW4gaW50byBhY2NvdW50LiBGb3IgbW9zdCBwcm9ncmFtcyB0aGlzIHdpbGwgcmUtdXNlIGFuCgkgIGV4aXN0aW5nIEVTIHN0cmVhbS4KCSAgU28gb25seSB3YXJuIHRoYXQgd2UgYXJlIHJlLWFkZGluZyBhIHN0cmVhbSBpZiBpdCB3YXMgYWxyZWFkeSBwcmVzZW50CgkgIEFORCBpdCBpcyBub3QgdG8gZW5zdXJlIHRoZSBQQ1Igc3RyZWFtIGlzIHRha2VuIGludG8gYWNjb3VudC4KCjIwMTMtMDYtMjMgMTU6MTI6NTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogU3BlZWQgdXAgc2VjdGlvbiBwYXJzaW5nCgkgIE9ubHkgY3JlYXRlIHN1YnRhYmxlcyB3aGVuIG5lZWRlZC4gSXQgd2FzIHByZXZpb3VzbHkgY3JlYXRpbmcgb25lIGV2ZXJ5CgkgIHNpbmdsZSB0aW1lIC4uLiB0byBjaGVjayBpZiBvbmUgd2FzIHByZXNlbnQuCgkgIEFuZCBzcGVlZCB1cCBjb2RlIHRvIGRldGVjdCB3aGV0aGVyIGEgc3VidGFibGUgd2FzIGFscmVhZHkgcHJlc2VudCBvciBub3QuCgkgIE92ZXJhbGwgbWFrZXMgc2VjdGlvbiBwdXNoaW5nIDIgdGltZXMgZmFzdGVyLgoKMjAxMy0wNi0yNCAwNzo0MDoyMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSAgbXBlZ2Rlc2M6IEV4dGVuZCBsaXN0IG9mIGtub3duIGRlc2NyaXB0b3JzCgkgIEZyb20gSVRVLVQgSDIyMi4wICgwNi8yMDEyKS4gRnJlZWx5IGF2YWlsYWJsZSBmcm9tIGl0dS5pbnQKCjIwMTMtMDYtMjMgMTU6MjY6MTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogU3BlZWR1cCBwYWNrZXQgcGFyc2luZwoJICBBdm9pZCB1c2luZyBiaXRzaGlmdGluZyB3aGVyZSBub3QgbmVlZGVkLgoJICBTcGVlZHMgdXAgcGFja2V0IHBhcnNpbmcgYnkgMyUgKHRoaXMgaXMgKnRoZSogaG90c3BvdCBvZiBtcGVnLXRzIGVsZW1lbnRzKS4KCjIwMTMtMDYtMjIgMDg6NTc6MTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBGaXggZ3RrLWRvYwoJICBEZXRlY3RlZCBieSBpbml0aWFsIHByZS1ydW4gb2YgZ2ktc2Nhbm5lci4KCjIwMTMtMDYtMjMgMTE6Mjk6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9kYWFsYS9nc3RkYWFsYS5jOgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFkZWMuYzoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZGVjLmg6CgkgIGRhYWxhZGVjOiBBZGQgZGVjb2RlciBlbGVtZW50CgoyMDEzLTA2LTIzIDEwOjA0OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9kYWFsYS9nc3RkYWFsYS5jOgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFlbmMuYzoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZW5jLmg6CgkgIGRhYWxhZW5jOiBBZGQgZW5jb2RlciBlbGVtZW50CgoyMDEzLTA2LTIyIDExOjI3OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2RhYWxhL01ha2VmaWxlLmFtOgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGEuYzoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZGVjLmM6CgkqIGV4dC9kYWFsYS9nc3RkYWFsYWRlYy5oOgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFlbmMuYzoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZW5jLmg6CgkgIGRhYWxhOiBJbml0aWFsIHZlcnNpb24gb2YgYSBEYWFsYSBwbHVnaW4KCjIwMTMtMDYtMjMgMDk6MDU6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvTWFrZWZpbGUuYW06CgkgIHNydHA6IEZpeCBkaXN0CgkgIFRoZSBlbnVtcyBzaG91bGQgbm90IGJlIGRpc3QtZWQgYW5kIGluc3RlYWQgYmUgcmUtZ2VuZXJhdGVkIHdoZW4KCSAgY29tcGlsaW5nLgoKMjAxMy0wNi0xOSAyMDozOTo1NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYWNrZXRpemVyOiBCZXR0ZXIgZGV0ZWN0IGFscmVhZHkgc2VlbiBzZWN0aW9uCgkgIEluIHNvbWUgY2FzZXMgKE5JVCBvbiBoaWdobHktcG9wdWxhdGVkIERWQi1DIG9wZXJhdG9yIGZvciBleGFtcGxlKSwgdGhlcmUKCSAgd2lsbCBiZSBtb3JlIHRoYW4gb25lIHNlY3Rpb24gZW1pdHRlZCBmb3IgdGhlIHNhbWUgc3VidGFibGUgYW5kIHZlcnNpb24KCSAgbnVtYmVyLgoJICBJbiBvcmRlciBub3QgdG8gbG9zZSB0aG9zZSB1cGRhdGVzIGZvciB0aGUgc2FtZSB2ZXJzaW9uIG51bWJlciwgd2UgY2hlY2tlZAoJICBhZ2FpbnN0IHRoZSBDUkMgb2YgdGhlIHByZXZpb3VzIHNlY3Rpb24gd2UgcGFyc2VkLgoJICBUaGUgcHJvYmxlbSBpcyB0aGF0LCB3aGlsZSBpdCBtYWRlIHN1cmUgd2UgZGlkbid0IGxvc2UgYW55IGluZm9ybWF0aW9uLCBpdAoJICBhbHNvIG1lYW50IHRoYXQgaWYgdGhlIHNhbWUgc2VjdGlvbiBjYW1lIGJhY2sgKHNhbWUgdmVyc2lvbiwgc2FtZSBDUkMpIGxhdGVyCgkgIG9uIHdlIHdvdWxkIHJlLXByb2Nlc3MgaXQsIHJlLXBhcnNlIGl0IGFuZCByZS1lbWl0IGl0LgoJICBUaGlzIHZlcnNpb24gaW1wcm92ZXMgb24gdGhhdCBieSBrZWVwaW5nIGEgbGlzdCBvZiBwcmV2aW91c2x5IG9ic2VydmVkIENSQwoJICBmb3IgaWRlbnRpY2FsIFBJRC9zdWJ0YWJsZS92ZXJzaW9uLW51bWJlciBhbmQgd2lsbCBvbmx5IHByb2Nlc3Mgc2VjdGlvbnMgaWYKCSAgdGhleSByZWFsbHkgd2VyZSBuZXZlciBzZWVuIGluIHRoZSBwYXN0IChhcyBvcHBvc2VkIHRvIGp1c3QgYmVmb3JlKS4KCSAgT24gYSAzMHMgY2xpcCwgdGhpcyBicmluZ3MgZG93biB0aGUgbnVtYmVyIG9mIE5JVCBzZWN0aW9uIHBhcnNpbmcgZnJvbSA0NTQxCgkgIGRvd24gdG8gNjYzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE0NDc5CgoyMDEzLTA2LTIwIDIyOjEyOjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3dpbnNjcmVlbmNhcC9NYWtlZmlsZS5hbToKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuaDoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuaDoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3R3aW5zY3JlZW5jYXAuaDoKCSAgd2luc2NyZWVuY2FwOiBJbml0aWFsIHBvcnQgdG8gMS4wCgoyMDEzLTA2LTIwIDA5OjUyOjMxICswMjAwICBYYXZpIEFydGlnYXMgPHhhcnRpZ2FzQGZsdWVuZG8uY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IEZpeCBjb3B5aW5nIG9mIHJhdyB2aWRlbyBmcmFtZXMgb24gU2Ftc3VuZyBHYWxheHkgUzMgd2l0aCBFeHlub3MgNCBTT0MKCjIwMTMtMDYtMTkgMTI6NTI6NTIgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdWUgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htc2luazogdW5yZWYgYnVmZmVyIGlmIG5vIGNsaWVudHMgYXJlIGNvbm5lY3RlZAoJICBJZiBubyBjbGllbnQgaGFzIHJlY2VpdmVkIHRoZSBjb21tYW5kLCB1bnJlZiB0aGUgYnVmZmVyLiBUaGlzIHdpbGwKCSAgbWFrZSBzdXJlIHRoYXQgdGhlIHNoYXJlZCBtZW1vcnkgYXJlYSBkb2VzIG5vdCBnZXQgZmlsbGVkIHdpdGggYnVmZmVycwoJICBubyBvbmUga25vd3MgYWJvdXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI2ODQKCjIwMTMtMDYtMTkgMTk6Mjk6MjcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogU3BlZWQgdXAgTklUIHBhcnNpbmcKCSAgQXZvaWQgZHVwbGljYXRpbmcgdGhlIGRlbGl2ZXJ5IHN0cnVjdHVyZSwgYW5kIGluc3RlYWQgZ2l2ZSBpdCB0byB0aGUKCSAgcmVjZWl2aW5nIGNvbnRhaW5lci4KCjIwMTMtMDYtMDcgMTI6NTM6MDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RiYXNlOiBzaW1wbGlmeSBjb2RlCgkgIFdlIGRvbid0IG5lZWQgZ2VuZXJpYyBtZXRob2RzIGZvciBwdXNoL2ZsdXNoIHNpbmNlIHdlIGtub3cgYWxsIHRoZQoJICBzdWJjbGFzcyB0aGF0IHdlIGNvbnRyb2wKCjIwMTMtMDYtMDUgMTU6NTE6NTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBGaXggZm9yIGNvbXBpbGluZyB3aXRob3V0IEdTVF9ERUJVRwoJICBQcm90ZWN0IGRlYnVnLW9ubHkgdmFyaWFibGVzL3VzYWdlLCBhbmQgaW4gb25lIGNhc2UgcmVtb3ZlIGEgdXNlbGVzcwoJICB2YXJpYWJsZS4KCjIwMTMtMDYtMTcgMDg6MTU6NTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5oOgoJICB0c3BhcnNlOiBFbnN1cmUgaW5pdGlhbCBldmVudHMgYXJlIHNlbnQgaW4gdGhlIHJpZ2h0IG9yZGVyCgkgIEZpcnN0IHNlbmQgc3RyZWFtLXN0YXJ0LCB0aGVuIGNhcHMsIHRoZW4gc2VnbWVudC4KCSAgVGhlIHNlZ21lbnQgd2UgcHVzaCBpcyBmcm9tIHVwc3RyZWFtIGluIHB1c2gtbW9kZS4gSWYgd2Ugd29yayBpbiBwdWxsLW1vZGUKCSAgdGhlbiB3ZSBpbml0aWFsaXplIHRoZSBiYXNlIHNlZ21lbnQgdG8gQllURVMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI0MjIKCjIwMTMtMDYtMTggMTI6Mjk6NDEgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdWUgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htc2luazogcHJvcGFnYXRlIGV2ZW50cyB0byBiYXNlc2luayBjbGFzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNTk3CgoyMDEzLTA2LTE4IDEzOjQ3OjU0ICswMjAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkgIHdheWxhbmQ6IEFkZCBzdXBwb3J0IGZvciBSR0J4IGFuZCBSR0JBIGZvcm1hdHMKCSAgV2F5bGFuZCBpbnRlcmZhY2UgY291bGQgb2ZmZXIgdHdvIGJ1ZmZlcnMgcGl4ZWxzIGZvcm1hdHM6IFdMX1NITV9GT1JNQVRfWFJHQjg4ODggYW5kIFdMX1NITV9GT1JNQVRfQVJHQjg4ODguCgkgIFVwZGF0ZSB3YXlsYW5kc2luayB0byBzdXBwb3J0IHRoZW0gYW5kIGNoZWNrIGlmIHRoZSBmb3JtYXQgaXMgcmVhbGx5IGF2YWlsYWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjExMgoKMjAxMy0wNi0xOCAxMjo0NjowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJICBvcGVuY3Y6IGZpeCBDRkxBR1Mgb3JkZXIgYW5kIGFkZCBwbHVnaW5zIGJhc2UgbGlicyBpbmNsdWRlcyB0byBDWFhGTEFHUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMjk3CgoyMDEzLTA2LTE1IDAwOjEyOjE4ICswMjAwICBBbGJhbiBCcm93YWV5cyA8cHJhaGFsQHlhaG9vLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0c2VnbWVudGF0aW9uLmNwcDoKCSogZXh0L29wZW5jdi9nc3RzZWdtZW50YXRpb24uaDoKCSAgb3BlbmN2OiBmaXhlcyBidWlsZCBieSBtb3ZpbmcgdGhlIGMrKyBoZWFkZXIgdG8gZ3N0c2VnbWVudGF0aW9uLmNwcAoJICBGaXhlczoKCSAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGdzdHNlZ21lbnRhdGlvbi5oOjUxOjAsCgkgIGZyb20gZ3N0b3BlbmN2LmM6NDI6CgkgIC91c3IvaW5jbHVkZS9vcGVuY3YyL3ZpZGVvL2JhY2tncm91bmRfc2VnbS5ocHA6NDc6MTY6IGZhdGFsIGVycm9yOiBsaXN0OgoJICBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CgkgICNpbmNsdWRlIDxsaXN0PgoJICBeCgkgIGNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIyOTcKCjIwMTMtMDYtMTggMTM6MzM6MTQgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiBmaXggcmVsZWFzZSBvZiBudWxsIHBvaW50ZXIKCjIwMTMtMDYtMTggMTM6MTc6NTIgKzAyMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJICBhcHBsZW1lZGlhOiBjb3JlbWVkaWFidWZmZXI6IGZpeCBsZWFraW5nIG9mIGFwcGxlIG1lZGlhIHN0cnVjdHMKCSAgcmVtZW1iZXIgdG8gcmVsZWFzZSB0aGUgYXBwbGUncyBhcGkgYnVmZmVycyB0byBhdm9pZCBodWdlIGxlYWtpbmcKCjIwMTMtMDYtMTggMTM6MDI6NDIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSAgYXBwbGVtZWRpYTogbW92ZSBkZWZpbmVzIHRvIENQUEZMQUdTIGZvciBvYmotYyBmaWxlcwoKMjAxMy0wNi0xMSAxMTo1NDo0MSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkgIGRzaG93YXVkaW9zcmM6IGZpeCBhdWRpb2NhcHR1cmUgcHJvZHVjaW5nIHNpbGVuY2UKCSAgQ29uZmlndXJlIHRoZSBjYXB0dXJlIGxhdGVuY3kgdXNpbmcgdGhlIElBTUJ1ZmZlck5lZ290aWF0aW9uCgkgIGludGVyZmFjZSBhbmQgdHJ5IHRvIHJlc3BlY3QgdGhlIGNvbmZpZ3VyZWQgbGF0ZW5jeS10aW1lIGFuZCBidWZmZXItdGltZQoKMjAxMy0wNi0xNCAxNDo1MjowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogTWFrZSBzdXJlIHRoZSBidWZmZXIgaXMgd3JpdGFibGUgYmVmb3JlIHdlIGFkZCB0aGUgTVBFRyB2aWRlbyBtZXRhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIxNzQKCjIwMTMtMDYtMTMgMTM6MzQ6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IEZpeCBzb21lIGF1dG9tYWtlIHdhcm5pbmdzCgoyMDEzLTA1LTI3IDIyOjIyOjMyICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIHRzZGVtdXg6IGZpeCBNMlRTIHN0cmVhbSByZXN5bmMKCSAgU3luYyBieXRlIHNjYW4gaXMgaW5jb3JyZWN0IGZvciBNMlRTIHN0cmVhbXMgYmVjYXVzZSB0aGUgdGltZXN0YW1wIDQKCSAgYnl0ZXMgd2VyZSBub3QgaW5jbHVkZWQgaW4gdGhlIGZsdXNoIHNpemUuIFRoaXMgY2FuIHJlc3VsdCBpbiBhbgoJICBpbmZpbml0ZSBsb29wLgoJICBSZXdvcmsgdGhlIHNjYW4gY29kZSB0byBiZSBjbGVhcmVyIGFuZCB3b3JrIGluIGFsbCBjYXNlcy4KCjIwMTMtMDUtMjQgMTA6NTk6NTUgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogbW92ZSBzb21lIGRlYnVnIHByaW50cyBhdCB0aGUgbG9nIGxldmVsCgoyMDEzLTA1LTI0IDEwOjU5OjU5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBmaXhlcyBzZWVraW5nIGluIHB1bGwgbW9kZQoJICBQcmVzZXJ2ZSB0aGUgY3VycmVudCBzZWdtZW50IGFuZCBvYnNlcnZhdGlvbnMgaW4gcHVsbCBtb2RlIHNlZWtzIHdpdGgKCSAgZmx1c2hpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTgwNTAKCjIwMTMtMDYtMTEgMTk6NDU6MzEgKzAyMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkgIGN1cmxzbXRwc2luazogcmVtb3ZlZCBhbiBpbmNvcnJlY3QgYXNzZXJ0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIwMzYKCjIwMTMtMDYtMTEgMTQ6MzI6NDMgKzAyMDAgIE1pZ3VlbCBDYXNhcy1TYW5jaGV6IDxtaWd1ZWxlY2FzYXNzYW5jaGV6QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIGV4dC9vcGVuY3YvZ3N0c2VnbWVudGF0aW9uLmNwcDoKCSogZXh0L29wZW5jdi9nc3RzZWdtZW50YXRpb24uaDoKCSAgb3BlbmN2OiBhZGQgZm9yZWdyb3VuZC9iYWNrZ3JvdW5kIHNlZ21lbnRhdGlvbiBlbGVtZW50CgkgIEFkZCBhbiBlbGVtZW50IHRvIHRoZSBvcGVuY3YgcGx1Z2luIGZvciBmb3JlZ3JvdW5nL2JhY2tncm91bmQgaW1hZ2UKCSAgc2VxdWVuY2Ugc2VnbWVudGF0aW9uLCB1c2luZyBvbmUgb3V0IG9mIDMgYWxnb3JpdGhtcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTQyMQoKMjAxMy0wNi0xMCAxNzowMDo0MiArMDIwMCAgSGFucyBkZSBHb2VkZSA8aGRlZ29lZGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogQWRkIHZpZGVvLXNvdXJjZS1maWx0ZXIgZHVyaW5nIGNvbnN0cnVjdGlvbgoJICBCeSBhZGRpbmcgdGhlIHZpZGVvLXNvdXJjZS1maWx0ZXIgZHVyaW5nIGNvbnN0cnVjdGlvbiB0aW1lLCByYXRoZXIgdGhlbgoJICBwYXRjaGluZyBpdCBpbiBsYXRlciAoKiksIHdlIGNhbiBncmVhdGx5IHJlZHVjZSB0aGUgYW1vdW50IG9mIGNhcHMgaW52b2x2ZWQKCSAgaW4gbmVnb3RhdGlvbiwgc3BlZWRpbmcgdXAgcGlwZWxpbmUgY3JlYXRpb24uCgkgIEkgd3JvdGUgdGhpcyB3aGlsZSB3b3JraW5nIG9uIHNwZWVkaW5nIHVwIHRoZSBzdGFydHVwIG9mIGNoZWVzZS4gTXkgY2hlZXNlCgkgIGhhcyBiZWVuIG1vZGlmaWVkIHRvIGFkZCBhIGNhcHNmaWx0ZXIsIGZpbHRlcmluZyBmb3Igb25seSB0aGUgY29uZmlndXJlZAoJICByZXNvbHV0aW9uLCB3aXRoIHRoYXQgY2hlZXNlIHBhdGNoICsgdGhpcyBwYXRjaCwgdGhlIHBpcGVsaW5lIGNyZWF0aW9uIHRpbWUKCSAgZ29lcyBmcm9tIGFwcm94IDEuMSBzZWNvbmRzIHRvIGFwcm94IDM1MG1zLiBUaGlzIGlzIHdpdGggYSBMb2dpdGVjaCA5MDAwCgkgIHBybyBjYW1lcmEsIHdoaWNoIHN1cHBvcnRzIGxvdHMgb2YgZGlmZmVyZW50IHJlc29sdXRpb25zIGF0IG1hbnkgZGlmZmVyZW50CgkgIGZyYW1lcmF0ZXMgcGVyIHJlc29sdXRpb24sIGNhdXNpbmcgYSBjYXBzICJleHBsb3Npb24iIGlmIG5vdCBmaWx0ZXJlZC4KCSAgKikgTm90ZSB0aGUgY29kZSBmb3IgdGhpcyBpcyBsZWZ0IGluLCBhcyBpdCBpcyBzdGlsbCBuZWNlc3NhcnkgaWYgdGhlCgkgIHZpZGVvLXNvdXJjZS1maWx0ZXIgaXMgY2hhbmdlZCBiZXR3ZWVuIGEgc3RvcCArIHJlLXN0YXJ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxOTUzCgoyMDEzLTA2LTEwIDE4OjAwOjEzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogTWFrZSBnc3QtaW5kZW50IGhhcHB5CgoyMDEzLTA2LTEwIDEwOjA1OjU2ICswMjAwICBIYW5zIGRlIEdvZWRlIDxoZGVnb2VkZUByZWRoYXQuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IERvbid0IHVuc2V0IHRoZSB2aWRlby1zb3VyY2UgcHJvcGVydHkgb24gcGlwZWxpbmUgc3RhcnQKCSAgY2hlY2tfYW5kX3JlcGxhY2Vfc3JjKCkgd2FzIHNldHRpbmcgc2VsZi0+YXBwX3ZpZF9zcmMgdG8gTlVMTCwgd2hpY2gKCSAgbWVhbnMgdGhhdCBhbiBhcHAgc2V0dGluZyB0aGUgdmlkZW8tc291cmNlIHByb3BlcnR5LCBhbmQgdGhlbiBzdGFydGluZywKCSAgc3RvcHBpbmcgYW5kIHJlLXN0YXJ0aW5nIHRoZSBwaXBlbGluZSAoaWUgdG8gbWFrZSBjaGFuZ2VzIHRvIHRoZQoJICB2aWRlby1zb3VyY2UtZmlsdGVyIHByb3BlcnR5KSB3b3VsZCBhZnRlciB0aGUgcmVzdGFydCBubyBsb25nZXIgaGF2ZQoJICBhIHZpZGVvLXNvdXJjZS4KCSAgVGhpcyBwYXRjaCBmaXhlcyB0aGlzIGJ5IG1ha2luZyBnc3RfY2FtZXJhYmluX3NldHVwX2RlZmF1bHRfZWxlbWVudCByZXR1cm4gYQoJICByZWYgdG8gdGhlIHBhc3NlZCBpbiB1c2VyX2VsZW1lbnQsIHJhdGhlciB0aGVuIHJldHVybmluZyB0aGUgdXNlcl9lbGVtZW50IGFzCgkgIGlzLCBzbyB0aGF0IHRoYXQgcmVmIGNhbiBiZSBwYXNzZWQgb24gdG8gdGhlIGJpbiwgYW5kIHRoZSBhcHBfdmlkX3NyYyByZWYKCSAgc3RheXMgdmFsaWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE5MTUKCjIwMTMtMDYtMDggMTQ6NDg6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWdsLmM6CgkgIGVnbGdsZXNzaW5rOiBSZW1vdmUgd29ya2Fyb3VuZCBmb3IgYSBidWcgaW4gdGhlIFJQaSBFR0wgaW1wbGVtZW50YXRpb24KCSAgSXQncyBmaXhlZCBpbiB0aGUgbGF0ZXN0IGZpcm13YXJlIHNpbmNlIGEgZmV3IHdlZWtzLgoKMjAxMy0wNS0wNiAxNjo1NjowMSAtMDQwMCAgQXJ0aHVyIFNoaXBrb3dza2kgPGFydEB2aWRlb24tY2VudHJhbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBGaXggaXNzdWUgd2l0aCBnZXQgcmV0dXJuaW5nIGEgdmFsdWUgZm9yIG1heC1idWZmZXJpbmctdGltZQoJICBJdCB3YXMgbm90IHByb3Blcmx5IGRpdmlkZWQgYnkgR1NUX1NFQ09ORFMuIEFsc28gZml4IGlzc3VlIHdpdGgKCSAgbWF4LWJ1ZmZlcmluZy10aW1lIGJlaW5nIG11bHRpcGxpZWQgYnkgR1NUX1NFQ09ORFMgZXZlcnkgdGltZSB0aGUKCSAgcHJvcGVydHkgaXMgcmV0cmlldmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwNDg3CgoyMDEzLTA2LTA3IDE1OjE4OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkgIHJmYjogTGluayB3aXRoIGxpYmdzdGJhc2UgZm9yIEdzdFB1c2hTcmMKCjIwMTMtMDYtMDcgMTQ6MDE6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IEZpeCBzdHJpbmcgY29tcGFyaXNvbgoKMjAxMy0wNC0wNCAxODoyMjo1MiArMDIwMCAgQWxiYW4gQnJvd2FleXMgPHByYWhhbEB5YWhvby5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJICBtcGVnZGVtdXg6IGFjY2VwdCBJRF9QUklWQVRFX1NUUkVBTV8xIHRvIGF2b2lkIGxvb3Npbmcgc3luYwoJICBDdXJyZW50IGZhbGxiYWNrIHRvIGxvc3Rfc3luYyBzZWVtcyB0byBpbXBlZGUgYSBkZWxheSB0byByZXN0b3JlCgkgIHN5bmMuIExldCB0aGUgcGFyc2VyIHBhcnNlIGFuZCBza2lwIHRoZSBwcml2YXRlIHN0cmVhbS4KCSAgSGVyZSBpdCBjb250YWlucyB0aGUgZGlnaXRhbCBjYW1lcmEgYnJhbmQgKGluIDIwMTAgYnl0ZXMpCgkgIGFuZCBpcyByZXBlYXRlZCB0d2ljZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzI4MwoKMjAxMy0wNi0wNyAxMjoxMDowOCArMDIwMCAgSWx5YSBTbWVseWtoIDxpbHlhLnNtZWx5a2hAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBXYWl0IHVudGlsIFNQUy9QUFMgYmVmb3JlIG91dHB1dHRpbmcgYW55IGRhdGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NjMyNwoKMjAxMy0wNi0wNyAxNDowNjo1NiArMDgwMCAgQ2hlbiBKaWUgPGNoZW5qQGxlbW90ZS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogSGFja3MgZm9yIEh1YXdlaU1lZGlhUGFkIHdoaWNoIHJlcG9ydHMgd3JvbmcgY29sb3IgZm9ybWF0CgkgIENPTE9SX0Zvcm1hdFlDYllDciBpcyByZXBvcnRlZCBidXQgaXQgaXMgYWN0dWFsbHkgQ09MT1JfVElfRm9ybWF0WVVWNDIwUGFja2VkU2VtaVBsYW5hci4KCjIwMTMtMDYtMDUgMTY6MTY6MzYgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIG1wZWd2aWRlb3BhcnNlcjogRml4IHRoZSBwaXhlbC1hc3BlY3QtcmF0aW8gY2FsY3VsYXRpb24KCSAgSWdub3JlIHRoZSBkaXNwbGF5X2V4dGVuc2lvbiB2YWx1ZXMgaWYgdGhleSBhcmUgZ3JlYXRlciB0aGFuIHRoZSB3aWR0aC9oZWlnaHQKCSAgdmFsdWVzIHByb3ZpZGVkIGJ5IHNlcWhkciBhbmQgY2FsY3VsYXRlIHRoZSBQQVIgYmFzZWQgb24gdGhlIHNlcWhkciB2YWx1ZXMuVAoJICBoaXMgaXMgd2hhdCBEVkQgcGxheWVycyBhcmUgZG9pbmcuCgkgIFRoYW5rcyB0byAiRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+IgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1MTAzCgoyMDEzLTA2LTA1IDE4OjM2OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4xLjEgPT09CgoyMDEzLTA2LTA1IDE4OjEwOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWdsZ2xlc3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLWRpc3QuYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLWRpc3QuaDoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0LmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdWRpZWZmZWN0c29yYy1kaXN0LmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1ZGllZmZlY3Rzb3JjLWRpc3QuaDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMS4xCgoyMDEzLTA2LTA1IDE4OjI4OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSAgdmRwYXU6IEFkZCBzb21lIG1pc3NpbmcgaGVhZGVycyB0byBkaXN0CgoyMDEzLTA2LTA1IDE4OjAxOjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgZGFzaDogQWRkIHRvIE1ha2VmaWxlLmFtIGZvciBtYWtlIGRpc3QKCjIwMTMtMDYtMDUgMTc6NDk6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL01ha2VmaWxlLmFtOgoJICBhcHBsZW1lZGlhLW5vbnB1YmxpYzogQWRkIHRvIHRoZSBNYWtlZmlsZS5hbSBmb3IgZGlzdAoKMjAxMy0wNi0wNSAxNjo1NDo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEzLTA2LTA1IDE1OjIwOjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEZpeCBsZWFrCgkgIFNpbmNlIHdlIHdlcmUgbWFudWFsbHkgc2V0dGluZyBHVmFsdWUgdG8gdGhlIEdWYWx1ZUFycmF5LCB3ZSBhbHNvIG5lZWQKCSAgdG8gc3BlY2lmeSBob3cgbWFueSB3ZXJlIHNldCwgb3RoZXJ3aXNlIGFsbCB2YWx1ZXMgaW4gdGhlIGFycmF5IHdpbGwKCSAgYmUgbGVha2VkLgoKMjAxMy0wNi0wNSAxNToxNTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwOThjMGQ3IHRvIDAxYTdhNDYKCjIwMTMtMDYtMDUgMTM6Mzk6MTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogU3BlZWR1cCBURFQvVE9UIHBhcnNpbmcKCSAgVXNlIHF1YXJrcyB3aGVyZSBuZWVkZWQsIG1ha2VzIGl0IDIuNSB0aW1lcyBmYXN0ZXIKCjIwMTMtMDYtMDUgMTM6MjE6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogRml4IHN0cmluZyBsZWFrCgkgIFRoZSBkZXNjcmlwdGlvbi90ZXh0IGdldCBjb3BpZWQgaW4gdGhlIHN0cnVjdHVyZS4KCjIwMTMtMDYtMDUgMTI6NDk6MDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogU3BlZWQgdXAgZGVzY3JpcHRvciBwYXJzaW5nL3BhY2tpbmcKCSAgZGVzY3JpcHRvcnMgYXJlIHN0b3JlZCBhcyBhIEdWYWx1ZUFycmF5IG9mIEdTdHJpbmcuIFRoZSBkb3duc2lkZSBpcwoJICB0aGF0IHRoZXJlIGlzIG5vIHdheSB0byAicGFzcyIgb3duZXJzaGlwIG9mIGEgR1ZhbHVlIHRvIGEgR1ZhbHVlQXJyYXkKCSAgd2hpY2ggcHJldmlvdXNseSByZXN1bHRlZCBpbiBleHBlbnNpdmUgY29weS9mcmVlIG9mIHRoZSAoYWxyZWFkeSBleHBlbnNpdmUpCgkgIEdTdHJpbmcuCgkgIEhlcmUgd2UgZXN0aW1hdGUgZmlyc3QgdGhlIHNpemUgb2YgdGhlIEdWYWx1ZUFycmF5LCB0aGVuIGNyZWF0ZSBpdCwKCSAgdGhlbiBkaXJlY3RseSB1c2UgdGhlIEdWYWx1ZSBvZiB0aGF0IGFycmF5LgoJICBTcGVlZHMgdXAgdG90YWwgU0kgcGFyc2luZyBieSB+MzAlCgoyMDEzLTA2LTA1IDExOjIxOjIxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFVzZSBnc3RfdmFsdWVfbGlzdF9hcHBlbmRfYW5kX3Rha2VfdmFsdWUKCSAgQXZvaWRzIGRvaW5nIHRoZSBleHBlbnNpdmUgY29weSBvZiBzdHJ1Y3R1cmVzL2FycmF5cy8uLi4KCSAgU3BlZWRzIHVwIHBhcnNpbmcgU0kgYnkgYWJvdXQgNTAlCgoyMDEzLTA2LTA1IDExOjIwOjQ5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEF2b2lkIGNvcHlpbmcgR1ZhbHVlQXJyYXkKCSAgSnVzdCBnaXZlIHRoZSBHVmFsdWVBcnJheSB0byB0aGUgY29udGFpbmVyIEdWYWx1ZS4KCjIwMTMtMDUtMjkgMDk6MjU6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkgIGNydWZ0OiBBZGQgc2lnbmFscHJvY2Vzc29yIGRpcmVjdG9yeQoKMjAxMy0wNS0yOSAwODozNzoxOSArMDIwMCAgQnJhbmtvIFN1YmFzaWMgPGJyYW5rb0BheGlzLmNvbT4KCgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSAgZG9jczogcmVtb3ZlZCBzaWduYWxwcm9jZXNzb3IgZnJvbSBkb2NzL2xpYnMvTWFrZWZpbGUuYW0KCjIwMTMtMDUtMjggMTU6NTQ6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkgIG1pZGlwYXJzZTogSW4gcHVsbCBtb2RlIGRyb3AgU0VHTUVOVCwgQ0FQUyBhbmQgU1RSRUFNX1NUQVJUIGV2ZW50cwoJICBXZSBjcmVhdGUgYW5kIHNlbmQgb3VyIG93biBsYXRlciBmcm9tIGFub3RoZXIgdGhyZWFkLgoKMjAxMy0wNS0yOCAxNTo1MzowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSAgbWlkaXBhcnNlOiBQdXNoIHN0cmVhbS1zdGFydCBldmVudCBiZWZvcmUgYW55dGhpbmcgZWxzZQoKMjAxMy0wNS0yOCAwODowODo0MiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yLy5naXRpZ25vcmU6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkgIHNpZ25hbHByb2Nlc3NvcjogbGFkc3BhIGlzIG5vdCB1c2luZyB0aGlzIGFueW1vcmUKCSAgV2hlbiB3ZSBwb3J0IGx2Miwgd2UnbGwgZ28gdGhlIHNhbWUgcm91dGUgYXMgdGhlIG5ldyBsYWRzcGEgcGx1Z2luLgoKMjAxMy0wNS0yOCAwNzo1MzozNyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIGxhZHNwYTogZml4IHR5cG9zIGluIGxhdW5jaCBleGFtcGxlcwoKMjAxMy0wNS0yNyAyMzowNzoxNiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmg6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhZmlsdGVyLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhZmlsdGVyLmg6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3Bhc2luay5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXNpbmsuaDoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFzb3VyY2UuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFzb3VyY2UuaDoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGF1dGlscy5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXV0aWxzLmg6CgkgIGxhZHNwYTogdXNlIHRoZSByZWdpc3RyeSBjYWNoZSBmb3IgcGx1Z2luIGRldGFpbHMKCSAgU3BsaXQgdGhlIGludHJvc3BlY3Rpb24gYW5kIHJlZ2lzdHJhdGlvbiBwYXJ0LiBUaGlzIHdheSB3ZSBvbmx5IG5lZWQgdG8gb3BlbiBhbGwKCSAgcGx1Z2lucyB3aGVuIHVwZGF0aW5nIHRoZSByZWdpc3RyeS4gV2hlbiByZWFkaW5nIHRoZSByZWdpc3RyeSB3ZSBjYW4gcmVnaXN0ZXIKCSAgdGhlIGVsZW1lbnRzIGVudGllcmx5IGZyb20gdGhlIGNhY2hlLgoKMjAxMy0wNS0yNyAxMToyMDowNyArMDIwMCAgTWlndWVsIENhc2FzLVNhbmNoZXogPG1pZ3VlbGVjYXNhc3NhbmNoZXpAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogZXh0L29wZW5jdi9nc3RyZXRpbmV4LmM6CgkqIGV4dC9vcGVuY3YvZ3N0cmV0aW5leC5oOgoJICBvcGVuY3Y6IEFkZCBjb2xvdXIgaW1hZ2UgZW5oYW5jZW1lbnQgZWxlbWVudCBiYXNlZCBvbiBSZXRpbmV4IGFsZ29yaXRobQoJICBBZGQgY29sb3VyIGltYWdlIGVuaGFuY2VtZW50IGVsZW1lbnQgYmFzZWQgb24gUmV0aW5leCBhbGdvcml0aG0uIFR3byB0eXBlcwoJICBleGlzdCwgbmFtZWx5IGJhc2ljIGFuZCBtdWx0aXNjYWxlOyBib3RoIGFyZSBkZXNjcmliZWQgaW4gdGhpcyBhcnRpY2xlOgoJICBSYWhtYW4sIFppYS11ciwgRGFuaWVsIEouIEpvYnNvbiwgYW5kIEdsZW5uIEEuIFdvb2RlbGwuICJNdWx0aS1zY2FsZSByZXRpbmV4CgkgIGZvciBjb2xvciBpbWFnZSBlbmhhbmNlbWVudC4iIEltYWdlIFByb2Nlc3NpbmcsIDE5OTYuIFByb2NlZWRpbmdzLiwKCSAgSW50ZXJuYXRpb25hbCBDb25mZXJlbmNlIG9uLiBWb2wuIDMuIElFRUUsIDE5OTYKCSAgVmlzdWFsbHkgc3BlYWtpbmcgdGhlIHJlc3VsdCBsb29rcyBhIGJpdCBmdW5ueSwgYnV0IGlzIHByZXR0eSBpbnZhcmlhYmxlIHRvCgkgIGxpZ2h0bmluZyBjaGFuZ2VzLCB3aGljaCBpcyBnb29kIGZvciBzb21lIGFwcGxpY2F0aW9ucywgbGlrZSBpbWFnZQoJICBzZWdtZW50YXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA5NzcKCjIwMTMtMDUtMjYgMTQ6Mjk6NTQgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meGJhZC9nc3RhdWRpb2NoYW5uZWxtaXguaDoKCSAgYXVkaW9jaGFubmVsbWl4OiBmaWxsIGluIHRoZSBhdXRob3IgdGVtcGxhdGUKCSAgVGhlIGNvcHlyaWdodCBoZWFkZXIgc3RpbGwgY29udGFpbmVkIHRoZSBhdXRob3IgdGVtcGxhdGUuCgoyMDEzLTA1LTI1IDE1OjI1OjU2ICswMjAwICBNaWNoYWVsIFJ1Ymluc3RlaW4gPG1ydWJpbnN0ZWluQHdlYXRoZXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzZGVtdXg6IEZyZWUgbWVtb3J5IGJlaGluZCBHU3RyaW5nIGlmIHdlIGRvbid0IHVzZSBpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwOTAzCgoyMDEzLTA1LTIzIDE0OjMyOjA3ICswMjAwICBQYXRyaWNpYSBNdXNjYWx1IDxwYXRyaWNpYUBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5oOgoJICBjdXJsc210cHNpbms6IHRlcm1pbmF0ZSB0cmFuc2ZlciB0aHJlYWQgcHJvcGVybHkKCSAgSWYgbm8gRU9TIGhhcyBiZWVuIHNlbnQsIHRoZSBjdXJsIHJlYWRmdW5jIGNhbGxiYWNrIHdpbGwKCSAgcmV0dXJuIEFCT1JULiBUaGUgbWVkaWEgZmlsZSBpbiB0aGF0IGNhc2Ugd2lsbCBub3QgYmUgcHJvcGVybHkKCSAgZmluYWxpemVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwODg2CgoyMDEzLTA0LTA4IDE0OjU5OjU0ICswMDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgZGlyZWN0ZHJhd3Npbms6IHVwZGF0ZSB3aW5kb3cgd2lkdGgvaGVpZ2h0IHdoZW4gaXQncyBub3QgZG9uZSBpbiBXbmRQcm9jCgoyMDEzLTA0LTA1IDE3OjU5OjQxICswMDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgZGlyZWN0ZHJ3YXNpbms6IGNhbGwgcHJldmlvdXMgV25kUHJvYyBpZiBhbnkKCjIwMTMtMDQtMDUgMTc6MjY6NTcgKzAwMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBkaXJlY3RkcmF3c2luazogcmVzcGVjdCBQQVIgd2l0aCBjb29yZGluYXRlcwoKMjAxMy0wNC0yNSAxNTozNTo1MCArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9NYWtlZmlsZS5hbToKCSAgYXBwbGVtZWRpYS1ub25wdWJsaWM6IGZpeCBzeW1ib2xzIHJlZGVmaW5pdGlvbiBmb3Igb2JqYyBmaWxlcwoKMjAxMy0wNC0yNCAxNTo1NToxMiArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJICBhcHBsZW1lZGlhOiBmaXggZHVwbGljYXRlZCBzeW1ib2xzIHdpdGggYXBwbGVtZWRpYQoKMjAxMy0wNS0yMyAxNDo1Nzo0OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBQb3N0IGFuIGVycm9yIG1lc3NhZ2Ugd2hlbiBFT1MnaW5nIHdpdGhvdXQgc291cmNlIHBhZHMKCSAgVGhpcyBlbnN1cmVzIHdlIGRvbid0ICJoYW5nIiB3aGVuIGZpbGVzIGNhbid0IGJlIGRlY29kZWQsIG9yIGNvbnRhaW4KCSAgbm8gdmFsaWQgc3RyZWFtcy4KCjIwMTMtMDUtMjMgMTQ6NTY6NDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRGVtb3RlIGEgd2FybmluZyB0byBkZWJ1ZyBsZXZlbAoJICBXZSB3aWxsIGdldCBpdCBmb3IgdmlydHVhbGx5IGV2ZXJ5IGZpcnN0IHBhY2tldHMuCgoyMDEzLTA1LTAxIDE2OjM3OjU0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogQWN0dWFsbHkgc3RvcmUgbXBlZyB2aWRlbyBiaXRyYXRlIHZhbHVlCgkgIEFuZCB1c2UgdGhlIGV4dGVuc2lvbiBhbHNvIChoaWdoZXIgMTIgYml0cykKCjIwMTMtMDUtMjMgMTE6MDQ6NTcgKzAyMDAgIE1pZ3VlbCBDYXNhcy1TYW5jaGV6IDxtaWd1ZWxlY2FzYXNzYW5jaGV6QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIGV4dC9vcGVuY3YvZ3N0c2tpbmRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdHNraW5kZXRlY3QuaDoKCSAgb3BlbmN2OiBBZGQgc2tpbiBjb2xvciBkZXRlY3Rpb24gZWxlbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwNjU0CgoyMDEzLTA1LTA3IDIxOjQ1OjU0ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IHNpbXBsaWZ5IGNhcHMgc2V0dGluZwoKMjAxMy0wNC0yNiAxNzo0NzoyNiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmg6CgkgIGFwcGxlbWVkaWE6IGZpeCBIMjY0IHN0cmVhbXMgd2l0aCBiLWZyYW1lcwoJICBUaGUgZGVjb2RlciBvdXRwdXQgZnJhbWVzIGluIERUUyBvcmRlciwgZXZlbiB3aXRoIHRoZSBmbGFnCgkgIGtWVERlY29kZUZyYW1lX0VuYWJsZVRlbXBvcmFsUHJvY2Vzc2luZy4gV2Ugc3RvcmUgYSBpbnRlcm5hbAoJICBxdWV1ZSBvZiB0aGUgZGVjb2RlZCBmcmFtZXMgYW5kIHB1c2ggdGhlbSBQVFMgb3JkZXIuCgoyMDEzLTA0LTI2IDE3OjQ1OjMxICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogZml4IHNlZ2ZhdWx0IHdpdGggZHJvcHBlZCBmcmFtZXMKCjIwMTMtMDQtMjYgMTc6NDA6MDAgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5oOgoJICBhcHBsZW1lZGlhOiBpbXByb3ZlIHVzYWdlIG9mIHRoZSBWVCBBUEkKCSAgQWRkIHRpbWluZyBpbmZvcm1hdGlvbiB0byBDViBzYW1wbGVzIGFuZCBwYXNzIHRoZSBHc3RCdWZmZXIKCSAgYXMgZXh0cmEgZGF0YSBpbiB0aGUgZGVjb2RlIGZ1bmN0aW9uCgoyMDEzLTA0LTI2IDEzOjI2OjAzICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogYWRkIHN1cHBvcnQgZm9yIE1QRUctMSB0b28KCjIwMTMtMDQtMjUgMTE6MzA6MDcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiBhZGQgc3VwcG9ydCBmb3IgTVBFRy0yIGRlY29kaW5nCgoyMDEzLTA0LTI1IDExOjI3OjEzICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdXNlIHRoZSBiZXN0IGNvbG9yZm9ybWF0IG9uIGVhY2ggcGxhdGZvcm0KCSAgVGhpcyBzYXZlcyBhIGNvbG9yc3BhY2UgY29udmVyc2lvbiBiZWZvcmUgdGhlIHNpbmsgaW4gT1MgWAoKMjAxMy0wNC0yNSAxMToxNzoxNiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0dXRpbC5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dHV0aWwuaDoKCSAgYXBwbGVtZWRpYTogcmVwbGFjZSBwcml2YXRlIGZ1bmN0aW9uIHdpdGggaXRzIHB1YmxpYyB2YXJpYW50CgkgIEZpZ1ZpZGVvRm9ybWF0RGVzY3JpcHRpb25DcmVhdGVXaXRoU2FtcGxlRGVzY3JpcHRpb25FeHRlbnNpb25BdG9tCgkgIGlzIGFuIHVuLWRvY3VtZW50ZWQgcHJpdmF0ZSBmdW5jdGlvbiB3aGljaCBtaWdodCBjaGFuZ2UgaXRzIHNpZ25hdHVyZQoJICBhcyBpdCBhbHJlYWR5IGRpZCBpbiB0aGUgcGFzdC4gUmVwbGFjZSBpdCB3aXRoCgkgIENNVmlkZW9Gb3JtYXREZXNjcmlwdGlvbkNyZWF0ZSBhbmQgdGhlIGFsc28gdW4tZG9jdW1lbnRlZCBFeHRlbnNpb25zCgkgIGRpY3Rpb25hcnkuCgoyMDEzLTA0LTI0IDIyOjIyOjI4ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2J1ZmZlcmZhY3RvcnkuaDoKCSogc3lzL2FwcGxlbWVkaWEvYnVmZmVyZmFjdG9yeS5tOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkgIGFwcGxlbWVkaWE6IHJlbW92ZSB0aGUgdW5uZWVkZWQgYnVmZmVyIGZhY3RvcnkKCjIwMTMtMDQtMjQgMjI6MTU6MDEgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvY21hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY21hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFjdHguYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhY3R4Lmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgYXBwbGVtZWRpYTogZG9uJ3QgdXNlIHRoZSBkeW5hbWljIEFQSSBmb3IgcHVibGljIGZyYW1ld29ya3MKCSAgUHVibGljIGZyYW1ld29ya3MgZG9uJ3QgbmVlZCB0byBidWlsZCB0aGUgQVBJIGR5bmFtaWNhbGx5LCB3ZSBpbnN0ZWFkCgkgIHVzZSB0aGUgZnJhbWV3b3JrIGRpcmVjdGx5LgoJICBUaGUgZXhjZXB0aW9uIGlzIGZvciBWaWRlb1Rvb2xib3ggd2hpY2ggd2VudCBwdWJsaWMgaW4gdGhlIDEwLjggU0RLLAoJICBidXQgaXQncyBzdGlsbCBwcml2YXRlIGluIG9sZGVyIHZlcnNpb24gb2YgdGhlIFNESyBhbmQgaU9TLiBUaGlzIGFsbG93CgkgIGJ1aWxkaW5nIHRoZSBwbHVnaW4gYWdhaW5zdCBTREsncyB3aGVyZSBpdCdzIG5vdCBhIHB1YmxpYyBmcmFtZXdvcmsuCgoyMDEzLTA0LTI0IDE4OjUzOjExICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2J1ZmZlcmZhY3RvcnkuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2J1ZmZlcmZhY3RvcnkubToKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NlbGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY2VsYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY2VsdmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NtYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jbWFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jb3JlbWVkaWFidWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NvcmVtZWRpYWN0eC5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY29yZW1lZGlhY3R4Lmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NvcmV2aWRlb2J1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY3ZhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2N2YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9keW5hcGktaW50ZXJuYWwuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2R5bmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvZHluYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9taW9hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL21pb2FwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvbWlvdmlkZW9kZXZpY2UuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL21pb3ZpZGVvZGV2aWNlLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9taW92aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvbWlvdmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL210YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9tdGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvcGx1Z2luLm06CgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWxhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWN0eC5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFjdHguaDoKCSogc3lzL2FwcGxlbWVkaWEvbWlvYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb2FwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb2RldmljZS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb2RldmljZS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYTogbW92ZSBwbHVnaW5zIHVzaW5nIHByaXZhdGUgZnJhbWV3b3JrcyB0byBhcHBsZW1lZGlhLW5vbnB1YmxpYwoKMjAxMy0wNS0yMCAxMzoyNDowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBGaXggaW5kZW50aW9uCgoyMDEzLTA1LTE3IDIwOjE3OjMxICswODAwICBDaGVuIEppZSA8Y2hlbmpAbGVtb3RlLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBmaXggYSBtaW5vciBlcnJvciBpbiBDT0xPUl9Gb3JtYXRZVVY0MjBQbGFuYXIgY29udmVydGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwNTIxCgoyMDEzLTA1LTE4IDE0OjAxOjIyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2F1ZGlvZmlsdGVyOgoJICBlbGVtZW50LW1ha2VyOiBBZGQgdHJhbnNmb3JtIGZ1bmN0aW9ucyB0byBhdWRpb2ZpbHRlcgoKMjAxMy0wNS0xOCAxMzo1NzoxMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hdWRpb2Z4YmFkL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9meGJhZC9nc3RhdWRpb2NoYW5uZWxtaXguYzoKCSogZ3N0L2F1ZGlvZnhiYWQvZ3N0YXVkaW9jaGFubmVsbWl4Lmg6CgkqIGdzdC9hdWRpb2Z4YmFkL2dzdGF1ZGlvZnhiYWQuYzoKCSAgYXVkaW9meDogQWRkIHBsdWdpbiwgYWRkIGF1ZGlvY2hhbm5lbG1peAoKMjAxMy0wNS0xOCAxMzo1NjoxOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkgIGZsaXRldGVzdHNyYzogYXVkaW8gZm9ybWF0IGlzICJTMTYiIG5vdCAiczE2IgoKMjAxMy0wNS0xOCAxMTo1ODoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSAgdmlkZW9zaWduYWw6IGZpeCBDRkxBR1Mgb3JkZXIKCjIwMTMtMDUtMTcgMjE6MjM6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHNlbmQgc3RyZWFtIHN0YXJ0IGV2ZW50CgkgIFJlbW92ZXMgd2FybmluZ3MgYWJvdXQgc3RyaWN0IHN0aWNreSBldmVudHMgb3JkZXJpbmcKCjIwMTMtMDUtMTcgMTI6MDg6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGZpeCB3bWEgcHJvIGNhcHMgY3JlYXRpb24KCSAgV21hUHJvIGlzIGFjdHVhbGx5IHdtYXZlcnNpb24gMywgYW5kIGNhbiBhbHNvIGJlIGZvdW5kIGJ5IHRoZQoJICBXTUFQIGZvdXJjYy4KCSAgU29tZSBtYW5pZmVzdHMgYWxzbyBjb250YWluIHRoZSBibG9ja19hbGlnbiBmaWVsZCBhcyAiUGFja2V0U2l6ZSIKCSAgaW4gdGhlIGF1ZGlvIHRyYWNrIGRlc2NyaXB0aW9uLCB0aGUgbGliYXYgZGVjb2RlcnMgcmVxdWlyZSBpdAoJICB0byBiZSBwcmVzZW50IGluIGNhcHMuCgkgIEZpeGVzICM2OTk5MjEKCjIwMTMtMDUtMTcgMTE6Mzc6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGZpeCBhc3NlcnRpb25zIHdoZW4gYSBzdHJlYW0gY2FwcyBjYW4ndCBiZSBjcmVhdGVkCgkgIEZpeGVzIHR3byBhc3NlcnRpb25zIHJlbGF0ZWQgdG8gY2xlYW51cCBmb3IgYSBwYWQgdGhhdCBjb3VsZG4ndAoJICBiZSBleHBvc2VkIGJlY2F1c2UgdGhlIGNhcHMgY291bGRuJ3QgYmUgaWRlbnRpZmllZCBmcm9tIHRoZQoJICBNYW5pZmVzdAoJICBGaXhlcyAjNjk5OTIxCgoyMDEzLTA1LTE1IDExOjQ5OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VhZ2wubToKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWFnbDogZml4IGhhbmRsaW5nIG9mIHN1cmZhY2UgZGltZW5zaW9uIGNoYW5nZXMKCSAgRGV0ZWN0IHdoZW4gdGhlIGVhZ2wgc3VyZmFjZSBjaGFuZ2VkIGl0cyBkaW1lbnNpb24gKHdoZW4gdGhlIHVzZXIgcm90YXRlcwoJICB0aGUgZGV2aWNlIGZvciBleGFtcGxlKSBhbmQgYWRhcHQgdGhlIGVnbCBpbnRlcm5hbHMgdG8gZHJhdyB0byB0aGF0LAoJICBwcmV2ZW50aW5nIHRoYXQgaW9zIHJlc2l6ZXMgdGhlIGltYWdlIGFnYWluIHdoZW4gZHJhd2luZy4KCSAgVGhpcyBpcyBwYXJ0aWN1bGFybHkgaGFybWZ1bCB3aGVuIGVhZ2wgd291bGQgc2NhbGUgZG93biBhIGltYWdlCgkgIHRvIGRyYXcgYW5kIHRoZSBpb3Mgc2NyZWVuIHdvdWxkIHNjYWxlIGl0IGJhY2sgdXAgYmVjYXVzZSB0aGUKCSAgc3VyZmFjZSBpcyBub3cgYmlnZ2VyIHRoYW4gd2hlbiB0aGUgZWxlbWVudCB3YXMgY29uZmlndXJlZC4KCjIwMTMtMDUtMTUgMDA6NDg6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IHBhcnNlIGJsb2NrX2FsaWduLCBjaGFubmVscyBhbmQgcmF0ZSBmcm9tIHdhdmVmb3JtYXRleCBpZiBwb3NzaWJsZQoJICB3bWEgdjIgZXhwZWN0cyBibG9ja19hbGlnbiwgY2hhbm5lbHMgYW5kIHJhdGUgZmllbGRzIHNldCB0byBpdHMgY2Fwcy4KCSAgVGhpcyBpc24ndCBwcmVzZW50IGRpcmVjbHR5IG9uIHRoZSBtYW5pZmVzdHMsIHNvIG1zc2RlbXV4IHNob3VsZCBwYXJzZQoJICBpdCBmcm9tIHRoZSB3YXZlZm9ybWF0ZXggc3RydWN0dXJlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk5MjQKCjIwMTMtMDUtMTQgMjI6MDQ6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGFkZCBiaXRyYXRlIGluZm8gdG8gYXVkaW8gc3RyZWFtcwoJICBiaXRyYXRlIGluZm8gaXMgYWx3YXlzIHByZXNlbnQgb24gdGhlIFF1YWxpdHlMZXZlbCB4bWwgbm9kZSBhcyBwYXJ0CgkgIG9mIHRoZSBhZGFwdGl2ZSBzZWxlY3Rpb24gcHJvY2Vzc2luZywgcHV0IGl0IGludG8gY2FwcyBhcyBzb21lCgkgIGRlY29kZXJzIHJlcXVpcmUgaXQgKGF2ZGVjX3dtYXYyIGZvciBleGFtcGxlKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5OTI0CgoyMDEzLTA1LTE0IDE2OjM3OjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBzZW5kIHN0cmVhbSBpZCBhbmQgbmV3c2VnbWVudCBiZWZvcmUgcHVzaGluZyBkYXRhCgkgIEZpeGVzIHN0aWNreSBldmVudHMgb3JkZXJpbmcgd2FybmluZ3Mgd2hlbiBkYXRhIGlzIHB1c2hlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5OTI0CgoyMDEzLTA1LTE1IDIyOjI0OjI5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IEFubm91bmNlIGNvcnJlY3QgbXBlZ3RzIGNhcHMKCjIwMTMtMDUtMTUgMjA6MDM6MzAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW5zZXJ0YmluL2dzdGluc2VydGJpbi5jOgoJICBpbnNlcnRiaW46IEFubm90YXRlIGNhbGxiYWNrIHNjb3BlcwoKMjAxMy0wNS0xNSAxOToyMzowOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5oOgoJICBtaW1pYzogRW5zdXJlIHNlZ21lbnQgaXMgc2VudCBiZWZvcmUgY2FwcyBhbmQgYnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA0MjAKCjIwMTMtMDUtMTUgMTE6NTc6MDcgLTA2MDAgIEJyZW5kYW4gTG9uZyA8Yi5sb25nQGNhYmxlbGFicy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIG9wZW5hbDogcmVxdWlyZSBPcGVuQUwgPj0gMS4xNCB0byBidWlsZCB0aGUgT3BlbkFMIHBsdWdpbgoJICBGb3IgQUxfRk9STUFUX01PTk9fQUxBV19FWFQgYW5kIEFMX0ZPUk1BVF9TVEVSRU9fQUxBV19FWFQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA0MDIKCjIwMTMtMDUtMTUgMTE6Mzg6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBQdXNoIHN0cmVhbS1zdGFydCBldmVudCBiZWZvcmUgYW55dGhpbmcgZWxzZQoKMjAxMy0wNS0xNSAxMTozNzoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE1IDExOjMxOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE1IDExOjI4OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvaW5zZXJ0YmluLmM6CgkgIGluc2VydGJpbjogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNSAxMToyNjoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNSAxMToyNTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjNhdWRpb2RlYzogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNSAxMToxNToyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSAgcGFyc2VyOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0cwoKMjAxMy0wNS0xNSAxMTowOTowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgZ2RwOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgkgIGdkcCBlbGVtZW50cyBzdGlsbCBuZWVkcyB0byBiZSBmaXhlZCBmb3IgYWxsIHRoZSBldmVudCByZWxhdGVkCgkgIGNoYW5nZXMgYW5kIGdlbmVyYWxseSBwcm9wZXJseSBwb3J0ZWQgdG8gMS4wLgoKMjAxMy0wNS0xNSAxMTowNDoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9iYXNlYXVkaW92aXN1YWxpemVyLmM6CgkgIGJhc2VhdWRpb3Zpc3VhbGl6ZXI6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTUgMTE6MDI6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogRW5hYmxlIEdMaWIgZGVwcmVjYXRpb24gd2FybmluZ3MgYWdhaW4KCjIwMTMtMDUtMTUgMTE6MDA6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogTmVnb3RpYXRlIGFzIHNvb24gYXMgcG9zc2libGUgd2hlbiBnZXR0aW5nIHRoZSBzaW5rcGFkIGNhcHMKCjIwMTMtMDUtMTUgMTA6NTQ6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNmbXV4LmM6CgkgIGFzZm11eDogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNSAxMDo1NDo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IFNlbmQgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA1LTE1IDEwOjUxOjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNWVkY2Q4NSB0byAwOThjMGQ3CgoyMDEzLTA1LTE1IDEwOjIzOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE1IDEwOjIyOjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NobS5jOgoJICBzaG06IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTUgMTA6MTk6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybGZpbGVzaW5rLmM6CgkgIGN1cmxmaWxlc2luazogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNSAxMDoxODowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vcHVzLmM6CgkgIG9wdXM6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTUgMTA6MTQ6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJICBrYXRlOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE1IDEwOjEyOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5oOgoJICBrYXRlZW5jOiBEZWxheSBzZWdtZW50IGV2ZW50IHVudGlsIHdlIGhhdmUgY2FwcwoKMjAxMy0wNS0xNSAxMDowMjoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlZGVjL3RpZ2VyOiBEb24ndCBxdWV1ZSBzdGlja3kgZXZlbnRzIHRoYXQgd291bGQgY29tZSBiZWZvcmUgQ0FQUwoKMjAxMy0wNS0xNSAwOTo0NzoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSAga2F0ZXBhcnNlOiBGaXggZXZlbnQgaGFuZGxpbmcKCSAgSW50ZXJuYWwgc3RhdGUgc2hvdWxkIG9ubHkgYmUgcmVzZXQgb24gRkxVU0hfU1RPUCwgbm90IEZMVVNIX1NUQVJULgoJICBBbHNvIGZvcndhcmQgcHJlLWNhcHMgZXZlbnRzIGltbWVkaWF0ZWx5IGFuZCBkb24ndCBxdWV1ZSB0aGVtLgoKMjAxMy0wNS0xNSAwOTo0Mjo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2FhY2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2FtcndiZW5jLmM6CgkgIHZve2FtcixhYWN9ZW5jOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE1IDA5OjQxOjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhZC5jOgoJICBmYWFkL2ZhYWM6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTUgMDk6MjA6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2hscy9NYWtlZmlsZS5hbToKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJKiBleHQvaGxzL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZXh0L2hscy9nc3R1cmlkb3dubG9hZGVyLmg6CgkgIGhsczogVXNlIEdzdFVSSURvd25sb2FkZXIgZnJvbSB0aGUgbGlicmFyeSBmb3Igbm93IHRvIGtlZXAgZXZlcnl0aGluZyBpbiBhIHVzYWJsZSBzdGF0ZQoKMjAxMy0wNS0xNCAxNDozMjoxOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGF1dGlscy5jOgoJICBsYWRzcGE6IEZpeCBjb21waWxhdGlvbiBpc3N1ZSB3aGVuIGxyZGYgaXMgZW5hYmxlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMzI4CgoyMDEzLTA1LTE0IDAwOjE0OjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQW5kcm9pZC5tazoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJKiBnc3QvbnNmL2RpczY1MDIuaDoKCSogZ3N0L25zZi9mZHNfc25kLmM6CgkqIGdzdC9uc2YvZmRzX3NuZC5oOgoJKiBnc3QvbnNmL2Ztb3BsLmM6CgkqIGdzdC9uc2YvZm1vcGwuaDoKCSogZ3N0L25zZi9nc3Ruc2YuYzoKCSogZ3N0L25zZi9nc3Ruc2YuaDoKCSogZ3N0L25zZi9sb2cuYzoKCSogZ3N0L25zZi9sb2cuaDoKCSogZ3N0L25zZi9tbWM1X3NuZC5jOgoJKiBnc3QvbnNmL21tYzVfc25kLmg6CgkqIGdzdC9uc2YvbmVzNjUwMi5jOgoJKiBnc3QvbnNmL25lczY1MDIuaDoKCSogZ3N0L25zZi9uZXNfYXB1LmM6CgkqIGdzdC9uc2YvbmVzX2FwdS5oOgoJKiBnc3QvbnNmL25zZi5jOgoJKiBnc3QvbnNmL25zZi5oOgoJKiBnc3QvbnNmL29zZC5oOgoJKiBnc3QvbnNmL3R5cGVzLmg6CgkqIGdzdC9uc2YvdnJjN19zbmQuYzoKCSogZ3N0L25zZi92cmM3X3NuZC5oOgoJKiBnc3QvbnNmL3ZyY3Zpc25kLmM6CgkqIGdzdC9uc2YvdnJjdmlzbmQuaDoKCSAgbnNmOiByZW1vdmUgbnNmIHBsdWdpbiwgcmVwbGFjZWQgYnkgZ21lIHBsdWdpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4MDIxCgoyMDEzLTA0LTE3IDAyOjE4OjU4ICswMjAwICBKdWFuIE1hbnVlbCBCb3JnZXMgQ2HDsW8gPGp1YW5tYWJjbWFpbEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc2luay5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNpbmsuaDoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzcmMuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzcmMuaDoKCSAgb3BlbmFsOiBpbXByb3ZlZCBwb3J0IHRvIDEuMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4MDEzCgoyMDEzLTA1LTEzIDAwOjA4OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBibGFja2xpc3Qgc29tZSBtb3JlIHRlc3RzIGZyb20gdGhlIGdlbmVyaWMgc3RhdGUgY2hhbmdlIHRlc3QKCjIwMTMtMDUtMTMgMDA6MDY6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvYmx1ZXovYmx1ZXotcGx1Z2luLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuYzoKCSAgYmx1ZXo6IGFkZCBkZWJ1ZyBjYXRlZ29yeSBmb3IgYXZkdHAgdXRpbHMKCjIwMTMtMDUtMTIgMjM6NTE6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBSRVFVSVJFTUVOVFM6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9kaXJhYy9nc3RkaXJhYy5jYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmNjOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuaDoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgZGlyYWM6IHJlbW92ZSBvbGQgZGlyYWMtcmVzZWFyY2ggbGlicmFyeSBiYXNlZCBjb2RlYwoJICBJdCdzIG5vdCBkZXZlbG9wZWQgYW55IG1vcmUgYW5kIHJlcGxhY2VkIGJ5IHRoZQoJICBsaWJzY2hyb2VkaW5nZXItYmFzZWQgZWxlbWVudHMgaW4gZ3N0LXBsdWdpbnMtZ29vZC4KCSAgKFRoZSBsaWJzY2hyb2VkaW5nZXIgMS4wLjkgcmVsZWFzZSBub3RlcyBzdGF0ZSAiVGhpcwoJICBpcyBhbiBleGNpdGluZyByZWxlYXNlOiBtb3N0IG9mIHRoZSBlbmNvZGluZyB0b29scyBpbgoJICBkaXJhYy1yZXNlYXJjaCBoYXZlIGJlZW4gcG9ydGVkIG92ZXIgdG8gU2NocsO2ZGluZ2VyLCBzbwoJICBub3cgc2Nocm8gaGFzIHRoZSBzYW1lIG9yIGJldHRlciBjb21wcmVzc2lvbiBlZmZpY2llbmN5CgkgIGFzIGRpcmFjLXJlc2VhcmNoLiIpCgoyMDEzLTA1LTEyIDIyOjQxOjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb2ZhL01ha2VmaWxlLmFtOgoJKiBleHQvb2ZhL2dzdG9mYS5jOgoJKiBleHQvb2ZhL2dzdG9mYS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vZmEuYzoKCSAgb2ZhOiBwb3J0IHRvIDEuMAoKMjAxMy0wNS0xMiAyMDozMjoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIExJQ0VOU0VfcmVhZG1lOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbXVzaWNicmFpbnovTWFrZWZpbGUuYW06CgkqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSogZXh0L211c2ljYnJhaW56L2dzdHRybS5oOgoJICBtdXNpY2JyYWluejogcmVtb3ZlIHRybSBlbGVtZW50IHdoaWNoIGlzIG5vdCB1c2VmdWwgYW55IG1vcmUKCSAgVFJNIElEcyBhcmUgTXVzaWNCcmFpbnonIG9sZCBhdWRpbyBmaW5nZXJwcmludGluZyBzeXN0ZW0gZnJvbQoJICBSZWxhdGFibGUsIHRoZXkgd2VyZSBwaGFzZWQgb3V0IGluIGZhdm91ciBvZiBNdXNpY0lQcyBQVUlEcy4KCSAgaHR0cHM6Ly93aWtpLm11c2ljYnJhaW56Lm9yZy9IaXN0b3J5OlRSTQoKMjAxMy0wNS0xMiAxODo1MTo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgIG5lb25odHRwc3JjOiBhZGQgc3VwcG9ydCBmb3IgU0NIRURVTElORyBxdWVyeQoKMjAxMy0wNS0xMiAxODo0NzozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIG5lb25odHRwc3JjOiBhZGQgaXJhZGlvLW1vZGUgcHJvcGVydHkgYW5kIHBvc3QgaWN5IG1ldGFkYXRhIGFzIHRhZ3MKCjIwMTMtMDUtMTIgMTg6Mjg6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIG5lb25odHRwc3JjOiBwb3J0IHRvIDEuMAoKMjAxMy0wNS0xMSAxMjowNzowMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcnZpZGVvc3JjOiBGaXggdGltZXN0YW1wIGdlbmVyYXRpb24KCjIwMTMtMDUtMTEgMTk6NDE6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIHJmYnNyYzogcG9zdCBlcnJvciBtZXNzYWdlcyBvbiBlcnJvcnMKCjIwMTMtMDUtMTAgMTc6MzA6NDggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2RpZmYuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2RpZmYuaDoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2ZpbHRlcnNiYWQuYzoKCSAgdmlkZW9maWx0ZXJzOiBBZGQgdmlkZW9kaWZmIGVsZW1lbnQKCjIwMTMtMDQtMjcgMTE6NTY6NDggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSAgeTRtZGVjOiBzZXQgdGltZXN0YW1wcyB3aGVuIHJlc3RyaWRpbmcgYnVmZmVyCgoyMDEzLTA0LTE1IDAwOjI0OjIzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHNpbXBsZXZpZGVvbWFyay5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0c2ltcGxldmlkZW9tYXJrLmg6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3RzaW1wbGV2aWRlb21hcmtkZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHNpbXBsZXZpZGVvbWFya2RldGVjdC5oOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0Lmg6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5oOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9zaWduYWwuYzoKCSAgdmlkZW9tYXJrL2RldGVjdDogcmVuYW1lIHRvIHNpbXBsZXZpZGVvbWFya1tkZXRlY3RdCgoyMDEzLTA0LTEzIDE1OjE2OjA0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5oOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuaDoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvc2lnbmFsLmM6CgkgIHZpZGVvbWFyay9kZXRlY3Q6IHBvcnQgdG8gMS4wCgoyMDEzLTA1LTExIDAwOjM2OjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIHJmYnNyYzogZml4IHJmYmRlY29kZXIgbmV3L2ZyZWUgYXN5bWV0cnkgYW5kIHdyb25nIGZyZWUgaW4gZXJyb3IgY2FzZQoJICBJZiByZmJfZGVjb2Rlcl9uZXcoKSBhbGxvY2F0ZXMgdGhlIGRlY29kZXIgc3J1Y3R1cmUsIHJmYl9kZWNvZGVyX2ZyZWUoKQoJICBzaG91bGQgZnJlZSB0aGUgc3RydWN0dXJlLiBXZSBzaG91bGQgbm90IGZyZWUgdGhlIGRlY29kZXIgd2hlbiBhbgoJICBlcnJvciBvY2N1cnMgZHVyaW5nIGNvbm5lY3Rpb24gLSBpdCBob2xkcyBsb3RzIG9mIGNvbmZpZ3VyYXRpb24vc3RhdGUKCSAgYW5kIHdpbGwgYmUgZnJlZWQgbGF0ZXIgaW4gZmluYWxpemUuCgoyMDEzLTA1LTExIDAwOjI5OjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2xpYnJmYi9kM2Rlcy5jOgoJKiBnc3QvbGlicmZiL2QzZGVzLmg6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICByZmJzcmM6IG1ha2UgYXV0aGVudGljYXRpb24gaGFuZHNoYWtlIHNhZmUgZm9yIG11bHRpcGxlIGluc3RhbmNlcwoJICBNb3ZlIERFUyBrZXkgaW50byBjb250ZXh0IHN0cnVjdC4KCjIwMTMtMDUtMTAgMjM6MDk6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSogZ3N0L2xpYnJmYi92bmNhdXRoLmM6CgkqIGdzdC9saWJyZmIvdm5jYXV0aC5oOgoJICByZmJzcmM6IHJlbW92ZSBHUEwtbGljZW5zZWQgc291cmNlIGZpbGUKCSAgYW5kIHJlcGxhY2UgdGhlIDElIG9mIGl0IHRoYXQgd2UgbmVlZCB3aXRoIG5ldyBjb2RlLCBzbyB3ZQoJICBkb24ndCBoYXZlIHRvIGNoYW5nZSB0aGUgcnVudGltZSBsaWNlbnNlIG9mIHJmYnNyYyB0byBHUEwuCgoyMDEzLTA1LTEwIDA5OjQ5OjQ2IC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXVlIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICByZmJzcmM6IHVzZSBnbGliIGdpbyBzb2NrZXRzIGZvciBuZXR3b3JrIGFjY2VzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMDM4CgoyMDEzLTA1LTA5IDE2OjQxOjMyIC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXVlIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5oOgoJICByZmJzcmM6IHBvcnQgdG8gMS4wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwMzgKCjIwMTMtMDUtMTAgMTI6NDk6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuaDoKCSAgZWdsOiBBZGQgZGVzdHJveSBub3RpZnkgaW5zdGVhZCBvZiBhbHdheXMgY2FsbGluZyBlZ2xUZXJtaW5hdGUoKSBvbiB0aGUgZGlzcGxheQoJICBJbiBzb21lIHNjZW5hcmlvcywgZm9yIGV4YW1wbGUgaW4gUXRXZWJLaXQsIG1pZ2h0IGJlIGRpZmZpY3VsdCB0byBvYnRhaW4gZnVsbAoJICBjb250cm9sIG9uIHRoZSBlZ2wgZGlzcGxheSBhbmQgaXQgbWlnaHQgYmUgb25seSBhY2Nlc3NpYmxlIGluZGlyZWN0bHkgdmlhCgkgIGVnbEdldEN1cnJlbnREaXNwbGF5KCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwNTgKCjIwMTMtMDUtMTAgMTE6NDg6NDYgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmg6CgkgIGVnbDogQWxsb3cgYmVpbmcgdXNlZCBpbiBDKysgY29kZQoKMjAxMy0wNS0wOCAyMzoxNzowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHJlbmFtZSBzcmMgdGVtcGxhdGUgZnJvbSBzcmMlZCB0byBzcmNfJXUKCjIwMTMtMDUtMDggMTg6MjI6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL0FVVEhPUlM6CgkqIGV4dC9kYXNoL0NPUFlJTkc6CgkgIGRhc2g6IHJlbW92ZSBzdXBlcmZsdW91cyBmaWxlcwoJICBBdXRob3JzIGFuZCBsaWNlbnNlIGFyZSBhdCB0aGUgdG9wIG9mIHRoZSBzb3VyY2UgZmlsZXMKCjIwMTMtMDUtMDIgMTQ6MTE6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2g6IGRvIG5vdCB1c2UgZGVwcmVjYXRlZCBnbGliIG11dGV4IEFQSQoKMjAxMy0wNC0yMyAxMjowODowNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGZpeGluZyBjb21waWxlciB3YXJuaW5ncyBhYm91dCBwcmludCBmb3JtYXRzCgoyMDEzLTA1LTA4IDExOjE0OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgZGFzaDogZW5hYmxlIGluIGNvbmZpZ3VyZS9tYWtlZmlsZXMKCSAgSXQgd2FzIGludGVudGlvbmFsbHkgZGlzYWJsZWQgdXAgdG8gdGhpcyBwb2ludCB0byBwcmV2ZW50CgkgIGNvbXBpbGUgZmFpbHVyZXMgYXMgZGFzaGRlbXV4IGRldmVsb3BtZW50IGNvbW1pdHMgd2VyZSBhbGwgZm9yCgkgIDAuMTAgdXAgdG8gaGVyZQoKMjAxMy0wNC0xOCAwNzo0MTowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvTWFrZWZpbGUuYW06CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0ZG93bmxvYWRyYXRlLmM6CgkqIGV4dC9kYXNoL2dzdGRvd25sb2FkcmF0ZS5oOgoJKiBleHQvZGFzaC9nc3RwbHVnaW4uYzoKCSAgZGFzaGRlbXV4OiBwb3J0IHRvIDEuMAoKMjAxMy0wNC0xMSAwOToxMjoyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogRml4IGFub3RoZXIgd3JvbmcgYXNzZXJ0aW9uCgkgIEFsc28gYWRkcyBhIGNvdXBsZSBsb2cgbWVzc2FnZXMgZm9yIGVhc2llciBkZWJ1Z2dpbmcKCjIwMTMtMDQtMTAgMTg6MDk6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHJlbW92ZSB3cm9uZyBhc3NlcnRzCgkgIFRob3NlIGFzc2VydHMgc2hvdWxkIGJlIHRoZSBjb250cmFyeSB0aGF0IHRoZXkgYXJlLiBBbmQgYWxzbwoJICB0aGUgc3Vycm91bmQgZnVuY3Rpb25zIHNob3VsZCBhbHJlYWR5IGNoZWNrIHRoYXQuIFJlbW92aW5nIHRoZW0uCgoyMDEzLTAzLTEzIDE1OjU1OjAzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogb25seSBzdGFydCB0aW1lc3RhbXAgZnJvbSAwIGZvciBsaXZlIHN0cmVhbQoJICBXZSBvbmx5IHdhbnQgdG8gYWRqdXN0IHRoZSB0aW1lc3RhbXBzIHNvIHRoYXQgdGhleSBzdGFydCBmcm9tIDAgZm9yIGxpdmUKCSAgc3RyZWFtcy4gTm9uLWxpdmUgc3RyZWFtcyBhbHJlYWR5IHN0YXJ0IGZyb20gMCBhbmQgYWZ0ZXIgYSBzZWVrIHdlIGFjdHVhbGx5IHdhbnQKCSAgdG8gdGltZXN0YW1wIHRvIGJlIHRoZSBwb3NpdGlvbiB3ZSBzZWVrIHRvLgoKMjAxMy0wMy0wOCAxNTowNDo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBtYWtlIHRpbWVzdGFtcHMgc3RhcnQgZnJvbSAwCgkgIE5vbi1saXZlIHN0cmVhbXMgc2hvdWxkIHRpbWVzdGFtcCBidWZmZXJzIHdpdGggYSBydW5uaW5nLXRpbWUgc3RhcnRpbmcgZnJvbQoJICAwLiBTaW5jZSB3ZSBhbHJlYWR5IHB1c2ggYSAwIC0+IC0xIHNlZ21lbnQsIGJyaW5nIHRoZSB0aW1lc3RhbXBzIHRvIDAKCSAgYnkgc3VidHJhY3RpbmcgdGhlIGluaXRpYWwgdGltZXN0YW1wLgoKMjAxMy0wMy0wOCAxNDo1OTo1OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGFsc28gc2VuZCBuZXdzZWdtZW50IG9uIHN0YXJ0dXAKCjIwMTMtMDMtMDggMTQ6NTc6MzkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBzbWFsbCBjbGVhbnVwCgoyMDEzLTAyLTIyIDE3OjAwOjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBsaXZlIHN0cmVhbSBwbGF5YmFjayBjcmFzaGZpeAoKMjAxMy0wMi0yMiAxNjo0NjoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2g6IG1wZHBhcnNlcjogZG8gbm90IGNsZWFudXAgeG1sIGxpYiB0b28gZWFybHkKCSAgVGhlIHhtbENsZWFudXBQYXJzZXIgZnVuY3Rpb24gc2VlbXMgdG8gY2xlYW51cCBhbGwgc3RhdGljYWxseQoJICBhbGxvY2F0ZWQgbGlieG1sIHZhcmlhYmxlcywgbWFraW5nIGl0IHVudXNhYmxlLiBXZSBjYW4ndCBndWFyYW50ZWUKCSAgdGhhdCBkYXNoZGVtdXggd29uJ3QgbmVlZCBpdCBhbnltb3JlLCBzbyBiZXR0ZXIgbm90IGNhbGwgaXQuCgoyMDEzLTAyLTIyIDE2OjQwOjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IHJlaW1wbGVtZW50aW5nIGxpdmUgc3RyZWFtcyBtYW5pZmVzdCB1cGRhdGVzCgkgIE1hbmlmZXN0IHVwZGF0ZXMgc2hvdWxkIGJlIGRvbmUgcGVyaW9kaWNhbGx5IGZvciBsaXZlIHN0cmVhbXMsCgkgIHRoaXMgcGF0Y2ggbWFrZXMgdGhlIGRlbXV4ZXIgY3JlYXRlIGEgbmV3IG1hbmlmZXN0IGNsaWVudCBmb3IKCSAgdGhlIG5ldyB2ZXJzaW9uIGFuZCB0cmFuc2ZlcnMgdGhlIHN0cmVhbSBwb3NpdGlvbiB0byB0aGUgbmV3CgkgIG9uZSwgZGlzY2FyZGluZyB0aGUgb2xkIG9uZSBhZnRlcndhcmRzLgoKMjAxMy0wMi0yMCAxMjo0OToyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2g6IG1wZHBhcnNlcjogYWxsb3cgcGVyaW9kcyB3aXRob3V0IHN0YXJ0IHRpbWUgZm9yIGxpdmUgc3RyZWFtcwoJICBMaXZlIHN0cmVhbXMgY2FuIGhhdmUgdW5kZWZpbmVkIHN0YXJ0IHRpbWVzIGZvciB0aGUgcGVyaW9kcyBhbmQKCSAgbXBkcGFyc2VyIGNhbiBsZXQgdGhhdCBwYXNzIGluc3RlYWQgb2YgZXJyb3Jpbmcgb3V0CgoyMDEzLTAyLTE5IDE5OjM1OjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2g6IG1wZHBhcnNlcjogdXNlIGd1aW50NjQgZm9yIHRpbWVzdGFtcHMKCSAgVGhlIHRpbWVzdGFtcHMgY2FuIGJlIHByZXR0eSBiaWcsIHNvIHVzZSBndWludDY0IGZvciB0aGVtCgoyMDEzLTAyLTE5IDAxOjI2OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBtcGQgcGFyc2luZzogZml4IHF1ZXJ5IHBhcmFtZXRlciBwYXJzaW5nCgkgIFRyeSBoYXJkZXIgdG8gZGV0ZWN0IFVSTCBwYXJhbWV0ZXJzIGFuZCBzcGxpdCB0aGVtIHRvIGFjY29tb2RhdGUKCSAgdGhlIGZyYWdtZW50IHVybCBpbiB0aGUgY29uY2F0OgoJICBiYXNlLXVybCArIGZyYWdtZW50LXVybCArIHVybC1wYXJhbWV0ZXJzCgoyMDEzLTAyLTE4IDE0OjAyOjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IHBsdWcgc29tZSBsZWFrcwoJICBBZGQgc29tZSBtaXNzaW5nIGZyZWUvdW5yZWZzIHNwb3R0ZWQgYnkgdmFsZ3JpbmQKCjIwMTMtMDItMTggMTQ6MDE6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiByZW1vdmUgdW51c2VkIG11dGV4ZXMKCjIwMTMtMDItMTQgMTc6Mzk6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHByb3Blcmx5IHJlc2V0IHN0cmVhbSBzdGF0dXMgYWZ0ZXIgYSBmbHVzaAoJICBUaGUgc3RyZWFtIGVvcy9lbmQgb2YgcGVyaW9kIHN0YXR1cyBtdXN0IGFsc28gYmUgcmVzZXQgYWZ0ZXIgYSBmbHVzaGluZwoJICBzZWVrLiBUaGlzIG1ha2VzIHNlZWtpbmcgYWZ0ZXIgRU9TIHdvcmsuCgoyMDEzLTAyLTEzIDAyOjEzOjIzIC0wMjAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IGtlZXAgYSBsaXN0IG9mIHN0cmVhbXMgcGVyaW9kcwoJICBLZWVwIGEgbGlzdCBvZiBzdHJlYW1zIHBlciBwZXJpb2Qgc28gdGhhdCB0aGUgZG93bmxvYWQgbG9vcCBjYW4ga2VlcAoJICBkb3dubG9hZGluZyB3aGlsZSB0aGUgc3RyZWFtIGxvb3AgaXMgc3RpbGwgcHVzaGluZyBvbGQgcGVyaW9kJ3MgZGF0YS4KCjIwMTMtMDItMTIgMjI6NTQ6MzIgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogUHJvcGVybHkgcGFyc2UgYmFzZSB1cmkgZnJvbSBtcGQuCgoyMDEzLTAyLTEyIDIyOjUzOjE2IC0wMjAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IFJlbW92ZSB1bnVzZWQgbWVtYmVycy4KCjIwMTMtMDItMTIgMTg6NTA6NTEgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogT25seSBzZW5kIG5ld3NlZ21lbnQgb24gc2Vlay4KCjIwMTMtMDItMDggMDI6NTU6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHNlbmQgc2VnbWVudHMgdGhhdCBvdmVyd3JpdGUgcHJldmlvdXMgb25lcwoJICBUaGlzIGlzIG9ubHkgZG9uZSBmb3Igc2Vla3MsIHNvIGl0IGlzIGZpbmUKCjIwMTMtMDItMDcgMjE6NTg6MzcgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBzd2l0Y2ggYml0cmF0ZXMgd2l0aG91dCBzd2l0Y2hpbmcgcGFkcwoKMjAxMy0wMi0wNyAxNjoyMjoxMyAtMDIwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IFJlbW92ZSB1bnVzdWVkIG1ldGhvZC4KCjIwMTMtMDItMDcgMTQ6MDk6NDQgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBTZXQgc3RyZWFtIG5lZWRfaGVhZGVyIGFmdGVyIHNlZWsgYW5kIGhhc19kYXRhX3F1ZXVlZCB0byBGQUxTRSB3aGVuIGZsdXNoaW5nIHN0cmVhbS4KCjIwMTMtMDItMDcgMDM6MDk6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGRvIG5vdCBwYXVzZS9zdGFydCB0aGUgc3RyZWFtIGxvb3Agb24gcGxheWluZy9wYXVzZWQgY2hhbmdlcwoJICBUaGUgZGVtdXhlciBzaG91bGRuJ3QgY2FyZSBhYm91dCBwYXVzZWQvcGxheWluZywgaXQgc2hvdWxkIGFjdCB0aGUKCSAgc2FtZSBpbiBib3RoIHN0YXRlcwoKMjAxMy0wMi0wNiAxMzozMToxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcmVtb3ZlIHByb3BlcnR5IHRoYXQgaXNuJ3QgdXNlZCBhbnltb3JlCgkgIFJlbW92ZSBzb21lIHBpZWNlcyBvZiBjb2RlIHRoYXQgYXJlIGZyb20gYW4gb2xkIHByb3BlcnR5CgkgIHRoYXQgaXNuJ3QgdXNlZCBhbnltb3JlCgoyMDEzLTAyLTA1IDE3OjM4OjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9NYWtlZmlsZS5hbToKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3Rkb3dubG9hZHJhdGUuYzoKCSogZXh0L2Rhc2gvZ3N0ZG93bmxvYWRyYXRlLmg6CgkgIGRhc2hkZW11eDogYWRkIGEgZG93bmxvYWRyYXRlIHV0aWxpdHkKCSAgQSBzbWFsbCBzdHJ1Y3QgdGhhdCBrZWVwcyBhIHNob3J0IGhpc3Rvcnkgb2YgZnJhZ21lbnQgZG93bmxvYWQgYml0cmF0ZXMKCSAgdG8gaGF2ZSBhbiBhdmVyYWdlIG1lYXN1cmUgb2YgTiBsYXN0IGZyYWdtZW50cyBpbnN0ZWFkIG9mIHVzaW5nIG9ubHkKCSAgdGhlIGxhc3QgZG93bmxvYWRlZCBiaXRyYXRlCgoyMDEzLTAyLTA1IDE0OjI0OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBzcHJpbmtsaW5nIHNvbWUgbW9yZSBsb2cKCjIwMTMtMDItMDUgMTQ6MjI6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBjaGFuZ2UgYml0cmF0ZXMgYmFzZWQgb24gdGhlIHN0cmVhbSBiaXRyYXRlCgkgIERvIG5vdCB1c2UgYSBnbG9iYWwgYml0cmF0ZSBhcyB0aGUgc2l6ZXMgb2YgdGhlIGZyYWdtZW50cyBtYXR0ZXIKCSAgd2hlbiBjYWxjdWxhdGluZyB0aGUgZG93bmxvYWQgcmF0ZSBhcyB0aGUgY29ubmVjdGlvbiBzZXR1cCB0aW1lIGlzCgkgIGFsc28gYmVpbmcgdGFrZW4gaW50byB0aGUgZG93bmxvYWQgZHVyYXRpb24sIGEgc21hbGxlciBmcmFnbWVudAoJICB3aWxsIGhhdmUgYSBsb3dlciBiaXRyYXRlIHRoYW4gYSBsYXJnZXIgb25lLgoJICBUaGlzIGF2b2lkcyBzd2l0Y2hpbmcgdGhlIGJpdHJhdGVzIGZvciBzdHJlYW1zIGZyZXF1ZW50bHkgYmVjYXVzZQoJICBvZiBiaXRyYXRlIG1pc21hdGNoZXMKCjIwMTMtMDItMDUgMDA6NDU6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL01ha2VmaWxlLmFtOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0ZnJhZ21lbnQuYzoKCSogZXh0L2Rhc2gvZ3N0ZnJhZ21lbnQuaDoKCSogZXh0L2Rhc2gvZ3N0ZnJhZ21lbnRlZC5oOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0cGx1Z2luLmM6CgkqIGV4dC9kYXNoL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZXh0L2Rhc2gvZ3N0dXJpZG93bmxvYWRlci5oOgoJICBkYXNoZGVtdXg6IHJlZmFjdG9yIHRvIHVzZSB0aGUgdXJpZG93bmxvYWRlciBsaWIgaW5zdGVhZCBvZiBpbnRlcm5hbCBjb3B5CgoyMDEzLTAyLTA1IDAxOjI5OjI4IC0wMjAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogTWFrZSBzdXJlIHN3aXRjaF9wYWRzIHdvbid0IGxlYWsgYW55IHBhZC4KCjIwMTMtMDItMDQgMjI6NTg6MzIgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBleHQvZGFzaC9nc3R1cmlkb3dubG9hZGVyLmg6CgkgIGRhc2hkZW11eDogUHJvcGVybHkgc3RvcCBkb3dubG9hZCBhbmQgc3RyZWFtIHRhc2tzIHdoZXJlIGFwcHJvcHJpYXRlLgoKMjAxMy0wMi0wMSAwMjoxMjoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogYXZvaWQgYW4gYXNzZXJ0aW9uIHdoZW4gc3RvcHBpbmcgdGhlIHBpcGVsaW5lCgkgIEF2b2lkcyBhc3NlcnRpbmcgd2hlbiBkYXRhcXVldWVzIGFyZSBzZXR0aW5nIHRvIGZsdXNoaW5nIGR1ZQoJICB0byBhIHBpcGVsaW5lIHN0b3AgZHVyaW5nIGEgcGFkIHN3aXRjaC4KCjIwMTMtMDItMDEgMDI6MTA6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGRvd25sb2FkIHRoZSBuZXh0IGZyYWdtZW50IHdpdGggc21hbGxlciB0aW1lc3RhbXAKCSAgSW5zdGVhZCBvZiBkb3dubG9hZGluZyAxIGZyYWdtZW50IHBlciBzdHJlYW0gcGVyIGRvd25sb2FkIGxvb3AsCgkgIHNlbGVjdCB0aGUgc3RyZWFtIHdpdGggdGhlIGVhcmxpZXIgdGltZXN0YW1wIGFuZCBnZXQgYSBmcmFnbWVudAoJICBvbmx5IGZvciB0aGF0IG9uZS4KCSAgVGhlIG9sZCBhbGdvcml0aG0gd291bGQgbGVhZCB0byBwcm9ibGVtcyB3aGVuIHRoZSBmcmFnbWVudCBkdXJhdGlvbnMKCSAgd2VyZSB0b28gZGlmZmVyZW50IGZvciBzdHJlYW1zLgoKMjAxMy0wMi0wMSAwMDozNzozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHRyYWNrIHNlZ21lbnRzIGluIHRoZSBkZW11eGVyCgkgIFVzZSBhIEdzdFNlZ21lbnQgdG8gdHJhY2sgdGhlIGN1cnJlbnQgc2VnbWVudCBpbmZvcm1hdGlvbiBpbiB0aGUKCSAgZGVtdXhlci4KCjIwMTMtMDItMDEgMDA6MzM6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiByZW1vdmUgYnVmZmVyaW5nIG1lc3NhZ2UgZW1pc3Npb24gZnJvbSBkYXNoZGVtdXgKCSAgZGFzaGRlbXV4IHNob3VsZG4ndCBlbWl0IHRoZSBidWZmZXJpbmcgbWVzc2FnZSBhcyB0aGF0IGNhbiBwYXVzZQoJICB0aGUgcGlwZWxpbmUuIEl0IGhhcyBubyBwcm9wZXIga25vd2xlZGdlIG9mIHRoZSBkb3duc3RyZWFtIGJ1ZmZlcmluZwoJICBzdGF0dXMgc28gaXQgY2FuIHBhdXNlIHRoZSBwaXBlbGluZSB3aGVuIGl0IGlzbid0IG5lY2Vzc2FyeS4gSXQgc2hvdWxkCgkgIGhhdmUgYW4gaW50ZXJuYWwgYnVmZmVyIGZvciBkb3dubG9hZGluZyB0aGUgc3RyZWFtcyBhaGVhZCBvZiBwbGF5YmFjaywKCSAgYnV0IHRoYXQgc2hvdWxkbid0IG1ha2UgaXQgYWJsZSB0byBzdG9wIHRoZSBwaXBlbGluZSBmb3IgYnVmZmVyaW5nLgoJICBBIHBhcnRpY3VsYXIgY2FzZSBpbiB3aGljaCB0aGlzIGlzIGJhZCBpcyB3aGVuIGEgcGFkIHN3aXRjaCBoYXBwZW5zCgkgIChjaGFuZ2luZyBiaXRyYXRlcyBmb3IgZXhhbXBsZSksIHRoZSBuZXcgcGFkcyBkYXNoZGVtdXggY3JlYXRlcwoJICB3aWxsIGdldCBsaW5rZWQgdG8gZGVtdXhlcnMgYW5kIG5ldyBxdWV1ZXMgd2lsbCBiZSBjcmVhdGVkLAoJICB0aGVzZSBxdWV1ZXMgYXJlIGluaXRpYWxseSBlbXB0eSBhbmQgZGFzaGRlbXV4IHdpbGwgcXVpY2tseQoJICBkcmFpbiBpdHMgYnVmZmVycyBieSBwdXNoaW5nIHRoZW0gdG8gdGhvc2UgcXVldWVzLiBTbyBpdAoJICB3b3VsZCBoYXZlIG5vIG1vcmUgYnVmZmVycyBpbnRlcm5hbGx5IGFuZCB3b3VsZCBlbWl0IGEKCSAgYnVmZmVyaW5nIG1lc3NhZ2Ugd2l0aCBhIGxvdyByYXRpbywgY2F1c2luZyB0aGUgcGlwZWxpbmUKCSAgdG8gcGF1c2Ugd2hlbiBpdCB3b3VsZG4ndCBiZSBuZWNlc3NhcnkuCgoyMDEzLTAxLTMwIDE3OjMxOjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogcmVtb3ZpbmcgdW51c2VkIGNvZGUKCSAgQ2xlYW5pbmcgdXAgYnkgcmVtb3ZpbmcgdW51c2VkIGNvZGUgYW5kIHZhcmlhYmxlcwoKMjAxMy0wMS0zMCAxNzoyNzo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHJlLWVuYWJsZSBhbmQgZml4IGFkYXB0aXZlIHN3aXRjaGluZwoJICBJdCBpcyBzdGlsbCB1bnN0YWJsZSwgYnV0IGF0IGxlYXN0IGl0IHdvcmtzIHdoZW4gdGhlIHN3aXRjaGVzIGFyZW4ndAoJICBoYXBwZW5pbmcgYWZ0ZXIgZXZlcnkgZnJhZ21lbnQKCjIwMTMtMDEtMjkgMTU6NTg6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGNvcnJlY3RseSBzaWduYWwgRU9TIG9uIG1hbmlmZXN0IGVuZAoJICBQdXQgRU9TIG9uIHRoZSBzdHJlYW1zIHF1ZXVlcyBhZnRlciB0aGUgbGFzdCBmcmFnbWVudCBmcm9tIHRoZQoJICBsYXN0IHBlcmlvZCBmb3IgZWFjaCBzdHJlYW0uIFRoaXMgd2F5IHdlIGtlZXAgaXQgc2VyaWFsaXplZAoJICB3aXRoIHRoZSBidWZmZXJzIGFuZCBpdCB3aWxsIHdvcmsgd2hlbiBzdHJlYW1zIGhhdmUgZGlmZmVyZW50CgkgIGVuZGluZyB0aW1lcwoKMjAxMy0wMS0yOSAxMzowODoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZGV0ZWN0IGVuZC1vZi1wZXJpb2QgY29ycmVjdGx5CgkgIERldGVjdCBlbmQgb2YgcGVyaW9kIHdoZW4gdGhlcmUgYXJlIG5vIG1vcmUgYnVmZmVycyBvbiBhbnkgb2YgdGhlCgkgIHN0cmVhbXMKCjIwMTMtMDEtMjkgMTM6MDQ6MDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IFVzZSB0aGUgc21hbGxlc3QgcXVldWUgdmFsdWUgdG8gZGVmaW5lIGJ1ZmZlcmluZyBzdGF0ZQoJICBUaGUgc21hbGxlc3QgcXVldWUgc2hvdWxkIGJlIHVzZWQgdG8gcHJldmVudCBibG9ja2luZyB0aGUgZG93bmxvYWQKCSAgdGhyZWFkIHdoZW4gYSBzdHJlYW0gaGFzIHRvbyBtdWNoIGRhdGEgYnVmZmVyZWQsIGxlYXZpbmcgdGhlIG90aGVyCgkgIHN0cmVhbXMgc3RhcnZpbmcgZnJvbSBmcmFnbWVudHMKCjIwMTMtMDEtMjkgMTE6MjI6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoOiBmaXggcGFyc2luZyBvZiBzdHJlYW1zIHRvIGdldCBjb3JyZWN0IGZyYWdtZW50IGR1cmF0aW9ucwoJICBVc2UgdGhlIGN1cnJlbnQgc3RyZWFtIGJhc2UgdGltZSBpbnN0ZWFkIG9mIHRoZSAwdGggc3RyZWFtIGJhc2UgdGltZQoJICB0byBnZXQgZGVmYXVsdCBkdXJhdGlvbiBmb3IgZnJhZ21lbnRzLgoKMjAxMy0wMS0yOSAwMTowNjo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogYmxvY2sgd2FpdGluZyBmb3IgYnVmZmVycyBpbnN0ZWFkIG9mIGJ1c3kgd2FpdAoJICBNYWtlIHRoZSBzdHJlYW1pbmcgbG9vcCBibG9jayB3YWl0aW5nIGZvciBidWZmZXJzIG9uIHRoZSBxdWV1ZXMgaW5zdGVhZAoJICBvZiBidXN5IHdhaXRpbmcgZWF0aW5nIGNwdSBjb250aW51b3VzbHkgb24gYSBxdWV1ZSBsZW5ndGggY2hlY2sKCjIwMTMtMDEtMjggMTk6NDM6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogZml4IHNlZWtpbmcgb24gbXVsdGlwbGUgc3RyZWFtcwoJICBFYWNoIHN0cmVhbSBoYXMgaXRzIG93biBkdXJhdGlvbnMgYW5kIHRpbWVzdGFtcHMsIHRoZSBmcmFnbWVudCBudW1iZXIKCSAgaXMgZGlmZmVyZW50IGZvciBlYWNoIHN0cmVhbSB3aGVuIHNlZWtpbmcsIHNvIHRoZSBzZWVrIGhhcyB0byBiZSBkb25lCgkgIGZvciBhbGwgc3RyZWFtcywgcmF0aGVyIHRoYW4gb24gYSBzaW5nbGUgc3RyZWFtIGFuZCBwcm9wYWdhdGVkIHRvCgkgIG90aGVycwoKMjAxMy0wMS0yOCAxODo1MjowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3RmcmFnbWVudC5jOgoJKiBleHQvZGFzaC9nc3RmcmFnbWVudC5oOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBSZXBsYWNlIEdRdWV1ZSBieSBHc3REYXRhUXVldWUKCSAgR3N0RGF0YVF1ZXVlIGhhcyBwcm9wZXIgbG9ja2luZyBhbmQgcHJvdmlkZXMgZnVuY3Rpb25zIHRvIGxpbWl0IHRoZQoJICBzaXplIG9mIHRoZSBxdWV1ZS4gQWxzbyBoYXMgYmxvY2tpbmcgY2FsbHMgdGhhdCBhcmUgdXNlZnVsIHRvCgkgIG91ciBtdWx0aXRocmVhZCBzY2VuYXJpbyBpbiBEYXNoLgoKMjAxMy0wMS0yOCAxMjoyODoyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IG1vdmUgdGhlIGJ1ZmZlcnMgcXVldWVzIHRvIHRoZSBzdHJlYW1zCgkgIFN0b3JlIHRoZSBidWZmZXJzIHNlcGFyYXRlbHkgZm9yIGVhY2ggc3RyZWFtLCB0aGlzIGlzIGNsZWFyZXIgdGhhbgoJICBoYXZpbmcgYSBxdWV1ZSB3aXRoIGEgbGlzdCBvZiBidWZmZXJzLiBJdCBhbHNvIGFsbG93cyBlYXNpZXIgc2VsZWN0aW9uCgkgIG9mIGJ1ZmZlcnMgdG8gcHVzaCBpbiBsYXRlciByZWZhY3RvcnMKCjIwMTMtMDEtMjggMTA6NDY6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiByZWZhY3RvciBzdHJlYW1zIGRhdGEgdG8gaXRzIG93biBzdHJ1Y3QKCSAgS2VlcHMgY29kZSBtb3JlIG9yZ2FuaXplZCBhbmQgc2ltaWxhciB0byB3aGF0IG90aGVyIGRlbXV4ZXJzCgkgIHVzdWFsbHkgZG8KCjIwMTMtMDEtMjUgMTM6MDQ6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoOiBkbyBub3QgdHJ5IHRvIHByaW50IGEgcG9pbnRlciBhcyBhIHN0cmluZwoKMjAxMy0wMS0yNSAxMjo0NToxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IFJlbW92ZSB0aW1pbmcgY29kZSB0aGF0IGRlbGF5cyBwdXNoaW5nIG9mIGZyYWdtZW50cwoJICBGcmFnbWVudHMgc2hvdWxkIGJlIHB1c2hlZCBBU0FQIGFzIGRvd25zdHJlYW0gc2hvdWxkIGJlIHJlc3BvbnNpYmxlIGZvcgoJICBkb2luZyB0aGUgc3luY3Job25pemF0aW9uIGFuZCBwcm9wZXIgYnVmZmVyaW5nLgoJICBUaGlzIGhhcyB0aGUgZ3JlYXQgc2lkZSBlZmZlY3Qgb2YgZml4aW5nIG1vc3Qgb2YgdGhlIHNlZWtpbmcgQS9WIHN5bmMgaXNzdWVzLgoKMjAxMy0wMS0yNSAwOTozNjozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSogZXh0L2Rhc2gvZ3N0dXJpZG93bmxvYWRlci5jOgoJICBkYXNoOiBmaXhpbmcgYnVpbGQgd2FybmluZ3MKCSAgQWxzbyBydW5uaW5nIHRocm91Z2ggZ3N0LWluZGVudAoKMjAxMy0wMS0yMyAxNjo0MzoxMiAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGdzdGRhc2hkZW11eDogYWRkIG5lZWRfaGVhZGVyIG1lbWJlciB0byBrbm93IHdoZXRoZXIgdGhlIGluaXRpYWxpemF0aW9uIGZyYWdtZW50IHNob3VsZCBiZSBwdXNoZWQKCjIwMTMtMDEtMjMgMTM6MjA6MjUgLTA1MDAgIExvdWlzLUZyYW5jaXMgUmF0dMOpLUJvdWxpYW5uZSA8bG91aXMtZnJhbmNpcy5yYXR0ZS1ib3VsaWFubmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IGRvbid0IHdhaXQgZm9yIHRoZSB3aG9sZSBkdXJhdGlvbiBvZiBhIGZyYWdtZW50IHdoZW4gc2Vla2luZwoKMjAxMy0wMS0yMyAxMzoxOToyMSAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBzd2l0Y2ggcGFkcyBhbmQgc2VuZCBoZWFkZXIgZmlsZSB3aGVuIGEgbmV3c2VnbWVudCBldmVudCBpcyBzZW50CgoyMDEzLTAxLTE2IDEzOjU4OjUyIC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogdmFyaW91cyBmaXhlcwoKMjAxMi0xMi0yMCAwOTowNDoyOCArMDEwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBBcHBsaWVkIGdzdC1pbmRlbnQKCjIwMTItMTItMTggMTE6MjE6MjIgKzAxMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL1JFQURNRToKCSAgUmVwbGFjZWQgVVJMIHBvaW50aW5nIHRvIG9ic29sZXRlIEtsYWdlbmZ1cnQgTVBEIGJ5IGEgbmV3IG9uZQoKMjAxMi0xMi0xNyAxNTo0NjozMiArMDEwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IGZpeCBlc2NhcGUgc2VxdWVuY2UgaW4gVVJMIHRlbXBsYXRlIHJlc29sdmluZwoKMjAxMi0xMi0xNyAxNTozOToxMCArMDEwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIG1wZHBhcnNlcjogZG8gbm90IHN3aXRjaCBwYWRzIHdoZW4gYml0c3RyZWFtU3dpdGNoaW5nID0gdHJ1ZQoKMjAxMi0xMi0xNyAxNToxOTozMyArMDEwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogY29tcGxldGUgc3VwcG9ydCBmb3IgbWFuaWZlc3QgZmlsZSB1cGRhdGVzCgoyMDEyLTEyLTE3IDE1OjEyOjU4ICswMTAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBhZGQgc3VwcG9ydCBmb3IgbWFuaWZlc3QgZmlsZSB1cGRhdGVzCgkgIC0gdGhlIE1QRCBmaWxlIGlzIHVwZGF0ZWQgaW4gdGhlIGRvd25sb2FkIGxvb3AgKG9ubHkgaWYgd2UgaGF2ZSBhICJkeW5hbWljIiBNUEQgYW5kIG1pbmltdW1VcGRhdGVQZXJpb2QgaXMgdmFsaWQpOwoJICAtIHByb3Blcmx5IExPQ0svVU5MT0NLIHRoZSBHc3RNcGRDbGllbnQ7CgoyMDEyLTEyLTE3IDE1OjA0OjQ1ICswMTAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBuZXcgQVBJIHRvIHNldC9nZXQgc2VnbWVudCBpbmRleCBhbmQgcGVyaW9kIGluZGV4CgkgIFRPRE86IHJld29yayBzZWdtZW50IHNlbGVjdGlvbiB0byBzdXBwb3J0IFJlcHJlc2VudGF0aW9ucyBvciBBZGFwdGF0aW9uIFNldHMgd2l0aCBzZWdtZW50cyBub3QgYWxpZ25lZAoKMjAxMi0xMi0xNyAxNTowMDo1MiArMDEwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogbmV3IEFQSSB0byBsb2FkIHRoZSBzdHJlYW0gUGVyaW9kIHdpdGggYSBnaXZlbiBpbmRleAoJICB0aGlzIGF2b2lkcyB0byBmaWRkbGUgd2l0aCBzdHJlYW0gaW50ZXJuYWxzIGluIHRoZSBjb2RlCgoyMDEyLTEyLTE3IDE0OjU0OjQyICswMTAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogaW1wbGVtZW50IHNlZWtpbmcgYWNyb3NzIFBlcmlvZHMKCjIwMTItMTEtMjEgMTQ6MTQ6MzQgKzAxMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBBcHBsaWVkIGdzdC1pbmRlbnQKCjIwMTItMTEtMjEgMTQ6MTQ6MjEgKzAxMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBCeSBkZWZhdWx0LCBkbyBub3QgZm9yd2FyZCBwYWQgcXVlcmllcyB1cHN0cmVhbSwgYmVjYXVzZSBpdCBtYXkgaGF2ZSB1bmZvcmVzc2VuIHNpZGUtZWZmZWN0cyAoZm9yd2FyZGluZyB0aGUgbmV3IDEuMCBHU1RfQ0FQUyBxdWVyeSB3b3VsZCBwcmV2ZW50IHBhZCBsaW5raW5nIGZvciBpbnN0YW5jZSkKCjIwMTItMTEtMTIgMTA6NTQ6MzUgKzAxMDAgIE9saXZpZXIgQmxpbiA8b2xpdmllci5ibGluQHNvZnRhdGhvbWUuY29tPgoKCSogZXh0L2Rhc2gvZ3N0cGx1Z2luLmM6CgkgIHBsdWdpbjogcmVnaXN0ZXIgYXMgZGFzaGRlbXV4IGluc3RlYWQgb2YgZnJhZ21lbnRlZAoJICBUaGlzIGZpeGVzIGNvbmZsaWN0cyB3aXRoIHRoZSBITFMgcGx1Z2luLCB3aGljaCBpcyBhbHNvIG5hbWVkCgkgIGZyYWdtZW50ZWQuCgkgIFdoZW4gYnVpbGRpbmcgaXRzIHJlZ2lzdHJ5LCBnc3RyZWFtZXIgd2FzIHBpY2tpbmcgb25lIG9yIHRoZSBvdGhlcgoJICBiZXR3ZWVuIGhscyBhbmQgZGFzaGRlbXV4LgoKMjAxMi0xMC0yNSAxNzo1NTowMiArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGNoZWNrIGlmIHdlIGhhdmUgcmVjZWl2ZWQgdGhlIE1QRCBmaWxlIGluIHRoZSBwcm9wZXIgd2F5CgoyMDEyLTEwLTI1IDE3OjUzOjUzICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogc2lsZW5jZSB3YXJuaW5nCgoyMDEyLTEwLTI1IDE3OjE1OjA5ICswMjAwICBPbGl2aWVyIEJsaW4gPG9saXZpZXIuYmxpbkBzb2Z0YXRob21lLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGZpeCBwcmludGluZyBidWZmZXJpbmcgdGltZSBhbmQgZG93bmxvYWQgcmF0ZS9zaXplCgkgIFRoaXMgd2FzIGJyb2tlbiBvbiBhcm12Ny4KCjIwMTItMTAtMjUgMTc6MTc6MzUgKzAyMDAgIE9saXZpZXIgQmxpbiA8b2xpdmllci5ibGluQHNvZnRhdGhvbWUuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZml4IHVudXNlZC1idXQtc2V0IHZhcmlhYmxlCgoyMDEyLTEwLTI1IDE2OjQ5OjIxICswMjAwICBPbGl2aWVyIEJsaW4gPG9saXZpZXIuYmxpbkBzb2Z0YXRob21lLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHVzZSBuZXcgZ3N0X21wZF9jbGllbnRfZ2V0X25leHRfZnJhZ21lbnRfZHVyYXRpb24gQVBJCgkgIFRoaXMgZml4ZXMgYnVpbGQgdGhhdCBoYXMgYmVlbiBicm9rZW4gYnkgY29tbWl0CgkgIGZiOWFlYWM2NTUyMDIxYjE3NmE0YzRiZDA3MjY1ZTAyYTBiNzBlMGYuCgkgIGdzdF9tcGRfY2xpZW50X2dldF90YXJnZXRfZHVyYXRpb24gaGFzIGJlZW4gcmVtb3ZlZCwgYW5kCgkgIGdzdF9tcGRfY2xpZW50X2dldF9uZXh0X2ZyYWdtZW50X2R1cmF0aW9uIHNob3VsZCBiZSB1c2VkIGluc3RlYWQuCgoyMDEyLTEwLTI0IDE3OjI4OjQwICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcmVtb3ZlIEZJWE1FIGNvbW1lbnQKCSAgcGFkIHN3aXRjaGluZyBhY3Jvc3MgbXVsdGlwbGUgcGVyaW9kcyB3b3JrcyBwZXJmZWN0bHkgZmluZSBub3cKCSAgYW5kIGl0IGlzIGRvbmUgb25seSB3aGVuIHRoZXJlIGlzIGEgY2hhbmdlIGluIHRoZSBDQVBTCgoyMDEyLTEwLTI0IDE2OjU1OjIwICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogc2VuZCBuZXctc2VnbWVudCBldmVudHMgdG8gYWxsIHBhZHMKCjIwMTItMTAtMjQgMTY6MzA6MDEgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IHJld29ya2VkIHRoZSBBUEkgdG8gcmV0cmlldmUgZnJhZ21lbnQgdGltZXN0YW1wLCBmcmFnbWVudCBkdXJhdGlvbiBhbmQgbWVkaWEgcHJlc2VudGF0aW9uIGR1cmF0aW9uCgkgIFRoaXMgd2FzIG5lY2Vzc2FyeSB0byBzdXBwb3J0IHZhcmlhYmxlLWR1cmF0aW9uIEZyYWdtZW50cy4KCSAgaW4gdGhlIG5ldyBBUEk6CgkgIC0gZ3N0X21wZF9jbGllbnRfZ2V0X2N1cnJlbnRfcG9zaXRpb24gcmV0dXJucyB0aGUgdGltZXN0YW1wIG9mIHRoZSBORVhUIGZyYWdtZW50IHRvIGRvd25sb2FkOwoJICAtIGdzdF9tcGRfY2xpZW50X2dldF9uZXh0X2ZyYWdtZW50X2R1cmF0aW9uIHJldHVybnMgdGhlIGR1cmF0aW9uIG9mIHRoZSBuZXh0IGZyYWdtZW50IHRvIGRvd25sb2FkOwoJICAtIGdzdF9tcGRfY2xpZW50X2dldF9tZWRpYV9wcmVzZW50YXRpb25fZHVyYXRpb24gcmV0dXJucyB0aGUgbWVkaWFQcmVzZW50YXRpb25EdXJhdGlvbiBmcm9tIHRoZSBNUEQgZmlsZTsKCSAgYWxzbyB0aGVyZSBpcyBhIG5ldyBpbnRlcm5hbCBwYXJzZXIgZnVuY3Rpb246CgkgIC0gZ3N0X21wZF9jbGllbnRfZ2V0X3NlZ21lbnRfZHVyYXRpb24gZXh0cmFjdHMgdGhlIGNvbnN0YW50IHNlZ21lbnQgZHVyYXRpb24gZnJvbSB0aGUgTVBEIGZpbGUKCSAgKG9ubHkgdXNlZCB3aGVuIHRoZXJlIGlzIG5vIFNlZ21lbnRUaW1lbGluZSBzeW50YXggZWxlbWVudCBpbiB0aGUgY3VycmVudCByZXByZXNlbnRhdGlvbikKCSAgSW4gZ3N0X21wZF9jbGllbnRfZ2V0X25leHRfZnJhZ21lbnQsIHdlIHNldCB0aGUgdGltZXN0YW1wL2R1cmF0aW9uIG9mIHRoZSBmcmFnbWVudCBqdXN0IGRvd25sb2FkZWQKCSAgY29weWluZyB0aGUgdmFsdWVzIGZyb20gdGhlIGNvcnJlc3BvbmRpbmcgR3N0TWVkaWFTZWdtZW50LgoJICBUT0RPOiByZXdvcmsgU0VFS0lORyB0byBzdXBwb3J0IHNlZWtpbmcgYWNyb3NzIGRpZmZlcmVudCBQZXJpb2RzLgoKMjAxMi0xMC0yNCAxNDo1MDo1NCArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHVzZSBlZmZlY3RpdmUgc2VnbWVudCBkdXJhdGlvbiB0byByZXNjaGVkdWxlIHRoZSBzdHJlYW1pbmcgdGFzawoJICBkbyBub3QgYXNzdW1lIHNlZ21lbnQgZHVyYXRpb24gaXMgY29uc3RhbnQKCSAgQ29uZmxpY3RzOgoJICBleHQvZGFzaC9nc3RkYXNoZGVtdXguYwoKMjAxMi0xMC0yNCAxNDoyNDowNSArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHJld29ya2VkIGdzdF9kYXNoX2RlbXV4X2dldF9idWZmZXJpbmdfdGltZSgpIHRvIHJldHVybiB0aGUgZWZmZWN0aXZlIGJ1ZmZlcmluZyB0aW1lCgkgIGRvIG5vdCBhc3N1bWUgdGhlIEZyYWdtZW50IGR1cmF0aW9uIGlzIGNvbnN0YW50CgoyMDEyLTEwLTI0IDExOjQ5OjUxICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogY29tcGxldGUgc3VwcG9ydCBmb3IgTWVkaWEgUHJlc2VudGF0aW9ucyB3aXRoIHNldmVyYWwgUGVyaW9kcwoJICAtIFBlcmlvZHMgYXJlIHBsYXllZCBpbiBzZXF1ZW5jZSwgZnJvbSBQZXJpb2RTdGFydCB0byBQZXJpb2RFbmQKCSAgLSBzZWFtbGVzcyBzd2l0Y2hpbmcgZnJvbSBvbmUgUGVyaW9kIHRvIHRoZSBuZXh0IG9uZSB3b3JrcyBmaW5lOwoJICAtIHRoZSAnbmV3LXNlZ21lbnQnIGdlbmVyYXRpb24gaXMgYnJva2VuLCBzbyBpZiB3ZSBuZWVkIHRvIHN3aXRjaCBwYWRzIGZvciBhIG5ldyBQZXJpb2QgdGhlcmUgaXMgYSBjcmFzaDsKCjIwMTItMTAtMjIgMTg6MTI6MzAgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBtcGRwYXJzZXI6IGluaXRpYWwgc3VwcG9ydCBmb3IgTWVkaWEgUHJlc2VudGF0aW9ucyBtYWRlIG9mIHNldmVyYWwgUGVyaW9kcwoJICAtIGJ1aWxkIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIFBlcmlvZHMgd2l0aCB0aGVpciBzdGFydCBhbmQgZHVyYXRpb24gdGltZQoJICAtIGFkZCB0aGUgbGlzdCBvZiBHc3RTdHJlYW1QZXJpb2QgaW4gdGhlIEdzdE1wZENsaWVudCBkYXRhIHN0cnVjdAoJICAtIHJlbW92ZSBjdXJfcGVyaW9kIGZyb20gR3N0TXBkQ2xpZW50IGFuZCBpbnRyb2R1Y2UgYW4gQVBJIHRvIGdldCB0aGUgY3VycmVudCBHc3RTdHJlYW1QZXJpb2QKCSAgLSBzZXZlcmFsIEFQSSBjbGVhbi11cHMKCjIwMTItMTAtMjQgMTg6MTA6NDcgKzAyMDAgIE9saXZpZXIgQmxpbiA8b2xpdmllci5ibGluQHNvZnRhdGhvbWUuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogc3VwcG9ydCBCYXNlVVJMIGZvciBTZWdtZW50VVJMIHVzaW5nIG1lZGlhUmFuZ2UKCSAgVGhpcyBpcyB1c2VkIGluIGJpZ19idWNrX2J1bm55X0NhcHBlZFZCUl9NdWx0aXJhdGVfNHNfMF9BdWRpb1ZpZGVvX01haW5Qcm9maWxlLm1wZAoKMjAxMi0xMC0yNCAxODowNDowNyArMDIwMCAgT2xpdmllciBCbGluIDxvbGl2aWVyLmJsaW5Ac29mdGF0aG9tZS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBmYWN0b3JpemUgYWRkaW5nIHJhbmdlIHBhcmFtZXRlciB0byBVUkwKCjIwMTItMTAtMTkgMjA6MTI6MDkgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IHJld29ya2VkIGNhcHMgZGV0ZWN0aW9uCgkgIGFsc28gcmV3b3JrZWQgdGhlIEFQSSB0byBleHRyYWN0IGF1ZGlvL3ZpZGVvIHBhcmFtZXRlcnMgZnJvbSB0aGUgbWFuaWZlc3QgZmlsZQoJICAobWltZVR5cGUsIHdpZHRoLCBoZWlnaHQsIHJhdGUsIG51bSBjaGFubmVscykKCjIwMTItMTAtMTkgMTk6MDM6NDEgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogZG8gbm90IHNlbmQgYm9ndXMgZHVyYXRpb24gbWVzc2FnZXMgd2hlbiBtZWRpYVByZXNlbnRhdGlvbkR1cmF0aW9uIGlzIHVua25vd24KCjIwMTItMTAtMTkgMTg6NDU6MzAgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBzdXBwb3J0IFNlZ21lbnRUaW1lbGluZSBzeW50YXggYWxzbyBmb3IgbGlzdC1iYXNlZCBtZWRpYSBzZWdtZW50IGdlbmVyYXRpb24KCjIwMTItMTAtMTkgMTc6NDc6NTEgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIG1wZHBhcnNlcjogYWRkIHN1cHBvcnQgZm9yIFNlZ21lbnRUaW1lbGluZSBzeW50YXggZWxlbWVudHMKCSAgYnVpbGQgdGhlIGxpc3Qgb2Ygc2VnbWVudHMgdG8gYmUgcGxheWVkIHVzaW5nIHRoZSBTZWdtZW50VGltZWxpbmUgc3ludGF4LCBpZiBwcmVzZW50CgkgIGJ1Z2ZpeGVzOgoJICAtIGZvciBkeW5hbWljIE1QRCBmaWxlcywgd2hlbiBtZWRpYVByZXNlbnRhdGlvbkR1cmF0aW9uIGlzIG5vdCBwcmVzZW50IHVzZSBtaW5pbXVtVXBkYXRlUGVyaW9kIGluc3RlYWQKCSAgLSBkbyBub3QgYWRkIGEgc3B1cmlvdXMgJyQnIHdoZW4gYnVpbGRpbmcgYW4gVVJMIGZyb20gYSB0ZW1wbGF0ZSBsaWtlICIkQmFuZHdpZHRoJC9pbml0Lm1wNHYiCgkgIC0gaW50cm9kdWNlIGdzdF9tcGRfY2xpZW50X2FkZF9tZWRpYV9zZWdtZW50KCkgdG8gYXZvaWQgY29kZSBkdXBsaWNhdGlvbgoKMjAxMi0xMC0xOSAxNTo0Mjo1MSArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIEZpeGVkIHdyb25nIGluZGV4IGluIGZyYWdtZW50cwoKMjAxMi0xMC0xOSAxMjowMTowMyArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIG1wZHBhcnNlcjogZml4IG1lbW9yeSBsZWFrIGluIGdzdF9tcGRfY2xpZW50X2dldF9uZXh0X2ZyYWdtZW50X3NldCgpCgkgIHdlIGhhdmUgdG8gZnJlZSBuZXh0X2ZyYWdtZW50X3VyaQoKMjAxMi0xMC0xOSAxMDo1MDoxNiArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIFJlbW92ZWQgdW51c2VkIGZ1bmN0aW9uCgoyMDEyLTEwLTE5IDEwOjQzOjQ5ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgU2VlayBldmVudCBoYW5kbGluZyBjbGVhbnVwCgoyMDEyLTEwLTE4IDE4OjQ5OjUzICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGZpeCBwbGF5aW5nIG9mIHNpbmdsZS1zZWdtZW50IG1lZGlhIHN0cmVhbXMKCSAgb3RoZXIgZml4ZXM6CgkgIC0gZml4ZWQgYSBidWZmZXJpbmcgYnVnOiBub3cgd2Ugc3RvcCBidWZmZXJpbmcgd2hlbiB3ZSByZWFjaCB0aGUgZW5kIG9mIG1hbmlmZXN0CgkgIC0gbm93IGdzdF9tcGRfY2xpZW50X2dldF90YXJnZXRfZHVyYXRpb24oKSBhbHdheXMgcmV0dXJucyBhIHZhbGlkIGR1cmF0aW9uCgkgIChpbiBjYXNlIG9mIHNpbmdsZS1zZWdtZW50IHN0cmVhbXMsIHdlIHJldHVybiBlaXRoZXIgUGVyaW9kIGR1cmF0aW9uIG9yIG1lZGlhUHJlc2VudGF0aW9uIGR1cmF0aW9uKQoJICBUT0RPOiBzdXBwb3J0IFNlZ21lbnRUaW1lbGluZQoKMjAxMi0xMC0xNyAxODo0NjoyMiArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdHVyaWRvd25sb2FkZXIuaDoKCSAgdXJpZG93bmxvYWRlcjogZGVsZXRlZCB1c2VsZXNzIGRlY2xhcmF0aW9uIG9mIGdzdF91cmlfZG93bmxvYWRlcl9mcmVlKCkKCjIwMTItMTAtMTcgMTg6NDU6MjUgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IHdoZW4gcG9zc2libGUsIHJldXNlIGV4aXN0aW5nIGVsZW1lbnQgdG8gZG93bmxvYWQgYSBuZXcgVVJJCgkgIHByZXZpb3VzbHkgYSBuZXcgZWxlbWVudCB3YXMgYWxsb2NhdGVkIGZvciBlYWNoIG1lZGlhIHNlZ21lbnQsIGFuZCBpdCB3YXMgbmV2ZXIgZnJlZWQKCjIwMTItMTAtMTcgMTg6NDM6MjYgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiB1bnJlZiBjYXBzIGluIGZ1bmN0aW9uIG5lZWRfYWRkX2hlYWRlcigpCgoyMDEyLTEwLTE3IDE4OjQyOjAyICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogZml4IGV4dHJhY3Rpb24gb2YgU2VnbWVudFRlbXBsYXRlLT5pbml0aWFsaXphdGlvbiBpbiBnc3RfbXBkX2NsaWVudF9nZXRfbmV4dF9oZWFkZXIoKQoJICBub3cgdGhlIGZvbGxvd2luZyBNUEQgZmlsZXMgYXJlIHByb3Blcmx5IHN1cHBvcnRlZDoKCSAgaHR0cDovL2Rhc2guZWRnZXN1aXRlLm5ldC9hZG9iZS9oZHdvcmxkX2Rhc2gvSERXb3JsZC0xNjAwLm1wZAoJICBodHRwOi8vZGFzaC5lZGdlc3VpdGUubmV0L2Fkb2JlL2hkd29ybGRfZGFzaC9IRFdvcmxkLm1wZAoKMjAxMi0xMC0xNyAxODo0MDowMiArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGZpeCBtZW1vcnkgbGVhayBpbiBnc3RfZGFzaF9kZW11eF9nZXRfbmV4dF9oZWFkZXIoKQoKMjAxMi0xMC0xNyAxNTo1MjoxOSArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIFdlIG5vdyBvbmx5IGFjY2VwdCBhY3R1YWwgbWFuaWZlc3QgZmlsZXMsIGFuZCBub3QgYW55IFhNTCBmaWxlCgoyMDEyLTEwLTE3IDE1OjUwOjMzICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9NYWtlZmlsZS5hbToKCSogZXh0L2Rhc2gvZ3N0cGx1Z2luLmM6CgkgIEFkZGVkIGEgdHlwZWZpbmQgaGVscGVyIGZvciBEQVNIOiB0aGlzIGNvbW1pdCBzaG91bGQgYmUgcmV2ZXJ0ZWQgYXMgc29vbiBhcyBhIHByb3BlciBwYXRjaCBoYXMgYmVlbiBzdWJtaXR0ZWQgdG8gZ3N0LXBsdWdpbnMtYmFzZQoKMjAxMi0xMC0xNyAxMDowMjozOSArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIEZpeGVkIHN0YXRlIG1hY2hpbmUgKGFnYWluKQoKMjAxMi0xMC0xNiAxNjo0NjoxNyArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIENvZGUgcmVmYWN0b3JpbmcKCjIwMTItMTAtMTYgMTY6MzQ6MTAgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBGaXhlZCBzdGF0ZSBtYWNoaW5lCgoyMDEyLTEwLTE2IDEzOjQzOjM5ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIEltcHJvdmUgY29uc2lzdGVuY3kgb2YgdGhlIHRhc2tzIHNodXRkb3duIGNvZGUKCjIwMTItMTAtMTYgMTI6NTE6NDQgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBBZGRlZCBtaXNzaW5nIGdfbGlzdF9mcmVlCgoyMDEyLTEwLTE2IDExOjQ0OjI2ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgRG8gbm90IGFuc3dlciB0byBVUkkgcXVlcmllcwoKMjAxMi0xMC0xNiAxMTozOToxOCArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIFRyeSBxdWVyaWVzIHVwc3RyZWFtIGlmIHdlIGNhbm5vdCBwcm9jZXNzIHRoZW0KCjIwMTItMTAtMTYgMTE6MjY6MDMgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgUmVuYW1lZCBkZW11eC0+bmV4dF9zdHJlYW0gaW4gZGVtdXgtPm5leHRfcHVzaAoKMjAxMi0xMC0xNiAxMToyMzoyNiArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIElubGluZWQgb25lLWxpbmUgdXRpbGl0eSBmdW5jaXRvbiB0aGF0IHdhcyBjYWxsZWQgb25seSBvbmNlCgoyMDEyLTEwLTE2IDA5OjEwOjAwICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgRml4ZWQgcmVncmVzc2lvbiBhZnRlciB0aGUgaW50cm9kdWN0aW9uIG9mIHRoZSBtdWx0aS1zY3JlZW4gc3VwcG9ydCwgcHJldmVudGluZyB0aGUgcGlwZWxpbmUgZnJvbSBzdG9wcGluZyBwcm9wZXJseQoKMjAxMi0xMC0xNSAxNjo0MToyOCArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIE1vZGlmaWVkIGxvZyBsZXZlbCBvZiBzaHV0ZG93biBtZXNzYWdlCgoyMDEyLTEwLTE1IDE1OjA4OjUzICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgQ29tbWVudHM6IFdlIGRvbid0IHNlbGVjdCBhIHNpbmdsZSByZXByZXNlbnRhdGlvbiwgYnV0IGEgcmVwcmVzZW50YXRpb24gZm9yIGVhY2ggc3RyZWFtIENvZGU6IGNsZWFudXAgb2YgZ3N0X2dldF9uZXh0X2ZyYWdtZW50IChhbHNvIHJlbmFtZWQgaW4gZ3N0X2dldF9uZXh0X2ZyYWdtZW50X3NldCkKCjIwMTItMTAtMTUgMTQ6MjU6MjcgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBSZW1vdmVkIGRlYnVnIHRyYWNlCgoyMDEyLTEwLTE1IDE0OjE0OjUzICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgQWRkZWQgaW50cm9kdWN0aW9uIGFuZCBnZW5lcmFsIGRlc2lnbiBub3RlcwoKMjAxMi0xMC0xNSAxMzo1NDoxNyArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIEZpeGVkIHdyb25nIGNvbW1lbnQKCjIwMTItMTAtMTUgMTM6NTI6MzEgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBEb2N1bWVudGVkIGdzdF9kYXNoX2RlbXV4X2Rvd25sb2FkX2xvb3AKCjIwMTItMTAtMTUgMTM6MzU6MTUgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBDb21tZW50ZWQgZ3N0X2Rhc2hfZGVtdXhfc3RyZWFtX2xvb3AKCjIwMTItMTAtMTUgMTM6MTc6MTIgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBDb21tZW50ZWQgbmVlZHNfcGFkX3N3aXRjaAoKMjAxMi0xMC0xNSAxMzowOTo0OSArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIERvY3VtZW50ZWQgdGhlIHJlcHJlc2VudGF0aW9uIHN3aXRjaCBtZWNoYW5pc20KCjIwMTItMTAtMTUgMTE6NDA6NTUgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgUmVwbGFjZWQgcmVmZXJlbmNlcyB0byBwbGF5bGlzdCAoSExTKSBieSByZWZlcmVuY2VzIHRvIG1hbmlmZXN0IChEQVNIKQoKMjAxMi0xMC0xNSAxMTozMzo1OCArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIFJlbmFtZWQgZ3N0X2Rhc2hfZGVtdXhfc3dpdGNoX3BsYXlsaXN0IHRvIGdzdF9kYXNoX2RlbXV4X3NlbGVjdF9yZXByZXNlbnRhdGlvbiBhbmQgYWRkZWQgY29tbWVudHMKCjIwMTItMTAtMTUgMTE6MTk6MjkgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBSZW1vdmVkIG9ic29sZXRlIGNvbW1lbnQKCjIwMTItMTAtMTUgMTE6MTg6MjUgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBBcHBsaWVkIGdzdC1pbmRlbnQKCjIwMTItMTAtMTEgMTI6NTQ6NTAgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL1JFQURNRToKCSAgVXBkYXRlZCBSRUFETUUKCjIwMTItMTAtMDkgMTM6MjQ6MjMgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBzdXBwb3J0IE1QRCBmaWxlcyB3aXRoIFNlZ21lbnRCYXNlIGVsZW1lbnRzIGVuY29kZWQgaW5zaWRlIGEgU2VnbWVudExpc3QgZWxlbWVudAoJICBhbHNvIHByb3Blcmx5IHN1cHBvcnQgTVBEIGZpbGVzIHdpdGhvdXQgYW55IEluaXRpYWxpemF0aW9uIHNlZ21lbnQKCjIwMTItMTAtMDggMTc6NDM6MTQgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBtcGRwYXJzZXIvZGFzaGRlbXV4OiBmaXhlZCBnZXRfd2lkdGgsIGdldF9oZWlnaHQsIGdldF9hdWRpb19yYXRlLCBnZXRfbnVtX2F1ZGlvX2NoYW5uZWxzIEFQSSBmdW5jdGlvbnMKCSAgdGhlIGFjdHVhbCB2YWx1ZXMgbm93IGNhbiBiZSBleHRyYWN0ZWQgYWxzbyBmcm9tIHRoZSBBZGFwdGF0aW9uU2V0IGVsZW1lbnQ7CgkgIGNoZWNraW5nIE5VTEwgc3RydWN0cyBmb3IgYmV0dGVyIHJvYnVzdG5lc3M7CgoyMDEyLTEwLTA4IDE2OjU5OjIxICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IGFkZGVkIHN1cHBvcnQgZm9yIHNpbmdsZS1zZWdtZW50IHN0cmVhbXMgd2l0aCB0aGUgVVJMIGVuY29kZWQgaW4gdGhlIGJhc2VVUkwgc3ludGF4IGVsZW1lbnQKCjIwMTItMTAtMDggMTU6MjY6NDggKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIG1wZHBhcnNlcjogYWRkZWQgbGFuZyBhdHRyaWJ1dGUgdG8gUHJvZ3JhbUluZm9ybWF0aW9uIG5vZGUKCjIwMTItMTAtMDggMTE6NDc6NDUgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIG1wZHBhcnNlcjogYWRkZWQgc3VwcG9ydCBmb3IgQWNjZXNzaWJpbGl0eSwgUm9sZSwgUmF0aW5nLCBWaWV3cG9pbnQgZWxlbWVudHMgdG8gQWRhcHRhdGlvblNldCBub2RlCgkgIHRob3NlIGFyZSBEZXNjcmlwdG9yVHlwZSBlbGVtZW50cywgc28gdGhleSBhcmUganVzdCBwYXJzZWQgYW5kIGR1bXBlZCBmb3Igbm93OwoKMjAxMi0xMC0wOCAxMTozMDo0MCArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgbXBkcGFyc2VyOiBzdXBwb3J0IG11bHRpcGxlIFByb2dyYW1JbmZvcm1hdGlvbiBub2RlcwoJICBub3cgd2Uga2VlcCBhIGxpc3Qgb2YgUHJvZ3JhbUluZm9ybWF0aW9uIG5vZGVzIGZvciBlYWNoIFBlcmlvZCBub2RlCgoyMDEyLTEwLTA4IDExOjE2OjA5ICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgbXBkcGFyc2VyOiBmaXhlZCBwYXJzaW5nIG9mIFNlZ21lbnRMaXN0IHN5bnRheCBlbGVtZW50LCBhbmQgZWxpbWluYXRlZCBSZXByZXNlbnRpb24gbm9kZSBsaXN0IGZyb20gUGVyaW9kIG5vZGUKCSAgU2VnbWVudExpc3Qgbm9kZXMgYXJlIGFsbG93ZWQgaW50byBQZXJpb2QsIEFkYXB0YXRpb25TZXQgb3IgUmVwcmVzZW50YXRpb24gbm9kZXMKCSAgYW5kIHRoZXJlIGlzIGF0IG1vc3QgMSBlbGVtZW50LCBzbyBubyBuZWVkIHRvIGtlZXAgYSBsaXN0OwoJICBQZXJpb2Qgbm9kZXMgY2Fubm90IGhhdmUgYW55IFJlcHJlc2VudGlvbiBlbGVtZW50cywgYXMgQWRhcHRhdGlvblNldCBub2RlcyBhcmUgbWFuZGF0b3J5OwoJICB0aGlzIGJyZWFrcyBjb21wYXRpYmlsaXR5IHdpdGggc29tZSBsZWdhY3kgREFTSCB0ZXN0IHNlcXVlbmNlcy4KCjIwMTItMTAtMDggMTA6Mjk6MDQgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBmaXhlZCByZXR1cm4gd2l0aCBubyB2YWx1ZQoJICBnc3RtcGRwYXJzZXIuYzogSW4gZnVuY3Rpb24g4oCYZ3N0X21wZHBhcnNlcl9nZXRfbGlzdF9hbmRfbmJfb2ZfYXVkaW9fbGFuZ3VhZ2XigJk6CgkgIGdzdG1wZHBhcnNlci5jOjI4OTE6IHdhcm5pbmc6IOKAmHJldHVybuKAmSB3aXRoIG5vIHZhbHVlLCBpbiBmdW5jdGlvbiByZXR1cm5pbmcgbm9uLXZvaWQKCjIwMTItMTAtMDggMTA6MjQ6MjkgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIG1wZHBhcnNlci5jLy5oOiBjaGFuZ2VkIGxpY2Vuc2UgZnJvbSBkdWFsIE1JVC9MR1BMIDIuMCB0byBMR1BMIDIuMQoJICB1bmlmb3JtZWQgbGljZW5jaW5zaW5nIHRvIHRoZSBvdGhlciBsaWJyYXJpZXMgaW4gdGhlIGRhc2hkZW11eCBwcm9qZWN0CgoyMDEyLTEwLTAyIDAyOjI4OjU4ICswMjAwICBoemFrYXJpIDxoYW1pZC56YWthcmlAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgT3B0aW1pemUgdGhlIHR3byBmdW5jdGlvbnMgdGhhdCByZXR1cm4gdGhlIG51bWJlciBhbmQgdGhlIGxpc3Qgb2YgbGFuZ3VhZ2VzIGluIGEgc2luZ2xlIGZ1bmN0aW9uCgoyMDEyLTA5LTI5IDA1OjI3OjUxICswMjAwICBIYW1pZCBaQUtBUkkgPHpha2FyaUByLWxueC16YWthcmkuKG5vbmUpPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIEFkZCB0aGUgaGVhZGVycyB0byB0aGUgYWRhcHRhdGlvbnNldHMgc2VnbWVudHMgaWYgYW55IG9uZSBvZiB0aGVzZSBjaGFuZ2VkIHJlcHJlc2VudGF0aW9uCgoyMDEyLTA5LTI5IDAzOjEzOjI5ICswMjAwICBIYW1pZCBaQUtBUkkgPHpha2FyaUByLWxueC16YWthcmkuKG5vbmUpPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIFN1cHBvcnQgTXVsdGkgbGFuZ3VhZ2VzIChuZWVkIGEgZGVjb2RlYmluMiBwYXRjaCkKCjIwMTItMDktMjkgMDI6NDE6MTMgKzAyMDAgIEhhbWlkIFpBS0FSSSA8emFrYXJpQHItbG54LXpha2FyaS4obm9uZSk+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgUmVtb3ZlIHRoZSAiVE9ETyIgY29tbWVudAoKMjAxMi0wOS0yOCAxMjo1NToyNyArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvQ09QWUlORzoKCSogZXh0L2Rhc2gvTElDRU5TRToKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBSZW5hbWVkIExJQ0VOU0UgaW50byBDT1BZSU5HCgoyMDEyLTA5LTI4IDExOjQ2OjAwICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9BVVRIT1JTOgoJICBVcGRhdGVkIGF1dGhvcnMKCjIwMTMtMDUtMDggMTE6MTM6MzIgLTAzMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL0FVVEhPUlM6CgkqIGV4dC9kYXNoL0xJQ0VOU0U6CgkqIGV4dC9kYXNoL01ha2VmaWxlLmFtOgoJKiBleHQvZGFzaC9SRUFETUU6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0ZnJhZ21lbnQuYzoKCSogZXh0L2Rhc2gvZ3N0ZnJhZ21lbnQuaDoKCSogZXh0L2Rhc2gvZ3N0ZnJhZ21lbnRlZC5oOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkqIGV4dC9kYXNoL2dzdHBsdWdpbi5jOgoJKiBleHQvZGFzaC9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGV4dC9kYXNoL2dzdHVyaWRvd25sb2FkZXIuaDoKCSAgSW5pdGlhbCBpbXBvcnQgb2YgZ3N0ZGFzaGRlbXV4IHNvdXJjZXMKCjIwMTItMTAtMjYgMTg6MDA6MDIgKzAyMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPHNlYnBAay1kLXcub3JnPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgVXNlIERWQiBBUEkgdjUgYWthIFMyQVBJIGluc3RlYWQgb2Ygb2Jzb2xldGUgdjMgQVBJCgkgIFBhdGNoIGlzIGJhc2VkIG9uIHdvcmsgb2YgVG9ueSBIb3VnaHRvbiA8aEByZWFsaC5jby51az4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDQ3OQoKMjAxMy0wNS0wOCAxNTo0MjowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgc21vb3Roc3RyZWFtaW5nOiBwYXNzIHdpZHRoLCBoZWlnaHQsIGNoYW5uZWxzIGFuZCByYXRlIGFzIGludGVnZXIKCSAgZ19hc2NpaV9zdHJ0b3VsbCgpIHJldHVybnMgYSBsb25nIGxvbmcgaW50ZWdlciwgYnV0IHdlIG5lZWQgdG8KCSAgcGFzcyBhIG5vcm1hbCBpbnQgdG8gZ3N0X3N0cnVjdHVyZV9zZXQoKSBmb3IgZmllbGRzIG9mIEdfVFlQRV9JTlQsCgkgIHNvIGNhc3QgYXBwcm9wcmlhdGVseS4KCjIwMTMtMDUtMDggMTI6NDU6MjAgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb21lbW9yeS5oOgoJICB2ZHBhdTogQWRkIFZkcFZpZGVvU3VyZmFjZSBjYXBzIGZlYXR1cmUKCjIwMTMtMDUtMDggMTA6NTU6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIHNtb290aHN0cmVhbWluZzogZml4IFdNViBjYXBzCgkgIE1ha2VzIHRoaXMgc2hvdyBhdCBsZWFzdCBhIHBpY3R1cmU6CgkgIGh0dHA6Ly9wbGF5cmVhZHkuZGlyZWN0dGFwcy5uZXQvc21vb3Roc3RyZWFtaW5nL1RUTFNTNzIwVkMxL1RvX1RoZV9MaW1pdF83MjAuaXNtL01hbmlmZXN0CgoyMDEzLTA0LTIzIDEyOjA4OjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBmaXhpbmcgY29tcGlsZXIgd2FybmluZ3MgYWJvdXQgcHJpbnQgZm9ybWF0cwoKMjAxMy0wNC0xNiAxOTozNTowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9NYWtlZmlsZS5hbToKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rkb3dubG9hZHJhdGUuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rkb3dubG9hZHJhdGUuaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdHNtb290aHN0cmVhbWluZy1wbHVnaW4uYzoKCSAgc21vb3Roc3RyZWFtaW5nOiBwb3J0IHRvIDEuMAoKMjAxMy0wNC0xMiAxNTo1OTowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogcmVtb3ZlIGFscmVhZHkgZml4ZWQgVE9ETyBjb21tZW50CgoyMDEzLTA0LTEyIDE1OjU4OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiByZXBsYWNlIGdzdF92YWx1ZV9kZXNlcmlhbGl6ZSB3aXRoIHNpbXBsZXIgZnVuY3Rpb24KCSAgVGhlIGRlc2VyaWFsaXphdGlvbiB3YXMgb25seSB1c2VkIHRvIGNvbnZlcnQgaGV4IHN0cmluZ3MgaW50bwoJICBHc3RCdWZmZXJzLiBSZXBsYWNlIGdzdF92YWx1ZV9kZXNlcmlhbGl6ZSB3aXRoIGEgc2ltcGxlciwgZGlyZWN0CgkgIGZ1bmN0aW9uLgoKMjAxMy0wNC0xMiAxNTo1NjozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogZml4IG5ld3NlZ21lbnQgZXZlbnQgbGVhawoKMjAxMy0wNC0xMiAxNTo1NToyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogcmVwbGFjZSB1bnVzZWQgcGFyYW1ldGVyCgkgIFRoZSBidWZmZXIgcGFyYW1ldGVyIHdhc24ndCBiZWluZyB1c2VkLCBpdCB3YXMgb25seSB0byBzaWduYWwgaWYKCSAgYSBidWZmZXIgd2FzIGRvd25sb2FkZWQgYW5kIGFkdmFuY2UgdG8gdGhlIG5leHQgZnJhZ21lbnQgaW4gdGhlCgkgIG1hbmlmZXN0LgoJICBSZXBsYWNlIHRoZSBidWZmZXIgd2l0aCBhIGJvb2xlYW4gdGhhdCBoYXMgdGhlIHNhbWUgZWZmZWN0IGFuZCBpcwoJICBzYWZlcgoKMjAxMy0wMy0xMSAxMDowOTo0MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzOiBhdm9pZCBHVmFsdWUgbGVhawoKMjAxMy0wMi0yMiAxNzowMDozMCAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdGRvd25sb2FkcmF0ZS5jOgoJICBtc3NkZW11eDogZml4IGEgc21hbGwgbWVtb3J5IGxlYWsKCjIwMTMtMDItMTkgMTM6MTc6NTMgLTA1MDAgIExvdWlzLUZyYW5jaXMgUmF0dMOpLUJvdWxpYW5uZSA8bG91aXMtZnJhbmNpcy5yYXR0ZS1ib3VsaWFubmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiBhdm9pZCBzdHJlYW1pbmcgdG8gZmFpbCB3aGVuIGRvd25sb2FkIGlzIGNhbmNlbGxlZAoJICBXaGVuIGRvd25sb2FkIHdhcyBmYWlsaW5nIHJlcGVhdGVkbHksIGl0IHdhcyBjYXVzaW5nIHN0cmVhbWluZyB0byBmYWlsIGV2ZW4gdGhvdWdoIGl0IHdhcyBjYW5jZWxsZWQgb24gcHVycG9zZSAoc3RvcHBpbmcgdGFza3MpLgoKMjAxMy0wMi0wOCAwMjowMTo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogcmVtb3ZpbmcgdW51c2VkIGZ1bmN0aW9ucwoKMjAxMy0wMi0wOCAwMTo1MTozMCAtMDIwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rkb3dubG9hZHJhdGUuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiBzd2l0Y2ggYml0cmF0ZXMgd2l0aG91dCBzd2l0Y2hpbmcgcGFkcwoKMjAxMy0wMi0wNyAxNjoyNjo0NiAtMDIwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IENoZWNrIGlmIHBhZHMgYXJlIHZhbGlkIGJlZm9yZSByZW1vdmluZy4KCjIwMTMtMDItMDcgMDM6MTA6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogYWRkIGEgbWF4aW11bSBlcnJvciBjb3VudCBmb3IgZG93bmxvYWRzCgkgIG1zc2RlbXV4IHdpbGwgdG9sZXJhdGUgYSBmZXcgZG93bmxvYWQgZXJyb3JzIGJlZm9yZSBlbWl0dGluZyBhbgoJICBlcnJvciBtZXNzYWdlIHRvIHRoZSBidXMKCjIwMTMtMDItMDYgMDg6NDg6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc2RlbXV4OiB1c2Ugc3RyZWFtcyBiaXRyYXRlIGluZGl2aWR1YWxseQoJICBjb25uZWN0aW9uIHNldHVwIHRpbWVzIHNlZW0gdG8gbWF0dGVyIHdoZW4gbWVhc3VyaW5nIHRoZSBkb3dubG9hZAoJICByYXRlIG9mIGRpZmZlcmVudCBzdHJlYW1zLiBTdHJlYW1zIHdpdGggbG9uZ2VyIGZyYWdtZW50cyBoYXZlIGEKCSAgKnJlbGF0aXZlbHkqIGxvd2VyIGNvbm5lY3Rpb24gc2V0dXAgdGltZSBhbmQgYWNoaWV2ZSBoaWdoZXIgYml0cmF0ZXMuCgkgIFVzaW5nIHRoZSBhdmVyYWdlIHNlZW1zIHVuZmFpciBoZXJlLCBzbyB1c2UgZWFjaCBzdHJlYW0ncyBtZWFzdXJlZCBiaXRyYXRlCgkgIHRvIHNlbGVjdCBpdHMgYmVzdCBxdWFsaXR5IG9wdGlvbi4KCjIwMTMtMDItMDUgMTc6NDg6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0ZG93bmxvYWRyYXRlLmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0ZG93bmxvYWRyYXRlLmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogdXNlIGRvd25sb2FkYml0cmF0ZSB1dGlsaXR5IGZvciBtZWFzdXJpbmcgYml0cmF0ZQoJICBkb3dubG9hZGJpdHJhdGUga2VlcHMgYSBzaG9ydCBoaXN0b3J5IG9mIGJpdHJhdGVzIGFuZCBoZWxwcwoJICB0cmFja2luZyB0aGUgY3VycmVudCBhdmVyYWdlIGRvd25sb2FkIGJpdHJhdGUgZm9yIG1zc2RlbXV4CgoyMDEzLTAyLTA1IDA0OjAxOjA0IC0wMjAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogUHJvcGVybHkgY29tcHV0ZSBuZXcgYml0cmF0ZSBhbmQgdXNlIGJpdHJhdGVfbGltaXQuCgoyMDEzLTAyLTA1IDAzOjI3OjUxIC0wMjAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogQXZvaWQgYSBwb3NzaWJsZSBkaXZpc2lvbiBieSB6ZXJvCgoyMDEzLTAyLTA1IDAzOjI3OjIyIC0wMjAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogQWRkIG1pc3Npbmcgb2JqZWN0IHBhcmFtIHRvIEdTVF9ERUJVR3xJTkZPX09CSkVDVCBjYWxscwoKMjAxMy0wMi0wNSAwMDoyODoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiBhZGQgYml0cmF0ZS1saW1pdCBwcm9wZXJ0eQoJICBJdCBhbGxvd3MgdGhlIHBsdWdpbiB0byB1c2UgaXRzIG93biBkb3dubG9hZGluZyBiaXRyYXRlIG1lYXN1cmVzCgkgIGFzIGEgZmVlZGJhY2sgdG8gc2VsZWN0IHRoZSBiZXN0IHN0cmVhbXMgYml0cmF0ZSBmb3IgdGhlIGN1cnJlbnQKCSAgbmV0d29yayBzY2VuYXJpbwoKMjAxMy0wMi0wNCAyMTo1ODowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9NYWtlZmlsZS5hbToKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogdXNlIHRoZSBzaGFyZWQgdXJpZG93bmxvYWRlciBsaWIgaW5zdGVhZCBvZiBhbiBpbnRlcm5hbCBjb3B5CgoyMDEzLTAyLTA0IDAyOjIwOjUxIC0wMjAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogRG8gbm90IGJsb2NrIG9uIHJlc2V0LgoJICBXZSBuZWVkIHRvIGNhbmNlbCB0aGUgZG93bmxvYWRlciBmb3IgZWFjaCBzdHJlYW0gYmVmb3JlIGpvaW5pbmcgdGhlIG1haW4gZG93bmxvYWQgdGFzaywgb3RoZXJ3aXNlCgkgIHRoZSBkb3dubG9hZCB0YXNrIHdpbGwgYmxvY2sgdW50aWwgYWxsIHRoZSBzdHJlYW0gdGFza3MgZmluaXNoLgoKMjAxMy0wMi0wMSAxNzo0NDowNCAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBoYW5kbGUgRkxVU0ggZXZlbnRzIGJ5IHJlc2V0dGluZyB0aGUgZGVtdXhlciBzdGF0ZQoKMjAxMy0wMi0wMSAxNzo0Mzo0NiAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBhZGQgY29uZGl0aW9ucyB0byBwcmV2ZW50IHNvbWUgY3Jhc2hlcwoKMjAxMy0wMi0wMSAxNzoyOTo1OCAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiB1c2Ugc3RhbmRhcmQgZ2xpYiBtZXRob2RzCgoyMDEzLTAyLTAxIDE3OjI3OjE5IC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogZml4IHNvbWUgbWVtb3J5IGxlYWtzIGFuZCB1c2UgcmlnaHQgZnJlZSBmdW5jdGlvbgoKMjAxMy0wMi0wMSAxNzoxMjo0MSAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBkb24ndCBzdG9wIGEgdGFzayBmcm9tIGluc2lkZSB0aGUgbG9vcAoJICBPbmx5IHBhdXNlIHRoZSB0YXNrCgoyMDEzLTAxLTMxIDE2OjE0OjM3IC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGxvZyBtYW5pZmVzdCBjb250ZW50IGZvciBkZWJ1Z2dpbmcKCjIwMTMtMDEtMzAgMDA6MjI6NTAgLTA1MDAgIExvdWlzLUZyYW5jaXMgUmF0dMOpLUJvdWxpYW5uZSA8bG91aXMtZnJhbmNpcy5yYXR0ZS1ib3VsaWFubmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogbWFrZSBjb2RlYyBwcml2YXRlIGRhdGEgZnJvbSBtYW5pZmVzdCBhdHRyaWJ1dGVzIHdpdGggQUFDLUxDCgkgIFdoZW4gdGhlIGNvZGVjIGlzIEFBQy1MQywgc29tZSBzZXJ2ZXIgaW1wbGVtZW50YXRpb24gKGUuZy4gTWljcm9zb2Z0IElJUykgZG9lc24ndCBhZGQgdGhlIENvZGVjUHJpdmF0ZURhdGEgYXR0cmlidXRlLiBUaGUgZWxlbWVudCBuZWVkcyB0byByZS1jcmVhdGUgdGhlIGNvZGVjIGRhdGEgZnJvbSB0aGUgUXVhbGl0eSBMZXZlbCBhdHRyaWJ1dGVzIChjaGFubmVscyBhbmQgc2FtcGxpbmcgcmF0ZSkuCgoyMDEzLTAxLTI5IDIyOjU3OjM2IC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IG9ubHkgdHJ5IHRvIHJlbG9hZCB0aGUgbWFuaWZlc3QgZm9yIGxpdmUgc3RyZWFtcwoJICBUaGVyZSBpcyBubyB3YXkgdG8ga25vdyBpZiBhIGxpdmUgc3RyZWFtIGlzIHJlYWxseSBmaW5pc2hlZCwgc28gdHJ5IHRvIHJlbG9hZCB0aGUgbWFuaWZlc3QgYW5kIGNoZWNrIGlmIHRoZXJlIGFyZSBtb3JlIGZyYWdtZW50cyB0byBkb3dubG9hZC4gRWxzZSBqdXN0IGxldCBrbm93IGl0J3MgdGhlIEVPUy4KCjIwMTMtMDEtMjUgMjE6MjQ6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGFkZCBzb21lIGRvY3VtZW50YXRpb24KCSAgQWRkcyBhIGxpdHRsZSBiaXQgb2YgZG9jcyBleHBsYW5pbmcgdGhlIGludGVybmFscyBvZiBtc3NkZW11eAoKMjAxMy0wMS0yMiAxNzozMzo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogYWRkIG1heC1xdWV1ZS1zaXplLWJ1ZmZlcnMgcHJvcGVydHkKCSAgSW5kaWNhdGVzIGhvdyBtdWNoIGJ1ZmZlcmluZyBzaG91bGQgYmUgZG9uZSBpbnRlcm5hbGx5IGluCgkgIG1zc2RlbXV4CgoyMDEzLTAxLTIxIDE4OjA1OjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBzdG9wIHRhc2tzIGZhc3RlcgoJICBJc3N1ZSBhIGNhbmNlbCB0byB0aGUgZG93bmxvYWRlcnMgc28gdGhleSBzdG9wIGVhcmxpZXIKCjIwMTMtMDEtMTcgMTY6MjA6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IGltcGxlbWVudCBsaXZlIHN0cmVhbXMgaGFuZGxpbmcKCSAgTGl2ZSBzdHJlYW1zIGZvcmNlIHRoZSBkZW11eGVyIHRvIGtlZXAgcmVsb2FkaW5nIHRoZSBNYW5pZmVzdCBmcm9tCgkgIHRpbWUgdG8gdGltZSwgYXMgdGhlIG5ldyBmcmFnbWVudHMgYXJlIGJlaW5nIGFkZGVkIGFzIHRoZXkgYXJlIHJlY29yZGVkLgoJICBUaGUgZGVtdXhlciBzaG91bGQgYWxzbyB0cnkgdG8ga2VlcCB1cCBhbmQgZGV0ZWN0IHdoZW4gaXQgaGFkIHRvIHNraXAKCSAgZnJhZ21lbnRzLCBtYXJraW5nIHRoZSBkaXNjb250IGZsYWcgd2hlbiB0aGF0IGhhcHBlbnMuCgkgIEN1cmlvdXNseSwgdGhlIHNwZWMgZG9lc24ndCBzZWVtIHRvIG1lbnRpb24gd2hlbi9ob3cgYSBsaXZlIHN0cmVhbSBpcyBzdXBwb3NlZAoJICB0byBlbmQsIHNvIGtlZXAgdHJ5aW5nIGRvd25sb2FkcyB1bnRpbCB0aGUgZGVtdXhlciBlcnJvcnMgb3V0LgoKMjAxMy0wMS0xNyAxNjoxOTo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogZG8gbm90IGxlYWsgZnJhZ21lbnRzCgoyMDEzLTAxLTE3IDEzOjQ4OjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBmaXggaXNzdWUgb24gZnJhZ21lbnQgdGltZXN0YW1waW5nIHBhcnNpbmcKCSAgVXNlIGd1aW50NjQgYXMgdGhlIGZyYWdtZW50cyBjYW4gc3RhcnQgYXQgdmVyeSBoaWdoIG51bWJlcnMsCgkgIHNwZWNpYWxseSBvbiBsaXZlIHN0cmVhbXMKCjIwMTMtMDEtMTYgMTU6Mjg6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGVycm9yIG91dCB3aGVuIHVwc3RyZWFtIGRvZXNuJ3QgaW1wbGVtZW50IFVSSSBxdWVyeQoJICBFcnJvciBvdXQgd2hlbiB1cHN0cmVhbSBkb2Vzbid0IGFuc3dlciB0byBVUkkgcXVlcnkgYW5kIG1zc2RlbXV4CgkgIGRvZXNuJ3Qga25vdyB0aGUgVVJJIHRvIGZldGNoIHRoZSBmcmFnbWVudHMgZnJvbQoKMjAxMy0wMS0xNSAxNzozMToyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogcHVzaCBuZXdzZWdtZW50cyB3aXRoIHNhbWUgc3RhcnQgdGltZSBvbiBiaXRyYXRlIHN3aXRjaGVzCgkgIFRoaXMga2VlcHMgc2lua3Mgd29ya2luZyBpbiBzeW5jIGFmdGVyIGEgYml0cmF0ZSBzd2l0Y2gKCjIwMTMtMDEtMTQgMTM6MjE6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogcmV3cml0aW5nIHBhZCB0YXNrcyBzbyB0aGF0IGJ1ZmZlcnMgYXJlIHB1c2hlZCBieSB0cyBvcmRlcgoJICBVc2UgcGFkIHRhc2tzIHRvIGRvd25sb2FkIGRhdGEgYW5kIGFuIGV4dHJhIHRhc2sgdGhhdCBnZXRzIHRoZSBlYXJsaWVyCgkgIGJ1ZmZlciAod2l0aCB0aGUgc21hbGxlc3QgdGltZXN0YW1wKSBhbmQgcHVzaGVzIG9uIHRoZSBjb3JyZXNwb25kaW5nCgkgIHBhZC4KCSAgVGhpcyBwcmV2ZW50cyB0aGF0IHRoZSBhdWRpbyBzdHJlYW0gcnVzaGVzIGFoZWFkIG9uIGJ1ZmZlcnMgYXMgaXRzCgkgIGZyYWdtZW50cyBzaG91bGQgYmUgc21hbGxlcgoKMjAxMy0wMS0xMSAxNTowMTozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogc29tZSBmaXhlcyB0byBiaXRyYXRlIHN3aXRjaGluZwoJICBSZW1vdmVzIGEgcG9zc2libGUgZGVhZGxvY2sgZnJvbSBiaXRyYXRlIHN3aXRjaGluZyB3aGVuIHRoZSBwYWQKCSAgdGhhdCByZXF1ZXN0ZWQgdGhlIHN3aXRjaCBibG9ja3Mgb24gaXRzIHBhZC1wdXNoCgoyMDEzLTAxLTEwIDE2OjI2OjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiByZWZhY3RvcmluZyBmcmFnbWVudCBkb3dubG9hZCB0byBpdHMgb3duIGZ1bmN0aW9uCgkgIE1ha2VzIGNvZGUgY2xlYXJlciBhbmQgaGVscHMgY2hhbmdpbmcgdGhlIGRvd25sb2FkIHBhcnQgb2YgdGhlCgkgIGNvZGUgdG8gaXRzIG93biB0aHJlYWQKCjIwMTMtMDEtMTAgMTU6MTY6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogaW1wbGVtZW50IGJpdHJhdGUgc3dpdGNoaW5nCgkgIFdoZW4gY29ubmVjdGlvbi1zcGVlZCBjaGFuZ2VzLCBzaWduYWwgdGhhdCB3ZSBtaWdodCBuZWVkIGEgYml0cmF0ZQoJICBzd2l0Y2guIER1cmluZyB0aGUgc3dpdGNoLCBhIG5ldyBwYWQgZ3JvdXAgaXMgYWRkZWQgYW5kIHRoZSBvbGQgb25lCgkgIGlzIGRyYWluZWQgYW5kIHJlbW92ZWQuCgkgIE5ldyBwYWRzIGFsc28gbmVlZCB0byBwdXNoIG5ld3NlZ21lbnRzIGJlZm9yZSBzdGFydGluZyB0byBzdHJlYW0KCjIwMTMtMDEtMDggMTg6MDE6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IGFkZCBjb25uZWN0aW9uLXNwZWVkIHByb3BlcnR5CgkgIFRoaXMgc3BlZWQgbGltaXRzIHRoZSBtYXhpbXVtIGJpdHJhdGUgb2Ygc3RyZWFtcy4gQ3VycmVudGx5IGl0CgkgIGlzIG9ubHkgcmVhZCB3aGVuIHN0YXJ0aW5nIHRoZSBwaXBlbGluZSwgYnV0IGl0IHNob3VsZCBiZSB1c2VkCgkgIGZvciBzd2l0Y2hpbmcgYml0cmF0ZXMgZHVyaW5nIHBsYXliYWNrIHRvIGFkYXB0IHRvIG5ldHdvcmsKCSAgY2hhbmdlcy4KCjIwMTMtMDEtMDggMTc6NTU6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc2RlbXV4OiBhZGQgYW4gJ2FjdGl2ZScgZmxhZyB0byBtYW5pZmVzdCBzdHJlYW0KCSAgbXNzZGVtdXggc2hvdWxkIHNldCB0aGUgc3RyZWFtcyBpdCBoYXMgZXhwb3NlZCBhcyBhY3RpdmUgc28gdGhhdAoJICB0aGUgbWFuaWZlc3Qgd29uJ3QgdXNlIHRoZSBub24tYWN0aXZlIHN0cmVhbXMgdG8gY29tcHV0ZSB0b3RhbCBiaXRyYXRlcwoJICBvciBwcm92aWRpbmcgZnJhZ21lbnRzCgoyMDEzLTAxLTA4IDE3OjU0OjU3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBzaWduYWwgbm8tbW9yZS1wYWRzIHdoZW4gZmluaXNoZWQgZXhwb3NpbmcgcGFkcwoJICBUaGlzIG1ha2VzIGRlY29kZWJpbi9wbGF5YmluIG1lY2hhbmlzbSBrbm93IGl0IGNhbiBzdGFydCBwbGF5aW5nCgkgIHdoZW4gYnVmZmVyaW5nIGlzIGZpbmlzaGVkCgoyMDEzLTAxLTA4IDExOjA4OjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc21hbmlmZXN0OiBLZWVwIHRoZSBzdHJlYW0gcXVhbGl0aWVzIGxpc3Qgc29ydGVkIGJ5IGJpdHJhdGUKCSAgVGhpcyB3aWxsIGhlbHAgbWFraW5nIGFkYXB0aXZlIHN0cmVhbWluZyBjaG9zZSB0aGUgYmVzdCByYXRlCgkgIGZvciBhIHBhcnRpY3VsYXIgY29ubmVjdGlvbiBzcGVlZAoKMjAxMy0wMS0wOCAxMDoxNjoyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogYWxzbyBjb25zaWRlciBmb3VyY2MgQVZDMSBhcyBIMjY0CgkgIEgyNjQgY2FuIGJlIHJlcHJlc2VudGVkIGJ5IGJvdGggZm91cmNjcyBIMjY0IGFuZCBBVkMxLCB1c2UgYm90aC4KCjIwMTMtMDEtMDQgMTc6MDE6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzbWFuaWZlc3Q6IGFkZCBzdXBwb3J0IGZvciBWQy0xIGFuZCBXbWFQcm8gZm9ybWF0cyBwYXJzaW5nCgkgIFZDLTEgc2hvdWxkIG1hcCB0byBXTVYzIGFuZCBXbWFQcm8gdG8gV01BMgoKMjAxMy0wMS0wNCAxNzowMDozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogZG8gbm90IHRyeSB0byBleHBvc2UgdW5rbm93biBzdHJlYW1zCgkgIFdoZW4gdGhlIHN0cmVhbSBjYW4ndCBoYXZlIGl0cyBjYXBzIGRldGVjdGVkLCBiZXR0ZXIgbm90IHRvIGV4cG9zZSBpdC4KCSAgSWYgbm8gc3RyZWFtcyBhcmUga25vd24sIHNpZ25hbCBhbiBlcnJvciBhYm91dCBubyBwbGF5YWJsZSBzdHJlYW1zIHRvCgkgIHRoZSBhcHBsaWNhdGlvbgoKMjAxMy0wMS0wNCAxNTo0OTo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NtYW5pZmVzdDogZG8gbm90IHNldCBjb2RlY19kYXRhIHdoZW4gaXQgaXMgZW1wdHkKCSAgU29tZSBtYW5pZmVzdHMgY29udGFpbiBlbXB0eSBjb2RlYyBkYXRhcywgYmV0dGVyIG5vdCBzZXQgdGhlbQoKMjAxMy0wMS0wNCAxNTo0OTowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IHNldCB0aW1lc3RhbXAgYW5kIGR1cmF0aW9uIHRvIGZyYWdtZW50IGJ1ZmZlcnMKCSAgV2UgY2FuIGdldCB0aG9zZSBmcm9tIHRoZSBtYW5pZmVzdCBhbmQgaGVscHMgZG93bnN0cmVhbSB0byBrbm93CgkgIHRoZSBmcmFnbWVudCBzdGFydCB0aW1lIGFmdGVyIGEgc2Vla2luZyBvcGVyYXRpb24KCjIwMTItMTItMjggMDA6NDk6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzbWFuaWZlc3Q6IGZpeCB0eXBvCgkgIEZpeCB0eXBvIHRoYXQgd2FzIG1ha2luZyB0aGUgYWR2YW5jZSBmcmFnbWVudCBmdW5jdGlvbiByZXR1cm4gYSB3cm9uZwoJICBmbG93IHJldHVybiBpbiBjYXNlIGl0IHdhcyBhbHJlYWR5IEVPUwoKMjAxMi0xMi0yOCAwMDo0ODozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NkZW11eDogaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBvZiBzZWVrIGV2ZW50IGhhbmRsaW5nCgkgIEFkZHMgYmFzaWMgaGFuZGxpbmcgZm9yIHNlZWsgaW4gdGltZSBldmVudHMuIE5lZWRzIHRvIGNvb3BlcmF0ZQoJICB3aXRoIHRoZSBkb3duc3RyZWFtIHF0ZGVtdXggc28gdGhhdCBpdCBmb3J3YXJkcyB0aGUgc2Vla3MgYW5kCgkgIHRoZSBjb3JyZXNwb25kaW5nIG5ld3NlZ21lbnRzCgoyMDEyLTEyLTI2IDE2OjE5OjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NkZW11eDogaGFuZGxlIHNyYyBwYWQgcXVlcmllcyBmaXIgZHVyYXRpb24gYW5kIGxhdGVuY3kKCSAgQWRkIGEgc3JjIHBhZCBxdWVyeSBoYW5kbGVyIHRvIGdldCB0aGUgZHVyYXRpb24gZnJvbSB0aGUgbWFuaWZlc3QKCSAgYW5kIHJlcG9ydCBpdCB1cHN0cmVhbS4KCSAgQWxzbyBhZGRzIGEgc2ltcGxlIGhhbmRsZXIgZm9yIGxhdGVuY3kgcXVlcmllcwoKMjAxMi0xMi0yMSAxNjo0MjoxMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogYWRkIHNvbWUgbW9yZSBlcnJvciBoYW5kbGluZwoJICBQb3N0IGVycm9yIGluIHNvbWUgbW9yZSBzY2VuYXJpb3M6CgkgICogd2hlbiB0aGUgbWFuaWZlc3QgaGFzIG5vIHN0cmVhbXMKCSAgKiB3aGVuIGdldHRpbmcgdGhlIGZyYWdtZW50IHVybCBmYWlscwoKMjAxMi0xMi0yMSAxNTozNzo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogZW5zdXJlIHRoZSBkZWJ1ZyBjYXRlZ29yeSBpcyBwcm9wZXJseSBpbml0aWFsaXplZAoJICBUaGUgdXNlciBvZiB0aGUgbGlicmFyeSBtaWdodCBub3QgbmVlZCB0byBjcmVhdGUgYSBOYWxQYXJzZXIsIHNvCgkgIHRoZSBkZWJ1ZyBjYXRlZ29yeSBuZWVkcyB0byBiZSBpbml0aWFsaXplZCBmcm9tIG90aGVyIGZ1bmN0aW9ucwoJICBhcyB3ZWxsIGlmIHJlcXVpcmVkLgoKMjAxMi0xMi0yMCAxNTozMDowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IGFkZCB0aW1lc2NhbGUgdG8gdGhlIGNhcHMKCSAgVGhpcyBpcyBpbXBvcnRhbnQgZm9yIGRvd25zdHJlYW0gdG8gcHJvcGVybHkgdGltZXN0YW1wIHRoZSBzYW1wbGVzCgkgIFRoZSBkZWZhdWx0IHZhbHVlIGlzIDEwMDAwMDAwLCBidXQgdGhpcyBjYW4gYmUgc2V0IGluIHRoZSBzdHJlYW0KCSAgb3IgYXQgdGhlIHRvcC1sZXZlbCBtYW5pZmVzdCBlbnRyeQoKMjAxMi0xMi0yMCAxNDoyNzo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9NYWtlZmlsZS5hbToKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogcGFyc2UgdGhlIGZwcyBmcm9tIGgyNjQgY29kZWMgZGF0YSBpZiBwb3NzaWJsZQoJICBVc2UgaDI2NCBjb2RlYyBwYXJzaW5nIGxpYiB0byBleHRyYWN0IHRoZSBmcHMgZnJvbSB0aGUgbWFuaWZlc3QncwoJICBjb2RlYyBkYXRhIGFzIGl0IGRvZXNuJ3Qgc2VlbSB0byBwcm92aWRlIGl0IGFueXdoZXJlIGVsc2UKCjIwMTItMTItMjAgMDE6MDk6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGNvcnJlY3RseSBhZGQgaDI2NCBjb2RlYyBkYXRhIHRvIGNhcHMKCSAgTmVlZCB0byBjb25zdHJ1Y3QgYW4gYXZjYyBhdG9tIGZyb20gdGhlIGNvZGVjZGF0YSByZWFkIGZyb20gTVNTCgkgIG1hbmlmZXN0cyB0byBtYWtlIGgyNjQgZGVjb2RlcnMvcGFyc2VycyBhY2NlcHQgaXQKCjIwMTItMTItMjAgMDE6MDc6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGFkZCB0aGUgY29ycmVjdCBjYXBzIHRvIHRoZSBvdXRnb2luZyBzdHJlYW0KCSAgbXNzZGVtdXggb3V0cHV0cyBhIHF1aWNrdGltZSB2YXJpYW50LCBuYW1lZCBtc3MtZnJhZ21lbnQKCjIwMTItMTEtMjUgMDE6NTc6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IHNldCBjYXBzIHRvIGJ1ZmZlcnMgYmVmb3JlIHB1c2hpbmcKCSAgQWxzbyB1cGRhdGUgdG8gdGhlIGxhdGVzdCBnc3RmcmFnbWVudCBBUEkgdGhhdCBwcm92aWRlcwoJICB0aGUgZnJhZ21lbnQgYXMgYSB3aG9sZSBidWZmZXIuCgoyMDEyLTExLTIyIDEzOjAxOjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBpbXByb3ZlIHN0YXRlIGNoYW5naW5nCgkgIEtlZXAgYSByZWYgb24gcGFkIHRvIHByZXZlbnQgaXQgYmVpbmcgdW5yZWZmZWQgd2hpbGUgdGhlIG1zc2RlbXV4CgkgIHN0cmVhbXMgYXJlIHN0aWxsIHVzaW5nIGl0LiBBbHNvIHJlc2V0IHRoZSBlbGVtZW50IHdoZW4gZ29pbmcgdG8KCSAgcmVhZHkgaW5zdGVhZCBvZiB3aGVuIGdvaW5nIHRvIG51bGwuCgoyMDEyLTExLTIyIDEyOjI4OjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBhZGRzIG1pbmludW0gZXJyb3IgaGFuZGxpbmcKCSAgVGhpcyBzaG91bGQgY2FyZSBmb3IgYmFzaWMgc2NlbmFyaW9zIG9mIGVycm9ycyBhbmQgRU9TIHRvIGFsbG93CgkgIHRoZSBwaXBlbGluZSB0byBzdG9wIGNvcnJlY3RseQoKMjAxMi0xMS0yMiAxMjoyODoyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogbXNzbWFuaWZlc3Q6IHByZXZlbnQgYWNjZXNzaW5nIG51bGwgc3RyZWFtIGZyYWdtZW50CgkgIE1vdmUgdGhlIGFjY2VzcyB0byB0aGUgc3RyZWFtIGZyYWdtZW50IGRhdGEgYWZ0ZXIgdGhlIGNoZWNrCgkgIGlmIHRoZSBmcmFnbWVudCBleGlzdHMgdG8gcHJldmVudCBhIHNlZ2ZhdWx0CgoyMDEyLTExLTE5IDE3OjUzOjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIHNtb290aHN0cmVhbWluZzogcmVmYWN0b3Igc3RydWN0dXJlIG5hbWVzIGFuZCBpbXBsZW1lbnQgdXJsIGZldGNoaW5nCgkgIFVzZSBzaG9ydGVyIG5hbWVzIGZvciB0aGUgTVNTIG1hbmlmZXN0IGhlbHBlciBzdHJ1Y3R1cmUgYW5kIGZ1bmN0aW9ucy4KCSAgQWxzbyBjb250aW51ZXMgdGhlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBzdHJlYW0gZmV0Y2hpbmcgYW5kIHB1c2hpbmcgbG9vcC4KCSAgTm93IGl0IHVzZXMgdGhlIGJhc2UgdXJsIGNvcnJlY3RseSBhbmQgYWxyZWFkeSBmZXRjaGVzIGFuZCBwdXNoZXMgdGhlIGZyYWdtZW50cwoJICBkb3duc3RyZWFtCgoyMDEyLTExLTE2IDE3OjMwOjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IGluaXRpYWwgaW1wbGVtZW50YXRpb24gb2YgdGhlIHBhZCBsb29wCgkgIFRoZSBsb29wIHdpbGwgZmV0Y2ggYSBuZXcgZnJhZ21lbnQgYW5kIHB1c2ggb24gaXRzIHNyY3BhZC4gRWFjaAoJICBzdHJlYW0gaGFzIGl0cyBvd24gbG9vcAoKMjAxMi0xMS0xNiAxNzoyOTozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc2RlbXV4OiBtb3JlIG1hbmlmZXN0IHBhcnNpbmcgYW5kIGhlbHBlciBmdW5jdGlvbnMKCSAgTm93IHRoZSBtc3MgbWFuaWZlc3QgaXMgYWJsZSB0byBnZW5lcmF0ZSB0aGUgZmlsZXMgdXJscwoKMjAxMi0xMS0xNCAxNzoxOTozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NkZW11eDogcGFkIGV4cG9zaW5nIGluaXRpYWwgaW1wbGVtZW50YXRpb24KCSAgRG9lcyBzb21lIGJhc2ljIHBhcnNpbmcgb2YgdGhlIHN0cmVhbSBjYXBzIGFuZCBhZGRzIGEgcGFkIGZvcgoJICBlYWNoIHN0cmVhbSBkZXRlY3RlZCBpbiB0aGUgbWFuaWZlc3QKCjIwMTItMTEtMDkgMTY6NDc6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc2RlbXV4OiBhZGQgbWFuaWZlc3QgcGFyc2luZwoJICBDb250aW51ZWQgaW1wbGVtZW50aW5nOgoJICAxKSBwYXJzZSB0aGUgbWFuaWZlc3Qgd2l0aCBsaWJ4bWwyCgkgIDIpIGRldGVjdCBzdHJlYW0gdHlwZXMKCjIwMTItMTEtMDggMTY6MDY6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3RzbW9vdGhzdHJlYW1pbmctcGx1Z2luLmM6CgkgIHNtb290aHN0cmVhbWluZzogc3R1YnMgZm9yIG1zc2RlbXV4CgkgIEp1c3QgdGhlIHN0dWJzIGZvciBtc3NkZW11eCBlbGVtZW50LgoJICBBbHNvIGFkZCBzb21lIHVzZWZ1bCBjb2RlIGZyb20gaGxzZGVtdXggdGhhdCB3ZSBpbnRlbmQgdG8gcmV1c2UKCjIwMTItMTEtMDggMTU6NDI6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL01ha2VmaWxlLmFtOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdHNtb290aHN0cmVhbWluZy1wbHVnaW4uYzoKCSAgc21vb3Roc3RyZWFtaW5nOiBidWlsZCBkaXJlY3Rvcnkgc3R1YnMgZm9yIG5ldyBwbHVnaW4KCSAgSW5pdGlhbCBidWlsZCBzdHJ1Y3R1cmUgZm9yIE1TJyBTbW9vdGggU3RyZWFtaW5nIHBsdWdpbgoJICBDb25mbGljdHM6CgkgIGV4dC9NYWtlZmlsZS5hbQoKMjAxMy0wMi0xOSAxMzowMTozNyAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IHVubG9jayBtdXRleCB3aGVuIHN3aXRjaGluZyB1cmlzcmMgc3RhdGUgdG8gTlVMTCB0byBhdm9pZCBkZWFkbG9jawoJICBXaGVuIGNoYWluIG1ldGhvZCB3YXMgY2FsbGVkIGFmdGVyIGdzdF91cmlfZG93bmxvYWRlcl9zdG9wIGFuZCBiZWZvcmUgc3RhdGUgaGFzIGJlZW4gY2hhbmdlZCB0byBOVUxMLCBleGVjdXRpb24gd2FzIGJsb2NraW5nIG9uIGdfbXV0ZXhfbG9jay4KCSAgQ29uZmxpY3RzOgoJICBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmMKCjIwMTMtMDItMDcgMDA6Mjg6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogcHJvcGVybHkgdW5yZWYgdGhlIHVyaXNyYyBiZXR3ZWVuIGRvd25sb2FkcwoJICBUaGlzIHByZXZlbnRzIGxlYWtpbmcgdGhlIGVsZW1lbnQuIEFsc28gc2V0cyB0aGUgYnVzIHRvIGZsdXNoaW5nCgkgIHRvIGNvbXBsZXRlbHkgcmVzZXQgdGhlIGRvd25sb2FkZXIgc3RhdGUKCjIwMTMtMDQtMTYgMTc6MjM6MDIgLTAzMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuaDoKCSAgdXJpZG93bmxvYWRlcjogbWFrZSBjYW5jZWxsZWQgc3RhdGUgJ3Blcm1hbmVudCcgdW50aWwgYSByZXNldAoJICBXaGVuIGRvd25sb2FkaW5nIGFuZCBjYW5jZWxsaW5nIHF1aWNrbHkgdGhlIHVyaWRvd25sb2FkZXIgb2JqZWN0IGFuZCB0aGUKCSAgZWxlbWVudCB1c2luZyBpdCBjb3VsZCBtaXNzIHRoZSBjYW5jZWxsZWQgd2luZG93IGFuZCB0aGUgdXJpZG93bmxvYWRlcgoJICB3b3VsZCBmZXRjaCB0aGUgd3JvbmcgVVJJIGFuZCBibG9jayBvbiBzdWJzZXF1ZW50IGZldGNoZXMuCgkgIFRoaXMgd2FzIGFsc28gcHJvYmxlbWF0aWMgd2hlbiBzdG9wcGluZyBlbGVtZW50cywgd2hpbGUgb25lIHRhc2sgd291bGQKCSAgY2FsbCB0aGUgY2FuY2VsLCBhbm90aGVyIGVsZW1lbnQgdGhyZWFkIGNvdWxkIGlzc3VlIGEgbmV3IGZldGNoX3VyaS4gQXMKCSAgdGhlIGNhbmNlbCBzdGF0ZSBpc24ndCAncGVybWFuZW50JyB0aGlzIGZldGNoX3VyaSB3b3VsZCBibG9jayBhbmQKCSAgcHJldmVudCB0aGUgd2hvbGUgZWxlbWVudCBmcm9tIHN0b3BwaW5nIGFuZCBnb2luZyB0byBOVUxMLgoJICBUaGlzIHBhdGNoIG1ha2VzIHRoZSAnY2FuY2VsbGVkJyBzdGF0ZSBwZXJtYW5lbnQgdW50aWwgYQoJICBnc3RfdXJpX2Rvd25sb2FkZXJfcmVzZXQgaXMgY2FsbGVkLiBUaGlzIHdheSB0aGUgZWxlbWVudCBrbm93cyB0aGUKCSAgd2luZG93IHdoZXJlIHRoZSB1cmlkb3dubG9hZGVyIGlzbid0IGFjdGl2ZSBhbmQgb25seSByZWFjdGl2YXRlIGl0IHdoZW4KCSAgcmVhZHkuCgoyMDEzLTA0LTE2IDE5OjQ3OjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdGZyYWdtZW50LmM6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdGZyYWdtZW50Lmg6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyX2RlYnVnLmg6CgkgIHVyaWRvd25sb2FkZXI6IHJlZmFjdG9yIGdzdHVyaWRvd25sb2FkZXIgdG8gaXRzIG93biBsaWIKCSAgZ3N0dXJpZG93bmxvYWRlciBjYW4gYmUgcmV1c2VkIGJ5IG90aGVyIHBsdWdpbnMsIGJldHRlciBoYXZlIGl0CgkgIGludG8gaXRzIG93biBsaWIKCjIwMTMtMDUtMDcgMDg6MjY6MDMgLTA2MDAgIEdyZWcgUnV0eiA8Z3JlZ0Bnc3ItdGVrLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogRml4IG1lbW9yeSBsZWFrIHdoZW4gdXNpbmcgcHJlcGFyZV9mdW5jCgkgIHByZXBhcmVfZnVuYyB3aWxsIGFsbG9jYXRlIGEgbmV3IGJ1ZmZlciB0byByZXBsYWNlIHRoZSBvcmlnaW5hbAoJICBvbmUuIEluc3RlYWQgb2YgdXNpbmcgZ3N0X2J1ZmZlcl9yZXBsYWNlICh3aGljaCBjYXVzZXMgYW4gZXh0cmEKCSAgcmVmY291bnQgaW5jcmVtZW50IG9uIHRoZSBuZXcgYnVmZmVyKSwgd2UganVzdCB1bnJlZiB0aGUgb3JpZ2luYWwKCSAgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5Nzg2CgoyMDEzLTA1LTA3IDE0OjIyOjEwICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb21ldGEuaDoKCSAgbXBlZ3ZpZGVvbWV0YTogRml4IHR5cG8gaW4gY29tbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5ODI3CgoyMDEzLTA1LTAzIDIxOjQ2OjA4ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFmaWx0ZXIuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFzaW5rLmM6CgkgIGxhZHNwYTogc3luYyBjb250cm9sbGVkIHBhcmFtZXMgaW4gZmlsdGVycyBhbmQgc2lua3MKCjIwMTMtMDUtMDMgMTY6NTU6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgbGFkc3BhOiBBZGQgJChHTU9EVUxFX05PX0VYUE9SVF9MSUJTKSBmb3IgZ21vZHVsZQoKMjAxMy0wNS0wMSAxNzoxOTowNyArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGRvbid0IGNvbXBhcmUgYnVmZmVyIHNpemUgd2hlbiBjaGVja2luZyB3aGV0aGVyIHRvIHVwZGF0ZSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTkzOTgKCjIwMTMtMDUtMDMgMTE6MzQ6MzQgKzAyMDAgIEp1YW4gTWFudWVsIEJvcmdlcyBDYcOxbyA8anVhbm1hYmNtYWlsQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuaDoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFmaWx0ZXIuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFmaWx0ZXIuaDoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFzaW5rLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3Bhc2luay5oOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXNvdXJjZS5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXNvdXJjZS5oOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXV0aWxzLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhdXRpbHMuaDoKCSAgbGFkc3BhOiBpbXByb3ZlZCBwb3J0IHRvIGdzdHJlYW1lciAxLjAKCSAgRml4ZXM6ICM2OTg5MjcKCjIwMTMtMDUtMDEgMTc6MzY6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogZG9uJ3QgYW5ub3VuY2UgaW5jb21wbGV0ZSBzb3VyY2UgY2FwcwoJICBEb24ndCBzZW5kIGFueSBzb3VyY2UgY2FwcyB5ZXQgaWYgd2UncmUgc3RpbGwgaW4KCSAgZHJvcC1idWZmZXJzLXVudGlsLXdlLWdldC1hLXNlcXVlbmNlLWhlYWRlciBtb2RlLgoJICBGaXhlcyB0cmFuc211eGluZyBvZiBtYW55IE1QRUctVFMvUFMgc3RyZWFtcyBpbnRvCgkgIGZvcm1hdHMgd2hpY2ggcmVxdWlyZSB0aGluZ3MgbGlrZSB3aWR0aCwgaGVpZ2h0IG9yCgkgIGNvZGVjX2RhdGEgb24gdGhlIGlucHV0IGNhcHMuCgkgIEFsc28gZml4ZXMgaXNzdWVzIHdoZW4gdXNpbmcgcGxheWJpbiB3aXRoIGRlY29kZXIKCSAgc2lua3MgdGhhdCB3YW50IHdpZHRoL2hlaWdodCBldGMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU4NzkKCjIwMTMtMDQtMjcgMTI6Mjg6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkgIGthdGU6IGZpeCBidWZmZXIgbGVhayBpbiBrYXRldGFnCgkgIE1ha2VzIHVuaXQgdGVzdCB2YWxncmluZCBjbGVhbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzA3MQoKMjAxMy0wNC0yNyAxMjowNjo1MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSAgdGVzdHM6IGZpeCBzb21lIGxlYWtzIGluIGthdGUgdW5pdCB0ZXN0CgoyMDEzLTA0LTI3IDEyOjA2OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSAga2F0ZTogbWlub3IgY2xlYW51cAoKMjAxMy0wNC0yNiAxNTozMzoxOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGxpdmVhZGRlcjogRG9jdW1lbnQgdGhhdCB0aGUgbGF0ZW5jeSBpcyBpbiBtaWxsaXNlY29uZHMKCSAgQnVnICM2OTg4OTYKCjIwMTMtMDQtMjYgMTU6Mzk6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogY29udmVydCBwYWNrZXQgUFRTL0RUUyBhcyBzb29uIGFzIHBvc3NpYmxlCgkgIFdlIGxldCB0aGUgbXBlZ3RzcGFja2V0aXplciBkZWFsIHdpdGggcGNyIHdyYXBhcm91bmQvcmVzZXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0NTM2CgoyMDEzLTA0LTI2IDEyOjE4OjIwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJICBtcGVndHNkZW11eDogaGVhZGVyIGNsZWFudXBzL3VwZGF0ZXMKCjIwMTMtMDQtMjYgMTQ6MzI6MTQgKzAyMDAgIFJpY28gVHpzY2hpY2hob2x6IDxyaWNvdHpAdC1vbmxpbmUuZGU+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IERyb3Agb2Jzb2xldGUgcmVmZXJlbmNlcyB0byB2aWRlb3NpZ25hbCBoZWFkZXJzCgkgIEluIGFkZGl0aW9uIHRvIDg1NTIzOTZjMzYyYzIwYWRiNmFhOTEyOWE0NTNmZjgxZWNkY2Y2NTYKCjIwMTMtMDQtMjYgMTA6Mzg6MzYgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogVXBkYXRlIHNyYyBwYWQgY2FwcyB3aGVuIGl0IHdhcyBleHBsaWNpdGx5IHNpZ25hbGVkCgkgIEZpeGVzIHNyYyBwYWQgY2FwcyBhcmVuJ3QgdXBkYXRlZCB3aGVuIGNvbnZlcnRpbmcgZnJvbSBBVkMgdG8gYnl0ZXN0cmVhbQoJICBhbmQgbmV3IGNhcHMgaGFkIGJlZW4gcmVjZWl2ZWQgaW4gdGhlIHNpbmsgcGFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4Njc5CgoyMDEzLTA0LTIzIDE1OjE5OjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBGaXggY2FwcyBzdHJpbmcgbGVhawoKMjAxMy0wNC0yNCAwOTo0MDoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOgoJICBlZ2xnbGVzc2luazogVXNlIGdzdF9lZ2xfZGlzcGxheV9nZXQoKSBpbnN0ZWFkIG9mIHBhc3NpbmcgYSBHc3RFR0xEaXNwbGF5IHRvIEVHTCBmdW5jdGlvbnMKCjIwMTMtMDMtMjggMTY6NTI6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3dhc2FwaS9NYWtlZmlsZS5hbToKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGkuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmg6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpdXRpbC5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuaDoKCSAgd2FzYXBpc3JjOiBQb3J0IHRvIEdzdEF1ZGlvU3JjCgoyMDEzLTAzLTI3IDEwOjEwOjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy93YXNhcGkvTWFrZWZpbGUuYW06CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuaDoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpdXRpbC5oOgoJICB3YXNhcGk6IFBvcnQgd2FzYXBpc2luayB0byBHc3RBdWRpb1NpbmsKCjIwMTMtMDQtMjMgMDE6MTc6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9rYXRlLmM6CgkgIHRlc3RzOiBmaXggcmVtYWluaW5nIGthdGUgdGVzdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzA3MQoKMjAxMy0wNC0xNSAxNzowNjo1NyAtMDYwMCAgQnJlbmRhbiBMb25nIDxiLmxvbmdAY2FibGVsYWJzLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSAgdGVzdHM6IHBvcnQgS2F0ZSB0ZXN0cyB0byAxLjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzA3MQoKMjAxMy0wNC0yMiAyMzo1MjoyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIE1BSU5UQUlORVJTOgoJKiBSRUFETUU6CgkqIFJFQURNRS5zdGF0aWMtbGlua2luZzoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzY2IzZDNjIHRvIDVlZGNkODUKCjIwMTMtMDQtMjEgMTg6Mjg6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmIuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5oOgoJICBkdmJiYXNlYmluOiBiZXR0ZXIgZXJyb3IgcmVwb3J0aW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzg4OTIKCjIwMTMtMDQtMjEgMTQ6MTM6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2YmJhc2ViaW46IGxvZyBjaGFubmVsIHBhcnNpbmcgaW50byBkdmJiYXNlYmluIGRlYnVnIGNhdGVnb3J5IGFzIHdlbGwKCjIwMTMtMDQtMjEgMTQ6MDQ6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiYmFzZWJpbjogZml4IHBhdGggd2hlcmUgdG8gbG9vayBmb3IgdGhlIGR2Yi1jaGFubmVscy5jb25mCgkgIENvbnN0cnVjdCBwYXRoIGJhc2VkIG9uIHRoZSBBUEkgdmVyc2lvbiwgbm90ICRtYWpvci4kbWlub3IgdmVyc2lvbi4KCjIwMTMtMDQtMTggMjA6MjY6MTUgKzAwMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWFnbC5tOgoJICBlZ2xnbGVzc2luazogZWFnbDogZml4IGVhZ2wgcmV1c2UgYnkgbm90IHJlbGVhc2luZyB0aGUgY29udGV4dAoJICBJdCBzZWVtcyBFQUdMIGV4cGVjdHMgdGhlIGFwcGxpY2F0aW9uIHRvIHNpbXBseSBpZ25vcmUgdW51c2VkCgkgIEVBR0wgY29udGV4dHMgYXMgdGhlIHJlc291cmNlcyBmb3IgaXQgd291bGQgYmUgcmVsZWFzZWQgd2hlbiBhIG5ldwoJICBjb250ZXh0IGlzIHNldCBhcyB0aGUgY3VycmVudCBvbmUuIEFsc28gbW92ZSB0aGUgZWdsIGV4dGVuc2lvbnMKCSAgcXVlcnlpbmcgdG8gYWZ0ZXIgYSBjb250ZXh0IGlzIHNldCB0byBwcmV2ZW50IGNyYXNoZXMuCgkgIFRoaXMgbWFrZXMgdGhlIEVBR0wgdmVyc2lvbiBvZiBlZ2xnbGVzc2luayByZXVzYWJsZS4KCjIwMTMtMDQtMTggMTc6MTg6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9haWZmL01ha2VmaWxlLmFtOgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkqIGdzdC9haWZmL2FpZmZtdXguaDoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5oOgoJICBhaWZmOiBwb3J0IHRvIDEuMAoKMjAxMy0wNC0xOCAxNjoxMToyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJICBlZ2w6IFVzZSBnc3RfY29udGV4dF93cml0YWJsZV9zdHJ1Y3R1cmUoKQoKMjAxMy0wNC0xOCAxNToyNjozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogR2l2ZSBvbmx5IFNFQ09OREFSWSByYW5rCgkgIElmIGF2YWlsYWJsZSB3ZSBzdGlsbCBwcmVmZXIgeHZpbWFnZXNpbmsuCgoyMDEzLTA0LTE4IDEyOjU0OjMxICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOgoJICBlZ2xnbGVzc2luazogZml4ZXMgJ21ha2VzIGludGVnZXIgZnJvbSBwb2ludGVyIHdpdGhvdXQgYSBjYXN0JyB3YXJuaW5nCgoyMDEzLTA0LTE4IDEyOjI0OjE4ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmg6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSAgZWdsZ2xlc3Npbms6IHNpbGVuY2Ugd2FybmluZ3MgYnVpbGRpbmcgZm9yIFJQSSByZWxhdGVkIHRvICd2Y29zXyonCgoyMDEzLTA0LTE4IDEyOjI3OjI4ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogZml4IHdhcm5pbmdzIGJ1aWxkaW5nIG9uIHRoZSBSUEkKCjIwMTMtMDQtMTggMTI6MTY6MTcgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkgIGVnbDogc2lsZW5jZSB3YXJuaW5ncyBidWlsZGluZyBmb3IgUlBJIHJlbGF0ZWQgdG8gJ3Zjb3NfKicKCjIwMTMtMDQtMTcgMTQ6NDU6MTkgLTA2MDAgIEdyZWcgUnV0eiA8Z3JlZ0Bnc3ItdGVrLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBZGQgc3VwcG9ydCBmb3IgTW90b3JvbGEgRGlnaUNpcGhlciBJSSBNUEVHMiB2aWRlbwoJICBTaW5jZSB0aGVyZSBpcyBhIGNvbmZsaWN0IGJldHdlZW4gdGhlIERDSUkgc3RyZWFtIHR5cGUgYW5kIEJsdVJheQoJICBzdHJlYW0gdHlwZXMsIG1vdmVkIHRoZSBwcm9jZXNzaW5nIG9mIEJsdVJheS1zcGVjaWZpYyBzdHJlYW0gdHlwZXMKCSAgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgZnVuY3Rpb24uICBPbmx5IGlmIGEgQmx1UmF5IHN0cmVhbSB0eXBlCgkgIElTIE5PVCBmb3VuZCBkbyB3ZSBwcm9jZWVkIHRvIGNoZWNrIHRoZSByZXN0IG9mIHRoZSBzdHJlYW0gdHlwZQoJICBpZGVudGlmaWVycwoJICBQcmV2aW91cyBjb2RlIHdhcyBhbHNvICJzb3J0LW9mIiBoYW5kbGluZyBhIHNpbWlsYXIgY29uZmxpY3QgYmV0d2VlbgoJICBCbHVSYXkgQUMzIGF1ZGlvIGFuZCBzdGFuZGFyZCBBQzMgYXVkaW8uICBNb3ZlZCB0aGUgc3BlY2lhbCBjYXNlIEJsdVJheQoJICBBQzMgaGFuZGxpbmcgaW4gdGhlIG1haW4gc3dpdGNoIHN0YXRlbWVudCB0byB0aGUgbmV3IEJsdVJheS1zcGVjaWZpYwoJICBzd2l0Y2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTc4OTIKCjIwMTMtMDQtMTggMDk6MDc6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFRoZSBxdWlja3RpbWUgd3JhcHBlciBwbHVnaW4gaXMgbm90IHBvcnRlZCB5ZXQgZWl0aGVyCgoyMDEzLTA0LTE4IDA4OjU2OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBUaGUgb3N4dmlkZW9zcmMgcGx1Z2luIGlzIGNhbGxlZCBvc3hfdmlkZW8KCjIwMTMtMDQtMTggMDc6NTQ6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBvc3h2aWRlb3NyYzogSXQncyBub3QgcG9ydGVkIHRvIDEuMCB5ZXQKCjIwMTMtMDQtMTcgMTM6NDg6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBHc3RDb250ZXh0IHJlZmNvdW50aW5nIHNvbWUgbW9yZQoKMjAxMy0wNC0xNyAxMzoxNjoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOgoJICBlZ2xnbGVzc2luazogRml4IEdzdENvbnRleHQgcmVmY291bnRpbmcKCjIwMTMtMDQtMTcgMTA6NDg6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmg6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWdsLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBVcGRhdGUgZm9yIEdMVGV4dHVyZVVwbG9hZE1ldGEgYW5kIEVHTCBBUEkgY2hhbmdlcwoKMjAxMy0wNC0xNyAxMDo0MDo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZWdsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5oOgoJICBlZ2w6IFVzZSBuZXcgdHlwZXMgZnJvbSBsaWJnc3R2aWRlbyBpbnN0ZWFkIG9mIGRlZmluaW5nIG91ciBvd24KCjIwMTMtMDMtMjUgMTg6MzA6MTggLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IERvIG5vdCBjaGVjayBmb3IgVlVJIHBhcmFtZXRlcnMgaWYgdGhleSB3ZXJlIG5vdCBwcmVzZW50IGluIHRoZSBTUFMKCjIwMTMtMDQtMTYgMjI6NTE6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5jOgoJICBlZ2xnbGVzc2luazogUmVvcmRlciBzdXJmYWNlIHF1ZXJpZXMKCSAgT3RoZXJ3aXNlIHdyb25nIHZhbHVlcyBjYW4gYmUgcmV0dXJuZWQuCgoyMDEzLTA0LTE2IDIyOjI1OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5oOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VhZ2wubToKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFByb3Blcmx5IHNldCBhIGRlYnVnIGNhdGVnb3J5IGZvciB0aGUgYWRhcHRpb24gbGF5ZXJzCgoyMDEzLTA0LTE2IDIyOjI1OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBHZXQgdGhlIEVHTC9HTEVTIGV4dGVuc2lvbnMgYXQgdGhlIHJpZ2h0IHBvc2l0aW9uCgoyMDEzLTA0LTE2IDIyOjE0OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWdsLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggY29tcGlsZXIgd2FybmluZwoJICBnc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOiBJbiBmdW5jdGlvbiAnZ3N0X2VnbF9hZGFwdGF0aW9uX2NyZWF0ZV9uYXRpdmVfd2luZG93JzoKCSAgZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzo4Njg6MzogZXJyb3I6IGZvcm1hdCAnJXAnIGV4cGVjdHMgYXJndW1lbnQgb2YgdHlwZSAndm9pZCAqJywgYnV0IGFyZ3VtZW50IDggaGFzIHR5cGUgJ0VHTE5hdGl2ZVdpbmRvd1R5cGUnIFstV2Vycm9yPWZvcm1hdD1dCgkgIEdTVF9ERUJVR19PQkpFQ1QgKGN0eC0+ZWxlbWVudCwgIlVzaW5nIHdpbmRvdyBoYW5kbGUgJXAiLCB3aW5kb3cpOwoJICBeCgoyMDEzLTA0LTEwIDE3OjI3OjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9NYWtlZmlsZS5hbToKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmg6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWFnbC5tOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogcmVmYWN0b3IgdG8gYWxsb3cgZWFnbCBzdXBwb3J0CgkgIFB1dCBFR0wgc3BlY2lmaWMgY29kZSB0byBhIHNlcGFyYXRlIGZpbGUgYW5kIGNyZWF0ZSB0aGUgc2FtZSBmdW5jdGlvbnMKCSAgZm9yIEVBR0wsIHRoZSBBcHBsZSdzIHNwZWNpZmljIEVHTCBpbXBsZW1lbnRhdG9uLgoJICBBdCB0aGlzIHBvaW50LCB0aGUgRUFHTCB2ZXJzaW9uIHdhc24ndCBjb21waWxlZCBvciB0ZXN0ZWQgYXMgdGhlcmUgaXNuJ3QKCSAgYW55IHNpbXBsZSBkb2N1bWVudGVkIHdheSB0byBidWlsZCAxLjAgZm9yIGlPUy4gVGhpcyBjb2RlIGZvciB0aGUgRUFHTAoJICB2ZXJzaW9uIGlzIHN0aWxsIHRoZSAwLjEwIHZlcnNpb24sIHNvbWUgdXBkYXRlcyBzaG91bGQgYmUgbWFkZSB3aGVuIDEuMAoJICBpcyBidWlsZGFibGUgZm9yIGlPUy4KCjIwMTMtMDQtMTUgMTc6NDM6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZWFnbDogYWRkIGlvcyB3aW5kb3cgc3lzdGVtIG9wdGlvbiBmb3IgZWdsZ2xlcyBjb25maWd1cmUKCjIwMTMtMDQtMTUgMTg6NDA6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgaW9zOiB1bmNvbmRpdGlvbmFsbHkgY2hlY2sgaWYgd2UgYXJlIGJ1aWxkaW5nIGZvciBpT1MKCSAgSW5zdGVhZCBvZiBvbmx5IGNoZWNraW5nIGlmIGFwcGxlbWVkaWEgaXMgZ29pbmcgdG8gYmUgYnVpbHQKCjIwMTMtMDQtMTAgMTQ6NTM6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL01ha2VmaWxlLmFtOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uaDoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IHJlZmFjdG9yIGVnbCBmdW5jdGlvbnMvZGF0YSB0byBhIHNlcGFyYXRlIGZpbGUKCSAgVGhpcyBpcyBwYXJ0IG9mIHRoZSBjaGFuZ2VzIHJlcXVpcmVkIHRvIG1ha2UKCSAgZWdsZ2xlc3Npbmsgd29yayB3aXRoIGJvdGggRUdMIGFuZCBBcHBsZSdzIEVBR0wKCjIwMTMtMDQtMTYgMTY6MzA6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFByaW50IEVHTC9HTEVTIGV4dGVuc2lvbnMgYWZ0ZXIgd2UgYXJlIGFjdHVhbGx5IGluaXRpYWxpemVkIGVub3VnaAoKMjAxMy0wNC0xNiAxNjoyMzo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIGFtY2F1ZGlvZGVjOiBQcm9wZXJseSBzZXQgb3V0cHV0IGZvcm1hdCBpbnN0ZWFkIG9mIGp1c3Qgc2V0dGluZyBjYXBzCgoyMDEzLTA0LTE2IDE2OjE3OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IFNldCBwYXJlbnQgY2xhc3MgaW4gY2xhc3NfaW5pdAoKMjAxMy0wNC0xNiAxNjowMDozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBIYW5kbGUgcmVmY291bnRzIG9mIHBhZCB0ZW1wbGF0ZXMgY29ycmVjdGx5CgkgIGdzdF9wYWRfdGVtcGxhdGVfbmV3KCkgZG9lcyBub3QgdGFrZSBvd25lcnNoaXAgb2YgY2FwcyBhbnltb3JlIGFuZAoJICBnc3RfZWxlbWVudF9jbGFzc19hZGRfcGFkX3RlbXBsYXRlKCkgZG9lcyB0YWtlIG93bmVyc2hpcCBvZiB0aGUKCSAgcGFkIHRlbXBsYXRlIG5vdy4KCjIwMTMtMDQtMTYgMTU6MzI6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBhbWNhdWRpb2RlYzogVXNlIDEuMC1zdHlsZSByYXcgYXVkaW8gY2FwcwoKMjAxMy0wNC0xNiAxNTozMTozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBQcm9wZXJseSBzZXQgc3ViY2xhc3NlcyBtZXRhZGF0YS9wYWQgdGVtcGxhdGVzIGluIGJhc2VfaW5pdAoKMjAxMy0wNC0xNSAxNjowMToyOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNkZW11eDogY2hlY2sgdmFsdWUgYmVmb3JlIHVzaW5nIGFzIGRlbm9taW5hdG9yCgoyMDEzLTA0LTE1IDE4OjE5OjM4ICswMzAwICBBbnRvbiBCZWxrYSA8YW50b25iZWxrYUBnbWFpbC5jb20+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJICB1dmNoMjY0OiBwcmludGYgZm9ybWF0IGZpeAoJICBnc3R1dmNoMjY0X21qcGdkZW11eC5jOjQzNzo1OiBlcnJvcjogZm9ybWF0ICclbHUnIGV4cGVjdHMgYXJndW1lbnQgb2YgdHlwZSAnbG9uZyB1bnNpZ25lZCBpbnQnLCBidXQgYXJndW1lbnQgOCBoYXMgdHlwZSAnR3N0Q2xvY2tUaW1lJwoKMjAxMi0xMC0yNCAxMjoxNjozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9hcGV4c2luay9NYWtlZmlsZS5hbToKCSogZXh0L2Fzc3JlbmRlci9NYWtlZmlsZS5hbToKCSogZXh0L2F1ZGlvZmlsZS9NYWtlZmlsZS5hbToKCSogZXh0L2J6Mi9NYWtlZmlsZS5hbToKCSogZXh0L2NkYXVkaW8vTWFrZWZpbGUuYW06CgkqIGV4dC9jZWx0L01ha2VmaWxlLmFtOgoJKiBleHQvY2hyb21hcHJpbnQvTWFrZWZpbGUuYW06CgkqIGV4dC9jdXJsL01ha2VmaWxlLmFtOgoJKiBleHQvZGMxMzk0L01ha2VmaWxlLmFtOgoJKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSogZXh0L2R0cy9NYWtlZmlsZS5hbToKCSogZXh0L2ZhYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9mYWFkL01ha2VmaWxlLmFtOgoJKiBleHQvZmxpdGUvTWFrZWZpbGUuYW06CgkqIGV4dC9mbHVpZHN5bnRoL01ha2VmaWxlLmFtOgoJKiBleHQvZ21lL01ha2VmaWxlLmFtOgoJKiBleHQvZ3NldHRpbmdzL01ha2VmaWxlLmFtOgoJKiBleHQvZ3NtL01ha2VmaWxlLmFtOgoJKiBleHQvaGxzL01ha2VmaWxlLmFtOgoJKiBleHQva2F0ZS9NYWtlZmlsZS5hbToKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSogZXh0L2xpYmZhbWUvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJtbXMvTWFrZWZpbGUuYW06CgkqIGV4dC9sdjIvTWFrZWZpbGUuYW06CgkqIGV4dC9taW1pYy9NYWtlZmlsZS5hbToKCSogZXh0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSogZXh0L21wZzEyMy9NYWtlZmlsZS5hbToKCSogZXh0L21wbGV4L01ha2VmaWxlLmFtOgoJKiBleHQvbXVzZXBhY2svTWFrZWZpbGUuYW06CgkqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSogZXh0L215dGh0di9NYWtlZmlsZS5hbToKCSogZXh0L25hcy9NYWtlZmlsZS5hbToKCSogZXh0L25lb24vTWFrZWZpbGUuYW06CgkqIGV4dC9vZmEvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuYWwvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuanBlZy9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvTWFrZWZpbGUuYW06CgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSogZXh0L3JzdmcvTWFrZWZpbGUuYW06CgkqIGV4dC9ydG1wL01ha2VmaWxlLmFtOgoJKiBleHQvc2JjL01ha2VmaWxlLmFtOgoJKiBleHQvc2Nocm9lZGluZ2VyL01ha2VmaWxlLmFtOgoJKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJKiBleHQvc25hcHNob3QvTWFrZWZpbGUuYW06CgkqIGV4dC9zbmRmaWxlL01ha2VmaWxlLmFtOgoJKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSogZXh0L3NwYW5kc3AvTWFrZWZpbGUuYW06CgkqIGV4dC9zcGMvTWFrZWZpbGUuYW06CgkqIGV4dC9zcnRwL01ha2VmaWxlLmFtOgoJKiBleHQvdGVsZXRleHRkZWMvTWFrZWZpbGUuYW06CgkqIGV4dC90aW1pZGl0eS9NYWtlZmlsZS5hbToKCSogZXh0L3ZvYWFjZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvdm9hbXJ3YmVuYy9NYWtlZmlsZS5hbToKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGV4dC94dmlkL01ha2VmaWxlLmFtOgoJKiBleHQvemJhci9NYWtlZmlsZS5hbToKCSogZ3N0L2FjY3VyaXAvTWFrZWZpbGUuYW06CgkqIGdzdC9hZHBjbWRlYy9NYWtlZmlsZS5hbToKCSogZ3N0L2FkcGNtZW5jL01ha2VmaWxlLmFtOgoJKiBnc3QvYWlmZi9NYWtlZmlsZS5hbToKCSogZ3N0L2FzZm11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvYnVmZmVyL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1dG9jb252ZXJ0L01ha2VmaWxlLmFtOgoJKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2R4YXBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvY29sb3JlZmZlY3RzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGF0YXVyaXNyYy9NYWtlZmlsZS5hbToKCSogZ3N0L2RjY3AvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9NYWtlZmlsZS5hbToKCSogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSogZ3N0L2ZhY2VvdmVybGF5L01ha2VmaWxlLmFtOgoJKiBnc3QvZmVzdGl2YWwvTWFrZWZpbGUuYW06CgkqIGdzdC9maWVsZGFuYWx5c2lzL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlZXZlcmIvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVpMHIvTWFrZWZpbGUuYW06CgkqIGdzdC9nYW1lcy9NYWtlZmlsZS5hbToKCSogZ3N0L2dhdWRpZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2dkcC9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2hkdnBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvaWQzdGFnL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9pdmZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2l2dGMvTWFrZWZpbGUuYW06CgkqIGdzdC9qcDJrZGVjaW1hdG9yL01ha2VmaWxlLmFtOgoJKiBnc3QvanBlZ2Zvcm1hdC9NYWtlZmlsZS5hbToKCSogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSogZ3N0L2xpdmVhZGRlci9NYWtlZmlsZS5hbToKCSogZ3N0L21pZGkvTWFrZWZpbGUuYW06CgkqIGdzdC9taXhtYXRyaXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVnMXN5cy9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWdwc211eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXZlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJKiBnc3QvbnV2ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9vdmVybGF5L01ha2VmaWxlLmFtOgoJKiBnc3QvcGF0Y2hkZXRlY3QvTWFrZWZpbGUuYW06CgkqIGdzdC9wY2FwcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9wbm0vTWFrZWZpbGUuYW06CgkqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3JlYWwvTWFrZWZpbGUuYW06CgkqIGdzdC9yZW1vdmVzaWxlbmNlL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRqcGVnL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2RpL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2RwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2VnbWVudGNsaXAvTWFrZWZpbGUuYW06CgkqIGdzdC9zaXJlbi9NYWtlZmlsZS5hbToKCSogZ3N0L3Ntb290aC9NYWtlZmlsZS5hbToKCSogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3RlcmVvL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3ViZW5jL01ha2VmaWxlLmFtOgoJKiBnc3QvdHRhL01ha2VmaWxlLmFtOgoJKiBnc3QvdmJpZGVjL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9tZWFzdXJlL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkqIGdzdC92bW5jL01ha2VmaWxlLmFtOgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJKiBnc3QveWFkaWYvTWFrZWZpbGUuYW06CgkqIHN5cy9hY21lbmMvTWFrZWZpbGUuYW06CgkqIHN5cy9hY21tcDNkZWMvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXZjL01ha2VmaWxlLmFtOgoJKiBzeXMvYmx1ZXovTWFrZWZpbGUuYW06CgkqIHN5cy9jZHJvbS9NYWtlZmlsZS5hbToKCSogc3lzL2QzZHZpZGVvc2luay9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL01ha2VmaWxlLmFtOgoJKiBzeXMvZHZiL01ha2VmaWxlLmFtOgoJKiBzeXMvZHhyMy9NYWtlZmlsZS5hbToKCSogc3lzL2ZiZGV2L01ha2VmaWxlLmFtOgoJKiBzeXMvbGluc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvbWZjL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkqIHN5cy9wdnIyZC9NYWtlZmlsZS5hbToKCSogc3lzL3FjYW0vTWFrZWZpbGUuYW06CgkqIHN5cy9xdHdyYXBwZXIvTWFrZWZpbGUuYW06CgkqIHN5cy9zaG0vTWFrZWZpbGUuYW06CgkqIHN5cy91dmNoMjY0L01ha2VmaWxlLmFtOgoJKiBzeXMvdmNkL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy93YXNhcGkvTWFrZWZpbGUuYW06CgkqIHN5cy93aW5pbmV0L01ha2VmaWxlLmFtOgoJKiBzeXMvd2lua3MvTWFrZWZpbGUuYW06CgkqIHN5cy93aW5zY3JlZW5jYXAvTWFrZWZpbGUuYW06CgkqIHRvb2xzL2dzdC1wcm9qZWN0LW1ha2VyOgoJICBnc3Q6IEFkZCBiZXR0ZXIgc3VwcG9ydCBmb3Igc3RhdGljIHBsdWdpbnMKCjIwMTMtMDQtMTUgMTU6MTM6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkgIGNydWZ0OiBBZGQgY2FtZXJhYmluIGRpcmVjdG9yeSB0byB0aGUgY3J1ZnQgZGlyZWN0b3JpZXMKCjIwMTMtMDQtMTUgMDk6MDE6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiBmaXggdGltZW91dCB2YWx1ZQoJICBUaW1lb3V0IG9uIHVkcHNyYyBpcyBpbiBuYW5vc2Vjb25kcyBpbiAxLjAKCjIwMTMtMDQtMTUgMDA6MjI6MzkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IEFkZCBjb25kaXRpb25hbCBvbiBBUEkgdmVyc2lvbiBmb3IgbmV3IGVudW0KCjIwMTMtMDQtMDQgMTU6NTk6MDkgKzAwMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogZml4IGRlYWRsb2NrIGRyYWluaW5nIHF1ZXVlIGZyb20gdGhlIHNhbWUgdGhyZWFkCgoyMDExLTA4LTEwIDEyOjEzOjM0ICswMDAwICBGYWJyaWNpbyBDb3N0YSBBbGlzZWRvIDxmYWJyaWNpby5jb3N0YUBtb2xkZW9pbnRlcmFjdGl2ZS5jb20uYXI+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuaDoKCSAgZHNob3dzcmN3cmFwcGVyOiBBZGRlZCBHcmFwaCBCdWlsZGVyIGFuZCBDYXB0dXJlIEJ1aWxkZXIgdG8gY29ycmVjdGx5IGNyZWF0ZSB1cHN0cmVhbSBuZWVkZWQgZmlsdGVycyBieSBBbmFsb2cgVFYgQ2FwdHVyZSBEZXZpY2VzLgoKMjAxMi0xMi0wMSAxNjoyNDoyMiArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuaDoKCSAgZHNob3dzcmN3cmFwcGVyOiBBZGQgc3VwcG9ydCBmb3IgVVlWWQoKMjAxMy0wNC0xNSAwODo0ODoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IGNvbXBpbGVyIHdhcm5pbmdzCgkgIGdzdGVnbGdsZXNzaW5rLmM6IEluIGZ1bmN0aW9uICdnc3RfZWdsZ2xlc3NpbmtfZmlsbF90ZXh0dXJlJzoKCSAgZ3N0ZWdsZ2xlc3NpbmsuYzoxODE1OjM6IGVycm9yOiBmb3JtYXQgJyVkJyBleHBlY3RzIGFyZ3VtZW50IG9mIHR5cGUgJ2ludCcsIGJ1dCBhcmd1bWVudCAxMSBoYXMgdHlwZSAnZ3NpemUnIFstV2Vycm9yPWZvcm1hdF0KCSAgZ3N0ZWdsZ2xlc3NpbmsuYzogSW4gZnVuY3Rpb24gJ2dzdF9lZ2xnbGVzc2lua19jb25maWd1cmVfY2Fwcyc6CgkgIGdzdGVnbGdsZXNzaW5rLmM6Mjg1MDozOiBlcnJvcjogZm9ybWF0ICclcCcgZXhwZWN0cyBhcmd1bWVudCBvZiB0eXBlICd2b2lkIConLCBidXQgYXJndW1lbnQgOCBoYXMgdHlwZSAnRUdMTmF0aXZlV2luZG93VHlwZScgWy1XZXJyb3I9Zm9ybWF0XQoKMjAxMy0wNC0xNSAwMDo0ODozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5oOgoJICBrYXRlOiBvbmx5IHNlbmQgZGVjb2RlciBvdXRwdXQgY2FwcyBvbmNlIG9yIHdoZW4gdGhlIGZvcm1hdCBjaGFuZ2VzCgkgIGFuZCBub3QgZm9yIGV2ZXJ5IHNpbmdsZSBidWZmZXIuIEFuZCAgYWxzbyBzZW5kIGEgY2FwcwoJICBldmVudCBmb3Igc3B1IG91dHB1dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzA3MQoKMjAxMy0wNC0xNCAyMzoyMjo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZTogZml4IGRlY29kZXIgb3V0cHV0IGNhcHMKCSAgSXQncyBlaXRoZXIgcGFuZ28tbWFya3VwIG9yIHV0ZjgsIG5ldmVyIGJvdGggYXQgdGhlIHNhbWUgdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzA3MQoKMjAxMy0wNC0xNCAyMzoxOTo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGU6IG1hcmsgaGVhZGVyIGJ1ZmZlcnMgYXMgc3VjaAoKMjAxMy0wNC0xNCAyMzowODo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5oOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5oOgoJICBrYXRlZW5jOiBzYXZlIGN1cnJlbnQgaW5wdXQgZm9ybWF0IGluIHNldGNhcHMKCjIwMTMtMDQtMTQgMjE6Mjg6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQva2F0ZS9NYWtlZmlsZS5hbToKCSogZXh0L2thdGUvZ3N0a2F0ZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZTogZml4IHByaW50ZiBmb3JtYXQgc3RyaW5ncyBhbmQgZGlzYWJsZSB0aWdlciBlbGVtZW50CgoyMDEzLTA0LTAxIDEyOjQ3OjEzIC0wNjAwICBCcmVuZGFuIExvbmcgPGIubG9uZ0BjYWJsZWxhYnMuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5oOgoJICBrYXRlOiBwb3J0IEthdGUgc3VidGl0bGVzIHRvIDEuMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MDcxCgoyMDEzLTA0LTE0IDE3OjU1OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhZWQ4N2FlIHRvIDNjYjNkM2MKCjIwMTMtMDQtMTIgMTc6MDE6MzggKzAyMDAgIEFsZXhhbmRlciBPbHNzb24gPGFsZXhvQGF4aXMuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogYWNjZXB0IGFueSBqcGVnIGlucHV0IC0gcGFyc2VkLCB1bnBhcnNlZCBvciB1bm1hcmtlZAoJICBUaGUgc3JjIGVsZW1lbnQgbWF5IG5vdCBpbmNsdWRlIGluZm9ybWF0aW9uIGFib3V0IHdoZXRoZXIKCSAgdGhlIGRhdGEgaXMgcGFyc2VkIG9yIG5vdC4gSGVuY2UgZG8gbm90IHJlcXVpcmUgcGFyc2VkPWZhbHNlLgoJICBGaXhlcyBtdWx0aXBhcnRkZW11eCAhIGpwZWdwYXJzZSAhIC4uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3ODg0CgoyMDEzLTA0LTEyIDE0OjA5OjI0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3ZpZGVvZmlsdGVyOgoJICBlbGVtZW50LXRlbXBsYXRlOiBhZGQgc3RhcnQvc3RvcCB0byB2aWRlb2ZpbHRlcgoKMjAxMy0wNC0xMiAxNDowODoxNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkLXRlbXBsYXRlLXZpZGVvOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQtdGVtcGxhdGUtdmlkZW86CgkgIGVsZW1lbnQtdGVtcGxhdGVzOiBhdm9pZCB1c2luZyBQYWRUZW1wbGF0ZXMKCjIwMTMtMDQtMTIgMTQ6MDc6MzEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXRyYW5zZm9ybToKCSAgZWxlbWVudC10ZW1wbGF0ZXM6IEFkZCBoZWxwZXIgY29kZSB0byB0cmFuc2Zvcm1fY2FwcwoKMjAxMy0wNC0xMiAxMzo1NjoyNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5oOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9zaWduYWwuYzoKCSAgdmlkZW9hbmFseXNlOiBwb3J0IHRvIDEuMAoKMjAxMy0wNC0wNSAyMTozMToxOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0c2NlbmVjaGFuZ2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3RzY2VuZWNoYW5nZS5oOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZmlsdGVyMi5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZmlsdGVyMi5oOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHplYnJhc3RyaXBlLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0emVicmFzdHJpcGUuaDoKCSAgdmlkZW9maWx0ZXJzYmFkOiBwb3J0IHRvIDEuMAoKMjAxMy0wNC0xMSAyMjoxNTowNyArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogZGVjcmVhc2UgbG9nIHByaW9yaXR5IGZvciByZXBlYXRpbmcgbWVzc2FnZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzgzNAoKMjAxMy0wNC0xMSAxMzozNDoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWNvbnZlcnRlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWNvbnZlcnRlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZW1ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VtZXRhLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udGV4dC5oOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFzZXZpZGVvLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhc2V2aWRlby5wYy5pbjoKCSAgdmlkZW86IFJlbW92ZSB2aWRlbyBsaWJyYXJ5IGZyb20gLWJhZAoJICBUaGlzIG9ubHkgY29udGFpbmVkIEFQSSB0aGF0IG5vdyBoYXMgcmVwbGFjZW1lbnRzIGluIGNvcmUgYW5kIGJhc2UuCgoyMDEzLTA0LTExIDEzOjA4OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IENoZWNrIHRoZSBjb250aW51aXR5IGNvdW50ZXIgZm9yIG5vbi1zZWN0aW9uIHBhY2tldHMgdG9vCgkgIEFuZCBpZiB3ZSBkZXRlY3QgYSBkaXNjb250aW51aXR5IHRoZXJlIChsaWtlLi4uIHdoZW4gbG9zaW5nIHBhY2tldHMKCSAgb3IgaGF2aW5nIE1QRUdUUyBvdmVyIHJhdyBVRFAgd2l0aCBvdXQtb2Ytb3JkZXIgcGFja2V0cykgd2UganVzdAoJICBkcm9wIHRoZSBjb3JyZXNwb25kaW5nIHBhY2tldC4KCSAgQSBmdXR1cmUgdmVyc2lvbiBjb3VsZCB0cnkgdG8gaW1wbGVtZW50IGEgcmUtb3JkZXJpbmcgYWxnb3JpdGhtIGJhc2VkCgkgIG9uIHRoYXQsIHNpbWlsYXIgdG8gd2hhdCBydHBqaXR0ZXJidWZmZXIgZG9lcy4KCjIwMTMtMDQtMTEgMTA6MDY6MjMgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG1meGRlbXVzOiB1cGRhdGUgdG9kbyAodGhlciBlaXMgYSBtdXhlcikKCjIwMTMtMDQtMTAgMTY6MTk6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogQ2FsbCA6OnByb2dyYW1fc3RvcHBlZCBhZnRlciByZW1vdmluZyBhbGwgc3RyZWFtcwoJICBTdWJjbGFzc2VzIHdhbnQgdG8gYWNjZXNzIHRoZSBwcm9ncmFtIHdoaWxlIHJlbW92aW5nIHRoZSBzdHJlYW1zCgkgIGFuZCB3aWxsIGN1cnJlbnRseSBjcmFzaCBiZWNhdXNlIG9mIGRlcmVmZXJlbmNpbmcgTlVMTCBpbiBzb21lIGNhc2VzLgoKMjAxMy0wNC0xMCAxMTowNjo1MiArMDIwMCAgQWxleGFuZGVyIFNjaHJhYiA8YWxleGFzQGF4aXMuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0d2F0Y2hkb2cuYzoKCSAgd2F0Y2hkb2c6IHJhY2UgYmV0d2VlbiBnX21haW5fbG9vcF9ydW4vX3F1aXQgZml4ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzY5NAoKMjAxMy0wNC0wOSAyMTozMjowNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogRG9uJ3Qgc3RvcCBvbiBpbnZhbGlkIGJ1ZmZlcgoKMjAxMy0wNC0wOSAyMTozMTo1NSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogQ2xlYW5lciBzdHJlYW0gY2xlYW51cAoKMjAxMy0wNC0wOSAyMTozMToyNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHAuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBEb24ndCBjcmFzaCBvbiBpbnZhbGlkIGNpcGhlcgoKMjAxMy0wMy0yNyAxNjo0OTowNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVidWd1dGlscy9nc3R3YXRjaGRvZy5jOgoJICB3YXRjaGRvZzogZml4IGV2ZW50IGhhbmRsaW5nCgoyMDEzLTA0LTAxIDE1OjUyOjE3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC95YWRpZi9nc3R5YWRpZi5jOgoJICB5YWRpZjogcmVtb3ZlIGV4dHJhIHRlbXBsYXRlIGNvZGUKCjIwMTMtMDQtMDEgMTU6NDc6NTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2l2dGMvZ3N0aXZ0Yy5jOgoJICBpdnRjOiByZW1vdmUgdHJhbnNmb3JtX3NpemUsIGl0J3Mgbm90IG5lZWRlZAoKMjAxMy0wNC0wMSAyMDoxMzo0MSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy92aWRlb2VuY29kZXI6CgkgIGVsZW1lbnQtbWFrZXI6IGZpeCByZXR1cm4gdmFsdWUgaW4gdmlkZW9lbmNvZGVyCgoyMDEzLTA0LTAxIDIwOjEyOjU3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBnc3QtZWxlbWVudC1tYWtlcjogY3JlYXRlIGJldHRlciBlbGVtZW50IG5hbWUgd2hlbiB1c2luZyAtLXByZWZpeAoKMjAxMy0wNC0wMSAyMDowMzo1OSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSAgaW50ZXJhdWRpb3Npbms6IGZpeCBsZWFrIHdoZW4gbm90IGNvbm5lY3RlZAoKMjAxMy0wNC0wOSAyMTowMDoyOCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDRjN2ExZSB0byBhZWQ4N2FlCgoyMDEzLTA0LTA4IDE3OjQwOjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIGV4dDogcHJpbnRmIGZvcm1hdCBmaXhlcyBpbiBkZWJ1ZyBhbmQgZXJyb3IgbWVzc2FnZXMKCjIwMTMtMDQtMDggMTc6MzQ6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvbWVtb3J5LmM6CgkgIHN5czogcHJpbnQgZm9ybWF0IGZpeGVzIGluIGRlYnVnIG1lc3NhZ2VzCgoyMDEzLTA0LTA3IDE4OjQxOjM4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBUcnVlSEQgYXVkaW8KCjIwMTMtMDQtMDUgMDk6NDE6MjYgKzAxMDAgIFRvZGQgQWd1bG5pY2sgPHRvZGRAYWd1bG5pY2suY29tPgoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5oOgoJICBoYW5kZGV0ZWN0OiBmaXggYnVpbGQgb24gT1MvWAoJICBnc3RoYW5kZGV0ZWN0Lmg6ODQ6IGVycm9yOiBleHBlY3RlZCBzcGVjaWZpZXItcXVhbGlmaWVyLWxpc3QgYmVmb3JlICd1aW50JwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MzA1CgoyMDEzLTA0LTA1IDAwOjQ5OjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogc2hhZGVycyBhc3N1bWUgMzJicHAKCSAgQmFja3BvcnQgZml4IGZvciBjcmFzaGVzIGFuZCBpbnZhbGlkIHdyaXRlcyBpbiB0b3RlbSBmcm9tIGxpYnZpc3VhbAoJICBpbiAtYmFzZSwgdG8gbWluaW1pc2UgZGlmZmVyZW5jZXMgdG8gdmVyc2lvbiBpbiAtYmFzZSBhbmQgdG8gbWFrZQoJICBzdXJlIHRoZSBidWcgZG9lc24ndCBzbmVhayBiYWNrIGluIGxhdGVyIHdoZW4gdGhlIGJhc2UgY2xhc3MgaXMKCSAgbWFkZSBwdWJsaWMuCgkgIFRoZSBzaGFkZXIgY29kZSBsb29rcyBsaWtlIGl0IG1ha2VzIGFzc3VtcHRpb25zIHRoYXQgYXJlIG5vdAoJICBuZWNlc3NhcmlseSBhbHdheXMgdHJ1ZSwgZXZlbiBpZiB0aGV5J3JlIHRydWUgZm9yIG5vdyBmb3IgdGhlCgkgIGV4aXN0aW5nIGVsZW1lbnRzLCBuYW1seSB0aGF0IHBpeGVsIHN0cmlkZSBpcyA0LCBmb3IgZXhhbXBsZS4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODM1MjcKCjIwMTMtMDMtMTQgMTE6MTU6MjkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogaGFuZGxlIG5vbi1leGlzdGFudCBwb29sIGluIHRoZSBkZWZhdWx0IGFsbG9jYXRpb24gcXVlcnkKCSAgZ3N0X3F1ZXJ5X3NldF9udGhfYWxsb2NhdGlvbl9wb29sKCkgcmVxdWlyZXMgdGhlcmUgdG8gYmUgYSBwb29sIGluIHRoZQoJICBxdWVyeSBhbHJlYWR5LiBUaGlzIGlzIG5vdCBhbHdheXMgdGhlIGNhc2Ugd2hlbiB3ZSBnZXQgdGhlIHF1ZXJ5IGZyb20KCSAgdXBzdHJlYW0uICBVc2UgZ3N0X3F1ZXJ5X2FkZF9hbGxvY2F0aW9uX3Bvb2woKSBpbnN0ZWFkIGluIHN1Y2ggY2FzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTcxOQoKMjAxMy0wMS0yOSAxMDoxODowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuaDoKCSAgYXVkaW92aXN1YWxpemVyOiBpbXByb3ZlIGFsbG9jYXRpb24KCSAgQmFzZWQgb24gcGF0Y2ggYnkgTWF0dGhldyBXYXRlcnMKCSAgQWRkIHByaXZhdGUgZGF0YQoJICBBZGQgZGVjaWRlX2FsbG9jYXRpb24gdm1ldGhvZAoJICBSZWZhY3RvciBidWZmZXJwb29sIG5lZ290aWF0aW9uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE3MTkKCjIwMTMtMDQtMDMgMTY6MTI6MDEgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkdmlkZW9zaW5rOiB1c2UgYmlsaW5lYXIgZmlsdGVyIGFzIG11Y2ggYXMgcG9zc2libGUKCSAgVXNlIHRoZSBiaWxpbmVhciBzY2FsbGluZyBmaWx0ZXIgd2hlbiB0aGUgbWFnbmlmaWVyIG9yIHRoZSBtaW5pZmllcgoJICBmaWx0ZXJzIGFyZSBhdmFpYmxlLiBTb21lIGdyYXBoaWNzIGNhcmRzIGRvIG5vdCBwcm92aWRlIG1pbmlmaWVyIGZpbHRlcnMKCSAgYnV0IHdlIHdhbnQgdG8gdXNlIGl0IGZvciB1cHNjYWxsaW5nIGlmIGl0J3MgYXZhaWxhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTcxNzYKCjIwMTMtMDQtMDMgMTQ6NTU6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuaDoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuaDoKCSAgcnN2ZzogQnVtcCBtaW5pbXVtIHJlcXVpcmVtZW50IHRvIDIuMzYuMAoJICBBbmQgaGFuZGxlIGhlYWRlciBjaGFuZ2VzIGluIDIuMzYuMgoKMjAxMy0wNC0wMiAyMzozMzo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb21ldGEuaDoKCSAgZG9jczogYWRkIHNpbmNlIG1hcmtlcnMgdG8gbmV3IGNvZGVjcGFyc2VycyB2aWRlbyBtZXRhIEFQSQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkxNzEyCgoyMDEzLTA0LTAxIDE5OjQ5OjAwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogSW1wbGVtZW50IGJhc2VzcmMtPnVubG9jaygpCgkgIFRoaXMgZml4ZXMgLT5OVUxMIHRyYW5zaXRpb24gcHJvYmxlbXMgaWYgbGlicnRtcCBpcyBzdHVjayBpbiBhCgkgIHJlY3Ygb3Igc2VuZCBjYWxsIHRoYXQgbmV2ZXIgcmV0dXJucy4KCjIwMTMtMDMtMzAgMTU6MDc6NDUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXRyYW5zZm9ybToKCSAgZWxlbWVudC1tYWtlcjogY2FsbCB1cCBpbiBiYXNldHJhbnNmb3JtIHRlbXBsYXRlCgkgIE1vcmUgdGVtcGxhdGVzIHNob3VsZCBiZSBkb2luZyB0aGlzOiBmdW5jdGlvbiBpbXBsZW1lbnRhdGlvbnMKCSAgc2hvdWxkIGNhbGwgdXAgdG8gdGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gaW4gdGhlIGJhc2UgY2xhc3MuCgoyMDEzLTA0LTAxIDIyOjM4OjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGFsc28gY2hlY2sgZm9yIGJsdWV6IGZvciBibHVldG9vdGgvYmx1ZXRvb3RoLmgKCSAgRml4ZXMgYnVpbGQgb24gbWFjaGluZXMgd2hlcmUgYmx1ZXogaGVhZGVycyBhcmUgbm90IGF2YWlsYWJsZS4KCjIwMTMtMDQtMDEgMjE6NDk6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJsdWV6OiBlbmFibGUgYmx1ZXogcGx1Z2luCgkgIFNlZW1zIHRvIG1vc3RseSB3b3JrIG5vdy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDU4MgoKMjAxMy0wNC0wMSAyMTo0ODowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBzb2Z0IGxpYm9yYyByZXF1aXJlbWVudCB0byAwLjQuMTcKCSAgVG8gbWF0Y2ggLWJhc2UgYW5kIC1nb29kLiBBbHNvIGZpeGVzIHBvdGVudGlhbAoJICBjcmFzaCB3aGVuIGEgZmFsbGJhY2sgZnVuY3Rpb24gaGFzIHRvIGJlIHVzZWQuCgoyMDEzLTA0LTAxIDEwOjIwOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBVc2UgdGhlIEVHTEltYWdlIGFuZCBHc3RWaWRlb0dMVGV4dHVyZVVwbG9hZE1ldGEgY2FwcyBmZWF0dXJlcwoKMjAxMy0wNC0wMSAxMDoyMDoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5oOgoJICBlZ2w6IEFkZCBhICNkZWZpbmUgZm9yIHRoZSBFR0xJbWFnZSBtZW1vcnkgY2FwcyBmZWF0dXJlCgoyMDEzLTA0LTAxIDA5OjEzOjE2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5oOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5oOgoJICByc3ZnOiBEb24ndCBpbmNsdWRlIHJzdmctY2Fpcm8uaCBkaXJlY3RseQoJICBJbmNsdWRpbmcgaXQgZGlyZWN0bHkgaXMgbm93IGRlcHJlY2F0ZWQKCjIwMTMtMDQtMDEgMDk6MTA6NTMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkgIHZkcGF1OiBEb24ndCB1c2UgZGVwcmVjYXRlZCBHTXV0ZXggbWV0aG9kcwoKMjAxMy0wMy0yOSAxNzo1NzoxMiArMDEwMCAgTHVjaWFuYSBGdWppaSBQb250ZWxsbyA8bHVjaWFuYUBmdWppaS5ldGkuYnI+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5oOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5oOgoJICByc3ZnOiBQb3J0IHRvIDEuMAoJICBBbHNvIHBvcnQgdGhlIGRlY29kZXIgdG8gdGhlIEdzdFZpZGVvRGVjb2RlcgoKMjAxMi0wOS0yMCAxOTowMzoxMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0dmlkZW9mcmFtZS5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3R2aWRlb2ZyYW1lLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwYnVmZmVycG9vbC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGJ1ZmZlcnBvb2wuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlcnBvb2wuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRidWZmZXJwb29sLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0c3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0c3JjcGFkLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB1dGlscy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlcnBvb2wuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlcnBvb2wuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dGJ1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0YnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRidWZmZXJwb29sLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRidWZmZXJwb29sLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVycG9vbC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXJwb29sLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb21lbW9yeS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9tZW1vcnkuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRmcmFtZS5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZnJhbWUuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdG5hbHJlYWRlci5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RuYWxyZWFkZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmg6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5oOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZnJhbWUuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2ZyYW1lLmg6CgkqIHN5cy92ZHBhdS9tcGVnL21wZWd1dGlsLmM6CgkqIHN5cy92ZHBhdS9tcGVnL21wZWd1dGlsLmg6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3RtcGVnNGZyYW1lLmg6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3R2ZHBtcGVnNGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0dmRwbXBlZzRkZWMuaDoKCSAgdmRwYXU6IFBvcnQgdG8gMS4wCgkgIE5ldyBiYXNlIGNsYXNzIGZvciB2ZHBhdSBkZWNvZGVycwoJICAqIG1wZWcyIHBvcnRlZCBhbmQgYWN0aXZhdGVkCgkgICogaDI2NCBwb3J0ZWQgYnV0IGRlYWN0aXZhdGVkCgkgICogVXNlcyBHc3RNcGVnVmlkZW8gbWV0YQoKMjAxMi0xMi0yMyAwMTo1NDo1MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuaDoKCSAgbXBlZ3ZpZGVvcGFyc2U6IE9ubHkgYWRkIG1ldGEgaWYgZG93bnN0cmVhbSBuZWVkcyBpdAoJICBJdCdzIG5vdCBwZXJmZWN0LCBiZWNhdXNlIGluIHRoZSBjYXNlcyB3aGVyZSB1cHN0cmVhbSBkb2Vzbid0CgkgIGluaXRpYXRlIGFuIGFsbG9jYXRpb24gcXVlcnksIHdlIHdvbid0IGtub3cuCgoyMDEyLTA5LTIwIDE4OjI3OjExICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5oOgoJICBtcGVndmlkZW9wYXJzZTogU3RvcmUgaW5mb3JtYXRpb24gaW4gR3N0TXBlZ1ZpZGVvMTJNZXRhCgkgIEZJWE1FIDogT25seSBkbyBzbyBpZiB3ZSBrbm93IGRvd25zdHJlYW0gd2lsbCBuZWVkIGl0CgoyMDEyLTA5LTIwIDE4OjAzOjU5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb21ldGEuaDoKCSAgY29kZWNwYXJzZXJzOiBBZGQgTXBlZyBWaWRlbyBHc3RNZXRhCgkgIFRoaXMgY2FuIGJlIHVzZWQgYnkgcGFyc2VycyB0byBwcm92aWRlIHByZS1wYXJzZWQgaW5mb3JtYXRpb24gdG8KCSAgZG93bnN0cmVhbSBlbGVtZW50cyB0aGF0IHdvdWxkIHJlcXVpcmUgaXQgKHNvIHRoZXkgY2FuIGF2b2lkIGhhdmluZwoJICB0byBwYXJzZSB0aGUgYml0c3RyZWFtIGFnYWluKS4KCjIwMTItMTItMjYgMTM6MTY6MjcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgY29kZWNwYXJzZXI6IEZpeCBwaWN0dXJlIHBhY2tldCBleHRlbnNpb24gc2l6ZSBjaGVjawoJICBJdCBpcyBhdCBsZWFzdCAzNCBiaXQgYmlnICg1IGJ5dGVzIHdpdGggYnl0ZSBwYWRkaW5nKQoKMjAxMy0wMy0zMSAxMjoxMTo0OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmg6CgkgIGR2YjogTW92ZSBDQU0gaGFuZGxpbmcgdG8gYSBzZXBhcmF0ZSBHc3RUYXNrCgkgICogTm8gbG9uZ2VyIGJsb2NrcyBpbiBSRUFEWT0+UEFVU0VEIChmYXN0ZXIgc3RhcnR1cCkKCSAgKiBObyBsb25nZXIgcmVxdWlyZXMgYSBwYWQgcHJvYmUKCjIwMTMtMDMtMzEgMTE6NDY6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFVzZSBnc3RfZWxlbWVudF9nZXRfY29udGV4dCgpIHdoZXJldmVyIHBvc3NpYmxlCgoyMDEzLTAzLTMwIDEzOjQwOjIxICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogV2Ugb3V0cHV0IHRpbWUgc2VnbWVudHMKCSAgRml4ZXMgIzY5MDk0OQoKMjAxMy0wMy0zMCAxMzozOTo0OSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c3BhcnNlOiBFbnN1cmUgc2VnbWVudCBldmVudHMgYXJlIGZvcndhcmRlZAoJICBXZSBza2lwIHRoZW0gZm9yIHRzZGVtdXggdGhvdWdoIChyZWNyZWF0ZWQgbGF0ZXIpCgkgIEZpeGVzICM2OTA5NDkKCjIwMTMtMDMtMzAgMTA6MjU6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogcHVzaCBzdHJlYW0gc3RhcnQgZXZlbnQKCjIwMTMtMDMtMzAgMTA6NTc6MDggKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJICBtaWRpcGFyc2VyOiBlbnN1cmUgdmFyaWFibGUgaXMgaW5pdGlhbGl6ZWQgYW5kIGZpeCBkZWJ1ZyBtZXNzYWdlIGFjY2VzcwoKMjAxMy0wMy0zMCAwOTo1Mjo0NSArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlcjogRml4IGEgY29tcGlsZXIgd2FybmluZyBhYm91dCB1bmluaXRpYWxpc2VkIHZhcmlhYmxlIHVzZQoKMjAxMy0wMy0yOCAxNzo0ODowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5oOgoJICBlZ2xnbGVzc2luazogSW1wbGVtZW50IEdzdENvbnRleHQgaGFuZGxpbmcKCjIwMTMtMDMtMjkgMTY6MTE6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFVzZSBhIHNlcGFyYXRlIHRleHR1cmUgZm9yIHRoZSBjdXN0b20gdGV4dHVyZXMKCjIwMTMtMDMtMjkgMTY6MDU6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJICBlZ2xnbGVzc2luazogQWRkIHN1cHBvcnQgZm9yIEdzdFZpZGVvR0xUZXh0dXJlVXBsb2FkTWV0YQoKMjAxMy0wMy0yOSAxMDozMzoxMCArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSAgZWdsOiBjaGVjayBvbiB0aGUgcHJvcGVyIGRpc3BsYXkgYW5kIGluZGVudCBzb21lIGxpbmVzCgoyMDEzLTAzLTI4IDE0OjM2OjE2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogTWFrZSBzdXJlIHRoZSB6ZXJvLXNpemVkIGFycmF5IGlzIGFsd2F5cyBsYXN0IGluIHRoZSBzdHJ1Y3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjY4MQoKMjAxMy0wMy0yNSAxNDoxODoyNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwOiBVcGRhdGUgZXhhbXBsZSBwaXBlbGluZXMKCjIwMTMtMDMtMjggMTc6MzY6MDcgKzAwMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L01ha2VmaWxlLmFtOgoJKiBzeXMvYmx1ZXovYmx1ZXotcGx1Z2luLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc3JjLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc3JjLmg6CgkgIGJsdWV6OiBSZW1vdmUgYTJkcHNyYyBiaW4KCSAgVGhpcyBlbGVtZW50IGlzbid0IHJlYWxseSB1c2VmdWwuIFRoZSBvcmlnaW5hbCBwbGFuIHdhcyB0byB1c2UgdGhpcyB0bwoJICBldmVudHVhbGx5IGFsbG93IGR5bmFtaWNhbGx5IHBpY2tpbmcgYSBmb3JtYXQgYmFzZWQgb24gd2hhdCB3ZSBjYW4KCSAgc3VwcG9ydCB3aGlsZSBuZWdvdGlhdGluZyB3aXRoIHRoZSBzb3VyY2UgZGV2aWNlLiBXZSBjYW4ganVzdCBwbHVnIGluIGEKCSAgZGVjb2RlYmluIGRvd25zdHJlYW0gYW5kIGl0J2xsIGhhbmRsZSBSVFAgZGVwYXlsb2FkaW5nIGFuZCBkZWNvZGluZyBvZgoJICB3aGF0ZXZlciBmb3JtYXQgd2UgbmVnb3RpYXRlZCB3aXRoIHRoZSBzb3VyY2UgZGV2aWNlLgoKMjAxMy0wMy0xNCAxODowNDo1NSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNyYy5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzcmMuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5jOgoJICBibHVlejogQ29tcGlsZSBmaXhlcyBmb3IgYXZkdHBzcmMvYTJkcHNyYyBjb2RlIGFnYWluc3QgMS54CgoyMDEzLTAzLTE0IDEzOjA5OjE1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9NYWtlZmlsZS5hbToKCSogc3lzL2JsdWV6L2JsdWV6LXBsdWdpbi5jOgoJICBibHVlejogQWRkIGF2ZHRwc3JjL2EyZHBzcmMgdG8gYnVpbGQKCjIwMTMtMDMtMTQgMTI6NTg6MTYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogRml4IHVwIHNvbWUgcHJvYmxlbXMgdGhhdCBjYW1lIGluIHdpdGggY2hlcnJ5LXBpY2sKCjIwMTMtMDEtMDggMTA6MTk6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzcmMuYzoKCSAgYmx1ZXo6IFdlIHdvcmsgaW4gVElNRSBmb3JtYXQgd2l0aCBhdmR0cHNyYwoKMjAxMi0xMC0yOSAxNjo0NTo0NCArMDUzMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggZGVwcmVhY2F0aW9uIHdhcm5pbmdzIG9uIGdfbXV0ZXhfKgoKMjAxMi0xMC0yOSAxNjo0NToyNSArMDUzMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc3JjLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc3JjLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNyYy5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzcmMuaDoKCSAgYmx1ZXo6IEZpeCBhIG51bWJlciBvZiBjb21waWxlciB3YXJuaW5ncwoKMjAxMi0xMC0yOSAxNTo0OTowMiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuaDoKCSAgYmx1ZXo6IEZpeCBzb21lIHdhcm5pbmdzIGluIGdzdGF2ZHRwdXRpbC5jCgoyMDEyLTEwLTEyIDE4OjUyOjI0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuYzoKCSAgYmx1ZXo6IEZpeCB0eXBvIGluIHJlc2V0dGluZyB0aGUgRC1CdXMgY29ubmVjdGlvbgoJICBObyByZWFsIGVmZmVjdCBzaW5jZSBGQUxTRSBhbmQgTlVMTCBhcmUgYm90aCAwCgoyMDEyLTEwLTExIDE1OjQ4OjU2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNyYy5jOgoJICBibHVlejogSGFuZGxlIEVPRiBpbiBhdmR0cHNyYyBjb3JyZWN0bHkKCjIwMTItMTAtMTEgMDg6NTc6MDEgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc3JjLmM6CgkgIGJsdWV6OiBGaXggYXZkdHBzcmMgZ2V0Y2FwcygpIGZ1bmN0aW9uCgkgIFRoaXMgaXMgbm93IGEgcHJvcGVyIHN1YnNldCBvZiB0aGUgdGVtcGxhdGUgY2Fwcy4KCjIwMTItMTAtMTEgMDg6Mzg6MTYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc3JjLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc3JjLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuaDoKCSAgYmx1ZXo6IEFkZCBhbiBhMmRwc3JjIGJpbiBlbGVtZW50CgkgIFRoaXMgd3JhcHMgYXZkdHBzcmMgKyBydHBzYmNkZXBheSBpbnRvIGEgc2luZ2xlIGVsZW1lbnQuIHdoZW4gbW9yZQoJICBmb3JtYXRzIGFyZSBzdXBwb3J0ZWQgaW4gYXZkdHBzcmMsIHBheWxvYWRlciBzZWxlY3Rpb24gd2lsbCBuZWVkIHRvIGJlCgkgIGRvbmUgZHluYW1pY2FsbHkuCgkgIFRoaXMgY291bGQgYWxzbyBiZSBleHRlbmRlZCB0byBhY2NlcHQgYSBkZXZpY2UsIGNvbm5lY3QgdG8gaXQsIGFuZAoJICBwcm92aWRlIGF2ZHRwc3JjIGEgdHJhbnNwb3J0IChpbnN0ZWFkIG9mIHBhc3NpbmcgdGhyb3VnaCBhIHRyYW5zcG9ydCBhcwoJICBpdCBkb2VzIG5vdykuCgoyMDEyLTEwLTExIDA4OjI0OjA2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNyYy5jOgoJICBibHVlejogRml4IGF2ZHRwc3JjIGNsYXNzaWZpY2F0aW9uCgoyMDEyLTEwLTEwIDIxOjM4OjQ2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuYzoKCSAgYmx1ZXo6IEJ1bXAgdXAgcHJpb3JpdHkgZm9yIHNvY2tldHMgaW4gQVZEVFAgZWxlbWVudHMKCSAgVGhpcyBpcyBiYXNlZCBvbiB0aGUgY29kZSBpbiBQdWxzZUF1ZGlvLgoKMjAxMi0xMC0xMCAxOTo0OTozMiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNyYy5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzcmMuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmg6CgkgIGJsdWV6OiBBZGQgYW4gYXZkdHBzcmMgZWxlbWVudAoJICBTb3VyY2UgZWxlbWVudCB0aGF0IGNvbm5lY3RzIHRvIGEgZ2l2ZW4gdHJhbnNwb3J0IGFuZCByZWFkcyBhdWRpbyBvdmVyCgkgIEFWRFRQLiBEb2VzIG5vdCBwcm92aWRlIGEgY2xvY2sgYnV0IHVzZXMgdGhlIHN5c3RlbSBjbG9jayB0byB0aW1lc3RhbXAKCSAgaW5jb21pbmcgcGFja2V0cy4gT25seSBTQkMgaXMgY3VycmVudGx5IHN1cHBvcnRlZC4KCjIwMTMtMDMtMjggMTY6NTE6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuaDoKCSAgZWdsOiBBZGQgYSBib3hlZCB0eXBlIGZvciBHc3RFR0xEaXNwbGF5CgoyMDEzLTAzLTI4IDEzOjE4OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBzYmM6IGFjdHVhbGx5IGVuYWJsZSBwbHVnaW4gaWYgbGlic2JjIGlzIGF2YWlsYWJsZQoKMjAxMy0wMy0yNyAxMzoxMToxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zYmMvTWFrZWZpbGUuYW06CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBwb3J0IGVuY29kZXIgdG8gR3N0QXVkaW9FbmNvZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA1ODIKCjIwMTMtMDMtMjYgMTM6NTU6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2RlYy5oOgoJKiBleHQvc2JjL3NiYy1wbHVnaW4uYzoKCSAgc2JjOiBwb3J0IGRlY29kZXIgdG8gR3N0QXVkaW9EZWNvZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA1ODIKCjIwMTMtMDEtMTYgMTE6MzY6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9zYmMvTWFrZWZpbGUuYW06CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmg6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSogZXh0L3NiYy9zYmMtcGx1Z2luLmM6CgkgIHNiYzogaW1wb3J0IHNiYyBkZWNvZGVyL2VuY29kZXIgZnJvbSBibHVleiBhbmQgcG9ydCB0byAxLjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDU4MgoKMjAxMy0wMy0yNyAyMjoyNDowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIE1lcmdlIFNCQyBkZWNvZGVyIGFuZCBlbmNvZGVyIGZyb20gYmx1ZXoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDU4MgoKMjAxMy0wMy0yNiAxNjo1MDo0MiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZGVidWd1dGlsc2JhZC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R3YXRjaGRvZy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R3YXRjaGRvZy5oOgoJICB3YXRjaGRvZzogbmV3IGVsZW1lbnQKCjIwMTMtMDMtMjcgMDA6NTY6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuaDoKCSAgc2JjOiByZW1vdmUgcGFyc2VyIGluIGZhdm91ciBvZiBuZXcgR3N0QmFzZVBhcnNlLWJhc2VkIHNiY3BhcnNlIGluIC1nb29kCgoyMDEzLTAxLTA4IDEwOjE5OjM5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNkZWMuaDoKCSAgc2JjOiBzYmNkZWM6IG1ha2UgZGVjb2RlciBtb3JlIHBlcmZvcm1hbnQKCSAgVXNlIGFuIGFkYXB0ZXIgdG8gYWNjdW11bGF0ZSBpbnB1dCBidWZmZXJzLgoJICBEZWNvZGUgYWxsIGlucHV0IGluIG9uZSBvdXRwdXQgYnVmZmVyIHdoZW4gcG9zc2libGUgdG8gcmVkdWNlIHRoZSBhbW91bnQgb2YgcHVzaAoJICBvcGVyYXRpb25zLgoKMjAxMi0xMC0zMCAxODo0MTo1NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkgIHNiYzogc2JjZGVjOiBza2lwIHRoZSBmcmFtZSBvbiBkZWNvZGluZyBlcnJvcgoKMjAxMi0xMC0yOSAxNzoyMjoyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkgIHNiYzogc2JjZGVjOiBzZXQgRElTQ09OVCBvbiBvdXRnb2luZyBidWZmZXJzLgoKMjAxMi0xMC0yOSAxNzoxOTo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmg6CgkgIHNiYzogc2JjZGVjOiBoYW5kbGUgRElTQ09OVCBhbmQgdGltZXN0YW1wcwoJICBSZXNldCBzdGF0ZSBvbiBkaXNjb250LgoJICBJbnRlcnBvbGxhdGUgdGltZXN0YW1wcy4KCjIwMTItMTAtMDMgMTI6NDc6MTQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSAgc2JjOiBhdWRpbzogTWFrZSB0aGUgc2JjZGVjIGVsZW1lbnQgY29weSBidWZmZXIgbWV0YWRhdGEKCSAgTWFrZXMgc3VyZSB3ZSBkb24ndCBsb3NlIHRpbWVzdGFtcHMsIGV0Yy4KCjIwMTItMTAtMjkgMTI6NDk6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJICBzYmM6IGVuYzogc2JjX2dldF9mcmFtZV9kdXJhdGlvbiBpcyBpbiBtaWxsaXNlY29uZHMKCjIwMTItMTAtMjkgMTI6Mzc6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJICBzYmM6IGRlYzogY2hhaW4gdXAgdG8gcGFyZW50IGJlZm9yZSBkb3dud2FyZCBzdGF0ZSBjaGFuZ2UKCjIwMTItMTAtMTIgMTg6NTM6MTYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSAgc2JjOiBhdWRpbzogRml4IGEgbGVhayBpbiBzYmNkZWMKCjIwMTItMDktMjYgMDk6NTQ6MDEgKzA4MDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJICBzYmM6IGF1ZGlvOiBJbml0aWFsaXNlIFNCQyBkYXRhIGJlZm9yZSB1c2UgaW4gc2JjcGFyc2UgZWxlbWVudAoKMjAxMi0wOC0yMSAxMTo0OToyNCAtMDQwMCAgQW5kZXJzb24gTGl6YXJkbyA8YW5kZXJzb24ubGl6YXJkb0BvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogRml4IHRyaXZpYWwgY29kaW5nIHN0eWxlIGlzc3VlcyBvbiBwb2ludGVyIGRlY2xhcmF0aW9ucyBhbmQgY2FzdGluZwoJICBBdm9pZCB1c2luZyBDKysgc3R5bGUgcG9pbnRlciBkZWNsYXJhdGlvbnMgbGlrZSAiY2hhciogcHRyIiwgYXMgbW9zdAoJICBCbHVlWiBjb2RlIHVzZXMgImNoYXIgKnB0ciIuCgoyMDEyLTA0LTEyIDIwOjMzOjA2ICswNTMwICBTeWFtIFNpZGhhcmRoYW4gPHMuc3lhbUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IGF1ZGlvOiBGaXggbmV3bGluZSBiZWZvcmUgRU9GCgoyMDExLTA3LTAyIDEyOjMyOjQwIC0wMzAwICBMdWNhcyBEZSBNYXJjaGkgPGx1Y2FzLmRlbWFyY2hpQHByb2Z1c2lvbi5tb2JpPgoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkgIHNiYzogRml4IGNvbW1vbiBtaXNzcGVsbGVkIHdvcmRzCgkgIEFjY291bnRpbmcgb2YgbWlzc3BlbGxlZCB3b3JkcywgYXMgZGV0ZWN0ZWQgYnkgY29kZXNwZWxsOgoJICBhY29yZGluZyAgICAgIDIKCSAgYW5jaWxsaWFyeSAgICAxCgkgIGFwcHJvcGlhdGUgICAgMQoJICBhdHJpYnV0ZSAgICAgIDEKCSAgY2FudCAgICAgICAgICAxCgkgIGNvbW1pbmcgICAgICAgMgoJICBncmFjZWZ1bGwgICAgIDEKCSAgbGVuZ2h0ICAgICAgICAxCgkgIG1pc3BlbGxlZCAgICAgMQoJICBvY2N1cmVkICAgICAgIDEKCSAgb2NjdXJlbmNlcyAgICAxCgkgIG9jdXJyZWQgICAgICAgMwoJICBwcmVmZXJlZCAgICAgIDEKCSAgcHJlc2Vuc2UgICAgICAxCgkgIHJlcG9uc2UgICAgICAgMQoJICBzZXBlcmF0ZSAgICAgIDEKCSAgc3VjY2VzZnVsICAgICAxCgkgIHN1Y2Nlc3N1bGx5ICAgMQoJICBzdWNlc3NmdWxsICAgIDEKCSAgc3VjZXNzZnVsbHkgICAxCgoyMDExLTAyLTEzIDE3OjUxOjQ1IC0wODAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5oOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmg6CgkgIHNiYzogYXVkaW86IFJlbW92ZSB3b3JrYXJvdW5kIGZvciBjb21waWxlciB3YXJuaW5ncwoKMjAxMC0wNS0xOSAxNjo1OTozMCArMDIwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJICBzYmM6IEFkZCBwcmFnbWEgYmFzZWQgd29ya2Fyb3VuZCBmb3IgR1N0cmVhbWVyIHdhcm5pbmdzCgoyMDEwLTAxLTAxIDE3OjA4OjE3IC0wODAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2RlYy5oOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuaDoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IFVwZGF0ZSBjb3B5cmlnaHQgaW5mb3JtYXRpb24KCjIwMDktMDQtMDEgMTA6NDU6MzAgLTAzMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSAgc2JjOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlLgoKMjAwOS0wNC0wMSAxMDoyOTozMSAtMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSAgc2JjOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlLgoKMjAwOS0wMS0zMCAwMDozMToxNSArMDEwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkgIHNiYzogRml4IHNpZ25lZC91bnNpZ25lZCBjb21wYXJpc29uIGlzc3VlIHdpdGhpbiBHU3RyZWFtZXIgcGx1Z2luCgoyMDA5LTAxLTE5IDEwOjI2OjI4ICswMjAwICBTaWFyaGVpIFNpYW1hc2hrYSA8c2lhcmhlaS5zaWFtYXNoa2FAZ21haWwuY29tPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSAgc2JjOiBVc2UgbmF0aXZlIGJ5dGUgb3JkZXIgZm9yIGF1ZGlvIGluIEdTdHJlYW1lciBhbmQgQUxTQSBwbHVnaW5zCgkgIFRoaXMgZml4ZXMgZW5kaWFubmVzcyBpbmNvbnNpc3RlbmN5IGJldHdlZW4gZGVmYXVsdCBTQkMKCSAgY29uZmlndXJhdGlvbiBhbmQgR1N0cmVhbWVyL0FMU0EuCgoyMDA5LTAxLTAxIDE5OjMzOjIwICswMTAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2RlYy5oOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuaDoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IFVwZGF0ZSBjb3B5cmlnaHQgaW5mb3JtYXRpb24KCjIwMDgtMTItMjMgMDU6MjU6NTAgKzAxMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmg6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5oOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBGaXJzdCBhdHRlbXB0IGluIGZpeGluZyBjb21waWxlciB3YXJuaW5ncyAoc3RpbGwgbmVlZHMgY2xlYW51cCkKCjIwMDgtMTItMjMgMDQ6MjE6NTcgKzAxMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJICBzYmM6IEFzc2lnbiB2YXJpYWJsZXMgYWZ0ZXIgZGVjbGFyYXRpb25zCgoyMDA4LTEyLTIwIDIxOjQyOjQ5ICswMjAwICBKb2hhbiBIZWRiZXJnIDxqb2hhbi5oZWRiZXJnQG5va2lhLmNvbT4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSAgc2JjOiBNb3JlIGNvZGluZyBzdHlsZSBmaXhlcwoKMjAwOC0wMi0yMCAxMzozNzowMCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJICBzYmM6IEZpeCBydW50aW1lIHdhcm5pbmdzIG9mIGdzdHJlYW1lciBwbHVnaW4uCgoyMDA4LTAyLTE5IDE5OjQ5OjI0ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2RlYy5oOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogVXBkYXRlIGdzdHJlYW1lciBwbHVnaW4gdG8gdXNlIG5ldyBzYmMgQVBJLgoKMjAwOC0wMi0xNCAyMToyMjozOCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkgIHNiYzogTWFrZSB1c2Ugb2YgcGFyYW1ldGVycyBzZWxlY3RlZCBpbiBhbHNhIHBsdWdpbiBhbmQgZml4IGF1dG8gc2VsZWN0aW9uLgoKMjAwOC0wMi0wMiAwMzozNzowNSArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNkZWMuaDoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmg6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBVcGRhdGUgY29weXJpZ2h0IGluZm9ybWF0aW9uCgoyMDA4LTAyLTAxIDE5OjI4OjM3ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogQWRkIGJpdHBvb2wgcHJvcGVydHkgYW5kIG90aGVycyBmaXhlcyBmb3IgZ3N0cmVhbWVyIHBsdWdpbi4KCjIwMDgtMDEtMzAgMTc6MzA6MjcgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5oOgoJICBzYmM6IEVuYWJsZSBnc3RyZWFtZXIgcGx1Z2luIHRvIHVzZSBhdXRvY29ubmVjdCBmbGFnLgoKMjAwOC0wMS0zMCAxNDoyMTo0MyArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNkZWMuaDoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSAgc2JjOiBGaXhlcyBnc3RyZWFtZXIgY2FwcyBhbmQgY29kZSBjbGVhbnVwLgoKMjAwOC0wMS0yNCAxNDoyNToyOSArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkgIHNiYzogRml4IGd0cmVhbWVyIHBheWxvYWRlciBzZW5kaW5nIGZyYWdtZW50ZWQgZnJhbWVzLgoKMjAwOC0wMS0yMyAxMzoxOTozMiArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IEFkZCBtcDMgc3VwcG9ydCBmb3IgZ3N0cmVhbWVyIHBsdWdpbi4KCjIwMDgtMDEtMjMgMTM6MTQ6MDIgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmg6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5oOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogTWFrZSBhMmRwc2luayB0byBhY3QgbGlrZSBhIGJpbiBhbmQgc3BsaXQgdGhlIHBheWxvYWRlci4KCjIwMDctMTEtMjMgMTc6MDA6MTMgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkgIHNiYzogQ29kZSBjbGVhbnVwLgoKMjAwNy0xMS0yMSAyMDoyNDoxMSArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogSW50ZWdyYXRlIG5ldyBpcGMgQVBJIGltcGxlbWVudGF0aW9uLgoKMjAwNy0xMS0xMyAyMDowNDoxMiArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSAgc2JjOiBBZGQgc2JjX3JlaW5pdC4KCjIwMDctMTEtMTIgMjI6MjE6NDUgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkgIHNiYzogRml4IGJ1ZyBpbiBzYmNlbmMgd2hlbiBjaGFuZ2luZyBlbmNvZGVyIHBhcmFtZXRlcnMuCgoyMDA3LTExLTEyIDE4OjE1OjU5ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJICBzYmM6IE1ha2Ugc2JjIGNvZGVjIHRvIHdyaXRlIGRpcmVjdGx5IGluIGFwcGxpY2F0aW9uIGJ1ZmZlcnMgYW5kIHNvIGF2b2lkaW5nIG1lbWNweXMuCgoyMDA3LTExLTAxIDE5OjQ1OjAwICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBGaXggc2JjIG5lZ290aWF0aW9uIGFuZCBpbXByb3ZlcyBidWZmZXIgaGFuZGxpbmcgYnkgdXNpbmcgR3N0QWRhcHRlci4KCjIwMDctMTEtMDEgMTM6NTY6NTEgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkgIHNiYzogRml4IGJ1ZmZlcnMgdGltZXN0YW1wcyBpbiBzYmNlbmMuCgoyMDA3LTEwLTI5IDE1OjAyOjI2ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBBZGQgYml0cG9vbCBjYXBhYmlsaXR5LgoKMjAwNy0xMC0yNCAyMTo1MTozNyArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJICBzYmM6IFNvbWUgbW9yZSBjb2Rpbmcgc3R5bGUgY2hhbmdlcwoKMjAwNy0xMC0yNCAyMTozNjoyOSArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkgIHNiYzogRG9uJ3QgZm9yZ2V0IHRvIGluY2x1ZGUgdGhlIGNvbmZpZyBvcHRpb25zCgoyMDA3LTEwLTI0IDIxOjMzOjE4ICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogRml4IGNvZGluZyBzdHlsZSBpc3N1ZXMKCjIwMDctMTAtMTggMjI6NDY6MTIgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSAgc2JjOiBGaXggY29kaW5nIHN0eWxlIGlzc3Vlcy4KCjIwMDctMTAtMTggMjE6NDc6NTMgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSAgc2JjOiBGaXhlcyBzYmNwYXJzZXIgZWxlbWVudC4KCjIwMDctMTAtMTggMjE6NDY6NDkgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJICBzYmM6IEZpeGVzIGZvciBnc3RzYmNlbmMuCgoyMDA3LTEwLTE4IDIxOjQ1OjE0ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogQWRkIGdzdHNiY3V0aWwuYyBhbmQgZ3N0c2JjdXRpbC5oLgoKMjAwNy0wOC0yNyAxNDoxMDowMCArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJICBzYmM6IEZvcmNlIExJVFRMRV9FTkRJQU4gaW5zdGVhZCBvZiBCWVRFX09SREVSIGZvciBub3cKCjIwMDctMDgtMjYgMTM6NTk6MDUgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5oOgoJICBzYmM6IEltcGxlbWVudCBmdWxsIHBhcnNpbmcgc3VwcG9ydAoKMjAwNy0wOC0yNiAxMzoxMjo0NyArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSAgc2JjOiBBZGQgbW9kZSBwcm9wZXJ0eSB0byB0aGUgZW5jb2RlcgoKMjAwNy0wOC0yNSAxOTozMjowMyArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSAgc2JjOiBJbXBsZW1lbnQgZnVsbCBlbmNvZGluZyBzdXBwb3J0CgoyMDA3LTA4LTI1IDE4OjUwOjI4ICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJICBzYmM6IEZpeCBjbGFzcyB2YXJpYWJsZSBuYW1pbmcKCjIwMDctMDgtMjUgMTc6Mzc6MDUgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkgIHNiYzogTGltaXQgdGhlIHN1cHBvcnRlZCBvdXRwdXQgcmF0ZXMKCjIwMDctMDgtMjUgMTc6MDM6MDMgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmg6CgkgIHNiYzogSW1wbGVtZW50IGZ1bGwgZGVjb2Rpbmcgc3VwcG9ydAoKMjAwNy0wOC0yMyAxOToxMjoyMyArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNkZWMuaDoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSAgc2JjOiBBZGQgU0JDIGVuY29kZXIgYW5kIGRlY29kZXIgc2tlbGV0b25zIGZvciBHU3RyZWFtZXIKCjIwMTMtMDMtMjcgMDk6MDg6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZHZpZGVvc2luazogTWFrZSBzdXJlIHRoYXQgYWxsIGJ1ZmZlcnMgaW4gb3VyIHBvb2wgY29udGFpbiBvdXIgb3duIG1lbW9yeQoKMjAxMy0wMy0yNiAxNToyMjoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy93YXNhcGkvTWFrZWZpbGUuYW06CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuaDoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuaDoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpdXRpbC5oOgoJICB3YXNhcGk6IEluaXRpYWwgcG9ydCB0byAxLjAKCSAgVGhpcyBzaG91bGQgcmVhbGx5IHVzZSBHc3RBdWRpb1NpbmsgYW5kIEdzdEF1ZGlvU3JjLgoKMjAxMy0wMy0yNiAxNTowMTowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaS5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmM6CgkgIHdhc2FwaTogSW5jbHVkZSBjb25maWcuaCBiZWZvcmUgYW55dGhpbmcgZWxzZQoKMjAxMy0wMy0yNiAxNDoxNTo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSAgZDNkdmlkZW9zaW5rOiBBZGQgc3VwcG9ydCBmb3IgY3JvcCBtZXRhCgoyMDEzLTAzLTI2IDEzOjIyOjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBidWlsZDogd2UgbmVlZCBhIHJlY2VudC1lbm91Z2ggZ251dGxzIGZvciBobHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjU5NwoKMjAxMi0xMi0yMiAyMTo1OTowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkgIGQzZHZpZGVvc2luazogSW1wbGVtZW50IGEgYnVmZmVyIHBvb2wgdGhhdCBzaGFyZXMgRDNEIHN1cmZhY2VzIHdpdGggdXBzdHJlYW0KCjIwMTItMTItMjIgMTk6MTI6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZHZpZGVvc2luazogQWxsb2NhdGUgYSBuZXcgb2Zmc2NyZWVuIHN1cmZhY2UgZm9yIGV2ZXJ5IGJ1ZmZlcgoJICBUaGlzIGlzIGEgcHJlcGFyYXRpb24gZm9yIGltcGxlbWVudGluZyBhIGJ1ZmZlciBwb29sLgoKMjAxMy0wMy0yNSAxODowNDowOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBVc2UgJTAzdSBmb3IgZm9ybWF0IGluIGdzdF9wYWRfY3JlYXRlX3N0cmVhbV9pZF9wcmludGYoKQoKMjAxMy0wMy0yNSAxMzo0ODoyMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwOiBGaXggZmlsdGVyIGhhbmRsaW5nIGluIGNhcHMgbmVnb3RpYXRpb24gdG8ga2VlcCBmaWx0ZXIgY29udGVudAoKMjAxMy0wMy0yNSAwOTo0NTozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkgIGFwcGxlbWVkaWE6IGZpeCBidWlsZCBmb3Igb2JqYwoJICBUaGUgb2JqLWMgYXBpIHZlcnNpb24gb3B0aW9uIGlzIHJlcXVpcmVkIHRvIGdldCBhcHBsZW1lZGlhIHRvCgkgIGJ1aWxkIGZvciBpb3MsIG90aGVyd2lzZSBpdCB3b24ndCBmaW5kIHNvbWUgc3ltYm9scyBkdXJpbmcgbGlua2luZwoKMjAxMy0wMy0yNSAxMDoxMDoyOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZWQ6IHNldCBib3RoIERUUyBhbmQgUFRTCgkgIEhhbmRsZSBib3RoIGR0cyBhbmQgcHRzIG9uIG91dHB1dCBidWZmZXJzLgoKMjAxMy0wMy0xMCAxMjoxNzowNSArMTMwMCAgRG91Z2xhcyBCYWduYWxsIDxkb3VnbGFzQHBhcmFkaXNlLm5ldC5uej4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIHRzZGVtdXg6IHJlbW92ZSB1bnVzZWQgY3VycmVudF9wcm9ncmFtX251bWJlciBmaWVsZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwOTM0CgoyMDEzLTAzLTIyIDE5OjQwOjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJICByYXdwYXJzZTogc2VuZCBzZWdtZW50IGV2ZW50IGluIHRpbWUgZm9ybWF0IGFsc28gaW4gcHVzaCBtb2RlCgkgIFdoZW4gY29udmVydGluZyB0aGUgaW5jb21pbmcgc2VnbWVudCBmcm9tIGJ5dGUgdG8gdGltZSBmb3JtYXQsCgkgIGRvbid0IGp1c3QgY29udmVydCB0aGUgc3RhcnQvc3RvcC90aW1lIHZhbHVlcywgYnV0IGFsc28gY2hhbmdlCgkgIHRoZSBzZWdtZW50IGZvcm1hdCB0byBUSU1FLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2MzYxCgoyMDEzLTAzLTIyIDE1OjMwOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCBidWlsZCBpZiBnbnV0bHMgaXMgbm90IHByZXNlbnQKCSAgU2tpcCBidWlsZCBvZiBobHMgcGx1Z2luIGlmIGdudXRscyBoZWFkZXJzIGNhbid0IGJlIGZvdW5kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2MzkyCgoyMDEzLTAzLTIyIDE1OjQ5OjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmg6CgkgIHk0bWRlYzogVXNlIHRoZSBjb3JyZWN0IHN0cmlkZXMgYXMgdXNlZCBieSB5NG0gYW5kIGNvbnZlcnQgdG8gR1N0cmVhbWVyIHN0cmlkZXMgaWYgbmVjZXNzYXJ5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTYzNjEKCjIwMTMtMDMtMjIgMTU6MTk6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmx1aWRzeW50aC9NYWtlZmlsZS5hbToKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRkZWMuYzoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRkZWMuaDoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5jOgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmg6CgkgIGZsdWlkc3ludGg6IHJlbmFtZSB0byBmbHVpZGRlYwoJICBSZW5hbWUgdGhlIGZsdWlkc3ludGggcGx1Z2luIHRvIGZsdWlkc3ludGhtaWRpIGFuZCB0aGUgZGVjb2RlcgoJICB0byBmbHVpZGRlYyB0byBhdm9pZCBjb25mbGljdHMgd2l0aCBidXp6dGFyZC4KCjIwMTMtMDMtMjIgMTQ6NTI6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSAgeTRtZGVjOiBVc2UgdGhlIGRlZmF1bHQgZXZlbnQvcXVlcnkgaGFuZGxlcnMgZm9yIHRoZSBkZWZhdWx0IGhhbmRsaW5nCgkgIEVzcGVjaWFsbHkgZG9uJ3QgZm9yd2FyZCBjYXBzIGV2ZW50cyBmcm9tIHRoZSBzaW5rcGFkIHRvIHRoZSBzcmNwYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTYyODIKCjIwMTMtMDMtMjIgMTQ6Mzc6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSAgeTRtZGVjOiBQcm9wZXJseSBoYW5kbGUgc2VnbWVudCBhbmQgdGltZSB2YWx1ZXMgb2YgLTEKCjIwMTMtMDMtMjIgMTQ6NDg6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpLmM6CgkgIG1pZGk6IHNldCBtaWRpIHBhcnNlciByYW5rIHByaW1hcnkKCSAgTm93IHRoYXQgaXQgc3VwcG9ydHMgc2Vla2luZyBhbmQgYWxsLCBtYXJrIGl0IHByaW1hcnkKCjIwMTMtMDMtMjIgMTM6NDk6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSAgbWlkaXBhcnNlOiBhbHdheXMgc2VlayBiYWNrIHRvIGJlZ2lubmluZwoJICBXZSBhbHdheXMgbmVlZCB0byBzZWVrIGJhY2sgdG8gdGhlIGJlZ2lubmluZyBiZWNhdXNlIHdoZW4gd2UgZG8gYSBmbHVzaGluZyBzZWVrLAoJICB3ZSBtaWdodCBoYXZlIGxvc3QgZXZlbnRzIGRvd25zdHJlYW0uCgoyMDEzLTAzLTIyIDEzOjQ4OjI2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5jOgoJICBmbHVpZHN5bnRoOiBmaXggZGVidWcgb2Ygc2VnbWVudCBzdHJ1Y3R1cmUKCjIwMTMtMDMtMjIgMTM6NDg6MDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmM6CgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguaDoKCSAgZmx1aWRzeW50aDogaGFuZGxlIGRpc2NvbnQKCjIwMTMtMDMtMjIgMTI6MjU6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmg6CgkgIG1pZGlwYXJzZTogaW1wbGVtZW50IHNlZWtpbmcKCSAgU2VlayBiYWNrIHRvIDAgZm9yIGJhY2t3YXJkIHNlZWtpbmcgYW5kIGxldCB0aGluZ3MgcnVuIGFuZCBjbGlwIGZvciBmb3J3YXJkcwoJICBzZWVraW5nLgoKMjAxMy0wMy0yMiAxMjoxNjo0NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguYzoKCSAgZmx1aWRzeW50aDogcmVzZXQgb24gZmx1c2ggYW5kIHN0YXRlIGNoYW5nZQoKMjAxMy0wMy0yMiAxMTowNDoxMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguYzoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5oOgoJICBmbHVpZHN5bnRoOiBhZGQgcHJvcGVydGllcwoJICBBZGQgcHJvcGVydGllcy4KCSAgVHJ5IHRvIGZpbmQgYSBnb29kIGRlZmF1bHQgc291bmRmb250IHdoZW4gbm90IHNwZWNpZmllZC4KCjIwMTMtMDMtMjIgMDg6NTQ6NTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmM6CgkgIGZsdWlkc3ludGg6IGxvZyBtaWRpIHRpY2sgZXZlbnQKCjIwMTMtMDMtMjIgMDg6NTQ6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmM6CgkgIGZsdWlkc3ludGg6IHJlZGlyZWN0IGxvZ2dpbmcgdG8gZ3N0IGxvZ2dpbmcgZnVuY3Rpb25zCgoyMDEzLTAzLTIxIDE4OjE4OjI5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkgIG1pZGlwYXJzZTogc2ltcGxpZnkgdGhlIGNhbGxiYWNrcwoJICBXZSBvbmx5IG5lZWQgb25lIGNhbGxiYWNrIHRvIHNlbmQgYnl0ZXMgb3V0LgoKMjAxMy0wMy0yMSAxODoxNzo0MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguYzoKCSAgZmx1aWRzeW50aDogaW1wcm92ZSBkZWJ1ZwoKMjAxMy0wMy0yMSAxNzoyNTozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJICBtaWRpcGFyc2U6IGNsZWFuIHVwIHRyYWNrcwoKMjAxMy0wMy0yMSAxNzoxNjoyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuaDoKCSAgbWlkaXBhcnNlOiBkb24ndCBsZWFrIG1pZGkgZGF0YQoKMjAxMy0wMy0yMSAxNzowNTozNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguYzoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5oOgoJICBmbHVpZHN5bnRoOiBwcm9kdWNlIG1vcmUgYWNjdXJhdGUgdGltZXN0YW1wcwoKMjAxMy0wMy0yMSAxNjowNTo0MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJICBtaWRpcGFyc2U6IHNtYWxsIGNsZWFudXBzIGluIGVycm9yIHBhdGhzCgoyMDEzLTAzLTIxIDE2OjA1OjAwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkgIG1pZGlwYXJzZTogZHVyYXRpb24gaXMgbWF4IG9mIGFsbCB0cmFjayBkdXJhdGlvbnMKCjIwMTMtMDMtMjEgMTY6MDQ6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSAgbWlkaXBhcnNlOiBmaXgga2xhc3MKCjIwMTMtMDMtMjEgMTU6NDM6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlczogSW5jbHVkZSBzdHJpbmcuaCBmb3IgbWVtY3B5KCkKCjIwMTMtMDMtMjEgMTU6MDA6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmg6CgkgIG1pZGlwYXJzZTogVXBkYXRlIGR1cmF0aW9uCgkgIFJld29yayB0aGluZ3MgYSBiaXQgc28gdGhhdCB3ZSBjYW4gcnVuIG92ZXIgdGhlIG1pZGkgZXZlbnRzIGFuZCBmaXJlIGNhbGxiYWNrcwoJICBmb3IgZWFjaCBvZiB0aGVtLiBXZSBjYW4gdGhlbiB1c2UgdGhhdCBmb3IgY2FsY3VsYXRpbmcgdGhlIGR1cmF0aW9uIGFuZCBhbHNvIGZvcgoJICBkb2luZyBwbGF5YmFjay4KCSAgT25seSBwYXJzZSBhcyBtYW55IHRyYWNrcyBhcyBzcGVjaWZpZWQgaW4gdGhlIGhlYWRlci4KCSAgRml4IGRlZmF1bHQgdGVtcG87CgkgIFNlbmQgTUlESSB0aWNrIGV2ZW50cyBldmVyeSAxMG1zCgoyMDEzLTAzLTIxIDE0OjU3OjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5jOgoJICBmbHVpZHN5bnRoOiBhZGQgbW9yZSBkZWJ1ZwoKMjAxMy0wMy0yMSAwOTozMDo0MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJICBtaWRpcGFyc2U6IGhhbmRsZSBtaWRpIGluIFJJRkYKCjIwMTMtMDMtMjEgMDc6MjE6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSAgbWlkaXBhcnNlOiBzbWFsbCBmaXhlcwoKMjAxMy0wMy0yMSAwNzowNzoyOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGkuYzoKCSAgbWlkaTogc2V0IHJhbmsgYXMgbWFyZ2luYWwKCSAgU2V0IHRoZSBtYXJrIHRvIG1hcmdpbmFsIHVudGlsIHdlIGltcGxlbWVudCBtb3JlIGZlYXR1cmVzLgoKMjAxMy0wMy0yMSAwNzowNTo1NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZmx1aWRzeW50aC9NYWtlZmlsZS5hbToKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5jOgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmg6CgkgIGZsdWlkc3ludGg6IGFkZCBmbHVpZHN5bnRoIG1pZGkgcmVuZGVyZXIKCSAgQWRkIGEgZmx1aWRzeW50aCBlbGVtZW50IHRoYXQgY29udmVydHMgbWlkaSBldmVudHMgaW50byByYXcKCSAgZmxvYXQgc2FtcGxlcy4KCjIwMTMtMDMtMjEgMDY6NTA6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9taWRpL01ha2VmaWxlLmFtOgoJKiBnc3QvbWlkaS9taWRpLmM6CgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuaDoKCSAgbWlkaXBhcnNlOiBhZGQgYmFzaWMgbWlkaSBwYXJzZXIKCSAgUGFyc2VzIG1pZGkgZmlsZXMgYW5kIG91dHB1dHMgYnVmZmVycyB3aXRoIG1pZGkgZXZlbnRzLgoKMjAxMy0wMy0yMCAxNToyOTo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXZ0Yy9NYWtlZmlsZS5hbToKCSAgaXZ0YzogZml4IG1ha2UgZGlzdAoKMjAxMy0wMy0yMCAxNToyNTo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIERpc3QgaGxzIGFzIHdlbGwKCjIwMTMtMDMtMjAgMTU6MTk6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGFjdHVhbGx5IGJ1aWxkIGhscyBwbHVnaW4KCjIwMTMtMDMtMjAgMTA6NDk6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSAgZGVja2xpbmtzaW5rOiBmaXggc29tZSBjb21waWxlciB3YXJuaW5ncwoKMjAxMy0wMy0xOSAxNjozOTowMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXZ0Yy9nc3Rjb21iZGV0ZWN0LmM6CgkqIGdzdC9pdnRjL2dzdGNvbWJkZXRlY3QuaDoKCSogZ3N0L2l2dGMvZ3N0aXZ0Yy5jOgoJKiBnc3QvaXZ0Yy9nc3RpdnRjLmg6CgkgIGNvbWJkZXRlY3QsaXZ0YzogY29kZSBjbGVhbnVwCgoyMDEzLTAzLTE5IDE3OjI4OjE2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQtYXVkaW86CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQtc2ltcGxlOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkLXRlbXBsYXRlLXZpZGVvOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQtYXVkaW86CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZC1zaW1wbGU6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZC10ZW1wbGF0ZS12aWRlbzoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IHJlbW92ZSBzaW5rcGFkL3NyY3BhZCBmaWVsZHMKCSAgSW5mb3JtYXRpb24gaXMgaW4gdGhlIGJhc2UgY2xhc3MgYW55d2F5LCBwbHVzIHBhZCBjcmVhdGlvbiB3YXMKCSAgZG9uZSBpbmNvcnJlY3RseS4KCjIwMTMtMDMtMTkgMTI6MTk6MjcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2l2dGMvZ3N0Y29tYmRldGVjdC5jOgoJICBjb21iZGV0ZWN0OiBvdXRwdXQgcHJvZ3Jlc3NpdmUgdmlkZW8KCjIwMTMtMDMtMTggMTY6MjI6NTUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2l2dGMvZ3N0Y29tYmRldGVjdC5jOgoJICBjb21iZGV0ZWN0OiBjb2RlIGNsZWFudXAKCjIwMTMtMDMtMTIgMTc6NDc6NTIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2l2dGMvZ3N0Y29tYmRldGVjdC5jOgoJICBjb21iZGV0ZWN0OiBzd2l0Y2ggdG8gemVicmEgc3RyaXBpbmcKCjIwMTMtMDMtMDggMTc6MDI6MTQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2l2dGMvZ3N0aXZ0Yy5jOgoJICBpdnRjOiBkcm9wIGVhcmx5IGZpZWxkcwoKMjAxMy0wMi0yMCAxNTozMjoxNSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pdnRjL01ha2VmaWxlLmFtOgoJKiBnc3QvaXZ0Yy9nc3Rjb21iZGV0ZWN0LmM6CgkqIGdzdC9pdnRjL2dzdGNvbWJkZXRlY3QuaDoKCSogZ3N0L2l2dGMvZ3N0aXZ0Yy5jOgoJKiBnc3QvaXZ0Yy9nc3RpdnRjLmg6CgkgIGl2dGM6IG5ldyBpbnZlcnNlIHRlbGVjaW5lIGZpbHRlcgoJICBUaGlzIGZpbHRlciBjb252ZXJ0cyBpbnRlcmxhY2VkIGNvbnRlbnQgdGhhdCB3YXMgb3JpZ2luYWxseQoJICB0ZWxlY2luZSdkIGZyb20gMjQgZnBzIChvciBzaW1pbGFyKSBwcm9ncmVzc2l2ZSBjb250ZW50LiAgSXQgd29ya3MKCSAgYXBwcm94aW1hdGVseSBsaWtlIHZpZGVvcmF0ZSwgYnV0IHdpdGggYXdhcmVuZXNzIG9mIGludGVybGFjaW5nLgoJICBJdCBtZXJnZXMgbmVpZ2hib3JpbmcgZmllbGRzIGluIHRoZSBpbnB1dCBpbnRlcmxhY2VkIHN0cmVhbSB3aXRoCgkgIHRoZSBnb2FsIG9mIG1pbmltaXppbmcgY29tYmluZyBhcnRpZmFjdHMsIHdoaWxlIGtlZXBpbmcgdGhlIG91dHB1dAoJICBmcmFtZXJhdGUgY29uc3RhbnQuICBJZiBpdCBjYW5ub3QgYXZvaWQgY29tYmluZyBhcnRpZmFjdHMsIGl0IHdpbGwKCSAgcmVjb25zdHJ1Y3QgdGhlIGltYWdlIGZyb20gYSBzaW5nbGUgZmllbGQuICBOb3RlIHRoYXQgdGhpcyBmaWx0ZXIKCSAgZG9lcyBub3QgYXV0b2RldGVjdCB0aGUgZnJhbWVyYXRlLCBidXQgd2lsbCBhdXRvbWF0aWNhbGx5IGZpeGF0ZQoJICBhdCAyNCBmcHMuCgoyMDEzLTAzLTE5IDE0OjMxOjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkgIGVnbDogRml4IHNvbWUgcmV0dXJuIHZhbHVlcyBpbiBnX3JldHVybl92YWxfaWZfZmFpbCgpCgoyMDEzLTAzLTE5IDEzOjU0OjAwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiBmaXggZXZlbnQgYW5kIHF1ZXJ5IGhhbmRsZXIKCSAgQ2FsbCB0aGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBmb3IgdW5rbm93biBldmVudHMgYW5kIHF1ZXJpZXMuCgkgIEZpeCBldmVudCBsZWFrLgoKMjAxMy0wMy0xOSAxMDo0NzoyNSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9obHMvTWFrZWZpbGUuYW06CgkqIGV4dC9obHMvZ3N0ZnJhZ21lbnQuYzoKCSogZXh0L2hscy9nc3RmcmFnbWVudC5oOgoJKiBleHQvaGxzL2dzdGZyYWdtZW50ZWQuaDoKCSogZXh0L2hscy9nc3RmcmFnbWVudGVkcGx1Z2luLmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJKiBleHQvaGxzL2dzdGhsc3NpbmsuYzoKCSogZXh0L2hscy9nc3RobHNzaW5rLmg6CgkqIGV4dC9obHMvZ3N0bTN1OHBsYXlsaXN0LmM6CgkqIGV4dC9obHMvZ3N0bTN1OHBsYXlsaXN0Lmg6CgkqIGV4dC9obHMvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBleHQvaGxzL2dzdHVyaWRvd25sb2FkZXIuaDoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50LmM6CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnQuaDoKCSogZ3N0L2hscy9nc3RmcmFnbWVudGVkLmg6CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnRlZHBsdWdpbi5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmM6CgkqIGdzdC9obHMvZ3N0aGxzc2luay5oOgoJKiBnc3QvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJKiBnc3QvaGxzL2dzdG0zdThwbGF5bGlzdC5oOgoJKiBnc3QvaGxzL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZ3N0L2hscy9nc3R1cmlkb3dubG9hZGVyLmg6CgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvaGxzL20zdTguaDoKCSAgTWFrZSB0aGUgaGxzIHBsdWdpbiBkZXBlbmQgb24gZ251dGxzIGFuZCBtb3ZlIHRvIGV4dC9obHMvCgkgIGdudXRscyBpcyB1c2VkIHRvIGltcGxlbWVudCBBRVMgZGVjcnlwdGlvbgoKMjAxMy0wMy0xOSAxMDoyNjoxNCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiB1c2UgZ251dGxzIGluc3RlYWQgb2Ygb3BlbnNzbAoKMjAxMy0wMy0xOSAwODo0OToyMSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IHN1cHBvcnQgZW5jcnlwdGVkIHN0cmVhbXMKCjIwMTMtMDMtMTkgMTA6MTQ6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICBwb3J0IHdpbGRtaWRpCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTYwNDEKCjIwMTMtMDMtMTggMjE6MTI6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJICBkZWNrbGlua3Npbms6IG9idGFpbiBjbGFzcyBmcm9tIG9iamVjdAoKMjAxMy0wMy0xOCAyMTowMTo1OSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IGZpeCBpbnZhbGlkIGZyZWUoKSBpbnRyb2R1Y2VkIGJ5IGxhc3QgY29tbWl0CgoyMDEzLTAzLTA3IDIyOjE5OjE1ICswMDAwICBLZXZpbiBUaG9ybmJlcnJ5IDxnaW1tZWFtaWxrYnR0ZkBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9hYWMuYzoKCSAgbXBlZ3RzbXV4OiBmaXggY3JlYXRpb24gb2YgQURUUyBoZWFkZXIgZm9yIEFBQyBhdWRpbyBpbiBNUEVHLVRTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU0MTIKCjIwMTMtMDMtMTggMDc6MzQ6MTMgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogcGFyc2UgI0VYVC1YLUtFWSB0YWdzCgoyMDEzLTAzLTE4IDA3OjIyOjM2ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogZmFjdG9yIG91dCBVUkkgam9pbmluZyB1dGlsaXR5CgoyMDEzLTAzLTE4IDA3OjAyOjU0ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogZml4IFVSSSBwYXJzaW5nIGZvciBhYnNvbHV0ZSBmcmFnbWVudCBwYXRocwoKMjAxMy0wMy0xNiAyMzozMjoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rc3JjOiBzZXQgZGlzY29udCBmbGFnIG9uIGZpcnN0IGF1ZGlvIGJ1ZmZlciB0b28KCjIwMTMtMDMtMTYgMjM6Mjk6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGlua3NyYzogYWdncmVnYXRlIGF1ZGlvIGFuZCB2aWRlbyBmbG93IHJldHVybnMKCSAgQW5kIHBhdXNlIHRhc2sgaW4gc29tZSBtb3JlIGNhc2VzIHdoZXJlIHdlIHNob3VsZAoJICBwYXVzZSB0aGUgdGFzay4KCjIwMTMtMDMtMTYgMjE6Mzk6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbmtzcmM6IGFkZCBzZW5kX2V2ZW50IGhhbmRsZXIgc28gYXBwbGljYXRpb24gY2FuIGluamVjdCBFT1MgZXZlbnQKCSAgVGhpcyBpcyBuZWVkZWQgdG8gc2h1dCBkb3duIGEgcmVjb3JkaW5nIHBpcGVsaW5lIGNsZWFubHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODA3MDAKCjIwMTMtMDMtMTYgMjE6MzQ6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGlua3NyYzogcGF1c2Ugc3RyZWFtaW5nIHRocmVhZCBhbmQgc2VuZCBFT1MgZXZlbnQgb24gZXJyb3IKCSAgSW5zdGVhZCBvZiBqdXN0IHBvc3RpbmcgYW4gRU9TIG1lc3NhZ2UgYW5kIGNvbnRpbnVpbmcsCgkgIGFjdHVhbGx5IHBhdXNlIHRoZSB0aHJlYWQuCgoyMDEzLTAzLTE2IDEzOjEzOjE0IC0wNDAwICBKZWFuLUZyYW7Dp29pcyBGb3J0aW4gVGFtIDxuZWtvaGF5b0BnbWFpbC5jb20+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IGltcHJvdmUgcmVhZGFiaWxpdHkgb2YgUkdCIGFuZCBYWSBwcm9wZXJ0eSBuaWNrbmFtZSBzdHJpbmdzCgkgIEFsc28gZml4IHRoZSBZIHByb3Agbmlja25hbWUgc3RyaW5nIGJlaW5nIGluY29ycmVjdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTg4NAoKMjAxMy0wMy0xNiAxMzowNzoyNSAtMDQwMCAgSmVhbi1GcmFuw6dvaXMgRm9ydGluIFRhbSA8bmVrb2hheW9AZ21haWwuY29tPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBmaXggbmlja25hbWVzIGZvciBjb2xvciBhbmQgcG9zaXRpb24gcHJvcGVydGllcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1ODg0CgoyMDEzLTAzLTE1IDIwOjIxOjQ3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBNYXJrIGRlY2tsaW5rIGFzIHBvcnRlZAoKMjAxMy0wMy0xNSAwMDoyNTo0MyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkLXRlbXBsYXRlOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkLXRlbXBsYXRlLXZpZGVvOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQtdGVtcGxhdGU6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZC10ZW1wbGF0ZS12aWRlbzoKCSAgZWxlbWVudC1tYWtlcjogY2xlYW4gdXAgYml0cyBmcm9tIHByZXZpb3VzIGNvbW1pdAoJICBGaWxlcyB0aGF0IHdlcmUgc3VwcG9zZWQgdG8gYmUgaW4gdGhlIHByZXZpb3VzIGVsZW1lbnQtbWFrZXIKCSAgY29tbWl0LiAgVGhpcyBpcyB3aGF0IGhhcHBlbnMgd2hlbiBjaGVycnktcGljayBkb2Vzbid0IHdvcmsuCgoyMDEzLTAzLTE1IDE3OjQ3OjIzICswMTAwICBSaWNvIFR6c2NoaWNoaG9seiA8cmljb3R6QHQtb25saW5lLmRlPgoKCSogdG9vbHMvTWFrZWZpbGUuYW06CgkgIHRvb2xzOiBGaXggbWFrZSBkaXN0CgkgIE1pc3NpbmcgYml0cyBvZiBiNDVhMWRmNWRlYWRiMDI5ZGNiZTQ1MjJmMDExNmQzNGYxY2QyZjFlCgoyMDEzLTAzLTE1IDA5OjI5OjQyICswMTAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwOiBmaXggY29tcGlsYXRpb24gd2FybmluZyByZXR1cm5pbmcgTlVMTCBpbiBjYXNlIG9mIGVycm9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU4OTcKCjIwMTMtMDMtMTUgMDk6Mjc6MzYgKzAxMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwLmM6CgkgIHNydHA6IHVzZSBjb25zdGFudCBBRVNfMTI4X0lDTSBpbnN0ZWFkIG9mIEFFU19JQ00gdGhhdCBpcyBub3QgZm91bmQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTg5NwoKMjAxMy0wMy0wMSAxNjo1Mjo0MSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0dmlkZW9zZWdtZW50Y2xpcC5jOgoJICB2aWRlb3NlZ21lbnRjbGlwOiBEb24ndCBsZWFrIGJ1ZmZlcnMgYWZ0ZXIgc2VnbWVudAoKMjAxMy0wMy0xMiAxNzozMjo1MSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9zaWduYWwuYzoKCSAgdmlkZW9zaWduYWw6IGFkZCBGSVhNRSBmb3IgZnV0dXJlIHJldml2YWwKCjIwMTMtMDMtMTQgMjM6NTc6MDYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYXVkaW9kZWNvZGVyOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9hdWRpb2VuY29kZXI6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2F1ZGlvZmlsdGVyOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9hdWRpb3Npbms6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2F1ZGlvc3JjOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlYXVkaW9zaW5rOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlYXVkaW9zcmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VwYXJzZToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXJ0cGRlcGF5bG9hZDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXJ0cHBheWxvYWQ6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VzaW5rOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlc3JjOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNldHJhbnNmb3JtOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9jZGRhYmFzZXNyYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvZWxlbWVudDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvZ29iamVjdDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvcHVzaHNyYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZC1hdWRpbzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkLWF1ZGlvOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy90YWdkZW11eDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvdmlkZW9kZWNvZGVyOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy92aWRlb2VuY29kZXI6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3ZpZGVvZmlsdGVyOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy92aWRlb2ZpbHRlcjI6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3ZpZGVvc2luazoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IFVwZGF0ZSB0ZW1wbGF0ZXMgZm9yIDEuMAoJICBUaGlzIGFyZSAoYWxtb3N0KSBjb21wbGV0ZWx5IGF1dG9nZW5lcmF0ZWQgZnJvbSB0aGUgZG9jdW1lbnRhdGlvbi4KCjIwMTMtMDItMDUgMTY6MzQ6MjAgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkgIG14ZmRlbXV4OiBBZGQgYSBzZWNvbmQgTVhGIFVMIGZvciB1bmNvbXByZXNzZWQgYXVkaW8KCjIwMTMtMDItMDUgMTU6NTg6NTMgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGZkZW11eDogSWdub3JlIG1pc3NpbmcgbWV0YWRhdGEgZGVzY3JpcHRvcnMKCjIwMTMtMDMtMTQgMTI6MDk6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkb24ndCBzdG9wIHRhc2tzIGluIHBhdXNlZAoJICBBIG5vbi1saXZlIGVsZW1lbnQgaXMgc3VwcG9zZWQgdG8gY29udGludWUgc3RyZWFtaW5nIGluIHRoZSBwYXVzZWQgc3RhdGUgc28KCSAgZG9uJ3Qgc3RvcCB0aGUgdGFza3Mgd2hlbiBnb2luZyB0byBwYXVzZWQuCgkgIFdlIGFsc28gYWx3YXlzIHdhbnQgdG8gc3RhcnQgdGhlIHVwZGF0ZSB0YXNrIGFmdGVyIHdlIHByZXJvbGxlZCBlbm91Z2ggZGF0YSwKCSAgbm90IG9ubHkgaW4gdGhlIHBsYXlpbmcgc3RhdGUuCgoyMDEzLTAzLTE0IDEyOjA4OjM1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogYWRkIG1vcmUgZGVidWcKCjIwMTMtMDMtMTMgMTI6NTA6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzdXBwb3J0IGZvciBkaWZmZXJlbnQgRUdMSW1hZ2Ugb3JpZW50YXRpb25zCgoyMDEzLTAzLTEzIDExOjI5OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmg6CgkgIGVnbDogQWRkIHN1cHBvcnQgZm9yIGRpZmZlcmVudCBvcmllbnRhdGlvbnMgb2YgdGhlIEVHTEltYWdlCgkgIFRoZSBjb250ZW50IG9mIHRoZSBFR0xJbWFnZXMgY2FuIGJlIGF0IGxlYXN0IGluIEdTdHJlYW1lciBvcmllbnRhdGlvbiwKCSAgbWVhbmluZyB0b3AgbGluZSBmaXJzdCBpbiBtZW1vcnksIG9yIE9wZW5HTCBvcmllbnRhdGlvbiwgbWVhbmluZwoJICBib3R0b20gbGluZSBmaXJzdCBpbiBtZW1vcnkuCgoyMDEzLTAzLTEzIDExOjA5OjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgUkdCQSB0byB0aGUgY2FwcyBhZ2FpbgoKMjAxMy0wMy0xMyAwMDoyNTo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICB0ZXN0czogZml4IHVwIG1wZWd0c211eCB1bml0IHRlc3QgYWZ0ZXIgY29sbGVjdHBhZHMgY2hhbmdlCgkgIEl0IHdhcyBwYXNzaW5nIGV4cGVjdGVkIGZsb3cgcmV0dXJucyAod2hpY2ggbWlnaHQgYmUgbmVnYXRpdmUpCgkgIGluIHRoZSBidWZmZXIgdGltZXN0YW1wIGZpZWxkLCB3aGljaCB3YXMgbWF5YmUgbm90IHRoZSBiZXN0CgkgIGlkZWEuCgoyMDEzLTAzLTExIDIxOjU1OjI4IC0wNjAwICBHcmVnIFJ1dHogPGdyZWdAZ3NyLXRlay5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBmaXggaW1wcm9wZXIgdmlkZW8gZnJhbWUgY2xlYXIgb3BlcmF0aW9uCgkgIFRoZSBjdXJyZW50IGNvZGUgaXMgbWVtc2V0dGluZyB0aGUgR3N0VmlkZW9GcmFtZS5kYXRhIGFkZHJlc3MgdG8gMHMgKHdoaWNoCgkgIGNhdXNlcyBhIHNlZ2ZhdWx0KS4gVGhpcyBtZW1iZXIgaXMgYWN0dWFsbHkgYW4gYXJyYXkgb2YgZGF0YSBidWZmZXJzIChvbmUgZm9yCgkgIGVhY2ggcGxhbmUpLiAgVGhpcyBmaXggaXRlcmF0ZXMgb3ZlciBlYWNoIGRhdGEgcGxhbmUgdG8gY2xlYXIgdGhlbSBhbGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU2NTUKCjIwMTMtMDMtMTIgMTk6NDc6NTEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3NydHAvLmdpdGlnbm9yZToKCSogZXh0L3NydHAvTWFrZWZpbGUuYW06CgkqIGV4dC9zcnRwL2dzdHNydHAuYzoKCSogZXh0L3NydHAvZ3N0c3J0cC5oOgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuaDoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmg6CgkgIHNydHA6IEFkZCBTUlRQIHBsdWdpbiBiYXNlZCBvbiBsaWJzcnRwCgkgIEluIGxhcmdlIHBhcnQgdGhlIHdvcmsgb2YgR2FicmllbCBNaWxsYWlyZQoKMjAxMy0wMy0xMiAxOTozNjoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogTWFrZSBzdXJlIHRoZSBidWZmZXIgaXMgcmVsZWFzZWQgdG8gdGhlIHBvb2wgaWYgaXQncyB0aGUgbGFzdCB1c2VkIG9uZQoKMjAxMy0wMy0xMCAyMjowNjozMSArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuYzoKCSAgYXBwbGVtZWRpYTogc3VwcHJlc3Mgd2FybmluZ3MgZm9yIGRlcHJlY2F0ZWQgZ2xpYiBBUEkKCjIwMTMtMDMtMTAgMjE6MjE6MTcgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJICBzaG1zaW5rOiBVc2UgY29ycmVjdCBwcmludCBmb3JtYXQgc3BlY2lmaWVycyB0byBmaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTMtMDMtMDkgMDE6MDY6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBBbmRyb2lkLm1rOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL2dzdGR0bWYuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmNvbW1vbi5oOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2R0bWYuYzoKCSAgUmVtb3ZlIERUTUYgcGx1Z2luLCBtb3ZlZCB0byAtZ29vZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NDE2CgoyMDEzLTAzLTA5IDAwOjE3OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvZmJkZXYvTWFrZWZpbGUuYW06CgkqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzoKCSogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5oOgoJICBmYmRldjogcG9ydCBmYmRldnNpbmsgdG8gMS4wCgoyMDEzLTAzLTA3IDExOjU4OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBUaGVyZSBhcmUgb25seSB0d28gR0xTTCBwcm9ncmFtcywgbm90IHRocmVlCgoyMDEzLTAzLTA3IDExOjUwOjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBnc3RfYnVmZmVyX3Bvb2xfY29uZmlnX2dldF9hbGxvY2F0b3IoKSBkb2VzICpub3QqIHJldHVybiBhIG5ldyByZWZlcmVuY2UgdG8gdGhlIGFsbG9jYXRvcgoJICBEaWZmZXJlbnQgdG8gZ3N0X3F1ZXJ5X2dldF9uX2FsbG9jYXRpb25fcGFyYW1zKCkgd2hpY2ggZG9lcwoKMjAxMy0wMy0wNyAwMDowMTozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYWUwNTU1OCB0byAwNGM3YTFlCgoyMDEzLTAzLTA2IDE3OjUzOjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggYWxsb2NhdGlvbiBvZiBSR0JBIHRleHR1cmVzCgoyMDEzLTAzLTA2IDEwOjUzOjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBNYWtlIHN1cmUgdG8gc2V0IHRoZSBOT19TSEFSRSBmbGFnIG9uIHRoZSBFR0xJbWFnZSBtZW1vcmllcwoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTIwMwoKMjAxMy0wMy0wNSAxMjo0NzowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQWx3YXlzIHVzZSBhbiBSR0JBIGNvbmZpZ3VyYXRpb24KCjIwMTMtMDItMjcgMTM6MTU6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWJhZC11bmluc3RhbGxlZC5wYy5pbjoKCSAgcGtnLWNvbmZpZzogQWRkIGVnbCBsaWJyYXJ5IHRvIHRoZSBnZW5lcmljIHBrZy1jb25maWcgZmlsZQoKMjAxMy0wMi0yNSAxMzo0MzoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUHJvcGVybHkgbmVnb3RpYXRlIGFuIGFsbG9jYXRvcgoKMjAxMy0wMi0yNSAxMzozMTowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5oOgoJICBlZ2w6IFJlbmFtZSBnc3RfZWdsX2ltYWdlX21lbW9yeV9jYW5fbWFwKCkgdG8gaXNfbWFwcGFibGUoKQoKMjAxMy0wMi0yNSAxMzoyNTo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5oOgoJICBlZ2w6IFJlbW92ZSBidWZmZXIgcG9vbCBvcHRpb24KCSAgVGhpcyBzaG91bGQgYmUgZG9uZSBkaWZmZXJlbnRseSB2aWEgdGhlIGFsbG9jYXRvcnMgaW4gdGhlIGFsbG9jYXRpb24gcXVlcnkuCgoyMDEzLTAyLTIyIDEzOjA3OjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmg6CgkgIGVnbDogTWFyayBtZW1vcnkgYXMgbm90IG1hcHBhYmxlIGlmIGl0IGlzbid0CgoyMDEzLTAyLTIyIDEyOjQ4OjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkgIGVnbDogSW1wbGVtZW50IHNoYXJpbmcgb2YgbWVtb3J5CgoyMDEzLTAyLTIyIDExOjIzOjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBTdG9yZSBhIHJlZmVyZW5jZSB0byB0aGUgbGFzdF9idWZmZXIgaWYgdXNpbmcgRUdMSW1hZ2VzCgoyMDEzLTAyLTIyIDEwOjU4OjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggY29tcGlsZXIgd2FybmluZyBvbiBSUGkKCjIwMTMtMDItMjEgMTc6NDM6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmg6CgkgIGVnbGdsZXNzaW5rOiBQb3J0IHRvIG5ldyBFR0wgbGlicmFyeQoKMjAxMy0wMi0yMSAxNDo0MDowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9lZ2xnbGVzL01ha2VmaWxlLmFtOgoJICBlZ2w6IE1vdmUgY29uZmlndXJlIGNoZWNrcyBhcm91bmQgYW5kIHJlLXVzZSBmb3IgZWdsZ2xlc3NpbmsgcGx1Z2luCgoyMDEzLTAyLTIxIDEzOjM5OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZWdsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5oOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZWdsLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWVnbC5wYy5pbjoKCSAgZWdsOiBBZGQgaW5mcmFzdHJ1Y3R1cmUgZm9yIEVHTEltYWdlIGhhbmRsaW5nCgoyMDEzLTAzLTAzIDEyOjMwOjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuaDoKCSAgb3BlbnNsZXM6IE9ubHkgaW5jbHVkZSA8Z3N0L2F1ZGlvL2F1ZGlvLmg+CgoyMDEzLTAzLTAzIDEyOjMwOjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJICBtcGVndHNkZW11eDogRml4IHZhcmlvdXMgY29tcGlsZXIgd2FybmluZ3MKCjIwMTMtMDMtMDMgMTI6MzA6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBVc2UgY29ycmVjdCB0eXBlIHNwZWNpZmllcnMgZm9yIGZvcm1hdCBzdHJpbmdzIHRvIGZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMy0wMy0wMyAxMjoyOTo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogVXNlIGNvcnJlY3QgdHlwZSBzcGVjaWZpZXJzIGZvciBmb3JtYXQgc3RyaW5ncyB0byBmaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTMtMDMtMDMgMTI6Mjk6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBHU1RfRVJST1JfT0JKRUNUKCkgcGFyYW1ldGVycwoKMjAxMy0wMy0wMyAxMDo1NDoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlZXZlcmIvZ3N0ZnJlZXZlcmIuYzoKCSAgZnJlZXZlcmI6IEZpeCBjb21waWxlciB3YXJuaW5nIGNhdXNlZCBieSB3cm9uZyBmb3JtYXQgc3BlY2lmaWVyCgoyMDEzLTAzLTAxIDE1OjU4OjQwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NobS5jOgoJICB0ZXN0czogQWRkIHVuaXQgdGVzdHMgZm9yIHNobXNpbmsvc2htc3JjCgoyMDEzLTAzLTAxIDAwOjEwOjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuYzoKCSAgb3BlbmN2OiB1c2UgcGtnZGF0YWRpciBsb2NhbGx5IHRvIGNvbnN0cnVjdCBwYXRoIGZvciBjdXN0b20gaGFhciBjYXNjYWRlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1NjU1CgoyMDEzLTAxLTMwIDE0OjM3OjE4ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0aGFuZGRldGVjdF90ZXN0LmM6CgkgIG9wZW5jdjogcG9ydCBoYW5kZGV0ZWN0IGVsZW1lbnQgdG8gMS4wIGFuZCBhZGQgdG8gYnVpbGQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTY1NQoKMjAxMy0wMS0yNyAxOTowNToyNyArMDIwMCAgQW5kb2wgTGkgPGFuZG9sQGFuZG9sLmluZm8+CgoJKiBleHQvb3BlbmN2L2Zpc3QueG1sOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvcGFsbS54bWw6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RoYW5kZGV0ZWN0X3Rlc3QuYzoKCSAgb3BlbmN2OiBhZGQgaGFuZGRldGVjdCBwbHVnaW4sIGluaXRpYWwgaW1wbGVtZW50YXRpb24KCSAgVGhlIGhhbmRkZXRlY3QgcGx1Z2luIGlzIGZvciBkZXRlY3RpbmcgaGFuZCBnZXN0dXJlcyB1c2luZwoJICBvcGVuY3YuCgkgIEl0IHdhcyBjcmVhdGVkIGluIHRoZSBjb3Vyc2Ugb2YgdGhlIEdvb2dsZSBTdW1tZXIgb2YgQ29kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTY1NQoKMjAxMi0wOS0yNiAxNjowMDozOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuaDoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkqIHN5cy9zaG0vc2htcGlwZS5oOgoJICBzaG1zaW5rOiBBZGQgY3VzdG9tIGFsbG9jYXRvciB0byBhbGxvdyBmb3IgemVyby1jb3B5IHNoYXJlZCBtZW1vcnkgdXNlCgoyMDEzLTAyLTI4IDE4OjEzOjQ0IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobTogRG9uJ3QgbGVhayBzb2NrZXQgcGF0aAoKMjAxMy0wMi0yOCAyMDoyMjo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIC5naXRpZ25vcmU6CgkgIGV4YW1wbGVzOiBpZ25vcmUgbmV3IHRlc3QtdXZjaDI2NCBiaW5hcnkKCjIwMTMtMDItMjggMjA6MTE6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW46IHJlcG9ydCBlbGVtZW50IGNyZWF0aW9uIGZhaWx1cmVzIGJldHRlciBhbmQgZml4IHVwIExJQlMKCjIwMTMtMDItMjggMjA6MDk6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZtdXguYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL214Zi5jOgoJICB0ZXN0czogdXBkYXRlIHNvbWUgZWxlbWVudCBuYW1lcyBmb3IgMS4wCgoyMDEzLTAyLTI4IDIwOjAyOjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZmluZCB1bmluc3RhbGxlZCBnc3QtbGliYXYgcGx1Z2lucyBmb3IgdW5pdCB0ZXN0cwoKMjAxMy0wMi0yOCAxODo1NDoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuaDoKCSAgZGVja2xpbmtzaW5rOiBwb3J0IHRvIDEuMAoJICBDb21waWxlcywgbm90IHRlc3RlZCB5ZXQuCgoyMDEzLTAyLTI4IDE4OjUzOjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbmtzcmM6IGFkZCBsYXlvdXQ9aW50ZXJsZWF2ZWQgdG8gYXVkaW8gY2FwcwoKMjAxMi0xMS0wOCAxMzoyMjo0MSAtMDgwMCAgQmxha2UgVHJlZ3JlIDxibGFrZUBvYmxvbmcuY29tPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogdXNlIE9fQ0xPRVhFQyB3aGVyZSBhcHByb3ByaWF0ZSBpbiBzaG1waXBlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQzMzkKCjIwMTMtMDItMjggMTY6NTU6MDUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBmaXggY2FwcyBsZWFrCgoyMDEzLTAyLTI4IDEzOjI1OjA2ICswMTAwICBKb25hcyBIb2xtYmVyZyA8am9uYXNoZ0BheGlzLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2R0bWYuYzoKCSAgdGVzdHM6IHVzZSByZWxhdGl2ZSBpbmNsdWRlIGZvciBvdXQtb2YtdHJlZSBidWlsZHMgaW4gZHRtZiB0ZXN0CgoyMDEzLTAyLTI4IDEyOjA0OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSAgZWdsZ2xlc3Npbms6IGdzdF92aWRlb19zaW5rX2NlbnRlcl9yZWN0KCkgdGFrZXMgdGhlIHN0cnVjdHMgaXRzZWxmIGluc3RlYWQgb2YgcG9pbnRlcnMgYXMgZmlyc3QgcGFyYW1ldGVycwoKMjAxMy0wMi0yOCAxMToyNzo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggYXNwZWN0LXJhdGlvIGlzc3VlcyBjYXVzZWQgYnkgc2NhbGluZyBvbiBSUGkKCjIwMTMtMDItMjcgMjE6MDU6MzggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkqIHN5cy9zaG0vc2htcGlwZS5oOgoJICBzaG1zaW5rOiBFcnJvciBvdXQgaWYgbWVtb3J5IGFyZWEgaXMgc21hbGxlciB0aGFuIGJ1ZmZlcgoKMjAxMy0wMi0yNyAyMDo1Nzo1NiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9zaG0vc2htYWxsb2MuYzoKCSAgc2htOiBNYWtlIHN1cmUgdG8gbm90IGFsbG9jYXRlIGJsb2NrcyBsYXJnZXIgdGhhbiB0aGUgc2hhcmVkIG1lbSBhcmVhCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODEzNTkKCjIwMTMtMDItMjcgMTg6NTY6NTAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kdG1mLmM6CgkgIHRlc3RzOiBBZGQgdGVzdHMgZm9yIGR0bWZzcmMKCjIwMTMtMDItMjcgMjM6Mjc6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rc3JjOiBwb3J0IHRvIDEuMAoJICBDb21waWxlcywgbm90IHRlc3RlZCB5ZXQuIEEgZ3JlYXQgbnVtYmVyIG9mIHN1cGVyZmx1b3VzIGN1c3RvbQoJICBwYWQgZnVuY3Rpb25zIG1heSBoYXZlIGJlZW4gaGFybWVkIGluIHRoZSBtYWtpbmcgb2YgdGhpcyBwb3J0LgoKMjAxMy0wMi0yNyAxNjoxNToyNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2R0bWYuYzoKCSAgdGVzdHM6IEZpeCByZWYgbGVhayBpbiBkdG1mIHRlc3QKCjIwMTMtMDItMjcgMTM6MTQ6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWJhZC11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWJhZC5wYy5pbjoKCSAgcGtnLWNvbmZpZzogTWFrZSB0aGUgZ2VuZXJpYyBwa2ctY29uZmlnIGZpbGUgbW9yZSB1c2VmdWwKCjIwMTMtMDItMjMgMDk6MTE6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjZGVjOiBVc2UgbmV3IEdTVF9NRU1PUllfRkxBR19DT05USUdVT1VTIGluc3RlYWQgb2YgcmVxdWlyaW5nIGEgc3BlY2lmaWMgbWVtb3J5IHR5cGUKCjIwMTMtMDItMTkgMTM6MDA6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBhZGQgYWxsIHN1cHBvcnRlZCB2aWRlbyBmb3JtYXRzIHRvIHRlbXBsYXRlIGNhcHMKCSAgV2Ugbm93IHVzZSBnc3RfdmlkZW9fb3ZlcmxheV9jb21wb3NpdGlvbl9ibGVuZCgpLCBzbyBjYW4gc3VwcG9ydAoJICBhbGwgdmlkZW8gZm9ybWF0cyBzdXBwb3J0ZWQgYnkgdGhhdCwgbm90IGp1c3QgSTQyMC4KCjIwMTMtMDItMTkgMTE6MjQ6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBwcm94eSB0aGUgYWxsb2NhdGlvbiBxdWVyeQoJICBQYXNzIGFsbG9jYXRpb24gcXVlcnkgZG93bnN0cmVhbS4KCjIwMTMtMDItMTkgMTE6MTQ6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBkb24ndCBmb3J3YXJkIENBUFMgZXZlbnQgZnJvbSBzdWJ0aXRsZSBwYWQKCSAgTWF5IHJlc3VsdHMgaW4gbm90LW5lZ290aWF0ZWQgZmxvdyBlcnJvcnMgb3RoZXJ3aXNlLgoKMjAxMy0wMi0xNiAwMjo0NDoxOSArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGVhdnJAc291bmRyb3AuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvYnVmZmVyZmFjdG9yeS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9idWZmZXJmYWN0b3J5Lm06CgkqIHN5cy9hcHBsZW1lZGlhL2NlbGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWxhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvY21hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY21hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFjdHguYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhY3R4Lmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvZHluYXBpLWludGVybmFsLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2R5bmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9keW5hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvbWlvYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb2FwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb2RldmljZS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb2RldmljZS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9tdGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9tdGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGRlY2Jpbi5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRkZWNiaW4uaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZW5jYmluLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGVuY2Jpbi5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dHV0aWwuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnR1dGlsLmg6CgkgIGFwcGxlbWVkaWE6IHVwZGF0ZSBjb250YWN0IGluZm9ybWF0aW9uCgoyMDEzLTAyLTE2IDAyOjM4OjM2ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZWF2ckBzb3VuZHJvcC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuaDoKCSAgYXBwbGVtZWRpYTogZml4IGdzdF9idWZmZXJfZ2V0X2NvcmVfbWVkaWFfbWV0YSBtYWNybwoKMjAxMy0wMi0xNiAwMjozNzoxMSArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGVhdnJAc291bmRyb3AuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICBhcHBsZW1lZGlhOiBwb3J0IHZ0ZW5jIHRvIDEuMAoKMjAxMy0wMi0xNiAwMjozMToyOCArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGVhdnJAc291bmRyb3AuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogcmVwbGFjZSB1c2FnZSBvZiBkZXByZWNhdGVkIGdzdF9wYWRfc2V0X2NhcHMoKSBpbiB2dGRlYwoKMjAxMy0wMi0xNiAwMjoyNjo1MSArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGVhdnJAc291bmRyb3AuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgYXBwbGVtZWRpYTogcG9ydCB2dGFwaSB0byBydW4gb24gT1MgWCAxMC44CgoyMDEzLTAyLTE1IDA4OjIwOjU5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2ZyZWV2ZXJiL2dzdGZyZWV2ZXJiLmM6CgkgIGZyZWV2ZXJiOiByZW1vdmUgY2hhbm5lbC1tYXNrIGZyb20gY2FwcwoJICBUaGUgY2hhbm5lbC1tYXNrIGlzIG9ubHkgbmVlZGVkIGZvciBjaGFubmVscz4yIHdoaWNoIHdlIGRvbid0IGRvLgoKMjAxMy0wMi0xNCAxMDo0Mzo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgdGVzdHM6IGZpeCBoMjY0IGNhcHMgaW4gbXBlZ3RzbXV4IHRlc3QKCSAgTmVlZHMgdG8gYmUgc3RyZWFtLWZvcm1hdD1ieXRlLXN0cmVhbSwgbm90IGZvcm1hdD1ieXRlLXN0cmVhbS4KCjIwMTMtMDItMTQgMTA6NDA6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhZC5jOgoJICB0ZXN0czogZml4IGZhYWQgdW5pdCB0ZXN0IGZvciBnc3RfY2Fwc19pc19zdWJzZXQoKSBmaXggaW4gY29yZQoJICBOZWVkIHRvIHNwZWNpZnkgdGhlIHN0cmVhbS1mb3JtYXQuCgoyMDEzLTAyLTE0IDA5OjQwOjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmg6CgkgIFJldmVydCAibXBlZzR2aWRlb3BhcnNlOiBzZXQgMCBkdXJhdGlvbiB3aGVuIHZvcF9jb2RlZCBpcyAwIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGQzMjE5YTI2MWE1YTdiNzM0MGI2M2M4MDAxMDAwOWE3M2IwMzI3NTkuCgkgIHZvcF9jb2RlZCAwIG1lYW5zIHRoYXQgdGhlIHByZXZpb3VzIGZyYW1lIHNob3VsZCBiZSByZXBlYXRlZCwKCSAgc28gaXQgc2hvdWxkIGhhdmUgdmFsaWQgZHVyYXRpb24gYWZ0ZXIgYWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMTY5CgoyMDEzLTAyLTE0IDA5OjAzOjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vZ3N0aW5zZXJ0YmluLmg6CgkgIGluc2VydGJpbjogbWFyayBhcyB1bnN0YWJsZSBBUEkKCjIwMTMtMDItMTQgMDk6MDI6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9nc3RpbnNlcnRiaW4uYzoKCSAgaW5zZXJ0YmluOiBmaXggdXAgZ3RrLWRvYyBjaHVuayBhbmQgYWRkIHNpbmNlIG1hcmtlcnMKCjIwMTMtMDItMTMgMTU6MDA6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdXZjaDI2NGRlbXV4LmM6CgkgIHRlc3RzOiBwb3J0IHV2Y2gyNjQgdGVzdCB0byAxLjAKCSAgRml4ZXMgJ21ha2UgY2hlY2snIGJ1aWxkLgoKMjAxMy0wMi0xMyAxNToyMDozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkgIGVnbGdsZXNzaW5rOiBDbG9zZSB0aGUgZGlzcG1hbiBkaXNwbGF5IG9uIFJQaSBhZnRlciB1c2FnZQoKMjAxMy0wMi0xMyAxNTowOTozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRm9yIFJQaSwgaW5pdGlhbGl6ZSBiY21faG9zdCBpbiBwbHVnaW5faW5pdCgpCgoyMDEzLTAyLTEzIDE1OjA2OjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZWdsZ2xlc3Npbms6IEFsc28gY2hlY2sgZm9yIGFsbCB0aGUgcmVxdWlyZWQgbGlicmFyaWVzIGFuZCBoZWFkZXJzIGZvciBSUGkKCjIwMTMtMDItMTMgMTI6NTE6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2M3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWc0dmlkZW9wYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IFVzZSBjb21wbGV0ZSBhbmQgdmFsaWQgY2FwcyBpbiB0aGUgdGVzdHMKCjIwMTMtMDItMTIgMTg6MzY6MTAgKzAxMDAgIEp1bGlhbiBTY2hlZWwgPGp1bGlhbkBqdXNzdC5kZT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJICBlZ2xnbGVzc2luazogQWRkIGJjbS9SYXNwYmVycnkgUGkgc3VwcG9ydC4KCSAgVGhpcyBhZGRzIGEgdmlkZW8gcGxhdGZvcm0gYmFja2VuZCBmb3IgdGhlIGRpc3BtYW54IGRpc3BsYXkgbWFuYWdlciB1c2VkIGJ5CgkgIGJyb2FkY29tIGFuZCB0aGUgUmFzcGJlcnJ5IFBpLgoJICBTaWduZWQtb2ZmLWJ5OiBKdWxpYW4gU2NoZWVsIDxqdWxpYW5AanVzc3QuZGU+CgoyMDEzLTAyLTEyIDE4OjExOjM0IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RwbmdwYXJzZS5jOgoJICBwbmdwYXJzZTogRGVjbGFyZSB0aGUgd2lkdGgvaGVpZ2h0IG91dHNpZGUgdGhlIGxvb3AKCSAgQWxzbyBpbml0aWFsaXplIHRoZW0gdG8gbWFrZSBnY2MgaGFwcHkKCjIwMTMtMDEtMjggMjI6NDI6NDQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHBuZ3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0cG5ncGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9wbHVnaW4uYzoKCSAgdmlkZW9wYXJzZXJzOiBBZGQgcG5nIGZpbGUgcGFyc2VyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA2MzkKCjIwMTMtMDItMTEgMTY6MzU6NDggLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIFVucmV2ZXJ0OiBtcGVndmlkZW9wYXJzZTogc2V0IHRpbWVzdGFtcCBiYXNlZCBvbiBwaWMgb2Zmc2V0CgkgIEFQSSBpcyBub3cgaW4gYmFzZXBhcnNlIGluIGdzdHJlYW1lci4KCSAgVGltZXN0YW1wcyBpbiBNUEVHLVRTIHN0cmVhbXMgYXJlIGJhc2VkIG9uIHRoZSBsYXN0IHRpbWVzdGFtcAoJICBiZWZvcmUgdGhlIHN0YXJ0IGNvZGUgb2YgdGhlIHBpY3R1cmUuICBHc3RCYXNlUGFyc2Ugc2V0cyB0aGUKCSAgdGltZXN0YW1wIGJhc2VkIG9uIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHNlcXVlbmNlIGhlYWRlciwgaWYKCSAgb25lIGV4aXN0cyBiZWZvcmUgdGhlIHBpY3R1cmUuICBUaGlzIGZpeGVzIHRoZSBjYXNlIHdoZXJlIHRoZQoJICB0aW1lc3RhbXAgb2NjdXJzIGluIHRoZSBNUEVHLVRTIHN0cmVhbSBiZXR3ZWVuIHRoZSBzZXEgaGVhZGVyCgkgIGFuZCBwaWN0dXJlIHN0YXJ0IGNvZGUuCgoyMDEzLTAyLTA3IDE1OjQyOjU0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC95YWRpZi9nc3R5YWRpZi5jOgoJKiBnc3QveWFkaWYvZ3N0eWFkaWYuaDoKCSAgeWFkaWY6IEFkZCBtb2RlIHByb3BlcnR5CgkgIENvcHkgbW9kZSBmcm9tIGRlaW50ZXJsYWNlIGVsZW1lbnQuICBJc24ndCBhY3R1YWxseSBpbXBsZW1lbnRlZAoJICBpbiB5YWRpZiwgZXZlcnkgZnJhbWUgaXMgZGVpbnRlcmxhY2VkLCBzbyBlZmZlY3RpdmVseSBtb2RlPTEuCgoyMDEzLTAyLTEyIDExOjQ3OjUwIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC95YWRpZi92Zl95YWRpZi5jOgoJKiBnc3QveWFkaWYveWFkaWYuYzoKCSAgeWFkaWY6IEZpeCBub24teDg2XzY0IGJ1aWxkcwoKMjAxMy0wMi0xMiAxMToyNDo0NCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGFkZCBwYXJzZWQ9ZmFsc2UgdG8gbXBlZzIgY2FwcwoKMjAxMy0wMi0xMiAxMDozOTo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2xpYi1jb21wYXQtcHJpdmF0ZS5oOgoJICBnbGliLWNvbXBhdC1wcml2YXRlLmg6IHJlbW92ZSBvbGQgR1N0YXRpY1JlY011dGV4IHN0dWZmCgkgIEJyZWFrcyB0aGUgYnVpbGQgd2l0aCBuZXdlciBHTGlicyAoInVua25vd24gdHlwZSBHU3RhdGljUmVjTXV0ZXgiKQoJICBhbmQgaXMgbm90IG5lZWRlZCBhbnkgbW9yZS4KCjIwMTMtMDItMTIgMDk6Mzg6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgUmV2ZXJ0ICJtcGVndmlkZW9wYXJzZTogc2V0IHRpbWVzdGFtcCBiYXNlZCBvbiBwaWMgb2Zmc2V0IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDYzNzE4ZGE5MTliNmEzZGFhMDRhNjZkYTFiZTRkYjU0ZTA3Nzg4OTguCgkgIFRoZSByZXF1aXJlZCBiYXNlcGFyc2UgQVBJIGFkZGl0aW9uIGhhcyBub3QgYmVlbiBwdXNoZWQgeWV0LAoJICB3aGljaCBicmVha3MgdGhlIGJ1aWxkLgoKMjAxMy0wMi0xMSAxNzo1ODozMSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBtcGVndmlkZW9wYXJzZXI6IGluY3JlYXNlIG1pbiBzaXplIGZvciBwaWN0dXJlIGNvZGluZyBleHQKCSAgVGhpcyBjb3VsZCB1c2UgYWRkaXRpb25hbCB3b3JrLiAgVGhlIHBhcnNpbmcgY29kZSBvdmVycnVucyB0aGUKCSAgZW5kIG9mIGJ1ZmZlcnMgZHVyaW5nIG5vcm1hbCBvcGVyYXRpb24sIHRyaWdnZXJpbmcgR1NUX1dBUk5JTkdzLgoKMjAxMy0wMi0xMSAxNzozOToyNCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvbWZjL2dzdG1mYy5jOgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkgIG1mYzogcXVpZXQgZGVidWdnaW5nIHdoZW4gbWZjIGRldmljZSBkb2Vzbid0IGV4aXN0CgkgIEF2b2lkIHJlZ2lzdGVyaW5nIHRoZSBlbGVtZW50IGlmIHRoZSBtZmMgZGV2aWNlIGRvZXNuJ3Qgd29yaywKCSAgYnV0IGFsbG93IHBsdWdpbiBsb2FkaW5nIHRvIHN1Y2NlZWQuCgoyMDEzLTAyLTExIDE2OjM1OjQ4IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogc2V0IHRpbWVzdGFtcCBiYXNlZCBvbiBwaWMgb2Zmc2V0CgkgIFRpbWVzdGFtcHMgaW4gTVBFRy1UUyBzdHJlYW1zIGFyZSBiYXNlZCBvbiB0aGUgbGFzdCB0aW1lc3RhbXAKCSAgYmVmb3JlIHRoZSBzdGFydCBjb2RlIG9mIHRoZSBwaWN0dXJlLiAgR3N0QmFzZVBhcnNlIHNldHMgdGhlCgkgIHRpbWVzdGFtcCBiYXNlZCBvbiB0aGUgYmVnaW5uaW5nIG9mIHRoZSBzZXF1ZW5jZSBoZWFkZXIsIGlmCgkgIG9uZSBleGlzdHMgYmVmb3JlIHRoZSBwaWN0dXJlLiAgVGhpcyBmaXhlcyB0aGUgY2FzZSB3aGVyZSB0aGUKCSAgdGltZXN0YW1wIG9jY3VycyBpbiB0aGUgTVBFRy1UUyBzdHJlYW0gYmV0d2VlbiB0aGUgc2VxIGhlYWRlcgoJICBhbmQgcGljdHVyZSBzdGFydCBjb2RlLgoKMjAxMy0wMi0xMSAyMzo0NjoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC95YWRpZi9NYWtlZmlsZS5hbToKCSAgeWFkaWY6IGZpeCBkaXN0Y2hlY2sKCjIwMTMtMDItMTEgMjM6Mjk6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBMSUNFTlNFX3JlYWRtZToKCSogTWFrZWZpbGUuYW06CgkqIFJFUVVJUkVNRU5UUzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9zd2ZkZWMvTWFrZWZpbGUuYW06CgkqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmg6CgkgIHN3ZmRlYzogcmVtb3ZlCgkgIFRoZSBzd2ZkZWMgcHJvamVjdCBpcyBkZWFkLCBhbmQgdGhpcyBwbHVnaW4gd2FzCgkgIG5ldmVyIHJlYWxseSB1c2VmdWwgYmVjYXVzZSBvZiB0aGUgd2F5IHN3ZiB3b3Jrcy4KCSAgUmVtb3ZlIGl0IGJlZm9yZSBzb21lb25lIGFjY2lkZW50YWxseSBwb3J0cyBpdC4KCjIwMTMtMDItMTEgMjI6NTA6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBNYWtlZmlsZS5hbToKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvY29nLy5naXRpZ25vcmU6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLm9yYzoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy8uZ2l0aWdub3JlOgoJICBBZGQgY29nIHRvIGNydWZ0IGxpc3QgYW5kIHJlbW92ZSBzb21lIG1vcmUgbGVmdG92ZXIgZmlsZXMKCjIwMTMtMDItMTEgMjI6NDA6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QveWFkaWYvTWFrZWZpbGUuYW06CgkgIHlhZGlmOiBmaXggYnVpbGQgaW4gdW5pbnN0YWxsZWQgc2V0dXAKCjIwMTMtMDItMDMgMTQ6MzI6MjcgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBncmV5bm9pc2Uubmw+CgoJKiB0ZXN0cy9leGFtcGxlcy91dmNoMjY0L3dpbmRvdy5nbGFkZToKCSAgdXZjaDI2NCB0ZXN0OiBVc2Ugc3RyaW5nIGluc3RlYWQgb2YgZm91cmNjIGluIGdsYWRlIGNhcHMKCjIwMTMtMDItMDMgMTQ6MzE6NTAgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBncmV5bm9pc2Uubmw+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0OiBSZW1vdmUgY3VzdG9tIHJlbmVnb3RpYXRlIGV2ZW50CgoyMDEzLTAyLTAzIDE0OjMxOjEzICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAZ3JleW5vaXNlLm5sPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NDogQWRkIGltYWdlL2pwZyB0byB2ZnNyYyBhbmQgdmlkc3JjIGNhcHMKCjIwMTMtMDItMDMgMTQ6MzA6MzYgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBncmV5bm9pc2Uubmw+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJICB1dmNoMjY0OiBGaXggTlYyMSB2cyBOVjEyIHR5cG8KCjIwMTMtMDItMDIgMTQ6MTY6NDAgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBncmV5bm9pc2Uubmw+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0OiBQYXNzIHRocm91Z2ggdGhlIGZpbHRlciBvbiB0aGUgY2FwcyBxdWVyeQoKMjAxMy0wMS0xOCAyMzoyMzo1NiArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGdyZXlub2lzZS5ubD4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjQuYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdXZjaDI2NGRlbXV4LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3V2Y2gyNjQvdGVzdC11dmNoMjY0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3V2Y2gyNjQvd2luZG93LmdsYWRlOgoJICB1dmNoMjY0OiBSZW1vdmUgdGhlIF8gZnJvbSB0aGUgZWxlbWVudCBuYW1lcwoJICBSZW5hbWUgdXZjaDI2NF9zcmMgdG8gdXZjaDI2NHNyYyBhbmQgdXZjaDI2NF9tanBnZGVtdXggdG8KCSAgdXZjaDI2NG1qcGdkZW11eAoKMjAxMy0wMS0xOCAyMzoxNjozMSArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGdyZXlub2lzZS5ubD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBNYXJrIHV2Y2gyNjQgYXMgcG9ydGVkCgoyMDEzLTAxLTE4IDIzOjE0OjI3ICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAZ3JleW5vaXNlLm5sPgoKCSogdGVzdHMvZXhhbXBsZXMvdXZjaDI2NC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvdXZjaDI2NC90ZXN0LXV2Y2gyNjQuYzoKCSogdGVzdHMvZXhhbXBsZXMvdXZjaDI2NC93aW5kb3cuZ2xhZGU6CgkgIHV2Y2gyNjQ6IFBvcnQgdGVzdCB0byBnc3RyZWFtZXIgMS4wCgoyMDEzLTAxLTE4IDIyOjQ5OjE5ICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAZ3JleW5vaXNlLm5sPgoKCSogc3lzL3V2Y2gyNjQvTWFrZWZpbGUuYW06CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjQuYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NHNyYzogUG9ydCB0byBnc3RyZWFtZXIgMS4wCgoyMDEyLTA1LTAzIDIwOjM2OjI3IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkgIGJhc2VjYW1lcmFiaW5zcmM6IEFkZCBhdXRvLXN0YXJ0IHByb3BlcnR5IHRvIGJhc2VjYW1lcmFiaW4KCjIwMTMtMDItMTEgMTI6NTE6MDQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbG9nb2luc2VydC5jOgoJICBjb2c6IHJlbW92ZSBsYXN0IHJlbW5hbnRzCgoyMDEzLTAyLTA3IDE1OjA5OjUxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3lhZGlmL01ha2VmaWxlLmFtOgoJKiBnc3QveWFkaWYvZ3N0eWFkaWYuYzoKCSogZ3N0L3lhZGlmL2dzdHlhZGlmLmg6CgkqIGdzdC95YWRpZi92Zl95YWRpZi5jOgoJKiBnc3QveWFkaWYveWFkaWYuYzoKCSogZ3N0L3lhZGlmL3lhZGlmX3RlbXBsYXRlLmM6CgkgIHlhZGlmOiBBZGQgWUFESUYgZGVpbnRlcmxhY2luZyBmaWx0ZXIKCSAgQ29kZSBjb3BpZWQgZnJvbSBMaWJhdiwgY29tbWl0IDI2ZTRmMGM3MC4gIFdpbGwgZXZlbnR1YWxseSBiZQoJICBtb3ZlZCB0byAtdWdseSBiZWNhdXNlIHVuZGVybHlpbmcgY29kZSBpcyBHUEwuCgoyMDEzLTAyLTA3IDE0OjMzOjI0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSAgZmllbGRhbmFseXNpczogQWRkIFk0MkIgYW5kIFk0NDQgZm9ybWF0cwoKMjAxMy0wMi0wNyAxMToxNTowMSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9nc3QtYXBwLW1ha2VyOgoJKiB0b29scy9nc3QtcHJvamVjdC1tYWtlcjoKCSAgZ3N0LWFwcC1tYWtlci9nc3QtZWxlbWVudC1tYWtlcjogMS4wIHVwZGF0ZXMKCjIwMTMtMDItMTEgMTI6MjU6MDUgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvY29nLmg6CgkqIGV4dC9jb2cvY29nZnJhbWUuYzoKCSogZXh0L2NvZy9jb2dmcmFtZS5oOgoJKiBleHQvY29nL2NvZ3RhYmxlcy5jOgoJKiBleHQvY29nL2NvZ3V0aWxzLmg6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmg6CgkqIGV4dC9jb2cvZ2VuZXJhdGVfdGFibGVzLmM6CgkqIGV4dC9jb2cvZ3N0Y21zLmM6CgkqIGV4dC9jb2cvZ3N0Y21zLmg6CgkqIGV4dC9jb2cvZ3N0Y29nLmM6CgkqIGV4dC9jb2cvZ3N0Y29nZG93bnNhbXBsZS5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuaDoKCSogZXh0L2NvZy9nc3Rjb2dzY2FsZS5jOgoJKiBleHQvY29nL2dzdGNvZ3V0aWxzLmM6CgkqIGV4dC9jb2cvZ3N0Y29ndXRpbHMuaDoKCSAgY29nOiByZW1vdmUgY29nIHBsdWdpbgoJICBFdmVyeXRoaW5nIGhhcyBiZWVuIG1lcmdlZCBpbnRvIG90aGVyIGVsZW1lbnRzLgoKMjAxMy0wMi0xMSAyMDoyNDoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IGZpeCB0YWdsaXN0IGxlYWsKCSAgRG9uJ3QgbGVhayBkZW11eGVyIHRhZyBsaXN0LgoKMjAxMy0wMi0xMSAyMDoxNzo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214ZmRlbXV4LmM6CgkgIHRlc3RzOiBmaXggbXhmZGVtdXggcHVsbCB1bml0IHRlc3QgaGFuZ2luZyBmb3JldmVyCgkgIE91ciB0ZXN0IHNvdXJjZSBwYWQgbmVlZHMgdG8gYW5zd2VyIFNDSEVEVUxJTkcgcXVlcmllcwoJICBwcm9wZXJseSBmb3IgbXhmZGVtdXggdG8gYWN0aXZhdGUgaW4gcHVsbCBtb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkxODQzCgoyMDEzLTAyLTExIDE5OjUzOjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogZml4IHB1c2ggbW9kZSB1bml0IHRlc3QgZmFpbHVyZQoJICBJbiB0aGUgc2luayBldmVudCBoYW5kbGVyIHdlIGVuZCB1cCBzZW5kaW5nIG11bHRpcGxlIEVPUwoJICBldmVudHMgcGVyIHBhZC4gRG9uJ3QgcmV0dXJuIEZBTFNFIHdoZW4gc2VuZGluZyB0aGUKCSAgc2Vjb25kIEVPUyBvbiBhbiBhbHJlYWR5LUVPUyBwYWQgZmFpbHMuIE5vdCBzdXJlIGlmIHRoZXJlCgkgIHdhcyBhIHJlYXNvbiBmb3Igc2VuZGluZyBhIHNlY29uZCBFT1MsIHNvIGxlYXZpbmcgdGhlCgkgIGNvZGUgaW4gdGhlcmUgZm9yIG5vdywgYnV0IGFzc3VtZSBhbGwgd2VudCBmaW5lIGlmIHRoZXJlCgkgIGFyZSBzb3VyY2UgcGFkcywgd2hpY2ggaXMgc2xpZ2h0bHkgbGVzcyB3cm9uZyB0aGFuIGJlZm9yZS4KCSAgVGhpcyBmdW5jdGlvbiBuZWVkcyB3b3JrLgoKMjAxMy0wMi0xMSAxMjozNDo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGZpeCBjb21waWxhdGlvbiBvZiBkdG1mIHRlc3QgaW4gdW5pbnN0YWxsZWQgc2V0dXAKCjIwMTMtMDItMTEgMTI6MzQ6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBhY3R1YWxseSBsb2cgZ2VuZXJpYyBkYXRhcHJvdG9jb2wgc3R1ZmYgdG8gZ2RwIGNhdGVnb3J5CgoyMDEzLTAyLTA5IDIwOjIyOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ0ZXN0LmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcjogZG9uJ3QgdXNlIGRlcHJlY2F0ZWQgR0xpYiB0aHJlYWRpbmcgQVBJCgoyMDEzLTAyLTA5IDE5OjUzOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuaDoKCSAgbGl2ZWFkZGVyOiBkb24ndCB1c2UgZGVwcmVjYXRlZCBHTGliIHRocmVhZGluZyBBUEkKCjIwMTMtMDItMDkgMTk6NDk6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmg6CgkgIHNobTogZG9uJ3QgdXNlIGRlcHJlY2F0ZWQgdGhyZWFkaW5nIEFQSQoKMjAxMy0wMi0xMSAxMTowNjozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogY2xlYXIgdGhlIHN0YXRlIG9mIHRoZSBkZWNvZGVyCgkgIFNldCB0aGUgY2hhbm5lbHMgYW5kIHJhdGUgYmFjayB0byB0aGVpciBkZWZhdWx0IHZhbHVlcyBpbiBfc3RvcCBiZWNhdXNlIHRoZXkKCSAgYXJlIHVzZWQgdG8gcmVuZWdvdGlhdGUgd2hlbiBuZWVkZWQuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyOTUwCgoyMDEzLTAyLTA3IDExOjUyOjIzICswMTAwICBNYXJjIExlZW1hbiA8bWFyYy5sZWVtYW5AZ21haWwuY29tPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuaDoKCSAgcnN2Z292ZXJsYXk6IGRlcHJlY2F0ZWQgR1N0YXRpY011dGV4IC0+IEdNdXRleAoJICBFbGVtZW50IG5lZWRzIHBvcnRpbmcgdGhvdWdoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzMzIyCgoyMDEzLTAyLTA5IDE4OjQ2OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL21mYy9maW1jL2ZpbWMuYzoKCSAgbWZjOiBmaXggY29tcGlsYXRpb24gd2l0aCBuZXdlciBHTGliIHZlcnNpb25zCgkgIHRoYXQgZG9uJ3QgaW5jbHVkZSBwdGhyZWFkLmggYW55IG1vcmUgZnJvbSBwdWJsaWMgaGVhZGVycy4KCSAgV2UgY291bGQganVzdCBmaXggdGhpcyBieSBpbmNsdWRpbmcgcHRocmVhZC5oIG91cnNlbHZlcywKCSAgYnV0IHdlIG1heSBqdXN0IGFzIHdlbGwgdXNlIGF0b21pYyBvcHMgZm9yIHRoaXMgYW5kCgkgIHNpbXBsaWZ5IHRoZSBjb2RlIGEgbGl0dGxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzMzIyCgoyMDEzLTAyLTA3IDExOjU0OjM4ICswMTAwICBNYXJjIExlZW1hbiA8bWFyYy5sZWVtYW5AZ21haWwuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIG14ZmRlbXV4OiBkZXByZWNhdGVkIEdTdGF0aWNSV0xvY2sgLT4gR1JXTG9jawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzMzIyCgoyMDEzLTAyLTA3IDExOjU0OjA2ICswMTAwICBNYXJjIExlZW1hbiA8bWFyYy5sZWVtYW5AZ21haWwuY29tPgoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5oOgoJICBjaHJvbWFob2xkOiBkZXByZWNhdGVkIEdTdGF0aWNNdXRleCAtPiBHTXV0ZXgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzMyMgoKMjAxMy0wMi0wNyAxMDo1Mjo1NyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9nc3QtYXBwLW1ha2VyOgoJICBnc3QtYXBwLW1ha2VyOiBjb252ZXJ0IHRvIDEuMAoKMjAxMy0wMi0wOCAwMDowNjoxNiArMTEwMCAgVGltICdtaXRocm8nIEFuc2VsbCA8bWl0aHJvQG1pdGhpcy5jb20+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnZHBwYXk6IGZpeCBidWZmZXIgbGVhayB3aGVuIG5ldyBjYXBzIGFyZSBzYW1lIGFzIG9sZCBjYXBzCgkgIFRoZSBsZWFrIG9jY3VycyB3aGVuIHlvdSBnb3QgYSBtZXNzYWdlIHdpdGggaWRlbnRpY2FsIGNhcHMgdG8gdGhlIG9uZXMgeW91CgkgIGFscmVhZHkgaGFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzMzI0CgoyMDEyLTEwLTAyIDExOjAyOjMyICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBhZGQgcHJvZmlsZSBlbnVtcy4KCSAgQWRkIGFsbCB1c2VmdWwgcHJvZmlsZXMgZnJvbSBBVkMsIE1WQyBhbmQgU1ZDIHNwZWNpZmljYXRpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzMTQwCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDItMDcgMjI6MjY6MTUgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LXJlbmRlci5jOgoJICBkdmRzcHU6IEZpeCB0aGUgcmVuZGVyaW5nIG9mIFBHUyB3aW5kb3dzIHdpdGggbGVmdCAhPSAwCgkgIFdoZW4gcmVuZGVyaW5nIGEgUEdTIHdpbmRvdyBhcmVhIHdoZXJlIHRoZSBsZWZ0IGVkZ2UgaXMgbm90IGF0CgkgIHBpeGVsIDAsIHRoZSBjaHJvbWEgd2FzIGJlaW5nIHJlbmRlcmVkIGluIHRoZSB3cm9uZyBwbGFjZSBzaW5jZQoJICBjb21taXQgNGRjNjQ4ZDM0MzBiNjc1OTJjZjE0MTNjY2VmNDE1ZjcwODg5ZDcxZQoKMjAxMy0wMi0wNyAxMTozMToxMiArMDAwMCAgVGltIEFuc2VsbCA8Z25vbWUgYXQgbWl0aGlzLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnRlc3QuYzoKCSAgaW50ZXI6IGZpeCBsZWFrcyBpbiB0ZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTMzMDAKCjIwMTMtMDItMDcgMDg6NDE6MjUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9mcmVldmVyYi9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWV2ZXJiL2dzdGZyZWV2ZXJiLmM6CgkqIGdzdC9mcmVldmVyYi9nc3RmcmVldmVyYi5oOgoJICBmcmVldmVyYjogcG9ydCB0byAxLjAKCjIwMTMtMDEtMDkgMTM6MzE6NDcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9SRUFETUU6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IGFkZCBjb21tZW50cyBmb3IgbW9ub3Njb3BlIHBvcnRpbmcKCjIwMTMtMDItMDYgMTU6NDg6MDYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBmaXggbmVnb3RpYXRpb24gZm9yIHRydWUgaW50ZXJsYWNlZCBtb2RlcwoKMjAxMy0wMi0wNiAxMjozNTozNiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNldHJhbnNmb3JtOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9nb2JqZWN0OgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkLXNpbXBsZToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkLXNpbXBsZToKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IFVwZGF0ZSBzb21ld2hhdCBmb3IgMS4wCgkgIE9ubHkgY29udmVydGVkIGJhc2V0cmFuc2Zvcm0gZm9yIHRoZSBtb21lbnQuICBJdCdzIHByb2JhYmx5IGVhc2llcgoJICB0byB3cml0ZSB0ZW1wbGF0ZXMgZnJvbSBzY3JhdGNoIGZyb20gdGhlIGRvY3VtZW50YXRpb24uCgoyMDEzLTAyLTA1IDExOjU2OjQ2ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IG1wZWcyOiBhZGQgaGVscGVycyB0byBjb252ZXJ0IHF1YW50aXphdGlvbiBtYXRyaWNlcy4KCSAgQWRkIHV0aWxpdHkgZnVuY3Rpb25zIHRvIGNvbnZlcnQgcXVhbnRpemF0aW9uIG1hdHJpY2VzIGZyb20gemlnemFnIHNjYW4KCSAgb3JkZXIgKGFzIGVuY29kZWQgaW4gdGhlIGJpdHN0cmVhbSkgaW50byByYXN0ZXIgc2NhbiBvcmRlci4gQWxzbyBwcm92aWRlCgkgIGFub3RoZXIgZnVuY3Rpb24gdG8gcmV2ZXJzZSB0aGUgb3BlcmF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzMDAwCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDEtMzEgMTY6MTM6MjIgKzA4MDAgIENvbmcgWmhvbmcgPGNvbmd4Lnpob25nQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogbXBlZzI6IHN0b3JlIHF1YW50aXphdGlvbiBtYXRyaWNlcyBpbiB6aWd6YWcgc2NhbiBvcmRlci4KCSAgUXVhbnRpemVyIG1hdHJpY2VzIGFyZSBlbmNvZGVkIGluIHppZ3phZyBzY2FuIG9yZGVyIGluIHRoZSBiaXRzdHJlYW0sCgkgIGJ1dCB0aGV5IGFyZSBzdG9yZWQgaW4gcmFzdGVyIHNjYW4gb3JkZXIgd2hlbiB0aGV5IGFyZSBwYXJzZWQuIEhvd2V2ZXIsCgkgIGRlZmF1bHQgbWF0cmljZXMgd2VyZSBhbHNvIHByZXBhcmVkIGluIHppZ3phZyBzY2FuIG9yZGVyLCBoZW5jZSB0aGUKCSAgbWlzbWF0Y2guIGkuZS4gdGhlIG1hdHJpY2VzIHdlcmUgcHJlc2VudGVkIGVpdGhlciBpbiByYXN0ZXIgc2NhbiBvcmRlcgoJICBpZiB0aGV5IGFyZSBleHBsaWNpdGx5IHByZXNlbnQgaW4gdGhlIGJpdHN0cmVhbSwgb3IgdGhleSB3ZXJlIHByZXNlbnRlZAoJICBpbiB6aWd6YWcgc2NhbiBvcmRlciBpZiB0aGUgZGVmYXVsdCBkZWZpbml0aW9ucyB3ZXJlIHRvIGJlIHVzZWQgaW5zdGVhZC4KCSAgT25lIHdheSB0byBzb2x2ZSB0aGlzIHByb2JsZW0gaXMgdG8gYWx3YXlzIGV4cG9zZSB0aGUgcXVhbnRpemF0aW9uCgkgIG1hdHJpY2VzIGluIHppZ3phZyBzY2FuIG9yZGVyLCBzaW5jZSB0aGlzIGlzIHRoZSByb2xlIG9mIHRoZSBwYXJzZXIgdG8KCSAgbm90IGJ1aWxkIHVwIHN0b3JpZXMgZnJvbSB0aGUgc291cmNlIGJpdHN0cmVhbSBhbmQganVzdCBwcmVzZW50IHdoYXQKCSAgaXMgaW4gdGhlcmUuCgkgIFV0aWxpdHkgZnVuY3Rpb25zIHdpbGwgYmUgcHJvdmlkZWQgdG8gY29udmVydCBxdWFudGl6YXRpb24gbWF0cmljZXMgaW4KCSAgZWl0aGVyIHNjYW4gb3JkZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTMwMDAKCSAgU2lnbmVkLW9mZi1ieTogQ29uZyBaaG9uZyA8Y29uZ3guemhvbmdAaW50ZWwuY29tPgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAyLTA1IDIzOjA3OjEyICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBleHBvc2UgVkMxIHN0cmVhbXMgd2l0aCBtaXNzaW5nIGRlc2NyaXB0b3IuCgkgIEZpeGVzIHBsYXliYWNrIG9mIFZDMSBzdHJlYW1zIHdoZW4gdGhlIGRlc2NyaXB0b3IgaXMgbWlzc2luZy4KCjIwMTMtMDItMDUgMTc6MzQ6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGhhbmRsZSBFSU5UUiBmcm9tIHBvbGwKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzIxMgoKMjAxMC0xMi0yNyAyMzoyMToxMCArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBBZGQgc3VwcG9ydCBmb3IgbW9yZSB0ZWxlY2luZSBwYXR0ZXJucwoKMjAxMS0wMS0xMCAxMDozNjo0MyArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBBZGQgbW9yZSB2ZXJib3NlIGhpbnRzIGFib3V0IGZpZWxkIHBhdHRlcm5zCgoyMDEzLTAyLTA0IDE4OjA3OjE3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBZGQgZGVzY3JpcHRvcnMgZm9yIFNNUFRFIDMwMm0gYXVkaW8KCjIwMTMtMDItMDIgMTg6NDQ6MTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogc2VwYXJhdGUgZmllbGRzIGZvciBkaXN0aW5jdCBmdW5jdGlvbmFsIHVzZXMgb2YgY29kZWNfZGF0YSBmaWVsZAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyNzg5CgoyMDEzLTAxLTMxIDEyOjMwOjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJICBvcHVzcGF5OiBmaXggdGltZXN0YW1wcwoJICBDb3B5IHRpbWVzdGFtcHMgdG8gcGF5bG9hZGVkIGJ1ZmZlci4KCSAgQXZvaWQgaW5wdXQgYnVmZmVyIG1lbW9yeSBsZWFrLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyOTI5CgoyMDEzLTAxLTMwIDA5OjMzOjQ5ICswMTAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAc3QuY29tPgoKCSogYXV0b2dlbi5zaDoKCSAgYXV0b2dlbi5zaDogYWxsb3cgY2FsbGluZyBmcm9tIG91dC1vZi10cmVlCgkgIFNpZ25lZC1vZmYtYnk6IEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyODU5CgoyMDEzLTAxLTI4IDIwOjQyOjQ5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhOTQyMjkzIHRvIDJkZTIyMWMKCjIwMTMtMDEtMjggMTQ6MTI6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBmaXggY3Jhc2ggd2hlbiBzZXR0aW5nICJjYnIiIHByb3BlcnR5IHdoZW4gZW5jb2RlciBpcyBub3QgcnVubmluZyB5ZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjY5OAoKMjAxMy0wMS0yNiAyMjo1ODoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogZml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0cnRwZHRtZnNyYy5jOiBJbiBmdW5jdGlvbiAnZ3N0X2R0bWZfc3JjX3ByZXBhcmVfbWVzc2FnZS5pc3JhLjEnOgoJICBnc3RydHBkdG1mc3JjLmM6NjY5OjM6IGVycm9yOiAncycgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uCgoyMDEzLTAxLTI1IDIxOjA2OjA1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIHJ0cGR0bWZkZXBheTogRml4IG1pc3Npbmcgd29yayBpbiBkb2MKCjIwMTMtMDEtMjQgMjE6MDA6MDggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZHRtZi5jOgoJICB0ZXN0czogQWRkIHRlc3QgZm9yIHJ0cGR0bWZkZXBheSBhbmQgcnRwZHRtZnNyYwoKMjAxMy0wMS0yNSAyMDozOTozMyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogUG9zdCB0aGUgbWVzc2FnZXMgYWZ0ZXIgdGhlIGNsb2NrIHdhaXQKCSAgVGhpcyB3YXksIHRoZSBtZXNzYWdlcyB3aWxsIGJlIGNsb3NlciBpbiB0aW1lIHRvIHdoZW4gdGhlIHBhY2tldHMgYXJlIHNlbnQgb3V0CgoyMDEzLTAxLTI1IDIwOjM3OjUzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBPbmx5IHNldCB0aGUgZHVyYXRpb24gd2hlbiBzdGFydGluZyB0byBzZW5kCgkgIFRoZSBkdXJhdGlvbiBkZXBlbmRzIG9uIHRoZSBjbG9jayByYXRlLCB3aGljaCBjb3VsZCBjaGFuZ2UgZHVlIHRvIHJlbmVnb3RpYXRpb24KCjIwMTMtMDEtMjUgMjA6Mzc6MDkgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IHJlbW92ZSAic3NyYyIgZnJvbSBjYXBzCgkgIHNzcmMgaXMgdWludCBhbmQgd2UgZG9uJ3QgaGF2ZSBhIHVpbnQgcmFuZ2UgdHlwZQoKMjAxMy0wMS0yNSAxNTo0NDozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJ1aWxkOiBmaXggaW5zZXJ0YmluIGJ1aWxkIGluIHVuaW5zdGFsbGVkIHNldHVwCgkgIE1ha2Ugc3VyZSBwa2ctY29uZmlnIGluIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vIGNhbiBmaW5kCgkgIHRoZSB1bmluc3RhbGxlZCBjb3JlL2Jhc2UgcHJvcGVybHkuIEZpeGVzIGJ1aWxkIG9mCgkgIGluc2VydGJpbiBpbiB1bmluc3RhbGxlZCBzZXR1cCBpZiB0aGVyZSBhcm4ndCBhbnkKCSAgaW5zdGFsbGVkIGdpciBmaWxlcyB0byBmYWxsIGJhY2sgdG8uCgoyMDEzLTAxLTI1IDEyOjI0OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vZ3N0aW5zZXJ0YmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9jb252ZXJ0LmM6CgkgIGluc2VydGJpbiwgdGVzdHM6IGZpeCBwcmludGYgZm9ybWF0IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEzLTAxLTI0IDE4OjE0OjI4ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogZml4IGJpdHBsYW5lcyBkZWNvZGluZyAoRElGRjYgb3IgTk9STTYgcmVzaWR1YWwgYnl0ZXMpLgoJICBGaXggcGFyc2luZyBvZiByZXNpZHVhbCBieXRlcy4gVGhpcyBpcyBhIHR3by1zdGVwIHByb2Nlc3MuIEZpcnN0LAoJICByZW1haW5pbmcgY29sdW1zIG9mIGZ1bGwgdmVydGljYWwgcmVzb2x1dGlvbiAoPGhlaWdodD4pIG5lZWQgdG8gYmUKCSAgcHJvY2Vzc2VkLiBOZXh0LCByZW1haW5pbmcgYnl0ZXMgaW4gdGhlIGZpcnN0IHJvdyBjYW4gYmUgcHJvY2Vzc2VkLAoJICB3aGlsZSB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBmYWN0IHRoYXQgd2UgbWF5IGhhdmUgZmlsbGVkIGluIHRoZQoJICBmaXJzdCBjb2x1bW5zIGFscmVhZHkuIFNvLCB0aGlzIGlzIG5vdCBmdWxsIGhvcml6b250YWwgcmVzb2x1dGlvbi4KCSAgVGhlIGZvbGxvd2luZyBmaWd1cmUgaGVscHMgaW4gdW5kZXJzdGFuZGluZyB0aGUgZXhwZWN0ZWQgb3JkZXIgb2YKCSAgb3BlcmF0aW9ucywgZm9yIGEgOHg1IE1CcyBiaXRwbGFuZS4KCSAgNSA1IDYgNiA2IDYgNiA2CgkgIDUgNSAxIDEgMSAyIDIgMgoJICA1IDUgMSAxIDEgMiAyIDIKCSAgNSA1IDMgMyAzIDQgNCA0CgkgIDUgNSAzIDMgMyA0IDQgNAoJICBTbywgYWZ0ZXIgdGlsZXMgMSB0byA0IGFyZSBkZWNvZGVkLCB2ZXJ0aWNhbCB0aWxlIDUgbmVlZHMgdG8gYmUKCSAgcHJvY2Vzc2VkICgyeDUgTUJzKSBhbmQgdGhlbiB0aGUgaG9yaXpvbnRhbCB0aWxlIDYgKDZ4MSBNQnMpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyNDYxCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDEtMjQgMTc6Mjg6MjIgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBmaXggYml0cGxhbmVzIGRlY29kaW5nIChESUZGNiBvciBOT1JNNikuCgkgIEZpeCBkZWNvZGluZyBvZiBESUZGNiBvciBOT1JNNiBiaXRwbGFuZXMgd2l0aCBhbiBvZGQgbnVtYmVyIG9mIGxpbmVzCgkgICgzeDIgImhvcml6b250YWwiIHRpbGVzKS4gSW4gdGhpcyBjYXNlLCB3ZSBoYXZlIHRvIHNraXAgdGhlIGZpcnN0IGxpbmUKCSAgb2YgbWFjcm9ibG9ja3MgYnV0IDx3aWR0aD4gbnVtYmVyIG9mIGJ5dGVzIHdhcyB1c2VkIHRvIGRvIHNvLCBpbnN0ZWFkCgkgIG9mIHRoZSBhY3R1YWwgPHN0cmlkZT4gc2l6ZS4KCSAgVGhpcyBmaXhlcyBkZWNvZGluZyBmb3IgdGhlIHZpZGVvIHNhbXBsZSBhdHRhY2hlZCB0bzoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2ODU2NQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyNDYxCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTItMDMtMTUgMTQ6MTI6MjEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiAuZ2l0aWdub3JlOgoJKiBBbmRyb2lkLm1rOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vZ3N0aW5zZXJ0YmluLmM6CgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vZ3N0aW5zZXJ0YmluLmg6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItaW5zZXJ0YmluLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWluc2VydGJpbi5wYy5pbjoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2xpYnMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svbGlicy9pbnNlcnRiaW4uYzoKCSAgaW5zZXJ0YmluOiBBZGQgYmluIHRvIGR5bmFtaWNhbGx5IGluc2VydCBlbGVtZW50cyBpbiBhIHJ1bm5pbmcgcGlwZWxpbmUKCSAgVGhpcyBlbGVtZW50IGF1dG9tYXRpY2FsbHkgbGlua3MgaW4gYW55IGVsZW1lbnQgYWRkZWQgdXNpbmcgaXQncwoJICBhY3Rpb24gc2lnbmFscy4gVGhlc2UgZWxlbWVudHMgbXVzdCBoYXZlIGEgc2luZ2xlIHNvdXJjZSBwYWQgYW5kIGEgc2luZ2xlCgkgIHNpbmsgcGFkLgoKMjAxMy0wMS0yMyAxNDo0Nzo1OCArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGFkZCBBUEkgdG8gcGFyc2Ugc2xpY2UgaGVhZGVycy4KCSAgQWRkIGdzdF92YzFfcGFyc2Vfc2xpY2VfaGVhZGVyKCkgZnVuY3Rpb24gdG8gcGFyc2Ugc2xpY2UgaGVhZGVycyBhcwoJICBkZXNjcmliZWQgaW4gNy4xLjIuIFNsaWNlIGxheWVycyBhcmUgb3B0aW9uYWwgYW5kIGFsbG93ZWQgaW4gYWR2YW5jZWQKCSAgcHJvZmlsZSBtb2RlIG9ubHkuIFBpY3R1cmUgaGVhZGVyLCBpZiBhdmFpbGFibGUgKFBJQ19IRUFERVJfRkxBRyksCgkgIGlzIHBhcnNlZCBidXQgbm90IHJlY29yZGVkIGJlY2F1c2UgaXQgc2hhbGwgYmUgdGhlIHNhbWUgYXMgdGhhdCB3YXMKCSAgcHJldmlvdXNseSBwYXJzZWQgd2l0aCBnc3RfdmMxX3BhcnNlX2ZyYW1lX2hlYWRlcigpLgoJICBUaGlzIGZpeGVzIFNBMDAwNDkudmMxIGNvbmZvcm1hbmNlIHRlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIzODgKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMS0yMiAxODowMToyNCArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGZpeCBiaXRwbGFuZXMgZGVjb2RpbmcuCgkgIEZpeCBkZWNvZGluZyBvZiBESUZGMiBvciBOT1JNMiBiaXRwbGFuZXMgd2l0aCBhbiBvZGQgbnVtYmVyIG9mIG1hY3JvYmxvY2tzLgoJICBJbiBwYXJ0aWN1bGFyLCBhY2NvdW50IGZvciB0aGUgZmlyc3QgYml0IHRoYXQgd2FzIGFscmVhZHkgcGFyc2VkIHNvIHRoYXQgdG8KCSAgYXZvaWQgYSBidWZmZXIgb3ZlcmZsb3cgYWZ0ZXIgYWxsIHBhaXJzIGFyZSBwYXJzZWQuCgkgIFRoaXMgZml4ZXMgU0EwMDA0MC52YzEgY29uZm9ybWFuY2UgdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjMxMgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAxLTIyIDE5OjMxOjAyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogZGlzYWJsZSBNRkMgaWYgc29tZSB2NGwyIFBJWF9GTVQgbWlzc2luZwoKMjAxMy0wMS0yMiAxMTo0Mjo0OSArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IHNpbXBsaWZ5IEdzdFZDMVZvcERxdWFudCBzdHJ1Y3R1cmUuCgkgIFJlbmFtZSBkcXNiZWRnZSB0byBkcWJlZGdlLiBUaGUgaW50ZW50IGlzIHRoYXQgd2UgY2FuIG9ubHkgaGF2ZSBhIHNpbmdsZQoJICBib3VuZGFyeSBlZGdlIHNlbGVjdG9yLCBkZXBlbmRpbmcgb24gdGhlIHZhbHVlIG9mIGRxcHJvZmlsZS4gU28sIGRxYmVkZ2UKCSAgcmVwcmVzZW50cyBEUVNCRURHRSBpZiBkcXByb2ZpbGUgPT0gR1NUX1ZDMV9EUVBST0ZJTEVfU0lOR0xFX0VER0UsIG9yCgkgIERRREJFREdFIGlmIGRxcHJvZmlsZSA9PSBHU1RfVkMxX0RRUFJPRklMRV9ET1VCTEVfRURHRS4KCSAgVGhlIGZvcm1lciBkcWJlZGdlIGZpZWxkIGlzIG1hcmtlZCBhcyB1bnVzZWQgYW5kIGNhbiBiZSByZW1vdmVkIG9uIHRoZQoJICBuZXh0IGdzdC1wbHVnaW5zLWJhZCB2ZXJzaW9uIHRoYXQgYWxsb3dzIEFCSSBjaGFuZ2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMjcyCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDEtMTggMTQ6NTU6NDAgKzAxMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHRsc3NpbmsuYzoKCSAgY3VybHRsc3Npbms6IHNldCBjb3JyZWN0IGxldmVsIG9mIFNTTCBmb3IgdGhlIHRyYW5zZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIwMTAKCjIwMTMtMDEtMjIgMTA6NDg6MzkgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBmaXggVk9QRFFVQU5UIHBhcnNlciBmb3IgRFFVQU5UID09IDIuCgkgIEZpeCBwYXJzaW5nIG9mIFZPUERRVUFOVCB3aGVuIERRVUFOVCA9PSAyLiBJbiBwYXJ0aWN1bGFyLCBEUVVBTlRGUk0gaXMKCSAgbm90IHByZXNlbnQgaW4gdGhlIGJpdHN0cmVhbSBpbiB0aGlzIGNhc2UgYW5kIGl0IHNoYWxsIGJlIGRlcml2ZWQgdG8KCSAgdGhlIGRlZmF1bHQgdmFsdWUgb2YgemVybyAoNy4xLjEuMzEuMSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIyNzEKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMS0yMiAxMDozODoyMCArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGZpeCBjYWxjdWxhdGlvbiBvZiBBTFRQUVVBTlQuCgkgIEZpeCBjYWxjdWxhdGlvbiBvZiBBTFRQUVVBTlQgd2hlbiBEUVVBTlQgPT0gMS4gUFFESUZGIGFsdGVycyBBTFRQUVVBTlQKCSAgaW4gYW55IGNhc2UuIFNlZSA3LjEuMS4zMS42LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMjcwCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDEtMjIgMTA6MTE6MzQgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBmaXggcGFyc2VyIGZvciBEUVBST0ZJTEUgaW4gVk9QRFFVQU5ULgoJICBGaXggcGFyc2Vfdm9wZHF1YW50KCkgdG8gY29ycmVjdGx5IHBhcnNlIERRUFJPRklMRSwgd2hpY2ggaXMgMiBiaXRzCgkgIGluc3RlYWQgb2YgYSBzaW5nbGUgYml0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMjY3CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDEtMDYgMTg6NTQ6NTIgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGFkZCBpbmZlcnJlZCB2YWx1ZSBmb3Igc2xpY2VfYmV0YV9vZmZzZXRfZGl2Mi4KCSAgVGhlIHN0YW5kYXJkIHNwZWNpZmllcyB0aGF0IHdoZW4gc2xpY2VfYmV0YV9vZmZzZXRfZGl2MiBpcyBub3QgcHJlc2VudAoJICBpbiB0aGUgc2xpY2UgaGVhZGVyLCB0aGVuIHRoZSB2YWx1ZSBvZiBzbGljZV9iZXRhX29mZnNldF9kaXYyIHNoYWxsIGJlCgkgIGluZmVycmVkIHRvIGJlIGVxdWFsIHRvIDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIyNjUKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMS0xNyAxOTowMjo0OCArMDEwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiByZWVuYWJsZSB1bml0IHRlc3RzIGFuZCB1cCByYW5rIHRvIHByaW1hcnkgYWdhaW4KCjIwMTMtMDEtMTggMTY6MTQ6MDMgKzAxMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiB1c2Ugb3ZlcmxheSBjb21wb3NpdGlvbiB0byBibGl0IHN1YnRpdGxlcyBvbiB2aWRlbyBmcmFtZXMKCSAgUmUtdXNlcyBleGlzdGluZyBibGl0dGluZyBjb2RlIGFuZCBhbHNvIG1lYW5zIHdlIGNhbiBzdXBwb3J0CgkgIGEgbG90IG1vcmUgdmlkZW8gZm9ybWF0cyBvdXQgb2YgdGhlIGJveCwgaGVuY2UgYXZvaWQgdW5uZWNlc3NhcnkKCSAgcGl4ZWwgZm9ybWF0IG9yIGNvbG91ciBzcGFjZSBjb252ZXJzaW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjAxMgoKMjAxMy0wMS0xNyAxODo0ODoxMiArMDEwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IHJlbmRlciBvdmVybGF5IGNvbXBvc2l0aW9uIGlmIHN1cHBvcnRlZCBkb3duc3RyZWFtCgkgIFRoaXMgYWxsb3dzIHJlbmRlcmluZyBBU1Mgc3VidGl0bGVzIG9uIHRvcCBvZiB2aWRlbyB3aGVuCgkgIHVzaW5nIGhhcmR3YXJlLWFjY2VsZXJhdGVkIHZpZGVvIGRlY29kZXJzIGJhc2VkIG9uIGUuZy4KCSAgVkEtQVBJIG9yIFZEUEFVLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc4Mzg5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIwMTIKCjIwMTMtMDEtMjEgMTA6MzU6NDkgKzAxMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBhZGQgd2FpdC10ZXh0IHByb3BlcnR5CgkgIFRoaXMgaXMgdGhlIHNhbWUgcHJvcGVydHkgYXMgaW4gdGhlIHBhbmdvIGVsZW1lbnQsIHRvIGFsbG93IHdhaXRpbmcgZm9yCgkgIHRleHQgb24gdGhlIHRleHQgcGFkIGJlZm9yZSByZW5kZXJpbmcgdGhlIHZpZGVvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMDEyCgoyMDEzLTAxLTE4IDE1OjI1OjQ4ICswMTAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogZml4IHNvbWUgc3VidGl0bGVzIGJlaW5nIGlnbm9yZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjAxMgoKMjAxMy0wMS0xNyAxODozMzoxMSArMDEwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IHJlZmFjdG9yIGNvZGUgdG8gYXZvaWQgZHVwbGljYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjAxMgoKMjAxMy0wMS0xNyAxODoyNjowOCArMDEwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IHByb3h5IGFsbG9jYXRpb25zIG9uIHZpZGVvIHBhZAoJICBGb3J3YXJkIGFsbG9jYXRpb24gcXVlcmllcyBvbiB2aWRlbyBzaW5rIHBhZCBpbnN0ZWFkCgkgIG9mIGRpc2NhcmRpbmcgdGhlbS4KCSAgVGhpcyBhbGxvd3MgdGhlIHVwc3RyZWFtIGVsZW1lbnRzIHRvIHVzZSB0aGUgYWxsb2NhdGlvbgoJICBwYXJhbWV0ZXJzIG9yIHBvb2xzIGZyb20gdGhlIGRvd25zdHJlYW0gZWxlbWVudHMgbGlrZQoJICB2aWRlb3NpbmsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIwMTIKCjIwMTMtMDEtMjAgMTc6NDM6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBjbGVhbiB1cCBHVmFsdWUgaGFuZGxpbmcgYSBsaXR0bGUKCSAgQWxsb2NhdGUgR1ZhbHVlcyBvbiB0aGUgc3RhY2ssIGFuZCB1bnNldC9mcmVlIHRoZW0gcHJvcGVybHksIGZpeGluZwoJICBhIGZldyBsZWFrcyBpbiB0aGUgcHJvY2Vzcy4gQWxzbyB1c2UgZ3N0X3N0cnVjdHVyZV90YWtlX3ZhbHVlKCkKCSAgd2hlcmUgYXBwcm9wcmlhdGUgdG8gYXZvaWQgdW5uZWNlc3NhcnkgbGlzdCBjb3BpZXMuCgoyMDEzLTAxLTIwIDE3OjE3OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IHVwZGF0ZSBTQkMgY2FwcyBmb3IgcmVuYW1lZCBmaWVsZHMKCSAgbW9kZSAtPiBjaGFubmVsLW1vZGUKCSAgYWxsb2NhdGlvbiAtPiBhbGxvY2F0aW9uLW1ldGhvZAoKMjAxMy0wMS0xNyAxOToyOTozMSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IEluaXRpYWxpemUgc2htX2FyZWFfYnVmIHRvIGludmFsaWQgdmFsdWUKCjIwMTMtMDEtMDcgMTM6MzI6MDYgKzAxMDAgIFJvbGFuZCBFbGVrIDxyZWxlay5mMkBnbWFpbC5jb20+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBhcHBseSBzaG0gYXJlYSBwZXJtaXNzaW9ucyB0byBzaG1waXBlIGNvbnRyb2wgc29ja2V0CgkgIEFwcGx5IHNoYXJlZCBtZW1vcnkgYXJlYSBwZXJtaXNzaW9ucyB0byB0aGUgY29udHJvbCBzb2NrZXQgKG1vcmUKCSAgcHJlY2lzZWx5LCB0aGUgcGF0aCBpdCBpcyBib3VuZCB0bykgYXMgd2VsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Mjc3NQoKMjAxMy0wMS0xNiAxNDo0MDoxMSAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjQ6IERlZmluZSBMSUJVU0JfQ0xBU1NfVklERU8gaWYgdXNpbmcgYW4gb2xkIHZlcnNpb24gb2YgbGlidXNiCgoyMDEzLTAxLTE2IDE0OjQ4OjQ2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NDogUHJldmVudCB0ZW1wb3JhcnkgZWxlbWVudHMgZnJvbSBnb2luZyB0byBwbGF5aW5nCgoyMDEzLTAxLTE2IDE0OjQyOjM4IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NDogZG8gbm90IGRvdWJsZS11bnJlZiBpZiB0cmFuc2Zvcm1fY2FwcyBmYWlscwoKMjAxMy0wMS0xNiAxNDo0MTowOCAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjQ6IEFkZCBhIGZha2VzaW5rIHRvIHRoZSB0cmFuc2Zvcm1fY2FwcyBTb21lIHZlcnNpb24gb2YgYmFzZXRyYW5zZm9ybSB3aWxsIHJldHVybiB0aGUgdGVtcGxhdGUgY2FwcyBpZiB0aGUgc3JjIHBhZCBpcyBub3QgbGlua2VkLCBzbyB0aGUgY2Fwc2ZpbHRlciB3aWxsIHJldHVybiBBTlkuIExpbmtpbmcgaXQgdG8gZmFrZXNpbmsgYWxsb3dzIHVzIHRvIHJldHVybiB0aGUgcmlnaHQgY2FwcyBpbiB0aGUgY2Fwc2ZpbHRlciBhbmQgaGF2ZSB0aGVtIHRyYW5zZm9ybWVkIGJ5IHRoZSBjb2xvcnNwYWNlIGNvbnZlcnRlci4KCjIwMTMtMDEtMTUgMTU6MDI6MzcgKzAxMDAgIE1hcnRpbiBQaXR0IDxtYXJ0aW5waXR0QGdub21lLm9yZz4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogdXNlIF8xXzAgdmFyaWFudHMgZm9yIHRoZSB2YXJpb3VzIHJlZ2lzdHJ5IHZhcmlhYmxlcwoJICBUaGVzZSBvdmVycmlkZSB0aGUgdmFyaWFudHMgd2l0aG91dCB2ZXJzaW9uIHN1ZmZpeC4gTWFrZXMgJ21ha2UgY2hlY2snIHdvcmsKCSAgcHJvcGVybHkgaW4gZW52aXJvbm1lbnRzIHRoYXQgc2V0IHRoZSBzdWZmaXhlZCB2YXJpYW50IGZvciAxLjAsIHN1Y2ggYXMKCSAgamhidWlsZC4KCjIwMTMtMDEtMTIgMTM6MTU6MDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IHplcm8taW5pdGlhbGl6ZSBTUFMgVlVJIHBhcmFtZXRlcnMKCSAgLi4uIHNvIGFsbCAncHJlc2VudCcgZmxhZ3MgaW5kaWNhdGUgbm8gcHJlc2VuY2Ugb2Ygb3B0aW9uYWwgcGFydHMKCSAgaW4gY2FzZSBWVUkgcGFyYW1ldGVycyBlbmQgdXAgbm90IGJlaW5nIHBhcnNlZC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTgxOAoKMjAxMy0wMS0xNSAxNTowNTo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGE3MmZhZWEgdG8gYTk0MjI5MwoKMjAxMy0wMS0xMiAxODoxMDozNSArMDEwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8dXJhZXVzQGxpbnV4cmlzaW4ub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIEFkZCB0d28gbGF0ZXN0IHBsdWdpbnMgdG8gc3BlYyBmaWxlCgoyMDEzLTAxLTA5IDE5OjU5OjE2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvc3BhbmRzcC9NYWtlZmlsZS5hbToKCSogZXh0L3NwYW5kc3AvZ3N0ZHRtZmRldGVjdC5jOgoJKiBleHQvc3BhbmRzcC9nc3RkdG1mZGV0ZWN0Lmg6CgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5kc3AuYzoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL2dzdGR0bWYuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0Lmg6CgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0Lmg6CgkgIGR0bWYvc3BhbmRzcDogTW92ZSBkdG1mZGV0ZWN0IHRvIHVzZSBsaWJzcGFuZHNwCgkgIFJlbW92ZSBvdXIgY29weSBvZiB0aGUgdG9uZV9kZXRlY3QuYyBmaWxlIGFuZCB1c2UgdGhlIG9yaWdpbmFsCgkgIGZyb20gbGlic3BhbmRzcC4gQWxzbyBtb3ZlIHRoZSBlbGVtZW50IHRvIHRoZSBzcGFuZHNwIHBsdWdpbi4KCjIwMTMtMDEtMTAgMDA6MzE6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvYmx1ZXovYTJkcC1jb2RlY3MuaDoKCSAgYmx1ZXo6IHVzZSBHTGliIGRlZmluZXMgdG8gY2hlY2sgZm9yIGJ5dGUgb3JkZXIKCjIwMTMtMDEtMDkgMTg6MTA6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9ibHVlei9NYWtlZmlsZS5hbToKCSogc3lzL2JsdWV6L2JsdWV6LXBsdWdpbi5jOgoJICBibHVlejogYWRkIG5ldyBwbHVnaW4gdG8gYnVpbGQgc3lzdGVtLCBidXQgZGlzYWJsZSBmb3Igbm93CgkgIERpc2FibGUgdW50aWwgaXQgaGFzIGJlZW4gdGVzdGVkIGFuZCB3b3Jrcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDU4MgoKMjAxMy0wMS0wOSAxODowMjoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJICBibHVlejogbWFrZSBibHVleiBlbGVtZW50cyBjb21waWxlIHdpdGggMS4wCgkgIEJ1aWxkcywgYnV0IHZlcnkgbGlrZWx5IGRvZXNuJ3Qgd29yayB5ZXQgYXQgYWxsLiBTb21lCgkgIHRoaW5ncyBhcmUgc3RpbGwgY29tbWVudGVkIG91dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDU4MgoKMjAxMi0xMC0wOSAyMDozNTo0NSArMDkwMCAgQ2hhbi15ZW9sIFBhcmsgPGNoYW55ZW9sLnBhcmtAc2Ftc3VuZy5jb20+CgoJKiBzeXMvYmx1ZXovYTJkcC1jb2RlY3MuaDoKCSAgYmx1ZXo6IGF2aW5mbzogUmVwbGFjZSBkZWZpbml0aW9ucyB3aXRoIGEyZHAtY29kZWNzLmgncwoKMjAxMi0xMC0wOSAyMDozNTo0NCArMDkwMCAgQ2hhbi15ZW9sIFBhcmsgPGNoYW55ZW9sLnBhcmtAc2Ftc3VuZy5jb20+CgoJKiBzeXMvYmx1ZXovYTJkcC1jb2RlY3MuaDoKCSAgYmx1ZXo6IGF1ZGlvOiBBZGQgY2hlY2sgZm9yIHZlbmRvciBzcGVjaWZpYyBBMkRQIGNvZGVjCgkgIFRoaXMgcGF0Y2ggYWRkcyBjaGVja3ModmVuZG9yIElELCB2ZW5kb3Igc3BlY2lmaWMgY29kZWMgSUQpIHRvIG1ha2Ugc3VyZSBvZgoJICB2ZW5kb3Igc3BlY2lmaWMgQTJEUCBjb2RlYyBzZWxlY3Rpb24uCgoyMDEyLTA5LTE0IDIxOjQwOjEwICswNTMwICBTeWFtIFNpZGhhcmRoYW4gPHMuc3lhbUBzYW1zdW5nLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IGdzdGF2ZHRwc2luazogRnJlZSB0aGUgRC1CdXMgZXJyb3Igb24gcmVwbHkgZmFpbHVyZQoJICBJZiBELUJ1cyBlcnJvciBpcyBzZXQgd2Ugc2hvdWxkIGZyZWUgaXQuCgoyMDEyLTA4LTIxIDExOjQ5OjI0IC0wNDAwICBBbmRlcnNvbiBMaXphcmRvIDxhbmRlcnNvbi5saXphcmRvQG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkgIGJsdWV6OiBGaXggdHJpdmlhbCBjb2Rpbmcgc3R5bGUgaXNzdWVzIG9uIHBvaW50ZXIgZGVjbGFyYXRpb25zIGFuZCBjYXN0aW5nCgkgIEF2b2lkIHVzaW5nIEMrKyBzdHlsZSBwb2ludGVyIGRlY2xhcmF0aW9ucyBsaWtlICJjaGFyKiBwdHIiLCBhcyBtb3N0CgkgIEJsdWVaIGNvZGUgdXNlcyAiY2hhciAqcHRyIi4KCjIwMTItMDYtMjUgMTI6MDY6MTcgKzAzMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXoudm9uLmRlbnR6QGludGVsLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJICBibHVlejogYXVkaW86IFJlbW92ZSBpbnRlcm5hbCBhdWRpbyBJUEMKCSAgV2l0aCB1bml4IHNvY2tldCBhbmQgQUxTQSByZW1vdmVkIHRoZXJlIGlzIG5vIGxvbmdlciBhbnkgdXNlIGZvciB0aGUKCSAgaW50ZXJuYWwgSVBDLgoKMjAxMi0wNS0zMCAxNzoxNjoxOSAtMDQwMCAgQW5kZXJzb24gTGl6YXJkbyA8YW5kZXJzb24ubGl6YXJkb0BvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogUmVtb3ZlIGNvbXBhdGliaWxpdHkgY2hlY2sgZm9yIERCVVNfVFlQRV9VTklYX0ZECgkgIFNpbmNlIGNvbW1pdCBjODliNTg5YTU4NmU5N2FkODc1ZmJkZDFkNDFmMDM5NzkxNTdlYmIwLCBELUJ1cyA+PSAxLjQuMCBpcwoJICByZXF1aXJlZC4gVGhpcyB2ZXJzaW9uIGFscmVhZHkgY29udGFpbnMgVW5peCBGRCBwYXNzaW5nIHN1cHBvcnQsCgkgIHRoZXJlZm9yZSBjb2RlIHRoYXQgY2hlY2tzIGZvciBEQlVTX1RZUEVfVU5JWF9GRCBkZWZpbml0aW9uIGlzCgkgIHVubmVjZXNzYXJ5LgoKMjAxMi0wNS0xOCAwOTo0NjoyOSAtMDQwMCAgQW5kZXJzb24gTGl6YXJkbyA8YW5kZXJzb24ubGl6YXJkb0BvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogYXZkdHA6IEZpeCBpbmNvcnJlY3QgZ2NoYXIgYnVmZmVyIGFsbG9jYXRpb24KCSAgVGhlIGNvZGUgd2FzIGFsbG9jYXRpbmcgYW4gYXJyYXkgb2YgZ2NoYXIgcG9pbnRlcnMsIHdoZXJlIGFuIGFycmF5IG9mCgkgIGdjaGFyIGlzIGV4cGVjdGVkLgoKMjAxMi0wNC0xNiAxMTo1OTo1OSArMDkwMCAgQ2hhbi15ZW9sIFBhcmsgPGNoYW55ZW9sLnBhcmtAc2Ftc3VuZy5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBhdWRpbzogQWRkIFNCQyBOVUxMIGNoZWNrIGZvciBHU1QgQVZEVFAgc2lnbmFsaW5nCgkgIER1ZSB0byBSRiBjb25kaXRpb24gb3IgaGVhZHNldCBtYWxmdW5jdGlvbmluZywgZ3N0IGF1ZGlvIHBsdWctaW4gY291bGQKCSAgbm90IGdldCBTQkMgKG1hbmRhdG9yeSBjb2RlYykgaW5mb3JtYXRpb24uCgoyMDEyLTA0LTEyIDIwOjMzOjA2ICswNTMwICBTeWFtIFNpZGhhcmRoYW4gPHMuc3lhbUBzYW1zdW5nLmNvbT4KCgkgIGJsdWV6OiBhdWRpbzogRml4IG5ld2xpbmUgYmVmb3JlIEVPRgoKMjAxMi0wNC0xMiAyMDozMjo1NSArMDUzMCAgU3lhbSBTaWRoYXJkaGFuIDxzLnN5YW1Ac2Ftc3VuZy5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBnc3RhdmR0cHNpbms6IEZpeCBELUJ1cyBtZW1vcnkgbGVhayBpbiBhdWRpbwoKMjAxMS0xMS0xNyAxMzoyOTowNiAtMDQwMCAgQW5kZXJzb24gTGl6YXJkbyA8YW5kZXJzb24ubGl6YXJkb0BvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogQVZEVFA6IEZpeCBjbG9zaW5nIGludmFsaWQgRkQgb24gZXJyb3IKCSAgSW4gZ3N0X2F2ZHRwX3Npbmtfc3RhcnQoKSwgaWYgYnRfYXVkaW9fc2VydmljZV9vcGVuKCkgZmFpbGVkLCB0aGVyZSB3YXMKCSAgYW4gYXR0ZW1wdCB0byBjbG9zZSBhbiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciAodGhyb3VnaAoJICBidF9hdWRpb19zZXJ2aWNlX2Nsb3NlKCkpLgoKMjAxMS0xMS0xNiAwOToyMDowNCAtMDQwMCAgQW5kZXJzb24gTGl6YXJkbyA8YW5kZXJzb24ubGl6YXJkb0BvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogRml4IHJldHVybiB2YWx1ZSBjaGVjayBmb3IgYnRfYXVkaW9fc2VydmljZV9vcGVuKCkKCSAgT25seSBuZWdhdGl2ZSB2YWx1ZXMgKG5hbWVseSAtMSkgYXJlIGVycm9ycyBmb3IgdGhpcyBmdW5jdGlvbi4KCjIwMTEtMTEtMTYgMDk6MTk6NDkgLTA0MDAgIEFuZGVyc29uIExpemFyZG8gPGFuZGVyc29uLmxpemFyZG9Ab3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEFWRFRQOiBGaXggZXJybm8gaGFuZGxpbmcgY29udmVudGlvbgoJICBWYXJpYWJsZXMgd2hpY2ggYXJlIGFzc2lnbmVkIHRvIHRoZSBlcnJubyB2YXJpYWJsZSAodXN1YWxseSBjYWxsZWQKCSAgImVyciIpIHNob3VsZCBiZSBuZWdhdGl2ZSwgYW5kICItZXJyIiBzaG91bGQgYmUgdXNlZCB3aGVyZSBhIHBvc2l0aXZlCgkgIHZhbHVlIGlzIG5lZWRlZC4KCjIwMTEtMDgtMjYgMTE6MTg6NTQgLTA3MDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIHN5cy9ibHVlei9hMmRwLWNvZGVjcy5oOgoJICBibHVlejogYXVkaW86IFVwZGF0ZSBsaWNlbnNlIGZvciBzaGFyZWQgaGVhZGVyIGZpbGVzCgkgIFRoZSBoZWFkZXIgZmlsZXMgd2l0aCBjb25zdGFudHMgYW5kIHN0cnVjdHVyZXMgZm9yIGF1ZGlvIHNwZWNpZmljCgkgIGludGVyYWN0aW9uIHdpdGggUHVsc2VhdWRpbyBhcmUgc3VwcG9zZSB0byBiZSB1bmRlciBMR1BMIGxpY2Vuc2UuCgkgIEZvciBzb21lIG9kZCByZWFzb24gYTJkcC1jb2RlY3MuaCBlbmRlZCB1cCBiZWluZyB1bmRlciBHUEwgbGljZW5zZQoJICB3aGljaCBpcyBhZ2FpbnN0IHRoZSBpbnRlbnRpb24gb2YgdGhpcyBiZWluZyBzaGFyZWQgYW5kIHJlLXVzZWQgYnkKCSAgbm9uLUdQTCBwcm9ncmFtcy4gRml4IHRoaXMgbm93IHRvIGF2b2lkIGFueSBmdXR1cmUgY29uZnVzaW9uLgoKMjAxMS0wNy0wMiAxMjozMjo0MCAtMDMwMCAgTHVjYXMgRGUgTWFyY2hpIDxsdWNhcy5kZW1hcmNoaUBwcm9mdXNpb24ubW9iaT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCBjb21tb24gbWlzc3BlbGxlZCB3b3JkcwoJICBBY2NvdW50aW5nIG9mIG1pc3NwZWxsZWQgd29yZHMsIGFzIGRldGVjdGVkIGJ5IGNvZGVzcGVsbDoKCSAgYWNvcmRpbmcgICAgICAyCgkgIGFuY2lsbGlhcnkgICAgMQoJICBhcHByb3BpYXRlICAgIDEKCSAgYXRyaWJ1dGUgICAgICAxCgkgIGNhbnQgICAgICAgICAgMQoJICBjb21taW5nICAgICAgIDIKCSAgZ3JhY2VmdWxsICAgICAxCgkgIGxlbmdodCAgICAgICAgMQoJICBtaXNwZWxsZWQgICAgIDEKCSAgb2NjdXJlZCAgICAgICAxCgkgIG9jY3VyZW5jZXMgICAgMQoJICBvY3VycmVkICAgICAgIDMKCSAgcHJlZmVyZWQgICAgICAxCgkgIHByZXNlbnNlICAgICAgMQoJICByZXBvbnNlICAgICAgIDEKCSAgc2VwZXJhdGUgICAgICAxCgkgIHN1Y2Nlc2Z1bCAgICAgMQoJICBzdWNjZXNzdWxseSAgIDEKCSAgc3VjZXNzZnVsbCAgICAxCgkgIHN1Y2Vzc2Z1bGx5ICAgMQoKMjAxMS0wNS0wOSAxNToyNjowNyArMDIwMCAgU3p5bW9uIEphbmMgPHN6eW1vbi5qYW5jQHRpZXRvLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCBnYXJiYWdlIHJldHVybiB2YWx1ZSBpbiBnc3RfYXZkdHBfc2lua19hdWRpb3NlcnZpY2VfcmVjdgoKMjAxMS0wMi0xMyAxNzo1MTo0NSAtMDgwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkgIGJsdWV6OiBhdWRpbzogUmVtb3ZlIHdvcmthcm91bmQgZm9yIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDExLTAxLTIwIDExOjI5OjQxICswMjAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6LXZvbkBub2tpYS5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBVcGRhdGUgYTJkcHNpbmsgdG8gdXNlIG5ldyBBY3F1aXJlIEFQSQoKMjAxMS0wMS0xOSAxMDowNDo0OSArMDIwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ei12b25Abm9raWEuY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogRml4IHVzZSBvZiBkZXByZWNhdGVkIGdsaWIgb24gYXVkaW8gcGx1Z2luCgoyMDEwLTA1LTA2IDE3OjE0OjE0ICswMzAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6LXZvbkBub2tpYS5jb20+CgoJKiBzeXMvYmx1ZXovYTJkcC1jb2RlY3MuaDoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSAgYmx1ZXo6IEFkZCBzdXBwb3J0IGZvciBtZWRpYSB0cmFuc3BvcnQgaW4gZ3N0cmVhbWVyIHBsdWdpbgoKMjAxMC0wOS0xMyAxNTo0MDoxMSArMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ei12b25Abm9raWEuY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogRml4IGNyYXNoIG9uIGdzdHJlYW1lciBwbHVnaW4gaWYgZGV2aWNlIGRvZXNuJ3Qgc3VwcG9ydCBzYmMKCjIwMTAtMDUtMTkgMTY6NTk6MzAgKzAyMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBBZGQgcHJhZ21hIGJhc2VkIHdvcmthcm91bmQgZm9yIEdTdHJlYW1lciB3YXJuaW5ncwoKMjAxMC0wNS0xOSAxNjoxMDoyNiArMDIwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkgIGJsdWV6OiBSZXZlcnQgIkZpeCBidWlsZCBpc3N1ZXMgd2l0aCBsYXRlc3QgR1N0cmVhbWVyIHVwZGF0ZXMiCgoyMDEwLTA1LTE3IDIyOjMxOjI4ICswMjAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSAgYmx1ZXo6IEZpeCBidWlsZCBpc3N1ZXMgd2l0aCBsYXRlc3QgR1N0cmVhbWVyIHVwZGF0ZXMKCjIwMTAtMDEtMDEgMTc6MDg6MTcgLTA4MDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkgIGJsdWV6OiBVcGRhdGUgY29weXJpZ2h0IGluZm9ybWF0aW9uCgoyMDA5LTEwLTA1IDIyOjUxOjE0ICswMjAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QGdtYWlsLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCBjb2RlYyBzZWxlY3Rpb24gb24gZ3N0cmVhbSBwbHVnaW4uCgoyMDA5LTEwLTAyIDEwOjU4OjU0ICswMjAwICBKb2hhbiBIZWRiZXJnIDxqb2hhbi5oZWRiZXJnQG5va2lhLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBibHVlejogRml4IHVubmVjZXNzYXJ5IE5VTEwgY2hlY2tzCgoyMDA5LTA3LTE1IDE2OjUxOjA4IC0wMzAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBSZW1vdmUgdXNlbGVzcyBpbnN0cnVjdGlvbi4KCjIwMDktMDctMDEgMTM6MTU6NTcgKzAyMDAgIEZpbGlwcG8gR2l1bmNoZWRpIDxmaWxpcHBvQGVzYXVyaXRvLm5ldD4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBibHVlejogUmVnaXN0ZXIgdGhlIGEyZHAgZ3N0IHNpbmsgYXMgbWFyZ2luYWwKCSAgQXZvaWQgdGFraW5nIG92ZXIgYXMgZGVmYXVsdCBnc3Qgc2luayBieSByZWdpc3RlcmluZyBhcyBHU1RfUkFOS19NQVJHSU5BTAoKMjAwOS0wMy0yNSAxODowNTo0MyAtMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogQWRkIHNwZWNpZmljIGNvZGVjIHR5cGVzLgoJICBBZGQgc3BlY2lmaWMgY29kZWMgdHlwZXMgZm9yIGEyZHAgc291cmNlcyBhbmQgc2lua3Mgc28gY2xpZW50cyBhcmUgYWJsZQoJICB0byBkaWZmZXIgYmV0d2VlbiB0aGVtLgoKMjAwOS0wMy0xOCAxNTo1ODo1MyAtMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogUmVtb3ZlIHVubmVjZXNzYXJ5IG1lbXNldC4KCjIwMDktMDMtMTkgMTY6MTY6MTkgLTAzMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEFkZCBsb2NrIGZsYWcgZm9yIGNhcGFiaWxpdGllcy4KCSAgbG9jayBmbGFnIHBlcm1pdHMgdGhlIHVuaXggY2xpZW50IHRvIGRldGVjdCBpZiB0aGVyZSBpcyBzb21lb25lIGhvbGRpbmcKCSAgdGhlIGxvY2sgc28gaXQgY2FuIHByZXZlbnQgdXNlbGVzcyBhdHRlbXB0IG9mIHNldHRpbmcgYSBuZXcgY29uZmlndXJhdGlvbi4KCjIwMDktMDMtMTggMTE6MjA6MzEgLTAzMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEludHJvZHVjZSBCVF9PUEVOIGNvbW1hbmQgdG8gYXVkaW8gaXBjLgoJICBCVF9PUEVOIG1ha2UgaXQgcG9zc2libGUgdG8gbG9jayBhIGdpdmVuIHNlaWQgd2hpY2ggaXMgYXV0b21hY2FsbHkKCSAgcmVsZWFzZSBpZiB0aGUgY2xpZW50IGRpc2Nvbm5lY3RzIGZyb20gdGhlIHVuaXggc29ja2V0LgoKMjAwOS0wMy0xOSAxMTo1MDoyNiAtMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogQWRkIHNvdXJjZSBhbmQgZGVzdGluYXRpb24gZmllbGRzIHRvIGF1ZGlvIGlwYyBtZXNzYWdlcy4KCjIwMDktMDItMTkgMTU6NTg6MTUgLTAzMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IE1ha2UgdXNlIG9mIGdfaW9fY2hhbm5lbF9zaHV0ZG93biBpbnN0ZWFkIG9mIGRlcHJlY2F0ZWQgZ19pb19jaGFubmVsX2Nsb3NlLgoKMjAwOS0wMS0wMSAxOTozMzoyMCArMDEwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSAgYmx1ZXo6IFVwZGF0ZSBjb3B5cmlnaHQgaW5mb3JtYXRpb24KCjIwMDgtMTItMjMgMDU6MjU6NTAgKzAxMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJICBibHVlejogRmlyc3QgYXR0ZW1wdCBpbiBmaXhpbmcgY29tcGlsZXIgd2FybmluZ3MgKHN0aWxsIG5lZWRzIGNsZWFudXApCgoyMDA4LTEyLTIwIDIxOjQyOjQ5ICswMjAwICBKb2hhbiBIZWRiZXJnIDxqb2hhbi5oZWRiZXJnQG5va2lhLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IE1vcmUgY29kaW5nIHN0eWxlIGZpeGVzCgoyMDA4LTEyLTIwIDIxOjA0OjQ0ICswMjAwICBKb2hhbiBIZWRiZXJnIDxqb2hhbi5oZWRiZXJnQG5va2lhLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IENvZGluZyBzdHlsZSBmaXhlcwoKMjAwOC0xMi0yMCAxODoyNzozMCArMDIwMCAgSm9oYW4gSGVkYmVyZyA8am9oYW4uaGVkYmVyZ0Bub2tpYS5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggbGVuZ3RoIGhlYWRlciB2YWx1ZXMgaW4gbWVzc2FnZXMKCjIwMDgtMTItMTYgMTc6MDk6NTcgLTAzMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCBnc3RyZWFtZXIgcGx1Z2luIHRvIHJlZmxlY3QgdGhlIGlwYyBjaGFuZ2VzLgoKMjAwOC0xMC0wNyAxMjowNzoxNCAtMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogRml4IGNoYW5uZWwgbW9kZSBzdHJpbmcgZnJvbSBkdWFsIHRvIGR1YWwtY2hhbm5lbC4KCjIwMDgtMTAtMDcgMTE6NTU6NTggLTAzMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCBjaGFubmVsIG1vZGUgc3RyaW5nIHRvIGpvaW50LXN0ZXJlby4KCjIwMDgtMDItMjAgMTM6Mzc6MDAgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBibHVlejogRml4IHJ1bnRpbWUgd2FybmluZ3Mgb2YgZ3N0cmVhbWVyIHBsdWdpbi4KCjIwMDgtMDItMTkgMTk6NDk6MjQgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBVcGRhdGUgZ3N0cmVhbWVyIHBsdWdpbiB0byB1c2UgbmV3IHNiYyBBUEkuCgoyMDA4LTAyLTE0IDIxOjIyOjM4ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBNYWtlIHVzZSBvZiBwYXJhbWV0ZXJzIHNlbGVjdGVkIGluIGFsc2EgcGx1Z2luIGFuZCBmaXggYXV0byBzZWxlY3Rpb24uCgoyMDA4LTAyLTAyIDAzOjM3OjA1ICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJICBibHVlejogVXBkYXRlIGNvcHlyaWdodCBpbmZvcm1hdGlvbgoKMjAwOC0wMi0wMSAxOToyODozNyArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkgIGJsdWV6OiBBZGQgYml0cG9vbCBwcm9wZXJ0eSBhbmQgb3RoZXJzIGZpeGVzIGZvciBnc3RyZWFtZXIgcGx1Z2luLgoKMjAwOC0wMS0zMCAxNzozMDoyNyArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSAgYmx1ZXo6IEVuYWJsZSBnc3RyZWFtZXIgcGx1Z2luIHRvIHVzZSBhdXRvY29ubmVjdCBmbGFnLgoKMjAwOC0wMS0zMCAxNDoyMTo0MyArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJICBibHVlejogRml4ZXMgZ3N0cmVhbWVyIGNhcHMgYW5kIGNvZGUgY2xlYW51cC4KCjIwMDgtMDEtMjMgMTk6MTc6MzMgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSAgYmx1ZXo6IEZpeCB1c2Ugb2YgZ3N0cmVhbWVyIHBsdWdpbiB3aXRoIHJoeXRobWJveCBhbmQgYmFuc2hlZSBhbmQgcnRwIHRpbWVzdGFtcHMuCgoyMDA4LTAxLTIzIDE1OjE4OjE1ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJICBibHVlejogUmVuYW1lIGEyZHBzZW5kZXJzaW5rIHRvIGF2ZHRwc2luay4KCjIwMDgtMDEtMjMgMTM6MjM6MDEgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSAgYmx1ZXo6IEJ1ZyBmaXhlcyBmb3IgZ3N0cmVhbWVyIHBsdWdpbi4KCjIwMDgtMDEtMjMgMTM6MTk6MzIgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSAgYmx1ZXo6IEFkZCBtcDMgc3VwcG9ydCBmb3IgZ3N0cmVhbWVyIHBsdWdpbi4KCjIwMDgtMDEtMjMgMTM6MTQ6MDIgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSAgYmx1ZXo6IE1ha2UgYTJkcHNpbmsgdG8gYWN0IGxpa2UgYSBiaW4gYW5kIHNwbGl0IHRoZSBwYXlsb2FkZXIuCgoyMDA3LTEyLTA0IDE5OjQyOjAwICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCBlcnJvciBtZXNzYWdlcy4gKHRoYW5rcyB0byBmY2hldmFsaWVyIGZvciB0aGUgcGF0Y2gpCgoyMDA3LTEyLTAzIDIyOjQxOjI5ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSAgYmx1ZXo6IEhhbmRsZSBuZXcgaXBjIG1lc3NhZ2VzIHByb3Blcmx5IGFuZCBhZGFwdCB0aGUgcGx1Z2lucy4KCjIwMDctMTEtMjMgMTc6MDA6MTMgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBibHVlejogQ29kZSBjbGVhbnVwLgoKMjAwNy0xMS0yMSAyMDoyNDoxMSArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJICBibHVlejogSW50ZWdyYXRlIG5ldyBpcGMgQVBJIGltcGxlbWVudGF0aW9uLgoKMjAwNy0xMS0wMSAxOTo0NTowMCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJICBibHVlejogRml4IHNiYyBuZWdvdGlhdGlvbiBhbmQgaW1wcm92ZXMgYnVmZmVyIGhhbmRsaW5nIGJ5IHVzaW5nIEdzdEFkYXB0ZXIuCgoyMDA3LTEwLTI5IDE1OjAyOjI2ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSAgYmx1ZXo6IEFkZCBiaXRwb29sIGNhcGFiaWxpdHkuCgoyMDA3LTEwLTI2IDE4OjQ4OjQyICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSAgYmx1ZXo6IFJlbW92ZSBkZXBlbmRlbmN5IG9mIHNiYyBsaWJyYXJ5IGZyb20gYTJkcHNpbmsgZWxlbWVudC4KCjIwMDctMTAtMjUgMjE6MDc6NTAgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSAgYmx1ZXo6IEZpeCBidWZmZXIgdXNhZ2UuCgoyMDA3LTEwLTI0IDIxOjQwOjM1ICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSAgYmx1ZXo6IFNvbWUgbW9yZSBjb2Rpbmcgc3R5bGUgZml4ZXMKCjIwMDctMTAtMjQgMjE6MzM6MjIgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBibHVlejogRml4IGNvZGluZyBzdHlsZS4KCjIwMDctMTAtMjQgMjE6MTM6MTIgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSAgYmx1ZXo6IEZpeCBhMmRwc2luayBjb2Rpbmcgc3R5bGUgcHJvYmxlbXMgYW5kIGltcHJvdmUgY29tcGF0aWJpbGl0eSB3aXRoIHNvbWUgcGxheWVycy4KCjIwMDctMTAtMTggMjM6MDI6MjQgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBibHVlejogQWRkIHJ0cCBoZWFkZXIuCgoyMDA3LTEwLTE4IDIyOjQ2OjEyICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCBjb2Rpbmcgc3R5bGUgaXNzdWVzLgoKMjAwNy0xMC0xOCAyMTo1MDowMCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJICBibHVlejogRml4ZXMgYTJkcHNpbmsgZWxlbWVudC4KCjIwMDctMDgtMjYgMTQ6MTQ6MzQgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSAgYmx1ZXo6IEFkZCBwb3NzaWJsZSBjYXBhYmlsaXRpZXMgYW5kIGNvbm5lY3QgdG8gYXVkaW8gc2VydmVyCgoyMDA3LTA4LTIzIDE5OjEyOjIzICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkgIGJsdWV6OiBBZGQgU0JDIGVuY29kZXIgYW5kIGRlY29kZXIgc2tlbGV0b25zIGZvciBHU3RyZWFtZXIKCjIwMDctMDgtMjIgMjE6NTA6NTkgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSAgYmx1ZXo6IEFkZCBza2VsZXRvbiBmb3IgYW4gQTJEUCBzaW5rIGVsZW1lbnQKCjIwMTMtMDEtMDcgMTA6Mzc6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgcmVzaW5kdmQ6IGhhbmRsZSBub24tdXRmOCBkdmQgZGlzYyB0aXRsZXMgYmV0dGVyCgkgIE1heWJlIHNvbWV0aGluZyBiYXNlZCBvbiB0aGUgY29kZSBpbiBidWcgIzY4ODM2NwoJICBhbmQgdGhlIGxhbmd1YWdlIGVuY29kaW5ncyB3b3VsZCB3b3JrIGV2ZW4gYmV0dGVyCgkgIHRob3VnaCAobm93IGl0IHdpbGwgdHJ5IHRoaW5ncyBiYXNlZCBvbiB0aGUgbG9jYWxlKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDA5NwoKMjAxMy0wMS0wNyAxMDozNjo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvamFzcGVyL01ha2VmaWxlLmFtOgoJKiBleHQvamFzcGVyL2dzdGphc3Blci5jOgoJKiBleHQvamFzcGVyL2dzdGphc3BlcmRlYy5jOgoJKiBleHQvamFzcGVyL2dzdGphc3BlcmRlYy5oOgoJKiBleHQvamFzcGVyL2dzdGphc3BlcmVuYy5jOgoJKiBleHQvamFzcGVyL2dzdGphc3BlcmVuYy5oOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgamFzcGVyOiByZW1vdmUgamFzcGVyIGpwZWcyMDAwIHBsdWdpbiwgcmVwbGFjZWQgYnkgb3BlbmpwZWcgcGx1Z2luCgkgIGxpYmphc3BlciBpc24ndCByZWFsbHkgbWFpbnRhaW5lZCBhbnkgbG9uZ2VyLCB3ZSBwcm9iYWJseQoJICBkb24ndCB3YW50IHRvIHBvcnQgdGhpcy4KCjIwMTMtMDEtMDcgMDA6NDk6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYWxsb3cgY29tcGlsYXRpb24gYWdhaW5zdCBvcGVuY3YgMi40LjMgYXMgd2VsbAoKMjAxMi0xMi0wNiAxMTo1NTo0NSAtMDUwMCAgVmljdG9yIEdvdHRhcmRpIDx2Z290dGFyZGlAaG90bWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuYzoKCSAgaGxzc2luazogZG9uJ3QgZm9yd2FyZCBtdWx0aWZpbGVzaW5rIG1lc3NhZ2VzIHRvIGFwcGxpY2F0aW9uCgkgIFRoZXNlIG1lc3NhZ2VzIGFyZSB1c3VhbGx5IG9ubHkgbmVlZGVkIGludGVybmFsbHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODk4MjIKCjIwMTItMTEtMDYgMTA6MTc6MTkgLTA1MDAgIFZpY3RvciBHb3R0YXJkaSA8dmdvdHRhcmRpQGhvdG1haWwuY29tPgoKCSogZ3N0L2hscy9nc3RtM3U4cGxheWxpc3QuYzoKCSAgaGxzc2luazogbTN1OCBhZGQgRVhULVgtQUxMT1ctQ0FDSEUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTgyMgoKMjAxMi0xMi0wNSAxMDowNjozOCAtMDUwMCAgVmljdG9yIEdvdHRhcmRpIDx2Z290dGFyZGlAaG90bWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJICBobHNzaW5rOiByb3VuZCBzZWdtZW50IGR1cmF0aW9uIHRvIG5lYXJlc3QgbnVtYmVyIG9mIHNlY29uZHMKCSAgRS5nLiBmb3IgMXMgcGVyaW9kLCBkdXJhdGlvbiBjYW4gYmUgMC45OXMsIHJvdW5kcyBkb3duIHRvIDAsIHJlc3VsdHMgaW4gaW52YWxpZAoJICBwbGF5bGlzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg5ODIyCgoyMDEzLTAxLTA2IDIyOjE5OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2hscy9nc3RtM3U4cGxheWxpc3QuYzoKCSogZ3N0L2hscy9nc3RtM3U4cGxheWxpc3QuaDoKCSAgaGxzc2luazogZG9uJ3QgbGVhayBvbGQgcGxheWxpc3QgZW50cmllcyB3aGVuIHVzaW5nIG1heC1maWxlcwoJICBCYXNlZCBvbiBwYXRjaCBieTogVmljdG9yIEdvdHRhcmRpIDx2Z290dGFyZGlAaG90bWFpbC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODk4MjIKCjIwMTMtMDEtMDUgMTg6NTY6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9maW1jL2ZpbWMuYzoKCSogc3lzL21mYy9maW1jL2ZpbWMuaDoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBBZGQgc3VwcG9ydCBmb3IgUkdCCgoyMDEzLTAxLTA0IDE1OjM4OjU4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobTogQWN0dWFsbHkgZ2V0IHRoZSBwZXJtaXNzaW9ucyBvbiBnZXRfcHJvcGVydHkKCjIwMTMtMDEtMDQgMTc6MTk6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5jOgoJICBpbnRlcjogZG9uJ3QgdXNlIGRlcHJlY2F0ZWQgR1N0YXRpY011dGV4IEFQSQoKMjAxMy0wMS0wMyAxNzoyODo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogRG9uJ3QgcmV0dXJuIEVHTEltYWdlcyB0aGF0IHdlIGp1c3QgcmVuZGVyZWQgZnJvbSB0aGUgYnVmZmVyIHBvb2wKCSAgTWFwcGluZyB0aGVtIHdpbGwgZmFpbCBiZWNhdXNlIHRoZXkncmUgc3RpbGwgaW50ZXJuYWxseSB1c2VkLgoKMjAxMy0wMS0wMyAxNToyMjozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuaDoKCSAgZWdsZ2xlc3Npbms6IEhhbmRsZSBjb3B5aW5nIG9mIEdzdE1lbW9yeSBwcm9wZXJseQoJICBXZSBoYXZlIHRvIHVzZSB0aGUgZGVmYXVsdCB2aWRlbyBtZXRhIG1hcHBpbmcgZnVuY3Rpb25zLgoKMjAxMy0wMS0wMyAxMjowOToxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IFNldCB2YXJpYWJsZXMgdG8gTlVMTCB0byBwcmV2ZW50IHVzYWdlIGFmdGVyIGZyZWUvdW5yZWYKCjIwMTMtMDEtMDMgMTI6MDg6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJICBlZ2xnbGVzc2luazogTWFrZSBzdXJlIHRvIGFsd2F5cyB1c2UgdGhlIGNvcnJlY3QgR3N0TWVtb3J5IGZvciBidWZmZXJzIGZyb20gb3VyIHBvb2wKCjIwMTMtMDEtMDMgMTE6MDM6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvbid0IGZvcmdldCB0byBjYWxsIHRoZSBwbGF0Zm9ybSBzcGVjaWZpYyBFR0xJbWFnZSBmcmVlIGZ1bmN0aW9uCgoyMDEzLTAxLTAzIDEwOjUzOjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSAgbWZjOiBGaXggbGVhayBvZiBpbnB1dC9vdXRwdXQgYnVmZmVyIHN0b3JhZ2UgaW4gdGhlIE1GQyBkZWNvZGVyIGxpYnJhcnkKCjIwMTMtMDEtMDMgMTA6NDA6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IE1ha2Ugc3VyZSB0byB3YWl0IGZvciB0aGUgcmlnaHQgb2JqZWN0IHRvIGJlIGRlcXVldWVkCgoyMDEzLTAxLTAzIDEwOjEwOjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogRml4IHR5cG8KCjIwMTMtMDEtMDIgMTc6MjM6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBPbmx5IGFkZCBjcm9wIG1ldGFkYXRhIGlmIHJlcXVpcmVkCgoyMDEzLTAxLTAyIDE2OjUzOjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZmltYy9maW1jLmM6CgkgIGZpbWM6IERvIFNUUkVBTU9OL1NUUkVBTU9GRiBvbmx5IG9uY2UgYW5kIG5vdCBvbmNlIHBlciBidWZmZXIKCjIwMTMtMDEtMDIgMTY6Mzg6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJICBtZmM6IFJlcXVpcmUgb25lIG1vcmUgb3V0cHV0IGJ1ZmZlciB0aGFuIHJldHVybmVkIGJ5IHRoZSBkcml2ZXIKCjIwMTMtMDEtMDIgMTY6MTA6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlbW92ZSBwYWNrZWQgWVVWIHN1cHBvcnQKCSAgVGhpcyB3aWxsIG5vdCBhbGxvdyB6ZXJvLWNvcHkgYmVjYXVzZSB0aGUgc2FtZQoJICBFR0xJbWFnZSB3b3VsZCBuZWVkIHRvIGJlIHVzZWQgZm9yIHR3byBkaWZmZXJlbnQKCSAgdGV4dHVyZXMgd2l0aCBhIGRpZmZlcmVudCBmb3JtYXQuCgoyMDEzLTAxLTAyIDE2OjA5OjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogUHJlZmVyIE5WMTIgb3ZlciBJNDIwL1lWMTIKCjIwMTMtMDEtMDIgMTU6NDA6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJICBtZmM6IFRoZSBmaXJzdCBmcmFtZSBwcm9kdWNlcyBvdXRwdXQgaW4gb3VyIGNhc2UKCjIwMTMtMDEtMDIgMTQ6MzI6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmg6CgkgIG1mYzogUmVxdWVzdCBpbnB1dCBidWZmZXJzIGV4cGxpY2l0ZWx5CgoyMDEzLTAxLTAyIDE0OjI3OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSAgbWZjOiBEb24ndCBTVFJFQU1PRkYgaWYgbm8gU1RSRUFNT04gaGFwcGVuZWQgeWV0CgoyMDEzLTAxLTAyIDE0OjIzOjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjLmM6CgkgIG1mYzogQ2hlY2sgaWYgdGhlIE1GQyBoYXJkd2FyZSBleGlzdHMgYmVmb3JlIHJlZ2lzdGVyaW5nIHRoZSBlbGVtZW50CgoyMDEzLTAxLTAyIDE0OjE2OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSAgbWZjOiBDaGVjayBkZXZpY2UgY2FwYWJpbGl0aWVzIGJlZm9yZSBkb2luZyBhbnl0aGluZyBlbHNlCgoyMDEzLTAxLTAyIDEyOjMzOjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogSW5jbHVkZSBjb2RlY19kYXRhIGluIHRoZSBidWZmZXIgd2l0aCB0aGUgbmV4dCBmcmFtZQoKMjAxMy0wMS0wMiAxMTo0NDowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IFNldCBmb3JtYXQgZmllbGQgb2YgdGhlIGluc3RhbmNlIHN0cnVjdAoKMjAxMy0wMS0wMiAxMTowMDozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5oOgoJICBtZmM6IEltcGxlbWVudCBzdXBwb3J0IGZvciBjcm9wIG1ldGFkYXRhCgoyMDEzLTAxLTAyIDEwOjI2OjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogQ2hlY2sgaWYgdGhlIGhhcmR3YXJlIGlzIGF2YWlsYWJsZSBpbiBHc3RWaWRlb0RlY29kZXI6Om9wZW4oKQoKMjAxMy0wMS0wMSAxMTo1NjoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4Lmg6CgkgIG1wZWdwc211eDogdXNlIERUUyBpbiBhZGRpdGlvbiB0byBQVFMKCSAgQW5kIHJlZmFjdG9yIGNob29zZV9iZXN0X3N0cmVhbSgpIGEgbGl0dGxlLgoJICB2aWRlb3Rlc3RzcmMgcGF0dGVybj1iYWxsICEgeDI2NGVuYyAhIG1wZWdwc211eCAhIC4uLgoJICBwbGF5cyBtdWNoIG5pY2VyIG5vdy4KCjIwMTMtMDEtMDEgMTI6MDU6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IExvZyBpbiB0aGUgcGVyZm9ybWFuY2UgY2F0ZWdvcnkgaWYgd2UgbWFwL2NvcHkgRUdMSW1hZ2VzIHRvIG5vcm1hbCBtZW1vcnkKCjIwMTMtMDEtMDEgMTE6MDU6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBBZGQgc3VwcG9ydCBmb3IgaDI2MyBhbmQgTVBFRzEvMgoKMjAxMy0wMS0wMSAxMDo0ODoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQ2F0Y2ggZXJyb3JzIGZyb20gZ2xFR0xJbWFnZVRhcmdldFRleHR1cmUyRE9FUygpCgoyMDEzLTAxLTAxIDEwOjQ0OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBVcGxvYWQgdGV4dHVyZXMgaW4gR3N0QmFzZVNpbms6OnByZXBhcmUoKSBhbHJlYWR5CgkgIFRoaXMgZ2l2ZXMgbW9yZSB0aW1lIGZvciB0aGUgdGV4dHVyZSB0byBiZSB1cGxvYWRlZCBhcyBpdCBoYXBwZW5zCgkgIGJlZm9yZSBzeW5jaW5nIHRvIHRoZSBydW5uaW5nIHRpbWUuIFdoZW4gdGhlIHJ1bm5pbmcgdGltZSBpcyByZWFjaGVkCgkgIG9ubHkgZWdsU3dhcEJ1ZmZlcnMoKSBpcyBuZWNlc3NhcnkuCgoyMDEyLTEyLTMxIDE5OjQ1OjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21wZWdwc211eC9wc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4Y29tbW9uLmg6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXhzdHJlYW0uYzoKCSAgbXBlZ3BzbXV4OiB1c2UgZ3N0cmVhbWVyIGRlYnVnIGxvZ2dpbmcgc3lzdGVtIGV2ZXJ5d2hlcmUKCjIwMTItMTItMzEgMTk6NDI6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4X2FhYy5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eF9oMjY0LmM6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9wc211eHN0cmVhbS5jOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4c3RyZWFtLmg6CgkgIG1wZWdwc211eDogcG9ydCB0byAwLjExCgkgIE5haXZlIHBvcnQuIEJhcmVseSB0ZXN0ZWQuCgoyMDEyLTEyLTMxIDEyOjQyOjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogRG9uJ3QgcmVjb25maWd1cmUgaWYgd2UgZ2V0IGNvbXBhdGlibGUgY2FwcwoKMjAxMi0xMi0zMSAxMjozMzo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IE9ubHkgY3JlYXRlIHRoZSBNRkMgY29udGV4dCBpbiA6OnNldF9mb3JtYXQoKQoKMjAxMi0xMi0zMSAxMTo1Njo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IFJlY3JlYXRlIGZpbWMgY29udGV4dCBpZiBzZXR0aW5ncyBjaGFuZ2UKCjIwMTItMTItMzEgMTE6MDI6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBTb21lIHJlZmFjdG9yaW5nCgoyMDEyLTEyLTMxIDA5OjQ3OjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmg6CgkgIG1mYzogRG8gemVyb2NvcHkgaWYgd2UgZ2V0IEVHTEltYWdlIGJ1ZmZlcnMKCjIwMTItMTItMzAgMTY6NDU6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBTb21lIG1pbm9yIGZpeGVzCgoyMDEyLTEyLTI2IDEzOjMwOjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogRml4IGRvdWJsZS11bm1hcCBvZiB0aGUgY29kZWMgZGF0YQoKMjAxMi0xMi0yNiAxMzoyNzo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5oOgoJICBtZmM6IFBhc3MgY29kZWNfZGF0YSB0byB0aGUgY29kZWMgaWYgdGhlcmUncyBzb21lCgoyMDEyLTEyLTI2IDEzOjE4OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZmltYy9maW1jLmM6CgkqIHN5cy9tZmMvZmltYy9maW1jLmg6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogUmVmYWN0b3IgZmltYyBjb2RlIGEgYml0CgoyMDEyLTEyLTI2IDEyOjM4OjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSAgbWZjOiBEb3duZ3JhZGUgYW4gZXJyb3IgdG8gZGVidWcgb3V0cHV0CgoyMDEyLTEyLTI2IDExOjUxOjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZmltYy9maW1jLmM6CgkgIG1mYzogU29tZSBmaW1jIGNsZWFudXAKCjIwMTItMTItMjYgMDk6NTY6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBBZGQgcHJvZmlsZS9sZXZlbCBhbmQgd2lkdGgvaGVpZ2h0IGNvbnN0cmFpbnRzCgoyMDEyLTEyLTI0IDE2OjIzOjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZmltYy9maW1jLmM6CgkgIG1mYzogRG9uJ3QgbGVhayBidWZmZXJzIHdoZW4gc2V0dGluZyBuZXcgZGVzdCBzZXR0aW5ncyBmb3IgYSBkaXJlY3QgYnVmZmVyCgoyMDEyLTEyLTI0IDE2OjAyOjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogQWRkIGluaXRpYWwgTVBFRzQgc3VwcG9ydAoKMjAxMi0xMi0yNCAxNTo0NDo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IEFkZCBzb21lIG1vcmUgZGVidWcgb3V0cHV0CgoyMDEyLTEyLTI0IDE1OjM0OjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5oOgoJICBtZmM6IEltcGxlbWVudCB0cmFja2luZyBvZiBmcmFtZXMgdXNpbmcgdGhlIHY0bDJfYnVmZmVyIHRpbWVzdGFtcAoKMjAxMi0xMi0yNCAxNDo0ODoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IFJlc2V0IHNvbWUgbW9yZSB2YXJpYWJsZXMgb24gOjpyZXNldCgpCgoyMDEyLTEyLTI0IDE0OjM2OjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogQWxzbyBhZGQgc3VwcG9ydCBmb3IgWVYxMgoKMjAxMi0xMi0yNCAxMzo0MTowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5oOgoJICBtZmM6IEFkZCBzdXBwb3J0IGZvciB2aWRlbyBtZXRhCgoyMDEyLTEyLTI0IDEzOjM5OjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmg6CgkgIG1mYzogSW1wbGVtZW50IG5lZ290aWF0aW9uIHRvIE5WMTIgb3IgSTQyMCBiYXNlZCBvbiBkb3duc3RyZWFtIGNhcHMKCjIwMTItMTItMjQgMTI6MzE6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9maW1jL2ZpbWMuYzoKCSAgbWZjOiBXb3JrYXJvdW5kIGZvciB3cm9uZ2x5IHJlcG9ydGVkIHN0cmlkZXMgYnkgRklNQwoKMjAxMi0xMi0yNCAxMjoxODoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5oOgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuaDoKCSAgbWZjOiBBZGQgcHJvcGVyIHN1cHBvcnQgZm9yIE1GQyBkZWNvZGVyIHN0cmlkZXMKCjIwMTItMTItMjQgMTI6MTA6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBUcnkgd2l0aCBJNDIwIGZvciBub3csIGl0J3MgZWFzaWVyIHRvIGRlYnVnCgoyMDEyLTEyLTI0IDExOjU3OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogQWRkIHNvbWUgbW9yZSBkZWJ1ZyBvdXRwdXQKCjIwMTItMTItMjQgMTE6NTQ6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9maW1jL2ZpbWMuYzoKCSAgbWZjOiBEb24ndCByZXF1aXJlIHN0cmlkZSB0byBiZSBzZXQgb24gc3JjIHBhcmFtZXRlcnMKCjIwMTItMTItMjQgMTE6NDk6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmg6CgkgIG1mYzogVGhlIG1mYyBkZWNvZGVyIGxpYnJhcnkgaXMgZHVhbCBsaWNlbnNlZCB0b28KCSAgQXBhY2hlIExpY2Vuc2UgMi4wIGFuZCBMR1BMMisKCjIwMTItMTItMjMgMTI6MjU6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9NYWtlZmlsZS5hbToKCSogc3lzL21mYy9maW1jL2ZpbWMuYzoKCSogc3lzL21mYy9maW1jL2ZpbWMuaDoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuaDoKCSAgbWZjOiBVc2UgQ0FNSUYvRklNQyBmb3IgaGFyZHdhcmUgY29sb3IgZm9ybWF0IGNvbnZlcnNpb24gYW5kIGRlLXRpbGluZwoKMjAxMi0xMi0yMyAxMzo0NjowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IE9ubHkgdW5yZWYgdGhlIG91dGJ1ZiBpZiBpdCBkb2Vzbid0IGJlbG9uZyB0byB0aGUgZnJhbWUKCjIwMTItMTItMjMgMTI6MDQ6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9NYWtlZmlsZS5hbToKCSogc3lzL21mYy9nc3RtZmMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBQb3J0IHRvIEdTdHJlYW1lciAxLjAKCjIwMTItMTItMjMgMTE6NDc6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuaDoKCSAgbWZjOiBBZGQgaW5pdGlhbCBkZWNvZGVyIGVsZW1lbnQgaW1wbGVtZW50YXRpb24KCSAgVGhpcyBkb2VzIG5vdCBjb3B5IHRoZSBvdXRwdXQgdG8gYW55IG91dHB1dCBidWZmZXJzIHlldC4KCSAgT3RoZXIgdGhhbiB0aGF0IHNob3VsZCBiZSBiYXNpY2FsbHkgZnVuY3Rpb25hbCBhbHJlYWR5LgoKMjAxMi0xMi0yMyAxMDoyMzoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL21mYy9NYWtlZmlsZS5hbToKCSogc3lzL21mYy9nc3RtZmMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuaDoKCSAgbWZjOiBBZGQgcGx1Z2luIGFuZCBkZWNvZGVyIHNrZWxldG9uCgoyMDEyLTEyLTIzIDEwOjA1OjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5oOgoJICBtZmM6IE1ha2UgbWZjX2RlY29kZXIgbGlicmFyeSBjb21waWxlIGFuZCBmaXggc29tZSBjb21waWxlciB3YXJuaW5ncwoKMjAxMi0xMi0yMyAwOTo1NjowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuaDoKCSAgbWZjOiBBZGQgbWZjX2RlY29kZXIgbGlicmFyeSBmcm9tIEZYSQoKMjAxMi0xMi0zMSAxMTozODoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRG93bmdyYWRlIGEgR1NUX0VSUk9SIHRvIGEgR1NUX0RFQlVHCgoyMDEyLTEyLTMwIDE0OjIyOjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBNYWtlIGxhc3RfZmxvdyBoYW5kbGluZyBtb3JlIHRocmVhZHNhZmUKCjIwMTItMTItMjggMTI6Mjc6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmg6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc3VwcG9ydCBmb3IgYWxsb2NhdGluZyBFR0xJbWFnZXMgb24gTWFsaQoJICBUaGlzIGFsbG93cyB0byBkZWNvZGVycyBhbmQgb3RoZXIgdXBzdHJlYW0gZWxlbWVudHMgdG8gZG8KCSAgemVyby1jb3B5IHRvIHRoZSBzaW5rLgoKMjAxMi0xMi0zMSAwMDoxNjo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZXBsYWNlIGRlcHJlY2F0ZWQgQU1fQ09ORklHX0hFQURFUiB3aXRoIEFDX0NPTkZJR19IRUFERVJTCgkgIEFNX0NPTkZJR19IRUFERVIgaGFzIGJlZW4gcmVtb3ZlZCBpbiB0aGUganVzdC1yZWxlYXNlZCBhdXRvbWFrZSAxLjEzOgoJICBodHRwczovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2F1dG9tYWtlLzIwMTItMTIvbXNnMDAwMzguaHRtbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwODgxCgoyMDEyLTEyLTMwIDExOjMyOjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBpbmRlbnRpb24KCjIwMTItMTItMzAgMTE6MzI6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJldHVybiB0aGUgbGFzdF9mbG93IGltbWVkaWF0ZWx5IGlmIGl0IHdhc24ndCBHU1RfRkxPV19PSwoKMjAxMi0xMi0zMCAxMToyOTo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IGNvcHkmcGFzdGUgbWlzdGFrZQoKMjAxMi0xMi0zMCAxMDo0NTo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogSW1wcm92ZSBFR0wvR0wgZXJyb3IgaGFuZGxpbmcgYSBiaXQKCjIwMTItMTItMzAgMTA6NDM6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvbid0IGFjY2VzcyB0aGUgdmlkZW8gZnJhbWUgZGF0YSBpZiBub3QgbmVjZXNzYXJ5CgoyMDEyLTEyLTMwIDEwOjE4OjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBDb25maWd1cmUgY2FwcyBmcm9tIHRoZSBzZXRjYXBzIGZ1bmN0aW9uIGFscmVhZHkKCjIwMTItMDctMjYgMjA6Mzg6MjggKzAyMDAgIE1hdHRoaWFzIEhhcmR0IDxtaGFyZHRAYmVybGludXgtc29sdXRpb25zLmRlPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZXh0cmFjdCBJU08gNjM5IGxhbmd1YWdlIGNvZGVzIGZvciBzdWJ0aXRsZXMgaW50byB0YWdsaXN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwMjAwCgoyMDEyLTEyLTI4IDE5OjM2OjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBCaW5kIHRoZSBPcGVuR0wgRVMgQVBJIGluIHRoZSByZW5kZXIgdGhyZWFkIHRvbwoKMjAxMi0xMi0yOCAxNDowNTo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogU29tZSByZWZhY3RvcmluZyBhcyBwcmVwYXJhdGlvbiBmb3IgcGxhdGZvcm0gc3BlY2lmaWMgcmVuZGVyaW5nCgoyMDEyLTEyLTI4IDEzOjA4OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc29tZSBtb3JlIGNvbW1lbnRzCgoyMDEyLTEyLTI4IDEyOjQwOjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBPbmx5IHVzZSB0aGUgR3N0VmlkZW9GcmFtZSBpZiB3ZSBoYXZlIGEgYnVmZmVyCgoyMDEyLTEyLTI3IDEwOjUxOjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2VnbGdsZXMvTWFrZWZpbGUuYW06CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBjb25maWd1cmUgcGFyYW1ldGVyIHRvIGNob3NlIHRoZSBFR0wgd2luZG93IHN5c3RlbQoJICBPbmx5IG5lZWRlZCBmb3IgY3JlYXRpbmcgbmF0aXZlIHdpbmRvd3MuCgoyMDEyLTEyLTI2IDE3OjM1OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJICBlZ2xnbGVzc2luazogQWRkIHN1cHBvcnQgZm9yIE1hbGkgZmJkZXYgRUdMIGRyaXZlcgoKMjAxMi0xMi0yNyAxNDowOTowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuaDoKCSAgZDNkdmlkZW9zaW5rOiBBZGQgY29tcGF0aWJpbGl0eSAjZGVmaW5lcyBmb3Igb2xkZXIgbWluZ3cgaGVhZGVycwoJICBUaGVzZSB3ZXJlIHJlbW92ZWQgcmVjZW50bHkgYnV0IHRoZXNlIG1pbmd3IGhlYWRlcnMgYXJlIHN0aWxsCgkgIG91dCB0aGVyZS4KCjIwMTItMTItMjEgMDc6MzU6MTMgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbms6IHJlbW92ZSB1c2VsZXNzIGFuZCB1bmluaXRpYWxpemVkIGxpc3QgY2F1c2luZyBhIGNyYXNoIGluIHRoZSBkZXZpY2UgcHJvYmUKCjIwMTItMTItMjYgMTc6MjU6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzdXBwb3J0IGZvciB2aWRlbyBtZXRhIGFuZCBhcmJpdHJhcnkgc3RyaWRlcwoKMjAxMi0xMi0yNiAxNTo1ODo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IHdpZHRoL2hlaWdodCBzd2FwIGluIGxhc3QgY29tbWl0CgoyMDEyLTEyLTI2IDE1OjQ2OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZW1vdmUgZGVidWcgZnVuY3Rpb24gY2FsbCBmcm9tIHByZXZpb3VzIGNvbW1pdAoKMjAxMi0xMi0yNiAxNDozOTowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggaGFuZGxpbmcgb2YgR3N0VmlkZW9PdmVybGF5OjpzZXRfcmVuZGVyX3JlY3QoKSBhbmQgY3JvcCBtZXRhZGF0YQoKMjAxMi0xMi0yNiAxMDo1NDozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgYSBjYXN0IGZyb20gRUdMTmF0aXZlV2luZG93VHlwZSB0byBXaW5kb3cgdG8gZml4IGEgY29tcGlsZXIgd2FybmluZwoKMjAxMi0xMi0yNiAxMDozOTo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IGEgY3Jhc2ggb24gR3N0VmlkZW9PdmVybGF5OjpleHBvc2UoKQoKMjAxMi0xMi0yNiAxMDozNDoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuaDoKCSAgZWdsZ2xlc3Npbms6IEZpeCBjcmFzaCB3aGVuIGNsb3NpbmcgaW50ZXJuYWwgWDExIHdpbmRvdwoKMjAxMi0xMi0yNiAxMDoyMDoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBwcm9wZXIgY2hlY2sgZm9yIFgxMQoKMjAxMi0xMi0xOCAwOTo1MzoxNiAtMDgwMCAgSm9lIEtvbm5vIDxqb2Uua29ubm9AaW50ZWwuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IGRvIG5vdCBkZWZhdWx0IHRvIGEgZnVsbHNjcmVlbiBjYW52YXMKCSAgRGVmZXIgY2VydGFpbiBjYW52YXMgcGFydGljdWxhcnMgdG8gdGhlIHBsYXllciAob3IgdGhlIFdheWxhbmQKCSAgY29tcG9zaXRvcikuIEJlZm9yZSB0aGlzIGNoYW5nZSwgYSBmdWxsc2NyZWVuIGNhbnZhcyB3YXMgYWx3YXlzCgkgIHJlcXVlc3RlZC4gVGhpcyBtYXkgbm90IGJlIGRlc2lyYWJsZSBpbiBhbGwgY2FzZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA0NDIKCjIwMTItMTItMjMgMDk6NTE6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkgIG9wZW5qcGVnZGVjOiBPbmx5IHVzZSAxMCBiaXQgWVVWIGZvcm1hdHMgZm9yIGV4YWN0bHkgMTAgYml0IGltYWdlcywgbm90IDw9IDE2IGJpdAoJICBBbmQgdXNlIHRoZSBnZW5lcmljIGNvbnZlcnRlciB0byBBWVVWNjQgZm9yIGV2ZXJ5dGhpbmcgZWxzZS4KCjIwMTItMTItMjIgMTg6NDM6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZHZpZGVvc2luazogUmVtb3ZlIHNjYXJ5ICJ3aGlsZSAob2JqZWN0LnJlZmNvdW50ID4gMCkgcmVsZWFzZSAob2JqZWN0KTsiIGNvZGUKCSAgSWYgdGhlcmUgaXMgYSBtZW1vcnkgbGVhaywgdGhpcyBpc24ndCB0aGUgd2F5IGhvdyBpdCBzaG91bGQgYmUgZml4ZWQuCgoyMDEyLTEyLTIyIDE4OjE3OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogRG9uJ3QgZm9yZ2V0IHRvIHJldHVybiBhIHZhbHVlIGZyb20gOjpwcm9wb3NlX2FsbG9jYXRpb24oKQoKMjAxMi0xMi0yMiAxODoxNzowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IEFkZCBzdXBwb3J0IGZvciB0aGUgdmlkZW8gbWV0YQoKMjAxMi0xMi0yMiAxODoxMjo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkgIGQzZHZpZGVvc2luazogRG9uJ3QgdXNlICJjbGFzcyIgYXMgdmFyaWFibGUgbmFtZSBhbmQgZG9uJ3QgdXNlIEM5OSBjb21tZW50cwoKMjAxMi0xMi0yMiAxODowNDo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBPbmx5IG9wZW4gc3lzdGVtIHJlc291cmNlcyBpbiBpbiBOVUxMLT5SRUFEWSwgbm90IG9uIG9iamVjdCBpbnN0YW50aWF0aW9uCgoyMDEyLTEyLTIyIDE3OjU1OjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSAgZDNkdmlkZW9zaW5rOiBQcm9wZXJseSBjb3B5IGZyYW1lcyB0byBEM0Qgd2l0aCB0aGUgcmlnaHQgc3RyaWRlcyBhbmQgZXZlcnl0aGluZwoJICBBbmQgb25seSBzdXBwb3J0IGNvbG9yIGZvcm1hdHMgdGhhdCBhcmUgYWN0dWFsbHkgc3VwcG9ydGVkIGJ5IHRoZSBkcml2ZXIsCgkgIHRoaXMgYWxsb3dzIHByb3BlciB6ZXJvLWNvcHkgaGFuZGxpbmcgbGF0ZXIgYW5kIHNpbXBsaWZpZXMgdGhlIGNvZGUgYSBsb3QuCgkgIEFsc28gc2ltcGxpZnkgc29tZSBvdGhlciBwbGFjZXMsIGxpa2UgdGhlIGZvcm1hdCBtYXBwaW5nIGNvZGUuCgoyMDEyLTEyLTIyIDE2OjI2OjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkgIGQzZHZpZGVvc2luazogUmVtb3ZlIG5vbi1zZW5zZSBkaXNwbGF5IFBBUiBoYW5kbGluZwoJICBUaGlzIGhhcyB0byBiZSBpbXBsZW1lbnRlZCBwcm9wZXJseSBhdCBzb21lIHBvaW50CgoyMDEyLTEyLTIyIDE2OjE4OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogRml4IGNhcHMgbGVhawoKMjAxMi0xMi0yMiAxMjowOTozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IEZpeCBkdXBsaWNhdGVkIGZvcm1hdCBlbnRyeSBpbiB0aGUgdGVtcGxhdGUgY2FwcwoKMjAxMi0xMi0yMiAxMjowNToxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvTWFrZWZpbGUuYW06CgkgIGQzZHZpZGVvc2luazogRml4IGxpbmtpbmcKCjIwMTItMTItMjIgMTE6NTg6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZHZpZGVvc2luazogRml4IHNvbWUgbW9yZSBjb21waWxlciB3YXJuaW5ncwoKMjAxMi0xMi0yMiAxMTo1MDowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJICBkM2R2aWRlb3Npbms6IFBvcnQgcmVtYWluaW5nIGJpdHMgdG8gbmV3IEdMaWIgdGhyZWFkaW5nIEFQSQoKMjAxMi0xMi0yMiAxMTo0NToyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IEFuZCByZW1vdmUgdGhlIHJpZ2h0IGRlY2xhcmF0aW9uCgoyMDEyLTEyLTIyIDExOjQ0OjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogUmVtb3ZlIHVudXNlZCBzdGF0aWMgZGVjbGFyYXRpb24KCjIwMTItMTItMjIgMTE6NDM6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlcwoKMjAxMi0xMi0yMiAxMTo0Mjo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJICBkM2R2aWRlb3Npbms6IFVwZGF0ZSB0byBuZXcgR0xpYiB0aHJlYWRpbmcgQVBJCgoyMDEyLTEyLTIyIDExOjM4OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkgIGQzZHZpZGVvc2luazogUmVuYW1lIGtlZXBfYXNwZWN0X3JhdGlvIHRvIGZvcmNlX2FzcGVjdF9yYXRpbyBpbiB0aGUgaGVhZGVyIHRvbwoKMjAxMi0xMi0yMiAxMTozNTo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IFVzZSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTCgoyMDEyLTEyLTIyIDExOjM0OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IFJlbmFtZSBrZWVwLWFzcGVjdC1yYXRpbyB0byBmb3JjZS1hc3BlY3QtcmF0aW8gYW5kIGRlZmF1bHQgdG8gVFJVRQoJICBGb3IgY29uc2lzdGVuY3kgd2l0aCBvdGhlciB2aWRlbyBzaW5rcy4KCjIwMTItMTItMjIgMTE6MzA6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5oOgoJICBkM2R2aWRlb3Npbms6IEFkZCBmaWxlcyB0aGF0IGhhZCB0byBiZSBpbmNsdWRlZCBpbiB0aGUgbGFzdCBjb21taXQKCjIwMTItMTItMjIgMTE6Mjg6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9NYWtlZmlsZS5hbToKCSAgZDNkdmlkZW9zaW5rOiBBZGQgJChHU1RfUExVR0lOU19CQVNFX0NGTEFHUykgdG8gQ0ZMQUdTCgoyMDEyLTEyLTIyIDExOjI0OjI4ICswMTAwICBSb2xhbmQgS3Jpa2F2YSA8cmtyaWthdmFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9NYWtlZmlsZS5hbToKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHguaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMC9keDEwLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTAvZHgxMC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDEwL2R4MTBfZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTAvZHgxMF9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMS9keDExLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTEvZHgxMS5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDExL2R4MTFfZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTEvZHgxMV9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHg5L2R4OS5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDkvZHg5Lmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4OS9keDlfZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4OS9keDlfZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4X2QzZC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eF9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2R4LmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9keC5oOgoJICBkM2R2aWRlb3Npbms6IFZhcmlvdXMgaW1wcm92ZW1lbnRzCgkgICogWE92ZXJsYXkgc2V0X3JlbmRlcl9yZWN0YW5nbGUgc3VwcG9ydCAoVXNlZnVsIGZvciByZW5kZXJpbmcgaW4gUVQgUU1MKQoJICAqIFZpZGVvIGZvcm1hdCBuZWdvdGlhdGlvbiAod2l0aCBwcmVmZXJlbmNlIG9yZGVyaW5nKQoJICAqIFVzaW5nIERpcmVjdDNEOSAoTm8gYmVuZWZpdCB0byB1c2luZyBuZXdlciBEM0QgdmVyc2lvbnMpCgoyMDEyLTEyLTIxIDE2OjExOjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogT25seSBpbmNsdWRlIGZvcm1hdHMgdGhhdCBhcmUgYWN0dWFsbHkgd29ya2luZwoKMjAxMi0xMi0yMSAxNToyMzo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IEFkZCB0aGUgYWN0dWFsbHkgc3VwcG9ydGVkIGNvbG9yIGZvcm1hdHMgdG8gdGhlIHRlbXBsYXRlIGNhcHMKCjIwMTItMTItMTggMjI6MjM6NDIgKzAxMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0BnbWFpbC5jb20+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkgIG9wZW5qcGVnZW5jLy1kZWM6IHByaW50IG9wZW5qcGVnIGxvZ3MgZm9yIGRlYnVnIHRyYWNpbmcKCjIwMTItMTItMTggMTY6NTY6MjggKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXM6IHVzZSBhcHByb3ByaWF0ZSBwcmludGYgZm9ybWF0IGZvciBnc2l6ZQoKMjAxMi0xMi0xOCAxNjo1MjoyNiArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiB1c2UgYXBwcm9wcmlhdGUgcHJpbnRmIGZvcm1hdCBmb3IgZ3NpemUKCjIwMTItMTItMTggMTY6NTA6MzcgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14ZjogdXNlIGFwcHJvcHJpYXRlIHByaW50ZiBmb3JtYXQgZm9yIGdzaXplCgoyMDEyLTEyLTE4IDE2OjQwOjU5ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIGpwZWc6IHVzZSBhcHByb3ByaWF0ZSBwcmludGYgZm9ybWF0IGZvciBnc2l6ZQoKMjAxMi0xMi0xOCAxNjoyMDowOCArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJICBpbnRlcjogdXNlIGFwcHJvcHJpYXRlIHByaW50ZiBmb3JtYXQgZm9yIGdzaXplCgoyMDEyLTEyLTE4IDE1OjQ0OjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJICBvcGVuanBlZ2VuYzogQWRkIHNvbWUgcHJvcGVydGllcwoKMjAxMi0xMi0xOCAxNTo0MzozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSAgb3BlbmpwZWdkZWM6IERvbid0IGNyYXNoIGlmIGNvbG9yc3BhY2UgaXMgbm90IHByb3ZpZGVkIG9uIHRoZSBjYXBzCgkgIGdfc3RyX2VxdWFsKCkgaXMgKm5vdCogTlVMTC1zYWZlCgoyMDEyLTEyLTE3IDE3OjE5OjU0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJICBvcGVuanBlZ2RlYzogSW1wcm92ZSByb2J1c3RuZXNzIGFnYWluc3QgZm9ybWF0cyB3aXRoIGRpZmZlcmVudCBzZXR0aW5ncyBwZXIgY29tcG9uZW50CgoyMDEyLTEyLTE3IDE3OjEzOjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJICBvcGVuanBlZ2RlYzogUHJvcGVydGllcyB3b24ndCBiZSBuZWVkZWQgaW4gdGhlIGRlY29kZXIKCjIwMTItMTItMTcgMTc6MTE6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkgIG9wZW5qcGVnZW5jOiBGaXggZGF0YSBwb2ludGVyIGluY3JlbWVudGluZwoKMjAxMi0xMi0xNyAxNzowNjoyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSAgb3BlbmpwZWdlbmM6IE9wdGltaXplIGltYWdlIGZpbGxpbmcgZnVuY3Rpb25zIGEgYml0CgoyMDEyLTEyLTE3IDE3OjAyOjQ3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJICBvcGVuanBlZ2RlYzogQWRkIG1pc3Npbmcgc2hpZnRzCgoyMDEyLTEyLTE3IDE2OjU3OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJICBvcGVuanBlZ2RlYzogT3B0aW1pemUgZnJhbWUgZmlsbGluZyBmdW5jdGlvbnMgYSBiaXQKCjIwMTItMTItMTcgMTU6MTY6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBNYWtlIHN1cmUgdGhlIGNhcHMgYXJlIGFjdHVhbGx5IHdyaXRhYmxlIGJlZm9yZSBjaGFuZ2luZyB0aGVtCgoyMDEyLTEyLTE3IDE1OjA0OjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogVXNlIHRoZSBwZWVyIGNhcHMgZm9yIHJlc3RyaWN0aW9ucyBpbnN0ZWFkIG9mIHRoZSBzcmNwYWQgYWxsb3dlZCBjYXBzCgkgIE90aGVyd2lzZSB3ZSB3aWxsIGludGVyc2VjdCB3aXRoIHRoZSBzcmNwYWQgdGVtcGxhdGUgY2FwcyBhbmQgYWRkIGFsbCB0aGUgY2FwcyBmaWVsZHMKCSAgdGhhdCB0aGUgcGFyc2VyIHdpbGwgZXZlciBzZXQsIG5vIG1hdHRlciBpZiBkb3duc3RyZWFtIHJlc3RyaWN0cyB0aGlzIGZpZWxkIG9yIG5vdC4KCSAgVGhpcyByZXF1aXJlcyB1cHN0cmVhbSB0byBzZXQgdGhpcyBmaWVsZCBvbiB0aGUgY2FwcyB0byBzdWNjZXNzZnVsbHkgbmVnb3RpYXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMTg0CgoyMDEyLTEyLTE2IDIwOjA1OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSAgb3BlbmpwZWc6IENvcnJlY3QgdGVtcGxhdGUgY2FwcyBhIGJpdAoKMjAxMi0xMi0xNiAyMDowMjoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmg6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJICBvcGVuanBlZzogSGFuZGxlIHRoZSBudW0tY29tcG9uZW50cyBmaWVsZCBpbiB0aGUgY2FwcwoKMjAxMi0xMi0xNSAxMToyNTozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmg6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJICBvcGVuanBlZzogQWRkIHN1cHBvcnQgZm9yIHRoZSBjb2xvcnNwYWNlIGZpZWxkIGluIHRoZSBjYXBzCgoyMDEyLTEyLTE0IDIwOjA4OjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmg6CgkgIG9wZW5qcGVnOiBBZGQgSlBFRzIwMDAgZW5jb2RlciBlbGVtZW50CgoyMDEyLTEyLTE0IDE0OjM4OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmpwZWcvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmg6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuaDoKCSAgb3BlbmpwZWc6IEFkZCBPcGVuSlBFRyBiYXNlZCBKUEVHMjAwMCBkZWNvZGVyCgoyMDEyLTEyLTE2IDE3OjQ0OjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBhZGQgcmVtb3ZlZCBydHBtdXggYml0cyB0byBjcnVmdCBjaGVjawoKMjAxMi0xMi0xNiAxNzozNTowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIEFuZHJvaWQubWs6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L3J0cG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5oOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eGVyLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgcnRwbXV4OiByZW1vdmUgcnRwbXV4IHBsdWdpbiwgbW92ZWQgdG8gLWdvb2QKCSAgTW92ZSBydHBtdXggYW5kIHJ0cGR0bWZtdXggaW50byBydHBtYW5hZ2VyIHBsdWdpbiBpbiAtZ29vZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyOTExNwoKMjAxMi0xMi0xNCAxNDo1MToxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIEFuZHJvaWQubWs6CgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uaDoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wb3BsdWdpbi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuaDoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLW1haW4uYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLXBsYXllci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tcGxheWVyLmg6CgkgIHNjYWxldGVtcG86IHJlbW92ZSBzY2FsZXRlbXBvIHBsdWdpbiwgbW92ZWQgdG8gLWdvb2QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzI2MgoKMjAxMi0xMi0xNCAxODowOTowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvdmlkZW9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBkb24ndCB1c2UgZGVwcmVjYXRlZCB0aHJlYWRpbmcgQVBJCgoyMDEyLTEyLTEzIDE0OjEyOjUyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiB1c2UgdXBzdHJlYW0gd2lkdGgvaGVpZ2h0IHdoZW4gZ2l2ZW4KCSAgVGhlIHVwc3RyZWFtIHdpZHRoIGFuZCBoZWlnaHQgc2hvdWxkIG92ZXJyaWRlIHRoZSBkaW1lbnNpb24gZGV0ZWN0ZWQgaW4gdGhlCgkgIGZpbGUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMxNDIKCjIwMTItMTItMTMgMTE6NDc6NTcgKzAxMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBleHBvcnQgbnVtYmVyIG9mIHNwcml0ZSB3YXJwaW5nIHBvaW50cyBpbiBjYXBzCgkgIFRoaXMgYWxsb3dzIGZpbHRlcmluZyBvdXQgdmlkZW9zIGZvciBoYXJkd2FyZSBkZWNvZGVycyB0aGF0IGRvIG5vdAoJICBzdXBwb3J0IEdNQyBhdCBhbGwgb3Igb25seSBzdXBwb3J0IGEgbGltaXRlZCBudW1iZXIgb2Ygc3ByaXRlIHdhcnBpbmcKCSAgcG9pbnRzICh1c3VhbGx5IDEpLgoKMjAxMi0xMi0xMyAxMTo0MzowOSArMDEwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGhhbmRsZSBkaXZ4IGNhcHMKCSAgRGl2WCA0LzUgYXJlIE1QRUc0IHBhcnQgMiB2aWRlb3MsIHNvIHRoZXkgY2FuIGJlIHBhcnNlZCBieSB0aGlzIHBsdWdpbi4KCjIwMTItMTItMTMgMDE6NTc6MjEgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5oOgoJICBkaXJlY3Rzb3VuZDogZml4IGNvbXBpbGF0aW9uIGVycm9ycyBjYXVzZWQgYnkgY2lyY3VsYXIgaW5jbHVkZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDEyOAoKMjAxMi0xMi0xMiAxODo1MDowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IHByaW50ZiBmb3JtYXQgZml4ZXMgZm9yIGRlYnVnIG1lc3NhZ2VzCgoyMDEyLTEyLTEyIDAwOjQwOjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSAgaGxzOiBtaW5vciBNYWtlZmlsZSBjbGVhbi11cAoJICBSZW1vdmUgc3VwZXJmbHVvdXMgU09VUF9DRkxBR1MgYW5kIFNPVVBfTElCUy4KCjIwMTItMTItMTEgMjE6MDk6MDIgKzAwMDAgIE1pY2hhZWwgRXNlbXBsYXJlIDxtaWNoYWVsLmVzZW1wbGFyZUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJICBobHM6IGxpbmsgdG8gdGhlIHJpZ2h0IGdzdC1wbHVnaW5zLWJhc2UgbGlicyBhbmQgZml4IGxpYnMgb3JkZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDAzMAoKMjAxMi0xMi0xMSAyMDo1ODo0MiArMDAwMCAgTWljaGFlbCBFc2VtcGxhcmUgPG1pY2hhZWwuZXNlbXBsYXJlQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvTWFrZWZpbGUuYW06CgkgIGQzZHZpZGVvc2luazogZml4IGNvbXBpbGVyIGFuZCBsaW5rZXIgZmxhZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDAzMQoKMjAxMi0xMi0xMSAxNTowMDoxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXNlIEFDX0xBTkdfUFJPR1JBTSB0byBtYWtlIGF1dG9jb25mIGhhcHB5CgoyMDEyLTEyLTExIDE0OjE5OjQxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9NYWtlZmlsZS5hbToKCSAgd2luc2NyZWVuY2FwOiBGaXggY29uZmlndXJlIGNoZWNrIGFuZCBjb21waWxhdGlvbgoKMjAxMi0xMi0xMSAxMDo1ODo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICBtbXM6IEZpeCBmb3JtYXQgc3RyaW5nIGZvciBvZmZfdC9nb2Zmc2V0CgkgIEZpeGVzIGJ1ZyAjNjkwMDMzLgoKMjAxMi0xMi0wNiAxMDowNjowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBEb24ndCBhbGxvdyBhbnkgd3JhcHBpbmcgb3RoZXIgdGhhbiBmcmFtZSB3cmFwcGluZwoJICBCYWQgdGhpbmdzIHdpbGwgaGFwcGVuIG90aGVyd2lzZSwgbGlrZSByZWFkaW5nIGEgY29tcGxldGUsCgkgIG11bHRpcGxlIEdCIGxhcmdlIHZpZGVvIHRyYWNrIGludG8gYSBzaW5nbGUgYnVmZmVyLgoJICBDb25mbGljdHM6CgkgIGdzdC9teGYvbXhmZGVtdXguYwoKMjAxMi0xMi0wNSAxNToyNzowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZhbGF3LmM6CgkqIGdzdC9teGYvbXhmZDEwLmM6CgkqIGdzdC9teGYvbXhmZHYtZGlmLmM6CgkqIGdzdC9teGYvbXhmZXNzZW5jZS5oOgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvbXhmL214ZnVwLmM6CgkqIGdzdC9teGYvbXhmdmMzLmM6CgkgIG14ZmRlbXV4OiBBZGQgZnVuY3Rpb24gdG8gZ2V0IHRoZSBlc3NlbmNlIHRyYWNrIHdyYXBwaW5nCgoyMDEyLTEyLTA1IDEyOjIzOjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJKiBnc3QvbXhmL214ZnF1YXJrLmM6CgkqIGdzdC9teGYvbXhmcXVhcmsuaDoKCSAgbXhmOiBBZGQgc3VwcG9ydCBmb3IgcGFyc2luZyBmaWxsZXIgc3RydWN0dXJhbCBjb21wb25lbnRzCgkgIFRoaXMgZG9lcyBub3QgYWRkIHN1cHBvcnQgZm9yIGFjdHVhbGx5IHByb2R1Y2luZyBmaWxsZXIgZGF0YQoJICBpZiB0aGVyZSdzIGEgZmlsbGVyIGNvbXBvbmVudCBpbiBhIHRpbWVsaW5lLgoKMjAxMi0xMi0wNSAxMjowODoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZjogSW1wcm92ZSBkZWJ1ZyBvdXRwdXQgZHVyaW5nIG1ldGFkYXRhIHJlc29sdmFsCgoyMDEyLTEyLTAxIDE3OjA1OjM4ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogZGlzYWJsZSBzZWVraW5nIGlmIHRoZSBjb25maWd1cmVkIHVybCBzcGVjaWZpZXMgbGl2ZT10cnVlCgkgIERpc2FibGUgc2Vla2luZyB3aGVuIGxpdmU9dHJ1ZSBpcyBzZXQgaW4gdGhlIGxvY2F0aW9uIFVSTCAoZWc6CgkgICJydG1wOi8vZXhhbXBsZS5uZXQvc3RyZWFtIGxpdmU9dHJ1ZSIpCgoyMDEyLTExLTMwIDIwOjAxOjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlaTByL01ha2VmaWxlLmFtOgoJICByZXNpbmR2ZCwgZnJlaTByOiBsaW5rIHRvIGxpYmdtb2R1bGUtMi4wIGluIHBsdWdpbnMgdGhhdCB1c2UgZ19tb2R1bGVfKiBBUEkKCSAgUHJvYmFibHkgbmVlZGVkIGZvciBvdGhlciBwbHVnaW5zIGFzIHdlbGwuCgoyMDEyLTExLTMwIDE5OjU0OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBzcHJpbmtsZSBzb21lIEFDX0xBTkdfUFJPR1JBTSBpbiB3YXNhcGkgY2hlY2sKCSAgU28gYXV0b2dlbi5zaCBzdG9wcyBtb2FuaW5nLgoKMjAxMi0xMS0zMCAxNToxMDo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgbXhmOiBBZGQgbW9yZSBzdXBwb3J0IGZvciBSUDIwMDggKEFWQyBpbiB0aGUgTVBFRyBtYXBwaW5nKQoJICBDb25mbGljdHM6CgkgIGdzdC9teGYvbXhmbXBlZy5jCgoyMDEyLTExLTMwIDExOjQ0OjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy93YXNhcGkvTWFrZWZpbGUuYW06CgkgIHdhc2FwaTogbWFrZSB0aGUgYnVpbGQgaGFwcHkgd2l0aG91dCB0aGUgc3RhdGljIHBsdWdpbnMgcGF0Y2gKCjIwMTItMTEtMzAgMTE6NDA6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEFkZCB3YXNhcGkgdG8gdGhlIHVucG9ydGVkIHBsdWdpbnMKCjIwMTItMTEtMzAgMTE6Mzc6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy93YXNhcGkvTWFrZWZpbGUuYW06CgkgIHdhc2FwaTogSW50ZWdyYXRlIGludG8gdGhlIGF1dG90b29scyBidWlsZCBzeXN0ZW0KCSAgUGF0Y2ggYmFzZWQgb24gYSBwYXRjaCBieSBGYWJyaXppbyBDaWF2YXR0YSA8ZmFicml6aW8uY2lhdmF0dGFAZ21haWwuY29tPgoKMjAxMi0xMS0yOCAxMzoxMDo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9zaG0vTWFrZWZpbGUuYW06CgkgIHNobTogRml4IGNvbmZpZ3VyZSBjaGVjayBhbmQgY2xlYW4gdXAgTWFrZWZpbGUKCjIwMTItMTEtMjcgMTU6MzQ6MTkgLTA1MDAgIEVtbWFudWVsIER1cmFuZCA8ZW1tYW51ZWxkdXJhbmRAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvc2htL01ha2VmaWxlLmFtOgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBGaXggY29tcGlsYXRpb24gb2Ygc2htIG9uIE9TWAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg5MTgzCgoyMDEyLTExLTI2IDE5OjIxOjAzICswMDAwICBLcnp5c3p0b2YgS29ub3BrbyA8a3J6eXN6dG9mLmtvbm9wa29AeW91dmlldy5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBjcmFzaGVzIHdoZW4gdHJ5aW5nIHRvIHJlLXVzZSB0aGUgZWxlbWVudAoJICBBIGNyYXNoIG9jY3VyZWQgYWZ0ZXIgcHVzaGluZyBidWZmZXJzIGFuZCBjaGFuZ2luZyBtcGVndHNtdXggc3RhdGUgdG8KCSAgTlVMTC9SRUFEIGFuZCB0aGVuIGJhY2sgdG8gUExBWUlORy9QQVVTRUQuCgkgIFRoZSBjcmFzaCB3YXMgY2F1c2VkIGJ5IGhvbGRpbmcgYSBkYW5nbGluZyBwb2ludGVyIGluIHRoZSBNcGVnVHNNdXgKCSAgcHJvZ3JhbSB0YWJsZS4KCSAgQWRkaXRpb25hbGx5IHN0cmVhbSBoZWFkZXJzIHdlcmUgbGVha2VkIHdoZW4gcmVzZXR0aW5nIHRoZSBlbGVtZW50OgoJICBtdXgtPnN0cmVhbWhlYWRlciBzZXQgdG8gTlVMTCBpbiBtcGVndHNtdXhfcmVzZXQoKSBiZWZvcmUgaXQncyByZWxlYXNlZAoJICBsYXRlciBpbiB0aGUgc2FtZSBmdW5jdGlvbi4KCSAgQWRkZWQgYSB1bml0IHRlc3Q6IHRlc3RfbXVsdGlwbGVfc3RhdGVfY2hhbmdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODkxMDcKCjIwMTItMTEtMjMgMTI6MjY6NDMgKzAxMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPHVyYWV1c0BsaW51eHJpc2luLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBBZGQgbGF0ZXN0IHBvcnRlZCBwbHVnaW5zIGV0Yy4KCjIwMTItMTEtMjIgMTA6NTc6MjUgKzAwMDAgIEtyenlzenRvZiBLb25vcGtvIDxrcnp5c3p0b2Yua29ub3Brb0B5b3V2aWV3LmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IHByb3BhZ2F0ZSBmbG93IHJldHVybnMKCSAgQW5kIGFkZCBhIHVuaXQgdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4ODg3MAoKMjAxMi0xMS0yMSAxMDoyMTo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJKiBzeXMvd2lua3MvTWFrZWZpbGUuYW06CgkgIHdpbmRvd3M6IFB1dCB0aGUgRGlyZWN0WCBMREZMQUdTIGluIHRoZSBjb3JyZWN0IHBsYWNlIGFuZCByZW9yZGVyIGxpYnJhcmllcwoKMjAxMi0xMS0yMCAyMzoyMDozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9obHMvZ3N0aGxzc2luay5jOgoJICBobHNzaW5rOiBhZGQgZG9jIGNodW5rIHdpdGggZXhhbXBsZSBjb21tYW5kIGxpbmUKCjIwMTItMTEtMjAgMTI6MDU6MTcgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJICBkM2R2aWRlb3Npbms6IGZpeCByZWRlZmluaXRpb24gb2YgREVDTEFSRV9JTlRFUkZBQ0VfSUlECgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODg1MTAKCjIwMTItMTEtMTkgMTk6Mjk6NDggLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBHc3RQaG90b2dyYXBoeTogQWRkIG5ldyBlbnVtIHZhbHVlcyB0byBtYXRjaCBhbmRyb2lkJ3MgcGFyYW1ldGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg4NDg2CgoyMDEyLTExLTE5IDEwOjMyOjU3ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogZml4IFBUWVBFIGZvciBpbnRlcmxhY2VkIGZyYW1lcy4KCSAgQ292ZXJpdHkgZm91bmQgbWlzc2luZyBicmVhayBpbiBwYXJzZV9mcmFtZV9oZWFkZXJfYWR2YW5jZWQoKSB3aGVuCgkgIGRldGVybWluaW5nIFBUWVBFIGZyb20gRlBUWVBFIGZvciBpbnRlcmxhY2VkIHN0cmVhbXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODg2MjYKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMi0wOS0yMSAxODoyMzoyMSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IGVycm9yIGNvZGUgZm9yIGludmFsaWQgc2l6ZSBwYXJzZWQgaW4gU1BTLgoJICBnc3RfaDI2NF9wYXJzZV9zcHMoKSByZXR1cm5lZCBGQUxTRSBpZiBpdCBwYXJzZWQgaW52YWxpZCAobmVnYXRpdmUpCgkgIHNpemUgY29tcG9uZW50cy4gTm93IG1ha2UgaXQgZ3JhY2VmdWxseSByZXR1cm4gR1NUX0gyNjRfUEFSU0VSX0VSUk9SCgkgIGluc3RlYWQgb2YgR1NUX0gyNjRfUEFSU0VSX09LIChGQUxTRSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ1NjgKCjIwMTItMTEtMTkgMTE6MjY6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGI0OTdjNGYgdG8gYTcyZmFlYQoKMjAxMi0xMS0xNSAxMTozNzoxMiAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBGaXggbml0cGljawoKMjAxMi0xMS0xNSAxMDoxNDozNCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBNYWtlIHN1cmUgcGFkIHRlbXBsYXRlIGNhcHMgYXJlIG5vdCBmaXhlZCBmcm9tIHRoZSBiZWdnaW5nCgkgIFJpZ2h0IG5vdyBkZWNvZGViaW4gd2lsbCBjb25jaWRlciB0aGUgcGFkIHRlbXBsYXRlIGNhcHMgYXMgZml4ZWQgYW5kIGlmIGEgZGVjb2RlcgoJICBoYXMgcmVzdHJpY3Rpb24gb24gZm9yIGV4YW1wbGUgaGVpZ2h0L3dpZHRoIGl0IHdvbid0IGJlIGF1dG9wbHVnZ2VkIGJlY2F1c2UKCSAgZ3N0X2NhcHNfaXNfc3Vic2V0IGZhaWxzIGFzIHRob3NlIGZpZWxkcyBhcmUgbWlzc2luZyBmcm9tIHRoZSBwYWQgdGVtcGxhdGUgY2Fwcy4KCSAgV2UgZml4IHRoZSBpc3N1ZSBoZXJlIG1ha2luZyBzdXJlIHRoYXQgdGhlIHBhZCBjYXBzIGFyZSBmaXhlZCB1c2luZyBkYXRhIGZyb20KCSAgdGhlIHN0cmVhbS4KCjIwMTItMTEtMTMgMjI6NDA6MjUgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGZvcndhcmQgdXBzdHJlYW0gdGltZSBzZWdtZW50cyBhZnRlciBmbHVzaGVzCgkgIEFsc28gcmVzZXQgc2VnbWVudCBpbmZvIGFuZCBkcm9wIHRoZSBzZWdtZW50IGV2ZW50IHdoZW4gZGVtdXhlciBpcwoJICBmbHVzaGVkLgoJICBSZXN0b3JlIGRlbXV4ZXIgc2VnbWVudCB3aXRoIHRoZSBpbmZvIHN0b3JlZCBpbiBiYXNlIHdoZW4gZGVtdXhlciBpcwoJICBnb2luZyB0byBwdXNoIGRhdGEgYWdhaW4gaWYgbmVlZGVkLgoJICBEcm9wIGNvZGUgdG8gcmVjb3ZlciB0aGUgc2VnbWVudCBpbmZvIGZyb20gYmFzZSBpbiB0aGUgaW5pdGlhbCBwcm9ncmFtCgkgIGJlY2F1c2VzIGl0J3Mgc3VwZXJzZWRlZCBieSB0aGUgbmV3IGNvZGUuCgoyMDEyLTExLTE0IDEyOjQxOjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIGdzdF9hZGFwdGVyX3ByZXZfdGltZXN0YW1wIC0+IGdzdF9hZGFwdGVyX3ByZXZfcHRzCgoyMDEyLTExLTE0IDExOjM1OjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSAgaGxzOiBkaXN0IGFsbCBoZWFkZXIgZmlsZXMgbmVlZGVkIHRvIGJ1aWxkCgoyMDEyLTExLTE0IDEwOjQ2OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2FjY3VyaXAvTWFrZWZpbGUuYW06CgkgIGFjY3VyaXA6IGZpeCBsaW5rZXIgZmxhZ3MKCSAgU3BvdHRlZCBieSBSaWNvIFR6c2NoaWNoaG9sei4KCjIwMTItMTEtMTEgMTI6NDY6NDMgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IHJlc2V0IHRoZSBzdHJlYW0gc29tZSBtb3JlIGluIHRoZSBmbHVzaGVzCgkgIE5vdyB0aGF0IHdlIGhhbmRsZSBmbHVzaGluZyBpbiB0aGUgRkxVU0hfU1RPUCBldmVudCB3ZSBuZWVkIHRvIG1ha2UKCSAgdGhlIHN0cmVhbXMgcmVhZHkgaWYgdGhleSB3ZXJlIGZsdXNoaW5nLgoKMjAxMi0xMS0xMSAxMjo0NTowMyArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogZmx1c2ggb2JzZXJ2YXRpb25zIHRvbwoJICBGbHVzaCB0aGUgcHJldmlvdXMgb2JzZXJ2YXRpb25zIHdoZW4gdGhlIHBhY2tldGl6ZXIgaXMgZmx1c2hlZC4KCSAgQWxzbyBkb24ndCBsZWFrIHRoZW0gaW4gdGhlIGRpc3Bvc2UuCgoyMDEyLTExLTEwIDIwOjQ0OjQ0ICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBmaXggZG91YmxlIHVucmVmIG9mIHNlZWsgZXZlbnQKCjIwMTItMTEtMTAgMjA6MzA6MTMgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IGZsdXNoIGluIEZMVVNIX1NUT1AgdG8gYXZvaWQgcmFjZSBjb25kaXRpb25zCgkgIEVuc3VyZSB0aGUgY2hhaW4gaXMgbm90IHJ1bm5pbmcgYmVmb3JlIHJlc2V0IHRoZSBzdGF0ZSB0byBhdm9pZCByYWNlCgkgIGNvbmRpdGlvbnMgYW5kIHJhbmRvbSBjb3JydXB0aW9ucyBkb3duc3RyZWFtLgoJICBBbHNvIGZpeGVzIHNlZ2ZhdWx0cyBpbiB0aGUgcGFja2V0aXplciBkdWUgd3JvbmcgYXZhaWxhYmxlIHZhbHVlcyB0aGF0CgkgIGNhdXNlcyBnc3RfYWRhcHRlcl9tYXAgdG8gcmV0dXJuIGEgTlVMTCBwb2ludGVyLgoKMjAxMi0xMS0xMiAxNDo1NjoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFtY3ZpZGVvZGVjOiBGaXggcmVmY291bnQgcHJvYmxlbSB3aXRoIGZyYW1lcyBiZWluZyBkcm9wcGVkIGJlY2F1c2Ugb2YgZGVjb2RlciBidWdzCgoyMDEyLTExLTEyIDExOjQ4OjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBVc2UgbmV3IEdUeXBlIGZvciBHVGhyZWFkIGluc3RlYWQgb2YganVzdCBHX1RZUEVfUE9JTlRFUgoKMjAxMi0xMS0xMiAxMTozMjo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmg6CgkgIGFuZHJvaWRtZWRpYTogVXBkYXRlIHRvIG5ldyBHTGliIHRocmVhZCBBUEkKCjIwMTItMTEtMTAgMTk6NTI6NDYgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIFJldmVydCAidHNwYWNrZXRpemVyOiBlbnN1cmUgdGhhdCBhIG51bGwgcG9pbnRlciBpc24ndCBhY2Nlc3NlZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA2ZWZkNjExYjhjNmY0M2Y2N2EyZjkzZjg0NDVjMTg5ZTI0OTYxYWJkLgoJICBBbHNvIHRoaXMgZXh0cmEgY2hlY2sgd29uJ3QgYmUgbmVlZGVkIGlmIGl0J3MgZml4ZWQgdGhlIHJhY2UgYnkgbW92aW5nCgkgIGZsdXNoIGFjdGlvbnMgdG8gRkxVU0hfU1RPUC4KCjIwMTItMTEtMTAgMTk6NDY6NDAgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkgIFJldmVydCAidHNiYXNlOiBhZGQgYSBndWFyZCB3aXRoIGFuIGF0b21pYyBib29sZWFuIHdoZW4gZmx1c2hpbmciCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZTE0ZTMxMGY3MTc4YWE4YzAyMGY1OTNlM2Y3MWVjOTJjYTI1MzFmNy4KCSAgV291bGQgYmUgYmV0dGVyIG1vdmUgdGhlIHBhY2tldGl6ZXIgZmx1c2hpbmcgdG8gRkxVU0hfU1RPUCBhbmQgYXZvaWQKCSAgdGhlIHJhY2UgdGhhdCB3YXkuIFdpdGhvdXQgaW50cm9kdWNpbmcgYSBtZW1vcnkgYmFycmllciB0aGF0IGNvdWxkCgkgIGhhdmUgaW1wYWN0IGluIHRoZSBwZXJmb3JtYW5jZS4KCjIwMTItMTEtMTAgMTQ6NDM6MTcgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2hscy8uZ3N0aGxzZGVtdXguYy5zd3A6CgkqIGdzdC9obHMvLmdzdGhsc3NpbmsuYy5zd3A6CgkgIGhsc3Npbms6IHJlbW92ZSB2aW0gLnN3cCBmaWxlcyB0aGF0IEkganVzdCBjb21taXR0ZWQgYWNjaWRlbnRhbGx5Li4uCgoyMDEyLTExLTEwIDE0OjI2OjQ2ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvLmdzdGhsc2RlbXV4LmMuc3dwOgoJKiBnc3QvaGxzLy5nc3RobHNzaW5rLmMuc3dwOgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50ZWRwbHVnaW4uYzoKCSAgaGxzc2luazogcG9ydCB0byAxLjAKCjIwMTItMTAtMjggMjE6Mjk6MzEgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmM6CgkqIGdzdC9obHMvZ3N0aGxzc2luay5oOgoJICBobHNzaW5rOiBjdXQgc2VnbWVudHMgdXNpbmcgdGhlIHJ1bm5pbmctdGltZQoKMjAxMi0wOS0wOSAyMTo1Njo0MyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuYzoKCSAgaGxzc2luazogZG9uJ3QgdW5yZWYgLT5tdWx0aWZpbGVzaW5rLgoJICBXZSBnc3RfYmluX2FkZCBpdCB0byBvdXJzZWxmIHNvIG5vIG5lZWQgdG8gdW5yZWYgaW4gX2Rpc3Bvc2UuCgoyMDEyLTA5LTA5IDIxOjU2OjIyICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzc2luay5jOgoJICBobHNzaW5rOiByZXdvcmsgX3Jlc2V0IGEgYml0CgoyMDEyLTExLTEwIDAwOjA4OjM1ICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJICB0c2Jhc2U6IGFkZCBhIGd1YXJkIHdpdGggYW4gYXRvbWljIGJvb2xlYW4gd2hlbiBmbHVzaGluZwoKMjAxMi0xMS0wOSAyMjoxNzoxMSArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgdHNwYWNrZXRpemVyOiBlbnN1cmUgdGhhdCBhIG51bGwgcG9pbnRlciBpc24ndCBhY2Nlc3NlZAoJICBNaXRpZ2F0ZXMgc2VnZmF1bHQgZHVlIHJhY2UgY29uZGl0aW9uIGluIEZMVVNIX1NUQVJUIGhhbmRsaW5nIGFuZAoJICBtcGVndHNfYmFzZV9jaGFpbi4KCjIwMTItMTEtMDggMTc6MTU6MjYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzOiBPbmx5IHVzZSB0aW1lc3RhbXAtYmFzZWQgUENSL1BUUyBlc3RpbWF0aW9uIHdoZW4gbmVlZGVkCgkgIFdoZW4gZGVhbGluZyB3aXRoIG5vbi10aW1lIGJhc2VkIHB1c2gtbW9kZSBzdHJlYW1zLCB3ZSBuZWVkIHRvIHJldmVydAoJICB0byB1c2luZyB0aGUgb2Zmc2V0LWJhc2VkIFBDUi9QVFMgZXN0aW1hdGlvbiBsb2dpYyBvZiBwYWNrZXRpemVyLgoJICBUaGlzIHNvbHZlcyB1c2VzIGNhc2VzIHN1Y2ggYXM6CgkgIHB1c2hmaWxlOi8vICEgdHNkZW11eAoJICBzcmMgISBxdWV1ZSAhIHRzZGVtdXgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzE3OAoKMjAxMi0xMS0wOCAxMjoxMjo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZ2xnbGVzc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkgIGRvY3M6IEFkZCBtaXNzaW5nIHBsdWdpbiBpbnNwZWN0aW9uIGZpbGVzCgkgIEZpeGVzIGJ1ZyAjNjg3ODQwLgoKMjAxMi0xMS0wNyAyMDo1MDoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiB1cGRhdGUgY291cnRlc3kgb2YgYXV0b3VwZGF0ZQoKMjAxMi0xMS0wNyAyMDo0ODozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGxldCBBR19HU1RfUExVR0lOX0RPQ1MgY2hlY2sgZm9yIHB5dGhvbgoJICBBbmQgdXBkYXRlIGNvbW1vbiBmb3IgbW92ZSBmcm9tIEFTX1BBVEhfUFlUSE9OIHRvIEFNX1BBVEhfUFlUSE9OLAoJICB3aGljaCBhcyBhIHNpZGUtZWZmZWN0IHNob3VsZCBwaWNrIHVwIG5ld2VyIHB5dGhvbiB2ZXJzaW9ucyBhcwoJICB3ZWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTYzOTAzCgoyMDEyLTExLTA2IDIwOjUxOjEwICswMDAwICBLZXZpbiBUaG9ybmJlcnJ5IDxnaW1tZWFtaWxrYnR0ZkBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGZpeCBEVFMgdmFsdWUgYmVpbmcgdXNlZCBmb3IgUFRTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc4MDYKCjIwMTItMTEtMDYgMTI6NDA6MDUgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZG9uJ3QgcmV3aW5kIHRvIHRoZSBOQUwgbGVuZ3RoIHNpemUgaW4gYnl0ZXdyaXRlciBpZiB0aGUgZm9ybWF0IGlzIGJ5dGVzdHJlYW0KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzU0OAoJICBTaWduZWQtb2ZmLWJ5OiAgS2V2aW4gVGhvcm5iZXJyeQoKMjAxMi0xMS0wNiAxMTo1NDozOSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBBY3R1YWxseSBhZGQgUFBTIGRhdGEgdG8gdGhlIG91dHB1dCBidWZmZXIKCjIwMTItMDktMjggMTI6MzY6NTUgLTA0MDAgIFdpbGwgVGhvbXBzb24gPHdpbGwudGhvbXBzb25AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmM6CgkqIGdzdC9obHMvZ3N0aGxzc2luay5oOgoJICBobHNzaW5rOiBhZGQgYSBwbGF5bGlzdC1sZW5ndGggcHJvcGVydHkKCSAgUHJvYmFibHkgbm90IHBhcnRpY3VsYXJseSB1c2VmdWwgaW4gZ2VuZXJhbCwgYnV0IGhhbmR5CgkgIHRvIGN1dCBkb3duIHRoZSBsYXRlbmN5IG9uIGEgc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MTMzCgoyMDEyLTEwLTI5IDEzOjI0OjI1ICswMDAwICBMdWNpYW5hIEZ1amlpIFBvbnRlbGxvIDxsdWNpYW5hQGZ1amlpLmV0aS5icj4KCgkqIGdzdC9obHMvZ3N0aGxzc2luay5jOgoJICBobHNzaW5rOiByZXNldCB3aGVuIGdvaW5nIHRvIE5VTEwgc3RhdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzEzMwoKMjAxMi0wOC0yMSAyMzoyMjoxOSAtMDMwMCAgTHVjaWFuYSBGdWppaSBQb250ZWxsbyA8bHVjaWFuYUBmdWppaS5ldGkuYnI+CgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuYzoKCSAgaGxzc2luazogRml4IHNlZ21lbnQgbmFtZXMgb24gcGxheWxpc3QKCSAgV2hlbiB0aGUgcGxheWxpc3Qtcm9vdCBpcyBub3Qgc2V0LCB0aGUgc2VnbWVudCBuYW1lIG11c3Qgbm90IGJlCgkgIGFwcGVuZGVkIGJ5IHRoZSBwYXRoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MTMzCgoyMDEyLTExLTAzIDIwOjM4OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZG9jcy9yYW5kb20vTElDRU5TRToKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhwbHVnaW4uYzoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhyYW9wLmM6CgkqIGV4dC9hcGV4c2luay9nc3RhcGV4cmFvcC5oOgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmg6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWYuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5oOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5oOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuaDoKCSogZXh0L2J6Mi9nc3RiejIuYzoKCSogZXh0L2J6Mi9nc3RiejJkZWMuYzoKCSogZXh0L2J6Mi9nc3RiejJkZWMuaDoKCSogZXh0L2J6Mi9nc3RiejJlbmMuYzoKCSogZXh0L2J6Mi9nc3RiejJlbmMuaDoKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJKiBleHQvY2VsdC9nc3RjZWx0LmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5oOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuaDoKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50LmM6CgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5oOgoJKiBleHQvY29nL2dzdGNtcy5jOgoJKiBleHQvY29nL2dzdGNtcy5oOgoJKiBleHQvY29nL2dzdGNvZy5jOgoJKiBleHQvY29nL2dzdGNvZ2Rvd25zYW1wbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dzY2FsZS5jOgoJKiBleHQvY29nL2dzdGNvZ3V0aWxzLmM6CgkqIGV4dC9jb2cvZ3N0Y29ndXRpbHMuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybC5jOgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmxmaWxlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZmlsZXNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxodHRwc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmx0bHNzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmx0bHNzaW5rLmg6CgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0Lmg6CgkqIGV4dC9kaXJhYy9nc3RkaXJhYy5jYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmNjOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuaDoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmg6CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuaDoKCSogZXh0L2ZsaXRlL2dzdGZsaXRlLmM6CgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L2dtZS9nc3RnbWUuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3MuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NpbmsuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NyYy5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc3JjLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zaW5rLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zcmMuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NyYy5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdHN3aXRjaHNpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rzd2l0Y2hzaW5rLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0c3dpdGNoc3JjLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0c3dpdGNoc3JjLmg6CgkqIGV4dC9nc2V0dGluZ3MvcGx1Z2luLmM6CgkqIGV4dC9nc20vZ3N0Z3NtLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmg6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmg6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyLmM6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZGVjLmM6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZGVjLmg6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZW5jLmM6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZW5jLmg6CgkqIGV4dC9rYXRlL2dzdGthdGUuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZS5oOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmg6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1Lmg6CgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5oOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmg6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmg6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmg6CgkqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5oOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbHYyL2dzdGx2Mi5oOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkqIGV4dC9taW1pYy9nc3RtaW1pYy5jOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmg6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmhoOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvZGVyLmNjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvZGVyLmhoOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvcHRpb25zLmNjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvcHRpb25zLmhoOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmNjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmhoOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNzdHJlYW13cml0ZXIuY2M6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3N0cmVhbXdyaXRlci5oaDoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguaGg6CgkqIGV4dC9tcGxleC9nc3RtcGxleGliaXRzdHJlYW0uY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleGliaXRzdHJlYW0uaGg6CgkqIGV4dC9tcGxleC9nc3RtcGxleGpvYi5jYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4am9iLmhoOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXhvdXRwdXRzdHJlYW0uY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleG91dHB1dHN0cmVhbS5oaDoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5oOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tyZWFkZXIuYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrcmVhZGVyLmg6CgkqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSogZXh0L211c2ljYnJhaW56L2dzdHRybS5oOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5oOgoJKiBleHQvbmFzL25hc3NpbmsuYzoKCSogZXh0L25hcy9uYXNzaW5rLmg6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc2luay5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNpbmsuaDoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzcmMuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzcmMuaDoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5jcHA6CgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuaDoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGVlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlZXJvZGUuaDoKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXJvZGUuaDoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuYzoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuaDoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuaDoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuaDoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dmlkZW9maWx0ZXIuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z2aWRlb2ZpbHRlci5oOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuaDoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5oOgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuaDoKCSogZXh0L29wZW5jdi9tb3Rpb25jZWxsc193cmFwcGVyLmNwcDoKCSogZXh0L29wZW5jdi9tb3Rpb25jZWxsc193cmFwcGVyLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2NvbW1vbi5jOgoJKiBleHQvb3B1cy9nc3RvcHVzY29tbW9uLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuaDoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNkZXBheS5oOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuaDoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5oOgoJKiBleHQvcmVzaW5kdmQvZ3N0cGVzZmlsdGVyLmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RwZXNmaWx0ZXIuaDoKCSogZXh0L3Jlc2luZHZkL3BsdWdpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmg6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmg6CgkqIGV4dC9yZXNpbmR2ZC9yc25pbnB1dHNlbGVjdG9yLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25pbnB1dHNlbGVjdG9yLmg6CgkqIGV4dC9yc3ZnL2dzdHJzdmcuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmg6CgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5Lmg6CgkqIGV4dC9ydG1wL2dzdHJ0bXAuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuaDoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmg6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm8uYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuaDoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDoKCSogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5oOgoJKiBleHQvc25kZmlsZS9nc3RzZi5jOgoJKiBleHQvc25kZmlsZS9nc3RzZi5oOgoJKiBleHQvc25kZmlsZS9nc3RzZnNpbmsuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzaW5rLmg6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc3JjLmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc3JjLmg6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmhoOgoJKiBleHQvc3BhbmRzcC9nc3RzcGFuZHNwLmM6CgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5wbGMuYzoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbnBsYy5oOgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJKiBleHQvc3BjL2dzdHNwYy5oOgoJKiBleHQvc3BjL3RhZy5jOgoJKiBleHQvc3BjL3RhZy5oOgoJKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5oOgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5Lmg6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuaDoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjLmM6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuaDoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3Yi5jOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmM6CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuaDoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuaDoKCSogZXh0L3h2aWQvZ3N0eHZpZC5jOgoJKiBleHQveHZpZC9nc3R4dmlkLmg6CgkqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGRlYy5oOgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuaDoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBleHQvemJhci9nc3R6YmFyLmg6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW4tZW51bS5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9wYXJzZXJ1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3BhcnNlcnV0aWxzLmg6CgkqIGdzdC1saWJzL2dzdC9nZXR0ZXh0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbGliLWNvbXBhdC1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9nc3QtaTE4bi1wbHVnaW4uaDoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2Vjb252ZXJ0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2Vjb252ZXJ0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VtZXRhLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlbWV0YS5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW9jb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnRleHQuaDoKCSogZ3N0L2FjY3VyaXAvZ3N0YWNjdXJpcC5jOgoJKiBnc3QvYWNjdXJpcC9nc3RhY2N1cmlwLmg6CgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSogZ3N0L2FpZmYvYWlmZi5jOgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkqIGdzdC9haWZmL2FpZmZtdXguaDoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5oOgoJKiBnc3QvYXNmbXV4L2dzdGFzZi5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5oOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmg6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5oOgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5jOgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5oOgoJKiBnc3QvYXVkaW9idWZmZXIvZ3N0YXVkaW9yaW5nYnVmZmVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0ZHJhd2hlbHBlcnMuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvcGx1Z2luLmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuaDoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG92aWRlb2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG92aWRlb2NvbnZlcnQuaDoKCSogZ3N0L2F1dG9jb252ZXJ0L3BsdWdpbi5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIuYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuaDoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RwbHVnaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5oOgoJKiBnc3QvY2R4YXBhcnNlL2dzdHZjZHBhcnNlLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0dmNkcGFyc2UuaDoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5oOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5oOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdHBsdWdpbi5jOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuaDoKCSogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwLmg6CgkqIGdzdC9kY2NwL2dzdGRjY3BfY29tbW9uLmg6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmg6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5oOgoJKiBnc3QvZGNjcC9nc3RkY2NwcGx1Z2luLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmg6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5oOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzYmFkLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNoZWNrc3Vtc2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaGVja3N1bXNpbmsuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hvcG15ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaG9wbXlkYXRhLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Z3NweS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Z3NweS5oOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuaDoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5oOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS1yZW5kZXIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtY29tbW9uLmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmg6CgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuaDoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5oOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuaDoKCSogZ3N0L2ZyZWV2ZXJiL2dzdGZyZWV2ZXJiLmM6CgkqIGdzdC9mcmVldmVyYi9nc3RmcmVldmVyYi5oOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5oOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5oOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuaDoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuaDoKCSogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOgoJKiBnc3QvZ2FtZXMvZ3N0dmlkZW9pbWFnZS5jOgoJKiBnc3QvZ2FtZXMvZ3N0dmlkZW9pbWFnZS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RwbHVnaW4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RwbHVnaW4uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmg6CgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmg6CgkqIGdzdC9nZHAvZHAtcHJpdmF0ZS5oOgoJKiBnc3QvZ2RwL2dzdGdkcC5jOgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuaDoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nZW9tZXRyaWNtYXRoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ2VvbWV0cmljbWF0aC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGJ1bGdlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0YnVsZ2UuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGVnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGVnZW9tZXRyaWN0cmFuc2Zvcm0uaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RkaWZmdXNlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZGlmZnVzZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGZpc2hleWUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RmaXNoZXllLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWFyYmxlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWFyYmxlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWlycm9yLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWlycm9yLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHJvdGF0ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHJvdGF0ZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNwaGVyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNwaGVyZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHN0cmV0Y2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzdHJldGNoLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHVubmVsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHVubmVsLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHdhdGVycmlwcGxlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0d2F0ZXJyaXBwbGUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmM6CgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5oOgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50LmM6CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnQuaDoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkqIGdzdC9obHMvZ3N0aGxzc2luay5jOgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuaDoKCSogZ3N0L2hscy9nc3RtM3U4cGxheWxpc3QuYzoKCSogZ3N0L2hscy9nc3RtM3U4cGxheWxpc3QuaDoKCSogZ3N0L2hscy9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGdzdC9obHMvZ3N0dXJpZG93bmxvYWRlci5oOgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2hscy9tM3U4Lmg6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4LmM6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4Lmg6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzaW5rLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5oOgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmg6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2dzdGpwMmtkZWNpbWF0b3IuYzoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvZ3N0anAya2RlY2ltYXRvci5oOgoJKiBnc3QvanAya2RlY2ltYXRvci9qcDJrY29kZXN0cmVhbS5jOgoJKiBnc3QvanAya2RlY2ltYXRvci9qcDJrY29kZXN0cmVhbS5oOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4Lmg6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdmb3JtYXQuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ2Zvcm1hdC5oOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmg6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmg6CgkqIGdzdC9saWJyZmIvdm5jYXV0aC5jOgoJKiBnc3QvbGlicmZiL3ZuY2F1dGguaDoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuaDoKCSogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSogZ3N0L21wZWcxc3lzL2J1ZmZlci5jOgoJKiBnc3QvbXBlZzFzeXMvYnVmZmVyLmg6CgkqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5oOgoJKiBnc3QvbXBlZ2RlbXV4L3BsdWdpbi5jOgoJKiBnc3QvbXBlZ3BzbXV4L2NyYy5oOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5oOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eF9hYWMuYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXhfYWFjLmg6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4X2gyNjQuYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXhfaDI2NC5oOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXguaDoKCSogZ3N0L21wZWdwc211eC9wc211eGNvbW1vbi5oOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4c3RyZWFtLmM6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXhzdHJlYW0uaDoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdHRzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2FhYy5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9hYWMuaDoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfdHR4dC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF90dHh0Lmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Y29tbW9uLmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5oOgoJKiBnc3QvbXZlL2dzdG12ZS5jOgoJKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6CgkqIGdzdC9tdmUvZ3N0bXZlZGVtdXguaDoKCSogZ3N0L212ZS9nc3RtdmVtdXguYzoKCSogZ3N0L212ZS9nc3RtdmVtdXguaDoKCSogZ3N0L212ZS9tdmUuaDoKCSogZ3N0L212ZS9tdmVhdWRpb2VuYy5jOgoJKiBnc3QvbXZlL212ZXZpZGVvZW5jMTYuYzoKCSogZ3N0L212ZS9tdmV2aWRlb2VuYzguYzoKCSogZ3N0L214Zi9teGYuYzoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5oOgoJKiBnc3QvbXhmL214ZmFsYXcuYzoKCSogZ3N0L214Zi9teGZhbGF3Lmg6CgkqIGdzdC9teGYvbXhmZDEwLmM6CgkqIGdzdC9teGYvbXhmZDEwLmg6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJKiBnc3QvbXhmL214ZmRtczEuYzoKCSogZ3N0L214Zi9teGZkbXMxLmg6CgkqIGdzdC9teGYvbXhmZHYtZGlmLmM6CgkqIGdzdC9teGYvbXhmZHYtZGlmLmg6CgkqIGdzdC9teGYvbXhmZXNzZW5jZS5jOgoJKiBnc3QvbXhmL214ZmVzc2VuY2UuaDoKCSogZ3N0L214Zi9teGZqcGVnMjAwMC5jOgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmg6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L214Zi9teGZtcGVnLmg6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4Lmg6CgkqIGdzdC9teGYvbXhmcXVhcmsuYzoKCSogZ3N0L214Zi9teGZxdWFyay5oOgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSogZ3N0L214Zi9teGZ1bC5jOgoJKiBnc3QvbXhmL214ZnVsLmg6CgkqIGdzdC9teGYvbXhmdXAuYzoKCSogZ3N0L214Zi9teGZ1cC5oOgoJKiBnc3QvbXhmL214ZnZjMy5jOgoJKiBnc3QvbXhmL214ZnZjMy5oOgoJKiBnc3QvbnNmL2RpczY1MDIuaDoKCSogZ3N0L25zZi9mZHNfc25kLmM6CgkqIGdzdC9uc2YvZmRzX3NuZC5oOgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJKiBnc3QvbnNmL2dzdG5zZi5oOgoJKiBnc3QvbnNmL2xvZy5jOgoJKiBnc3QvbnNmL2xvZy5oOgoJKiBnc3QvbnNmL21tYzVfc25kLmM6CgkqIGdzdC9uc2YvbW1jNV9zbmQuaDoKCSogZ3N0L25zZi9uZXM2NTAyLmM6CgkqIGdzdC9uc2YvbmVzNjUwMi5oOgoJKiBnc3QvbnNmL25lc19hcHUuYzoKCSogZ3N0L25zZi9uZXNfYXB1Lmg6CgkqIGdzdC9uc2YvbnNmLmM6CgkqIGdzdC9uc2YvbnNmLmg6CgkqIGdzdC9uc2Yvb3NkLmg6CgkqIGdzdC9uc2YvdHlwZXMuaDoKCSogZ3N0L25zZi92cmM3X3NuZC5jOgoJKiBnc3QvbnNmL3ZyYzdfc25kLmg6CgkqIGdzdC9uc2YvdnJjdmlzbmQuYzoKCSogZ3N0L25zZi92cmN2aXNuZC5oOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4Lmg6CgkqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5oOgoJKiBnc3QvcGF0Y2hkZXRlY3QvZ3N0cGF0Y2hkZXRlY3QuaDoKCSogZ3N0L3BjYXBwYXJzZS9nc3RpcnRzcHBhcnNlLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0aXJ0c3BwYXJzZS5oOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5oOgoJKiBnc3QvcGNhcHBhcnNlL3BsdWdpbi5jOgoJKiBnc3QvcG5tL2dzdHBubS5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5oOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5oOgoJKiBnc3QvcG5tL2dzdHBubXV0aWxzLmM6CgkqIGdzdC9wbm0vZ3N0cG5tdXRpbHMuaDoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuaDoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5oOgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5oOgoJKiBnc3QvcmVhbC9nc3RyZWFsLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWwuaDoKCSogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5oOgoJKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmg6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL2dzdHJlbW92ZXNpbGVuY2UuYzoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvZ3N0cmVtb3Zlc2lsZW5jZS5oOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS92YWRfcHJpdmF0ZS5jOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS92YWRfcHJpdmF0ZS5oOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZy5jOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5oOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5oOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4Lmg6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4ZXIuYzoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmg6CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG9wbHVnaW4uYzoKCSogZ3N0L3NkaS9nc3RzZGkuYzoKCSogZ3N0L3NkaS9nc3RzZGlkZW11eC5jOgoJKiBnc3Qvc2RpL2dzdHNkaWRlbXV4Lmg6CgkqIGdzdC9zZGkvZ3N0c2RpbXV4LmM6CgkqIGdzdC9zZGkvZ3N0c2RpbXV4Lmg6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5oOgoJKiBnc3Qvc2RwL2dzdHNkcGVsZW0uYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdGF1ZGlvc2VnbWVudGNsaXAuYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdGF1ZGlvc2VnbWVudGNsaXAuaDoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHNlZ21lbnRjbGlwLmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3RzZWdtZW50Y2xpcC5oOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0dmlkZW9zZWdtZW50Y2xpcC5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0dmlkZW9zZWdtZW50Y2xpcC5oOgoJKiBnc3Qvc2VnbWVudGNsaXAvcGx1Z2luLmM6CgkqIGdzdC9zaXJlbi9jb21tb24uYzoKCSogZ3N0L3NpcmVuL2NvbW1vbi5oOgoJKiBnc3Qvc2lyZW4vZGN0NC5jOgoJKiBnc3Qvc2lyZW4vZGN0NC5oOgoJKiBnc3Qvc2lyZW4vZGVjb2Rlci5jOgoJKiBnc3Qvc2lyZW4vZGVjb2Rlci5oOgoJKiBnc3Qvc2lyZW4vZW5jb2Rlci5jOgoJKiBnc3Qvc2lyZW4vZW5jb2Rlci5oOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW4uYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuLmg6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuaDoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5oOgoJKiBnc3Qvc2lyZW4vaHVmZm1hbi5jOgoJKiBnc3Qvc2lyZW4vaHVmZm1hbi5oOgoJKiBnc3Qvc2lyZW4vaHVmZm1hbl9jb25zdHMuaDoKCSogZ3N0L3NpcmVuL3JtbHQuYzoKCSogZ3N0L3NpcmVuL3JtbHQuaDoKCSogZ3N0L3NpcmVuL3NpcmVuNy5oOgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5oOgoJKiBnc3Qvc3BlZWQvZGVtby1tcDMuYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5oOgoJKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5oOgoJKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5jOgoJKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5oOgoJKiBnc3Qvc3ViZW5jL2dzdHN1YmVuYy5jOgoJKiBnc3Qvc3ViZW5jL2dzdHdlYnZ0dGVuYy5jOgoJKiBnc3Qvc3ViZW5jL2dzdHdlYnZ0dGVuYy5oOgoJKiBnc3QvdHRhL2NyYzMyLmg6CgkqIGdzdC90dGEvZ3N0dHRhLmM6CgkqIGdzdC90dGEvZ3N0dHRhZGVjLmM6CgkqIGdzdC90dGEvZ3N0dHRhZGVjLmg6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5oOgoJKiBnc3QvdHRhL3R0YWRlYy5oOgoJKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5oOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHNjZW5lY2hhbmdlLmg6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9maWx0ZXIyLmg6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0emVicmFzdHJpcGUuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9wbHVnaW4uYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmg6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuaDoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmg6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb3NpZ25hbC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9zaWduYWwuaDoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5oOgoJKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJKiBzeXMvYWNtbXAzZGVjL2FjbW1wM2RlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9idWZmZXJmYWN0b3J5Lmg6CgkqIHN5cy9hcHBsZW1lZGlhL2J1ZmZlcmZhY3RvcnkubToKCSogc3lzL2FwcGxlbWVkaWEvY2VsYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jbWFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jbWFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWN0eC5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFjdHguaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9keW5hcGktaW50ZXJuYWwuaDoKCSogc3lzL2FwcGxlbWVkaWEvZHluYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2R5bmFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW9hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvZGV2aWNlLmg6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL210YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL210YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZGVjYmluLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGRlY2Jpbi5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRlbmNiaW4uYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZW5jYmluLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0dXRpbC5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dHV0aWwuaDoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuaDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5oOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXJfaW9jdGwuYzoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyX2lvY3RsLmg6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllcl9pb2N0bF9ic2QuaDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyX2lvY3RsX2lyaXguaDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyX2lvY3RsX3NvbGFyaXMuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHguaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMC9keDEwLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTAvZHgxMC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDEwL2R4MTBfZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTAvZHgxMF9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMS9keDExLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTEvZHgxMS5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDExL2R4MTFfZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTEvZHgxMV9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHg5L2R4OS5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDkvZHg5Lmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4OS9keDlfZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4OS9keDlfZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4X2QzZC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eF9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2R4LmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9keC5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5oOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuaDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2RlY3dyYXBwZXIuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZGVjd3JhcHBlci5oOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZmFrZXNyYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc3JjLmg6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d1dGlsLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3V0aWwuaDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3NyY3dyYXBwZXIuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuaDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9mYWtlc3JjLmNwcDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9mYWtlc3JjLmg6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5oOgoJKiBzeXMvZHZiL2NhbS5jOgoJKiBzeXMvZHZiL2NhbS5oOgoJKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uLmM6CgkqIHN5cy9kdmIvY2FtYXBwbGljYXRpb24uaDoKCSogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbmluZm8uYzoKCSogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbmluZm8uaDoKCSogc3lzL2R2Yi9jYW1kZXZpY2UuYzoKCSogc3lzL2R2Yi9jYW1kZXZpY2UuaDoKCSogc3lzL2R2Yi9jYW1yZXNvdXJjZW1hbmFnZXIuYzoKCSogc3lzL2R2Yi9jYW1yZXNvdXJjZW1hbmFnZXIuaDoKCSogc3lzL2R2Yi9jYW1zZXNzaW9uLmM6CgkqIHN5cy9kdmIvY2Ftc2Vzc2lvbi5oOgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6CgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuaDoKCSogc3lzL2R2Yi9jYW10cmFuc3BvcnQuYzoKCSogc3lzL2R2Yi9jYW10cmFuc3BvcnQuaDoKCSogc3lzL2R2Yi9jYW11dGlscy5jOgoJKiBzeXMvZHZiL2NhbXV0aWxzLmg6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uaDoKCSogc3lzL2R2Yi9nc3RkdmIuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5oOgoJKiBzeXMvZHhyMy9hYzNfcGFkZGVyLmM6CgkqIHN5cy9keHIzL2FjM19wYWRkZXIuaDoKCSogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOgoJKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmg6CgkqIHN5cy9keHIzL2R4cjNjb21tb24uaDoKCSogc3lzL2R4cjMvZHhyM2luaXQuYzoKCSogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3NwdXNpbmsuaDoKCSogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOgoJKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmg6CgkqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzoKCSogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5oOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5cy5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNpbmsuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzaW5rLmg6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc3JjLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc3JjLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlcy5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXMuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3BsdWdpbi5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zcmMuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc3JjLmg6CgkqIHN5cy9wdnIyZC9nc3RwdnJ2aWRlb3NpbmsuYzoKCSogc3lzL3B2cjJkL2dzdHB2cnZpZGVvc2luay5oOgoJKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6CgkqIHN5cy9xY2FtL2dzdHFjYW1zcmMuaDoKCSogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkqIHN5cy9xdHdyYXBwZXIvY29kZWNtYXBwaW5nLmM6CgkqIHN5cy9xdHdyYXBwZXIvY29kZWNtYXBwaW5nLmg6CgkqIHN5cy9xdHdyYXBwZXIvaW1hZ2VkZXNjcmlwdGlvbi5jOgoJKiBzeXMvcXR3cmFwcGVyL2ltYWdlZGVzY3JpcHRpb24uaDoKCSogc3lzL3F0d3JhcHBlci9xdHV0aWxzLmM6CgkqIHN5cy9xdHdyYXBwZXIvcXR1dGlscy5oOgoJKiBzeXMvcXR3cmFwcGVyL3F0d3JhcHBlci5jOgoJKiBzeXMvcXR3cmFwcGVyL3F0d3JhcHBlci5oOgoJKiBzeXMvcXR3cmFwcGVyL3ZpZGVvZGVjb2RlcnMuYzoKCSogc3lzL3NobS9nc3RzaG0uYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5oOgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJKiBzeXMvc2htL2dzdHNobXNyYy5oOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0LmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4Lmg6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmg6CgkqIHN5cy91dmNoMjY0L3V2Y19oMjY0LmM6CgkqIHN5cy92Y2QvdmNkc3JjLmM6CgkqIHN5cy92Y2QvdmNkc3JjLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW91dGlscy5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3R2aWRlb2ZyYW1lLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdHZpZGVvZnJhbWUuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHAuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBidWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBidWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBidWZmZXJwb29sLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwYnVmZmVycG9vbC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0YnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0YnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0YnVmZmVycG9vbC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlcnBvb2wuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHV0aWxzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVycG9vbC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVycG9vbC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRmcmFtZS5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZnJhbWUuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdG5hbHJlYWRlci5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RuYWxyZWFkZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmg6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5oOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZnJhbWUuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2ZyYW1lLmg6CgkqIHN5cy92ZHBhdS9tcGVnL21wZWd1dGlsLmM6CgkqIHN5cy92ZHBhdS9tcGVnL21wZWd1dGlsLmg6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3RtcGVnNGZyYW1lLmM6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3RtcGVnNGZyYW1lLmg6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3R2ZHBtcGVnNGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0dmRwbXBlZzRkZWMuaDoKCSogc3lzL3ZkcGF1L21wZWc0L21wZWc0dXRpbC5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvbXBlZzR1dGlsLmg6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuaDoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuaDoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpdXRpbC5oOgoJKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmM6CgkqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuaDoKCSogc3lzL3dpbmtzL2dzdGtzY2xvY2suYzoKCSogc3lzL3dpbmtzL2dzdGtzY2xvY2suaDoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuaDoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuaDoKCSogc3lzL3dpbmtzL2tzaGVscGVycy5jOgoJKiBzeXMvd2lua3Mva3NoZWxwZXJzLmg6CgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuaDoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuaDoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuaDoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3R3aW5zY3JlZW5jYXAuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3R3aW5zY3JlZW5jYXAuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNmbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Fzc3JlbmRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvY29udmVydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvdmlkZW9jb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RhdGF1cmlzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFkLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjYzcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2NHBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM211eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbG9nb2luc2VydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnNHZpZGVvcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd2aWRlb3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZzEyM2F1ZGlvZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wbGV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214ZmRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214Zm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9uZW9uaHR0cHNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vZmEuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb3B1cy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zY2hyb2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90aW1pZGl0eS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91dmNoMjY0ZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlld2ZpbmRlcmJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2FhY2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2FtcndiZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3piYXIuYzoKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSogdGVzdHMvY2hlY2svbGlicy9oMjY0cGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvdmMxcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9jb2xvcnNwYWNlLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9taW1pYy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbXhmLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nc3RwbGF5L3BsYXllci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9pbmRleGluZy9pbmRleG1wZWcuYzoKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvZGVtby5jOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9wbG90LmM6CgkqIHRlc3RzL2V4YW1wbGVzL214Zi9teGZkZW11eC1zdHJ1Y3R1cmUuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3RhdHMvbXAyb2dnLmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvY2FsbC9EQ0NQQ2xpZW50LmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvY2FsbC9EQ0NQU2VydmVyLmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvZmlsZS9EQ0NQQ2xpZW50U2F2ZUZpbGUuYzoKCSogdGVzdHMvaWNsZXMvZGNjcC9maWxlL0RDQ1BTZXJ2ZXJTZW5kRmlsZS5jOgoJKiB0ZXN0cy9pY2xlcy9kY2NwL21pYy9EQ0NQQ2xpZW50UGxheU1pYy5jOgoJKiB0ZXN0cy9pY2xlcy9kY2NwL21pYy9EQ0NQU2VydmVyTWljLmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvbXAzL0RDQ1BDbGllbnRQbGF5TVAzLmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvbXAzL0RDQ1BTZXJ2ZXJTZW5kTVAzLmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvbXAzU3BlZXgvRENDUENsaWVudFBsYXlTcGVleE1QMy5jOgoJKiB0ZXN0cy9pY2xlcy9kY2NwL21wM1NwZWV4L0RDQ1BTZXJ2ZXJTZW5kU3BlZXhNUDMuYzoKCSogdGVzdHMvaWNsZXMvZGNjcC9tcDNTdHJlYW0vRENDUENsaWVudFBsYXlNUDNTdHJlYW0uYzoKCSogdGVzdHMvaWNsZXMvZGNjcC9tcDNTdHJlYW0vRENDUFNlcnZlclNlbmRNUDNTdHJlYW0uYzoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5oOgoJKiB0ZXN0cy9pY2xlcy9waXRjaC10ZXN0LmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2U6CgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJKiB0b29scy9nc3QtcHJvamVjdC1tYWtlcjoKCSAgRml4IEZTRiBhZGRyZXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc1MjAKCjIwMTItMTEtMDMgMTM6NTE6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50Lmg6CgkgIG9wZW5jdjogZml4IHdhcm5pbmdzIGFuZCBidWlsZCBhZ2FpbnN0IG9wZW5jdiAyLjQueAoJICBnc3RweXJhbWlkc2VnbWVudC5jOiBJbiBmdW5jdGlvbiAnZ3N0X3B5cmFtaWRfc2VnbWVudF9jaGFpbic6CgkgIGdzdHB5cmFtaWRzZWdtZW50LmM6MzA3OjM6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbgoJICAnY3ZQeXJTZWdtZW50YXRpb24nIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQoJICBnc3RweXJhbWlkc2VnbWVudC5jOjMwNzozOiBlcnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZgoJICAnY3ZQeXJTZWdtZW50YXRpb24nIFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MjM3CgoyMDEyLTExLTAyIDEzOjQ0OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJICBzY2FsZXRlbXBvOiBVc2UgYSBiZXR0ZXIgcGx1Z2luIGZpbGVuYW1lCgoyMDEyLTExLTAyIDExOjI5OjU0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBVc2UgbW9yZSBjb25zdGFudHMgaW5zdGVhZCBvZiBoYXJkY29kaW5nIHZhbHVlcwoKMjAxMi0xMS0wMiAxMToyNDozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzOiBGaXggY29tcGlsYXRpb24gd2l0aCBkZWJ1Z2dpbmcgZW5hYmxlZAoKMjAxMi0xMS0wMSAyMDo1MDo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIEFuZHJvaWQubWs6CgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L3J0cHZwOC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cHZwOC9kYm9vbGh1ZmYuTElDRU5TRToKCSogZ3N0L3J0cHZwOC9kYm9vbGh1ZmYuYzoKCSogZ3N0L3J0cHZwOC9kYm9vbGh1ZmYuaDoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDguYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOGRlcGF5Lmg6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5Lmg6CgkgIHJ0cHZwODogcmVtb3ZlIGFuZCBtb3ZlIHRvIC1nb29kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODcyNjMKCjIwMTItMTEtMDEgMTU6MzY6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlczogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxMi0xMS0wMSAxNTozNToxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXMuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJICBvcGVuc2xlczogTWFrZSBzdXJlIHRvIG9ubHkgZXZlciBjcmVhdGUgYSBzaW5nbGUgZW5naW5lIG9iamVjdAoJICBUaGUgT3BlblNMIEVTIHNwZWMgZGVmaW5lczoKCSAgQW4gaW1wbGVtZW50YXRpb24gc2hhbGwgZW5hYmxlIGNyZWF0aW9uIG9mIGF0IGxlYXN0IG9uZSBzdWNoIG9iamVjdCwgYnV0CgkgIGF0dGVtcHRpbmcgdG8gY3JlYXRlIG1vcmUgaW5zdGFuY2VzIChlaXRoZXIgYnkgYSBzaW5nbGUgYXBwbGljYXRpb24gb3IgYnkKCSAgc2V2ZXJhbCBkaWZmZXJlbnQgYXBwbGljYXRpb25zKSBtYXkgZmFpbC4KCjIwMTItMTAtMzEgMjA6MDA6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBTa2lwIEFyaWNlbnQgY29kZWNzIGZvciBub3cKCSAgVGhlIEhUQyBPbmUgWCBjbGFpbXMgdG8gaGF2ZSBvbmUgKGJ1dCBkb2Vzbid0KSBhbmQgbG9hZGluZwoJICB0aGUgbGlicmFyeSBmb3IgaXQgaGFuZ3MgZm9yZXZlci4KCjIwMTItMTEtMDEgMTM6NTE6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFBvc3Qgc3RyZWFtLXN0YXR1cyBtZXNzYWdlcyBmb3Igb3VyIHJlbmRlciB0aHJlYWQKCjIwMTItMTAtMzEgMTM6NTQ6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IElmIHB1c2hpbmcgYW4gaXRlbSBvbiB0aGUgcXVldWUgZmFpbHMsIGZyZWUgaXQKCSAgT3RoZXJ3aXNlIHdlJ3JlIGdvaW5nIHRvIGxlYWsgdGhlIGl0ZW0uCgoyMDEyLTEwLTMxIDExOjM4OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBvcGVuY3YgcGx1Z2luIGJ1aWxkcyB3aXRoIG5ld2VyIHZlcnNpb25zIHVwIHRvIDIuNC4yIGFzIHdlbGwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzIzNwoKMjAxMi0xMC0zMCAxOTozMDozOCArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBOZWdvdGlhdGUgZm9ybWF0LCBhbHNvIHN1cHBvcnQgbW9yZSByZXNvbHV0aW9ucwoJICBUaGlzIHNob3VsZCBlbmFibGUgc3VwcHJ0IGZvciBvbGQgYW5kIG5ldyBpUGhvbmVzIHdpdGggdGhlIHNhbWUgY29kZS4KCjIwMTItMTAtMzAgMDk6Mjc6MjQgKzAxMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiByZW1vdmVkIHVubmVjZXNzYXJ5IGZpbmFsaXplIGZ1bmN0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODcxNzYKCjIwMTItMTAtMzAgMTA6MjA6MDkgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiBGaXggbGVha3MgZnJvbSBub3QgY2hhaW5pbmcgdXAgaW4gdGhlIGZpbmFsaXplIGZ1bmN0aW9uCgoyMDEyLTEwLTIyIDEyOjM2OjI4ICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICB0c211eDogU2xpZ2h0bHkgcmVmbG93IGNvbGxlY3RlZCBidWZmZXIgaGFuZGxlciBmb3IgY2xhcml0eS4KCjIwMTItMTAtMjYgMTg6Mjk6MzIgKzAyMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPHNlYnBAay1kLXcub3JnPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgdHNkZW11eDogRml4IG5hbWUgb2YgQ0FUIEdzdFN0cnVjdHVyZQoJICBUaGUgc3RydWN0dXJlIHByZXZpb3VzbHkgd2FzIGFzc2lnbmVkIHRoZSBuYW1lICJwYXQiLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2OTQ4CgoyMDEyLTEwLTI4IDE2OjQxOjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBnc3QvYWNjdXJpcC9nc3RhY2N1cmlwLmM6CgkgIGRvY3M6IGFkZCBuZXcgYWNjdXJpcCBlbGVtZW50IHRvIGRvY3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTE2MwoKMjAxMi0xMC0yOCAxNjozNjowMSArMDAwMCAgQ2hyaXN0b3BoZSBGZXJnZWF1IDx0ZXVmQGdub21lLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2FjY3VyaXAvTWFrZWZpbGUuYW06CgkqIGdzdC9hY2N1cmlwL2dzdGFjY3VyaXAuYzoKCSogZ3N0L2FjY3VyaXAvZ3N0YWNjdXJpcC5oOgoJICBhY2N1cmF0ZXJpcDogbmV3IGVsZW1lbnQgZm9yIEFjY3VyYXRlUmlwIGNhbGN1bGF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODUxNjMKCjIwMTItMTAtMjYgMTM6NDg6MDYgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSogZ3N0L214Zi9teGYuYzoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmYWxhdy5jOgoJKiBnc3QvbXhmL214ZmQxMC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSogZ3N0L214Zi9teGZkdi1kaWYuYzoKCSogZ3N0L214Zi9teGZlc3NlbmNlLmg6CgkqIGdzdC9teGYvbXhmanBlZzIwMDAuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkqIGdzdC9teGYvbXhmdXAuYzoKCSogZ3N0L214Zi9teGZ2YzMuYzoKCSAgbXhmOiBQb3J0IG14ZmRlbXV4IHRvIDEuMCBBbHNvIHBvcnRzIG14Zm11eCB0byAxLjAgdG8gdGhlIGV4dGVudCB0aGF0IGl0IGNvbXBpbGVzLCBidXQgaXMgMTAwJSB1bnRlc3RlZCwgc28gcmVtYWlucyBkaXNhYmxlZC4KCSAgQ29uZmxpY3RzOgoJICBnc3QvbXhmL214ZmRlbXV4LmMKCSAgZ3N0L214Zi9teGZtdXguYwoKMjAxMi0xMC0yNSAxOToxMDo0MCArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuaDoKCSAgZGlyZWN0c291bmRzcmM6IEZpeCBhIG51bWJlciBvZiB3YXJuaW5ncy9lcnJvcnMgaW4gZGlyZWN0c291bmRzcmMKCSAgKiBEb24ndCB1c2UgZGVwcmVjYXRlZCBnbGliIG11dGV4IGZ1bmN0aW9ucwoJICAqIERvbid0IGRlY2xhcmUgdXNlbGVzcyB2YXJpYWJsZXMKCSAgKiBEb24ndCBsaW5rIHRvIG5vbi1leGlzdGluZyBsaWJnc3RpbnRlcmZhY2VzCgkgIEZpeGVzICM2ODY4NzEKCjIwMTItMTAtMjUgMTc6NTA6NTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IHVzZSBwYXJzZWQgb3IgdXBzdHJlYW0gZnBzIHRvIHNldCBzb21lIGJhc2VwYXJzZSBwYXJhbWV0ZXJzCgoyMDEyLTEwLTI1IDE4OjAyOjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZXh0cmFjdCBzdHJ1Y3R1cmUgZnJvbSBjb3JyZWN0IGNhcHMKCSAgLi4uIHdoaWNoIGFyZSBrbm93biAhPSBOVUxMLgoKMjAxMi0xMC0yNSAxMTozMTo0MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogcHJlc2VydmUgdXBzdHJlYW0gZnBzIGFuZCBwYXIKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDg2NgoKMjAxMi0xMC0yNSAxNDoyODo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogU3RvcCB1c2luZyBkZXByZWNhdGVkIEdMaWIgdGhyZWFkIEFQSQoKMjAxMi0xMC0yNSAxMjowNjoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEhhbmRsZSBHQVAgZXZlbnRzCgoyMDEyLTEwLTE4IDE2OjIzOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL29wZW5zbGVzL01ha2VmaWxlLmFtOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXMuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmg6CgkgIG9wZW5zbGVzOiBQb3J0IHRvIDEuMAoKMjAxMi0xMC0yMiAxMTo0MTo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQWRkIHN1cHBvcnQgZm9yIGNyb3AgbWV0YWRhdGEKCjIwMTItMTAtMjIgMTE6MTg6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZWdsZ2xlcy9NYWtlZmlsZS5hbToKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IFBvcnQgdG8gMS4wCgoyMDEyLTEwLTIyIDEzOjIxOjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBSZW1lbWJlciBhbmQgdXNlIGlucHV0IHN0YXRlCgoyMDEyLTEwLTE4IDE2OjQxOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5oOgoJICBhbmRyb2lkbWVkaWE6IFBvcnQgdG8gMS4wCgoyMDEyLTEwLTIzIDEyOjEwOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvcGx1Z2luLmM6CgkgIHZjMXBhcnNlOiBHaXZlIHZjMXBhcnNlIGEgcmFuayBvZiBOT05FIGZvciBub3cKCjIwMTItMTAtMTUgMDk6MTI6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmg6CgkgIHZjMXBhcnNlOiBQb3J0IHRvIDEuMAoKMjAxMi0wMi0yMyAxMzo0ODo1NyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IGRpc2FibGUgQkRVIHBhcnNpbmcgdW50aWwgaXQncyBtb3JlIG1hdHVyZQoJICBQYXJzaW5nIGFuZCBzcGxpdHRpbmcgQkRVcyBzZWVtcyB0byB0cmlnZ2VyIGEgZmV3IGJ1Z3MgaW4KCSAgZG93bnN0cmVhbSBkZWNvZGVycyBzbyBkaXNhYmxlIGl0IGZvciBub3cuCgoyMDEyLTEwLTE0IDExOjM5OjU1ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmg6CgkgIHZjMXBhcnNlOiBzZXQgZHVyYXRpb24gb24gb3V0cHV0IGJ1ZmZlcnMKCSAgVGhpcyBoYXMgdGhlIG5pY2Ugc2lkZSBlZmZlY3Qgb2YgYXZvaWRpbmcgaGFuZ2luZyBhdCBFT1Mgd2l0aCB0cnVuY2F0ZWQgYXNmCgkgIGNsaXBzLgoJICBDb25mbGljdHM6CgkgIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYwoKMjAxMi0wMS0zMSAxMTowMzo0NSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IHdvcmthcm91bmQgZm9yIHNpbXBsZS9tYWluIGNvZGVjX2RhdGEgYmVpbmcgNSBieXRlcyBsb25nCgkgIFNvbWV0aW1lcyB0aGUgY29kZWNfZGF0YSBidWZmZXIgZm9yIHNpbXBsZS9tYWluIHB1c2hlZCBieSBhc2ZkZW11eCBpcyA1IGJ5dGVzCgkgIGluc3RlYWQgb2YgNC4gV2hlbiB0aGF0IGhhcHBlbnMsIGNvZGVjX2RhdGEgaXMgc3RpbGwgdmFsaWQgYnV0IGl0IHNlZW1zIHRvIGhhdmUKCSAgb25lIDB4MDAgdHJhaWxpbmcgYnl0ZS4gTWlnaHQgYmUgYSBidWcgaW4gdGhlIGRlbXV4ZXIsIG5lZWRzIG1vcmUgaW52ZXN0aWdhdGlvbi4KCjIwMTItMDEtMzEgMTE6MDI6MTAgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiByZW1vdmUgc3R1YiBzdHJlYW0gY29udmVyc2lvbiBjb2RlCgoyMDEyLTAxLTMxIDExOjAwOjU1ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogYWRkIHNvbWUgbW9yZSBkZWJ1Z2dpbmcgdG8gX3JlbmVnb3RpYXRlCgoyMDEyLTAxLTMxIDEwOjU4OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL3BsdWdpbi5jOgoJICB2YzFwYXJzZTogQWRkIFZDMSBwYXJzZXIgcGx1Z2luCgoyMDEyLTEwLTI1IDEyOjQ2OjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGZlYXR1cmUgZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMC4yID09PQoKMjAxMi0xMC0yNSAwMTo0NDozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMC4yCgoyMDEyLTEwLTI0IDIzOjQwOjIwICswMjAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGZpeGVkIGJ1ZmZlciB1bm1hcHBpbmcgYnVnCgkgIFdoZW4gdGhlIGRlY29kZXIgcmVjZWl2ZWQgYSBOVUxMIGJ1ZmZlciwgaXQgdHJpZWQgdG8KCSAgdW5tYXAgYSBub3QgbWFwcGVkIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjgyOQoKMjAxMi0xMC0yNCAxNDoyMzoyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVxdWlyZSB3YXlsYW5kID49IDEuMC4wCgkgIFdlIGhhdmUgYW4gQVBJIHN0YWJsZSByZWxlYXNlIG5vdywgcmVxdWlyZSB0aGF0LgoKMjAxMi0xMC0yNCAxMzo0MTowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBnMTIzYXVkaW9kZWMuYzoKCSogdGVzdHMvZmlsZXMvTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBmaXggdXAgbXBnMTIzIHRlc3QgYSBsaXR0bGUKCSAgLSBkaXN0IGlucHV0IGZpbGVzCgkgIC0gZml4IHNhbXBsZSBsZWFrCgkgIC0gc2ltcGxpZnkgY2hlY2sgZm9yIGVsZW1lbnRzCgkgIC0gb25seSBydW4gbXBnMTIzIHRlc3QgaWYgbXBnMTIzIGlzIGF2YWlsYWJsZSBhbmQgc2VsZWN0ZWQKCSAgLSBmaXggYnVpbGQgaW4gdW5pbnN0YWxsZWQgc2V0dXAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjU5NQoKMjAxMi0xMC0yNCAxMjozMDoxMCArMDIwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZzEyM2F1ZGlvZGVjLmM6CgkqIHRlc3RzL2ZpbGVzL2Nicl9zdHJlYW0ubXAzOgoJKiB0ZXN0cy9maWxlcy9zdHJlYW0ubXAyOgoJKiB0ZXN0cy9maWxlcy92YnJfc3RyZWFtLm1wMzoKCSAgdGV0czogYWRkIHVuaXQgdGVzdCBmb3IgbXBnMTIzYXVkaW9kZWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjU5NQoKMjAxMi0xMC0yNCAwMDozNjo0MiArMDIwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IGFkZGVkIGd0a2RvYyBzZWN0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY1OTUKCjIwMTItMTAtMjQgMDA6MjI6MDUgKzAyMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiBmaXhlZCBidWcgd2l0aCBsYXN0IGZyYW1lLCBkaXNhYmxlZCBpbnRlcm5hbCByZXNhbXBsZXIgJiBjaGF0dGVyCgkgICogVGhlIGxhc3QgTVAzIGZyYW1lIHdhc24ndCBiZWluZyBwdXNoZWQgd2hlbiBiYXNlIGNsYXNzIHdhcyBkcmFpbmluZwoJICAqIE1hZGUgc3VyZSBtcGcxMjMgY2Fubm90IGV2ZXIgdXNlIGl0cyAoY3J1ZGUpIGludGVybmFsIHJlc2FtcGxlcgoJICAqIERpc2FibGVkIG1wZzEyMyBzdGRlcnIgb3V0cHV0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY1OTUKCjIwMTItMTAtMjQgMDA6MjE6NDUgKzAyMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiBjbGVhbmVkIHVwIGNvbW1lbnRzLCBmb3JtYXR0aW5nLCBhbmQgbG9nZ2luZyBsaW5lcwoJICBhbHNvIHJlcGxhY2VkIG1wZzEyM2RlY29kZXItPmhhbmRsZSAhPSBOVUxMIGNoZWNrcyB3aXRoIGFzc2VydHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjU5NQoKMjAxMi0xMC0yNCAxMTozNDozMiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSAgY3VybHNtdHBzaW5rOiBhZGQgY29tbWVudCBkZXNjcmliaW5nIGZ1bmN0aW9uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY3NzQKCjIwMTAtMDctMDIgMTU6Mjg6NDEgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGNoZWNrIGJhc2VfdGltZSBiZWZvcmUgY2FsY3VsYXRpbmcgbmV3X3N0YXJ0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjMzODcKCjIwMTItMTAtMjMgMTQ6MzM6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBGaXggZXZlbnQgbGVhawoKMjAxMi0xMC0yMyAxNDozMjoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IEZpeCB0aW1lc3RhbXAgdHJhY2tpbmcKCjIwMTItMTAtMjMgMTQ6MDY6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBJbXBsZW1lbnQgTEFURU5DWSBxdWVyeQoKMjAxMi0xMC0yMyAxMzozOToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uaDoKCSAgc2NhbGV0ZW1wbzogU3RvcmUgaW5zdGFuY2UgcHJpdmF0ZSBkYXRhIGluIHRoZSBpbnN0YW5jZSBzdHJ1Y3QKCSAgR2V0dGluZyBpdCBvdmVyIGFuZCBvdmVyIGFnYWluIHZpYSBHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZBVEUoKQoJICBpcyByZWFsbHkgc2xvdy4KCjIwMTItMTAtMjMgMTA6MDc6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSAgaGxzOiBMaW5rIHRvICQoTElCTSkgZm9yIGlzZmluaXRlKCkKCjIwMTItMTAtMjIgMjE6NDE6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgcGl0Y2g6IGZpeCBmb3Igc3RhcnQgdGltZXMgPiAwCgkgIEZpeGVzIGJ1ZmZlcmluZyBhbmQgcGxheWJhY2sgb2Ygc3RyZWFtcyB0aGF0IHN0YXJ0IHdpdGgKCSAgYSBub24tMCB0aW1lc3RhbXAgaW4gdG90ZW0gKHdoaWNoIGhhcyBhICdwaXRjaCcgZWxlbWVudAoJICBiZWZvcmUgcHVsc2VzaW5rKS4KCSAgRXhhbXBsZSBVUkk6IGh0dHA6Ly9sb2Jvc3R2LmxvYm9jYXN0Lm9yZy5lczo4MDA0L2xvYm9zdHYub2dnCgkgIFN0aWxsIGJyZWFrcyB3aXRoIGNoYWluZWQgb2dncywgb24gc2Vjb25kIGNoYWluLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2MzkxCgoyMDEyLTEwLTIyIDEyOjA4OjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJICBvcHVzcGF5OiByZW1vdmUgcG9pbnRsZXNzIGNhcHMgc2VyaWFsaXphdGlvbgoJICBSZW1vdmUgdGhlIGNhcHMgc2VyaWFsaXphdGlvbiBpbiB0aGUgcnRwIGNhcHMuIHRoZSBzcGVjIG5vciB0aGUgcmVjZWl2ZXIKCSAgZG9lcyBhbnl0aGluZyB3aXRoIGl0LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NTQ3CgoyMDEyLTEwLTIyIDEwOjQ1OjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5jOgoJKiBnc3Qvc3ViZW5jL2dzdHdlYnZ0dGVuYy5jOgoJICBzdWJlbmM6IHBvcnQgdG8gMS4wCgoyMDEyLTEwLTIyIDAxOjM5OjEzICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IERvbid0IG1ha2UgdGhlIHNhbWUgYnVmZmVyIHdyaXRhYmxlIHR3aWNlLgoJICBGaXhlcyBCdWcgNjg2MzI3IC0gbXBlZ3RzbXV4OiBmaXggcmVmY291bnQgaXNzdWUgd2l0aCBpbnB1dCBidWZmZXJzCgoyMDEyLTEwLTIwIDE0OjU1OjQxICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkgIHdheWxhbmQ6IHVwZGF0ZSB0byB3YXlsYW5kLXByb3RvY29sIDAuOTkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjUyMAoKMjAxMi0xMC0xOCAyMjoyMzowNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGZvcndhcmQgbm9uLXByb2Nlc3NlZCBkdmQgZXZlbnRzCgkgIC4uLiBzdWNoIGFzIG5vdGFibHkgZHZkLXNwdS1jbHV0LWNoYW5nZS4KCjIwMTItMTAtMTggMjI6MjI6MTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBzZWdtZW50IGV2ZW50IHNob3VsZCBiZSBzZW50IGJlZm9yZSBnYXAgZXZlbnQKCjIwMTItMTAtMTkgMDk6NTk6MTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvbid0IHRyeSB0byByZW5kZXIgZXhwb3NlKCkgaWYgbm8gY2FwcyBhcmUga25vd24geWV0CgoyMDEyLTEwLTE4IDE1OjEyOjIxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggZXhwb3NlCgoyMDEyLTEwLTE5IDAxOjAzOjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkgIHRzZGVtdXg6IGZpeCBwcm9ncmFtIHBhY2tldCBzZXF1ZW5jZSBjb3VudGVyIHBhcnNpbmcgaW4gUEVTIGhlYWRlcgoKMjAxMi0xMC0xOSAwMDo0Nzo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJICB0c2RlbXV4OiBmaXggc29tZSBpbmNvbnNlcXVlbnRpYWwgUEVTIGhlYWRlciBwYXJzaW5nIGlzc3VlcwoJICBhZGRpdGlvbmFsX2NvcHlfaW5mbzogbmVlZCB0byBnZXQgcmlkIG9mIHRoZSBoaWdoZXN0CgkgIGJpdCwgbm90IHRoZSBsb3dlc3Qgb25lCgkgIHByb2dyYW1fcGFja2V0X3NlcXVlbmNlX2NvdW50ZXI6IGFsc28gbmVlZCB0byBnZXQgcmlkCgkgIG9mIHRoZSBoaWdoZXN0IGJpdCBpbnN0ZWFkIG9mIG11bHRpcGx5aW5nIHdpdGggYSByYW5kb20KCSAgdmFsdWUKCSAgb3JpZ2luYWxfc3R1ZmZfbGVuZ3RoOiB3YW50IHRvIEFORCAweDNmIHRvIGV4dHJhY3QgdGhlCgkgIGxvd2VzdCA2IGJpdHMsIG5vdCBtdWx0aXBseSBieSBpdC4KCSAgTm9uZSBvZiB0aGVzZSBmaWVsZHMgYXJlIGFjdHVhbGx5IHVzZWQgdGhvdWdoLCBzbyB0aGVzZQoJICBzaG91bGQgbm90IGhhdmUgY2F1c2VkIGFueSBpc3N1ZXMuCgoyMDEyLTEwLTE3IDE1OjU0OjMyICswMzAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJICB0c2RlbXV4OiBGaXggcGFyc2luZyBQLVNURF9idWZmZXIgaW4gUEVTIGhlYWRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2Mjk0CgoyMDEyLTEwLTE4IDE4OjU2OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICB3YXlsYW5kOiBkb24ndCB0cnkgdG8gYnVpbGQgYWdhaW5zdCAwLjk5IG9yIGxhdGVyCgkgIFRoZSBwbHVnaW4gbmVlZHMgdXBkYXRpbmcgZm9yIHNvbWUgQVBJIGNoYW5nZXMgc2luY2UgMC45NS4KCjIwMTItMTAtMTggMDE6NDc6NTcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBmaXggcG90ZW50aWFsIGNyYXNoIGRlcmVmZXJlbmNpbmcgTlVMTCBwcm9ncmFtIHBvaW50ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjM1OAoKMjAxMi0xMC0xOCAxNTowNjozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIG9wZW5zbGVzOiBPbmx5IGNoZWNrIGZvciB0aGUgbWFpbiBvcGVuc2xlcyBoZWFkZXIKCjIwMTItMTAtMTggMTQ6Mzg6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBlZ2xnbGVzc2luazogUHV0IGludG8gdGhlIG5vdC1wb3J0ZWQgcGx1Z2lucyBsaXN0CgoyMDEyLTEwLTE4IDE0OjI1OjA1ICswMjAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBlZ2xnbGVzc2luazogRG9jdW1lbnRhdGlvbjogSG9vayBlZ2xnbGVzc2luayBkb2N1bWVudGF0aW9uIGluCgoyMDEyLTEwLTE4IDE0OjA5OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBNYWtlIGNvbXBpbGFibGUgb24gZGVza3RvcCBMaW51eCB3aXRoIE1FU0EgdG9vCgoyMDEyLTEwLTE4IDE0OjA3OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZWdsZ2xlcy9NYWtlZmlsZS5hbToKCSAgZWdsZ2xlc3Npbms6IEludGVncmF0ZSBpbnRvIHRoZSBidWlsZCBzeXN0ZW0KCSAgQ29uZmxpY3RzOgoJICBleHQvTWFrZWZpbGUuYW0KCjIwMTItMTAtMTggMTA6NDk6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBkZWJ1ZyBvdXRwdXQKCjIwMTItMTAtMTggMTA6MzI6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFsc28gY2xlYXIgdGhlIHN1cmZhY2Ugb25jZSB3aGVuIHRoZSBidWZmZXIgY29udGVudCBpcyBwcmVzZXJ2ZWQKCjIwMTItMTAtMTggMTA6MjA6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IE9ubHkgZHJhdyBibGFjayBib3JkZXJzIGlmIHRoZSBkZWZhdWx0IHN3YXAgYmVoYXZpb3VyIG9mIHRoZSBzdXJmYWNlIGlzIHRvIGRlc3Ryb3kgdGhlIGJ1ZmZlcgoKMjAxMi0xMC0xOCAwOTozNzo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmVtb3ZlIHVudXNlZCBsYWJlbAoKMjAxMi0xMC0xOCAwMjoyNjoxNyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGYWN0b3IgZGlzcGxheSByZWdpb24gcmVzZXQgdG8gaXRzIG93biBmdW5jCgoyMDEyLTEwLTE4IDAxOjQ1OjUxIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFsd2F5cyBSZXNldCBkaXNwbGF5X3JlZ2lvbi4qIGF0IEVHTC9HTEVTIGN0eCB3aXBlCgoyMDEyLTEwLTE4IDAxOjM2OjQ5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZhY3RvciBFTEcvR0xFUyBjb250ZXh0IGNsZWFudXAgaW50byBpdHMgb3duIGZ1bmMKCjIwMTItMTAtMTggMDA6MzM6MjYgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogRHJvcCBkcmFmdGVkIGZhc3QgcmVuZGVyaW5nIHBhdGggbG9naWMKCjIwMTItMTAtMTcgMTU6NTA6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEFsc28gdXBkYXRlIGhlYWRlciBmaWxlCgoyMDEyLTEwLTE3IDE1OjM3OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBQcm92aWRlIHRoZSB0ZXh0dXJlIHBvc2l0aW9ucyB0byB0aGUgc2hhZGVyIG9uIGV2ZXJ5IGZyYW1lIHRvbwoKMjAxMi0xMC0xNyAxNTowNDoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRHJhdyBibGFjayBib3JkZXJzIGFuZCBhbHNvIHVzZSBhIHNpbmdsZSBHTCBidWZmZXIgZm9yIGFsbCB2ZXJ0aWNlcwoJICBGaXhlcyB3ZWlyZCBhcnRpZmFjdHMgb3V0c2lkZSB0aGUgdmlkZW8gZnJhbWUgb24KCSAgUXVhbGNvbW0gU25hcGRyYWdvbiBjaGlwc2V0cyBhbmQgc2hvdWxkIGJlIGZhc3RlcgoJICB0aGFuIGdsQ2xlYXIoKSBvbiB0aGUgY29tcGxldGUgYXJlYSBhbGwgdGhlIHRpbWUuCgoyMDEyLTEwLTE3IDEyOjQ5OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggbWVtb3J5IGxlYWsKCjIwMTItMTAtMTcgMTA6NDc6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlbW92ZSB1c2VsZXNzIGRlYnVnIG91dHB1dCBhZGRlZCBmb3IgZGVidWdnaW5nIGVhcmxpZXIKCjIwMTItMTAtMTcgMTA6MDg6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IE1ha2Ugd2luZG93IHNldHRpbmcvaGFuZGxpbmcgYSBiaXQgbW9yZSB0aHJlYWRzYWZlCgoyMDEyLTEwLTE3IDA5OjU5OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBQcmludCB3aW5kb3cgaGFuZGxlIGFmdGVyIHNldHRpbmcgaXQKCjIwMTItMTAtMTYgMTc6NTA6MDMgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogTW92ZSBEQVIgcXVlcnkgJiBzdG9yZSB0byBzdXJmYWNlIGluaXQKCSAgVGhlIERBUiAoZGlzcGxheSdzIHBpeGVsIGFzcGVjdCByYXRpbykgc2hvdWxkIHJlbWFpbiBhCgkgIGNvbnN0YW50IGF0IHJ1bnRpbWUgc28gdGhlcmUncyBubyBwb2ludCBvbiByZXBlYXRlZGx5CgkgIHF1ZXJ5IGFuZCBzdG9yZSB0aGlzIHZhbHVlLiBEb2luZyBpdCBhdCBzdXJmYWNlIHNldHVwCgkgIHNob3VsZCBiZSBlbm91Z2guIEFzIGFuIGFkZGVkIGJvbnVzIHRoaXMgY2hhbmdlIHNob3VsZAoJICBtYWtlIHJlbmRlcmluZyBhIGJpdCBmYXN0ZXIuCgoyMDEyLTEwLTE2IDE3OjM1OjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEb24ndCBzaWduYWwgdGhlIEdDb25kIHRvbyBvZnRlbgoKMjAxMi0xMC0xNiAxNzowNTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQWRkIG15c2VsZiBhcyBhdXRob3IKCjIwMTItMTAtMTYgMTY6MjU6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IE1ha2Ugc3VyZSB0byBhbHdheXMgcmVzZXQgdGhlIGRpc3BsYXkgcmVnaW9uIGluIHN0YXJ0KCkKCjIwMTItMTAtMTYgMTY6MjM6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEFsc28gY29tbWl0IG1pc3NpbmcgY2hhbmdlcyB0byB0aGUgaGVhZGVyIGZpbGUKCjIwMTItMTAtMTYgMTY6MTg6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvTWFrZWZpbGUuYW06CgkgIGVnbGdsZXNzaW5rOiBBbHNvIGluY2x1ZGUgJChHU1RfQkFTRV9DRkxBR1MpCgoyMDEyLTEwLTE2IDE2OjEyOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggcmFjZSBjb25kaXRpb24KCjIwMTItMTAtMTYgMTU6NDA6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlZmFjdG9yIHJlbmRlcmluZyBhbmQgYWxsIGNvbnRleHQgc3BlY2lmaWMgR0wgdGhpbmdzIGludG8gYSBzZXBhcmF0ZSB0aHJlYWQKCSAgQWxzbyBmaXhlcyBzb21lIHRocmVhZGluZyByZWxhdGVkIHByb2JsZW1zLgoKMjAxMi0xMC0xNiAxNDozOTo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmUtYWRkIGFjY2lkZW50aWFsbHkgcmV2ZXJ0ZWQgY29tbWl0CgoyMDEyLTEwLTE2IDE0OjE1OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZW1vdmUgdW5uZWVkZWQgZmxvd19sb2NrCgkgIFVzZSB0aGUgb2JqZWN0IGxvY2sgaW4gdGhlIGZldyBwbGFjZXMgbmVjZXNzYXJ5LCBldmVyeXRoaW5nCgkgIGVsc2UgaXMgcHJvdGVjdGVkIGJ5IG90aGVyIHRoaW5ncyBhbHJlYWR5LgoJICBBbHNvIHN0b3JlIHRoZSBjb250ZXh0IGRpcmVjdGx5IGluc2lkZSB0aGUgaW5zdGFuY2Ugc3RydWN0CgkgIGluc3RlYWQgb2YgYWxsb2NhdGluZyBzb21lIG1lbW9yeSBmb3IgaXQuCgoyMDEyLTEwLTE2IDExOjUzOjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggZGVidWcgb3V0cHV0IGFuZCBjb25zdGFudCBuYW1lcwoKMjAxMi0xMC0xNiAxMTo1MToxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogc3RhcnQoKS9zdG9wKCkgaXMgY2FsbGVkIGluIFJFQURZPC0+TlVMTCBpbiBiYXNlc2luawoJICBCdXQgdGhpcyBzaG91bGQgYmUgY2FsbGVkIGluIFBBVVNFRDwtPlJFQURZLgoKMjAxMi0xMC0xNSAxMzo0NDoyOSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggZm9yIG91dGJvdW5kIERBUiByZXBvcnRlZCBieSBFR0wKCSAgU29tZSBFR0wgaW1wbGVtZW50YXRpb25zIGRvbid0IGhvbm9yIHRoZSBzcGVjCgkgIHJlcXVpcmVtZW50IG9mIHJldHVybmluZyBEQVIgdmFsdWVzIGFzIHcvaCAqCgkgIEVHTF9ESVNQTEFZX1NDQUxJTkcuCgkgIFRoaXMgY2hhbmdlc2V0OgoJICAtIEZpeGVzIHJlbmRlcmluZyBvbiB0aGUgU2Ftc3VuZyBHYWxheHkgSUlJCgkgIC0gRml4ZXMgd3JvbmcgY2hlY2sgb24gcmVxdWlyZWQgMS4yIEVHTCB2ZXJzaW9uCgkgIC0gUmVvcmRlcnMgdGhlIGNvZGUgYSBiaXQuCgoyMDEyLTEwLTE1IDEzOjM4OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggY3Jhc2hlcyBpZiB0aGVyZSBhcmUgbm8gRUdMIG9yIEdMRVMgZXh0ZW5zaW9ucwoKMjAxMi0xMC0xMCAxMjo0Mjo0NyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBGaXggY3Jhc2ggYXQgZWxlbWVudCBpbnN0YW50aWF0aW9uCgoyMDEyLTEwLTEwIDEyOjI2OjA0IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEdMU0w6IFNhdmUgb25lIGV4dHJhIHRleHR1cmUgbG9va3VwCgoyMDEyLTEwLTEwIDEyOjIyOjI0IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEdMU0w6IE1pbm9yIG5hbWVkIGluZGV4IGFjY2VzcyB0d2VhayB4eXogLT4gcmdiCgoyMDEyLTEwLTEwIDEyOjE4OjI3IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEdMU0w6IEFzc29ydGVkIGZpeGVzIHRvIG9wdGltaXplZCBjb2RlCgkgIC0gRG9uJ3QgY29weSBvdmVyIG9wb3MgYXMgaXQncyBhbHJlYWR5IGEgdmVjMgoJICAtIEZpeCBpbmRleCBvcmRlciBhY2Nlc3MgYXQgZnJhZ19ZVVkyX1lWWVVfVVlWWV9wcm9nCgoyMDEyLTEwLTEwIDExOjUwOjI4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEdMU0w6IFBsYW5hciBZVVYgY29udmVydGVycyBvcHRpbWl6YXRpb24KCSAgLSBVc2UgY29uc3RzIGZvciB0aGUgdHJhbnNmb3JtJ3Mgb2Zmc2V0IGFuZCBjb2ZmaWNpZW50cyB2YWx1ZXMKCSAgLSBVc2UgZG90IHByb2R1Y3QgaW5zdGVhZCBvZiBtdWx0IGFuZCBhZGQKCSAgLSBBdm9pZCB1bm5lZWRlZCB0ZXh0dXJlIGxvb2t1cHMKCjIwMTItMTAtMTAgMTE6MDU6MDQgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBHZWdsZ2xlc3Npbms6IExTTDogT3B0aW1pemUgZnJhZ19ZVVkyX1lWWVVfVVlWWV9wcm9nCgkgIC0gQXZvaWQgcmVwZWF0ZWRseSBwZXJmb3JtaW5nIHRoZSB0ZXh0dXJlIGxvb2t1cAoJICAtIFVzZSBjb25zdHMgZm9yIHRoZSB0cmFuc2Zvcm0ncyBvZmZzZXQgYW5kIGNvZmZpY2llbnRzIHZhbHVlcwoJICAtIFVzZSB0aGUgZG90IHByb2R1Y3QgaW5zdGVhZCBvZiB0aGUgZXhwbGljaXQgbXVsdCBhbmQgYWRkCgoyMDEyLTEwLTEwIDAzOjAyOjIxIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEdMU0w6IERyb3AgdW5uZWRlZCBueHkgdmVjMgoKMjAxMi0xMC0xMCAwMjoxNjozNSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggbWlzc2luZyBkb3VibGUgcXVvdGF0aW9uIG1hcmsgaW4gR0xTTCBjb2RlCgoyMDEyLTEwLTEwIDAyOjA0OjE4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEdMU0w6IE9wdGltaXplIGZyYWdfQVlVVl9wcm9nCgkgIC0gQXZvaWQgcmVwZWF0ZWRseSBwZXJmb3JtaW5nIHRoZSB0ZXh0dXJlIGxvb2t1cAoJICAtIFVzZSBjb25zdHMgZm9yIHRoZSB0cmFuc2Zvcm0ncyBvZmZzZXQgYW5kIGNvZmZpY2llbnRzIHZhbHVlcwoJICAtIFVzZSB0aGUgZG90IHByb2R1Y3QgaW5zdGVhZCBvZiB0aGUgZXhwbGljaXQgbXVsdCBhbmQgYWRkCgoyMDEyLTEwLTA5IDIzOjM1OjIyIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IERvY3VtZW50YXRpb246IEdzdEVnbEdsZXNTaW5rIHN0cnVjdAoKMjAxMi0xMC0wOSAyMzowNDowNSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBEb2N1bWVudGF0aW9uOiBHc3RFZ2xHbGVzQnVmZmVyIHN0cnVjdCAoRFJBRlQpCgoyMDEyLTEwLTA5IDIyOjU0OjQ4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IERvY3VtZW50YXRpb246IEdzdEVnbEdsZXNJbWFnZUZtdCBzdHJ1Y3QKCjIwMTItMTAtMDkgMjI6NDA6MTkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogRG9jdW1lbnRhdGlvbjogR3N0RWdsR2xlc1JlbmRlckNvbnRleHQgc3RydWN0CgoyMDEyLTEwLTA5IDE3OjAwOjUyIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEFzc29ydGVkIGRvYyBhbmQgcmVvcmRlcmluZyBmaXhlcwoKMjAxMi0xMC0wOSAxNjoyNTo0NiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEb2N1bWVudGF0aW9uOiBFbGVtZW50IHByb3BlcnRpZXMKCSAgQnJpZWYgZXhwbGFuYXRvcnkgY29tbWVudHMgcGx1cyBzb21lIHJlb3JkZXJpbmcKCSAgdG8gZ3JvdXAgZGVmYXVsdCBzZXR0aW5nIG9mIHByb3BlcnRpZXMgYW5kIHJ1bnRpbWUKCSAgZmxhZ3MgdmFsdWVzLgoKMjAxMi0xMC0wOSAxNzoyMDoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWRkIHN1cHBvcnQgZm9yIFlWWVUKCjIwMTItMTAtMDkgMTE6NDg6MDkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRG9jdW1lbnRhdGlvbjogR0xTTCBTaGFkZXJzCgkgIEJyaWVmIGV4cGxhbmF0b3J5IGNvbW1lbnRzIHBsdXMgc29tZSByZXJkZXJpbmcKCSAgdG8gZ3JvdXAgcGFja2VkL3BsYW5hciBjb252ZXJ0ZXJzLgoKMjAxMi0xMC0wOSAxMTowMDoyNCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEb2N1bWVudGF0aW9uOiBFbGVtZW50IG92ZXJ2aWV3CgoyMDEyLTEwLTA4IDEyOjEwOjI1IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlZmFjdG9yIFJFT1JERVIgc2hhZGVyLgoJICBBdm9pZCB1bm5lZWRlZGx5IGNhbGxpbmcgdGV4dHVyZTJEKCkgMyBjb25zZWN1dGl2ZSB0aW1lcy4KCjIwMTItMTAtMDQgMTU6NDc6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBoYW5kbGluZyBvZiBjYXBzIGNoYW5nZXMgYnkgb25seSByZWxlYXNpbmcgd2hhdCBuZWVkcyB0byBiZSByZWxlYXNlZAoJICBBbmQgbm90IHRlcm1pbmF0aW5nIHRoZSBkaXNwbGF5IGNvbm5lY3Rpb24KCjIwMTItMTAtMDQgMDI6MTU6MjQgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogTW92ZSBkaXNwbGF5X3JlZ2lvbiByZXNldCB0byBsb2NrZWQgc2VjdGlvbgoKMjAxMi0xMC0wNCAwMTo1NjoxMCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZXNldCBkaXNwbGF5X3JlZ2lvbiBkaW1zIGF0IGNhcHMgcmVuZWdvCgoyMDEyLTEwLTA0IDAxOjMzOjMxIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IENvc21ldGljcwoKMjAxMi0xMC0wNCAwMToyOTo0MCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEb24ndCBhY2Nlc3MgbG9jYWwgdmFsdWUgZnJvbSBzdHJ1Y3QKCjIwMTItMTAtMDMgMjM6NDE6NTIgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogVGVybWluYXRlIGRpc3BsYXkgY29ubmVjdGlvbiBhdCBjYXBzIHJlbmVnbwoKMjAxMi0xMC0wMiAxNzo1NjoxNCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBDb3NtZXRpY3MKCjIwMTItMTAtMDMgMTI6MzI6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IE9ubHkgYXR0YWNoIHRoZSBjb250ZXh0IG9uY2UgdG8gdGhlIHN0cmVhbWluZyB0aHJlYWQKCjIwMTItMTAtMDMgMTA6NTM6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IE1ha2UgdGhlIGNvbnRleHQgY3VycmVudCBmb3IgdGhlIHRocmVhZCBhbmQgdW5iaW5kIGl0IGFnYWluIGFyb3VuZCBldmVyeSB1c2UKCSAgVGhpcyBmaXhlcyBzb21lIGNyYXNoZXMgYW5kIGxlYWtpbmcgb2Ygb3VyIGNvbnRleHQgaW50byBvdGhlcgoJICBPcGVuR0wgY29kZSBvbiB0aGUgc2FtZSB0aHJlYWQuCgoyMDEyLTEwLTAyIDE3OjI5OjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBJbXByb3ZlIGNsZWFudXAKCjIwMTItMTAtMDIgMTU6NDY6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlbW92ZSB1bnVzZWQgbGFiZWwKCjIwMTItMTAtMDIgMTU6NDI6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFsbG93IHNldHRpbmcgYSBOVUxMIGhhbmRsZQoKMjAxMi0xMC0wMiAwOTo0ODoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmV2ZXJ0ICJEbyBub3QgdXBkYXRlX3N1cmZhY2VfZGltcygpIG9uY2UgcGVyIGZyYW1lIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDgyMTAzMzc2ZWRlMmJjN2M2M2RkNjk5ZjU5ODIxNjg2NjBmNjc4NTIuCgkgIFdlIGhhdmUgdG8gdXBkYXRlIHRoZSBzdXJmYWNlIGRpbWVuc2lvbnMgb24gZXZlcnkgZnJhbWUgdG8KCSAgbWFrZSBzdXJlIHRoYXQgd2UgZ2V0IG5vdGlmaWVkIGFib3V0IHVwZGF0ZXMuIFRoaXMgaGFwcGVucwoJICBmb3IgZXhhbXBsZSBpZiB0aGUgQW5kcm9pZCB3aW5kb3cgZ2V0cyByZS1sYXlvdXRlZCBiZWNhdXNlCgkgIGEgd2lkZ2V0IHRha2VzIG1vcmUgc3BhY2UgdGhhbiBiZWZvcmUuCgoyMDEyLTEwLTAyIDAxOjQzOjM1IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvIG5vdCB1cGRhdGVfc3VyZmFjZV9kaW1zKCkgb25jZSBwZXIgZnJhbWUKCSAgQW5kLi4gVXBncmFkZSBkZWJ1ZyBtZXNzYWdlIHRvIHdhcmdpbmcgb24gd2VpcmQgREFSLgoJICBDb3JyZWN0IGZpeCB0byBhdm9pZCBzcGFtaW5nIHdpdGggdGhpcyBtZXNzYWdlCgkgIG9uY2UgcGVyIGVhY2ggZnJhbWUgaXMgYXZvaWQgY2FsbGluZyB1cGRhdGVfc3VyZmFjZV9kaW1zKCkKCSAgYXQgcmVuZGVyX2FuZF9kaXNwbGF5KCkuIFRoaXMgaXMgaGFuZGxlZCBhdCBlZ2wgc3VyZmFjZQoJICBpbml0LgoKMjAxMi0xMC0wMSAxNjozNjoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQW5kIGRvd25ncmFkZSBhbm90aGVyIHdhcm5pbmcgdG9vCgoyMDEyLTEwLTAxIDE2OjE0OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEb3duZ3JhZGUgR1NUX1dBUk5JTkcgdG8gR1NUX0RFQlVHCgoyMDEyLTEwLTAxIDA5OjQ0OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc29tZSB7fSB0byBpZiBzdGF0ZW1lbnRzIG1ha2UgdGhlbSB3b3JrIGFzIGV4cGVjdGVkCgoyMDEyLTA5LTMwIDIzOjA3OjQ4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERyb3Agc3RhbGUgZGVmaW5lcyBmb3IgbWF4IGZyYW1lIHNpemUKCjIwMTItMDktMzAgMjM6MDY6MTkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogU21hbGwgY29tbWVudGFyeSBmaXhlcyBoZXJlIGFuIHRoZXJlCgoyMDEyLTA5LTI4IDExOjQ4OjIzIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEF2b2lkIHNldHRpbmcgaGVpZ2h0IG9yIHdpZHRoIHR3aWNlCgoyMDEyLTA5LTI3IDAxOjE4OjM3IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IFVzZSBQQVIvREFSIHRvIHNldCB2aWV3cG9ydAoKMjAxMi0wOS0yNyAxNDoyODowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQ29ycmVjdGx5IHJlc2l6ZSBpZiB0aGUgc3VyZmFjZSBkaW1lbnNpb25zIGNoYW5nZQoKMjAxMi0wOS0yNyAxNDowODoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogVXBkYXRlIHN1cmZhY2UgZGltZW5zaW9ucyBvbiBldmVyeSBidWZmZXIKCjIwMTItMDktMjcgMTQ6MDI6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IE1vcmUgY29uc2lzdGVudCBuYW1pbmcgb2Ygc2hhZGVyIHJlbGF0ZWQgdmFyaWFibGVzCgoyMDEyLTA5LTI3IDEzOjU3OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBTb21lIHZhcmlhYmxlIG5hbWUgY2xlYW51cAoKMjAxMi0wOS0yNyAxMzo1Mzo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogUmVtb3ZlIGRlZmF1bHQtd2lkdGgvaGVpZ2h0IHByb3BlcnRpZXMKCSAgVGhlc2UgYXJlIGNvbXBsZXRlbHkgdW5uZWVkZWQKCjIwMTItMDktMjUgMTM6MzI6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBkb3VibGUgZnJlZSgpCgoyMDEyLTA5LTI1IDA5OjA2OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEb24ndCBsZWFrIEVHTC9FUyByZW5kZXIgY29udGV4dAoKMjAxMi0wOS0yNSAwMTozOToyMSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBQdXQgRUdML0dMRVMgY29udGV4dCB2YXJzIG9uIHRoZWlyIG93biBzdHJ1Y3QKCjIwMTItMDktMjQgMTE6MTk6MzIgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9UT0RPOgoJICBlZ2xnbGVzc2luazogU21hbGwgVE9ETyByZWZvcm1hdHRpbmcKCjIwMTItMDktMjQgMTA6MjM6MjggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9UT0RPOgoJICBlZ2xnbGVzc2luazogQWRkIFRPRE8gZmlsZQoKMjAxMi0wOS0yNCAxNDo0Mzo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQ29ycmVjdGx5IGltcGxlbWVudCA6OmV4cG9zZSgpCgkgIFdlIGRvbid0IG5lZWQgdGhlIHBhc3QgYnVmZmVyIGZvciB0aGlzLCB0aGUgb2xkIG9uZSBpcyBzdGlsbCBhdmFpbGFibGUKCSAgYXMgdGV4dHVyZSBhbmQgd2UganVzdCBuZWVkIHRvIGRyYXcgb3VyIHJlY3RhbmdsZSBhZ2Fpbi4KCjIwMTItMDktMjQgMTM6NDg6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEFsbG93IHNldHRpbmcgYW5vdGhlciB3aW5kb3cgZm9yIHRoZSBuZXh0IHRpbWUgd2UgcmVjb25maWd1cmUgZXZlcnl0aGluZwoKMjAxMi0wOS0yNCAxMjozNjoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQWxzbyB1bnJlZiBjdXJyZW50IGNhcHMgYWZ0ZXIgdXNhZ2UKCjIwMTItMDktMjQgMTI6MzI6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEltcGxlbWVudCBzdXBwb3J0IGZvciBjYXBzIGNoYW5nZXMKCjIwMTItMDktMjQgMTI6Mjc6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IE1vcmUgY2xlYW51cCBhbmQgbWFraW5nIHRoZSBlbGVtZW50IHJldXNhYmxlCgoyMDEyLTA5LTI0IDEyOjA1OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBQcm9wZXJseSBpbml0L3JlbGVhc2UgcmVzb3VyY2VzIHdoZW4gZ29pbmcgZnJvbSBOVUxMLT5SRUFEWSBhbmQgdGhlIG90aGVyIHdheSBhcm91bmQKCjIwMTItMDktMjQgMTE6NDg6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEdlbmVyYXRlIHRoZSBzaW5rIGNhcHMgZXhhY3RseSBvbmNlCgoyMDEyLTA5LTI0IDExOjE3OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggY29kZSBzdHlsZSBhIGJpdCB0byBzdG9wIGNvbmZ1c2luZyBpbmRlbnQKCjIwMTItMDktMjQgMTE6MTU6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBzdXBwb3J0IGZvciBZVVkyIGFuZCBVWVZZCgoyMDEyLTA5LTI0IDExOjAxOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBTb21lIHByb3BlcnR5IGNsZWFudXAKCjIwMTItMDktMjQgMTA6NDU6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzdXBwb3J0IGZvciB0aGUgcmVtYWluaW5nIFJHQiBmb3JtYXRzCgoyMDEyLTA5LTI0IDEwOjIzOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc3VwcG9ydCBmb3IgWTQ0NCwgWTQyQiBhbmQgWTQxQiwganVzdCBiZWNhdXNlIGl0J3Mgc28gZWFzeQoKMjAxMi0wOS0yNCAxMDowMjoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWRkIHNvbWUgc2ltcGxlIFRPRE9zCgoyMDEyLTA5LTI0IDAxOjA4OjIyIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IExvY2sgd2hpbGUgYWx0ZXJpbmcgZGlzcGxheSByZWdpb24gY29vcmRzCgoyMDEyLTA5LTI0IDAwOjI3OjIzIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBfZ2V0X2NvbXBhdF9mb3JtYXRfZnJvbV9jYXBzKCkgbG9naWMKCSAgSXQncyBhIGdldHRlciBzbyBpdCBzaG91bGRuJ3QgbWVzc2luZyB3aXRoIHRoZSBzaW5rIGNvbnRleHQuCgkgIEFkZGluZyBpbnN1bHQgdG8gaW5qdXJ5IGl0IHdhcyBzZXR0aW5nIHNlbGVjdGVkX2ZtdCB3aXRob3V0CgkgIGxvY2tpbmcuCgkgIFRoZSBhc3NvY2lhdGVkIGNoYW5nZXMgdG8gdGhlIGJ1ZmZlciBmdW5jdGlvbnMgYXJlIG1lcmVseQoJICBtYWtlLWl0IGJ1aWxkIGZpeGVzLiBUaG9zZSBmdW5jdGlvbnMgYXJlIGJhcmVseSBkcmFmdGVkCgkgIGFuZCBpbiBXSVAgc3RhdGUuCgoyMDEyLTA5LTIzIDIzOjA3OjI5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERyb3AgdW5uZWRlZCBpbml0aWFsIHNldCB0byBOVUxMCgoyMDEyLTA5LTIzIDIyOjMzOjU4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IE1pbm9yIGZvcm1hdHRpbmcgYW5kIGNvbW1lbnQgZml4ZXMKCjIwMTItMDktMjEgMTI6MTI6MjQgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQ2xlYW4tdXAgZ2wvZWdsIGFsbG9jYXRpb25zIGF0IF9zdG9wKCkKCSAgQWxzbywgY29uZGl0aW9uYWx5IGRlc3Ryb3kgd2luZG93IGlmIHRoZSBzaW5rIGNyZWF0ZWQgaXRzIG93bi4KCjIwMTItMDktMjEgMTc6MDg6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzdXBwb3J0IGZvciBOVjEyIGFuZCBOVjIxCgkgIEFsc28gWVVZMiBhbmQgVVlWWSBidXQgdGhpcyBpcyBkaXNhYmxlZCBmb3Igbm93IGFzIGl0CgkgIGRvZXNuJ3Qgd29yayBjb21wbGV0ZWx5IHlldC4gU29tZXRoaW5nIGlzIHdyb25nIHdpdGgKCSAgdGhlIGNocm9tYS4KCjIwMTItMDktMjEgMTU6NDQ6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzdXBwb3J0IGZvciBJNDIwIGFuZCBZVjEyIGNvbG9yIGZvcm1hdHMKCjIwMTItMDktMjEgMTQ6MDU6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFByZXBhcmF0aW9ucyBmb3Igc3VwcG9ydGluZyBtdWx0aXBsZSB0ZXh0dXJlcyBmb3IgbW9yZSBZVVYgZm9ybWF0cwoKMjAxMi0wOS0yMSAxMzo0Mjo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogVXNlIHRoZSBhdHRyaWIgbG9jYXRpb25zIGFzIHJlYWxseSB1c2VkIGluc2lkZSB0aGUgc2hhZGVyCgoyMDEyLTA5LTIxIDEyOjUzOjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZWFsbHkgZGVjb3VwbGUgdmVydGV4IGFuZCB0ZXh0dXJlIHBvc2l0aW9ucyBpbiB0aGUgc2hhZGVyCgoyMDEyLTA5LTIxIDEyOjQ1OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBEZWNvdXBsZSB0ZXh0dXJlIGFuZCB2ZXJ0ZXggcG9zaXRpb25zCgoyMDEyLTA5LTIxIDEyOjE0OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZW9yZGVyIHZlcnRleCB2YWx1ZSBvcmRlciB0byBtYWtlIGEgYml0IG1vcmUgc2Vuc2UKCjIwMTItMDktMjEgMDE6MDk6MTEgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogSGFuZGxlIGZyYW1lIHNjYWxpbmcgdG8gZmlsbCBzdXJmYWNlCgoyMDEyLTA5LTIxIDAwOjA5OjA2IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IERyYWZ0IHNldF9yZW5kZXJfcmVjdGFuZ2xlKCkgZnJvbSB0aGUgeE92ZXJsYXkgaW50ZXJmYWNlCgoyMDEyLTA5LTIwIDIyOjUwOjMxIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlbW92ZSBzdGFsZSBjb21tZW50CgoyMDEyLTA5LTIwIDIyOjQxOjEwIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IE1vdmUgVkJPIHNldHVwIHRvIHNldGNhcHMKCjIwMTItMDktMjAgMjI6MTE6MDggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRG9uJ3QgZG8gY29udGV4dCBvcHMgYXQgcmVuZGVyCgkgIFdlIGRvbid0IG5lZWQgdG8gcmVwZWF0ZWRseSBjYWxsCgkgIGVnbE1ha2VDdXJyZW50KCkgd2hpbGUgdXNpbmcgdGhlCgkgIHNhbWUgY29udGV4dCBhbnl3YXkuCgoyMDEyLTA5LTIwIDIyOjAxOjIwIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvbid0IGNsZWFyIHN1cmZhY2UgY29sb3IgYXQgcmVuZGVyCgoyMDEyLTA5LTIwIDE3OjIyOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZW5hbWUgc2hhZGVyIHZhcmlhYmxlcyB0byBtYWtlIG1vcmUgc2Vuc2UKCjIwMTItMDktMjAgMTc6MTQ6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzdXBwb3J0IGZvciBBWVVWCgoyMDEyLTA5LTIwIDE3OjAyOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZW9yZGVyIGNhcHMgYSBiaXQgdG8gbWFrZSBtb3JlIHNlbnNlCgoyMDEyLTA5LTIwIDE2OjUwOjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBTZXQgcmFuayB0byBQUklNQVJZCgoyMDEyLTA5LTIwIDE2OjI1OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc3VwcG9ydCBmb3IgUkdCQQoKMjAxMi0wOS0yMCAxNjoyMTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQ29ycmVjdGx5IGdlbmVyYXRlZCBjYXBzIGZvciB0aGUgc3VwcG9ydGVkIGZvcm1hdHMKCjIwMTItMDktMjAgMTY6MDg6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCA6OmdldF9jYXBzKCkgdmZ1bmMgdGhhdCByZXR1cm5zIHRoZSBhY3R1YWxseSBzdXBwb3J0ZWQgY2FwcwoKMjAxMi0wOS0yMCAxNTo1Njo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWxzbyByZXF1aXJlIGEgY29uZmlndXJhdGlvbiB3aXRoIEVHTF9TVVJGQUNFX1RZUEUgY29udGFpbmluZyBFR0xfV0lORE9XX0JJVAoKMjAxMi0wOS0yMCAxNDo1MDoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEyLTA5LTE5IDE5OjI2OjU0IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IENsZWFyIHN1cmZhY2UgdG8gYmxhY2sgYnkgZGVmYXVsdAoKMjAxMi0wOS0xOSAxOToyMzo1MCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBNYWtlIHN1cmUgd2UgZ2V0IGEgY29uZmlnIHdlIGNhbiB1c2Ugd2l0aCBHTEVTMgoKMjAxMi0wOS0xOSAxOToxMjozMCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBzZXRfd2luZG93X2hhbmRsZSgpIGhhcyBiZWVuIHRlc3RlZCB0byB3b3JrIG5vdwoKMjAxMi0wOS0xOSAxMjoyOToxMyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBdm9pZCBhdXRvc2NhbGluZyBieSBkZWZhdWx0CgoyMDEyLTA5LTE4IDE0OjU4OjQzIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEF2b2lkIHJlcGVhdGVkbHkgc2V0dGluZyAyRCByZXNpemluZyBwYXJhbXMKCSAgTW92ZWQgdG8gaW5pdGlhbCB0ZXh0dXJlIHNldHVwIHNvIGl0IGhhcGVucwoJICBqdXN0IG9uY2Ugd2hpbGUgb24gdGhlIHNhbWUgY29udGV4dC4KCjIwMTItMDktMTggMTI6MDQ6MjAgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQXZvaWQgaW5pdGlhbGl6aW5nIEVHTCBhdCBfc2V0X3dpbmRvd19oYW5kbGUoKQoJICBfc3RhcnQoKSBzaG91bGQgdGFrZSBjYXJlIG9mIHRoYXQuCgkgIFRoaXMgY2hhbmdlIGFzdW1lcyBfc2V0Y2FwcygpIHdpbGwKCSAgaGFwcGVuIGFsd2F5cyBhZnRlciBfc3RhcnQoKSBpcwoJICBkb25lLgoKMjAxMi0wOS0xOCAxMDo0MzozOCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEb24ndCBhc2sgZm9yIGEgd2luZG93IGlmIHdlIGFscmVhZHkgaGF2ZSBvbmUKCjIwMTItMDktMTggMTA6MzE6MjYgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogRml4IEVHTCBhdHRyaWJzIHZhciBuYW1pbmcKCjIwMTItMDktMTggMDI6MzI6MjUgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IHNsb3cgcGF0aCByZW5kZXJpbmcgb24gQW5kcm9pZAoJICBTcGVjaWZ5IG1pc3NpbmcgYW5kIG1hbmRhdG9yeSBwYXJhbXMgZm9yIG5wb3QKCSAgQmVmb3JlIGNhbGxpbmcgZ2xUZXhJbWFnZTJELgoJICBJbiBwYXJ0aWN1bGFyLCBfV1JBUF9UIGFuZCBfV1JBUF9TIG5lZWQgdG8gYmUKCSAgc2V0IHRvIEdMX0NMQU1QX1RPX0VER0UgdG8gYXZvaWQgYWxsLWJsYWNrCgkgIHJlbmRlcmluZyB3aXRoIG5wb3Qgc2l6ZWQgZnJhbWVzLgoKMjAxMi0wOS0xOCAwMDo1MTozNiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgdGVzdCBvbiB1c2FibGUgZWdsY29uZmlncyByZXR1cm5lZAoKMjAxMi0wOS0xNyAyMzowNToyOSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEcm9wIHN0YWxlIGVycm9yX2xvY2tlZCBsYWJlbAoKMjAxMi0wOS0xNyAyMzowNDowNSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBDbGVhbnVwIHN0YWxlIGNvZGUgY29tbWVudHMKCjIwMTItMDktMTcgMTg6MDA6MTYgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogR2xWaWV3UG9ydCgpIHNob3VsZCB1c2UgYWN0dWFsIHN1cmZhY2Ugc2l6ZQoKMjAxMi0wOS0xNyAxNzoyMToyNiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBdm9pZCByZWluaXRpbmcgRUdMIGFmdGVyIHRoZSBmaXJzdCB0aW1lCgoyMDEyLTA5LTE3IDEzOjQ0OjA5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFVzZSBjb3JyZWN0IHRlbXBsYXRlIGNhcHMKCjIwMTItMDktMTcgMTI6NTQ6MDUgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IG1pc3NpbmcgdGV4dHVyZSBzZXR1cCBiaXRzCgoyMDEyLTA5LTE3IDExOjU3OjI0IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBlcnJvciBjaGVja2luZyBvbiBlZ2xTd2FwQnVmZmVycwoKMjAxMi0wOS0xNyAxMTo0MDo0OSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggc3RhbGUmd3JvbmcgMC41IGFscGhhIGJsZW5kCgoyMDEyLTA5LTE3IDEwOjU2OjE0IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBmbG9hdCBwcmVjaXNpb24gc3BlY2lmaWVyIHRvIGZyYWdtZW50IHNoYWRlcgoJICBUaGlzIGlzIHJlcXVpcmVkIGJ5IEdMRVMgYW5kIGZpeGVzIGNvbXBpbGF0aW9uIG9mIGZyYWdtZW50CgkgIHNoYWRlciBwcm9nLgoKMjAxMi0wOS0xNyAxMDo0NzozOSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgbG9nIHJlcG9ydGluZyBhdCBzaGFkZXIgY29tcGlsYXRpb24gZmFpbHVyZQoKMjAxMi0wOS0xNiAyMjo0MzozOCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc29tZSBtaXNzaW5nIGNoZWNrcyBvbiBzaGFkZXIgb3BzCgkgIC0gQ2hlY2sgd2hldGhlciB0aGVyZSBpcyBzaGFkZXIgY29tcGlsZXIgc3VwcG9ydAoJICBhbmQgYmFpbCBvdXQgb3RoZXJ3aXNlLgoJICAtIEFkZCBjaGVja3Mgb24gY29tcGlsZSBhbmQgbGlua2luZyBvcHMKCjIwMTItMDktMTQgMjA6NDk6NDggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogRml4IHNldHVwIGNoYWluIGxvZ2ljCgkgIE1vc3RseSBhIHByb2NlZHVyYWwgcmVvcmRlcmluZy4gSWRlYSBpcyB0byBhdm9pZAoJICB0cnlpbmcgdG8gc2V0dXAgYSBzdXJmYWNlIHdpdGhvdXQgYSBkaXNwbGF5LlRoaXMKCSAgY2hhbmdlIHJlbGllcyBvbiB0aGUgYXN1bXB0aW9uIHRoYXQ6CgkgIDEuLSBzZXRfd2luZG93X2hhbmRsZSgpIGNhbiBoYXBwZW4gYXQgYW55IHRpbWUKCSAgMi4tIHNldGNhcHMgd2lsbCBuZXZlciBnZXQgY2FsbGVkIGJlZm9yZSBfc3RhcnQoKQoJICBpcyBkb25lLgoJICBJZiBib3RoIGNvbmRpdGlvbnMgYXJlIG1lZXQgdGhlIG5ldyBwcm9jZWR1cmUKCSAgc2hvdWxkIHdvcmsgYXMgZXhwZWN0ZWQuCgoyMDEyLTA5LTE0IDE1OjU5OjA1IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFdJUDogUmVvcmRlciBsb2NraW5nCgoyMDEyLTA5LTEzIDIzOjIzOjA4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCB4T3ZlcmxheSBsb2dpYwoJICBTZXZlcmFsIGZpeGVzIGRlYWxpbmcgd2l0aCBjb3JyZWN0IHdpbmRvdwoJICBjcmVhdGlvbiBhbmQgc2V0X2hhbmRsZSgpIG9wcy4gVGVzdGVkIG9uCgkgIFgxMS9tZXNhIHdpdGggaW50ZXJuYWwgd2luZG93IGNyZWF0aW9uLgoKMjAxMi0wOS0xMyAwMDo1NTozMyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBY3R1YWxseSB0ZXN0IEVHTCBjb25maWdzIGJlZm9yZSBjbGFpbWluZyBzdXBwb3J0CgoyMDEyLTA5LTEzIDAwOjExOjQ5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IENhcHMgbmVnbyBFR0wgZml4ZXMKCSAgLSBGaXggYWxsb2MgbG9sIG9uIGZvcm1hdCBsaXN0OiBBc2tlZCBmb3IgMiBzbGljZXMgYW5kIHVzZWQgMy4KCSAgLSBSZW9yZGVyZWQgZGlzcGxheSAmIGNvbnRleHQgaW5pdCBsb2dpYyB0byBwcmVwYXJlIGZvciBhY3R1YWwKCSAgY29uZmlnIGNoZWNraW5nIGJlZm9yZSBjbGFpbWluZyBzdXBwb3J0IGZvciBhIGdpdmVuIGZvcm1hdC4KCSAgQ2hhbmdlIGRlYWxzIGJhc2ljYWxseSB3aXRoIHNldHRpbmcgdXAgRUdMIGRpc3BsYXkgYXQgc3RhcnQoKQoJICBhbmQgY2hvb3NlIGFuIEVHTCBjb25maWcgb25seSBhdCBzZXRjYXBzIHRpbWUuCgoyMDEyLTA5LTEyIDIyOjExOjM5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IENhcHMgbmVnby4gU3RhcnQgZXh0ZW5kaW5nIFJHQiBzdXBwb3J0IHRvIGEgc2V0LgoKMjAxMi0wOS0xMiAxNjoxOTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9NYWtlZmlsZS5hbToKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBidWlsZCBvZiBzdGF0aWMgcGx1Z2luCgoyMDEyLTA5LTEyIDA5OjI4OjIyIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERyb3Agd3JvbmcgZm9ybWF0IHRlc3Qgb24gX3NldGNhcHMgKGRyYWZ0IGxlZnRvdmVyKQoKMjAxMi0wOS0xMSAxMzo1NDowOSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBTdXBwb3J0IFJHQjI0IGJ5IGRlZmF1bHQKCjIwMTItMDktMTEgMTM6NTE6MjUgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogSW5zdHJ1bWVudCBFR0wgZXJyb3IgcmVwb3J0aW5nCgoyMDEyLTA5LTExIDEyOjA0OjMwIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IENvcnJlY3RseSByZXR1cm4gR3N0Rmxvd1JldHVybiBmcm9tIHJlbmRlcl9hbmRfZGlzcGxheSgpCgoyMDEyLTA5LTExIDExOjUxOjI4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IE1vdmUgVkJPIHNldHVwIHRvIGl0J3Mgb3duIGZ1bmN0aW9uCgoyMDEyLTA5LTExIDEwOjIwOjE2IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCByZW5kZXJfYW5kX2Rpc3BsYXkgbG9naWMKCSAgU3dpdGNoIHByb2NlZHVyZSBhY2NvcmRpbmcgdG8gZW5hYmxlZCByZW5kZXJpbmcgcGF0aAoKMjAxMi0wOS0xMCAyMjo1OTo1NyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggc2FtcGxlIGxhdW5jaCBsaW5lIHdpdGggZGlzYWJsZWQgd2luZG93IGNyZWF0aW9uCgoyMDEyLTA5LTEwIDIyOjQxOjUyIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IFJlbmFtZSBzdGFsZSBhbmRyb2lkIGxlZnRvdmVyCgoyMDEyLTA5LTEwIDIwOjIyOjIyIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvTWFrZWZpbGUuYW06CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkqIGV4dC9lZ2xnbGVzL2dzdHZpZHJvaWRzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdHZpZHJvaWRzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBNb3ZlIGVnbGdsZXMgU2luayB0byBleHQvICMyCgoyMDEyLTA5LTEwIDIwOjAwOjU3IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvQW5kcm9pZC5tazoKCSogZXh0L2VnbGdsZXMvTWFrZWZpbGUuYW06CgkqIGV4dC9lZ2xnbGVzL2dzdHZpZHJvaWRzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdHZpZHJvaWRzaW5rLmg6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5oOgoJICBlZ2xnbGVzc2luazogTW92ZSBlZ2xnbGVzIFNpbmsgdG8gZXh0LwoKMjAxMi0xMC0xOCAxNDowMzozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIG9wZW5zbGVzOiBBZGQgdGhlIG9wZW5zbGVzIHBsdWdpbiB0byB0aGUgbGlzdCBvZiBub3QgcG9ydGVkIHBsdWdpbnMKCjIwMTItMTAtMTggMTM6NTY6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9vcGVuc2xlcy9NYWtlZmlsZS5hbToKCSAgb3BlbnNsZXM6IEludGVncmF0ZSBpbnRvIGJ1aWxkIHN5c3RlbQoKMjAxMi0xMC0xMiAxMDowODo1OSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlc3Npbms6IFJldHVybiAwIGRlbGF5IGlmIHRoZSBwbGF5ZXIgb2JqZWN0IGlzIGluIFBBVVNFRCBzdGF0ZQoKMjAxMi0xMC0wMSAxMjo1NDoxNSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkgIG9wZW5zbGVzOiBmaXhlcyBub2lzZSBvbiBzZWVrZWluZwoKMjAxMi0xMC0wMSAxMTo0Njo1MCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlczogY2hhaW4gdXAgb24gX2NsZWFyX2FsbAoKMjAxMi0xMC0wMSAxMToxNDoyNCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkgIG9wZW5zbGVzOiBpbXBsZW1lbnQgdGhlIHJpbmdidWZmZXIgY2xlYXJfYWxsIHZtZXRob2QgdG9vCgoyMDEyLTEwLTAxIDEwOjU5OjA4ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5jOgoJICBvcGVuc2xlczogaW5pdGlhbCBhdHRlbXB0IHRvIHJlZHVjZSB0aGUgc3JjIGxhdGVuY3kKCjIwMTItMDktMjkgMTk6MDA6MTMgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5jOgoJICBvcGVuc2xlczogc3ByaW5rbGUgY29tbWVudHMgYW5kIGNvc21ldGljIGZpeGVzCgoyMDEyLTA5LTI4IDE1OjEwOjE5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzOiBjaGVjayBmb3IgZGV2aWNlIG91dHB1dHMgaW4gdGhlIG1peGVyCgoyMDEyLTA5LTI4IDE0OjM5OjAxICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkgIG9wZW5zbGVzOiBkcm9wIDQ4a0h6IHNhbXBsZSByYXRlCgkgIE9wZW5TTCBFUyBpbXBsZW1lbnRhdGlvbiBpbiBBbmRyb2lkIGlzIGp1c3QgYSAnZmFjYWRlJyBBUEkgb24gdG9wIG9mCgkgIEF1ZGlvRmxpbmdlciB3aGljaCB3aWxsIGRvd25zYW1wbGUgNDhrSHogaW50byA0NC4xa0h6IGJlZm9yZQoJICBkZWxpdmVyaW5nIHRoZSBhdWRpbyB0byB0aGUgdW5kZXJsYXlpbmcgaGFyZHdhcmUuCgkgIFdlIGZvdW5kIHRoYXQgaXQgc3VmZmVyIHNvbWUgc29ydCBvZiB1bmRlcnJ1biB3aGVuIHRoZSBkb3duc2FtcGxlCgkgIGVudGVycyBpbiBhY3Rpb24gc28gcmVsYXkgb24gb3VyIGdvb2QgcmVzYW1wbGVyIHRvIHRha2UgY2FyZSBvZiB0aGF0CgkgIGFuZCBmaXggdGhlIGNsaWNrcyBpc3N1ZS4gQW5kIGdldCBhbiBleHRyYSBib251cyBvZiBhIGxvd2VyIGxhdGVuY3kuCgoyMDEyLTA5LTI3IDE5OjI0OjUwICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkgIG9wZW5zbGVzOiBjaGFuZ2UgdGhlIGRlZmF1bHRzIHRvIHVzZSAyMCBtcyByaW5nYnVmZmVyIHNlZ21lbnRzCgkgIEluIG15IG5leHVzNyBzZWVtcyB0aGF0IHRoZSBpbnRlcm5hbCBtaW4gYnVmZmVyIHNpemUgaXMgMjAgbXMgc28gbWFrZQoJICBvdXIgc2VnbWVudHMgbWF0Y2guCgoyMDEyLTA5LTI3IDE4OjMzOjA5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSAgb3BlbnNsZXM6IGVuc3VyZSB0aGF0IHdlIHJlZ2lzdGVyIHRoZSBjYWxsYmFjayBvbmx5IGluIFNUT1BQRUQKCSAgRml4ZXMgdGhlIGVycm9yIHJlZ2lzdGVyaW5nIHRoZSBjYWxsYmFjayBvbiB0aGUgUExBWUlORyAtPiBQQVVTRSAtPgoJICBQTEFZSU5HIHN0YXRlIGNoYW5nZSBzZXF1ZW5jZS4KCjIwMTItMDktMjcgMTc6NDY6MjcgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXM6IGNhcCBxdWV1ZSBzaXplCgkgIEp1c3QgaW4gY2FzZSB3ZSB3YW50IHRvIHR3ZWFrIHRoZSBzaW5rIGJlaGF2aW91ciB3aXRoIGJ1ZmZlci10aW1lIGFuZAoJICBsYXRlbmN5LXRpbWUgcHJvcGVydGllcyBjYXAgdGhlIHF1ZXVlIHNpemUgdG8gc29tZXRoaW5nIHJlYXNvbmFibGUuCgoyMDEyLTA5LTI3IDE3OjMyOjE0ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkgIG9wZW5zbGVzOiBzaW5rIHRvIHByb3ZpZGUgdGhlIGF1ZGlvY2xvY2sgYnkgZGVmYXVsdAoKMjAxMi0wOS0yNyAxNzoyNzoyNCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlczogb25seSBkcmFpbiBoYWxmIHJpbmdidWZmZXIgb24gc3RhcnQKCSAgQXQgc3RhcnQgZHJhaW4gaGFsZiByaW5nYnVmZmVyIGludG8gdGhlIE9wZW5TTCBzbyB0aGUgd3JpdHRpbmcvcmVhZGluZwoJICBwb2ludGVycyB3aWxsIHN0YXJ0IGF0IGhhbGYgcmluZ2J1ZmZlciBkaXN0YW5jZS4KCjIwMTItMDktMjcgMTQ6NTI6NTkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXM6IG1vbml0b3Igc29tZSBwbGF5ZXIgZXZlbnRzCgoyMDEyLTA5LTI3IDA3OjIyOjQ3ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSAgb3BlbnNsZXM6IHJld29yayBhcm91bmQgdGhlIF9kZWxheSBmdW5jdGlvbgoKMjAxMi0wOS0yNyAwNTo0MDo0NiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkgIG9wZW5zbGVzOiBpbXBsZW1lbnQgX2RlbGF5IGZ1bmN0aW9uCgoyMDEyLTA5LTI3IDA0OjAwOjI4ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSAgb3BlbnNsZXM6IHJlZmFjdG9yIHRvIGJlaGF2ZSBtb3JlIGxpa2Ugb3RoZXIgc2lua3MKCSAgUmVmbGVjdCB0aGUgcXVldWUgaW4gb3VyIG93biBkYXRhIGJ1ZmZlci4KCSAgRHJvcCB0aGUgX2NvbW1pdCBob29rIHRoYXQgd2Fzbid0IHVzZWZ1bGwuCgkgIERvbid0IG1lc3Mgd2l0aCB0aGUgc2Vnc2l6ZS9zZWd0b3RhbC4KCjIwMTItMDktMjYgMTQ6MDE6MTcgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXM6IHJlYWQgcGxheWVyIHBvc2l0aW9uIGFuZCBzaG93IGl0IGluIHRoZSBsb2cKCjIwMTItMDktMjYgMTI6NTA6NDIgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSAgb3BlbnNsZXM6IGRvIG5vdCBwcm92aWRlIGEgY2xvY2sgaW4gdGhlIHNpbmsgZWxlbWVudC4KCjIwMTItMDktMjYgMTI6MzI6NDQgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXM6IHJld29yayBvbiBzdGFydC9zdG9wIG9wZXJhdGlvbnMgYW5kIGNhbGxiYWNrIGZ1bmN0aW9uIGhhbmRsaW5nCgoyMDEyLTA5LTI2IDEyOjA5OjA0ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkgIG9wZW5zbGVzOiBmaXhlcyA4IGJpdCBmb3JtYXQgd2hpY2ggaXMgdW5zaWduZWQgb24gYW5kcm9pZC4KCjIwMTItMDktMjUgMTk6MjU6MDEgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXM6IGF0dGVtcHQgdG8gcmVkdWNlIHBsYXliYWNrIGxhdGVuY3kKCjIwMTItMDktMjUgMTg6MDQ6MjcgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJICBvcGVuc2xlczogZHJvcCBfYnVmZmVyX2NsZWFyIGNhbGxzIGFuZCByZWZhY3RvciB0byBhIHNoYXJlZCBfZW5xdWV1ZV9jYgoKMjAxMi0wOS0yMSAxNzowNDoxNCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlczogdXNlIDAuMjVzIHNlZ21lbnRzIGluIHRoZSBzaW5rIHRvIGxvd2VyIGxhdGVuY3kKCjIwMTItMDktMjEgMTY6MTE6NDIgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmM6CgkgIG9wZW5zbGVzOiBmaW5pc2ggcmVtYWluaW5nIGJpdHMgZm9yIHNvdXJjZSBlbGVtZW50LgoKMjAxMi0wOS0yMSAxNDoxNToxMiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJICBvcGVuc2xlczogYXR0ZW1wdCB0byBxdWVyeSBkZXZpY2UgZm9yIGNhcGFiaWxpdGllcwoKMjAxMi0wOS0yMCAxODo0MTo1MCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuYzoKCSAgb3BlbnNsZXM6IGFkZCB0aGUgbXV0ZSBwcm9wZXJ0eSBhbmQgaGFuZGxlIHZvbHVtZS9tdXRlIGNoYW5nZXMgb24gdGhlIGZseQoKMjAxMi0wOS0yMCAxODowNDoyOSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5oOgoJICBvcGVuc2xlczogbWFrZSB0aGUgdm9sdW1lIHByb3BlcnR5IGFjdHVhbGx5IHdvcmsKCjIwMTItMDktMjAgMTQ6MTY6MjUgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJICBvcGVuc2xlczogcmV3b3JrIG9uIHRoZSByaW5nYnVmZmZlciB0byBwcm9wZXJseSBjbGVhciBzZWdtZW50cwoJICBNYWtlIHRoZSBzZWdtZW50cyBiaWdnZXIgKDEgc2Vjb25kKSBhcyBpdCBzZWVtcyB0byBiZSB0aGUgbWluaW11bSBzaXplCgkgIHdlIG5lZWQgdG8gbm90IGludHJvZHVjZSBub2lzZS4KCSAgU2luayB3b3JrcyBpbiBteSBuZXh1cyA3IHdpdGggcmF0ZXMgZnJvbSA4MDAwIHRvIDQ0MTAwIGFuZCBzb21lIG5vaXNlCgkgIGNhbiBiZSBub3RpY2VkIG9uIGhpZ2dlciBzYW1wbGUgcmF0ZXMuCgoyMDEyLTA5LTIwIDExOjUwOjUwICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXMuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmg6CgkgIG9wZW5zbGVzOiBmaXhlcyB0aGUgbGljZW5zZSBoZWFkZXJzCgoyMDEyLTA5LTIwIDEwOjQxOjUwICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzOiBwcm9kdWNlcyBleHBlY3RlZCBvdXRwdXQgdW50aWwgcmluZ2J1ZmZlciB3cmFwcwoJICBBZGQgc29tZSBsb2cgbWVzc2FnZXMuCgkgIEZpeGVkIGEgYml0IHRoZSBfcGxheWVyX2NiIGZ1bmN0aW9uIGFuZCBwcm9wZXJseSBhZHZhbmNlIHJlZGluZyBpbiB0aGUKCSAgcmluZ2J1ZmZlci4KCSAgU3RpbGwgcHJvZHVjZXMgbm9pc2Ugd2hlbiB0aGUgcmluZ2J1ZmZlciB3cmFwcy4KCjIwMTItMDktMTkgMTg6MTE6NTQgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9NYWtlZmlsZS5hbToKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5oOgoJICBvcGVuc2xlczogQWRkIGluaXRpYWwgZHJhZnQgaW1wbGVtZW50YXRpb24gb2YgT3BlblNMIEVTIHBsdWdpbi4KCSAgSW5pdGlhbCBkcmFmdCBpbXBsZW1lbnRhdGlvbiBmb3IgYSBPcGVuU0wgRVMgYmFzZWQgcGx1Z2luIGZvciBBbmRyb2lkCgkgIHRoYXQgcHJvdmlkZXMgYXVkaW8gc3JjIGFuZCBzaW5rLgoKMjAxMi0xMC0xOCAwOToyNDoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvTWFrZWZpbGUuYW06CgkgIGFuZHJvaWRtZWRpYTogVXNlIGNvcnJlY3QgdmFyaWFibGUgbmFtZSBpbiBNYWtlZmlsZS5hbQoKMjAxMi0xMC0xNyAyMjo1NDoyOCArMDMwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSAgZGlyZWN0c291bmRzcmM6IEZpeCBjb21waWxlciB3YXJuaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzM0MTQKCjIwMTItMTAtMTcgMTc6MzQ6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkqIGV4dC9iejIvZ3N0YnoyZW5jLmM6CgkqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5jOgoJKiBleHQvY29nL2dzdGNvZ2Rvd25zYW1wbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dzY2FsZS5jOgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZpbGVzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxodHRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHRsc3NpbmsuYzoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmNjOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NyYy5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc3JjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZGVjLmM6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOgoJKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkqIGV4dC9uYXMvbmFzc2luay5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvb2ZhL2dzdG9mYS5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNpbmsuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzcmMuYzoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJKiBleHQvc25kZmlsZS9nc3RzZnNpbmsuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzcmMuYzoKCSogZXh0L3NuZGlvL3NuZGlvc2luay5jOgoJKiBleHQvc25kaW8vc25kaW9zcmMuYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbnBsYy5jOgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5jOgoJKiBnc3QvYXVkaW9idWZmZXIvZ3N0YXVkaW9yaW5nYnVmZmVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b3ZpZGVvY29udmVydC5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3R2Y2RwYXJzZS5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuYzoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hlY2tzdW1zaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNob3BteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Z3NweS5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSogZ3N0L2ZyZWV2ZXJiL2dzdGZyZWV2ZXJiLmM6CgkqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0YnVsZ2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RkaWZmdXNlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1hcmJsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1pcnJvci5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cm90YXRlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3BoZXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3RyZXRjaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR1bm5lbC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0d2F0ZXJyaXBwbGUuYzoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmM6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4LmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2dzdGpwMmtkZWNpbWF0b3IuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L212ZS9nc3RtdmVkZW11eC5jOgoJKiBnc3QvbXZlL2dzdG12ZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkqIGdzdC9wYXRjaGRldGVjdC9nc3RwYXRjaGRldGVjdC5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdGlydHNwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS9nc3RyZW1vdmVzaWxlbmNlLmM6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSogZ3N0L3NkaS9nc3RzZGlkZW11eC5jOgoJKiBnc3Qvc2RpL2dzdHNkaW11eC5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3RhdWRpb3NlZ21lbnRjbGlwLmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3R2aWRlb3NlZ21lbnRjbGlwLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmM6CgkqIGdzdC9zdWJlbmMvZ3N0d2VidnR0ZW5jLmM6CgkqIGdzdC90dGEvZ3N0dHRhZGVjLmM6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3RzY2VuZWNoYW5nZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHplYnJhc3RyaXBlLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJKiBzeXMvYWNtbXAzZGVjL2FjbW1wM2RlYy5jOgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5jcHA6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOgoJKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc2luay5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNyYy5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zcmMuYzoKCSogc3lzL3B2cjJkL2dzdHB2cnZpZGVvc2luay5jOgoJKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJKiBzeXMvdmNkL3ZjZHNyYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdHZkcG1wZWc0ZGVjLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5jOgoJKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBVc2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X3N0YXRpY19tZXRhZGF0YSgpCgkgIHdoZXJlIHBvc3NpYmxlLiBBdm9pZHMgc29tZSBzdHJpbmcgY29waWVzLiBBbHNvIHJlLWluZGVudAoJICBzb21lIHN0dWZmLiBBbHNvIHNvbWUgaW5kZW50IGZpeGVzIGhlcmUgYW5kIHRoZXJlLgoKMjAxMi0wNC0wMyAxMjowOToxOSArMDMwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJICBkaXJlY3Rzb3VuZHNyYzogcG9ydCB0byAxLjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MzQxNAoKMjAxMi0xMC0xNiAxMTozODowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgoyMDEyLTEwLTE2IDExOjM0OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgUmV2ZXJ0ICJjb25maWd1cmU6IGZpeCBidWlsZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA1YzFjMzUyOTBkN2Y3MmE0YmMwMTZlOGFlZjI3NmQ4YzFiZGNmMzdiLgoKMjAxMi0xMC0xNiAxMTozMTo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL01ha2VmaWxlLmFtOgoJICBhbmRyb2lkbWVkaWE6IEFkZCBtaXNzaW5nIGZpbGUKCjIwMTItMTAtMTYgMTE6MzI6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IGJ1aWxkCgoyMDEyLTEwLTE1IDE2OjM1OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogUmVuYW1lIHBsdWdpbgoKMjAxMi0xMC0xNSAxNjoyOTowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGFuZHJvaWRtZWRpYTogQWRkIHRvIHRoZSBub3QgeWV0IHBvcnRlZCBwbHVnaW5zCgoyMDEyLTEwLTE1IDE2OjA1OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5oOgoJICBhbmRyb2lkbWVkaWE6IE1ha2UgZXZlcnl0aGluZyBidWlsZGFibGUKCjIwMTItMTAtMTUgMTQ6MzY6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgRG9uJ3QgdHJ5IHRvIHVzZSB0aGUgTlZpZGlhIERSTSBjb2RlY3MKCjIwMTItMTAtMDkgMTA6NTY6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIFRyeSB0byBoYW5kbGUgZm9ybWF0IGNoYW5nZXMgbW9yZSBncmFjZWZ1bGx5CgkgIEFuZCBtYWtlIHN0b3AoKSBmYXN0ZXIgYW5kIG1vcmUgcm9idXN0CgoyMDEyLTEwLTA5IDEwOjI3OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5oOgoJICBBZGQgd29ya2Fyb3VuZCBmb3IgR29vZ2xlIE1QMyBkZWNvZGVyIG91dHB1dHRpbmcgZ2FyYmFnZSBpbiBmaXJzdCBvdXRwdXQgYnVmZmVyCgkgIEFuZCBhc3N1bWUgb25lIGRlY29kZWQgaW5wdXQgZnJhbWUgcGVyIG91dHB1dCBidWZmZXIgdG8gZml4IHRpbWVzdGFtcAoJICBoYW5kbGluZyBieSB0aGUgYmFzZSBjbGFzcy4KCjIwMTItMTAtMDkgMTA6MTQ6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBBbHNvIGFkZCBzb21lIG1vcmUgb3V0cHV0IGZvcm1hdCBjaGVja3MgdG8gdGhlIGF1ZGlvIGRlY29kZXIKCjIwMTItMTAtMDkgMTA6MTM6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBDaGVjayBvdXRwdXQgZm9ybWF0IG1ldGFkYXRhIHNvbWUgbW9yZQoJICBBbmQgaW1wbGVtZW50IHdvcmthcm91bmQgZm9yIE5WaWRpYSBUZWdyYSAzIG5vdCBzZXR0aW5nIHRoZSBzbGljZV9oZWlnaHQuCgkgIFRoYW5rcyB0byBKb3NlcCBUb3JyYSBmb3IgZGVidWdnaW5nIHRoaXMgaXNzdWUuCgoyMDEyLTEwLTA1IDE1OjA5OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIEFkZCBzb21lIG1vcmUgZGVmYXVsdCBjaGFubmVsIGxheW91dHMsIHRoZXNlIHNob3VsZCBiZSBnb29kIGZvciBBQUMgYXQgbGVhc3QKCjIwMTItMTAtMDUgMTQ6NTY6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBEb24ndCBzZXQgdGltZXN0YW1wcywgdGhlIGJhc2VjbGFzcyBoYW5kbGVzIHRoaXMgZm9yIHVzIGFueXdheQoKMjAxMi0xMC0wMyAxMDowNjowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIExpc3QgcHJvZmlsZXMgaW4gcmV2ZXJzZSB0byBtaW5pbWl6ZSBjYXBzCgoyMDEyLTEwLTAzIDA5OjU2OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgSXRlcmF0ZSBsZXZlbHMgaW4gcmV2ZXJzZSBvcmRlciB0byBtaW5pbWl6ZSBjYXBzCgoyMDEyLTEwLTAzIDA5OjUxOjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBNZXJnZSBzdHJ1Y3R1cmVzIGludG8gY2FwcyBpbnN0ZWFkIG9mIGFwcGVuZGluZyB0aGVtCgoyMDEyLTA5LTI1IDEwOjMyOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBVc2Ugb3JjX21lbWNweSgpIGluc3RlYWQgb2YgbWVtY3B5KCkgYXMgaXQgc2hvdWxkIGJlIGZhc3RlciBmb3IgbGFyZ2VyIG1lbW9yeSBhcmVhcwoKMjAxMi0wOS0yNCAxNTozMjo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIEFkZCBzdXBwb3J0IGZvciBhdWRpby9tcGVnLUwyIGZvciB0aGUgTmV4dXMgNwoKMjAxMi0wOS0yNCAxNToxNDowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEFkZCBzdXBwb3J0IGZvciBNUEVHMS8yIHZpZGVvCgoyMDEyLTA5LTE5IDE0OjUyOjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIElnbm9yZSB0aGUgKmxhdyBhbmQgVm9yYmlzIGRlY29kZXJzCgkgIFRoZXkgYXJlIGJyb2tlbiB1bmZvcnR1bmF0ZWx5LgoKMjAxMi0wOS0xOSAxMToyMDoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEFkZCBGSVhNRSBjb21tZW50IGZvciBub3QgaGFuZGxpbmcgb2RkIHdpZHRocy9oZWlnaHQgd2l0aCB0aGUgVEkgaGFyZHdhcmUgZGVjb2RlcnMKCSAgTXVzdCBsaWtlbHkgYW4gaXNzdWUgd2l0aCB0aGUgY29kZWMgaXRzZWxmIHRob3VnaC4KCjIwMTItMDktMTkgMDk6NDc6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBGaXggaGFuZGxpbmcgb2YgSTQyMCBidWZmZXJzIHdpdGggb2RkIHdpZHRoCgoyMDEyLTA5LTE4IDE1OjM4OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgT25seSBtcGVndmVyc2lvbj00IGlzIHN1cHBvcnRlZCBmb3IgQUFDCgoyMDEyLTA5LTE4IDE1OjI4OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBSZW1vdmUgc29tZSBvYnNvbGV0ZSBGSVhNRXMKCjIwMTItMDktMTcgMTM6NDY6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEZpeCBmbHVzaGluZyBsb2dpYyB0byB1bmJyZWFrIGhhbmRsaW5nIG9mIGZsdXNoaW5nIHNlZWtzCgoyMDEyLTA5LTE3IDEyOjI0OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgRml4IGNocm9tYSBzdHJpZGUgZm9yIEk0MjAgc3RyaWRlL2Nyb3AgY29udmVyc2lvbgoKMjAxMi0wOS0xNyAxMToyODo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIEZpeCBWb3JiaXMgZGVjb2RpbmcKCjIwMTItMDktMTQgMTY6MTc6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIFdhaXQgYXQgbW9zdCAxMDBtcyBmb3IgZGVxdWV1ZWluZyBhIGJ1ZmZlciwgYW5kIHJldHJ5IGFmdGVyIHRoYXQKCSAgU29tZSBjb2RlY3MgZG9uJ3QgZmFpbCB0aGUgZGVxdWV1ZWluZyBpZiB0aGUgY29kZWMgaXMgZmx1c2hlZCwKCSAgY2F1c2luZyBkZWFkbG9ja3Mgd2hlbiBzaHV0dGluZyBkb3duIHRoZSBlbGVtZW50LgoKMjAxMi0wOS0xNCAxNjoxMTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgUmVsZWFzZSBvdXRwdXQgYnVmZmVycyBhIGJpdCBlYXJsaWVyCgoyMDEyLTA5LTE0IDE2OjExOjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgS2VlcCBhbm90aGVyIHJlZmVyZW5jZSBvZiB0aGUgaW5wdXQgYnVmZmVyIGluIGhhbmRsZV9mcmFtZSgpCgkgIEl0IG1pZ2h0IGJlIHVucmVmZmVkIGluIHRoZSBtZWFudGltZSBieSB0aGUgb3RoZXIgdGhyZWFkIGR1ZQoJICB0byBmaW5pc2hfZnJhbWUoKS4KCjIwMTItMDktMTQgMTY6MTA6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBQYXNzIC0xIGFzIG51bWJlciBvZiBmcmFtZXMgdG8gdGhlIGJhc2UgY2xhc3MKCSAgVGhpcyB3aWxsIGF1dG9tYXRpY2FsbHkgZG8gdGhlIHJpZ2h0IHRoaW5nIGlmIHRpbWVzdGFtcHMgYXJlIGdvb2QgZW5vdWdoCgoyMDEyLTA5LTE0IDE2OjA5OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgVXNlIGNvcnJlY3QgYnVmZmVyIHZhcmlhYmxlCgoyMDEyLTA5LTE0IDE0OjQzOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBBbHdheXMgcGFzcyAxIGFzIG51bWJlciBvZiBmcmFtZXMgdG8gZmluaXNoX2ZyYW1lKCkKCjIwMTItMDktMTQgMTQ6NDI6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBDb3JyZWN0bHkgcmVtZW1iZXIgbnVtYmVyIG9mIGNoYW5uZWxzIGFuZCBzYW1wbGVyYXRlCgoyMDEyLTA5LTE0IDE0OjQyOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgRG9uJ3QgdW5yZWYgaW5wdXQgYnVmZmVyIGZyb20gaGFuZGxlX2ZyYW1lKCksIGl0J3Mgb3duZWQgYnkgdGhlIGJhc2VjbGFzcwoKMjAxMi0wOS0xNCAxMzozMToyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIFJlbW92ZSBpbnZhbGlkIEdTVF9FUlJPUigpIGNhbGwKCjIwMTItMDktMTQgMTM6Mjc6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBPbmx5IHRyeSB0byBnZXQgdGhlIGNoYW5uZWwtbWFzayBpZiBpdCBpcyBzZXQKCjIwMTItMDktMTQgMTM6MjU6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBBZGQgc3VwcG9ydCBmb3IgRkxBQwoKMjAxMi0wOS0xNCAxMzoyNDoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIEZpeCBzcmMgdGVtcGxhdGUgY2FwcwoKMjAxMi0wOS0xNCAxMzoxNjo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIEZpeCBwbHVnaW4gaW5pdGlhbGl6YXRpb24KCjIwMTItMDktMTQgMTM6MDU6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMtY29uc3RhbnRzLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5oOgoJICBBZGQgc3VwcG9ydCBmb3IgYXVkaW8gZGVjb2RlcnMsIGNvbXBsZXRlbHkgdW50ZXN0ZWQgc28gZmFyCgoyMDEyLTA5LTE0IDEyOjA3OjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgT25seSBzZXQgdGhlIFNZTkNfRlJBTUUgZmxhZyBvbiB0aGUgZmlyc3QgYnVmZmVyIGlmIHdlIG5lZWQgdG8gc3BsaXQgdGhlIGlucHV0CgoyMDEyLTA5LTEyIDE0OjMwOjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLWNvbnN0YW50cy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBJZ25vcmUgY29kZWNzIHdpdGggdW5rbm93biBjb2xvciBmb3JtYXRzIGZvciBzdGFiaWxpdHkgcHVycG9zZXMKCSAgVGhleSBjYW4gYmUgcmVnaXN0ZXJlZCBub25ldGhlbGVzcyBpZiBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZQoJICBvciBjb21waWxlLXRpbWUgI2RlZmluZSBpcyBzZXQuCgoyMDEyLTA5LTEyIDEzOjQ4OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgSW1wbGVtZW50IGNyb3BwaW5nIGFuZCBjb3JyZWN0bHkgaGFuZGxlIHRoZSBkaWZmZXJlbnQgY29sb3IgZm9ybWF0cwoKMjAxMi0wOS0xMSAxNjozMDowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIFJlYWxseSBpbXBsZW1lbnQgc3RyaWRlIGNvbnZlcnNpb24gZm9yIE5WMTIgdG9vCgoyMDEyLTA5LTExIDE2OjI0OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgSW1wbGVtZW50IHN0cmlkZS1jb252ZXJzaW9uIGZvciBJNDIwIGFuZCBOVjEyCgoyMDEyLTA5LTExIDE1OjU2OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIEZpeCB0eXBvIGluIHByZXZpb3VzIGNvbW1pdAoKMjAxMi0wOS0xMSAxNTo0OToxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBEb24ndCBhbGxvdyB1c2luZyBub24tR29vZ2xlIGNvZGVjcyBpZiB3ZSBzdGFydGVkIHRoZSBKYXZhIFZNIG91cnNlbHZlcwoJICBIYXJkd2FyZSBjb2RlY3MsIGUuZy4gdGhlIFRJIG9uZXMsIG9ubHkgd29yayBpbiBwcm9jZXNzZXMgdGhhdCBoYWQgdGhlaXIKCSAgSmF2YSBWTSBzdGFydGVkIHZpYSB0aGUgbm9uLXB1YmxpYyBBbmRyb2lkUnVudGltZSBjbGFzcy4KCjIwMTItMDktMTEgMTQ6MzA6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgUmVuYW1lIHRvIGFtYyBmcm9tIGFuZHJvaWRtZWRpYWNvZGVjIGV2ZXJ5d2hlcmUKCjIwMTItMDktMTEgMTM6MDg6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBJbXByb3ZlIGRlYnVnIG91dHB1dAoKMjAxMi0wOS0xMSAxMjozOToxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIFByaW50IHRoZSBNZWRpYUZvcm1hdHMgd2UgZ2V0IGluIHRoZSBkZWJ1ZyBsb2dzCgoyMDEyLTA5LTEwIDE1OjMxOjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgSW1wcm92ZSBkZWJ1ZyBvdXRwdXQKCjIwMTItMDktMTAgMTU6MzA6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBJbXByb3ZlIGxldmVsL3Byb2ZpbGUgaGFuZGxpbmcKCjIwMTItMDktMTAgMTM6Mzk6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgQWxsb3cgcmVnaXN0ZXJpbmcgYXMgc3RhdGljIHBsdWdpbiB3aXRoIHRoZSBHU3RyZWFtZXIgU0RLIEFQSQoKMjAxMi0wOS0xMCAxMzozMDowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIElmIHRoZSBidWZmZXIgc2l6ZXMgYXJlIHRoZSBzYW1lLCBqdXN0IG1lbWNweSgpIHRvIHRoZSBvdXRwdXQgYnVmZmVycwoKMjAxMi0wOS0xMCAxMjo1NjowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIENvcnJlY3RseSBjb252ZXJ0IHRpbWVzdGFtcHMgYmV0d2VlbiB1cyBhbmQgbnMKCjIwMTItMDktMDcgMTY6MTE6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBTZXQgU1lOQ19GUkFNRSBmbGFnIG9uIGJ1ZmZlcnMgaWYgcmVxdWlyZWQKCjIwMTItMDktMDcgMTQ6MjI6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBJbXByb3ZlIGZsdXNoaW5nCgoyMDEyLTA5LTA3IDEzOjQ0OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgV2FpdCBhdCBtb3N0IDAuNSBzZWNvbmRzIGZvciBnZXR0aW5nIGFuIGlucHV0IGJ1ZmZlciBmb3IgRU9TCgoyMDEyLTA5LTA3IDEzOjQyOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgQ29ycmVjdGx5IGNoZWNrIGZvciBmbHVzaGluZwoKMjAxMi0wOS0wNiAxNzoyNDowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIFJldHJ5IGZvciBuZWdhdGl2ZSByZXR1cm4gdmFsdWVzIHdoZW4gZGVxdWV1ZWluZyBidWZmZXJzCgoyMDEyLTA5LTA2IDE3OjA3OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgRml4IHJlZmNvdW50IGJ1ZwoKMjAxMi0wOS0wNiAxNzowNzoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIFRoZSBNZWRpYUNvZGVjIEFQSSBpcyBhcHBhcmVudGx5IG5vdCB0aHJlYWRzYWZlIGJldHdlZW4gc3RvcCgpIGFuZCByZWxlYXNlKCkKCSAgU28gd2UgZG9uJ3QgY2FsbCByZWxlYXNlKCkgYW5kIGp1c3QgaG9wZSBmb3IgdGhlIEdDIHRvIHJlbGVhc2UgdGhlCgkgIGNvZGVjIGluIHRpbWUuCgoyMDEyLTA5LTA2IDE1OjQ0OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIEZpeCBwbHVnaW4gY2FjaGUgY3JlYXRpb24KCjIwMTItMDgtMjQgMDQ6MzU6NDQgLTA3MDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgQ2FjaGUgdGhlIGNvZGVjIGluZm9ybWF0aW9ucyBpbnNpZGUgdGhlIHJlZ2lzdHJ5CgkgIE90aGVyd2lzZSB3ZSB3b3VsZCBhbHdheXMgbG9hZCBhbGwgY29kZWNzIGR1cmluZyBwbHVnaW4gaW5pdGlhbGl6YXRpb24KCSAgd2hpY2ggY2FuIHRha2UgcXVpdGUgc29tZSB0aW1lIChiZWNhdXNlIG9mIGhhcmR3YXJlKSBhbmQgYWxzbyBsb2FkcwoJICBsb3RzIG9mIHNoYXJlZCBsaWJyYXJpZXMgKHdoaWNoIG51bWJlciBpcyBsaW1pdGVkIGJ5IDY0IGluIEFuZHJvaWQpLgoKMjAxMi0wOC0yNCAwOToyMDoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBQcm9wZXJseSBhdHRhY2ggYW5kIGRldGFjaCB0aGUgY3VycmVudCB0aHJlYWRzIHRvIHRoZSBKYXZhIFZNCgkgIEF0dGFjaGluZyBhIHRocmVhZCBhZnRlciBpdCB3YXMgZGV0YWNoZWQgd2lsbCBjYXVzZSBzZWdmYXVsdHMsCgkgIGFzIHN1Y2ggd2UgdXNlIGEgcHRocmVhZF9rZXlfdCB0byBrZWVwIHRyYWNrIG9mIHRoZSBKTklFbnYqIG9mCgkgIHRoZSBhdHRhY2hlZCB0aHJlYWRzIGFuZCBpbiB0aGUgZGVzdHJ1Y3RvciAoaS5lLiB3aGVuIHRoZQoJICB0aHJlYWQgZXhpdHMpIHdlIGRldGFjaCB0aGUgdGhyZWFkLgoKMjAxMi0wOC0yMyAxNzozMTo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIERvbid0IGdldCB0aGUgb3V0cHV0IGZvcm1hdCBmcm9tIHRoZSBjb2RlYyBiZWZvcmUgaXQgaXMgcmVhZHkKCSAgQXBwYXJlbnRseSB0aGluZ3MgYXJlIGNyYXNoaW5nIG90aGVyd2lzZS4KCjIwMTItMDgtMjMgMTc6MzE6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBHZXQgdGhlIGlucHV0IGJ1ZmZlcnMgZnJvbSB0aGUgY29kZWMKCjIwMTItMDgtMjMgMTc6MzA6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgRml4IEpOSSBtZXRob2QgY2FsbCBzaWduYXR1cmVzCgoyMDEyLTA4LTIzIDE3OjMwOjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIEluaXRpYWxpemUgdGhlIFZNIHdpbGwgZnVsbCBkZWJ1Z2dpbmcgZm9yIG5vdwoKMjAxMi0wOC0yMyAxMzo1MzozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBVc2UgTmV3U3RyaW5nVVRGKCkgaW5zdGVhZCBvZiBvdXIgb3duIG1ldGhvZCBmb3IgdGhhdAoKMjAxMi0wOC0yMyAxMjozMDoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBBZGQgdGhlIFRJIGZvcm1hdCB0byB0aGUgbWFwcGluZyB0YWJsZSB0b28KCjIwMTItMDgtMjMgMTI6Mjk6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMtY29uc3RhbnRzLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIEFkZCBhbm90aGVyIFRJIHNwZWNpZmljIE9wZW5NQVggY29sb3IgZm9ybWF0CgoyMDEyLTA4LTIyIDE5OjMwOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgRml4ZXMgdG8gZWxlbWVudC9lbGVtZW50ZmFjdG9yeSBjcmVhdGlvbgoKMjAxMi0wOC0yMiAxOToxMjoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBTb21lIGJ1Z2ZpeGVzIHRvIHRoZSBjb2RlYyBzY2FubmluZyBjb2RlCgkgIEFsc28gaXQncyBub3QgcG9zc2libGUgdG8gYXR0YWNoIGEgdGhyZWFkIGFmdGVyIGl0IHdhcwoJICBkZXRhY2hlZCBvbmNlLiBBcyBzdWNoIHdlIHNpbXBseSBuZXZlciBkZXRhY2ggYW55IHRocmVhZAoJICBhdCBhbGwgbm93LgoKMjAxMi0wOC0yMiAxODozNTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBGaXggc29tZSBjb21waWxhdGlvbiBlcnJvcnMKCjIwMTItMDgtMjAgMTQ6MTM6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBBZGQgaW1wb3J0YW50IEZJWE1FCgoyMDEyLTA4LTIwIDEzOjQ1OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5oOgoJICBBZGQgdmlkZW8gZGVjb2RlciBlbGVtZW50CgoyMDEyLTA4LTIwIDEzOjQ1OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkgIEFkZCBzb21lIG1vcmUgSk5JIHdyYXBwaW5nCgoyMDEyLTA4LTIwIDEzOjQyOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLWNvbnN0YW50cy5oOgoJICBBZGQgc29tZSBtaXNzaW5nIGNvbG9yIGZvcm1hdCBjb25zdGFudHMKCjIwMTItMDgtMTYgMTU6MTg6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMtY29uc3RhbnRzLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkgIEltcGxlbWVudCBiYXNpYyB3cmFwcGVyIGFyb3VuZCBNZWRpYUNvZGVjIEFQSQoJICBJZGVhbGx5IG5vdGhpbmcgZWxzZSB3aWxsIGJlIG5lZWRlZCBmcm9tIHRoZSBlbGVtZW50cyBsYXRlci4KCjIwMTItMDgtMTUgMTg6MjM6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSAgU29tZSBtb3JlIFdJUAoJICBTY2FubmluZyBhbGwgY29kZWNzIG5vdyBhbmQgaGF2ZSBkYXRhIHN0cnVjdHVyZXMgZm9yIGhvbGRpbmcgY29kZWMKCSAgaW5mb3JtYXRpb24gYW5kIGNvZGVjIGNvbnRleHRzLiBBbHNvIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBmb3IKCSAgd29ya2luZyB3aXRoIHRoZW0uCgoyMDEyLTA4LTE0IDEzOjIwOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkgIEluaXRpYWwgY29tbWl0CgoyMDEyLTEwLTE1IDE1OjUzOjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJICBhbmRyb2lkbWVkaWE6IEFkZCBhbmRyb2lkbWVkaWEgcGx1Z2luCgoyMDEyLTEwLTE1IDExOjQ1OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEFuZCBmaXggYW5vdGhlciBkZWFkbG9jayBjYXVzZWQgYnkgdGhlIHVwZGF0ZSB0aHJlYWQgbm90IGNvcnJlY3RseSBzaHV0dGluZyBkb3duCgkgIENvbmZsaWN0czoKCSAgZ3N0L2hscy9nc3RobHNkZW11eC5jCgoyMDEyLTEwLTE1IDExOjAyOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0dXJpZG93bmxvYWRlci5jOgoJICBobHNkZW11eDogQWxzbyBob2xkIHRoZSBtdXRleCBiZWZvcmUgc2lnbmFsbGluZyB0aGUgY29uZGl0aW9uIHZhcmlhYmxlCgkgIENvbmZsaWN0czoKCSAgZ3N0L2hscy9nc3R1cmlkb3dubG9hZGVyLmMKCjIwMTItMTAtMTUgMTA6NTM6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogQWxzbyBjYW5jZWwgdGhlIGRvd25sb2FkZXIgYmVmb3JlIHN0b3BwaW5nIHRoZSBwbGF5bGlzdCB1cGRhdGUgdGFzawoKMjAxMi0xMC0xNSAxMDozODoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBPbmx5IGxvY2sgdGhlIG11dGV4IHdoZW4gaXQncyBub3QgbG9ja2VkIGFscmVhZHkKCSAgQ29uZmxpY3RzOgoJICBnc3QvaGxzL2dzdGhsc2RlbXV4LmMKCjIwMTItMTAtMTUgMTA6MzI6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRml4IGFub3RoZXIgcmFjZSBjb25kaXRpb24gYnkgaG9sZGluZyB0aGUgbXV0ZXggdGhhdCB0aGUgY29uZGl0aW9uIHZhcmlhYmxlIHVzZXMKCSAgQ29uZmxpY3RzOgoJICBnc3QvaGxzL2dzdGhsc2RlbXV4LmMKCjIwMTItMTAtMTUgMDk6NDc6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogUG9ydCBzb21lIHRoaW5ncyBmcm9tIHRoZSBsYXN0IGNvbW1pdHMKCjIwMTItMTAtMTUgMDk6MzU6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogTmV2ZXIgZXZlciBzdG9wIGEgdGFzayBmcm9tIHRoZSB0YXNrIGZ1bmN0aW9uCgkgIFRoaXMgd2lsbCBkZWFkbG9jay4gQWxzbyBtYWtlIHN1cmUgdG8gYWx3YXlzIHBvc3QgYW4gZXJyb3IgbWVzc2FnZQoJICBpZiByZXF1aXJlZCBiZWZvcmUgcGF1c2luZyB0YXNrcyBmcm9tIHRoZSB0YXNrIGZ1bmN0aW9uLgoJICBTaG91bGQgZml4IGFub3RoZXIgYnVuY2ggb2YgZGVhZGxvY2tzLgoJICBDb25mbGljdHM6CgkgIGdzdC9obHMvZ3N0aGxzZGVtdXguYwoKMjAxMi0xMC0xNSAwOToyNDowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBGaXggbG90cyBvZiBkZWFkbG9ja3MgY2F1c2VkIGJ5IHJhY2UgY29uZGl0aW9ucyBpbiB0aGUgdGFzayBzdGF0ZSBoYW5kbGluZwoKMjAxMi0xMC0xMiAxMDo1Nzo0NCArMDQwMCAgU2VyZ2V5IE4uIEdvcnNoa292IDxzbmdAc2V0ZXZpc29yLnR2PgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSAgcnRtcHNpbms6IGhhbmRsZSBSVE1QX1dyaXRlKCkgcmV0dXJuIHZhbHVlIGNvcnJlY3RseQoJICBFcnJvciBtaWdodCBhbHNvIGJlIG5lZ2F0aXZlICgtMSkuIFVuY2xlYXIgaWYgMCBzaG91bGQKCSAgYmUgZmF0YWwgYXMgd2VsbCB0aG91Z2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODExMTEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjAwOQoKMjAxMi0xMC0xMiAyMzowOTowNiArMDEwMCAgRGF2aWQgUsOpZ2FkZSA8ZHJlZ2FkZUB2aWV3c3VyZi5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJICBydG1wc2luazogZml4IG1lbW9yeSBsZWFrIGZyb20gVVJJIHZlcmlmaWNhdGlvbiB2aWEgUlRNUF9QYXJzZVVSTCgpCgkgIEluIGdzdF9ydG1wX3NpbmtfdXJpX3NldF91cmkoKSwgYSB0ZXN0IGlzIHBlcmZvcm1lZCBpbiBvcmRlcgoJICB0byBiZSBzdXJlIHVyaSBpcyBjb3JyZWN0IGZvciBsaWJydG1wLiBUaGlzIHRlc3QgY2FsbHMKCSAgUlRNUF9QYXJzZVVSTCB3aXRoIDMgQVZhbCBwb2ludGVycyBhcyBwYXJhbWV0ZXJzOiBob3N0LAoJICBwbGF5cGF0aCBhbmQgYXBwLgoJICBBVmFsIGlzIGEgc3RydWN0IHdpdGggYSBjaGFyKiArIGludC4gQWZ0ZXIgUlRNUF9QYXJzZVVSTCBjYWxsLAoJICBob3N0LmF2X3ZhbCBhbmQgYXBwLmF2X3ZhbCBib3RoIHJlZmVyIGEgc3Vic3RyaW5nIG9mICJ1cmkiLiBCdXQKCSAgcGxheXBhdGguYXZfdmFsIG1heSBiZSB0aGUgcmVzdWx0IG9mIGEgbWFsbG9jIHNvIGl0IG5lZWRzIHRvCgkgIGJlIGZyZWVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxNDU5CgoyMDEyLTEwLTEyIDIyOjMzOjQ1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogYWR2YW5jZSBzdHJlYW0gdGltZSB3aGVuIHNlbmRpbmcgR0FQIGV2ZW50CgoyMDEyLTEwLTEyIDIyOjMzOjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIG1wZWdkZW11eDogc2VuZCBsYW5ndWFnZSBpbmZvIGRvd25zdHJlYW0gaWYgYXZhaWxhYmxlCgkgIC4uLiBhcyBleHRyYWN0ZWQgZnJvbSBkdmQgZXZlbnQuCgoyMDEyLTEwLTEyIDIyOjMxOjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIG1wZWdkZW11eDogcmVtb3ZlIG9ic29sZXRlIHN0cnVjdCBmaWVsZAoKMjAxMi0xMC0xMiAxMjoyODo0NCAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSAgYXVkaW9wYXJzZTogU2V0IGZyYW1lc2l6ZSBhbmQgcHJvcGVydGllcyBjb3JyZWN0bHkgd2hlbiB0YWtpbmcgZm9ybWF0IGZyb20gY2Fwcy4KCjIwMTItMTAtMTIgMTc6NTE6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiB0d2VhayBmbG93IHJldHVybiBhZ2dyZWdhdGlvbgoKMjAxMi0xMC0xMiAxNTo0NDowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGhhbmRsZSB1cHN0cmVhbSBUSU1FIHNlZ21lbnRzCgoyMDEyLTEwLTEyIDE1OjA3OjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIG1wZWdkZW11eDogaGFuZGxlIGFuZCBjb21iaW5lIGRvd25zdHJlYW0gZmxvdyByZXR1cm4KCjIwMTItMTAtMTIgMTQ6NTA6MzQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBoYW5kbGUgbmV3IHN0eWxlIGR2ZCBldmVudAoKMjAxMi0xMC0xMSAxNToyOTozNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGRvIG5vdCBhZGQgcGFkIGFmdGVyIG5vLW1vcmUtcGFkcwoKMjAxMi0xMC0xMSAxNToyNzoxMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBtcGVnZGVtdXg6IGNsZWFuIHVwIHNlZ21lbnQgc2VuZGluZwoJICAuLi4gdG8gdXNlIHRoZSBzcmNfc2VnbWVudCBhcyBhIGJhc2lzIGZvciB0aGUgc2VudCBzZWdtZW50LAoJICB0aGVyZWJ5IHByb3Blcmx5IGNvbnZleWluZyBhY2N1bXVsYXRlZCBiYXNlX3RpbWUgZXRjLgoJICBBbHNvIGVuc3VyZSBzcmNfc2VnbWVudCBpcyBvbmx5IGFkanVzdGVkIG9uY2UsIHNvIHRoYXQKCSAgYWxsIGRvd25zdHJlYW0gc2VnbWVudHMgYXJlIGlkZW50aWNhbCB0byBhdm9pZCBzdHJlYW0KCSAgbWlzYWxpZ25tZW50LgoKMjAxMi0xMC0xMSAxMjowNzo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBtcGVnZGVtdXg6IHNlbmQgR0FQIGV2ZW50IHJhdGhlciB0aGFuIHNlZ21lbnQgdXBkYXRlcwoKMjAxMi0xMC0xMSAxMTo1MTo1MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IHJlZmFjdG9yIHNlZ21lbnQgc2VuZGluZwoKMjAxMi0xMC0xMSAxMTozMDo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IHJlZmFjdG9yIGluaXQgYW5kIHJlc2V0CgoyMDEyLTEwLTExIDExOjA0OjMzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogbm8gbW9yZSBzZWdtZW50IGNsb3NpbmcgaW4gMS4wCgoyMDEyLTEwLTExIDExOjAzOjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogY2xlYW4gdXAgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzCgoyMDEyLTEwLTExIDE1OjMxOjA0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkgIGR0c2RlYzogZml4IGJ1ZmZlciBwYXJzaW5nCgkgIC4uLiB0byBhdm9pZCBmZWVkaW5nIGVtcHR5IGJ1ZmZlcnMgdG8gZGVjb2Rlci4KCjIwMTItMTAtMTIgMTU6MjY6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEZpcnN0IHB1c2ggRU9TLCB0aGVuIGRlc3Ryb3kgYWxsIHByb2dyYW1zCgkgIEFuZCBhbHNvIHByb3Blcmx5IHJlbW92ZSB0aGUgcHJvZ3JhbSBmcm9tIHRoZSBzdWJjbGFzcwoKMjAxMi0xMC0xMiAxNTowOTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBGaXggaW52YWxpZCByZWFkCgoyMDEyLTEwLTEwIDE4OjE4OjAzICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBzaWduYWwgaW50ZXJsYWNpbmcgcHJvcGVybHkgaW4gdmlkZW8gY2FwcwoJICBUaGUgZmllbGQgaXMgY2FsbGVkICJpbnRlcmxhY2UtbW9kZSIgbW9kZSBub3cgYW5kIGlzIGEgc3RyaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1ODk1CgoyMDEyLTEwLTEwIDE0OjExOjQzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnRlc3QuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGF0YXVyaXNyYy5jOgoJKiB0b29scy9nc3QtYXBwLW1ha2VyOgoJICByZXBsYWNlIHNvbWUgcGxheWJpbjIgLT4gcGxheWJpbgoKMjAxMi0xMC0xMCAwOTo1ODozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IHJlc2V0IGZyYW1lIHBhcnNlciBhZnRlciBwYXJzaW5nIGNhcHMgY29kZWMgZGF0YQoJICAuLi4gc28gYXMgdG8gYXJyYW5nZSBmb3IgYSBwcm9wZXIgZnJlc2ggc3RhdGUgdXBvbiBmaXJzdCBmcmFtZS4KCjIwMTItMTAtMTAgMDk6NDg6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBjb21tb246IFVwZGF0ZSB0byB0aGUgcmlnaHQgY29tbWl0IGFnYWluCgkgIFdhcyBhY2NpZGVudGlhbGx5IHJldmVydGVkIHRvIGFuIG9sZGVyIHZlcnNpb24gaW4gdGhlIGxhc3QgY29tbWl0LgoKMjAxMi0xMC0wOSAyMzowMDoxNCAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuaDoKCSAgYXVkaW9wYXJzZTogYWRkIGEgbW9kZSB3aGVyZSB0aGUgY2FwcyBhcmUgdGFrZW4gZnJvbSB0aGUgc2luayBwYWQsIGFuZCB0aHVzIGF1ZGlvcGFyc2UgaXMgb25seSBwZXJmb3JtaW5nIHRpbWVzdGFtcGluZy4KCjIwMTItMTAtMDkgMjE6MTk6MTUgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGNvbW1vbjoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogcmVzZXQgZnJhbWUgcGFyc2VyIGFmdGVyIHBhcnNpbmcgY29kZWNfZGF0YSBidWZmZXIgaW4gY2FwcywgdG8gYXZvaWQgbm90IGNvcnJlY3RseSBwYXJzaW5nIHRoZSBmdWxsIGZpcnN0IGZyYW1lLgoKMjAxMi0xMC0wOSAxMzo1MzoxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5oOgoJICBtcGVnNHZpZGVvcGFyc2U6IHByb3Blcmx5IG1hcmsgY29uZmlnIGRhdGEgcHJlc2VuY2UKCSAgLi4uIHdoaWNoIHdlIGFsbG93IHRvIHN0YXJ0IGF0IFZpc3VhbE9iamVjdFNlcXVlbmNlIG9yCgkgIGF0IFZpZGVvT2JqZWN0LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1NzA5CgoyMDEyLTEwLTA4IDEyOjM4OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSAgZmllbGRhbmFseXNpczogRml4IHVuaXRpYWlsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgkgIEFuZCBhbHNvIHVzZSB0aGUgcGFkJ3MgZGVmYXVsdCBldmVudCBmdW5jdGlvbiBpbnN0ZWFkCgkgIG9mIGp1c3QgcHVzaGluZyB0byB0aGUgcGVlcnBhZC4gVGhpcyBtYWtlcyBzdXJlIGFueQoJICBkZWZhdWx0IGhhbmRsaW5nIG9mIGV2ZW50cyBpcyBjYWxsZWQuCgoyMDEyLTEwLTA4IDEyOjIzOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZmllbGRhbmFseXNpczogUmVtb3ZlIGZyb20gdGhlIE5PTlBPUlRFRCBwbHVnaW5zIGxpc3QKCSAgSXQncyBzdXBwb3NlZCB0byBiZSBwb3J0ZWQgaW4gMS4wLjEgYWxyZWFkeS4KCjIwMTItMTAtMDcgMTc6MDY6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBkb2NzL01ha2VmaWxlLmFtOgoJICBkb2NzOiBhZGQgJ21ha2UgdXBsb2FkJyB0YXJnZXQgZm9yIGRvY3MvIGZvciBuZXctcmVsZWFzZSBzY3JpcHQKCjIwMTItMTAtMDcgMTc6MDM6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IChidWcgZml4aW5nKQoKPT09IHJlbGVhc2UgMS4wLjEgPT09CgoyMDEyLTEwLTA3IDE1OjU3OjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjAuMQoKMjAxMi0xMC0wNiAxNDo1Nzo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNmMwYjUyYyB0byA2YmI2OTUxCgoyMDEyLTEwLTAzIDExOjA1OjA2IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlbWV0YS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJidWZmZXJwb29sLmM6CgkgIG1ldGEgaW5mbzogcmVnaXN0ZXIgdGhyZWFkLXNhZmVseS4KCjIwMTItMTAtMDMgMTc6MjM6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cHZwOC9NYWtlZmlsZS5hbToKCSAgcnRwdnA4OiBBbHNvIGNvbW1pdCByZW1haW5pbmcgdW5jb21taXR0ZWQgY2hhbmdlcy4uLgoKMjAxMi0xMC0wMyAwOTozOToyOCArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHB2cDgvTWFrZWZpbGUuYW06CgkgIHJ0cHZwODogcmVkaWZpbmUgdnA4X25vcm0gdG8gYXZvaWQgZHVwbGljYXRlZCBzeW1ib2xzIGluIHN0YXRpYyBsaW5rcyB3aXRoIGxpYnZweAoKMjAxMi0xMC0wMyAwOTo0OTozOSArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkgIHZpZGVvcGFyc2VyczogZml4IGR1cGxpY2F0ZWQgc3ltYm9scyBmb3Igc3RhdGljIGxpbmtzIHdpdGggbGlic2Nocm9lZGluZ2VyCgoyMDExLTEyLTI2IDIyOjA0OjA0IC0wNjAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS1yZW5kZXIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBhZGQgWVYxMiBhbmQgTlYxMiBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjcyMjAKCSAgQ29uZmxpY3RzOgoJICBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jCgkgIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmgKCSAgZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmMKCSAgZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jCgoyMDEyLTEwLTAyIDIyOjIwOjIwICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuaDoKCSAgcmVzaW5kdmQ6IFJlbW92ZSBjYXBzIGxvY2sgZnJvbSBwYXJzZXR0ZXIgZWxlbWVudC4KCSAgQWxsIHRoZSBtZW1iZXJzIGl0IHVzZWQgdG8gcHJvdGVjdCBpbiAwLjEwIGFyZSBwcm90ZWN0ZWQgYnkKCSAgdGhlIHN0cmVhbSBsb2NrIG5vdy4KCjIwMTItMTAtMDEgMjM6NDM6NDcgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuYzoKCSAgcmVzaW5kdmQ6IFVwZGF0ZSBvdmVycmlkZGVuIGNhcHMgd2hlbiB0aGUgREFSIGNoYW5nZXMKCSAgU2VuZCBhIG5ldyBjYXBzIGV2ZW50IGRvd25zdHJlYW0gd2hlbiB3ZSByZWNlaXZlIG5ldyBvcmRlcnMKCSAgZnJvbSB0aGUgVk0sIGlmIHRoZXJlIGFyZSBleGlzdGluZyBjYXBzLgoKMjAxMi0xMC0wMSAyMzoyMToxMiArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5jOgoJKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmg6CgkqIGV4dC9yZXNpbmR2ZC9yc253cmFwcGVkYnVmZmVyLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc253cmFwcGVkYnVmZmVyLmg6CgkgIHJlc2luZHZkOiBQb3J0IHBhcnNldHRlciBlbGVtZW50CgkgIFBvcnQgdGhlIERWRCBlbGVtZW50IHdoaWNoIG92ZXJyaWRlcyB0aGUgTVBFRyBlbmNvZGVkIHBpeGVsLWFzcGVjdC1yYXRpbwoJICB0byBtYXRjaCB0aGF0IHJlcXVlc3RlZCBieSB0aGUgRFZEIFZNLgoKMjAxMi0xMC0wMSAxMzo1MjozNSArMDIwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8dXJhZXVzQGxpbnV4cmlzaW4ub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBmb3IgbGF0ZXN0IGNoYW5nZXMKCjIwMTItMDktMzAgMjA6NTI6MzAgKzAyMDAgIENocmlzdG9waGUgRmVyZ2VhdSA8Y2ZlcmdlYXVAcmVkaGF0LmNvbT4KCgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5jOgoJICBjaHJvbWFwcmludDogTWlzc2luZyB1bm1hcCBidWZmZXIgaW4gdHJhbnNmb3JtX2lwCgkgIFdoZW4gbm8gc2FtcGxlcyBoYXZlIHRvIGJlIHByb2Nlc3NlZCwgdHJhbnNmb3JtX2lwIGV4aXRzIGVhcmx5LCBidXQKCSAgdGhlIGJ1ZmZlciBpdCB1c2VzIHdhcyBub3QgcHJvcGVybHkgdW5tYXBwZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODUxNTkKCjIwMTItMDktMzAgMDM6NDk6MTcgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBGaWRkbGUgd2l0aCBzZWdtZW50IGhhbmRsaW5nIGZvciBEVkQuCgkgIENsYXJpZnkgc29tZSBvZiB0aGUgdGVybXMgdXNlZCwgYW5kIG1ha2Ugc3VyZSB0byBleHRlbmQgdGhlCgkgIHN0b3AgdGltZSB3aGVuIHRoZSBwb3NpdGlvbiBtb3ZlcyBwYXN0IHRoZSBlbmQgb2YgdGhlIGN1cnJlbnQKCSAgc2VnbWVudCAoYXMgZm9yIHN0aWxsIGZyYW1lcywgZm9yIGV4YW1wbGUpLgoJICBBbHNvLCBtYWtlIHN1cmUgdG8gcmVzZXQgdGhlIHBvc2l0aW9uIHZhbHVlIG9mIHRoZSBzZWdtZW50IHRoZQoJICBkZW11eGVyIG91dHB1dHMgd2hlbiBjb2xsZWN0aW5nIGEgc2VhbWxlc3Mgc2VnbWVudC4KCjIwMTItMDktMjkgMTM6MjE6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJICBmcmVpMHI6IGZpeCBwbHVnaW4gbG9hZGluZyBmb3IgZnJlaTByIGVsZW1lbnRzIHRoYXQgaGF2ZSBubyBpbmZvLmV4cGxhbmF0aW9uCgkgIFdlIGRvbid0IGFsbG93IGVtcHR5IGRlc2NyaXB0aW9ucyBmb3IgZWxlbWVudHMgYW55IG1vcmUuCgoyMDEyLTA5LTI5IDEyOjM2OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIHNvbWUgbGlib2lsIHJlZmVyZW5jZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MzI4NQoKMjAxMi0wOS0yOSAxMjozMDoyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJKiBleHQvY29nL2dzdGNvbG9yY29udmVydC5jOgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSAgY29nOiByZW1vdmUgc29tZSBvbGQgZWxlbWVudHMgc28gdGhleSBkb24ndCBnZXQgcG9ydGVkIGFjY2lkZW50YWxseQoJICBUaGV5IGFyZSByZXBsYWNlZCBieSB2aWRlb2NvbnZlcnQgYW5kIGdka3BpeGJ1Zm92ZXJsYXkKCjIwMTItMDktMjggMjI6MzA6MzkgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkgIGN1cmw6IGZpeCBjb21waWxlciB3YXJuaW5nIHdpdGggc2V0c29ja29wdCgpIG9uIHdpbmRvd3MKCSAgVGhlIG9wdHZhbCBhcmd1bWVudCBpcyBvZiB0eXBlIGNvbnN0IGNoYXIgKiBvbiB3aW5kb3dzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1MDY1CgoyMDEyLTA5LTI4IDExOjU5OjU3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5oOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5oOgoJICBmcmVpMHI6IFBvcnQgdG8gMS4wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE2NzgKCjIwMTItMDktMjYgMDg6MjA6NDkgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY3VybC9NYWtlZmlsZS5hbToKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmaWxlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsaHR0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmx0bHNzaW5rLmM6CgkgIGN1cmw6IGZpeCBidWlsZCBvbiB3aW4zMgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0ODQ3CgoyMDEyLTA5LTI4IDAwOjA2OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogY2hhbmdlIHZpZGVvLXNvdXJjZSBpZiB0aGUgdXNlciByZXF1ZXN0ZWQKCSAgV2hlbiBnb2luZyBmcm9tIG51bGwgdG8gcmVhZHksIGNoZWNrIGlmIHRoZSB1c2VyIHJlcXVlc3RlZCB0bwoJICB1c2UgYSBuZXcgc291cmNlIGFuZCByZXBsYWNlIHRoZSBjdXJyZW50IG9uZS4KCSAgRml4ZXMgIzY4MTU2MgoKMjAxMi0wOS0yNyAyMzoyMjozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBwYWQgcHJvYmUgaWRzIGFyZSBndWxvbmcKCSAgQ2hhbmdlIHZhcmlhYmxlIHRvIHRoZSBjb3JyZWN0IHR5cGUKCjIwMTItMDktMjcgMTk6NDA6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluOiB1c2UgY29ycmVjdCBlbGVtZW50IG5hbWUgd2hlbiByZXBsYWNpbmcgdGhlIHZpZGVvIGZpbHRlcgoJICBUaGUgbmFtZSB3YXMgdXBkYXRlZCBvbiB0aGUgMC4xMCAtPiAxLjAgdHJhbnNpdGlvbiwgYnV0IHRoZQoJICBnc3RfYmluX3JlbW92ZSB3YXMgc3RpbGwgdXNpbmcgdGhlIG9sZCBuYW1lLCBjYXVzaW5nIGFuIGFzc2VydGlvbgoJICB3aGVuIHJlcGxhY2luZyB2aWRlby1zb3VyY2UtZmlsdGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE1NjQKCjIwMTItMDktMjYgMTQ6NTA6MDQgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBzb3VuZHRvdWNoOiBUcmFuc2Zvcm0gdGltZXN0YW1wcyBwcm9wZXJseSBhZnRlciBhIHNlZWsuCgkgIFRoZSBzZWdtZW50IGlzIHRyYW5zZm9ybWVkIHRvIG1hdGNoIHRoZSBwaXRjaCBjb252ZXJzaW9uCgkgIGJlaW5nIGFwcGxpZWQsIHNvIG1ha2Ugc3VyZSB0aGUgdGltZXN0YW1wcyBiZWluZyBvdXRwdXQKCSAgbWF0Y2ggdGhlIGNvbmZpZ3VyZWQgZG93bnN0cmVhbSBzZWdtZW50IGFjY29yZGluZ2x5LCBhbmQKCSAgYWRqdXN0IHRoZSBkb3duc3RyZWFtIHNlZ21lbnQgcG9zaXRpb24gdG8gbWF0Y2ggdGhlIHN0cmVhbSB0aW1lCgkgIHJhdGlvIGFsc28uCgoyMDEyLTA5LTE4IDAxOjEzOjM2ICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkOiBEb24ndCBzZW5kIHNwdXJpb3VzICdjbG9zZSBzZWdtZW50JyBldmVudHMuIE1ha2UgYSBzaW5nbGUgc2VnbWVudAoJICBXaXRoIHRoZSBuZXcgMS4wIHNlZ21lbnQgc2VtYW50aWNzLCB0aGVyZSdzIG5vIG5lZWQgdG8gY2xvc2UgdGhlCgkgIHByZXZpb3VzIHNlZ21lbnQgYmVmb3JlIHNlbmRpbmcgb3V0IGEgbmV3IG9uZSwgc28gZG9uJ3QgZG8gaXQuCgkgIEFsc28sIGFkanVzdCB0aGUgb3V0Z29pbmcgc2VnbWVudCB0byBqdXN0IGJlIG9uZSBjb250aWd1b3VzCgkgIHRpbWVsaW5lLCB3aXRoIGEgYmFzZSBvZiAwLiBGaXhlcyBzb21lIHJlcGVhdGluZyB0aW1lc3RhbXBzIHdoZW4KCSAgc2VnbWVudHMgY2hhbmdlLgoKMjAxMi0wOS0yNCAxNzoyNToyNSArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmg6CgkgIGZpZWxkYW5hbHlzaXM6IFBvcnQgdG8gMS4wCgkgIEkgd2FzIGFsc28gdmFndWVseSBmb3JjZWQgdG8gb3ZlcmhhdWwgc29tZSBiaXRzIGFuZCBwaWVjZXMgYW5kIG1lc3Mgd2l0aAoJICB0aGUgZGF0YSBzdHJ1Y3R1cmVzLiBUaGlzIHdhcyBtb3N0bHkgZHVlIHRvIGNhcHMgbm90IGJlaW5nIHBhcnQgb2YKCSAgYnVmZmVycyBhbmQgc28gSSBoYWQgdG8gc3dpdGNoIHRvIHVzaW5nIEdzdFZpZGVvRnJhbWUgYW5kIEdzdFZpZGVvSW5mby4KCjIwMTItMDktMjQgMTY6MTE6MzIgLTA1MDAgIFlhYWtvdiBTZWxrb3dpdHogPHlzZWxrb3dpdHpAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZXh0L2Nocm9tYXByaW50L01ha2VmaWxlLmFtOgoJICBjaHJvbWFwcmludDogbGluayBhZ2FpbnN0IGxpYmdzdGJhc2UKCSAgQ2FsbHMgdG8gZ3N0X2Jhc2VfdHJhbnNmb3JtX2dldF90eXBlIGFuZCBnc3RfYmFzZV90cmFuc2Zvcm1fc2V0X3Bhc3N0aHJvdWdoCgkgIHJlcXVpcmUgbGlua2luZyB3aXRoIGxpYmdzdGJhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ3NDAKCjIwMTItMDktMjQgMTY6NTk6MjQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IChidWcgZml4aW5nKQoKPT09IHJlbGVhc2UgMS4wLjAgPT09CgoyMDEyLTA5LTI0IDE0OjQyOjI1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjAuMAoKMjAxMi0wOS0yNCAxNDo0MjoxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSAgZG9jczogdXBkYXRlCgoyMDEyLTA5LTIzIDEzOjE1OjIwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbms6IGNoYW5nZSBkZXZpY2UgaW5zdGFuY2UgbGlmZWN5Y2xlCgkgIFRoZSBkZWNrbGluayBkcml2ZXIgZXZlbnR1YWxseSBjcmFzaGVzIGFmdGVyIHJlcGVhdGVkIGNyZWF0aW9uL2RlbGV0aW9uCgkgIG9mIGRldmljZSwgaW5wdXQsIG91dHB1dCwgYW5kIGNvbmZpZ3VyYXRpb24gb2JqZWN0cy4gIENoYW5nZSB0byBjcmVhdGUKCSAgdGhlc2UgYXQgdGhlIG91dHNldCBhbmQga2VlcCB0aGVtIGFyb3VuZCBmb3JldmVyLgoKMjAxMi0wOS0yMiAxMzo1Njo1NyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGlua3NyYzogRml4IG1lbW9yeSBsZWFrcwoJICBCdWZmZXJzIG5vdyBob2xkIG9uIHRvIGEgcmVmZXJlbmNlIGZvciB0aGUgaW5wdXQsIHNvIHRoZSBpbnB1dAoJICBvYmplY3QgZG9lc24ndCBnZXQgZnJlZWQgKGFuZCBjYXJyeSB0aGUgYnVmZmVycyB3aXRoIGl0KSBiZWZvcmUKCSAgYWxsIHRoZSBidWZmZXJzIGFyZSBmcmVlZC4KCjIwMTItMDktMjMgMjE6MDg6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3NyZW5kZXIuYzoKCSAgdGVzdHM6IGRpc2FibGUgYXNzcmVuZGVyIHVuaXQgdGVzdAoJICBEb2Vzbid0IHdvcmssIG5lZWRzIGZpeGluZy4KCjIwMTItMDktMjMgMjE6MDc6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IGRpc2FibGUgZm9yIGF1dG9wbHVnZ2luZyB1bnRpbCBpdCB3b3JrcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMTkyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ2ODMKCjIwMTItMDktMjIgMTU6MDA6MjcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgcnRwZHRtZmRlcGF5OiBVc2UgMS4wLXN0eWxlIGNhcHMgbmVnb3RpYXRpb24gYW5kIGF1ZGlvL3gtcmF3CgoyMDEyLTA5LTIwIDE4OjQyOjUwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1cy5jOgoJICBvcHVzZW5jOiBSYW5rIGFzIFByaW1hcnkKCjIwMTItMDktMjAgMTg6NDE6MjQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkgIHJ0cG9wdXNwYXk6IEFsbG9jYXRlIHRoZSBydHAgYnVmZmVyIGNvcnJlY3RseQoJICBVc2UgdGhlIHJpZ2h0IGZ1bmN0aW9ucyB0byBhbGxvY2F0ZSB0aGUgcnRwIGJ1ZmZlcgoKMjAxMi0wOS0yMiAxNjowODozOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNGY5NjJmNyB0byA2YzBiNTJjCgoyMDEyLTA5LTIwIDAwOjA4OjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmM6CgkgIGludGVyc3Vic3JjOiBkaXNhYmxlIHRpbWVzdGFtcGluZyBjb2RlIHRoYXQgZG9lc24ndCBtYWtlIHNlbnNlCgkgIGFuZCB3aGljaCBicmVha3MgdGhlIHN0YXRlcyBjaGVjayBiZWNhdXNlIHdlIGVuZCB1cCB0cnlpbmcgdG8KCSAgZGl2aWRlIGJ5IDAuCgoyMDEyLTA5LTE4IDEzOjE3OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiBpbml0IHZpZGVvaW5mbwoKMjAxMi0wOS0xOCAxMzoxNzoyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICB5NG1kZWM6IGluaXQgdmlkZW9pbmZvCgoyMDEyLTA5LTE4IDAwOjEyOjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgZG9jczogcmVtb3ZlIG9uZSBtb3JlIG9sZCBpbmNsdWRlCgo9PT0gcmVsZWFzZSAwLjExLjk5ID09PQoKMjAxMi0wOS0xNyAxODowNDo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMS45OQoKMjAxMi0wOS0xNyAxNzo1MjoyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JzcGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWNrbGluay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyZWN0ZHJhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhY2VvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV2ZXJiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NldHRpbmdzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saW5zeXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWx2Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wYXRjaGRldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN3ZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aW1pZGl0eS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvM2QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJICBkb2NzOiB1cGRhdGUKCjIwMTItMDktMTcgMTc6MTM6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBnc3QvZnJlZXplL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5oOgoJICBmcmVlemU6IHJlbW92ZSBmcmVlemUgZWxlbWVudCwgd2FzIHJlcGxhY2VkIGJ5IGltYWdlZnJlZXplIGluIC1nb29kIHllYXJzIGFnbwoKMjAxMi0wOS0xNyAyMzo1OTozNCArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgcmVzaW5kdmQ6IEZpeCBzZWdtZW50IGhhbmRsaW5nIGluIHRoZSBkZW11eGVyLgoJICBUcmFuc2ZlciB0aGUgaW5jb21pbmcgc2VnbWVudCBiYXNlIHRpbWUgdG8gdGhlIHNyYwoJICBzZWdtZW50IHRoZSBkZW11eGVyIHNlbmRzIGRvd25zdHJlYW0uIEFkZCBzb21lCgkgIChkaXNhYmxlZCkgZGVidWcgdG8gdGhlIGJpbiBmb3IgdHJhY2tpbmcgb3V0Z29pbmcKCSAgdGltZXN0YW1wcy4KCjIwMTItMDktMTcgMDA6MDU6MTkgKzAyMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPHVyYWV1c0BsaW51eHJpc2luLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBSZW1vdmUgdnA4IHBsdWdpbiBmcm9tIHNwZWMgYWZ0ZXIgbW92ZSB0byBnb29kCgoyMDEyLTA5LTE2IDE1OjQ4OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3ZwOC9Hc3RWUDhFbmMucHJzOgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5oOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJKiBleHQvdnA4L2dzdHZwOHV0aWxzLmM6CgkqIGV4dC92cDgvZ3N0dnA4dXRpbHMuaDoKCSogZXh0L3ZwOC9wbHVnaW4uYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGRlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhlbmMuYzoKCSAgdnA4OiBSZW1vdmUgcGx1Z2luLCBtb3ZlZCB0byBnc3QtcGx1Z2lucy1nb29kCgoyMDEyLTA5LTE2IDE1OjI1OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogVW5yZWYgaW5wdXQvb3V0cHV0IHN0YXRlcyB3aGVuIHN0b3BwaW5nIHRoZSBkZWNvZGVyCgoyMDEyLTA5LTE2IDE1OjE4OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvR3N0VlA4RW5jLnByczoKCSAgdnA4ZW5jOiBVcGRhdGUgcmVhbHRpbWUgcHJvZmlsZSB0byB0aGUgbmV3IHByb3BlcnRpZXMKCjIwMTItMDktMTYgMTE6MDA6NTMgKzAyMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPHVyYWV1c0BsaW51eHJpc2luLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgYW5kIGZpeCBzcGVjIHdpdGggbGF0ZXN0IGNoYW5nZXMgYW5kIEYxOCBuYW1lIHNjaGVlbWUKCjIwMTItMDktMTYgMTA6NTY6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDg6IFJlcXVpcmUgbGF0ZXN0IGxpYnZweCByZWxlYXNlICgxLjEuMCBmcm9tIE1heSAyMDEyKQoJICBGaXhlcyBidWcgIzY4NDExNiBhbmQgc2ltcGxpZmllcyBjb25maWd1cmUgY2hlY2tzLgoKMjAxMi0wOS0xNSAyMDoyMzoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFVzZSBhIHN0cmluZyBmaWVsZCBmb3IgdGhlIHByb2ZpbGUgaW4gdGhlIGNhcHMKCSAgSnVzdCBmb3IgY29uc2lzdGVuY3kgd2l0aCBhbGwgdGhlIG90aGVyIGNvZGVjcy4KCjIwMTItMDktMTUgMTk6MDg6MzMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b3ZpZGVvY29udmVydC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0X2VsZW1lbnRfcHJpbnRfcHJvcGVydGllcy5jOgoJICB1c2UgZ3N0X2VsZW1lbnRfZmFjdG9yeV9nZXRfbWV0YWRhdGEgdG8gcmVwbGFjZSBvYnNvbGV0ZSBBUEkKCjIwMTItMDktMTUgMDA6MDQ6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBDb3JyZWN0bHkgc2V0IHByb2ZpbGUgaW4gY2FwcwoKMjAxMi0wOS0xNCAyMzo0MTo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDg6IFVwZGF0ZSBjb3B5cmlnaHQgYW5kIGF1dGhvcnMKCjIwMTItMDktMTQgMjM6NDA6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJICBkb2NzOiBVcGRhdGUgcGx1Z2luIGRvY3MKCjIwMTItMDktMDggMTU6Mzg6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgdnA4ZW5jOiBSZXdvcmsgZW5jb2RlciBwcm9wZXJ0aWVzIHRvIGJlIG1vcmUgaW4gbGluZSB3aXRoIHRoZSBsaWJ2cHggdG9vbHMgYW5kIEFQSQoJICBBbHNvIGFkZCBhbGwgYXZhaWxhYmxlIHByb3BlcnRpZXMuCgoyMDEyLTA5LTE0IDE3OjU1OjA1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcDJrZGVjaW1hdG9yL2dzdGpwMmtkZWNpbWF0b3IuYzoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgcmVwbGFjZSBfZ2V0X2NhcHNfcmVmZmVkIHdpdGggX2dldF9jYXBzCgoyMDEyLTA5LTE0IDE3OjA4OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJKiBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuYzoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nZG93bnNhbXBsZS5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQvY29nL2dzdGNvZ3NjYWxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29sb3Jjb252ZXJ0LmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZpbGVzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxodHRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHRsc3NpbmsuYzoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmNjOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NyYy5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc3JjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZGVjLmM6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOgoJKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkqIGV4dC9uYXMvbmFzc2luay5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvb2ZhL2dzdG9mYS5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNpbmsuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzcmMuYzoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJKiBleHQvc25kZmlsZS9nc3RzZnNpbmsuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzcmMuYzoKCSogZXh0L3NuZGlvL3NuZGlvc2luay5jOgoJKiBleHQvc25kaW8vc25kaW9zcmMuYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbnBsYy5jOgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5jOgoJKiBnc3QvYXVkaW9idWZmZXIvZ3N0YXVkaW9yaW5nYnVmZmVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvdmlkZW9jb252ZXJ0LmM6CgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdHZjZHBhcnNlLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5jOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaGVja3N1bXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hvcG15ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnc3B5LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkqIGdzdC9mcmVldmVyYi9nc3RmcmVldmVyYi5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0YnVsZ2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RkaWZmdXNlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1hcmJsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1pcnJvci5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cm90YXRlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3BoZXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3RyZXRjaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR1bm5lbC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0d2F0ZXJyaXBwbGUuYzoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmM6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4LmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2dzdGpwMmtkZWNpbWF0b3IuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L212ZS9nc3RtdmVkZW11eC5jOgoJKiBnc3QvbXZlL2dzdG12ZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkqIGdzdC9wYXRjaGRldGVjdC9nc3RwYXRjaGRldGVjdC5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdGlydHNwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS9nc3RyZW1vdmVzaWxlbmNlLmM6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSogZ3N0L3NkaS9nc3RzZGlkZW11eC5jOgoJKiBnc3Qvc2RpL2dzdHNkaW11eC5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3RhdWRpb3NlZ21lbnRjbGlwLmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3R2aWRlb3NlZ21lbnRjbGlwLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmM6CgkqIGdzdC9zdWJlbmMvZ3N0d2VidnR0ZW5jLmM6CgkqIGdzdC90dGEvZ3N0dHRhZGVjLmM6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3RzY2VuZWNoYW5nZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHplYnJhc3RyaXBlLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJKiBzeXMvYWNtbXAzZGVjL2FjbW1wM2RlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGRlY2Jpbi5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRlbmNiaW4uYzoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuY3BwOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOgoJKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOgoJKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6CgkqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzaW5rLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc3JjLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NyYy5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZydmlkZW9zaW5rLmM6CgkqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkqIHN5cy9xdHdyYXBwZXIvdmlkZW9kZWNvZGVycy5jOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSogc3lzL3ZjZC92Y2RzcmMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3R2ZHBtcGVnNGRlYy5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGR4OXNjcmVlbmNhcHNyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGdkaXNjcmVlbmNhcHNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9iYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgcmVwbGFjZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUgd2l0aCBnc3RfZWxlbWVudF9jbGFzc19zZXRfbWV0YWRhdGEKCjIwMTItMDktMTQgMTI6MDY6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBpbml0IHBwcyBhbmQgc3BzIHN0cnVjdHVyZXMgYmVmb3JlIHBhcnNpbmcKCSAgLi4uIHdoaWNoIGFycmFuZ2VzIGZvciBhIHZhbGlkIGZhbGxiYWNrIGlkLCBhbmQgYWxsb3dzIHRvIGNvbnRpbnVlIGJlc3QgZWZmb3J0CgkgIHByb2Nlc3NpbmcgZXZlbiB3aGVuIHNwcy9wcHMgcGFyc2luZyBmYWlscy4KCjIwMTItMDktMDMgMTM6NTg6MjIgKzAyMDAgIFBldGVyIFNlaWRlcmVyIDxwcy5yZXBvcnRAZ214Lm5ldD4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGdzdGgyNjRwYXJzZTogYWRkIGNvbW1lbnQgd2hlcmUgcmV0dXJuIHNob3VsZCBiZSBjaGVja2VkLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMjY0CgoyMDEyLTA5LTAzIDEzOjQzOjAzICswMjAwICBQZXRlciBTZWlkZXJlciA8cHMucmVwb3J0QGdteC5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgZ3N0aDI2NHBhcnNlcjogZml4IENvdmVyaXR5IGZvdW5kIG5vdCBpbml0aWFsaXplZCBzcHMvcHBzIHZhbGlkIG1lbWJlci4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzI2NAoKMjAxMi0wOS0wMyAxMzowOToyOSArMDIwMCAgUGV0ZXIgU2VpZGVyZXIgPHBzLnJlcG9ydEBnbXgubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGdzdGgyNjRwYXJzZXI6IGZpeCBDb3Zlcml0eSBkZXRlY3RlZCBvZmYgYnkgb25lIGF0IGNhbGwgdG8gUkVBRF9VRV9BTExPV0VELgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMjYzCgoyMDEyLTA5LTE0IDE2OjQ5OjI0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9ibHVyLWV4YW1wbGUucHk6CgkqIGdzdC9nYXVkaWVmZmVjdHMvYnVybi1leGFtcGxlLnB5OgoJICByZW5hbWUgc29tZSBjYXBzCgoyMDEyLTA5LTE0IDE2OjQ1OjM0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2NvZy9nc3Rjb2dzY2FsZS5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc3JjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luLXBsYXk6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmM6CgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvYmx1ci1leGFtcGxlLnB5OgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2J1cm4tZXhhbXBsZS5weToKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvanAya2RlY2ltYXRvci9nc3RqcDJrZGVjaW1hdG9yLmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2Fwc2ZpbHRlci9jYXBzZmlsdGVyMS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9kaXJlY3RmYi9nc3RkZmIuYzoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdG1vdGlvbmNlbGxzX2R5bmFtaWNfdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgZmZtcGVnY29sb3JzcGFjZSBpcyBubyBtb3JlCgoyMDEyLTA5LTE0IDE2OjI5OjIzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG92aWRlb2NvbnZlcnQuYzoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSogZ3N0L3Jhd3BhcnNlL1JFQURNRToKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICByZW5hbWUgc29tZSBjYXBzIGFuZCBlbGVtZW50cyBpbiBleGFtcGxlcwoKMjAxMi0wOS0wMiAyMDoxNzoxNCArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5oOgoJICBtcGVnNHZpZGVvcGFyc2U6IHVzZSBwcmV2aW91c2x5IHBhcnNlZCB2aXN1YWwgb2JqZWN0IHdoZW4gcGFyc2luZyBWT0wKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzI1NAoKMjAxMi0wOS0wMiAyMDoxOToxNyArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIG1wZWc0cGFyc2VyOiBwYXJzZSBjb21wbGV4aXR5IGVzdGltYXRpb24gaGVhZGVyIGluIHZpZGVvIG9iamVjdCBsYXllcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMjU0CgoyMDEyLTA5LTAyIDIwOjE4OjMyICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgbXBlZzRwYXJzZXI6IGZpeCBzb21lIGlzc3VlcyByZWxhdGVkIHRvIHZpZGVvIG9iamVjdCBsYXllciBwYXJzaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMyNTQKCjIwMTItMDktMDIgMTg6MjE6MTYgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBkbyBub3Qgc2tpcCB1c2VyIGRhdGEKCSAgVXNlciBkYXRhIHdhcyBza2lwcGVkIHVudGlsIG5vdywgc28gdGhlIHVzZXIgZGF0YSB3YXMgaW5jbHVkZWQgd2hlbgoJICBwYXJzaW5nIHRoZSBwcmV2aW91cyBwYWNrZXQgYW5kIGluIHRoZSBjb25maWcgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMjU0CgoyMDEyLTA5LTE0IDAyOjU5OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjExLjk0ID09PQoKMjAxMi0wOS0xNCAwMjo1MDo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTEuOTQKCjIwMTItMDktMTQgMDI6MDY6NDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSAgZG9jczogdXBkYXRlIGRvY3MKCjIwMTItMDktMTMgMTM6NDQ6MDUgLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJICBjaGVjazogVmVyaWZ5IHRoZSBEVFMgZW1lcmdpbmcgZnJvbSB0aGUgcGFyc2VyLCBub3QgUFRTCgkgIFBUUyBkb2Vzbid0IGluY3JlbWVudCBsaW5lYXJseSBpbiBwYXJzZXJzIHdpdGggZnJhbWUgcmUtb3JkZXJpbmcsIGJ1dAoJICBEVFMgZG9lcy4gVmVyaWZ5IHRoYXQgaW5zdGVhZC4KCjIwMTItMDktMTMgMTM6MzQ6MTYgLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIGNoZWNrOiBGaXggbXBlZ3ZpZGVvcGFyc2VyIFBBUiBleHBlY3RhdGlvbgoJICBUaGUgcGFyc2VyIChjb3JyZWN0bHkpIG5vdyBpbnRlcnByZXRzIHRoZSB0ZXN0IGhlYWRlciB1c2luZwoJICBNUEVHLTEgc2VtYW50aWNzLCBzbyBmaXggdGhlIHRlc3QgZXhwZWN0YXRpb24uCgoyMDEyLTA5LTEzIDE1OjUxOjAyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSAgaW50ZXJhdWRpb3NyYzogTWFrZSBjYXBzIHdyaXRhYmxlIGluIGZpeGF0ZQoKMjAxMi0wOS0xMyAxNTowNjo1MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnRlc3QuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmg6CgkgIGludGVyOiBQb3J0IHRvIDEuMCBBUEkKCSAgQWxzbyByZW1vdmUgYSBsb3Qgb2YgZW1wdHksIG5vbi1pbXBsZW1lbnRlZCBtZXRob2RzCgoyMDEyLTA5LTEyIDIyOjU4OjA0IC0wNzAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IERpc2FibGUgUFRTIGludGVycG9sYXRpb24gaW4gdGhlIGJhc2UgcGFyc2UgY2xhc3MKCSAgQWxsIHRoZXNlIGZvcm1hdHMgaGF2ZSByZS1vcmRlcmVkIFBUUyB3aGljaCB0aGUgYmFzZSBjbGFzcyBnZXRzCgkgIHdyb25nLiBJdCdzIGJldHRlciB0byBsZWF2ZSB0aGVtIGJsYW5rIGFuZCBsZXQgdGhlIGRlY29kZXIgc29ydCBpdAoJICBvdXQuIEJldHRlciB5ZXQgd291bGQgYmUgdG8gdHJhY2sgYW5kIGludGVycG9sYXRlIHRoZSB0aW1lc3RhbXBzCgkgIGluIHRoZSBzdWJjbGFzc2VzIChGSVhNRSkKCjIwMTItMDktMDkgMTY6NDA6MDAgLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogQWR2YW5jZSB2aWRlbyBzdHJlYW0gd2l0aCBnYXAgZXZlbnRzLgoJICBIYW5kbGUgR2FwIGV2ZW50cyB0aGUgd2F5IHdlIHVzZWQgdG8gaGFuZGxlIHNlZ21lbnQgdXBkYXRlcwoJICBhbmQgYWR2YW5jZS9maWxsIGluIHRoZSB2aWRlbyBzdHJlYW0gYWNjb3JkaW5nbHkuIEZpeGVzCgkgICdzdGlsbCcgbWVudXMgd2hpY2ggYXJlbid0IERWRCBzdGlsbCBmcmFtZXMsIGJ1dCBhcmUganVzdCBhCgkgIHNpbmdsZSBmcmFtZSB3aXRoIGFjY29tcGFueWluZyBhdWRpby4KCjIwMTItMDktMDkgMTY6Mjk6NTIgLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uaDoKCSAgcmVzaW5kdmQ6IFN0YXJ0IHdpdGggYSBsYXJnZXIgc3VicGljdHVyZSBxdWV1ZSBmb3IgcHJlcm9sbC4KCSAgU2hyaW5rIHRoZSBxdWV1ZSBvbmNlIHdlJ3JlIHByZXJvbGxlZC4gRml4ZXMgdGhlIEZyaW5nZSBTMQoJICBEVkQuIEFsc28sIGVuc3VyZSB3ZSBvbmx5IGZpcmUgbm9fbW9yZV9wYWRzIG9uY2UuCgoyMDEyLTA5LTA4IDE5OjIxOjQ3IC0wNzAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgcmVzaW5kdmQ6IERpc2FibGUgaW5wdXQtc2VsZWN0b3Igc3luY2luZwoJICBVbnRpbCBzZWdtZW50cyBhcmUgYmV0dGVyIHdvcmtlZCBvdXQuIEFsc28sIHVzZQoJICBpbnRlcm5hbCBpbnB1dC1zZWxlY3RvciBmb3IgYXVkaW8gYXMgd2VsbAoKMjAxMi0wOS0wMyAwOTo0NzozMCAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmg6CgkgIG1wZWd2aWRlb3BhcnNlOiBIYW5kbGUgU2VxdWVuY2UgRGlzcGxheSBFeHRlbnNpb24KCSAgQ2hhbmdlIHRoZSB3YXkgdGhlIHBpeGVsLWFzcGVjdC1yYXRpbyBpcyBjb21wdXRlZCBieQoJICBpbnRlcnByZXRpbmcgdGhlIHNlcXVlbmNlIGhlYWRlciBhc3BlY3QgcmF0aW8gaW5mbwoJICBhcyBNUEVHLTEgdmFsdWVzIHVudGlsIGEgc2VxdWVuY2UgZXh0ZW5zaW9uIG9yCgkgIHNlcXVlbmNlIGRpc3BsYXkgZXh0ZW5zaW9uIGlzIHNlZW4sIGFuZCB0aGVuIHVwZGF0aW5nCgkgIHRoZSBzZXF1ZW5jZSBoZWFkZXIgc3RydWN0IGFjY29yZGluZ2x5LgoJICBGaXhlcyBpbmNvcnJlY3QgYW5hbW9ycGhpYyBkaXNwbGF5IG9uIHNvbWUgTVBFRy0yIChEVkQpCgkgIHNlcXVlbmNlcy4KCjIwMTItMDktMTMgMDE6NDA6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbXhmLmM6CgkgIHRlc3RzOiBkaXNhYmxlIHlldCBhbm90aGVyIG14ZiB0ZXN0cyB1bnRpbCB0aGUgZWxlbWVudHMgYXJlIHBvcnRlZAoKMjAxMi0wOS0xMyAwMTozNDo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSAgZmxpdGV0ZXN0c3JjOiBmaXggY2FwcyBmaXhhdGlvbgoJICBNYWtlIGNhcHMgd3JpdGFibGUgYmVmb3JlIGNoYW5naW5nIHRoZW0uCgoyMDEyLTA5LTEzIDAxOjI2OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHNlZ21lbnRjbGlwLmM6CgkgIHNlZ21lbnRjbGlwOiBmaXggd3JvbmcgcGFkIHRlbXBsYXRlIHVucmVmCgkgIEJsb3dzIHVwIHdoZW4gdHJ5aW5nIHRvIGluc3RhbnRpYXRlIGEgc2Vjb25kIGNsaXAgZWxlbWVudAoJICBvZiB0aGUgc2FtZSB0eXBlLCBsaWtlIGluIHRoZSBnZW5lcmljL3N0YXRlcyB1bml0IHRlc3QuCgoyMDEyLTA5LTEzIDAxOjA3OjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IGZhaWwgZ3JhY2VmdWxseSB3aXRoIGFuIGVycm9yIG1lc3NhZ2UgaWYgd2UgY2FuJ3QgY29ubmVjdCB0byB3YXlsYW5kCgkgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKCkgaXMgbm90IGZvciBlcnJvciBoYW5kbGluZywgaXQncyBmb3IKCSAgY2F0Y2hpbmcgcHJvZ3JhbW1pbmcgZXJyb3JzIGluIHB1YmxpYyBBUEkuCgkgIEZpeGVzIHByb2JsZW0gd2l0aCBnZW5lcmljL3N0YXRlcyB1bml0IHRlc3QuCgoyMDEyLTA5LTEzIDAwOjU5OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJICBzaXJlbjogaW5pdCBkZWJ1ZyBjYXRlZ29yeSBiZWZvcmUgbG9nZ2luZyBhbnl0aGluZwoKMjAxMi0wOS0xMyAwMDo1NToyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214ZmRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214Zm11eC5jOgoJICB0ZXN0czogc2tpcCBteGYgdGVzdHMgd2hpbGUgZWxlbWVudHMgaGF2ZW4ndCBiZWVuIHBvcnRlZCB5ZXQKCjIwMTItMDktMTMgMDA6NTA6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiByZW1vdmUgR1NUX0VSUk9SIHN0YXRlbWVudCB0aGF0IHdhcyBjb21taXR0ZWQgYnkgYWNjaWRlbnQKCjIwMTItMDktMTMgMDA6NDA6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgdGVzdHM6IGZpeCBqaWZtdXggdGVzdAoJICBOZWVkIHRvIHBhc3MgYSBHc3RTYW1wbGUgbm93IGZvciBHU1RfVEFHX0FQUExJQ0FUSU9OX0RBVEEKCSAgaW5zdGVhZCBvZiBhIEdzdEJ1ZmZlci4KCjIwMTItMDktMTIgMTg6MzQ6MDMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmg6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmg6CgkgIHBubTogUG9ydCB0byAxLjAgQVBJCgoyMDEyLTA5LTEyIDE3OjM0OjAzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuaDoKCSAgZnJlZXplOiBVc2UgYSBHUHRyQXJyYXkgaW5zdGVhZCBvZiBhIEdRdWV1ZQoJICBUaGlzIHdheSwgdGhlIG1vc3QgY29tbW9uIGZ1bmN0aW9uIChjaGFuZ2luZyBidWZmZXJzKSBiZWNvbWVzIE8oMSkgaW5zdGVhZAoJICBvZiBPKG4pCgoyMDEyLTA5LTEyIDE3OjI0OjI2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5oOgoJICBmcmVlemU6IFBvcnQgdG8gMS4wIEFQSQoKMjAxMi0wOS0xMiAxNjoyMzo0NyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuaDoKCSAgc3BlZWQ6IFZhcmlvdXMgMS4wIHN0eWxlIGFkZGl0aW9ucwoJICBVc2UgR3N0QXVkaW9JbmZvIGV2ZXJ5d2hlcmUsIGV0YwoKMjAxMi0wOS0xMCAxNzoxNjowNyArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICBzcGVlZDogcG9ydCB0byAwLjExCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODM3MjcKCjIwMTItMDktMTIgMTY6MDM6MDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmg6CgkgIGxpdmVhZGRlcjogcG9ydCB0byAxLjAgQVBJCgoyMDEyLTA5LTEyIDIxOjEzOjM1ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSAgY29sbGVjdHBhZHM6IHJlbW92ZSBnc3RfY29sbGVjdF9wYWRzX2FkZF9wYWRfZnVsbAoJICBSZW5hbWUgZ3N0X2NvbGxlY3RfcGFkc19hZGRfcGFkX2Z1bGwoKSB0byBnc3RfY29sbGVjdF9wYWRzX2FkZF9wYWQoKSBhbmQgZml4IGFsbAoJICBpbnZvY2F0aW9ucy4KCjIwMTItMDktMTIgMTI6MTQ6NTMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSAgc2lyZW46IFBvcnQgdG8gMS4wIEFQSQoKMjAxMi0wOS0xMiAxNTowODowMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IFVzZSBkZWZhdWx0IHF1ZXJ5IGhhbmRsZXJzIHdoZXJlIG5lZWRlZAoJICBBbmQgZml4dXAgZ2V0Y2FwcyBoYW5kbGVyIHdoaWxlIEknbSBhdCBpdAoKMjAxMi0wOS0xMiAwOTo0MjowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IHBvcnQgdGFnc2V0dGVyIG1vZGUgc2V0dGluZyBjb2RlCgkgIENoZWNrIGRpcmVjdGx5IHdpdGggR1NUX0lTX1RBR19TRVRURVIgaW5zdGVhZCBvZiB1c2luZyB0aGUKCSAgZGVwcmVjYXRlZCBHc3RJbXBsZW1lbnRzSW50ZXJmYWNlCgkgIEZpeGVzIHRoZSBpbWFnZSB0YWcgc2V0dGluZyB1bml0IHRlc3QKCjIwMTItMDktMTIgMTM6MDM6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICB0ZXN0czogZml4IHdpbjMyIGJ1aWxkIGV2ZW4gbW9yZQoKMjAxMi0wOS0xMiAxMzoxNzowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgdGVzdHM6IG1wZWd0c211eDogcG9ydCB0byB0aGUgbmV3IEdMaWIgdGhyZWFkIEFQSQoKMjAxMi0wOS0xMiAxMTowODoyNSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGZpeCBhc3BlY3QgcmF0aW8gY2FsY3VsYXRpb24uCgkgIEFTUEVDVF9IT1JJWl9TSVpFIGFuZCBBU1BFQ1RfVkVSVF9TSVpFIGFyZSBzeW50YXggZWxlbWVudHMgdGhhdCBob2xkCgkgIGJpbmFyeSBlbmNvZGluZ3Mgb2Ygc2l6ZXMgcmFuZ2luZyBmcm9tIDEgdG8gMjU2LiBUaHVzLCB0aGUgY2FsY3VsYXRlZAoJICBwaXhlbC1hc3BlY3QtcmF0aW8gd2FzIG9mZiBieSBvbmUuCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Mzg1OAoKMjAxMi0wOS0xMiAxMTowMTozNCArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjRwYXJzZTogZG9uJ3QgdXNlIGFub255bW91cyB1bmlvbnMuCgkgIEFub255bW91cyB1bmlvbiBpcyBhbiBJU08gQyAoMjAxMSkgZmVhdHVyZSB0aGF0IGlzIG5vdCBleHBvc2VkIGluCgkgIGNvbXBpbGVycyBzdHJpY3RseSBjb25mb3JtaW5nIHRvIHRoZSBwcmV2aW91cyBzdGFuZGFyZC4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMi0wOS0xMiAxMToyMTo0MSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGNvbXB1dGUgcGl4ZWwgYXNwZWN0IHJhdGlvLgoJICBTaWduZWQtb2ZmLWJ5OiBTaW1vbiBGYXJuc3dvcnRoIDxzaW1vbi5mYXJuc3dvcnRoQG9uZWxhbi5jby51az4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMi0wOS0xMiAwOTo0ODo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSAgdGVzdHM6IGF0dGVtcHQgdG8gZ2V0IGRpc2FibGVkIHN0cmVhbWhlYWRlciB0ZXN0IHRvIGNvbXBpbGUgb24gd2luMzIKCSAgVGhvdWdoIGl0IHByb2JhYmx5IHdvbid0IHdvcmssIGJ1dCB0aGVuIGl0J3MgZGlzYWJsZWQuCgoyMDEyLTA5LTEyIDA5OjEwOjM1ICswMjAwICBQZXRlciBLb3JzZ2FhcmQgPGphY21ldEBzdW5zaXRlLmRrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBvcHVzICsganBlZ2Zvcm1hdDogdW5icmVhayBub24tZGVidWcgYnVpbGQKCSAgb3B1cyArIGpwZWdmb3JtYXQgcGx1Z2luIGJ1aWxkcyBmYWlsIHdoZW4gZ3N0cmVhbWVyIGlzIGNvbmZpZ3VyZWQgd2l0aAoJICAtLWRpc2FibGUtZ3N0LWRlYnVnIGFzIHRoZXkgYXJlIGNoZWNraW5nIHRoZSBHU1RfRElTQUJMRV9ERUJVRyBzeW1ib2wKCSAgaW5zdGVhZCBvZiBHU1RfRElTQUJMRV9HU1RfREVCVUcuCgkgIFNpZ25lZC1vZmYtYnk6IFBldGVyIEtvcnNnYWFyZCA8amFjbWV0QHN1bnNpdGUuZGs+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODM4NTAKCjIwMTItMDktMTIgMDE6MzU6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvanBlZ2Zvcm1hdC9NYWtlZmlsZS5hbToKCSAganBlZ2Zvcm1hdDogZG9uJ3QgbGluayB0byBsaWJnc3RpbnRlcmZhY2VzIHdoaWNoIGRvZXNuJ3QgZXhpc3QgYW55IGxvbmdlcgoKMjAxMi0wOS0xMSAyMDozMDo1NSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5wbGMuYzoKCSAgc3BhbnBsYzogRG9uJ3QgdW5yZWYgdG9vIG11Y2gsIGRvbid0IGZvcndhcmQgZ2FwIGV2ZW50CgoyMDEyLTA5LTExIDIwOjE5OjQ4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc3BhbmRzcC9nc3RzcGFucGxjLmM6CgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5wbGMuaDoKCSAgc3BhbnBsYzogUG9ydCB0byAxLjAgQVBJCgoyMDEyLTA5LTExIDE5OjQxOjMxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogRG9uJ3QgdHJ5IHRvIHN5bmMgY29udHJvbGxlciB2YWx1ZXMgdG8gaW52YWxpZCB0aW1lc3RhbXAKCjIwMTItMDktMTEgMTk6MzY6MjQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogRmluaXNoIHBvcnQgdG8gMS4wIEFQSQoKMjAxMi0wOS0xMSAxODo1NToxMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9jb252ZXJ0LmM6CgkgIHRlc3Q6IFNpbXBsaWZ5IGF1dG9jb252ZXJ0IHRlc3QKCjIwMTItMDktMTEgMTg6NTM6NDMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IExvb2sgYXQgYWxsIHBvc3NpYmlsaXRpZXMgZm9yIGFjY2VwdC1jYXBzIGV2ZW4gaWYgdGhlcmUgaXMgYSBzZWxlY3RlZCBzdWJlbGVtZW50CgkgIElmIHRoZSBhY2NlcHQtY2FwcyBzdWNjZWVkcyB3aXRoIGEgZGlmZmVyZW50IHN1YmVsZW1lbnQsIHRoZW4gdGhlIHN1YnNlcXVlbnQKCSAgY2FwcyBldmVudCB3aWxsIGNoYW5nZSB0aGUgY3VycmVudCBzdWJlbGVtZW50LgoKMjAxMi0wOS0xMSAxODowMjoyOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29wdXMuYzoKCSAgdGVzdDogRmx1c2ggb3B1cyBlbmNvZGVyIGJldHdlZW4gdGVzdHMKCjIwMTItMDktMTEgMTg6MDE6NTggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vcHVzLmM6CgkgIHRlc3Q6IEZsdXNoIG9wdXMgZW5jb2RlciBiZXR3ZWVuIHRlc3RzCgoyMDEyLTA5LTEwIDE4OjIwOjQ4IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5oOgoJICB1dmNoMjY0OiBNYWtlIGd1ZGV2L2xpYnVzYiBhIGhhcmQgZGVwZW5kZW5jeSBhbmQgcmVtb3ZlIFhVX0ZJTkRfVU5JVCBpb2N0bCBzdXBwb3J0CgkgIENvbmZsaWN0czoKCSAgc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYwoKMjAxMi0wOS0xMSAxNzo0NzoxNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIGV4dCwgZ3N0OiBvbmx5IGFjdGl2YXRlIGluIHB1bGwgbW9kZSBpZiB1cHN0cmVhbSBpcyBzZWVrYWJsZQoKMjAxMi0wOS0xMSAxNTowNzowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgZmVzdGl2YWw6IHRpbWVkIHRleHQgaXMgdGV4dC94LXJhdyBub3cKCjIwMTItMDktMTEgMTU6MDI6MDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2R4LmM6CgkgIGQzZHZpZGVvc2luazogcG9ydCB0byB0aGUgbmV3IEdMaWIgdGhyZWFkIEFQSQoKMjAxMi0wOS0xMSAxNDozMjowNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGxleC5jOgoJICB0ZXN0czogbXBlZzJlbmMsIG1wbGV4OiBwb3J0IHRvIHRoZSBuZXcgR0xpYiB0aHJlYWQgQVBJCgoyMDEyLTA5LTExIDE0OjMxOjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJICBvcHVzZW5jOiBwb3J0IHRvIHRoZSBuZXcgR0xpYiB0aHJlYWQgQVBJCgoyMDEyLTA5LTExIDAxOjUyOjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5naXRpZ25vcmU6CgkgIGdkcDogbW92ZSBnZHAgcGx1Z2luIGhlcmUgZnJvbSAtYmFzZQoJICBOZWVkcyBzb21lIHJld29ya2luZy4KCjIwMTItMDktMDkgMTg6MDU6NTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IGR1bXAgYnl0ZXMgaW50byBkZWJ1ZyBsb2cgdXNpbmcgR1NUX01FTURVTVAKCSAgSW5zdGVhZCBvZiBob21lLWdyb3duIHNvbHV0aW9uLgoKMjAxMi0wNy0yNyAxNToyMTo1MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIHVwZGF0ZSBmb3IgbmV3IHZhcmlhYmxlIG5hbWVzCgoyMDEyLTA3LTAyIDEyOjUyOjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICB0ZXN0czogdXNlIG11bHRpZmRzaW5rIGZvciBzdHJlYW1oZWFkZXIgdGVzdAoJICBVc2UgbXVsdGlmZHNpbmsgZm9yIHBpcGVzIGluc3RlYWQgb2YgbXVsdGlzb2NrZXRzaW5rLAoJICB0byBhdm9pZCAiY3JlYXRpbmcgR1NvY2tldCBmcm9tIGZkIDk6IFNvY2tldCBvcGVyYXRpb24KCSAgb24gbm9uLXNvY2tldCAiY3JpdGljYWxzIGZyb20gR2lvLiBUZXN0IHN0aWxsIGZhaWxzLAoJICBidXQgaXQgZmFpbHMgaW4gYSBkaWZmZXJlbnQgd2F5IG5vdy4KCjIwMTItMDQtMjUgMTg6MDc6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ2RwcGF5OiBwbHVnIGJ1ZmZlciBsZWFrCgoyMDEyLTA0LTE5IDE0OjQxOjQwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICB0ZXN0czogaW5pdGlhbGl6ZSB2YXJpYWJsZXMKCjIwMTItMDQtMTAgMDA6NDU6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBVc2UgbmV3IGdzdF9lbGVtZW50X2NsYXNzX3NldF9zdGF0aWNfbWV0YWRhdGEoKQoKMjAxMi0wNC0wNSAxNToxMTowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcC5jOgoJICBnc3Q6IFVwZGF0ZSBmb3IgR1NUX1BMVUdJTl9ERUZJTkUoKSBBUEkgY2hhbmdlCgoyMDEyLTA0LTAxIDE4OjExOjIzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgSW1wcm92ZSBidWZmZXIgYWxsb2NhdGlvbiBvZiB3cmFwcGVkIG1lbW9yeQoKMjAxMi0wMy0zMCAxODoxMjozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIHVwZGF0ZSBmb3IgYnVmZmVyIGFwaSBjaGFuZ2UKCjIwMTItMDMtMjggMTI6NDg6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICB1cGRhdGUgZm9yIGJ1ZmZlciBjaGFuZ2VzCgoyMDEyLTAzLTE1IDEzOjMyOjA4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgdXBkYXRlIGZvciBtZW1vcnkgYXBpIGNoYW5nZXMKCjIwMTItMDItMjIgMDI6MDU6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICB1cGRhdGUgZm9yIG5ldyBtZW1vcnkgYXBpCgoyMDEyLTAyLTAzIDExOjM4OjU1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkgIGdkcDogZml4dXAgdW5pdCB0ZXN0cwoKMjAxMi0wMi0wMyAxMTozODoxNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdkcHBheTogZml4dXAgZm9yIGNoYW5nZWQgY2FwcwoJICBUcnkgdG8gc2VuZCB0aGUgc3RyZWFtaGVhZGVyIGFmdGVyIHRoZSBmaXJzdCBidWZmZXIuCgoyMDEyLTAyLTAzIDExOjM3OjIxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZGF0YXByb3RvY29sOiBkb24ndCBkZWZpbmUgZGVmYXVsdCBDYXRlZ29yeQoJICBTaW5jZSB3ZSBub3cgaW5jbHVkZSB0aGlzIGludG8gdGhlIHVuaXQgdGVzdHMgZGlyZWN0bHksIGRvbid0IGRlZmluZSB0aGUgZGVmYXVsdAoJICBjYXRlZ29yeSBtYWNybyBiZWNhdXNlIGl0IGNvbmZsaWN0cyB3aXRoIGNoZWNrLgoKMjAxMi0wMS0zMCAxNzoxNjoxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkgIHVwZGF0ZSBmb3IgSEVBREVSIGZsYWcgY2hhbmdlcwoKMjAxMi0wMS0yMCAxNjoxMTo1NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSAgcG9ydCB0byBuZXcgbWFwIEFQSQoKMjAxMi0wMS0xOSAxNTozMjo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSAgdGVzdHM6IGZpeCBzb21lIHRlc3RzCgoyMDEyLTAxLTA0IDE2OjQxOjUzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSAgdGVzdHM6IHBvcnQgYW5kIGVuYWJsZSBtb3JlIHVuaXQgdGVzdHMKCjIwMTEtMTItMjUgMjM6MTk6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9NYWtlZmlsZS5hbToKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSogZ3N0L2dkcC9kcC1wcml2YXRlLmg6CgkqIGdzdC9nZHAvZ3N0Z2RwLmM6CgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkgIGdkcDogbW92ZSBkYXRhcHJvdG9jb2wgbGlicmFyeSBpbnRvIGdkcCBwbHVnaW4gYW5kIG1ha2UgcHJpdmF0ZQoJICBXZSBoYXZlIHJlbW92ZWQgdGhpbmdzIGxpa2UgcHJvdG9jb2w9Z2RwIGluIHRoZSB0Y3AgZWxlbWVudHMKCSAgaW4gZmF2b3VyIG9mIGV4cGxpY2l0IGdkcHBheS9kZXBheSBlbGVtZW50cywgc28gdGhlcmUncyBubyBuZWVkCgkgIHRvIGtlZXAgYSBwdWJsaWMgQVBJIGFuZCBsaWJyYXJ5IGZvciBub3cuIFdlIGNhbiBzdGlsbCBhZGQgaXQKCSAgYmFjayBsYXRlci4gU29tZW9uZSBuZWVkcyB0byB0aGluayBoYXJkIGFib3V0IDAuMTEgYW5kIGdkcAoJICBhbnl3YXkgb25lIG9mIHRoZXNlIGRheXMuCgoyMDExLTExLTExIDE3OjE3OjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuaDoKCSAgZ2RwOiBmaXggaGVhZGVyIGZpbGVzCgkgIEVuc3VyZSBjb3JyZWN0IGluZGVudGF0aW9uIGFuZCByZXRhYgoJICBNYWtlIHN1cmUgYWxsIHN0cnVjdHVyZSBoYXZlIHBhZGRpbmcKCjIwMTEtMDgtMTYgMTc6MzI6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IHJlbmFtZSBidWZmZXIgUFJFUk9MTCAtPiBMSVZFIGZsYWcKCSAgUmVuYW1lIHRoZSBHU1RfQlVGRkVSX0ZMQUdfUFJFUk9MTCB0byBHU1RfQlVGRkVSX0ZMQUdfTElWRSBhbmQgZ2l2ZSB0aGUgbmV3IGZsYWcKCSAgYSBtZWFuaW5nLiBUaGUgb2xkIFBSRVJPTEwgZmxhZyBuZXZlciBoYWQgYSBjbGVhciBtZWFuaW5nLgoKMjAxMS0wNi0xMCAxMzo0MDo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogbWFrZSBuZXcgX2J1ZmZlcl9hbGxvY2F0ZSBtZXRob2QKCSAgTWFrZSBhIG5ldyBtZXRob2QgdG8gYWxsb2NhdGUgYSBidWZmZXIgKyBtZW1vcnkgdGhhdCB0YWtlcyB0aGUgYWxsb2NhdG9yIGFuZCB0aGUKCSAgYWxpZ25tZW50IGFzIHBhcmFtZXRlcnMuIFByb3ZpZGUgYSBtYWNybyBmb3IgdGhlIG9sZCBtZXRob2QgYnV0IHByZWZlciB0byB1c2UKCSAgdGhlIG5ldyBtZXRob2QgdG8gZW5jb3VyYWdlIHBsdWdpbnMgdG8gbmVnb3RpYXRlIHRoZSBhbGxvY2F0b3IgcHJvcGVybHkuCgoyMDExLTA1LTEzIDE4OjA3OjI0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBSZXdvcmsgR3N0U2VnbWVudCBoYW5kbGluZwoJICBJbXByb3ZlIEdzdFNlZ21lbnQsIHJlbmFtZSBzb21lIGZpZWxkcy4gVGhlIGlkZWEgaXMgdG8gaGF2ZSB0aGUgR3N0U2VnbWVudAoJICBzdHJ1Y3R1cmUgcmVwcmVzZW50IHRoZSB0aW1pbmcgc3RydWN0dXJlIG9mIHRoZSBidWZmZXJzIGFzIHRoZXkgYXJlIGdlbmVyYXRlZCBieQoJICB0aGUgc291cmNlIG9yIGRlbXV4ZXIgZWxlbWVudC4KCSAgZ3N0X3NlZ21lbnRfc2V0X3NlZWsoKSAtPiBnc3Rfc2VnbWVudF9kb19zZWVrKCkKCSAgUmVuYW1lIHRoZSBORVdTRUdNRU5UIGV2ZW50IHRvIFNFR01FTlQuCgkgIE1ha2UgcGFyc2luZyBvZiB0aGUgU0VHTUVOVCBldmVudCBpbnRvIGEgR3N0U2VnbWVudCBzdHJ1Y3R1cmUuCgkgIFBhc3MgYSBHc3RTZWdtZW50IHN0cnVjdHVyZSB3aGVuIG1ha2luZyBhIG5ldyBTRUdNRU5UIGV2ZW50LiBUaGlzIGFsbG93cyB1cyB0bwoJICBwYXNzIHRoZSB0aW1pbmcgaW5mbyBkaXJlY3RseSB0byB0aGUgbmV4dCBlbGVtZW50LiBObyBhY2N1bXVsYXRpb24gaXMgbmVlZGVkIGluCgkgIHRoZSByZWNlaXZpbmcgZWxlbWVudCwgYWxsIHRoZSBpbmZvIGlzIGluc2lkZSB0aGUgZWxlbWVudC4KCSAgUmVtb3ZlIGdzdF9zZWdtZW50X3NldF9uZXdzZWdtZW50KCk6IFRoaXMgZnVuY3Rpb24gYXMgdXNlZCB0byBhY2N1bXVsYXRlCgkgIHNlZ21lbnRzIHJlY2VpdmVkIGZyb20gdXBzdHJlYW0sIHdoaWNoIGlzIG5vdyBub3QgbmVlZGVkIGFueW1vcmUgYmVjYXVzZSB0aGUKCSAgc2VnbWVudCBldmVudCBjb250YWlucyB0aGUgY29tcGxldGUgdGltaW5nIGluZm9ybWF0aW9uLgoKMjAxMS0wNS0xMCAxMTo1MDoxNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogSGlkZSB0aGUgR3N0U3RydWN0dXJlIGluIEdzdEV2ZW50CgkgIEhpZGUgdGhlIEdzdFN0cnVjdHVyZSBvZiB0aGUgZXZlbnQgaW4gdGhlIGltcGxlbWVudGF0aW9uIHNwZWNpZmljIHBhcnQgc28gdGhhdAoJICB3ZSBjYW4gY2hhbmdlIGl0LgoJICBBZGQgbWV0aG9kcyB0byBjaGVjayBhbmQgbWFrZSB0aGUgZXZlbnQgd3JpdGFibGUuCgkgIEFkZCBhIG5ldyBtZXRob2QgdG8gZ2V0IGEgd3JpdGFibGUgR3N0U3RydWN0dXJlIG9mIHRoZSBlbGVtZW50LgoJICBBdm9pZCBkaXJlY3RseSBhY2Npc2luZyB0aGUgZXZlbnQgc3RydWN0dXJlLgoKMjAxMS0wNS0wMiAxNjowMDo1MiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuaDoKCSAgZ2RwOiBhZGQgZG9jcyBmb3IgR3N0RFBQYWNrZXRpemVyCgoyMDExLTAzLTIxIDE4OjEzOjU1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBwb3J0IGNvZGUgdG8gbmV3IGJ1ZmZlciBkYXRhIEFQSQoKMjAxMC0xMi0wNiAxOTo0MDowMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmg6CgkgIGdkcDogcmVtb3ZlIGRlcHJlY2F0ZWQgY29kZQoKMjAxMC0xMC0wOCAwOTozNDo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IG1ha2UgcHVibGljIGVudW0gX2dldF90eXBlKCkgZnVuY3Rpb25zIHRocmVhZC1zYWZlCgkgIE5vdCB0aGF0IGl0IGlzIGxpa2VseSB0byBtYXR0ZXIgaW4gcHJhY3RpY2UsIGJ1dCBzaW5jZSB0aGVzZSBhcmUgcHVibGljCgkgIEFQSSB0aGV5IHNob3VsZCBwcm9iYWJseSBiZSB0aHJlYWQtc2FmZS4KCjIwMTAtMTAtMDggMDA6Mzg6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBkYXRhcHJvdG9jb2wsIGxmb2NvbnRyb2xzb3VyY2U6IGZpeCBlbnVtIHZhbHVlIG5hbWUgaW4gZW51bXMgdGhhdCBhcmUgcHVibGljIEFQSQoJICBTbyBydW4tdGltZSBiaW5kaW5ncyBjYW4gaW50cm9zcGVjdCB0aGUgbmFtZXMgY29ycmVjdGx5ICh3ZSBhYnVzZSB0aGlzCgkgIGZpZWxkIGFzIGRlc2NyaXB0aW9uIGZpZWxkIG9ubHkgaW4gZWxlbWVudHMsIG5vdCBmb3IgcHVibGljIEFQSQoJICAod2hlcmUgdGhlIGRlc2NyaXB0aW9uIGJlbG9uZ3MgaW50byB0aGUgZ3RrLWRvYyBjaHVuaykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mjk5NDYKCjIwMTAtMDMtMDIgMjI6NTg6MDYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogRml4ZXMgZm9yIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMKCSAgQWxzbyBhZGRzIHRob3NlIGZsYWdzIHRvIHRoZSBjb25maWd1cmUgd2FybmluZyBmbGFncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjExNjkyCgoyMDEwLTAzLTAyIDIzOjUxOjE4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvZ2RwL2RwLXByaXZhdGUuaDoKCSAgZ2RwOiBNYWtlIGNvZGUgc2FmZSBmb3IgLVdyZWR1bmRhbnQtZGVjbHMKCSAgQWRkcyB0aGF0IHdhcm5pbmcgdG8gY29uZmlndXJlLmFjCgkgIEluY2x1ZGVzIGEgdGlueSBjaGFuZ2Ugb2YgdGhlIEdTVF9CT0lMRVJQTEFURV9GVUxMKCkgbWFjcm86CgkgIFRoZSBnZXRfdHlwZSgpIGZ1bmN0aW9uIGlzIG5vIGxvbmdlciBkZWNsYXJlZCBiZWZvcmUgYmVpbmcgZGVmaW5lZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMTY5MgoKMjAwOS0xMS0yNyAxNjozOTozNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBmaXggYnJva2VuIHhyZWZzIGluIGRvY3MKCjIwMDgtMDYtMzAgMDk6Mzg6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdkcDogRG9uJ3Qgd3JpdGUgdG8gdGhlIHNhbWUgcmVnaW9uIG9mIG1lbW9yeSBhcyBhIHVpbnQ2NCBhbmQgdWludDE2IGFzIHRoaXMgYnJlYWtzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6CgkgIERvbid0IHdyaXRlIHRvIHRoZSBzYW1lIHJlZ2lvbiBvZiBtZW1vcnkgYXMgYSB1aW50NjQgYW5kIHVpbnQxNgoJICBhcyB0aGlzIGJyZWFrcyBzdHJpY3QgYWxpYXNpbmcgcnVsZXMgYW5kIGFwcGFyYW50bHkgYnJlYWtzIG9uIFBQQwoJICBhbmQgczM5MC4gVGhhbmtzIHRvIFNqb2VyZCBTaW1vbnMgZm9yIGFuYWx5c2luZy4gRml4ZXMgYnVnICMzNDgxMTQuCgoyMDA4LTAzLTI3IDE1OjIzOjU1ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnZHA6IFdoZW4gY2FsY3VsYXRpbmcgR0RQIGJvZHkgQ1JDLCB1c2UgdGhlIGNvcnJlY3QgcG9pbnRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICAoZ3N0X2RwX3BhY2tldF9mcm9tX2V2ZW50XzFfMCk6CgkgIFdoZW4gY2FsY3VsYXRpbmcgR0RQIGJvZHkgQ1JDLCB1c2UgdGhlIGNvcnJlY3QgcG9pbnRlci4KCSAgRml4ZXMgcGFydCBvZiAjNTIyNDAxLgoKMjAwOC0wMi0yOSAxMjo0MTozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ2RwOiBDb3JyZWN0IGFsbCByZWxldmFudCB3YXJuaW5ncyBmb3VuZCBieSB0aGUgc3BhcnNlIHNlbWFudGljIGNvZGUgYW5hbHl6ZXIuIFRoaXMgaW5jbHVkZSBtYXJraW5nIHNldmVyYWwgc3ltYm9scyBzdGF0aWMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dzdGNvbmZpZy5oLmluOgoJICAqIGxpYnMvZ3N0L2Jhc2UvZ3N0Y29sbGVjdHBhZHMuYzogKGdzdF9jb2xsZWN0X3BhZHNfcmVhZF9idWZmZXIpOgoJICAqIGxpYnMvZ3N0L2NoZWNrL2dzdGNoZWNrLmM6IChnc3RfY2hlY2tfbG9nX21lc3NhZ2VfZnVuYyksCgkgIChnc3RfY2hlY2tfbG9nX2NyaXRpY2FsX2Z1bmMpLCAoZ3N0X2NoZWNrX2Ryb3BfYnVmZmVycyksCgkgIChnc3RfY2hlY2tfZWxlbWVudF9wdXNoX2J1ZmZlcl9saXN0KToKCSAgKiBsaWJzL2dzdC9jb250cm9sbGVyL2dzdGNvbnRyb2xsZXIuYzogKGdzdF9jb250cm9sbGVyX2dldCksCgkgIChnc3RfY29udHJvbGxlcl9nZXRfdHlwZSk6CgkgICogbGlicy9nc3QvY29udHJvbGxlci9nc3RoZWxwZXIuYzogKGdzdF9vYmplY3RfY29udHJvbF9wcm9wZXJ0aWVzKSwKCSAgKGdzdF9vYmplY3RfZ2V0X2NvbnRyb2xsZXIpLCAoZ3N0X29iamVjdF9nZXRfY29udHJvbF9zb3VyY2UpOgoJICAqIGxpYnMvZ3N0L2NvbnRyb2xsZXIvZ3N0aW50ZXJwb2xhdGlvbmNvbnRyb2xzb3VyY2UuYzoKCSAgKGdzdF9pbnRlcnBvbGF0aW9uX2NvbnRyb2xfc291cmNlX25ldyk6CgkgICogbGlicy9nc3QvY29udHJvbGxlci9nc3RsZm9jb250cm9sc291cmNlLmM6CgkgIChnc3RfbGZvX2NvbnRyb2xfc291cmNlX25ldyk6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICAoZ3N0X2RwX2V2ZW50X2Zyb21fcGFja2V0XzBfMik6CgkgICogcGx1Z2lucy9lbGVtZW50cy9nc3RmZHNyYy5jOgoJICAqIHBsdWdpbnMvZWxlbWVudHMvZ3N0bXVsdGlxdWV1ZS5jOgoJICAqIHBsdWdpbnMvZWxlbWVudHMvZ3N0dGVlLmM6CgkgICogcGx1Z2lucy9lbGVtZW50cy9nc3R0eXBlZmluZGVsZW1lbnQuYzoKCSAgKiBwbHVnaW5zL2luZGV4ZXJzL2dzdGZpbGVpbmRleC5jOiAoX2ZpbGVfaW5kZXhfaWRfc2F2ZV94bWwpLAoJICAoZ3N0X2ZpbGVfaW5kZXhfYWRkX2Fzc29jaWF0aW9uKToKCSAgKiBwbHVnaW5zL2luZGV4ZXJzL2dzdG1lbWluZGV4LmM6CgkgICogdGVzdHMvYmVuY2htYXJrcy9nc3Rwb2xsc3RyZXNzLmM6IChtZXNzX3NvbWVfbW9yZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcXVldWUuYzogKHNldHVwX3F1ZXVlKToKCSAgKiB0ZXN0cy9jaGVjay9nc3QvZ3N0cGlwZWxpbmUuYzoKCSAgKiB0ZXN0cy9jaGVjay9saWJzL2NvbGxlY3RwYWRzLmM6IChzZXR1cCksICh0ZWFyZG93biksCgkgIChnc3RfY29sbGVjdF9wYWRzX3N1aXRlKToKCSAgKiB0ZXN0cy9leGFtcGxlcy9hZGFwdGVyL2FkYXB0ZXJfdGVzdC5jOgoJICAqIHRlc3RzL2V4YW1wbGVzL21ldGFkYXRhL3JlYWQtbWV0YWRhdGEuYzogKG1ha2VfcGlwZWxpbmUpOgoJICAqIHRlc3RzL2V4YW1wbGVzL3htbC9jcmVhdGV4bWwuYzoKCSAgKiB0ZXN0cy9leGFtcGxlcy94bWwvcnVueG1sLmM6CgkgICogdG9vbHMvZ3N0LWluc3BlY3QuYzoKCSAgKiB0b29scy9nc3QtcnVuLmM6CgkgIENvcnJlY3QgYWxsIHJlbGV2YW50IHdhcm5pbmdzIGZvdW5kIGJ5IHRoZSBzcGFyc2Ugc2VtYW50aWMgY29kZQoJICBhbmFseXplci4gVGhpcyBpbmNsdWRlIG1hcmtpbmcgc2V2ZXJhbCBzeW1ib2xzIHN0YXRpYywgdXNpbmcKCSAgTlVMTCBpbnN0ZWFkIG9mIDAgZm9yIHBvaW50ZXJzLCBub3QgdXNpbmcgdmFyaWFibGUgc2l6ZWQgYXJyYXlzCgkgIG9uIHRoZSBzdGFjaywgbW92aW5nIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyB0byB0aGUgYmVnaW5uaW5nIG9mCgkgIGEgYmxvY2sgYW5kIHVzaW5nICJmb28gKHZvaWQpIiBpbnN0ZWFkIG9mICJmb28gKCkiIGZvciBkZWNsYXJhdGlvbnMuCgoyMDA4LTAxLTA4IDAyOjA3OjM4ICswMDAwICBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuLmxlc3BpYXVAZ21haWwuY29tPgoKCSAgZ2RwOiBGaXggZW1wdHkgcHJvdG90eXBlcy4gRml4ZXMgYnVnICM1MDc5NTcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRGFtaWVuIExlc3BpYXUgPGRhbWllbi5sZXNwaWF1QGdtYWlsLmNvbT4KCSAgKiBsaWJzL2dzdC9jb250cm9sbGVyL2dzdGNvbnRyb2xsZXIuaDoKCSAgKiBsaWJzL2dzdC9jb250cm9sbGVyL2dzdGNvbnRyb2xzb3VyY2UuaDoKCSAgKiBsaWJzL2dzdC9jb250cm9sbGVyL2dzdGludGVycG9sYXRpb25jb250cm9sc291cmNlLmg6CgkgICogbGlicy9nc3QvY29udHJvbGxlci9nc3RsZm9jb250cm9sc291cmNlLmg6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5oOgoJICBGaXggZW1wdHkgcHJvdG90eXBlcy4gIEZpeGVzIGJ1ZyAjNTA3OTU3LgoKMjAwNy0xMS0wMSAyMTo1MDowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdkcDogZ190eXBlX2NsYXNzX3JlZigpIG90aGVyIHR5cGVzIGFzIHdlbGwsIHNlZSAjMzQ5NDEwIGFuZCAjNjQ3NjQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nc3QuYzogKGluaXRfcG9zdCk6CgkgICogZ3N0L2dzdGV2ZW50LmM6IChfZ3N0X2V2ZW50X2luaXRpYWxpemUpOgoJICAqIGdzdC9nc3RxdWVyeS5jOiAoX2dzdF9xdWVyeV9pbml0aWFsaXplKToKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmMgKGdzdF9kcF9pbml0KToKCSAgZ190eXBlX2NsYXNzX3JlZigpIG90aGVyIHR5cGVzIGFzIHdlbGwsIHNlZSAjMzQ5NDEwIGFuZCAjNjQ3NjQuCgkgICogZ3N0L2dzdGJ1ZmZlci5jOiAoX2dzdF9idWZmZXJfaW5pdGlhbGl6ZSk6CgkgICogZ3N0L2dzdG1lc3NhZ2UuYzogKF9nc3RfbWVzc2FnZV9pbml0aWFsaXplKToKCSAgU2ltcGxpZnkgZXhpc3RpbmcgZ190eXBlX2NsYXNzX3JlZigpLgoKMjAwNi0xMC0wNSAxNDoyNjowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdkcDogUHJpbnRmIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ3N0cGFkLmM6IChwcmVfYWN0aXZhdGUpOgoJICAqIGdzdC9nc3RyZWdpc3RyeS5jOiAoZ3N0X3JlZ2lzdHJ5X3NjYW5fcGF0aF9sZXZlbCk6CgkgICogZ3N0L2dzdHJlZ2lzdHJ5eG1sLmM6IChsb2FkX3BsdWdpbik6CgkgICogbGlicy9nc3QvY29udHJvbGxlci9nc3Rjb250cm9sbGVyLmM6CgkgIChnc3RfY29udHJvbGxlZF9wcm9wZXJ0eV9zZXRfaW50ZXJwb2xhdGlvbl9tb2RlKToKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6CgkgIChnc3RfZHBfcGFja2V0X2Zyb21fZXZlbnRfMV8wKToKCSAgKiBsaWJzL2dzdC9uZXQvZ3N0bmV0Y2xpZW50Y2xvY2suYzoKCSAgKGdzdF9uZXRfY2xpZW50X2Nsb2NrX29ic2VydmVfdGltZXMpOgoJICAqIHBsdWdpbnMvZWxlbWVudHMvZ3N0ZmRzcmMuYzogKGdzdF9mZF9zcmNfY3JlYXRlKToKCSAgUHJpbnRmIGZpeGVzLgoKMjAwNi0wOC0xMSAxNToyNjozMyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ2RwOiBHU1RfRElTQUJMRV9ERVBSRUNBVEVEIGlzIG9ubHkgZm9yIHVzZXJzIG9mIEFQSSB0aGF0IGRvbid0IHdhbnQgdG8gc2VlIGRlcHJlY2F0ZWQgZnVuY3Rpb25zIGluIHRoZSBoZWFkZXJzOyBwZW9wbGUgdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDgtMTEgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzogKGdzdF9kcF9wYWNrZXRpemVyX25ldyk6CgkgICogdGVzdHMvY2hlY2svbGlicy9nZHAuYzogKGdzdF9kcF9zdWl0ZSk6IEdTVF9ESVNBQkxFX0RFUFJFQ0FURUQKCSAgaXMgb25seSBmb3IgdXNlcnMgb2YgQVBJIHRoYXQgZG9uJ3Qgd2FudCB0byBzZWUgZGVwcmVjYXRlZAoJICBmdW5jdGlvbnMgaW4gdGhlIGhlYWRlcnM7IHBlb3BsZSB0aGF0IHdhbnQgdG8gY29tcGlsZSBvdXQKCSAgZGVwcmVjYXRlZCBjb2RlIHNob3VsZCBwYXNzIC1ER1NUX1JFTU9WRV9ERVBSRUNBVEVEIGludG8gdGhlCgkgIENGTEFHUy4gRml4ZXMgdGhlIGJ1aWxkIG9mIG11bHRpZmRzaW5rLCBvciB3aWxsIHNvb24uLgoKMjAwNi0wOC0xMCAxOTo0NjoxNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ2RwOiBhZGQgZ3N0X29iamVjdF97cyxnfWV0X2NvbnRyb2xfcmF0ZSgpLCBhZGQgcHJpdmF0ZSBkYXRhIHNlY3Rpb24sIGZpeCBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvbGlicy9nc3RyZWFtZXItbGlicy1zZWN0aW9ucy50eHQ6CgkgICogbGlicy9nc3QvY29udHJvbGxlci9nc3Rjb250cm9sbGVyLmM6CgkgIChfZ3N0X2NvbnRyb2xsZXJfZ2V0X3Byb3BlcnR5KSwgKF9nc3RfY29udHJvbGxlcl9zZXRfcHJvcGVydHkpLAoJICAoX2dzdF9jb250cm9sbGVyX2luaXQpLCAoX2dzdF9jb250cm9sbGVyX2NsYXNzX2luaXQpOgoJICAqIGxpYnMvZ3N0L2NvbnRyb2xsZXIvZ3N0Y29udHJvbGxlci5oOgoJICAqIGxpYnMvZ3N0L2NvbnRyb2xsZXIvZ3N0aGVscGVyLmM6IChnc3Rfb2JqZWN0X2dldF9jb250cm9sX3JhdGUpLAoJICAoZ3N0X29iamVjdF9zZXRfY29udHJvbF9yYXRlKToKCSAgQVBJOiBhZGQgZ3N0X29iamVjdF97cyxnfWV0X2NvbnRyb2xfcmF0ZSgpLCBhZGQgcHJpdmF0ZSBkYXRhIHNlY3Rpb24sCgkgIGZpeCBkb2NzCgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOiAoZ3N0X2RwX3BhY2tldGl6ZXJfbmV3KToKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmg6CgkgIGFkZCBkZXByZWNhdGlvbiBndWFyZHMgdG8gbWFrZSBndGstZG9jIGhhcHB5IGFuZCBhbGxvdyBkaXNhYmxpbmcgY3J1ZnQKCjIwMDYtMDgtMDIgMTU6MTk6MzAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnZHA6IE1ha2UgZGVidWcgY2F0ZWdvcnkgc3RhdGljCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgKGdzdF9kcF9oZWFkZXJfZnJvbV9idWZmZXJfYW55KSwgKGdzdF9kcF9wYWNrZXRfZnJvbV9jYXBzX2FueSksCgkgIChnc3RfZHBfY3JjKSwgKGdzdF9kcF9oZWFkZXJfcGF5bG9hZF9sZW5ndGgpLAoJICAoZ3N0X2RwX2hlYWRlcl9wYXlsb2FkX3R5cGUpLCAoZ3N0X2RwX3BhY2tldF9mcm9tX2V2ZW50KSwKCSAgKGdzdF9kcF9wYWNrZXRfZnJvbV9ldmVudF8xXzApLCAoZ3N0X2RwX2J1ZmZlcl9mcm9tX2hlYWRlciksCgkgIChnc3RfZHBfY2Fwc19mcm9tX3BhY2tldCksIChnc3RfZHBfZXZlbnRfZnJvbV9wYWNrZXRfMF8yKSwKCSAgKGdzdF9kcF9ldmVudF9mcm9tX3BhY2tldCksIChnc3RfZHBfdmFsaWRhdGVfaGVhZGVyKSwKCSAgKGdzdF9kcF92YWxpZGF0ZV9wYXlsb2FkKToKCSAgTWFrZSBkZWJ1ZyBjYXRlZ29yeSBzdGF0aWMKCSAgQ29uc3RpZnkgdGhlIGNyYyB0YWJsZS4KCSAgRG8gc29tZSBtb3JlIGFyZyBjaGVja2luZyBpbiBwdWJsaWMgZnVuY3Rpb25zLgoJICBGaXggc29tZSBkb2NzIGFuZCBkbyBzb21lIHNtYWxsIGNsZWFudXBzLgoJICAqIHRlc3RzL2NoZWNrL2xpYnMvZ2RwLmM6IChHU1RfU1RBUlRfVEVTVCksIChnc3RfZHBfc3VpdGUpOgoJICBBZGQgc29tZSBtb3JlIGNoZWNrcyB0byBzZWUgaWYgR0RQIGRlYWxzIHdpdGggYm9ndXMgaW5wdXQuCgoyMDA2LTA3LTEzIDE0OjAyOjE2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdkcDogZml4IGZhaWx1cmUgdG8gZGVzZXJpYWxpemUgZXZlbnQgcGFja2V0cyB3aXRoIGVtcHR5IHBheWxvYWQgKG9ubHkgZXYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICAoZ3N0X2RwX2V2ZW50X2Zyb21fcGFja2V0XzFfMCk6CgkgIEZpeGVzICMzNDczMzc6IGZhaWx1cmUgdG8gZGVzZXJpYWxpemUgZXZlbnQgcGFja2V0cyB3aXRoCgkgIGVtcHR5IHBheWxvYWQgKG9ubHkgZXZlbnQgdHlwZSkKCjIwMDYtMDYtMTMgMTk6MjQ6MzQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ2RwOiBhZGQgYSBnZHAgaW1hZ2UgdG8gdGhlIGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9SRUFETUU6CgkgICogZG9jcy9pbWFnZXMvZ2RwLWhlYWRlci5zdmc6CgkgIGFkZCBhIGdkcCBpbWFnZQoJICAqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL2xpYnMvZ2RwLWhlYWRlci5wbmc6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICBhZGQgaXQgdG8gdGhlIEFQSSBkb2NzCgkgICogZG9jcy9tYW51YWwvaW50cm8tbW90aXZhdGlvbi54bWw6CgkgIGZpeCB0eXBvCgoyMDA2LTA2LTA2IDE0OjI5OjU0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogYWRkIG5vdGUgdG8gZG9jcyBhYm91dCBHRFAgdmVyc2lvbmluZzsgcmVtb3ZlIHRtcGwgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIG5vdGUgdG8gZG9jcyBhYm91dCBHRFAgdmVyc2lvbmluZzsgcmVtb3ZlIHRtcGwgZmlsZQoKMjAwNi0wNi0wNiAxNDoyNDowMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnZHA6IGFkZCBhIEdzdERQUGFja2V0aXplciBvYmplY3QsIGFuZCBjcmVhdGUvZnJlZSBmdW5jdGlvbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICAoZ3N0X2RwX2hlYWRlcl9mcm9tX2J1ZmZlcl9hbnkpLCAoZ3N0X2RwX3BhY2tldF9mcm9tX2NhcHNfYW55KSwKCSAgKGdzdF9kcF92ZXJzaW9uX2dldF90eXBlKSwgKGdzdF9kcF9pbml0KSwKCSAgKGdzdF9kcF9oZWFkZXJfZnJvbV9idWZmZXIpLCAoZ3N0X2RwX2hlYWRlcl9mcm9tX2J1ZmZlcl8xXzApLAoJICAoZ3N0X2RwX3BhY2tldF9mcm9tX2NhcHMpLCAoZ3N0X2RwX3BhY2tldF9mcm9tX2NhcHNfMV8wKSwKCSAgKGdzdF9kcF9wYWNrZXRfZnJvbV9ldmVudCksIChnc3RfZHBfcGFja2V0X2Zyb21fZXZlbnRfMV8wKSwKCSAgKGdzdF9kcF9ldmVudF9mcm9tX3BhY2tldF8wXzIpLCAoZ3N0X2RwX2V2ZW50X2Zyb21fcGFja2V0XzFfMCksCgkgIChnc3RfZHBfZXZlbnRfZnJvbV9wYWNrZXQpLCAoZ3N0X2RwX3BhY2tldGl6ZXJfbmV3KSwKCSAgKGdzdF9kcF9wYWNrZXRpemVyX2ZyZWUpOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuaDoKCSAgQVBJOiBhZGQgYSBHc3REUFBhY2tldGl6ZXIgb2JqZWN0LCBhbmQgY3JlYXRlL2ZyZWUgZnVuY3Rpb25zCgkgIEFQSTogYWRkIEdzdERQVmVyc2lvbiBlbnVtCgkgIEFkZCAxLjAgZXZlbnQgZnVuY3Rpb24gdGhhdCB1c2VzIHRoZSBzdHJpbmcgc2VyaWFsaXphdGlvbgoJICBTZXJpYWxpemUgbW9yZSB1c2VmdWwgYnVmZmVyIGZsYWdzCgkgIEZpeGVzICMzNDM5ODgKCjIwMDYtMDYtMDIgMTY6NDY6MTkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ2RwOiBmYWN0b3Igb3V0IENSQyBjb2RlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgKGdzdF9kcF9oZWFkZXJfZnJvbV9idWZmZXIpLCAoZ3N0X2RwX3BhY2tldF9mcm9tX2NhcHMpLAoJICAoZ3N0X2RwX3BhY2tldF9mcm9tX2V2ZW50KToKCSAgZmFjdG9yIG91dCBDUkMgY29kZQoKMjAwNi0wNi0wMiAxMDo1ODo0NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnZHA6IGZhY3RvciBvdXQgc29tZSBjb21tb24gaGVhZGVyIGluaXQgY29kZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6CgkgIChnc3RfZHBfaGVhZGVyX2Zyb21fYnVmZmVyKSwgKGdzdF9kcF9wYWNrZXRfZnJvbV9jYXBzKSwKCSAgKGdzdF9kcF9wYWNrZXRfZnJvbV9ldmVudCk6CgkgIGZhY3RvciBvdXQgc29tZSBjb21tb24gaGVhZGVyIGluaXQgY29kZQoKMjAwNi0wNi0wMiAxMDowODozMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnZHA6IG1ha2UgZ3N0X2RwX2NyYygpIHB1YmxpYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL2xpYnMvZ3N0cmVhbWVyLWxpYnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvbGlicy90bXBsL2dzdGRhdGFwcm90b2NvbC5zZ21sOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzogKGdzdF9kcF9jcmMpOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuaDoKCSAgQVBJOiBtYWtlIGdzdF9kcF9jcmMoKSBwdWJsaWMKCjIwMDYtMDYtMDEgMTE6MTM6NDQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ2RwOiBtYWtlIHN1cmUgd2UgemVybyB0aGUgd2hvbGUgQUJJLWNvbXBhdGlibGUgYXJlYQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6CgkgIChnc3RfZHBfaGVhZGVyX2Zyb21fYnVmZmVyKToKCSAgbWFrZSBzdXJlIHdlIHplcm8gdGhlIHdob2xlIEFCSS1jb21wYXRpYmxlIGFyZWEKCjIwMDYtMDUtMDggMTU6NTM6MTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiB3aGl0ZXNwYWNlLCBjb21tZW50LCBkb2MgZml4dXAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHdoaXRlc3BhY2UsIGNvbW1lbnQsIGRvYyBmaXh1cAoKMjAwNi0wNC0yOCAxMzo0MDoxNSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ2RwOiBGaXhlcyBpbiByZWFkaW5nL3dyaXRpbmcgZXZlbnRzIG92ZXIgR0RQIChub3QgY3VycmVudGx5IHVzZWQ/KSAtIGRlcmVmZXJlbmNpbmcgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzogKGdzdF9kcF9wYWNrZXRfZnJvbV9ldmVudCksCgkgIChnc3RfZHBfZXZlbnRfZnJvbV9wYWNrZXQpOgoJICBGaXhlcyBpbiByZWFkaW5nL3dyaXRpbmcgZXZlbnRzIG92ZXIgR0RQIChub3QgY3VycmVudGx5IHVzZWQ/KSAtCgkgIGRlcmVmZXJlbmNpbmcgTlVMTCBldmVudHMgZm9yIHVua25vd24vaW52YWxpZCBldmVudCB0eXBlcywgbWVtb3J5CgkgIGxlYWssIGFuZCBjaGFuZ2UgZ193YXJuaW5nIHRvIEdTVF9XQVJOSU5HLgoKMjAwNi0wMy0xMCAxNTozMDoyNyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ2RwOiBGaXggZG9jcyBmb3IgZGF0YXByb2NvdG9sIHRvIG5vdCBnZXQgdGhlIHJldHVybiB0eXBlcyBjb21wbGV0ZWx5IHdyb25nIGZvciBhIGZlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgRml4IGRvY3MgZm9yIGRhdGFwcm9jb3RvbCB0byBub3QgZ2V0IHRoZSByZXR1cm4gdHlwZXMgY29tcGxldGVseQoJICB3cm9uZyBmb3IgYSBmZXcgZnVuY3Rpb25zLgoKMjAwNS0xMi0xOCAxNjowNDo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdkcDogRG9jdW1lbnRhdGlvbiB1cGRhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBsaWJzL2dzdC9iYXNlL2dzdGFkYXB0ZXIuYzoKCSAgKiBsaWJzL2dzdC9iYXNlL2dzdGFkYXB0ZXIuaDoKCSAgKiBsaWJzL2dzdC9iYXNlL2dzdGJhc2VzaW5rLmM6IChnc3RfYmFzZV9zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jhc2Vfc2lua19nZXRfcG9zaXRpb24pOgoJICAqIGxpYnMvZ3N0L2Jhc2UvZ3N0YmFzZXNpbmsuaDoKCSAgKiBsaWJzL2dzdC9iYXNlL2dzdGJhc2VzcmMuYzogKGdzdF9iYXNlX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9iYXNlX3NyY19kZWZhdWx0X3F1ZXJ5KSwgKGdzdF9iYXNlX3NyY19kZWZhdWx0X2RvX3NlZWspLAoJICAoZ3N0X2Jhc2Vfc3JjX2RvX3NlZWspLCAoZ3N0X2Jhc2Vfc3JjX3BlcmZvcm1fc2VlayksCgkgIChnc3RfYmFzZV9zcmNfc2VuZF9ldmVudCksIChnc3RfYmFzZV9zcmNfdXBkYXRlX2xlbmd0aCksCgkgIChnc3RfYmFzZV9zcmNfZ2V0X3JhbmdlKSwgKGdzdF9iYXNlX3NyY19sb29wKSwKCSAgKGdzdF9iYXNlX3NyY19zdGFydCk6CgkgICogbGlicy9nc3QvYmFzZS9nc3RiYXNlc3JjLmg6CgkgICogbGlicy9nc3QvYmFzZS9nc3RiYXNldHJhbnNmb3JtLmg6CgkgICogbGlicy9nc3QvYmFzZS9nc3Rjb2xsZWN0cGFkcy5oOgoJICAqIGxpYnMvZ3N0L2Jhc2UvZ3N0cHVzaHNyYy5jOgoJICAqIGxpYnMvZ3N0L2Jhc2UvZ3N0cHVzaHNyYy5oOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmg6CgkgICogbGlicy9nc3QvbmV0L2dzdG5ldGNsaWVudGNsb2NrLmg6CgkgICogbGlicy9nc3QvbmV0L2dzdG5ldHRpbWVwcm92aWRlci5oOgoJICBEb2N1bWVudGF0aW9uIHVwZGF0ZXMuCgoyMDA1LTEwLTEzIDE2OjI2OjEyICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnZHA6IEZpeCBUaW1tZWtlIFdheW1hbnMgYnVnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0xMyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmMgKGdzdF9kcF9wYWNrZXRfZnJvbV9jYXBzKToKCSAgRml4IFRpbW1la2UgV2F5bWFucyBidWcuCgkgIChnc3RfZHBfY2Fwc19mcm9tX3BhY2tldCk6IE1ha2Ugc3VyZSB3ZSBwYXNzIGEgTlVMLXRlcm1pbmF0ZWQKCSAgc3RyaW5nIG9mIHRoZSBwcm9wZXIgbGVuZ3RoIHRvIGdzdF9jYXBzX2Zyb21fc3RyaW5nLiBUaGVyZSdzIGEKCSAgcG90ZW50aWFsIGZvciwgYmVmb3JlIHRoaXMgZml4LCB0aGF0IHRoaXMgY291bGQgY2F1c2Ugc29tZW9uZQoJICBjb25uZWN0aW5nIG92ZXIgdGhlIG5ldHdvcmsgdG8gY2F1c2UgYSBzZWdmYXVsdCBpZiB0aGUgcGF5bG9hZCBpcwoJICBub3QgTlVMLXRlcm1pbmF0ZWQuCgoyMDA1LTEwLTEwIDIzOjU1OjM5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogZml4IG1vcmUgdmFsZ3JpbmQgd2FybmluZ3MgYmVmb3JlIHR1cm5pbmcgdXAgdGhlIGhlYXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBtb3JlIHZhbGdyaW5kIHdhcm5pbmdzIGJlZm9yZSB0dXJuaW5nIHVwIHRoZSBoZWF0CgoyMDA1LTEwLTA4IDE3OjE3OjI1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ2RwOiBJdCdzIGFib3V0IHRpbWUgd2UgYnVtcCB0aGUgdmVyc2lvbiBudW1iZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgKGdzdF9kcF9oZWFkZXJfZnJvbV9idWZmZXIpLCAoZ3N0X2RwX3BhY2tldF9mcm9tX2NhcHMpLAoJICAoZ3N0X2RwX3BhY2tldF9mcm9tX2V2ZW50KToKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmg6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RwLXByaXZhdGUuaDoKCSAgSXQncyBhYm91dCB0aW1lIHdlIGJ1bXAgdGhlIHZlcnNpb24gbnVtYmVyLgoJICBTaW5jZSBldmVudCB0eXBlcyBkb24ndCBmaXQgaW4gdGhlIGd1aW50OCBhbnltb3JlIGRlc2NyaWJpbmcKCSAgdGhlIHBheWxvYWQgdHlwZSwgbWFrZSBwYXlsb2FkIHR5cGUgMTYgYml0cyB3aWRlLgoKMjAwNS0wOS0yNyAxNjozMDoyNiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ2RwOiBGaXggZXJyb3ItY2hlY2tpbmcgcmV0dXJuIHZhbHVlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMDktMjcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOiBGaXggZXJyb3ItY2hlY2tpbmcgcmV0dXJuCgkgIHZhbHVlcy4KCjIwMDUtMDctMjcgMTk6MDA6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnZHA6IEZpeCBzZXJpYWxpemF0aW9uIG9mIHNlZWsgZXZlbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6IChnc3RfZHBfcGFja2V0X2Zyb21fZXZlbnQpLAoJICAoZ3N0X2RwX2V2ZW50X2Zyb21fcGFja2V0KToKCSAgRml4IHNlcmlhbGl6YXRpb24gb2Ygc2VlayBldmVudHMuCgoyMDA1LTA3LTI3IDE4OjMzOjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ2RwOiBTb21lIGRvY3MgdXBkYXRlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBDSEFOR0VTLTAuOToKCSAgKiBkb2NzL2Rlc2lnbi9wYXJ0LVRPRE8udHh0OgoJICAqIGRvY3MvZGVzaWduL3BhcnQtZXZlbnRzLnR4dDoKCSAgU29tZSBkb2NzIHVwZGF0ZXMKCSAgKiBnc3QvYmFzZS9nc3RiYXNlc2luay5jOiAoZ3N0X2Jhc2Vfc2lua19oYW5kbGVfb2JqZWN0KSwKCSAgKGdzdF9iYXNlX3NpbmtfZXZlbnQpLCAoZ3N0X2Jhc2Vfc2lua19kb19zeW5jKSwKCSAgKGdzdF9iYXNlX3NpbmtfYWN0aXZhdGVfcHVzaCksIChnc3RfYmFzZV9zaW5rX2FjdGl2YXRlX3B1bGwpOgoJICAqIGdzdC9iYXNlL2dzdGJhc2VzcmMuYzogKGdzdF9iYXNlX3NyY19zZW5kX2Rpc2NvbnQpLAoJICAoZ3N0X2Jhc2Vfc3JjX2RvX3NlZWspLCAoZ3N0X2Jhc2Vfc3JjX2V2ZW50X2hhbmRsZXIpLAoJICAoZ3N0X2Jhc2Vfc3JjX2xvb3ApOgoJICAqIGdzdC9iYXNlL2dzdGJhc2V0cmFuc2Zvcm0uYzogKGdzdF9iYXNlX3RyYW5zZm9ybV90cmFuc2Zvcm1fY2FwcyksCgkgIChnc3RfYmFzZV90cmFuc2Zvcm1fY29uZmlndXJlX2NhcHMpLCAoZ3N0X2Jhc2VfdHJhbnNmb3JtX3NldGNhcHMpLAoJICAoZ3N0X2Jhc2VfdHJhbnNmb3JtX2dldF9zaXplKSwgKGdzdF9iYXNlX3RyYW5zZm9ybV9idWZmZXJfYWxsb2MpLAoJICAoZ3N0X2Jhc2VfdHJhbnNmb3JtX2V2ZW50KSwgKGdzdF9iYXNlX3RyYW5zZm9ybV9oYW5kbGVfYnVmZmVyKSwKCSAgKGdzdF9iYXNlX3RyYW5zZm9ybV9zZXRfcGFzc3Rocm91Z2gpLAoJICAoZ3N0X2Jhc2VfdHJhbnNmb3JtX2lzX3Bhc3N0aHJvdWdoKToKCSAgKiBnc3QvZWxlbWVudHMvZ3N0ZmFrZXNpbmsuYzogKGdzdF9mYWtlX3NpbmtfZXZlbnQpOgoJICAqIGdzdC9lbGVtZW50cy9nc3RmaWxlc2luay5jOiAoZ3N0X2ZpbGVfc2lua19ldmVudCk6CgkgIEV2ZW50IHVwZGF0ZXMuCgkgICogZ3N0L2dzdGJ1ZmZlci5oOgoJICBVc2UgZmFzdGVyIGNhc3RzLgoJICAqIGdzdC9nc3RlbGVtZW50LmM6IChnc3RfZWxlbWVudF9zZWVrKToKCSAgKiBnc3QvZ3N0ZWxlbWVudC5oOgoJICBVcGRhdGUgZ3N0X2VsZW1lbnRfc2Vlay4KCSAgKiBnc3QvZ3N0ZXZlbnQuYzogKGdzdF9ldmVudF9maW5hbGl6ZSksIChfZ3N0X2V2ZW50X2NvcHkpLAoJICAoZ3N0X2V2ZW50X25ldyksIChnc3RfZXZlbnRfbmV3X2N1c3RvbSksIChnc3RfZXZlbnRfZ2V0X3N0cnVjdHVyZSksCgkgIChnc3RfZXZlbnRfbmV3X2ZsdXNoX3N0YXJ0KSwgKGdzdF9ldmVudF9uZXdfZmx1c2hfc3RvcCksCgkgIChnc3RfZXZlbnRfbmV3X2VvcyksIChnc3RfZXZlbnRfbmV3X25ld3NlZ21lbnQpLAoJICAoZ3N0X2V2ZW50X3BhcnNlX25ld3NlZ21lbnQpLCAoZ3N0X2V2ZW50X25ld190YWcpLAoJICAoZ3N0X2V2ZW50X3BhcnNlX3RhZyksIChnc3RfZXZlbnRfbmV3X2ZpbGxlciksIChnc3RfZXZlbnRfbmV3X3FvcyksCgkgIChnc3RfZXZlbnRfcGFyc2VfcW9zKSwgKGdzdF9ldmVudF9uZXdfc2VlayksCgkgIChnc3RfZXZlbnRfcGFyc2Vfc2VlayksIChnc3RfZXZlbnRfbmV3X25hdmlnYXRpb24pOgoJICAqIGdzdC9nc3RldmVudC5oOgoJICBNYWtlIEdzdEV2ZW50IHVzZSBHc3RTdHJ1Y3R1cmUuIEFkZCBwYXJzaW5nIGNvZGUsIG1ha2Ugc3VyZSB0aGUKCSAgQVBJIGlzIHN1ZmZpY2llbnRseSBnZW5lcmljLgoJICBNYXJrIHBvc3NpYmxlIGRpcmVjdGlvbnMgb2YgZXZlbnRzIGFuZCBzZXJpYWxpemF0aW9uLgoJICAqIGdzdC9nc3RtZXNzYWdlLmM6IChnc3RfbWVzc2FnZV9pbml0KSwgKGdzdF9tZXNzYWdlX2ZpbmFsaXplKSwKCSAgKF9nc3RfbWVzc2FnZV9jb3B5KSwgKGdzdF9tZXNzYWdlX25ld19zZWdtZW50X3N0YXJ0KSwKCSAgKGdzdF9tZXNzYWdlX25ld19zZWdtZW50X2RvbmUpLCAoZ3N0X21lc3NhZ2VfbmV3X2N1c3RvbSksCgkgIChnc3RfbWVzc2FnZV9wYXJzZV9zZWdtZW50X3N0YXJ0KSwKCSAgKGdzdF9tZXNzYWdlX3BhcnNlX3NlZ21lbnRfZG9uZSk6CgkgIFNtYWxsIGNsZWFudXBzLgoJICAqIGdzdC9nc3RwYWQuYzogKGdzdF9wYWRfZ2V0X2NhcHNfdW5sb2NrZWQpLCAoZ3N0X3BhZF9hY2NlcHRfY2FwcyksCgkgIChnc3RfcGFkX3NldF9jYXBzKSwgKGdzdF9wYWRfc2VuZF9ldmVudCk6CgkgIFVwZGF0ZSBmb3IgbmV3IGV2ZW50cy4KCSAgQ2F0Y2ggZXZlbnRzIHNlbnQgaW4gd3JvbmcgZGlyZWN0aW9ucy4KCSAgKiBnc3QvZ3N0cXVldWUuYzogKGdzdF9xdWV1ZV9saW5rX3NyYyksCgkgIChnc3RfcXVldWVfaGFuZGxlX3NpbmtfZXZlbnQpLCAoZ3N0X3F1ZXVlX2NoYWluKSwgKGdzdF9xdWV1ZV9sb29wKSwKCSAgKGdzdF9xdWV1ZV9oYW5kbGVfc3JjX3F1ZXJ5KToKCSAgRXZlbnQgdXBkYXRlcy4KCSAgKiBnc3QvZ3N0dGFnLmM6CgkgICogZ3N0L2dzdHRhZy5oOgoJICBSZW1vdmUgZXZlbnQgY29kZSBmcm9tIHRoaXMgZmlsZS4KCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6IChnc3RfZHBfcGFja2V0X2Zyb21fZXZlbnQpLAoJICAoZ3N0X2RwX2V2ZW50X2Zyb21fcGFja2V0KToKCSAgRXZlbnQgdXBkYXRlcy4KCjIwMDUtMDctMDUgMTA6MjA6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnZHA6IFBvcnRlZCBkYXRhcHJvdG9sIHRvIDAuOS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9NYWtlZmlsZS5hbToKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6IChnc3RfZHBfdmFsaWRhdGVfcGFja2V0KToKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmg6CgkgICogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJICAqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZGF0YXByb3RvY29sLXVuaW5zdGFsbGVkLnBjLmluOgoJICAqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZGF0YXByb3RvY29sLnBjLmluOgoJICBQb3J0ZWQgZGF0YXByb3RvbCB0byAwLjkuCgkgIEFkZGVkIHBrZ2NvbmZpZyBmaWxlcy4KCjIwMDUtMDUtMTYgMjA6MjE6NTUgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ2RwOiByZW1vdmUgR3N0RGF0YSBjaGVja3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY2hlY2svTWFrZWZpbGUuYW06IHJlbW92ZSBHc3REYXRhIGNoZWNrcwoJICAqIGNoZWNrL2dzdC1saWJzL2dkcC5jOiAoU1RBUlRfVEVTVCk6IGZpeCBmb3IgQVBJIGNoYW5nZXMKCSAgKiBnc3QvTWFrZWZpbGUuYW06IGFkZCBtaW5pb2JqZWN0LCByZW1vdmUgZGF0YQoJICAqIGdzdC9nc3QuaDogYWRkIG1pbmlvYmplY3QsIHJlbW92ZSBkYXRhCgkgICogZ3N0L2dzdGRhdGEuYzogcmVtb3ZlCgkgICogZ3N0L2dzdGRhdGEuaDogcmVtb3ZlCgkgICogZ3N0L2dzdGRhdGFfcHJpdmF0ZS5oOiByZW1vdmUKCSAgKiBnc3QvZ3N0dHlwZXMuaDogcmVtb3ZlIEdzdEV2ZW50IGFuZCBHc3RNZXNzYWdlCgkgICogZ3N0L2dzdGVsZW1lbnQuYzogKGdzdF9lbGVtZW50X3Bvc3RfbWVzc2FnZSk6IGZpeCBmb3IgQVBJIGNoYW5nZXMKCSAgKiBnc3QvZ3N0bWFyc2hhbC5saXN0OiBjaGFuZ2UgQk9YRUQgLT4gT0JKRUNUCgkgIEltcGxlbWVudCBHc3RNaW5pT2JqZWN0LgoJICAqIGdzdC9nc3RtaW5pb2JqZWN0LmM6CgkgICogZ3N0L2dzdG1pbmlvYmplY3QuaDoKCSAgTW9kaWZ5IHRvIGJlIHN1YmNsYXNzZXMgb2YgR3N0TWluaU9iamVjdC4KCSAgKiBnc3QvZ3N0YnVmZmVyLmM6IChfZ3N0X2J1ZmZlcl9pbml0aWFsaXplKSwgKGdzdF9idWZmZXJfZ2V0X3R5cGUpLAoJICAoZ3N0X2J1ZmZlcl9jbGFzc19pbml0KSwgKGdzdF9idWZmZXJfZmluYWxpemUpLCAoX2dzdF9idWZmZXJfY29weSksCgkgIChnc3RfYnVmZmVyX2luaXQpLCAoZ3N0X2J1ZmZlcl9uZXcpLCAoZ3N0X2J1ZmZlcl9uZXdfYW5kX2FsbG9jKSwKCSAgKGdzdF9zdWJidWZmZXJfZ2V0X3R5cGUpLCAoZ3N0X3N1YmJ1ZmZlcl9pbml0KSwKCSAgKGdzdF9idWZmZXJfY3JlYXRlX3N1YiksIChnc3RfYnVmZmVyX2lzX3NwYW5fZmFzdCksCgkgIChnc3RfYnVmZmVyX3NwYW4pOgoJICAqIGdzdC9nc3RidWZmZXIuaDoKCSAgKiBnc3QvZ3N0ZXZlbnQuYzogKF9nc3RfZXZlbnRfaW5pdGlhbGl6ZSksIChnc3RfZXZlbnRfZ2V0X3R5cGUpLAoJICAoZ3N0X2V2ZW50X2NsYXNzX2luaXQpLCAoZ3N0X2V2ZW50X2luaXQpLCAoZ3N0X2V2ZW50X2ZpbmFsaXplKSwKCSAgKF9nc3RfZXZlbnRfY29weSksIChnc3RfZXZlbnRfbmV3KToKCSAgKiBnc3QvZ3N0ZXZlbnQuaDoKCSAgKiBnc3QvZ3N0bWVzc2FnZS5jOiAoX2dzdF9tZXNzYWdlX2luaXRpYWxpemUpLAoJICAoZ3N0X21lc3NhZ2VfZ2V0X3R5cGUpLCAoZ3N0X21lc3NhZ2VfY2xhc3NfaW5pdCksCgkgIChnc3RfbWVzc2FnZV9pbml0KSwgKGdzdF9tZXNzYWdlX2ZpbmFsaXplKSwgKF9nc3RfbWVzc2FnZV9jb3B5KSwKCSAgKGdzdF9tZXNzYWdlX25ldyksIChnc3RfbWVzc2FnZV9uZXdfZXJyb3IpLAoJICAoZ3N0X21lc3NhZ2VfbmV3X3dhcm5pbmcpLCAoZ3N0X21lc3NhZ2VfbmV3X3RhZyksCgkgIChnc3RfbWVzc2FnZV9uZXdfc3RhdGVfY2hhbmdlZCksIChnc3RfbWVzc2FnZV9uZXdfYXBwbGljYXRpb24pOgoJICAqIGdzdC9nc3RtZXNzYWdlLmg6CgkgICogZ3N0L2dzdHByb2JlLmM6IChnc3RfcHJvYmVfcGVyZm9ybSksCgkgIChnc3RfcHJvYmVfZGlzcGF0Y2hlcl9kaXNwYXRjaCk6CgkgICogZ3N0L2dzdHByb2JlLmg6CgkgICogZ3N0L2dzdHF1ZXJ5LmM6IChfZ3N0X3F1ZXJ5X2luaXRpYWxpemUpLCAoZ3N0X3F1ZXJ5X2dldF90eXBlKSwKCSAgKGdzdF9xdWVyeV9jbGFzc19pbml0KSwgKGdzdF9xdWVyeV9maW5hbGl6ZSksIChnc3RfcXVlcnlfaW5pdCksCgkgIChfZ3N0X3F1ZXJ5X2NvcHkpLCAoZ3N0X3F1ZXJ5X25ldyk6CgkgIFVwZGF0ZSBlbGVtZW50cyBmb3IgR3N0RGF0YSAtPiBHc3RNaW5pT2JqZWN0IGNoYW5nZXMKCSAgKiBnc3QvZ3N0cXVlcnkuaDoKCSAgKiBnc3QvZ3N0cXVldWUuYzogKGdzdF9xdWV1ZV9maW5hbGl6ZSksIChnc3RfcXVldWVfbG9ja2VkX2ZsdXNoKSwKCSAgKGdzdF9xdWV1ZV9jaGFpbiksIChnc3RfcXVldWVfbG9vcCk6CgkgICogZ3N0L2VsZW1lbnRzL2dzdGJ1ZmZlcnN0b3JlLmM6CgkgIChnc3RfYnVmZmVyX3N0b3JlX2FkZF9idWZmZXJfZnVuYyksCgkgIChnc3RfYnVmZmVyX3N0b3JlX2NsZWFyZWRfZnVuYyksIChnc3RfYnVmZmVyX3N0b3JlX2dldF9idWZmZXIpOgoJICAqIGdzdC9lbGVtZW50cy9nc3RmYWtlc2luay5jOiAoZ3N0X2Zha2VzaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Zha2VzaW5rX3JlbmRlcik6CgkgICogZ3N0L2VsZW1lbnRzL2dzdGZha2VzcmMuYzogKGdzdF9mYWtlc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9lbGVtZW50cy9nc3RmaWxlc3JjLmM6IChnc3RfbW1hcF9idWZmZXJfZ2V0X3R5cGUpLAoJICAoZ3N0X21tYXBfYnVmZmVyX2NsYXNzX2luaXQpLCAoZ3N0X21tYXBfYnVmZmVyX2luaXQpLAoJICAoZ3N0X21tYXBfYnVmZmVyX2ZpbmFsaXplKSwgKGdzdF9maWxlc3JjX21hcF9yZWdpb24pLAoJICAoZ3N0X2ZpbGVzcmNfY3JlYXRlX3JlYWQpOgoJICAqIGdzdC9lbGVtZW50cy9nc3RpZGVudGl0eS5jOiAoZ3N0X2lkZW50aXR5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9lbGVtZW50cy9nc3R0eXBlZmluZGVsZW1lbnQuYzoKCSAgKGdzdF90eXBlX2ZpbmRfZWxlbWVudF9zcmNfZXZlbnQpLCAoZnJlZV9lbnRyeV9idWZmZXJzKSwKCSAgKGdzdF90eXBlX2ZpbmRfZWxlbWVudF9oYW5kbGVfZXZlbnQpOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgKGdzdF9kcF9oZWFkZXJfZnJvbV9idWZmZXIpOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuaDoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZHAtcHJpdmF0ZS5oOgoKMjAwNS0wNS0wNCAyMToyOTo0NCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ2RwOiBHQ0MgNCBmaXhlbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMDUtMDQgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBjaGVjay9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL2dzdC90bXBsL2dzdGF0b21pYy5zZ21sOgoJICAqIGRvY3MvZ3N0L3RtcGwvZ3N0cGx1Z2luLnNnbWw6CgkgICogZ3N0L2Jhc2UvZ3N0YmFzZXNpbmsuYzogKGdzdF9iYXNlc2lua19hY3RpdmF0ZSk6CgkgICogZ3N0L2Jhc2UvZ3N0YmFzZXNyYy5jOiAoZ3N0X2Jhc2VzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYmFzZXNyY19pbml0KSwgKGdzdF9iYXNlc3JjX3NldF9kYXRhZmxvd19mdW5jcyksCgkgIChnc3RfYmFzZXNyY19xdWVyeSksIChnc3RfYmFzZXNyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2Jhc2VzcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9iYXNlc3JjX2NoZWNrX2dldF9yYW5nZSksCgkgIChnc3RfYmFzZXNyY19hY3RpdmF0ZSk6CgkgICogZ3N0L2Jhc2UvZ3N0YmFzZXNyYy5oOgoJICAqIGdzdC9iYXNlL2dzdGJhc2V0cmFuc2Zvcm0uYzogKGdzdF9iYXNlX3RyYW5zZm9ybV9zaW5rX2FjdGl2YXRlKSwKCSAgKGdzdF9iYXNlX3RyYW5zZm9ybV9zcmNfYWN0aXZhdGUpOgoJICAqIGdzdC9lbGVtZW50cy9nc3RlbGVtZW50cy5jOgoJICAqIGdzdC9lbGVtZW50cy9nc3RmYWtlc3JjLmM6IChnc3RfZmFrZXNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9mYWtlc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfZmFrZXNyY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9lbGVtZW50cy9nc3R0ZWUuYzogKGdzdF90ZWVfc2lua19hY3RpdmF0ZSk6CgkgICogZ3N0L2VsZW1lbnRzL2dzdHR5cGVmaW5kZWxlbWVudC5jOiAoZmluZF9lbGVtZW50X2dldF9sZW5ndGgpLAoJICAoZ3N0X3R5cGVfZmluZF9lbGVtZW50X2NoZWNrZ2V0cmFuZ2UpLAoJICAoZ3N0X3R5cGVfZmluZF9lbGVtZW50X2FjdGl2YXRlKToKCSAgKiBnc3QvZ3N0YmluLmM6IChnc3RfYmluX3NhdmVfdGh5c2VsZiksIChnc3RfYmluX3Jlc3RvcmVfdGh5c2VsZik6CgkgICogZ3N0L2dzdGNhcHMuYzogKGdzdF9jYXBzX2RvX3NpbXBsaWZ5KSwgKGdzdF9jYXBzX3NhdmVfdGh5c2VsZiksCgkgIChnc3RfY2Fwc19sb2FkX3RoeXNlbGYpOgoJICAqIGdzdC9nc3RlbGVtZW50LmM6IChnc3RfZWxlbWVudF9wYWRzX2FjdGl2YXRlKSwKCSAgKGdzdF9lbGVtZW50X3NhdmVfdGh5c2VsZiksIChnc3RfZWxlbWVudF9yZXN0b3JlX3RoeXNlbGYpOgoJICAqIGdzdC9nc3RwYWQuYzogKGdzdF9wYWRfbG9hZF9hbmRfbGluayksIChnc3RfcGFkX3NhdmVfdGh5c2VsZiksCgkgIChnc3RfZ2hvc3RfcGFkX3NhdmVfdGh5c2VsZiksIChnc3RfcGFkX2NoZWNrX3B1bGxfcmFuZ2UpOgoJICAqIGdzdC9nc3RwYWQuaDoKCSAgKiBnc3QvZ3N0eG1sLmM6IChnc3RfeG1sX3dyaXRlKSwgKGdzdF94bWxfcGFyc2VfZG9jKSwKCSAgKGdzdF94bWxfcGFyc2VfZmlsZSksIChnc3RfeG1sX3BhcnNlX21lbW9yeSksCgkgIChnc3RfeG1sX2dldF9lbGVtZW50KSwgKGdzdF94bWxfbWFrZV9lbGVtZW50KToKCSAgKiBnc3QvaW5kZXhlcnMvZ3N0ZmlsZWluZGV4LmM6IChnc3RfZmlsZV9pbmRleF9sb2FkKSwKCSAgKF9maWxlX2luZGV4X2lkX3NhdmVfeG1sKSwgKGdzdF9maWxlX2luZGV4X2NvbW1pdCk6CgkgICogZ3N0L3JlZ2lzdHJpZXMvZ3N0bGlieG1scmVnaXN0cnkuYzogKHJlYWRfc3RyaW5nKSwgKHJlYWRfdWludCksCgkgIChyZWFkX2VudW0pLCAobG9hZF9wYWRfdGVtcGxhdGUpLCAobG9hZF9mZWF0dXJlKSwgKGxvYWRfcGx1Z2luKSwKCSAgKGxvYWRfcGF0aHMpOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzogKGdzdF9kcF9wYWNrZXRfZnJvbV9jYXBzKSwKCSAgKGdzdF9kcF9wYWNrZXRfZnJvbV9ldmVudCksIChnc3RfZHBfY2Fwc19mcm9tX3BhY2tldCk6CgkgICogdG9vbHMvZ3N0LWNvbXBsZXRlLmM6IChtYWluKToKCSAgKiB0b29scy9nc3QtY29tcHByZXAuYzogKG1haW4pOgoJICAqIHRvb2xzL2dzdC1pbnNwZWN0LmM6IChwcmludF9lbGVtZW50X3Byb3BlcnRpZXNfaW5mbyk6CgkgICogdG9vbHMvZ3N0LWxhdW5jaC5jOiAoeG1sbGF1bmNoX3BhcnNlX2NtZGxpbmUpOgoJICAqIHRvb2xzL2dzdC14bWxpbnNwZWN0LmM6IChwcmludF9lbGVtZW50X3Byb3BlcnRpZXMpOgoJICBHQ0MgNCBmaXhlbi4KCjIwMDUtMDMtMjEgMTc6MzQ6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IE5leHQgYmlnIG1lcmdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTmV4dCBiaWcgbWVyZ2UuCgkgIEFkZGVkIEdzdEJ1cyBmb3IgbWFpbmxvb3AgaW50ZWdyYXRpb24uCgkgIEFkZGVkIEdzdE1lc3NhZ2UgZm9yIHNlbmRpbmcgbm90aWZpY2F0aW9ucyBvbiB0aGUgYnVzLgoJICBBZGRlZCBHc3RUYXNrIGFzIGFuIGFic3RyYWN0aW9uIGZvciBwaXBlbGluZSBlbnRyeSBwb2ludHMuCgkgIFJlbW92ZWQgR3N0VGhyZWFkLgoJICBSZW1vdmVkIFNjaGVkdWxlcnMuCgkgIFNpbXBsaWZpZWQgR3N0UXVldWUgZm9yIG11bHRpdGhyZWFkZWQgY29yZS4KCSAgTWFkZSBfbGluayB0aHJlYWRzYWZlLCByZW1vdmVkIG9sZCBjYXBzbmVnby4KCSAgQWRkZWQgU1RSRUFNX0xPQ0sgYW5kIFBSRVJPTExfTE9DSyBpbiBHc3RQYWQuCgkgIEFkZGVkIHBhZCBibG9ja2luZyBmdW5jdGlvbnMuCgkgIFJld29ya2VkIHNjaGVkdWxpbmcgZnVuY3Rpb25zIGluIEdzdFBhZCB0byBwcmVwYXJlIGZvcgoJICBzY2hlZHVsaW5nIHVwZGF0ZXMgc29vbi4KCSAgTW92ZWQgZXZlbnRzIG91dCBvZiBkYXRhIHN0cmVhbS4KCSAgU2ltcGxpZmllZCBHc3RFdmVudCB0eXBlcy4KCSAgQWRkZWQgcmV0dXJuIHZhbHVlcyB0byBwdXNoL3B1bGwuCgkgIFJlbW92ZWQgY2xvY2tpbmcgZnJvbSBHc3RFbGVtZW50LgoJICBBZGRlZCBwcm90b3R5cGVzIGZvciBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gZm9yIG5leHQgbWVyZ2UuCgkgIFJlbW92ZWQgaXRlcmF0ZSBmcm9tIGJpbnMgYW5kIHN0YXRlIGNoYW5nZSBtYW5hZ2VtZW50LgoJICBGaXhlZCBzb21lIGVsZW1lbnRzLCBkaXNhYmxlZCBvdGhlcnMgZm9yIG5vdy4KCSAgRml4ZWQgLWluc3BlY3QgYW5kIC1sYXVuY2guCgkgIEFkZGVkIGNoZWNrIGZvciBHc3RCdXMuCgoyMDA1LTAzLTA3IDE4OjI3OjQyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBGaXJzdCBUSFJFQURFRCBiYWNrcG9ydCBhdHRlbXB0LCBmb2N1c2luZyBvbiBhZGRpbmcgbG9ja3MgYW5kIG1ha2luZyBzdXJlIHRoZSBBUEkgaXMgdGhyZWFkc2FmZS4gTmVlZHMgbW9yZSB3b3JrLiBNb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpcnN0IFRIUkVBREVEIGJhY2twb3J0IGF0dGVtcHQsIGZvY3VzaW5nIG9uIGFkZGluZyBsb2NrcyBhbmQKCSAgbWFraW5nIHN1cmUgdGhlIEFQSSBpcyB0aHJlYWRzYWZlLiBOZWVkcyBtb3JlIHdvcmsuIE1vcmUgZG9jcwoJICBmb2xsb3cgdGhpcyB3ZWVrLgoKMjAwNS0wMi0xOCAxMzo1ODozNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdkcDogQWxsb2NhdGUgdGhlIDEgYnl0ZSBtb3JlIG1lbW9yeSB0aGF0IHdhcyBmb3Jnb3R0ZW4hISEhIQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0wMi0xOCAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzogKGdzdF9kcF9kdW1wX2J5dGVfYXJyYXkpOgoJICBBbGxvY2F0ZSB0aGUgMSBieXRlIG1vcmUgbWVtb3J5IHRoYXQgd2FzIGZvcmdvdHRlbiEhISEhCgoyMDA0LTEwLTAxIDE2OjQ5OjAxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ2RwOiBGaXggdGhyZWFkc2FmZXR5IG9mIHRoZSBjcmMgY2hlY2tpbmcgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzogKGdzdF9kcF9jcmMpOgoJICBGaXggdGhyZWFkc2FmZXR5IG9mIHRoZSBjcmMgY2hlY2tpbmcgZnVuY3Rpb24uCgoyMDA0LTA4LTE2IDEwOjM1OjM2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogZml4IGZvciAjMTUwMjQyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggZm9yICMxNTAyNDIKCjIwMDQtMDctMjggMTA6MjI6MDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBkb2Mgc3R5bGUgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvYyBzdHlsZSBmaXhlcwoKMjAwNC0wNi0wOSAxNjoyNDoxOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5oOgoJKiBnc3QvZ2RwL2RwLXByaXZhdGUuaDoKCSAgZ2RwOiBidW1wIEdEUCB0byAwLjEsIGFkZCBidWZmZXIgZmxhZ3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJ1bXAgR0RQIHRvIDAuMSwgYWRkIGJ1ZmZlciBmbGFncwoKMjAwNC0wNS0yNCAxNjozODoxNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5oOgoJICBnZHA6IHdyYXAgaGVhZGVyIGluIF9ORVcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHdyYXAgaGVhZGVyIGluIF9ORVcKCjIwMDQtMDUtMTkgMTc6MjI6NTMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSogZ3N0L2dkcC9kcC1wcml2YXRlLmg6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOiB1c2UgR1NUIG1hY3JvczsgYWRkIGFzc2VydHMKCjIwMDQtMDUtMTkgMTY6NTk6MzkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9kcC1wcml2YXRlLmg6CgkgIGdkcDogcHJpdmF0ZSBwcm90b3R5cGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHByaXZhdGUgcHJvdG90eXBlCgoyMDA0LTA1LTE5IDE2OjM3OjUzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmg6CgkqIGdzdC9nZHAvZHAtcHJpdmF0ZS5oOgoJICBnZHA6IGFkZCBkYXRhcHJvdG9jb2wKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNsZWFuIHVwIGxpYnMgZG9jczsgYWRkIGRhdGFwcm90b2NvbAoKMjAxMS0xMS0xNyAxMjo0ODoyNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgYWRkIHBhcmVudCB0byBwYWQgZnVuY3Rpb25zCgoyMDExLTExLTEwIDE4OjMyOjM5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJICB1cGRhdGUgZm9yIGFkYXB0ZXIgYXBpIGNoYW5nZXMKCjIwMTEtMDktMjkgMTM6NDY6MzYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgdGVzdHM6IHVwZGF0ZSBmb3IgbmV3IGF1ZGlvIGNhcHMKCjIwMTEtMDctMDggMjA6MDI6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ2RwcGF5OiBwYXJzZSBjYXBzIGV2ZW50IGFuZCBwYXlsb2FkIGNhcHMKCSAgV2hpY2ggbWFrZXMgaXQgYWN0dWFsbHkgb3V0cHV0IHN0dWZmLgoKMjAxMS0wNi0xMyAxNjozMjo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIC1iYXNlOiB1cGRhdGUgZm9yIGJ1ZmZlciBBUEkgY2hhbmdlCgoyMDExLTA1LTE2IDEzOjQ4OjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICAtYmFzZTogcG9ydCB0byBuZXcgU0VHTUVOVCBBUEkKCjIwMTEtMDUtMDkgMTg6MTY6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBzZWdtZW50OiBmaXggZm9yIG5ldyBjb3JlIEFQSQoJICBGaXggZm9yIGdzdF8qX3NlZ21lbnRfZnVsbCByZW5hbWUuCgoyMDExLTA1LTA5IDEzOjA1OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICAtYmFzZTogZG9uJ3QgdXNlIGJ1ZmZlciBjYXBzCgkgIFBvcnQgdG8gbmV3ZXN0IDAuMTEgY29yZSBBUEksIHJlbW92ZSBHU1RfUEFEX0NBUFMgYW5kIEdTVF9CVUZGRVJfQ0FQUy4KCjIwMTEtMDQtMTkgMTE6MzU6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnc3Q6IFVzZSBHX0RFRklORV9UWVBFIGluc3RlYWQgb2YgR1NUX0JPSUxFUlBMQVRFCgoyMDExLTAxLTI3IDE3OjI4OjUxICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9nZHAvTWFrZWZpbGUuYW06CgkgIGFuZHJvaWQ6IG1ha2UgaXQgcmVhZHkgZm9yIGFuZHJvZ2VuaXplcgoJICBSZW1vdmUgdGhlIGFuZHJvaWQvIHRvcCBkaXIKCSAgRml4ZSB0aGUgTWFrZWZpbGUuYW0gdG8gYmUgYW5kcm9nZW5pemVkCgkgIFRvIGJ1aWxkIGdzdHJlYW1lciBmb3IgYW5kcm9pZCB3ZSBhcmUgbm93IHVzaW5nIGFuZHJvZ2VuaXplciB3aGljaCBnZW5lcmF0ZXMgdGhlCgkgIG5lZWRlZCBBbmRyb2lkLm1rIGZpbGVzLgoJICBBbmRyb2dlbml6ZXIgY2FuIGJlIGZvdW5kIGhlcmU6CgkgIGh0dHA6Ly9naXQuY29sbGFib3JhLmNvLnVrLz9wPXVzZXIvZGVyZWsvYW5kcm9nZW5pemVyLmdpdAoKMjAxMS0wMy0zMSAxNzo0Nzo0MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGJ1ZmZlcmxpc3Q6IGZpeGVzIGZvciBuZXcgQVBJCgoyMDExLTAzLTI4IDE3OjQ2OjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkgIHRlc3RzOiBmaXggbW9yZSB1bml0IHRlc3RzCgoyMDExLTAzLTI4IDE1OjUxOjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICB0ZXN0czogZml4IHJlbWFpbmluZyB1bml0IHRlc3RzCgoyMDExLTAzLTI4IDE0OjEyOjI0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkgIHRlc3RzOiB3b3JrIG9uIHBvcnRpbmcgdGhlIHVuaXQgdGVzdHMKCjIwMTEtMDMtMjcgMTY6MzU6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIHBsdWdpbnM6IHBvcnQgc29tZSBwbHVnaW5zIHRvIHRoZSBuZXcgbWVtb3J5IEFQSQoKMjAxMS0wMi0wOSAxMjo0NToyMyArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ2RwcGF5OiBlbnN1cmUgYnVmZmVyJ3MgbWV0YWRhdGEgaXMgd3JpdGFibGUgYmVmb3JlIHNldHRpbmcgY2FwcwoKMjAxMS0wMS0xNiAxNDo1NTo0NiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnZHBwYXk6IG1ha2UgbmV3c2VnbWVudCBidWZmZXIgbWV0YWRhdGEgd3JpdGFibGUKCjIwMTAtMDYtMTggMTY6Mzc6MTQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJICB0ZXN0czogdXNlIG91ciBvd24gbWFjcm9zIGZvciB0aGUgdGVzdHMgbWFpbiBmdW5jdGlvbgoKMjAxMC0wMy0xNSAyMjo0OTo1MyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSAgQWRkIC1Xd3JpdGUtc3RyaW5ncyB0byBjb25maWd1cmUKCSAgRml4ZXMgZm9yIHRoZSBjb2RlIGluY2x1ZGVkCgoyMDEwLTAzLTE2IDE1OjQ1OjIzICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzID0+IGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZQoJICBBbHNvIGNoYW5nZSBteSBlbWFpbCBmcm9tIHRoZSBvbGQgdW5pdmVyc2l0eSBvbmUgdG8gdGhlIGN1cnJlbnQgb25lLgoKMjAxMC0wMy0xMSAxMzozMjoxNCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5oOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICBBZGQgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyB0byB3YXJuaW5nIGZsYWdzCgkgIEluY2x1ZGVzIGFsbCB0aGUgZml4ZXMgbmVjZXNzYXJ5IHRvIG1ha2Ugc3R1ZmYgY29tcGlsZSBhZ2Fpbi4KCjIwMDktMTEtMDUgMTU6NDI6MDkgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSAgZ2RwZGVwYXk6IENsZWFyIGFkYXB0ZXIgb24gZmx1c2ggYW5kIHN0YXRlIGNoYW5nZQoJICBGaXhlcyAjNjAwNDY5CgoyMDA5LTEwLTI4IDAwOjU5OjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgUmVtb3ZlIEdTVF9ERUJVR19GVU5DUFRSIHdoZXJlIHRoZXkncmUgcG9pbnRsZXNzCgkgIFRoZXJlJ3Mgbm90IG11Y2ggcG9pbnQgaW4gdXNpbmcgR1NUX0RFQlVHX0ZVTkNQVFIgd2l0aCBHT2JqZWN0CgkgIHZpcnR1YWwgZnVuY3Rpb25zIHN1Y2ggYXMgZ2V0X3Byb3BlcnR5LCBzZXRfcHJvcGVyeSwgZmluYWxpemUgYW5kCgkgIGRpc3Bvc2UsIHNpbmNlIHRoZXknbGwgbmV2ZXIgYmUgdXNlZCBieSBhbnlvbmUgYW55d2F5LiBTYXZlcyBhCgkgIGZldyBieXRlcyBhbmQgcG9zc2libHkgYSBzaXh0ZWVudGggb2YgYSBwb2xhciBiZWFyLgoKMjAwOS0wOS0yMiAxMTo1ODoyNiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ2RwcGF5OiBEb24ndCByZXBlYXQgdGFncyBidWZmZXJzIGZvciBldmVyeSBuZXcgc2VnbWVudAoJICBPbmx5IHNlbmQgYSB0YWcgYnVmZmVyIHdoZW4gb25lIGlzIHJlY2VpdmVkLCBub3QgYWZ0ZXIgZXZlcnkgbmV3IHNlZ21lbnQKCSAgZXZlbnQvdXBkYXRlLgoKMjAwOS0wOC0yNyAxODo1OTo0OSArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBCdWcgNTkzMDM1IC0gc2V0IElOX0NBUFMgZm9yIHN0cmVhbWhlYWRlciBidWZmZXIKCjIwMDktMDgtMTAgMTU6NDA6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICBzdHJlYW1oZWFkZXI6IEZpeCBjYXBzIGxlYWsgaW4gdGhlIHZvcmJpc2VuYyB1bml0IHRlc3QKCjIwMDktMDgtMTAgMTQ6MTQ6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICBjaGVja3M6IGZpeCBzdHJlYW0gaGVhZGVyIHVuaXQgdGVzdCBoYW5naW5nIGluIGdzdF90YXNrX2NsZWFudXBfYWxsKCkKCSAgU2V0IHBpcGVsaW5lcyB0byBOVUxMIHN0YXRlIGFuZCB1bnJlZiB3aGVuIGRvbmUuCgoyMDA5LTA1LTI3IDEyOjEwOjA1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ2RwcGF5OiBzZXQgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzCgkgIFNldCBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMgYmVjYXVzZSBOVUxMIGNhcHMgY29uZnVzZSBiYXNldHJhbnNmb3JtLgoJICBGaXhlcyAjNTgzODY3CgoyMDA4LTEwLTE2IDE1OjA3OjAwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciBiYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2RwYXJhbm9pYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2lvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nbm9tZXZmcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlidmlzdWFsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9vZ2cvTWFrZWZpbGUuYW06CgkgICogZXh0L3BhbmdvL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aGVvcmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3ZvcmJpcy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWRkZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvY29udmVydC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9yYXRlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb3Rlc3RzcmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZmbXBlZ2NvbG9yc3BhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGxheWJhY2svTWFrZWZpbGUuYW06CgkgICogZ3N0L3N1YnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC90Y3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3R5cGVmaW5kL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3JhdGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvc2NhbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvdGVzdHNyYy9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvdm9sdW1lL01ha2VmaWxlLmFtOgoJICAqIHN5cy92NGwvTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZS9NYWtlZmlsZS5hbToKCSAgKiBzeXMveHZpbWFnZS9NYWtlZmlsZS5hbToKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgYmFzZS4KCjIwMDgtMDctMTAgMjE6MDY6MDYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIENsZWFudXAgUGx1Z2luIGRvY3MuIExpbmsgdG8gc2lnbmFscyBhbmQgcHJvcGVydGllcy4gRml4IHN1Yi1zZWN0aW9uIHRpdGxlcy4gRHJvcCBtZW50aW5pbmcgdGhhdCBhbGwgb3VyIGV4YW1wbGUgcGlwZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLW92ZXJyaWRlcy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZGRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2EueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2NvbnZlcnQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3JhdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Jlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW90ZXN0c3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RwYXJhbm9pYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlY29kZWJpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZmbXBlZ2NvbG9yc3BhY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbm9tZXZmcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpYnZpc3VhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9nZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBhbmdvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGxheWJhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWV1ZTIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRjcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRoZW9yYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR5cGVmaW5kZnVuY3Rpb25zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdXJpZGVjb2RlYmluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3JhdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NjYWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW90ZXN0c3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9sdW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9yYmlzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aW1hZ2VzaW5rLnhtbDoKCSAgKiBleHQvYWxzYS9nc3RhbHNhbWl4ZXIuYzoKCSAgKiBleHQvYWxzYS9nc3RhbHNhc2luay5jOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FzcmMuYzoKCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuYzoKCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc2luay5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc3JjLmM6CgkgICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc2luay5jOgoJICAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NyYy5jOgoJICAqIGV4dC9vZ2cvZ3N0b2dnZGVtdXguYzoKCSAgKiBleHQvb2dnL2dzdG9nZ211eC5jOgoJICAqIGV4dC9wYW5nby9nc3RjbG9ja292ZXJsYXkuYzoKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dG92ZXJsYXkuYzoKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dHJlbmRlci5jOgoJICAqIGV4dC9wYW5nby9nc3R0aW1lb3ZlcmxheS5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFlbmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYXBhcnNlLmM6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNkZWMuYzoKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc2VuYy5jOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzcGFyc2UuYzoKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc3RhZy5jOgoJICAqIGdzdC9hZGRlci9nc3RhZGRlci5jOgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvZ3N0YXVkaW9jb252ZXJ0LmM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGdzdC9hdWRpb3Rlc3RzcmMvZ3N0YXVkaW90ZXN0c3JjLmM6CgkgICogZ3N0L2ZmbXBlZ2NvbG9yc3BhY2UvZ3N0ZmZtcGVnY29sb3JzcGFjZS5jOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3RkZWNvZGViaW4yLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliaW4uYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJpbjIuYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0cXVldWUyLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdHVyaWRlY29kZWJpbi5jOgoJICAqIGdzdC90Y3AvZ3N0bXVsdGlmZHNpbmsuYzoKCSAgKiBnc3QvdGNwL2dzdHRjcHNlcnZlcnNpbmsuYzoKCSAgKiBnc3QvdmlkZW9yYXRlL2dzdHZpZGVvcmF0ZS5jOgoJICAqIGdzdC92aWRlb3NjYWxlL2dzdHZpZGVvc2NhbGUuYzoKCSAgKiBnc3QvdmlkZW90ZXN0c3JjL2dzdHZpZGVvdGVzdHNyYy5jOgoJICAqIGdzdC92b2x1bWUvZ3N0dm9sdW1lLmM6CgkgICogc3lzL3hpbWFnZS94aW1hZ2VzaW5rLmM6CgkgICogc3lzL3h2aW1hZ2UveHZpbWFnZXNpbmsuYzoKCSAgQ2xlYW51cCBQbHVnaW4gZG9jcy4gTGluayB0byBzaWduYWxzIGFuZCBwcm9wZXJ0aWVzLiBGaXggc3ViLXNlY3Rpb24KCSAgdGl0bGVzLiBEcm9wIG1lbnRpbmluZyB0aGF0IGFsbCBvdXIgZXhhbXBsZSBwaXBlbGluZXMgYXJlICJzaW1wbGUiCgkgIHBpcGVsaW5lcy4KCjIwMDgtMDYtMzAgMDk6NDY6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogRW5hYmxlIHVuaXQgdGVzdHMgb24gUFBDIGFnYWluIGFzIHRoZSBidWdzIGFyZSBub3cgZml4ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChnZHBkZXBheV9zdWl0ZSk6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOiAoc3RyZWFtaGVhZGVyX3N1aXRlKToKCSAgRW5hYmxlIHVuaXQgdGVzdHMgb24gUFBDIGFnYWluIGFzIHRoZSBidWdzIGFyZSBub3cgZml4ZWQuCgoyMDA4LTA2LTIwIDA4OjQ1OjEzICswMDAwICBBbnRvaW5lIFRyZW1ibGF5IDxoZXhhMDBAZ21haWwuY29tPgoKCSAgZ3N0L2dkcC9nc3RnZHBwYXkuYzogRml4IGEgYnVmZmVyIG1lbWxlYWsgYW5kIHJlbW92ZSBhIGNvbmZ1c2luZyBhbmQgd3JvbmcgZGVidWcgb3V0cHV0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFudG9pbmUgVHJlbWJsYXkgPGhleGEwMCBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9yZXNldCk6CgkgIEZpeCBhIGJ1ZmZlciBtZW1sZWFrIGFuZCByZW1vdmUgYSBjb25mdXNpbmcgYW5kIHdyb25nIGRlYnVnIG91dHB1dC4KCSAgRml4ZXMgYnVnICM1Mzg2NjMuCgoyMDA4LTA2LTA0IDE2OjAwOjI2ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzogRG8gbm90IHRyeSB0byBydW4gYSB0ZXN0IHdoaWNoIHJlcXVpcmVzIHZvcmJpc2VuYyB1bmxlc3Mgd2UgaGF2ZSBhY3R1YWxseSBidWlsdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6IChidWZmZXJfcHJvYmVfY2IpLAoJICAodGVzdF9tdWx0aWZkc2lua19nZHBfdm9yYmlzZW5jKSwgKHN0cmVhbWhlYWRlcl9zdWl0ZSk6CgkgIERvIG5vdCB0cnkgdG8gcnVuIGEgdGVzdCB3aGljaCByZXF1aXJlcyB2b3JiaXNlbmMgdW5sZXNzIHdlIGhhdmUKCSAgYWN0dWFsbHkgYnVpbHQgaXQuCgoyMDA4LTA2LTA0IDA1OjU4OjM4ICswMDAwICBBbnRvaW5lIFRyZW1ibGF5IDxoZXhhMDBAZ21haWwuY29tPgoKCSAgZ3N0L2dkcC9nc3RnZHBwYXkuYzogRG9uJ3Qgc2V0IGNhcHMgb24gdGhlIGJ1ZmZlcnMgdGhhdCBjb250YWluIGEgY29weSBvZiB0aGUgYnVmZmVyIGluY2x1ZGluZyB0aGUgY2FwcyBvZiB0aGVtIHJlc3VsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQW50b2luZSBUcmVtYmxheSA8aGV4YTAwIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlcik6CgkgIERvbid0IHNldCBjYXBzIG9uIHRoZSBidWZmZXJzIHRoYXQgY29udGFpbiBhIGNvcHkgb2YgdGhlIGJ1ZmZlcgoJICBpbmNsdWRpbmcgdGhlIGNhcHMgb2YgdGhlbSByZXN1bHRpbmcgaW4gYW4gYWx3YXlzIGluY3JlYXNpbmcgcmVmY291bnQKCSAgb2YgdGhlIGNhcHMgYW5kIGluc2FuZWx5IGxhcmdlIGNhcHMuIEluc3RlYWQgaW5jbHVkZSBhIGJ1ZmZlciB3aXRob3V0CgkgIGNhcHMgaW4gdGhlIG5ldyBjYXBzLiBGaXhlcyBidWcgIzUzNjQ3NS4KCjIwMDgtMDUtMjIgMjI6MDk6MTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgQWRkIHNvbWUgZG9jdW1lbnRhdGlvbiBjb21tZW50cywgYW5kIHNvbWUgbmV3IGhlYWRlcnMgdG8gYmUgc2Nhbm5lZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMtb3ZlcnJpZGVzLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRkZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9jb252ZXJ0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9yYXRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9yZXNhbXBsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdGVzdHNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkcGFyYW5vaWEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWNvZGViaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZm1wZWdjb2xvcnNwYWNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2lvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ25vbWV2ZnMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saWJ2aXN1YWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZ2cueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wYW5nby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBsYXliYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVldWUyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3VicGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10Y3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aGVvcmEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10eXBlZmluZGZ1bmN0aW9ucy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVyaWRlY29kZWJpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9yYXRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zY2FsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvdGVzdHNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvbHVtZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvcmJpcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmltYWdlc2luay54bWw6CgkgICogZXh0L2NkcGFyYW5vaWEvZ3N0Y2RwYXJhbm9pYXNyYy5jOgoJICAqIGV4dC9vZ2cvZ3N0b2dnZGVtdXguYzoKCSAgKiBleHQvb2dnL2dzdG9nZ2RlbXV4Lmg6CgkgICogZXh0L29nZy9nc3RvZ2dtdXguYzoKCSAgKiBleHQvb2dnL2dzdG9nZ211eC5oOgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvYXVkaW9jb252ZXJ0LmM6CgkgICogZ3N0L2F1ZGlvY29udmVydC9hdWRpb2NvbnZlcnQuaDoKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L2dzdGF1ZGlvY29udmVydC5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICAqIGdzdC9wbGF5YmFjay9nc3RkZWNvZGViaW4uYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0ZGVjb2RlYmluMi5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmluLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliaW4yLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdHVyaWRlY29kZWJpbi5jOgoJICAqIGdzdC90Y3AvZ3N0bXVsdGlmZHNpbmsuYzoKCSAgKiBnc3QvdGNwL2dzdG11bHRpZmRzaW5rLmg6CgkgICogZ3N0L3RjcC9nc3R0Y3AuaDoKCSAgQWRkIHNvbWUgZG9jdW1lbnRhdGlvbiBjb21tZW50cywgYW5kIHNvbWUgbmV3IGhlYWRlcnMgdG8gYmUgc2Nhbm5lZC4KCSAgUmVuYW1lIHNvbWUgaW50ZXJuYWwgZW51bSBkZWNsYXJhdGlvbnMgKGF1ZGlvY29udmVydCdzIERpdGhlclR5cGUgYW5kCgkgIE5vaXNlU2hhcGluZ1R5cGUsIEdzdFVuaXRUeXBlIGZyb20gdGhlIFRDUCBlbGVtZW50cykgdG8gbWF0Y2ggdGhlCgkgIGRvY3VtZW50ZWQgR09iamVjdCB0eXBlIG5hbWVzIHNvIHRoYXQgdGhlIGRvY3MgcGljayB0aGVtIHVwLgoJICBOYW1lIHRoZSBwbGF5YmluMiBkb2NzIG1hcmt1cHMgcHJvcGVybHkgc28gdGhleSBnZXQgcGlja2VkIHVwLiBUaGV5J2xsCgkgIG5lZWQgcmVuYW1pbmcgYmFjayB3aGVuL2lmIHBsYXliaW4yIGJlY29tZXMgcGxheWJpbi4KCSAgMTAwJSBzeW1ib2wgY292ZXJhZ2UgZm9yIHRoZSBwbHVnaW4gZG9jcywgYm9veWEuCgoyMDA4LTA1LTIxIDE2OjM2OjUwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgRG9uJ3QgdXNlIGJhZCBnc3RfZWxlbWVudF9nZXRfcGFkKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9vZ2cvZ3N0b2dnZGVtdXguYzogKGdzdF9vZ2dfcGFkX3R5cGVmaW5kKToKCSAgKiBnc3QvcGxheWJhY2svZGVjb2RldGVzdC5jOiAobmV3X2RlY29kZWRfcGFkX2NiKToKCSAgKiBnc3QvcGxheWJhY2svZ3N0ZGVjb2RlYmluLmM6IChnc3RfZGVjb2RlX2Jpbl9pbml0KSwKCSAgKHRyeV90b19saW5rXzEpLCAoZWxlbV9pc19keW5hbWljKSwgKGNsb3NlX2xpbmspLCAodHlwZV9mb3VuZCksCgkgIChjbGVhbnVwX2RlY29kZWJpbik6CgkgICogZ3N0L3BsYXliYWNrL2dzdGRlY29kZWJpbjIuYzogKGdzdF9kZWNvZGVfYmluX2luaXQpLAoJICAoY29ubmVjdF9lbGVtZW50KSwgKGdzdF9kZWNvZGVfZ3JvdXBfY29udHJvbF9kZW11eGVyX3BhZCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliYXNlYmluLmM6IChxdWV1ZV9yZW1vdmVfcHJvYmUpLAoJICAocXVldWVfb3V0X29mX2RhdGEpLCAoZ2VuX3ByZXJvbGxfZWxlbWVudCksIChwcmVyb2xsX3VubGlua2VkKSwKCSAgKG11dGVfZ3JvdXBfdHlwZSk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliaW4uYzogKGdzdF9wbGF5X2Jpbl92aXNfYmxvY2tlZCksCgkgIChnc3RfcGxheV9iaW5fc2V0X3Byb3BlcnR5KSwgKGhhbmRvZmYpLCAoZ2VuX3ZpZGVvX2VsZW1lbnQpLAoJICAoZ2VuX3RleHRfZWxlbWVudCksIChnZW5fYXVkaW9fZWxlbWVudCksIChnZW5fdmlzX2VsZW1lbnQpLAoJICAocmVtb3ZlX3NpbmtzKSwgKGFkZF9zaW5rKSwgKHNldHVwX3NpbmtzKToKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJpbjIuYzogKHBhZF9hZGRlZF9jYiksIChub19tb3JlX3BhZHNfY2IpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5c2luay5jOiAoZ3N0X3BsYXlfc2lua19nZXRfdmlkZW9fc2luayksCgkgIChnc3RfcGxheV9zaW5rX2dldF9hdWRpb19zaW5rKSwgKGdzdF9wbGF5X3NpbmtfdmlzX3VuYmxvY2tlZCksCgkgIChnc3RfcGxheV9zaW5rX3Zpc19ibG9ja2VkKSwgKGdzdF9wbGF5X3Npbmtfc2V0X3Zpc19wbHVnaW4pLAoJICAoZ3N0X3BsYXlfc2lua19nZXRfdmlzX3BsdWdpbiksIChnc3RfcGxheV9zaW5rX3NldF9tdXRlKSwKCSAgKGdlbl92aWRlb19jaGFpbiksIChnZW5fdGV4dF9jaGFpbiksIChnZW5fYXVkaW9fY2hhaW4pLAoJICAoZ2VuX3Zpc19jaGFpbiksIChnc3RfcGxheV9zaW5rX3JlY29uZmlndXJlKSwKCSAgKGdzdF9wbGF5X3Npbmtfc2V0X2ZvbnRfZGVzYyksIChnc3RfcGxheV9zaW5rX2dldF9mb250X2Rlc2MpLAoJICAoZ3N0X3BsYXlfc2lua19yZXF1ZXN0X3BhZCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHVyaWRlY29kZWJpbi5jOiAodHlwZV9mb3VuZCksIChzZXR1cF9zb3VyY2UpOgoJICAqIGdzdC9wbGF5YmFjay90ZXN0LmM6IChnZW5fdmlkZW9fZWxlbWVudCksIChnZW5fYXVkaW9fZWxlbWVudCksCgkgIChjYl9uZXdwYWQpOgoJICAqIGdzdC9wbGF5YmFjay90ZXN0Ni5jOiAobmV3X2RlY29kZWRfcGFkX2NiKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NvbnZlcnQuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3JhdGUuYzogKHRlc3RfaW5qZWN0b3JfY2hhaW4pLAoJICAoZG9fcGVyZmVjdF9zdHJlYW1fdGVzdCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZmZtcGVnY29sb3JzcGFjZS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ25vbWV2ZnNzaW5rLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdGV4dG92ZXJsYXkuYzoKCSAgKG5vdGdzdF9jaGVja19zZXR1cF9zcmNfcGFkMiksIChub3Rnc3RfY2hlY2tfdGVhcmRvd25fc3JjX3BhZDIpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvdGVzdHNyYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2xpYnMvY2RkYWJhc2VzcmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvb2dnbXV4LmM6ICh0ZXN0X3BpcGVsaW5lKToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RoZW9yYWVuYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy92b3JiaXNlbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9leGFtcGxlcy9zZWVrL3NjcnViYnkuYzogKG1ha2Vfd2F2X3BpcGVsaW5lKToKCSAgKiB0ZXN0cy9leGFtcGxlcy9zZWVrL3NlZWsuYzogKG1ha2VfbW9kX3BpcGVsaW5lKSwKCSAgKG1ha2VfZHZfcGlwZWxpbmUpLCAobWFrZV93YXZfcGlwZWxpbmUpLCAobWFrZV9mbGFjX3BpcGVsaW5lKSwKCSAgKG1ha2Vfc2lkX3BpcGVsaW5lKSwgKG1ha2VfcGFyc2VfcGlwZWxpbmUpLCAobWFrZV92b3JiaXNfcGlwZWxpbmUpLAoJICAobWFrZV90aGVvcmFfcGlwZWxpbmUpLCAobWFrZV92b3JiaXNfdGhlb3JhX3BpcGVsaW5lKSwKCSAgKG1ha2VfYXZpX21zbXBlZzR2M19tcDNfcGlwZWxpbmUpLCAobWFrZV9tcDNfcGlwZWxpbmUpLAoJICAobWFrZV9hdmlfcGlwZWxpbmUpLCAobWFrZV9tcGVnX3BpcGVsaW5lKSwgKG1ha2VfbXBlZ250X3BpcGVsaW5lKSwKCSAgKHVwZGF0ZV9maWxsKSwgKG1zZ19idWZmZXJpbmcpOgoJICBEb24ndCB1c2UgYmFkIGdzdF9lbGVtZW50X2dldF9wYWQoKS4KCjIwMDgtMDUtMjEgMDY6NDU6MjIgKzAwMDAgIEFudG9pbmUgVHJlbWJsYXkgPGhleGEwMEBnbWFpbC5jb20+CgoJICBnc3QvZ2RwL2dzdGdkcHBheS5jOiBDbG9zZSBhIGJ1ZmZlciBtZW1vcnkgbGVhay4gRml4ZXMgYnVnICM1MzQwNzEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQW50b2luZSBUcmVtYmxheSA8aGV4YTAwIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X2NoYWluKToKCSAgQ2xvc2UgYSBidWZmZXIgbWVtb3J5IGxlYWsuIEZpeGVzIGJ1ZyAjNTM0MDcxLgoKMjAwOC0wNC0xOCAxNDo1NDowMSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogRG9uJ3QgdmFsaWRhdGUgdGhlIHBheWxvYWQgaWYgdGhlcmUgaXNuJ3QgYW55LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2NoYWluKToKCSAgRG9uJ3QgdmFsaWRhdGUgdGhlIHBheWxvYWQgaWYgdGhlcmUgaXNuJ3QgYW55LgoJICBGaXhlcyAjNTI1OTE1CgoyMDA4LTAzLTI3IDE1OjI2OjM4ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IENoZWNrIHRoZSBib2R5IENSQyAoaWYgc2V0KSB3aGVuIGRlcGF5bG9hZGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9jaGFpbik6CgkgIENoZWNrIHRoZSBib2R5IENSQyAoaWYgc2V0KSB3aGVuIGRlcGF5bG9hZGluZy4KCSAgRml4ZXMgIzUyMjQwMS4KCjIwMDgtMDMtMjMgMTM6MTI6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiBNYWtlIHRlc3QgY29tcGlsZSB3aXRob3V0IHVudXNlZCBmdW5jdGlvbi92YXJpYWJsZSB3YXJuaW5ncyBvbiBQUEMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkgIE1ha2UgdGVzdCBjb21waWxlIHdpdGhvdXQgdW51c2VkIGZ1bmN0aW9uL3ZhcmlhYmxlIHdhcm5pbmdzIG9uIFBQQy4KCjIwMDgtMDMtMjIgMTU6MDA6NTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFVzZSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGV2ZXJ5d2hlcmUgZm9yIEdQYXJhbVNwZWNzIHRoYXQgdXNlIHN0YXRpYyBzdHJpbmdzIChpLmUuIGFsbCkuIFRoaXMgZ2l2ZXMgdXMgbGVzcyBtZW1vcnkgdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYW1peGVyZWxlbWVudC5jOgoJICAoZ3N0X2Fsc2FfbWl4ZXJfZWxlbWVudF9jbGFzc19pbml0KToKCSAgKiBleHQvYWxzYS9nc3RhbHNhc2luay5jOiAoZ3N0X2Fsc2FzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FzcmMuYzogKGdzdF9hbHNhc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9jZHBhcmFub2lhL2dzdGNkcGFyYW5vaWFzcmMuYzoKCSAgKGdzdF9jZF9wYXJhbm9pYV9zcmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmM6IChnc3RfZ2lvX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuYzogKGdzdF9naW9fc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc2luay5jOiAoZ3N0X2dpb19zdHJlYW1fc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNyYy5jOiAoZ3N0X2dpb19zdHJlYW1fc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NpbmsuYzogKGdzdF9nbm9tZV92ZnNfc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzcmMuYzogKGdzdF9nbm9tZV92ZnNfc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9vZ2cvZ3N0b2dnbXV4LmM6IChnc3Rfb2dnX211eF9jbGFzc19pbml0KToKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0X292ZXJsYXlfY2xhc3NfaW5pdCk6CgkgICogZXh0L3BhbmdvL2dzdHRleHRyZW5kZXIuYzogKGdzdF90ZXh0X3JlbmRlcl9jbGFzc19pbml0KToKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOiAoZ3N0X3RoZW9yYV9kZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L3RoZW9yYS90aGVvcmFlbmMuYzogKGdzdF90aGVvcmFfZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhcGFyc2UuYzogKGdzdF90aGVvcmFfcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNlbmMuYzogKGdzdF92b3JiaXNfZW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RhdWRpb2ZpbHRlcnRlbXBsYXRlLmM6CgkgIChnc3RfYXVkaW9fZmlsdGVyX3RlbXBsYXRlX2NsYXNzX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RiYXNlYXVkaW9zaW5rLmM6CgkgIChnc3RfYmFzZV9hdWRpb19zaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RiYXNlYXVkaW9zcmMuYzoKCSAgKGdzdF9iYXNlX2F1ZGlvX3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvY2RkYS9nc3RjZGRhYmFzZXNyYy5jOgoJICAoZ3N0X2NkZGFfYmFzZV9zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvbWl4ZXJ0cmFjay5jOgoJICAoZ3N0X21peGVyX3RyYWNrX2NsYXNzX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9ydHAvZ3N0YmFzZXJ0cGRlcGF5bG9hZC5jOgoJICAoZ3N0X2Jhc2VfcnRwX2RlcGF5bG9hZF9jbGFzc19pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvcnRwL2dzdGJhc2VydHBwYXlsb2FkLmM6CgkgIChnc3RfYmFzZXJ0cHBheWxvYWRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2F1ZGlvY29udmVydC9nc3RhdWRpb2NvbnZlcnQuYzoKCSAgKGdzdF9hdWRpb19jb252ZXJ0X2NsYXNzX2luaXQpOgoJICAqIGdzdC9hdWRpb3JhdGUvZ3N0YXVkaW9yYXRlLmM6IChnc3RfYXVkaW9fcmF0ZV9jbGFzc19pbml0KToKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIChnc3RfYXVkaW9yZXNhbXBsZV9jbGFzc19pbml0KToKCSAgKiBnc3QvYXVkaW90ZXN0c3JjL2dzdGF1ZGlvdGVzdHNyYy5jOgoJICAoZ3N0X2F1ZGlvX3Rlc3Rfc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0ZGVjb2RlYmluMi5jOiAoZ3N0X2RlY29kZV9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliYXNlYmluLmM6IChnc3RfcGxheV9iYXNlX2Jpbl9jbGFzc19pbml0KSwKCSAgKHByZXJvbGxfdW5saW5rZWQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmluLmM6IChnc3RfcGxheV9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliaW4yLmM6IChnc3RfcGxheV9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXlzaW5rLmM6IChnc3RfcGxheV9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RxdWV1ZTIuYzogKGdzdF9xdWV1ZV9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0c3RyZWFtaW5mby5jOiAoZ3N0X3N0cmVhbV9pbmZvX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RzdHJlYW1zZWxlY3Rvci5jOiAoZ3N0X3NlbGVjdG9yX3BhZF9jbGFzc19pbml0KSwKCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3JfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHVyaWRlY29kZWJpbi5jOiAoZ3N0X3VyaV9kZWNvZGVfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zdWJwYXJzZS9nc3RzdWJwYXJzZS5jOiAoZ3N0X3N1Yl9wYXJzZV9jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdG11bHRpZmRzaW5rLmM6IChnc3RfbXVsdGlfZmRfc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdHRjcGNsaWVudHNpbmsuYzogKGdzdF90Y3BfY2xpZW50X3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3RjcC9nc3R0Y3BjbGllbnRzcmMuYzogKGdzdF90Y3BfY2xpZW50X3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdHRjcHNlcnZlcnNpbmsuYzogKGdzdF90Y3Bfc2VydmVyX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3RjcC9nc3R0Y3BzZXJ2ZXJzcmMuYzogKGdzdF90Y3Bfc2VydmVyX3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QvdmlkZW9yYXRlL2dzdHZpZGVvcmF0ZS5jOiAoZ3N0X3ZpZGVvX3JhdGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvc2NhbGUvZ3N0dmlkZW9zY2FsZS5jOiAoZ3N0X3ZpZGVvX3NjYWxlX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb3Rlc3RzcmMvZ3N0dmlkZW90ZXN0c3JjLmM6CgkgIChnc3RfdmlkZW9fdGVzdF9zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZvbHVtZS9nc3R2b2x1bWUuYzogKGdzdF92b2x1bWVfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bC9nc3R2NGxlbGVtZW50LmM6IChnc3RfdjRsZWxlbWVudF9jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsL2dzdHY0bG1qcGVnc2luay5jOiAoZ3N0X3Y0bG1qcGVnc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsL2dzdHY0bG1qcGVnc3JjLmM6IChnc3RfdjRsbWpwZWdzcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bC9nc3R2NGxzcmMuYzogKGdzdF92NGxzcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3hpbWFnZS94aW1hZ2VzaW5rLmM6IChnc3RfeGltYWdlc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMveHZpbWFnZS94dmltYWdlc2luay5jOiAoZ3N0X3h2aW1hZ2VzaW5rX2NsYXNzX2luaXQpOgoJICBVc2UgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBldmVyeXdoZXJlIGZvciBHUGFyYW1TcGVjcyB0aGF0IHVzZQoJICBzdGF0aWMgc3RyaW5ncyAoaS5lLiBhbGwpLiBUaGlzIGdpdmVzIHVzIGxlc3MgbWVtb3J5IHVzYWdlLAoJICBmZXdlciBhbGxvY2F0aW9ucyBhbmQgdGh1cyBsZXNzIG1lbW9yeSBkZWZyYWdtZW50YXRpb24uIERlcGVuZAoJICBvbiBjb3JlIENWUyBmb3IgdGhpcy4gRml4ZXMgYnVnICM1MjM4MDYuCgoyMDA4LTAzLTAzIDA2OjA0OjMxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBDb3JyZWN0IGFsbCByZWxldmFudCB3YXJuaW5ncyBmb3VuZCBieSB0aGUgc3BhcnNlIHNlbWFudGljIGNvZGUgYW5hbHl6ZXIuIFRoaXMgaW5jbHVkZSBtYXJraW5nIHNldmVyYWwgc3ltYm9scyBzdGF0aWMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYW1peGVydHJhY2suYzogKGdzdF9hbHNhX21peGVyX3RyYWNrX2dldF90eXBlKToKCSAgKiBleHQvYWxzYS9nc3RhbHNhc2luay5jOiAoc2V0X2h3cGFyYW1zKToKCSAgKiBleHQvYWxzYS9nc3RhbHNhc3JjLmM6IChzZXRfaHdwYXJhbXMpOgoJICAqIGV4dC9naW8vZ3N0Z2lvLmM6IChnc3RfZ2lvX3VyaV9oYW5kbGVyX2dldF91cmkpOgoJICAqIGV4dC9vZ2cvZ3N0b2dnbXV4Lmg6CgkgICogZXh0L29nZy9nc3RvZ21wYXJzZS5jOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9hdWRpby5jOgoJICAqIGdzdC1saWJzL2dzdC9mZnQva2lzc19mZnRfZjY0LmM6IChraXNzX2ZmdF9mNjRfYWxsb2MpOgoJICAqIGdzdC1saWJzL2dzdC9wYnV0aWxzL21pc3NpbmctcGx1Z2lucy5jOgoJICAoZ3N0X21pc3NpbmdfdXJpX3NpbmtfbWVzc2FnZV9uZXcpLAoJICAoZ3N0X21pc3NpbmdfZWxlbWVudF9tZXNzYWdlX25ldyksCgkgIChnc3RfbWlzc2luZ19kZWNvZGVyX21lc3NhZ2VfbmV3KSwKCSAgKGdzdF9taXNzaW5nX2VuY29kZXJfbWVzc2FnZV9uZXcpOgoJICAqIGdzdC1saWJzL2dzdC9ydHAvZ3N0YmFzZXJ0cHBheWxvYWQuYzoKCSAgKiBnc3QtbGlicy9nc3QvcnRwL2dzdHJ0Y3BidWZmZXIuYzoKCSAgKGdzdF9ydGNwX3BhY2tldF9ieWVfZ2V0X3JlYXNvbik6CgkgICogZ3N0L2F1ZGlvY29udmVydC9nc3RhdWRpb2NvbnZlcnQuYzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZ3N0L2ZmbXBlZ2NvbG9yc3BhY2UvaW1nY29udmVydC5jOgoJICAqIGdzdC9wbGF5YmFjay90ZXN0LmM6IChnZW5fdmlkZW9fZWxlbWVudCksIChnZW5fYXVkaW9fZWxlbWVudCk6CgkgICogZ3N0L3R5cGVmaW5kL2dzdHR5cGVmaW5kZnVuY3Rpb25zLmM6CgkgICogZ3N0L3ZpZGVvc2NhbGUvdnNfNHRhcC5jOgoJICAqIGdzdC92aWRlb3NjYWxlL3ZzXzR0YXAuaDoKCSAgKiBzeXMvdjRsL2dzdHY0bGVsZW1lbnQuYzoKCSAgKiBzeXMvdjRsL2dzdHY0bHNyYy5jOiAoZ3N0X3Y0bHNyY19nZXRfYW55X2NhcHMpOgoJICAqIHN5cy92NGwvdjRsX2NhbGxzLmM6CgkgICogc3lzL3Y0bC92NGxzcmNfY2FsbHMuYzogKGdzdF92NGxzcmNfY2FwdHVyZV9pbml0KSwKCSAgKGdzdF92NGxzcmNfdHJ5X2NhcHR1cmUpOgoJICAqIHN5cy94aW1hZ2UveGltYWdlc2luay5jOiAoZ3N0X3hpbWFnZXNpbmtfY2hlY2tfeHNobV9jYWxscyksCgkgIChnc3RfeGltYWdlc2lua194aW1hZ2VfbmV3KToKCSAgKiBzeXMveHZpbWFnZS94dmltYWdlc2luay5jOiAoZ3N0X3h2aW1hZ2VzaW5rX2NoZWNrX3hzaG1fY2FsbHMpLAoJICAoZ3N0X3h2aW1hZ2VzaW5rX3h2aW1hZ2VfbmV3KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NvbnZlcnQuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6CgkgIChmYWlsX3VubGVzc19wZXJmZWN0X3N0cmVhbSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW90ZXN0c3JjLmM6IChzZXR1cF9hdWRpb3Rlc3RzcmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlY29kZWJpbi5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChzZXR1cF9nZHBkZXBheSksCgkgIChzZXR1cF9nZHBkZXBheV9zdHJlYW1oZWFkZXIpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOiAoc2V0dXBfZ2RwcGF5KSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHNldHVwX2dkcHBheV9zdHJlYW1oZWFkZXIpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dub21ldmZzc2luay5jOiAoc2V0dXBfZ25vbWV2ZnNzaW5rKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZkc2luay5jOiAoc2V0dXBfbXVsdGlmZHNpbmspOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RleHRvdmVybGF5LmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9yYXRlLmM6IChzZXR1cF92aWRlb3JhdGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvdGVzdHNyYy5jOiAoc2V0dXBfdmlkZW90ZXN0c3JjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2x1bWUuYzogKHNldHVwX3ZvbHVtZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9yYmlzZGVjLmM6IChzZXR1cF92b3JiaXNkZWMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvcmJpc3RhZy5jOgoJICAqIHRlc3RzL2NoZWNrL2dlbmVyaWMvY2xvY2stc2VsZWN0aW9uLmM6CgkgICogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzogKHNldHVwKSwgKHRlYXJkb3duKToKCSAgKiB0ZXN0cy9jaGVjay9saWJzL2NkZGFiYXNlc3JjLmM6CgkgICogdGVzdHMvY2hlY2svbGlicy92aWRlby5jOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9naW8uYzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvb2dnbXV4LmM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgKHNpbXBsZV9sYXVuY2hfbGluZXNfc3VpdGUpOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGhlb3JhZW5jLmM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3ZvcmJpc2RlYy5jOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy92b3JiaXNlbmMuYzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9zZWVrL3NjcnViYnkuYzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9zZWVrL3NlZWsuYzogKHF1ZXJ5X3Bvc2l0aW9uc19lbGVtcyksCgkgIChxdWVyeV9wb3NpdGlvbnNfcGFkcyk6CgkgICogdGVzdHMvaWNsZXMvc3RyZXNzLXhvdmVybGF5LmM6IChteWNsb2NrKToKCSAgQ29ycmVjdCBhbGwgcmVsZXZhbnQgd2FybmluZ3MgZm91bmQgYnkgdGhlIHNwYXJzZSBzZW1hbnRpYyBjb2RlCgkgIGFuYWx5emVyLiBUaGlzIGluY2x1ZGUgbWFya2luZyBzZXZlcmFsIHN5bWJvbHMgc3RhdGljLCB1c2luZwoJICBOVUxMIGluc3RlYWQgb2YgMCBmb3IgcG9pbnRlcnMgYW5kIHVzaW5nICJmb28gKHZvaWQpIiBpbnN0ZWFkCgkgIG9mICJmb28gKCkiIGZvciBkZWNsYXJhdGlvbnMuCgkgICogd2luMzIvY29tbW9uL2xpYmdzdHJ0cC5kZWY6CgkgIEFkZCBnc3RfcnRwX2J1ZmZlcl9zZXRfZXh0ZW5zaW9uX2RhdGEgdG8gdGhlIHN5bWJvbCBkZWZpbml0aW9uIGZpbGUuCgoyMDA3LTA2LTE0IDE5OjUzOjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOiBEaXNhYmxlIHRlc3RfbXVsdGlmZHNpbmtfZ2RwX3ZvcmJpc2VuYygpIG9uIHBwYzY0IHNpbmNlIGl0IGZhaWxzIG9uIHRoZSBwNS1wcGM2Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzogKHN0cmVhbWhlYWRlcl9zdWl0ZSk6CgkgIERpc2FibGUgdGVzdF9tdWx0aWZkc2lua19nZHBfdm9yYmlzZW5jKCkgb24gcHBjNjQgc2luY2UgaXQKCSAgZmFpbHMgb24gdGhlIHA1LXBwYzY0IGJ1aWxkIGJvdCBhbmQgdGhlIGZhaWx1cmUgbG9va3MgbGlrZSBpdCBpcyBkdWUKCSAgdG8gdGhlIHNhbWUgaXNzdWUgYXMgIzM0ODExNCwgaWUuIGEgY29tcGlsZXIgYnVnLgoKMjAwNy0wNC0xNCAxMjozNDo1NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvZ2RwL2dzdGdkcHBheS5jIChnc3RfZ2RwX3BheV9jaGFpbik6IHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYyAodGFnX2V2ZW50X3Byb2JlX2NiLAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jIChnc3RfZ2RwX3BheV9jaGFpbik6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jICh0YWdfZXZlbnRfcHJvYmVfY2IsCgkgIEdTVF9TVEFSVF9URVNULCBidWZmZXJfcHJvYmVfY2IsIEdTVF9TVEFSVF9URVNUKToKCSAgRml4IGEgYnVnIHdoZXJlIHNlcmlhbGl6ZWQgSU5fQ0FQUyBidWZmZXJzIG5lZWRlZCB0byBiZSBzZXQgSU5fQ0FQUy4KCjIwMDctMDQtMTMgMjE6NTU6MzEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmMgKHRhZ19ldmVudF9wcm9iZV9jYiwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jICh0YWdfZXZlbnRfcHJvYmVfY2IsCgkgIEdTVF9TVEFSVF9URVNULCBuX2luX2NhcHMsIGJ1ZmZlcl9wcm9iZV9jYiwgR1NUX1NUQVJUX1RFU1QsCgkgIHN0cmVhbWhlYWRlcl9zdWl0ZSk6CgkgIEFkZCBhbm90aGVyIHRlc3Qgc2V0IHVwIGZvciBmYWlsdXJlCgoyMDA3LTA0LTEzIDIxOjA5OjA0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSAgZGVidWcgY2hhbmdlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZGVidWcgY2hhbmdlcwoKMjAwNy0wNC0xMyAyMTowODoxMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jIChuX3RhZ3MsIHRhZ19ldmVudF9wcm9iZV9jYiwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jIChuX3RhZ3MsIHRhZ19ldmVudF9wcm9iZV9jYiwKCSAgR1NUX1NUQVJUX1RFU1QsIHN0cmVhbWhlYWRlcl9zdWl0ZSwgbWFpbik6CgkgIEFkZCBhIHRlc3QgZm9yIHRoZSBzdHJlYW1oZWFkZXIgYnVnIFdpbSBmaXhlZC4KCjIwMDctMDQtMTIgMTA6MDM6MjIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZ2RwL2dzdGdkcHBheS5jOiBNYWtlIHN1cmUgd2Ugc2V0IHRoZSBJTl9DQVBTIGZsYWcgY29ycmVjdGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfY2hhaW4pLAoJICAoZ3N0X2dkcF9wYXlfc2lua19ldmVudCk6CgkgIE1ha2Ugc3VyZSB3ZSBzZXQgdGhlIElOX0NBUFMgZmxhZyBjb3JyZWN0bHkuCgkgICogZ3N0L3RjcC9nc3RtdWx0aWZkc2luay5jOiAoZ3N0X211bHRpX2ZkX3NpbmtfcmVuZGVyKToKCSAgR2V0IHRoZSBJTl9DQVBTIGZsYWcgYmVmb3JlIHdlIGNhbGwgZnVuY3Rpb25zIHRoYXQgbWVzcyB3aXRoIHRoZSBmbGFncy4KCjIwMDctMDQtMTAgMjA6Mzc6MDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ3N0L2dkcC9nc3RnZHBwYXkuYyAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyLCBnc3RfZ2RwX3BheV9jaGFpbiwgZ3N0X2dkcF9wYXlfc2lua19ldmVudCk6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmMgKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlciwKCSAgZ3N0X2dkcF9wYXlfY2hhaW4sIGdzdF9nZHBfcGF5X3NpbmtfZXZlbnQpOgoJICBPbmx5IHN0YW1wIGJ1ZmZlcnMgd2l0aCBvZmZzZXQvb2Zmc2V0X2VuZCByaWdodCBiZWZvcmUgdGhleSBnZXQKCSAgcHVzaGVkLiAgVGhpcyBlbnN1cmVzIG9mZnNldCBjb250aW51aXR5LCB3aGljaCB3YXMgbm90IHRoZSBjYXNlCgkgIGJlZm9yZSBhcyBzaG93biBieQoJICBnc3QtbGF1bmNoIC12IC1tIGF1ZGlvdGVzdHNyYyBudW0tYnVmZmVycz0xMCAhIGF1ZGlvY29udmVydCAhIHZvcmJpc2VuYyAhIGdkcHBheSAhIGlkZW50aXR5IGNoZWNrLWltcGVyZmVjdC1vZmZzZXQ9VFJVRSAhIGZha2VzaW5rIHNpbGVudD1UUlVFCgoyMDA3LTA0LTEwIDIwOjI1OjA2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgYWRkaW5nIGRlYnVnZ2luZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkaW5nIGRlYnVnZ2luZwoKMjAwNy0wMy0xNCAxNTowNTozMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkgIGFkZCBidWZmZXIgbG9nZ2luZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGJ1ZmZlciBsb2dnaW5nCgoyMDA2LTEyLTIyIDEyOjEwOjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IEZpeCB0aGUgZHAgdGVzdHMsIGJ1dCBhY3RpdmF0aW5nIHRoZSBwYWRzIGZvciB0aGUgc3RyZWFtaGVhZGVyIHRlc3RzIHRvbyBhbmQgY2xlYW5pbmcgdXAgY29uZGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKGNsZWFudXBfZ2RwZGVwYXkpLAoJICAoc2V0dXBfZ2RwZGVwYXlfc3RyZWFtaGVhZGVyKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzogKGNsZWFudXBfZ2RwcGF5KSwKCSAgKHNldHVwX2dkcHBheV9zdHJlYW1oZWFkZXIpOgoJICBGaXggdGhlIGRwIHRlc3RzLCBidXQgYWN0aXZhdGluZyB0aGUgcGFkcyBmb3IgdGhlIHN0cmVhbWhlYWRlciB0ZXN0cwoJICB0b28gYW5kIGNsZWFuaW5nIHVwIGNvbmRpdGlvbmFseQoKMjAwNi0xMi0yMSAwODoxMjoyNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6IChjbGVhbnVwX2F1ZGlvcmVzYW1wbGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvdGVzdHNyYy5jOiAoY2xlYW51cF9hdWRpb3Rlc3RzcmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChzZXR1cF9nZHBkZXBheSksCgkgIChjbGVhbnVwX2dkcGRlcGF5KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzogKHNldHVwX2dkcHBheSksIChjbGVhbnVwX2dkcHBheSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3VicGFyc2UuYzogKHRlYXJkb3duX3N1YnBhcnNlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90ZXh0b3ZlcmxheS5jOiAoY2xlYW51cF90ZXh0b3ZlcmxheSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9yYXRlLmM6IChjbGVhbnVwX3ZpZGVvcmF0ZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW90ZXN0c3JjLmM6IChjbGVhbnVwX3ZpZGVvdGVzdHNyYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9sdW1lLmM6IChjbGVhbnVwX3ZvbHVtZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9yYmlzZGVjLmM6IChzZXR1cF92b3JiaXNkZWMpLAoJICAoY2xlYW51cF92b3JiaXNkZWMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvcmJpc3RhZy5jOiAoc2V0dXBfdm9yYmlzdGFnKSwKCSAgKGNsZWFudXBfdm9yYmlzdGFnKToKCSAgY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCjIwMDYtMDktMjEgMDU6MzE6MDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICB0ZXN0cy9jaGVjay86IFNvbWUgbW9yZSBjb21waWxhdGlvbiBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9saWJzL2F1ZGlvLmM6CgkgIFNvbWUgbW9yZSBjb21waWxhdGlvbiBmaXhlcy4KCjIwMDYtMDktMjAgMTc6MDQ6NTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICB0ZXN0cy9jaGVjay86IEZpeCBzb21lIHdhcm5pbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmRzaW5rLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9yYXRlLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svbGlicy9jZGRhYmFzZXNyYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9vZ2dtdXguYzogKGVvc19idWZmZXJfcHJvYmUpOgoJICBGaXggc29tZSB3YXJuaW5ncy4KCjIwMDYtMDgtMjUgMTY6MTk6NTUgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IEZpeCBtZW1vcnkgbGVha3MgYW5kIG1pc2xlYWRpbmcgZGVidWcgbWVzc2FnZXMsIGFkZCBhIGNvdXBsZSBvZiBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X3Jlc2V0KSwKCSAgKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlciksIChnc3RfZ2RwX3BheV9jaGFpbik6CgkgIEZpeCBtZW1vcnkgbGVha3MgYW5kIG1pc2xlYWRpbmcgZGVidWcgbWVzc2FnZXMsIGFkZCBhIGNvdXBsZSBvZgoJICBjb21tZW50cy4KCSAgKiBnc3QvdGNwL2dzdG11bHRpZmRzaW5rLmM6IChnc3RfbXVsdGlfZmRfc2lua19nZXRfc3RhdHMpLAoJICAoZ3N0X211bHRpX2ZkX3NpbmtfcmVuZGVyKToKCSAgRG8gbm90IHVzZSBnc3RfYnVmZmVyX21ha2Vfd3JpdGFibGUoKSBpbiBhIGJhc2VzaW5rIHJlbmRlciBtZXRob2QsCgkgIGFzIGl0IG1heSBpbmNvcnJlY3RseSB1bnJlZiB0aGUgYnVmZmVyLiBJbnN0ZWFkLCB1c2UgY29udm9sdXRlZAoJICBkYW5jZSB0byBhdm9pZCBjb3B5aW5nIHRoZSBidWZmZXIgZXhjZXB0IHdoZW4gd2UgbmVlZCB0by4KCjIwMDYtMDgtMjEgMTk6MDQ6MTQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9SRUFETUU6CgkgIGFkZGluZyBhIFJFQURNRQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkaW5nIGEgUkVBRE1FCgoyMDA2LTA4LTIxIDE5OjAxOjQxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIE1vdmUgR0RQIHBsdWdpbiB0byAtYmFzZSBmcm9tIC1iYWQuIENsb3NlcyAjMzQ3NzgzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJICAqIGdzdC9nZHAvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIE1vdmUgR0RQIHBsdWdpbiB0byAtYmFzZSBmcm9tIC1iYWQuICBDbG9zZXMgIzM0Nzc4My4KCjIwMDYtMDgtMDggMTM6NTc6MjkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiBJIGZvcmdvdCB0byBpbmNsdWRlIHRoZSBmaWxlIGNvbnRhaW5pbmcgdGhlICNkZWZpbmUgOikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKGdkcGRlcGF5X3N1aXRlKToKCSAgSSBmb3Jnb3QgdG8gaW5jbHVkZSB0aGUgZmlsZSBjb250YWluaW5nIHRoZSAjZGVmaW5lIDopCgkgIE5vdyBpbmNsdWRlcyAiY29uZmlnLmgiCgoyMDA2LTA4LTA4IDEzOjQ1OjQ0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogSWdub3JlIHRlc3Qga25vd24gdG8gZmFpbCBvbiBQUEM2NC4gU2VlICMzNDgxMTQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChnZHBkZXBheV9zdWl0ZSk6CgkgIElnbm9yZSB0ZXN0IGtub3duIHRvIGZhaWwgb24gUFBDNjQuIFNlZSAjMzQ4MTE0LgoKMjAwNi0wOC0wNCAxMzoyMDoyMyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogRml4IGV2ZW50IHBhcnNpbmcgYnkgZ2RwZGVwYXkuIEZpeGVzICMzNDk5MTYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA4LTA0ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9jaGFpbik6CgkgIEZpeCBldmVudCBwYXJzaW5nIGJ5IGdkcGRlcGF5LiAgRml4ZXMgIzM0OTkxNi4KCjIwMDYtMDgtMDIgMTY6NTY6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IERpc2FibGUgc2Vla2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9pbml0KSwKCSAgKGdzdF9nZHBfZGVwYXlfZmluYWxpemUpLCAoZ3N0X2dkcF9kZXBheV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9nZHBfZGVwYXlfc3JjX2V2ZW50KSwgKGdzdF9nZHBfZGVwYXlfY2hhaW4pLAoJICAoZ3N0X2dkcF9kZXBheV9jaGFuZ2Vfc3RhdGUpOgoJICBEaXNhYmxlIHNlZWtpbmcuCgkgIFNtYWxsIGNsZWFudXBzLgoJICBDbGVhciBhZGFwdGVyIG9uIGRpc2NvbnRzLgoJICBDbGVhciBjYXBzIHdoZW4gZ29pbmcgdG8gUkVBRFkgaW5zdGVhZCBvZiBOVUxMCgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X2dkcF9wYXlfaW5pdCksIChnc3RfZ2RwX3BheV9maW5hbGl6ZSksIChnc3RfZ2RwX3BheV9yZXNldCksCgkgIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2NhcHMpLCAoZ3N0X2dkcF9wYXlfYnVmZmVyX2Zyb21fYnVmZmVyKSwKCSAgKGdzdF9nZHBfYnVmZmVyX2Zyb21fZXZlbnQpLCAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyKSwKCSAgKGdzdF9nZHBfcXVldWVfYnVmZmVyKSwgKGdzdF9nZHBfcGF5X2NoYWluKSwKCSAgKGdzdF9nZHBfcGF5X3NpbmtfZXZlbnQpLCAoZ3N0X2dkcF9wYXlfc3JjX2V2ZW50KSwKCSAgKGdzdF9nZHBfcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgUmVzZXQgcGF5bG9hZGVyIHdoZW4gZ29pbmcgdG8gUkVBRFkuCgkgIEZpeCBsZWFrZWQgYnVmZmVycyBpbiAtPnF1ZXVlIG9uIHB1c2ggZXJyb3JzLgoJICBEaXNhYmxlIHNlZWtpbmcuCgkgIENvZGUgY2xlYW51cHMuCgkgIENyZWF0ZSBwYWNrZXRpemVyIGluIF9pbml0LCBmcmVlIGluIF9maW5hbGl6ZS4KCjIwMDYtMDctMzEgMDg6NDg6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IENvbnN1bWUgYWxsIGV2ZW50cyBleGNlcHQgRU9TIGJlY2F1c2Ugd2UgZ2VuZXJhdGUgZXZlbnRzIGZyb20gdGhlIGdkcCBwYXlsb2FkIGluc3RlYWQuIEZpeGVzICMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9pbml0KSwKCSAgKGdzdF9nZHBfZGVwYXlfc2lua19ldmVudCksIChnc3RfZ2RwX2RlcGF5X2NoYWluKToKCSAgQ29uc3VtZSBhbGwgZXZlbnRzIGV4Y2VwdCBFT1MgYmVjYXVzZSB3ZSBnZW5lcmF0ZSBldmVudHMgZnJvbQoJICB0aGUgZ2RwIHBheWxvYWQgaW5zdGVhZC4gRml4ZXMgIzM0OTIwNAoKMjAwNi0wNy0yNiAxMDo1MjowNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IHByb3h5aW5nIGdldC9zZXQgY2FwcyBpcyB0aGUgd3JvbmcgdGhpbmcgdG8gZG8sIHNpbmNlIHdlIHJlYWxseSBkbyBjaGFuZ2UgY2FwcyBxdWl0ZSBmdW5kYW1lbnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9pbml0KToKCSAgcHJveHlpbmcgZ2V0L3NldCBjYXBzIGlzIHRoZSB3cm9uZyB0aGluZyB0byBkbywgc2luY2Ugd2UgcmVhbGx5CgkgIGRvIGNoYW5nZSBjYXBzIHF1aXRlIGZ1bmRhbWVudGFsbHkKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJICByZW1vdmUgZGVjbGFyYXRpb24gb2YgYnVmZmVycywgaXQncyBhbHJlYWR5IGRvbmUgaW4gZ3N0Y2hlY2suaAoKMjAwNi0wNy0xNyAxNDoxNzo0NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvZ2RwLzogcmVtb3ZlIHBhcmVudF9jbGFzcyBzZXR0aW5nLCBCT0lMRVJQTEFURSBkb2VzIHRoaXMgZml4IHR5cG8gaW4gY29tbWVudAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNy0xNyAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSAgPHRob21hcyBhdCBhcGVzdGFhcnQgZG90IG9yZz4KCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9jbGFzc19pbml0KSwKCSAgcmVtb3ZlIHBhcmVudF9jbGFzcyBzZXR0aW5nLCBCT0lMRVJQTEFURSBkb2VzIHRoaXMKCSAgKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlcik6CgkgIGZpeCB0eXBvIGluIGNvbW1lbnQKCjIwMDYtMDctMTQgMTA6MzQ6MzYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9NYWtlZmlsZS5hbToKCSAgYnVpbGQgYXMgYSBwbHVnaW4sIG5vdCBhIGxpYgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYnVpbGQgYXMgYSBwbHVnaW4sIG5vdCBhIGxpYgoKMjAwNi0wNy0xMyAxNToyNTo1OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBkb2NzL3BsdWdpbnMvOiBhZGQgbW9yZSBwbHVnaW5zIGFuZCBlbGVtZW50cyB0byBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGFkZCBtb3JlIHBsdWdpbnMgYW5kIGVsZW1lbnRzIHRvIGRvY3MKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2NoYWluKToKCSAgZml4IHNlZ2ZhdWx0cyBkdWUgdG8gd3JvbmcgZ19mcmVlCgkgIGFkZCBleGFtcGxlCgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgYWRkIGV4YW1wbGUKCjIwMDYtMDYtMjMgMDk6MDk6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBVc2UgR1NUX0RFQlVHX0NBVEVHT1JZX1NUQVRJQyB3aGVyZSBwb3NzaWJsZSAoIzM0MjUwMykgYW5kIGZpeCBvbmUgR09iamVjdCBib2lsZXJwbGF0ZSBtYWNyby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgVXNlIEdTVF9ERUJVR19DQVRFR09SWV9TVEFUSUMgd2hlcmUgcG9zc2libGUgKCMzNDI1MDMpCgkgIGFuZCBmaXggb25lIEdPYmplY3QgYm9pbGVycGxhdGUgbWFjcm8uCgoyMDA2LTA2LTA2IDE2OjI2OjU5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGFkYXB0IHRvIG5ldyBhcGkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkYXB0IHRvIG5ldyBhcGkKCjIwMDYtMDYtMDYgMTQ6Mzk6MTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgY29uZmlndXJlLmFjOiBlbmFibGUgYnVpbGRpbmcgb2YgR0RQIGVsZW1lbnRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgZW5hYmxlIGJ1aWxkaW5nIG9mIEdEUCBlbGVtZW50cwoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfY2hhaW4pOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9nZHBfcGF5X2luaXQpLCAoZ3N0X2dkcF9idWZmZXJfZnJvbV9jYXBzKSwKCSAgKGdzdF9nZHBfcGF5X2J1ZmZlcl9mcm9tX2J1ZmZlciksIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2V2ZW50KSwKCSAgKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlciksIChnc3RfZ2RwX3BheV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9nZHBfcGF5X3NldF9wcm9wZXJ0eSksIChnc3RfZ2RwX3BheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2dkcF9wYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICBhZGQgdmVyc2lvbiAxLjAKCjIwMDYtMDYtMDIgMTY6NDU6NTkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICBzbWFsbCBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc21hbGwgZml4ZXMKCjIwMDYtMDYtMDIgMTA6Mjg6MzIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L2dkcC9nc3RnZHBwYXkuYzogYWRkIGNyYy1oZWFkZXIgYW5kIGNyYy1wYXlsb2FkIHByb3BlcnRpZXMgZG9uJ3QgZXJyb3Igb3V0IG9uIHNvbWUgdGhpbmdzIHRoYXQgYXJlIHJlY292ZXJhYmxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9nZHBfcGF5X2luaXQpLCAoZ3N0X2dkcF9idWZmZXJfZnJvbV9jYXBzKSwKCSAgKGdzdF9nZHBfcGF5X2J1ZmZlcl9mcm9tX2J1ZmZlciksIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2V2ZW50KSwKCSAgKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlciksIChnc3RfZ2RwX3BheV9jaGFpbiksCgkgIChnc3RfZ2RwX3BheV9zaW5rX2V2ZW50KSwgKGdzdF9nZHBfcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZ2RwX3BheV9nZXRfcHJvcGVydHkpOgoJICBhZGQgY3JjLWhlYWRlciBhbmQgY3JjLXBheWxvYWQgcHJvcGVydGllcwoJICBkb24ndCBlcnJvciBvdXQgb24gc29tZSB0aGluZ3MgdGhhdCBhcmUgcmVjb3ZlcmFibGUKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzogKEdTVF9TVEFSVF9URVNUKSwgKGdkcHBheV9zdWl0ZSk6CgkgIGFkZCB0ZXN0IGZvciBjcmMKCjIwMDYtMDYtMDEgMjI6MDA6MjMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCBtb3JlIGdvYmplY3QgbWFjcm9zOiBvYmo8LT5rbGFzcywgR3N0WFhYPC0+R3N0WFhYQ2xhc3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuaDoKCSAgKiBleHQvYXJ0cy9nc3RfYXJ0cy5oOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuaDoKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmg6CgkgICogZXh0L2J6Mi9nc3RiejJkZWMuaDoKCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5oOgoJICAqIGV4dC9kaXJhYy9nc3RkaXJhY2RlYy5oOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmg6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGVuYy5oOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmg6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmg6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuaDoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNlbmMuaDoKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmg6CgkgICogZXh0L25hcy9uYXNzaW5rLmg6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgKiBleHQvcG9seXAvcG9seXBzaW5rLmg6CgkgICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuaDoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5oOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5oOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmg6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuaDoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5oOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmg6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgICogZXh0L3hpbmUvZ3N0eGluZS5oOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuaDoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmg6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuaDoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5oOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuaDoKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuaDoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuaDoKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuaDoKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuaDoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0Lmg6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5oOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuaDoKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5oOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmg6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguaDoKCSAgKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmg6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmg6CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uaDoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmg6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5oOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmg6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5oOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5oOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuaDoKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmg6CgkgICogc3lzL3ZjZC92Y2RzcmMuaDoKCSAgRml4IG1vcmUgZ29iamVjdCBtYWNyb3M6IG9iajwtPmtsYXNzLCBHc3RYWFg8LT5Hc3RYWFhDbGFzcwoKMjAwNi0wNS0yMiAxNTo1MzowNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvZ2RwLzogSGFuZGxlIGVycm9yIGNhc2VzIHdoZW4gY2FsbGluZyBmdW5jdGlvbnMgZG8gZG93bndhcmRzIHN0YXRlIGNoYW5nZSBhZnRlciBwYXJlbnQncyBjaGFuZ2Vfc3RhdGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9jaGFpbiksCgkgIChnc3RfZ2RwX2RlcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIpLAoJICAoZ3N0X2dkcF9wYXlfY2hhaW4pLCAoZ3N0X2dkcF9wYXlfc2lua19ldmVudCksCgkgIChnc3RfZ2RwX3BheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgIEhhbmRsZSBlcnJvciBjYXNlcyB3aGVuIGNhbGxpbmcgZnVuY3Rpb25zCgkgIGRvIGRvd253YXJkcyBzdGF0ZSBjaGFuZ2UgYWZ0ZXIgcGFyZW50J3MgY2hhbmdlX3N0YXRlCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgY2xlYW4gdXAgbW9yZQoKMjAwNi0wNS0yMiAxMzoyNTo1MiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBhZGRpbmcgR0RQIHBheWxvYWRlciBhbmQgZGVwYXlsb2FkZXIuIEJ1aWxkIGludGVncmF0aW9uIHdpbGwgZm9sbG93IGxhdGVyIHdoZW4gdGhlIEdEUCBpc3N1ZXMgZm9yIGNvcmUgYXJlIHNvcnRlZCBvdXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dkcC9nc3RnZHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfZ2RwX2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X2dkcF9kZXBheV9pbml0KSwKCSAgKGdzdF9nZHBfZGVwYXlfZmluYWxpemUpLCAoZ3N0X2dkcF9kZXBheV9jaGFpbiksCgkgIChnc3RfZ2RwX2RlcGF5X2NoYW5nZV9zdGF0ZSksIChnc3RfZ2RwX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5Lmg6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfZ2RwX3BheV9jbGFzc19pbml0KSwgKGdzdF9nZHBfcGF5X2luaXQpLAoJICAoZ3N0X2dkcF9wYXlfZGlzcG9zZSksIChnc3RfZ2RwX3N0YW1wX2J1ZmZlciksCgkgIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2NhcHMpLCAoZ3N0X2dkcF9wYXlfYnVmZmVyX2Zyb21fYnVmZmVyKSwKCSAgKGdzdF9nZHBfYnVmZmVyX2Zyb21fZXZlbnQpLCAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyKSwKCSAgKGdzdF9nZHBfcXVldWVfYnVmZmVyKSwgKGdzdF9nZHBfcGF5X2NoYWluKSwKCSAgKGdzdF9nZHBfcGF5X3NpbmtfZXZlbnQpLCAoZ3N0X2dkcF9wYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9nZHBfcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChzZXR1cF9nZHBkZXBheSksCgkgIChjbGVhbnVwX2dkcGRlcGF5KSwgKGdkcGRlcGF5X3B1c2hfcGVyX2J5dGUpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoc2V0dXBfZ2RwZGVwYXlfc3RyZWFtaGVhZGVyKSwgKGdkcGRlcGF5X3N1aXRlKSwgKG1haW4pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOiAoc2V0dXBfZ2RwcGF5KSwgKGNsZWFudXBfZ2RwcGF5KSwKCSAgKEdTVF9TVEFSVF9URVNUKSwgKHNldHVwX2dkcHBheV9zdHJlYW1oZWFkZXIpLCAoZ2RwcGF5X3N1aXRlKSwKCSAgKG1haW4pOgoJICBhZGRpbmcgR0RQIHBheWxvYWRlciBhbmQgZGVwYXlsb2FkZXIuICBCdWlsZCBpbnRlZ3JhdGlvbiB3aWxsCgkgIGZvbGxvdyBsYXRlciB3aGVuIHRoZSBHRFAgaXNzdWVzIGZvciBjb3JlIGFyZSBzb3J0ZWQgb3V0LgoKMjAxMi0wOS0xMCAyMDozODoxNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICBydHBtdXg6IE1pc2MgZml4IGZvciAwLjExCgkgIENvbnZlcnQgdGhlIGluY29taW5nIGNhcHMgYmVmb3JlIHByb3h5aW5nIHRoZW0KCSAgQ2xlYXIgdGhlIGxhc3RfcGFkIHdoZW4gZ29pbmcgdG8gcmVhZHkKCSAgdGVzdHM6IEltcGxlbWVudCBhY2NlcHRfY2FwcywgZG9uJ3QgbGVhayBldmVudAoKMjAxMi0wOS0xMCAxNjoxMjozOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy91dmNoMjY0L01ha2VmaWxlLmFtOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0LW1hcnNoYWwubGlzdDoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NHNyYzogVXNlIGdlbmVyaWMgbWFyc2hhbGxlcgoKMjAxMi0wOS0xMCAxNjowOToyNiAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvdXZjaDI2NC9NYWtlZmlsZS5hbToKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NC1tYXJzaGFsLmxpc3Q6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjQuYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguaDoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuaDoKCSogc3lzL3V2Y2gyNjQvdXZjX2gyNjQuYzoKCSogc3lzL3V2Y2gyNjQvdXZjX2gyNjQuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3V2Y2gyNjRkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91dmNoMjY0ZGVtdXhfZGF0YS92YWxpZF9oMjY0X2pwZy5oMjY0OgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91dmNoMjY0ZGVtdXhfZGF0YS92YWxpZF9oMjY0X2pwZy5qcGc6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3V2Y2gyNjRkZW11eF9kYXRhL3ZhbGlkX2gyNjRfanBnLm1qcGc6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3V2Y2gyNjRkZW11eF9kYXRhL3ZhbGlkX2gyNjRfeXV5Mi5oMjY0OgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91dmNoMjY0ZGVtdXhfZGF0YS92YWxpZF9oMjY0X3l1eTIubWpwZzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdXZjaDI2NGRlbXV4X2RhdGEvdmFsaWRfaDI2NF95dXkyLnl1eTI6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy91dmNoMjY0L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy91dmNoMjY0L2Jvb2xlYW5fcHJvcGVydHkuZ2xhZGU6CgkqIHRlc3RzL2V4YW1wbGVzL3V2Y2gyNjQvZW51bV9wcm9wZXJ0eS5nbGFkZToKCSogdGVzdHMvZXhhbXBsZXMvdXZjaDI2NC9lbnVtX3Byb3BlcnR5X2d0azIuZ2xhZGU6CgkqIHRlc3RzL2V4YW1wbGVzL3V2Y2gyNjQvaW50X3Byb3BlcnR5LmdsYWRlOgoJKiB0ZXN0cy9leGFtcGxlcy91dmNoMjY0L3Rlc3QtdXZjaDI2NC5jOgoJKiB0ZXN0cy9leGFtcGxlcy91dmNoMjY0L3dpbmRvdy5nbGFkZToKCSAgVVZDIEgyNjQgcGx1Z2luCgoyMDEyLTA5LTA5IDIzOjUyOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJICBvcGVuY3Y6IGRpc2FibGUgbW90aW9uY2VsbHMgImRhdGUiIHByb3BlcnR5IGZvciBub3cKCSAgU2hvdWxkbid0IGJlIG9mIHR5cGUgbG9uZy4gTm90IHN1cmUgaXQncyB1c2VmdWwgYXQgYWxsLCBzbwoJICBqdXN0IGRpc2FibGUgaXQgZm9yIG5vdyB0byBzZWUgaWYgc29tZW9uZSBtaXNzZXMgaXQuCgoyMDEyLTA5LTA5IDE0OjM1OjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlbW92ZSBub24tZXhpc3RhbnQgaGxzc2luayBwbHVnaW4gZnJvbSBOT05QT1JURUQgbGlzdAoKMjAxMi0wOS0wOCAxNjowODoyMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSAgZGVja2xpbmtzaW5rOiBGaXggbWVtb3J5IGxlYWsKCjIwMTItMDktMDggMTU6NTc6NTcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkgIGludGVyOiBmaXggbGVha3MgaW4gYXVkaW9zcmMvc2luawoKMjAxMi0wOS0wOCAxNzowMzozMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IERvbid0IG92ZXJyaWRlIHVwc3RyZWFtIGZyYW1lcmF0ZSBhbmQgUEFSCgkgIElmIHVwc3RyZWFtIHByb3ZpZGVkIHNvbWUsIHRoZXJlJ3MgYSBnb29kIGNoYW5jZSB0aGV5IGFyZSB0aGUgb25lcyB0byB1c2UKCjIwMTItMDktMDggMTQ6NDM6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50ZWRwbHVnaW4uYzoKCSAgaGxzOiBkaXNhYmxlIGhsc3NpbmsgYnV0IGRvIGJ1aWxkIGhsc2RlbXV4CgoyMDEyLTA5LTA4IDE0OjMxOjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgUmV2ZXJ0ICJjb25maWd1cmUuYWM6IFByb3Blcmx5IGRpc2FibGUgSExTIHBsdWdpbiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAzYWQzNDQ1YTI1ZjMxYmMwZDAxNjdhNGY0MTM3OTFiZWE4MDA2NzgzLgoJICBUaGlzIGRpc2FibGVkIGhsc2RlbXV4IGFzIHdlbGwKCjIwMTItMDktMDggMTQ6MDU6MDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IFByb3Blcmx5IGRpc2FibGUgSExTIHBsdWdpbgoKMjAxMi0wOS0wNyAxNjowODo1NyArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSAgaGxzOiBBZGQgbWlzc2luZyBHU1RfUExVR0lOU19CQVNFX0NGTEFHUwoKMjAxMi0wOS0wNyAxNjowNzo0MCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmM6CgkqIGdzdC9obHMvZ3N0aGxzc2luay5oOgoJICBobHNzaW5rOiBBZGQgc2VnbWVudCB0YXJnZXQtZHVyYXRpb24gcHJvcGVydHkKCSAgVGhpcyBwcm9wZXJ0eSBjYXVzZXMgaGxzc2luayB0byBwdXNoIGEgZm9yY2Uga2V5IHVuaXQgZXZlbnQgdXBzdHJlYW0KCSAgZXZlcnkgdGFyZ2V0LWR1cmF0aW9uIHNlY29uZHMuIFRoaXMgaXMgZm9yIHNpbXBsZSBhdXRvbWF0aWMgc2VnbWVudGluZy4KCSAgVG8gZGlzYWJsZSBpdCwgc2V0IHRoZSBwcm9wZXJ0eSB0byAwIGFuZCBwdXNoIHRoZSBmb3JjZSBrZXkgdW5pdCBldmVudAoJICBtYW51YWxseS4KCjIwMTEtMDgtMjEgMTE6MDA6NTEgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50ZWRwbHVnaW4uYzoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmM6CgkqIGdzdC9obHMvZ3N0aGxzc2luay5oOgoJKiBnc3QvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJKiBnc3QvaGxzL2dzdG0zdThwbGF5bGlzdC5oOgoJICBobHM6IGFkZCBobHNzaW5rIGVsZW1lbnQKCjIwMTItMDktMDYgMDE6NTM6MDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogdXNlIGNvcnJlY3QgdmFyaWFibGUgd2hlbiBoYW5kbGluZyBwYWQgcHJvYmUgYnVmZmVycwoJICBQYWQgcHJvYmUgZGF0YSBpcyBpbiB0aGUgR3N0UGFkUHJvYmVJbmZvLCBub3QgaW4gdGhlIHVzZXIgZGF0YQoJICBwYXJhbWV0ZXIuCgoyMDEyLTA5LTAzIDE5OjI1OjUyICswMTAwICBSaWNvIFR6c2NoaWNoaG9seiA8cmljb3R6QHQtb25saW5lLmRlPgoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSAgbXl0aHR2OiB1cGRhdGUgZm9yIGR1cmF0aW9uIG1lc3NhZ2UgQVBJIGNoYW5nZQoKMjAxMi0wOS0wMyAxNDoyMToxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IHNldCBpbnRlcmxhY2VfY29kaW5nIGJhc2VkIG9uIGlucHV0IGNhcHMKCSAgYW5kIHJlbW92ZSBwcm9wZXJ0eS4KCjIwMTItMDktMDMgMTQ6MDQ6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBjb25maWd1cmUgcHJvZmlsZS9sZXZlbCBmcm9tIGFsbG93ZWQgZG93bnN0cmVhbSBjYXBzIGluc3RlYWQgb2YgcHJvcGVydGllcwoJICBUaGlzIGlzIGhvdyBpdCdzIGRvbmUgZWxzZXdoZXJlIGFuZCB3b3JrcyBiZXR0ZXIgd2l0aCBlbmNvZGViaW4uCgkgIFJlbW92ZXMgImZvcmNlLXByb2ZpbGUiIHByb3BlcnR5LCByZWFkLW9ubHkgInByb2ZpbGUiIHByb3BlcnR5IGFuZAoJICAibGV2ZWwiIHByb3BlcnR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcwNjA4CgoyMDEyLTA5LTAzIDEzOjU4OjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkgIGRpcmFjcGFyc2U6IGZpeCBtYWluIHByb2ZpbGUgbWFwcGluZwoKMjAxMi0wOS0wMyAxMzowNDowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IHByZXR0aWZ5IGVudW0gcHJvcGVydHkgbmlja3MKCSAgVXNlICctJyBpbnN0ZWFkIG9mICdfJyBhcyB3b3JkIHNlcGFyYXRvci4KCjIwMTItMDktMDMgMTI6NDE6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSAgZGlyYWNwYXJzZTogY2hhbmdlICJpbnRlcmxhY2VkIiBib29sZWFuIGluIGNhcHMgdG8gImludGVybGFjZS1tb2RlIgoJICBOb3Qgc3RyaWN0bHkgbmVlZGVkLCBidXQgbGV0J3MgbWFrZSBpdCBjb25zaXN0ZW50IHdpdGggdGhlIHJhdwoJICB2aWRlbyB3YXkgb2YgZG9pbmcgdGhpbmdzLgoKMjAxMi0wOS0wMyAxMjozMzo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJICBkaXJhY3BhcnNlOiB1c2Ugc3RyaW5ncyBmb3IgcHJvZmlsZSBhbmQgbGV2ZWwgaW4gY2FwcwoJICBGb3IgY29uc2lzdGVuY3kgd2l0aCBtb3N0IG90aGVyIGZvcm1hdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg0MzYKCjIwMTItMDktMDIgMTI6MzY6MzcgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkgIHNwYzogTm8gbmVlZCB0byBkZWZpbmUgR0xJQl9ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMxNzUKCjIwMTItMDktMDIgMDM6NTU6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDN0YWc6IGV4dHJhY3QgeWVhciB0byB3cml0ZSBpbnRvIElEM3YxIHRhZyBmcm9tIEdTVF9UQUdfREFURV9USU1FIG5vdCBHU1RfVEFHX0RBVEUKCjIwMTItMDktMDEgMjE6NDY6MTkgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5oOgoJICBtcGVnNHZpZGVvcGFyc2U6IHNldCAwIGR1cmF0aW9uIHdoZW4gdm9wX2NvZGVkIGlzIDAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzE2OQoKMjAxMi0wOS0wMiAwMTo0MjozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBnc3RfbWVzc2FnZV9uZXdfZHVyYXRpb24gLT4gZ3N0X21lc3NhZ2VfbmV3X2R1cmF0aW9uX2NoYW5nZWQKCjIwMTItMDktMDEgMDk6MTI6NTEgLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogSGFuZGxlIGNhcHMgcXVlcnkgb24gaW50ZXJuYWwgc3JjcGFkCgkgIFJlcGx5IHdpdGggQU5ZIGNhcHMgdG8gZW5zdXJlIGxpbmtpbmcgdGhlIGludGVybmFsIHNyYyBwYWQuIFRoaXMKCSAgbWlnaHQgbmVlZCBtb3JlIGF0dGVudGlvbiBsYXRlciwgdG8gcmVwbHkgd2l0aCB0aGUgcmVhbCB1cHN0cmVhbSBjYXBzCgkgIGZvciB0aGUgY3VycmVudGx5IGFjdGl2ZSBlbGVtZW50LgoKMjAxMi0wOC0zMSAxNToyODoyOSAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZC9tcGVnZGVtdXg6IFNlbmQgYm90aCBQVFMgYW5kIERUUyBkb3duc3RyZWFtCgkgIE5vdyB0aGF0IHdlIGNhbi4KCjIwMTItMDktMDIgMDA6MDQ6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJICBzcGM6IGRvbid0IGxlYWsgYnVmZmVyIGluIGNhc2Ugb2YgYW4gaW5pdCBlcnJvcgoKMjAxMi0wOS0wMiAwMDozNDozOCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJKiBleHQvc3BjL3RhZy5jOgoJKiBleHQvc3BjL3RhZy5oOgoJICBzcGM6IHBvcnQgdG8gMC4xMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMTc1CgoyMDEyLTA4LTMxIDE0OjEzOjU4IC0wNzAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmg6CgkgIHJlc2luZHZkOiBQbHVnIGEgdmlkZW8gcGFyc2VyIGluIGZyb250IG9mIGRlY29kZXIKCSAgU2VlbXMgdG8gbWFrZSBwbGF5YmFjayBib3RoIGJldHRlciBhbmQgd29yc2UuIFRoZSBwYXJzZXIgbmVlZHMgc29tZQoJICBmaXhpbmcsIGl0IHNlZW1zIDotLwoKMjAxMi0wOC0zMSAxMjozMTo0OCAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBNYWtlIEdBUCBldmVudCBhd2FyZQoKMjAxMi0wOC0zMSAwODo0Njo0NSAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguaDoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5oOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuaDoKCSAgcmVzaW5kdmQ6IEFkZCBzb21lIEdBUCBldmVudCBzdHVmZiB0byBtYWtlIHN0aWxsLWZyYW1lcyBzdGFydCB0byB3b3JrCgkgIEFuZCByZW1vdmUgdGhlIGRlYWQgYXVkaW9tdW5nZSBlbGVtZW50LiBJdCBpc24ndCBuZWVkZWQgbm93LCB3ZSBqdXN0CgkgIHNlbmQgR0FQIGV2ZW50cwoKMjAxMi0wNi0wOSAyMjozNjowNiArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVmcy5oOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguaDoKCSogZXh0L3Jlc2luZHZkL2dzdHBlc2ZpbHRlci5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0cGVzZmlsdGVyLmg6CgkqIGV4dC9yZXNpbmR2ZC9wbHVnaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25pbnB1dHNlbGVjdG9yLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25pbnB1dHNlbGVjdG9yLmg6CgkqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5jOgoJKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuaDoKCSAgcmVzaW5kdmQ6IEluaXRpYWwgcGFydGlhbCBwb3J0IHRvIDAuMTEKCjIwMTItMDgtMzAgMTg6Mzk6NTAgLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogRG9uJ3QgZHJvcCB1cHN0cmVhbSBldmVudHMgZHVlIHRvIHNpbGx5IHR5cG8KCjIwMTItMDgtMzAgMTc6NTE6NTAgLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIG1wZWdkZW11eDogTWVyZ2Ugc29tZSBEVkQgcGllY2VzIGFuZCBmaXhlcwoJICBCcmluZyB0aGUgcmVzaW5kdmQgY29weSBvZiBtcGVncHNkZW11eCBhbmQgdGhlIG5vcm1hbCB2ZXJzaW9uCgkgIHNsaWdodGx5IGNsb3NlciB0b2dldGhlci4KCSAgRG9uJ3QgZm9yd2FyZCBpbmNvbWluZyBzaW5rIGNhcHMgZXZlbnQgdG8gZG93bnN0cmVhbSBlbGVtZW50cy4KCjIwMTItMDYtMTEgMDg6MzM6MzYgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogYXZvaWQgZXh0cmEgcmVmcy91bnJlZnMgb2YgdGhlIGRlbXV4ZXIKCSAgQ2hhbmdlIGFsbCB0aGUgZ3N0X3BhZF9nZXRfcGFyZW50KCkgY2FsbHMgdG8gYSBjYXN0IHRvIHRoZQoJICBwYXNzZWQgcGFyZW50IHZhcmlhYmxlIHdoZXJlIGFwcHJvcHJpYXRlLCBhbmQgZG9uJ3QgdW5yZWYsCgkgIGluY2x1ZGluZyB0aGUgZXh0cmEgdW5yZWYgaW4gdGhlCgkgIGdzdF9mbHVwc19kZW11eF9zaW5rX2FjdGl2YXRlX3B1c2goKSBmdW5jdGlvbi4KCjIwMTItMDgtMzAgMTI6MTE6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBhZGp1c3QgdG8gbW9kaWZpZWQgdmlkZW8gb3ZlcmxheSBjb21wb3NpdGlvbiBBUEkKCSAgLi4uIGFuZCBzdXBwbHkgb3ZlcmxheSByZWN0YW5nbGUgZGF0YSBpbiBBWVVWIGFzIHByb3ZpZGVkIGJ5IGlucHV0CgkgIGRhdGEgcmF0aGVyIHRoYW4gY29udmVydGluZyB0byBSR0IuCgoyMDEyLTA4LTI5IDIyOjA1OjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogbm8gbmVlZCB0byBzZXQgY2xvY2svYmFzZXRpbWUgYWdhaW4KCSAgVGhlIGJhc2UgYW5kIGNsb2NrIGFyZW4ndCBsb3N0IGFueW1vcmUgb24gc3RhdGUgY2hhbmdlcwoJICBpbiAxLjAKCjIwMTItMDgtMjkgMjI6MDU6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluOiBubyBuZWVkIHRvIHNlbmQgZXh0cmEgcmVjb25maWd1cmUKCSAgU2V0dGluZyBjYXBzZmlsdGVycyBhbHJlYWR5IHNlbmRzIHJlY29uZmlndXJlIGV2ZW50cyB3aGVuIGEgbmV3CgkgIGNhcHMgaXMgc2V0LCBubyBuZWVkIHRvIHJlc2VuZCB0aGVtLgoKMjAxMi0wOC0yOCAyMTowMTo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IHJlcXVlc3QgXyV1IHRlbXBsYXRlcyBpbnN0ZWFkIG9mIF8lZAoJICBJbiAxLjAsIHRlbXBsYXRlcyBoYXZlIGJlZW4gcmVuYW1lZCB0byBfJXUgYXMgZGVmYXVsdAoKMjAxMi0wOC0yNiAxNjo0MzozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW46IGZpeCBpbWFnZSBsb2NhdGlvbiBzd2l0Y2hpbmcgdGVzdAoJICBUaGUgdGVzdCBzaG91bGQgd2FpdCB1bnRpbCB0aGUgbGFzdCBpbWFnZS1kb25lIGlzIHBvc3RlZCBzbyBpdAoJICBjYW4gY29ycmVjdGx5IGNoZWNrIHRoYXQgYWxsIGltYWdlcyBoYXZlIGJlZW4gc2F2ZWQuCgoyMDEyLTA4LTI2IDE2OjQyOjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IHJld29yayB2aWRlbyByZWNvcmRpbmcgZW9zIHB1c2gKCSAgUHVzaCBFT1Mgb3V0c2lkZSBvZiB3cmFwcGVyY2FtZXJhYmluc3JjIHNvIHRoYXQgbm9uZSBvZiB0aGUKCSAgaW50ZXJuYWwgZWxlbWVudHMgZ2V0cyBpdHMgcGFkcyBpbnRvIGVvcyBzdGF0ZSwgcHJldmVudGluZyBhbnkKCSAgZnVydGhlciBkYXRhIGZyb20gcGFzc2luZwoKMjAxMi0wOC0yOCAxMTowNzo0MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGVuc3VyZSBzdWZmaWNpZW50bHkgc2l6ZWQgYnVmZmVyIHdoZW4gd3JhcHBpbmcgTkFMCgkgIE5vdGVkIGJ5IDx6aGFuZ3lhbnBpbmcyMTBAeWFob28uY29tLmNuPgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyNTg5CgoyMDEyLTA4LTI0IDA5OjAxOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vTWFrZWZpbGUuYW06CgkgIHNobTogcmVtb3ZlIHVubmVlZGVkIGdsaWItZ2VuLW1hayBpbmNsdWRlIGluIE1ha2VmaWxlCgkgIE5vIGVudW1zIG9yIG1hcnNoYWxsZXJzIHRvIGJlIGdlbmVyYXRlZCBoZXJlLiBTaG91bGQgYWxzbwoJICBiZSBnc3QtZ2xpYi1nZW4ubWFrIHRoZW4uCgoyMDEyLTA4LTIyIDE1OjA4OjUzICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogcmV2ZXJ0IHJlbmFtaW5nIG9mIHRoZSB0eXBlCgkgIFRoZSBzcGVjaWFsIHR5cGUgbmFtZSB3YXMgbG9zdCB3aGVuIG1lcmdpbmcgZnJvbSBiYXNlLgoKMjAxMi0wOC0yMiAxMzozMDo0MCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNjY4YWNlZSB0byA0Zjk2MmY3CgoyMDEyLTA4LTIyIDEzOjE5OjUzICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJ1bXAgZ3RrLWRvYyByZXEgdG8gMS4xMiAobWFyLTIwMDkpCgkgIFRoaXMgYWxsb3dzIHVzIHRvIGUuZy4gdW5jb25kaXRpb25hbGx5IHVzZSBndGtkb2MtcmViYXNlLgoKMjAxMi0wOC0yMSAxMzoyOToxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBhdm9pZCByZWdpc3RlcmluZyBlbnVtIHR5cGUgb2Ygc2FtZSBuYW1lIGFzIGxpYnZpc3VhbCBwbHVnaW4gaW4gLWJhc2UKCjIwMTItMDgtMTcgMTE6MTI6MjIgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmQ6IHVzZSBzY2FsZSBmdWxsc2NyZWVuIG1ldGhvZC4KCSAgVGhpcyBtYWtlcyB0aGUgY29tcG9zaXRvciBzY2FsZSB0aGUgc3VyZmFjZSB0byBmaXQgYW5kIHByZXNlcnZlcwoJICBhc3BlY3QgcmF0aW8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE0NTMKCjIwMTItMDgtMTcgMTE6MTA6MzkgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmQ6IHJlc3BvbmQgdG8gcGluZy9wb25nIHByb3RvY29sIHNvIHdlJ3JlIG5vdCBkZWVtZWQgdW5yZXNwb25zaXZlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxNDUzCgoyMDEyLTA4LTIxIDEwOjM3OjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCBjaGVjayBmb3Igd2F5bGFuZAoJICBXZSBvbmx5IHNlZW0gdG8gbmVlZCB3YXlsYW5kLWNsaWVudC4gQWxzbyBtYWtlIHdvcmsgd2l0aAoJICB3YXlsYW5kIGJlaW5nIGluc3RhbGxlZCBpbiBhIG5vbi1kZWZhdWx0IHByZWZpeCBieSBub3QKCSAgb3ZlcndyaXRpbmcvY2xlYXJpbmcgV0FZTEFORF97Q0ZMQUdTLExJQlN9IGZvciBubyByZWFzb24KCSAgYXQgYWxsLgoKMjAxMi0wOC0yMSAxMDoyOTo1NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM3RhZzogZml4IGJ1aWxkCgkgIFNvbWUgY29kZSBzbGlwcGVkIGludG8gdGhlIGxhc3QgY29tbWl0IHRoYXQgd2FzIG1lYW50IHRvIGJlCgkgIHB1c2hlZCBzZXBhcmF0ZWx5LiBVc2UgZ3N0X2RhdGVfdGltZV91bnJlZigpIGluc3RlYWQgb2YgX2ZyZWUoKS4KCjIwMTItMDgtMDggMTc6MTA6MjggKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmg6CgkgIHdheWxhbmQ6IE1vcmUgZml4ZXMgYmFzZWQgb24gd2F5bGFuZC0wLjk1LjAgYW5kIGdzdHJlYW1lci0xLjAgYXBpcwoJICAtIGJ1bXAgd2F5bGFuZCB2ZXJzaW9uIHRvIDAuOTUuMCB3aGljaCB3aWxsIGxlYWQgdG8gc3RhYmxlIDEuMCByZWxlYXNlCgkgIC0gYXZvaWQgbWVtY29weSBhbmQgdXNlIHByb3Bvc2VfYWxsb2NhdGlvbiBmb3IgR3N0QnVmZmVyUG9vbCBhbGxvY2F0aW9uCgkgIC0gdXNpbmcgV2F5bGFuZEJ1ZmZlclBvb2wKCSAgLSBzaG06IEFsbG9jYXRlIHNobSBidWZmZXJzIHRocm91Z2ggbmV3IHdsX3NobV9wb29sIGludGVyZmFjZQoJICAodGhlIHNobSBidWZmZXIgYWxsb2NhdGlvbiBpcyBhIHR3byBzdGVwIHByb2Nlc3Mgbm93OiBmaXJzdAoJICBhbGxvY2F0ZSBhIHdsX3NobV9wb29sLCB0aGVuIGFsbG9jYXRlIGEgYnVmZmVyIGZyb20gdGhlIHBvb2wpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE0NTMKCjIwMTItMDgtMjEgMTA6MjI6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4LmM6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM3RhZzogcG9ydCB0byAwLjExCgoyMDEyLTA4LTIxIDAwOjEwOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBHU1RfVEFHX0RBVEUgLT4gR1NUX1RBR19EQVRFX1RJTUUKCSAgSW4gY2FtZXJhYmluMiBleGFtcGxlLgoKMjAxMi0wOC0yMCAyMzozNzowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1Lmg6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSAgdmlkZW8veC1kdmQtc3VicGljdHVyZSAtPiBzdWJwaWN0dXJlL3gtZHZkCgoyMDEyLTA4LTE4IDIwOjMxOjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSogZ3N0L21wZWcxc3lzL21haW4uaDoKCSogZ3N0L3J0anBlZy9SVGpwZWcuYzoKCSogZ3N0L3J0anBlZy9SVGpwZWcuaDoKCSogZ3N0L3R0YS9maWx0ZXJzLmg6CgkqIGdzdC92YmlkZWMvdmJpZGF0YS5jOgoJKiBnc3QvdmJpZGVjL3ZiaWRhdGEuaDoKCSogZ3N0L3ZiaWRlYy92YmlzY3JlZW4uYzoKCSogZ3N0L3ZiaWRlYy92YmlzY3JlZW4uaDoKCSAgRml4IHVwIEZTRiBhZGRyZXNzIGluIHNvbWUgc291cmNlIGZpbGVzIGFzIHdlbGwKCjIwMTItMDgtMTggMTE6MDk6MzkgLTA0MDAgIEJyaWFuIFBlcHBsZSA8YnBlcHBsZUBmZWRvcmFwcm9qZWN0Lm9yZz4KCgkqIENPUFlJTkc6CgkqIENPUFlJTkcuTElCOgoJICBDb3JyZWN0IGluY29ycmVjdCBGU0YgYWRkcmVzcyBpbiBsaWNlbnNlIGZpbGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODIxNTgKCjIwMTItMDgtMTcgMjI6NTc6MTAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogc3luYyB0byBjaGFuZ2UgaW4gYmFzZSBhbmQgcG9ydAoJICBBZGQgc3VwcG9ydCBmb3IgR3N0VmlkZW9NZXRhIGFuZCBHc3RWaWRlb0ZyYW1lLiBSZW1vdmUgc29tZSByZWR1bmRhbnQgZmllbGRzCgkgIHRoYXQgYXJlIGFsc28gaW4gR3N0VmlkZW9JbmZvLiBEb24ndCBkaXNhYmxlIHRoZSBzaGFkZXIgY29kZSwgaXQgZG9lcyBub3QKCSAgbG9vayBicm9rZW4uCgoyMDEyLTA4LTE3IDE1OjE1OjM0ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvUkVBRE1FOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IHN0YXR1cyB1cGRhdGUKCjIwMTItMDgtMTUgMTg6Mjg6MDkgLTA0MDAgIEJyaWFuIFBlcHBsZSA8YnBlcHBsZUBmZWRvcmFwcm9qZWN0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhZGQgbWlzc2luZyBBQ19MQU5HX1BST0dSQU0gY2FsbCB0byBEaXJlY3RTaG93IHRlc3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE5NTIKCjIwMTItMDgtMTUgMTE6MjY6NTkgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgdmlzdWFsaXplcjogc21hbGwgY2xlYW51cAoJICBBcHBseSBjbGVhbnVwIGZyb20gY29weSBpbiBiYXNlLgoKMjAxMi0wNy0yNCAyMDozOTo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBGaXggZmx1c2hpbmcvc3luYyBoYW5kbGluZwoJICBUaGVyZSB3YXMgYSBzdHJheSBhZGFwdGVyX2ZsdXNoKCkgbm93IHRoYXQgd2UgdXNlZCBhIHRlbXBvcmFyeSBidWZmZXIKCjIwMTItMDctMTkgMTM6MzU6NTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogQmV0dGVyIGRldGVjdCBQQ1IgcmVzZXRzCgkgIEFzc3VtZSB0aGF0IGFueSBkaWZmZXJlbmNlcyBpbiBQQ1IgZ3JlYXRlciB0aGFuIDE1cyBtZWFucyB0aGVyZSBpcwoJICBhIHJlc2V0IGluIHRoZSBzdHJlYW0uCgoyMDEyLTA3LTE5IDA5OjA1OjI4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogQ2FsbCBnc3RfdmlkZW9fZGVjb2Rlcl9uZWdvdGlhdGUoKQoKMjAxMi0wNy0xOSAwOTowNToxMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkgIHNjaHJvZGVjOiBDYWxsIGdzdF92aWRlb19kZWNvZGVyX25lZ290aWF0ZSgpCgoyMDEyLTA3LTE0IDEzOjU5OjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFJlbW92ZS9kZW1vdGUgc29tZSBkZWJ1Z2dpbmcKCjIwMTItMDctMTMgMTY6NTY6MTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQWx3YXlzIHVzZSBjdXJyZW50IFBUUy9EVFMKCSAgVGhpcyBhdm9pZHMgc2V0dGluZyBvbGQgUFRTIGFuZC9vciBEVFMKCjIwMTItMDctMTMgMTY6MjI6MjcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogUmVtb3ZlIHVubmVlZGVkIG1lbXNldCgwKQoKMjAxMi0wNy0xMyAxNjoyMjoxMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICBtcGVndHM6IFVzZSBHX0dOVUNfSU5URVJOQUwKCjIwMTItMDctMTEgMDg6MTA6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGR2YiBwbHVnaW4gaXMgcG9ydGVkCgoyMDEyLTA3LTExIDA4OjEwOjE4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmI6IE1vcmUgZml4dXBzIHRvIDEuMAoJICBOb3QgdGVzdGVkIHlldCAhCgkgIENvbmZsaWN0czoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYwoKMjAxMi0wNi0yOSAxODowNDowNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2NhbWRldmljZS5jOgoJICBjYW06IEFsbG93IHRpbWUgZm9yIENBIHRvIGluaXRpYWxpemUKCSAgU29tZSBkZXZpY2VzIHRha2Ugc29tZSB0aW1lIHRvIGluaXRpYWxpemUsIGFuZCB1bnRpbCB0aGV5IGFyZSB0aGV5CgkgIHdpbGwgZXJyb3Igb3V0IHdoZW4gdHJ5aW5nIHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgQ0EgZGV2aWNlLgoKMjAxMi0wNi0yOSAxODowMToxNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmM6CgkgIGNhbTogUE1UX1JFUExZIHBhcnNpbmcKCSAgTm90IHVzZWQgeWV0CgoyMDEyLTA2LTI5IDE4OjAwOjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uaDoKCSAgZHZiYmFzZWJpbjogU3dpdGNoIHRvIHVzZSB0c3BhcnNlCgoyMDEyLTA2LTI5IDE3OjUzOjMwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFVzZSBnc3Rfc3RydWN0dXJlXypfdGFrZV92YWx1ZSB3aGVyZSBhcHBsaWNhYmxlCgkgIFNhdmVzIGNvcHlpbmcvZnJlZWluZyBkYXRhCgoyMDEyLTA2LTI5IDE2OjE0OjAyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IENhY2hlIHRoZSBHSUNvbnYKCSAgQXZvaWRzIGhhdmluZyB0byBjb25zdGFudGx5IG9wZW4vZnJlZSB0aGVtICh3aGljaCB3aWxsIGVuZCB1cCBiZWluZwoJICB2ZXJ5IG9mdGVuIHdpdGggRUlUL05JVCkuCgoyMDEyLTA2LTI5IDE2OjA5OjMxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0YmFzZTogcmVzZXQgZWxlbWVudCBpbiBSRUFEWT0+UEFVU0VECgkgIEVuc3VyZXMgYWxsIHN1YmNsYXNzIHJlc2V0IHZtZXRob2RzIGFyZSBjYWxsZWQKCjIwMTItMDYtMjggMTI6MTg6MjggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogVXNlIG1vcmUgUXVhcmtzCgoyMDEyLTA2LTI2IDE5OjAxOjA3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFJlbW92ZSB1c2VsZXNzIGNvZGUKCSAgUENSL09QQ1IgaXMgbWVhbnQgdG8gYmUgaGFuZGxlZCBieSB0aGUgcGFja2V0aXplcgoKMjAxMi0wNi0yNiAxODo1OTozMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBDYWxjdWxhdGUgcGNyL3RpbWUvb2Zmc2V0IHNlcGFyYXRlbHkgcGVyIHByb2dyYW0KCSAgQXZvaWRzIHF1aXRlIGEgZmV3IGlzc3VlcyB3aXRoIG11bHRpLXByb2dyYW0gc3RyZWFtcwoKMjAxMi0wNi0yNiAxODo1NDo1NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgdHNwYXJzZTogUHVzaCBvdXQgYnVmZmVyIG9uIG1haW4gc291cmNlIHBhZAoKMjAxMi0wNi0yNiAxODo1MToyMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJICBtcGVndGJhc2U6IHZtZXRob2QgdG8gbm90aWZ5IHdoZW4gd2UncmUgZG9uZSBwcm9jZXNzaW5nIGlucHV0CgkgIFRoaXMgY2FuIGJlIHVzZWQgdG8gbm90aWZ5IHN1YmNsYXNzZXMgbm8gbW9yZSBkYXRhIGlzIGV4cGVjdGVkIHRoaXMKCSAgcm91bmQuCgkgIHRzcGFyc2Ugd2lsbCB1c2UgaXQgdG8gcHVzaCB3aG9sZSBidWZmZXJzICh3aXRob3V0IGNvcHkpIG9uIHRoZSBtYWluCgkgIHNvdXJjZSBwYWQuCgkgIEl0IGNvdWxkIGFsc28gYmUgdXNlZCBsYXRlciB0byBkZWNpZGUgd2hldGhlciB0byBwdXNoIHBlbmRpbmcgZGF0YQoJICBpbiBvcmRlciB0byByZWR1Y2UgbGF0ZW5jeS4KCjIwMTEtMDItMDEgMTE6Mzk6MTYgLTA4MDAgIEZhYnJpemlvIChNaXN0bykgTWlsbyA8bWlzdG9iYWFuQGdtYWlsLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIGR2YnNyYyArIGR2YiBhcGkgYnVmZmVyIHByb3BlcnR5IHRvIG92ZXJjb21lIGJ1ZmZlciB1bmRlciByZWFkcwoKMjAxMi0wOC0wOCAxNTowNjowOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgc291bmR0b3VjaDogRG9uJ3QgYXNzdW1lIG91dHB1dCBidWZmZXIgdGltZXN0YW1wcwoJICBUaGVyZSdzIG5vIGd1YXJhbnRlZSB3aGF0c29ldmVyIHRoYXQgdGhlIGZpcnN0IGJ1ZmZlciB0byBvdXRwdXQgd2lsbAoJICBzdGFydCBhdCB0aGUgc2VnbWVudC5zdGFydC4KCSAgSW5zdGVhZCwgd2FpdCBmb3IgdGhlIGZpcnN0IGJ1ZmZlciBhZnRlciBhIHNlZ21lbnQsIGFuZCB1c2UgdGhhdCB0aW1lc3RhbXAKCjIwMTItMDgtMTQgMTE6MTc6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuaDoKCSAgdnA4ZGVjOiBBZGQgc3VwcG9ydCBmb3IgbXVsdGlwbGUgZGVjb2RpbmcgdGhyZWFkcwoKMjAxMi0wOC0xNCAxMTowOTo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogQWRkIHN1cHBvcnQgZm9yIHRoZSBNRlFFIHBvc3Rwcm9jZXNzaW5nIGZsYWcKCSAgV2hpY2ggaXMgZW5hYmxlZCBieSBkZWZhdWx0IGlmIHBvc3Rwcm9jZXNzaW5nIGlzIGVuYWJsZWQuCgoyMDEyLTA4LTEzIDEwOjU3OjU3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogb25seSBhcHBseSByZXBlYXQgY291bnQgd2hlbiBzZXQKCSAgV2hlbiB0aGVyZSBpcyBubyBleHRlbnNpb24gaGVhZGVyLCB0aGUgcmVwZWF0X2NvdW50IHZhcmlhYmxlIGlzIGxlZnQgdG8gMCBhbmQKCSAgdGhlbiB0aGUgZHVyYXRpb24gb24gdGhlIG91dHB1dCBidWZmZXJzIGlzIGNhbGN1bGF0ZWQgd3JvbmdseS4gQmVjYXVzZSB0aGUKCSAgZHVyYXRpb24gaXMgdXNlZCB0byBpbnRlcnBvbGF0ZSBvdXRwdXQgdGltZXN0YW1wcywgdGhlIG91dHB1dCB0aW1lc3RhbXBzIGFyZQoJICBhbHNvIHdyb25nLCBjYXVzaW5nIGJhZCBmcmFtZXJhdGVzLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTUzNQoKMjAxMi0wOC0wOSAxMzozNzoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkgIHZwODogVXNlIHBrZy1jb25maWcgZmlsZSBmb3IgZ2V0dGluZyB0aGUgTElCUyBhbmQgQ0ZMQUdTCgoyMDEyLTA4LTA5IDExOjQ4OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiBHaXZlIE1BUkdJTkFMIHJhbmsgdG8gdGhlIG1wZzEyMyBkZWNvZGVyIGVsZW1lbnQKCjIwMTItMDgtMDggMTc6NDA6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgZ3N0OiBTZXQgYWxpZ25tZW50IGF0IHRoZSBjb3JyZWN0IHBsYWNlIG9mIEdzdEFsbG9jYXRpb25QYXJhbXMKCjIwMTItMDgtMDggMTc6MDY6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBVcGRhdGUgdGhlIHBlci1jb21wb25lbnQgc3RyaWRlcyBmb3IgZXZlcnkgZnJhbWUgdG9vCgkgIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2Ugb2YgR3N0VmlkZW9BbGlnbm1lbnQKCjIwMTItMDgtMDggMTY6MzU6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuOTMgPT09CgoyMDEyLTA4LTA4IDE1OjMyOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkgIFJlbGVhc2UgMC4xMS45MwoKMjAxMi0wOC0wOCAxMjo1ODo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9tcGcxMjMvTWFrZWZpbGUuYW06CgkgIG1wZzEyMzogZGlzdCBoZWFkZXIgZmlsZQoKMjAxMi0wOC0wOCAxMjoxMzoxMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSogd2luMzIvY29tbW9uL2xpYmdzdHBob3RvZ3JhcGh5LmRlZjoKCSAgd2luMzI6IHVwZGF0ZSBmb3IgcGhvdG9ncmFwaHkgQVBJIGNoYW5nZXMKCjIwMTItMDgtMDggMTE6NTM6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICB0ZXN0czogLmdpdGlnbm9yZSBuZXcgY3VybHNtdHBzaW5rIHRlc3QgYmluYXJ5CgoyMDEyLTA4LTAzIDE2OjIxOjA5ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkgIG1pbWljOiBQb3J0IHRvIDAuMTEKCjIwMTItMDgtMDcgMTg6MjM6MzcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJICB3aW5rczogYWRkIG1pc3NpbmcgZGVmYXVsdCBzd2l0Y2ggY2FzZQoKMjAxMi0wOC0wNyAxODoyMzowNSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkgIHdpbmtzOiBmaXggdHlwZXMKCjIwMTItMDgtMDcgMTg6MjI6MzYgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJICB3aW5rczogZml4IGZvcm1hdCB3YXJuaW5ncwoKMjAxMi0wOC0wNyAxODoyMTo0OSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc2Nsb2NrLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkgIHdpbmtzOiBmaXggdW51c2VkIHZhcmlhYmxlcyB3YXJuaW5ncwoKMjAxMi0wOC0wNyAxODoyMDo1MyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJICB3aW5rczogZG9uJ3QgcmVpbml0aWFsaXplIE1FRElBU1VCVFlQRV9JNDIwCgoyMDEyLTA4LTA3IDE4OjE5OjI5ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy93aW5rcy9rc2hlbHBlcnMuYzoKCSAgd2lua3M6IGRlZmluZSBTVEFUSUNfS1NQUk9QU0VUSURfV2F2ZV9RdWV1ZWQgaWYgbm90IGRlZmluZWQKCjIwMTItMDgtMDcgMTY6NTM6MDIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3dpbmtzL01ha2VmaWxlLmFtOgoJICB3aW5rczogaW50ZWdyYXRlIGJ1aWxkIHdpdGggYXV0b3Rvb2xzCgoyMDEyLTA4LTAyIDE0OjI2OjMyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBhdm9pZCBkdXBsaWNhdGVkIHN5bWJvbHMgaW4gc3RhdGljIGxpbmtzCgkgIFJlbmFtZSB0aGUgRExMIGVudHJ5IHBvaW50IHRoZSBhdm9pZCBkdXBsaWNhdGVkIHN5bWJvbHMgaW4gc3RhdGljCgkgIGxpbmtzLgoKMjAxMi0wOC0wMiAxNDoyNjozMiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvTWFrZWZpbGUuYW06CgkgIGQzZHZpZGVvc2luazogYXZvaWQgZHVwbGljYXRlZCBzeW1ib2xzIGluIHN0YXRpYyBsaW5rcwoJICBSZW5hbWUgdGhlIERMTCBlbnRyeSBwb2ludCB0aGUgYXZvaWQgZHVwbGljYXRlZCBzeW1ib2xzIGluIHN0YXRpYwoJICBsaW5rcy4KCjIwMTItMDgtMDYgMTM6NTk6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgZ3N0OiBBZGQgc3RyZWFtLWlkIHRvIHN0cmVhbS1zdGFydCBldmVudHMKCjIwMTItMDctMjYgMTk6MzE6MTQgKzAyMDAgIE9sZWtzaWogUmVtcGVsIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IGluaXRpYXRlIGVuY29kZXIgdG8gZml4IGEgY3Jhc2guCgkgIFdpdGhvdXQgdGhpcyBwYXRjaCB2cDhlbmMgc2VuZCBoZWFkZXIgYmVmb3JlIGFuZCBhZnRlciBmaXJzdAoJICBrZXkgZnJhbWUuIE9uIHNlY29uZCBrZXlmcmFtZSB2cDhkZWMgd2lsbCBjcmFzaCB3aXRob3V0IGdldHRpbmcKCSAgZGVjb2RlZCBmcmFtZS4gV2l0aCB0aGlzIHBpcGUgaXQgaXMgZWFzeSB0byByZXByb2R1Y2UgdGhpcyBpc3N1ZToKCSAgZ3N0LWxhdW5jaC0xLjAgdmlkZW90ZXN0c3JjICEgdnA4ZW5jICEgdnA4ZGVjICEgZmFrZXNpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDY2NwoKMjAxMi0wOC0wNSAxNjo0MDoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOTRjY2Y0YyB0byA2NjhhY2VlCgoyMDEyLTA4LTA0IDE2OjMxOjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L25zZi9nc3Ruc2YuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM211eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vZmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgZ3N0X3RhZ19saXN0X2ZyZWUgLT4gZ3N0X3RhZ19saXN0X3VucmVmCgoyMDEyLTA4LTAzIDExOjMxOjAwICswMjAwICBQYXRyaWNpYSBNdXNjYWx1IDxwYXRyaWNpYUBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybGZpbGVzaW5rLmM6CgkgIGN1cmw6IGZpeGVkIHNvbWUgbWVtb3J5IGxlYWtzIGluIHRoZSBwbHVnaW4gYW5kIHRoZSB1bml0IHRlc3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODExMTcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTExNQoKMjAxMi0wOC0wMyAxNDoxMjowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVxdWlyZSBsaWJtcGcxMjMgPj0gMS4xMyBmb3IgMjQtYml0IGZvcm1hdHMKCjIwMTItMDgtMDMgMTM6NDM6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IG1hcCBpbnB1dCBidWZmZXIgaW4gUkVBRCBtb2RlLCBub3QgV1JJVEUgbW9kZQoJICBNYWtlcyB0aGluZ3MgYWN0dWFsbHkgd29yay4KCjIwMTItMDgtMDMgMTE6NTA6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IHF1ZXJ5IHN1cHBvcnRlZCBvdXRwdXQgZm9ybWF0cyBhdCBydW4tdGltZQoJICBGaXhlcyBzdHVmZi4gV2UgdXNlIGEgc3RyaW5nIGhlcmUgc2luY2Ugd2UgY2FuJ3QgYmUgYm90aGVyZWQKCSAgd2l0aCBHVmFsdWUuCgoyMDEyLTA4LTAzIDExOjQ4OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbXBnMTIzL01ha2VmaWxlLmFtOgoJICBtcGcxMjM6IGhvb2sgdXAgdG8gYnVpbGQgc3lzdGVtCgoyMDEyLTA4LTAzIDExOjEzOjQ4ICswMTAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuaDoKCSAgbXBnMTIzOiBhZGQgbmV3IGxpYm1wZzEyMy1iYXNlZCBtcDMgZGVjb2RlciBwbHVnaW4KCSAgTmVlZHMgYSBiaXQgb2YgY2xlYW5pbmcgdXAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODEwMDMKCjIwMTItMDgtMDMgMDA6MTA6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvLmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIHNjaHJvZWRpbmdlciwgbXBlZ3RzbXV4OiBmaXggcGx1Z2luIG5hbWVzCgoyMDEyLTA3LTMxIDA5OjM2OjM1ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogU2F2ZSBpbWFnZS92aWRlbyByZWNvbmZpZ3VyYXRpb24gdW50aWwgY2FwdHVyaW5nCgkgIEFkZCBhIHNyYyBwYWQgZXZlbnQgaGFuZGxlciBmdW5jdGlvbiB0aGF0IGZpbHRlcnMgcmVjb25maWd1cmUgZXZlbnRzIHRvCgkgIHRyaWdnZXIgdGhlIHJlbmVnb3RpYXRpb24gY29kZSBwYXRocyBpbiB0aGUgbW9kZS1zcGVjaWZpYyBzdGFydC1jYXB0dXJlCgkgIHBoYXNlLgoJICBUaGlzIGlzIHRvIHdvcmsgdG93YXJkcyBmaXhpbmcgdW5pdCB0ZXN0cyBidXQgbW9yZSB3b3JrIGlzIG5lZWRlZC4KCjIwMTItMDgtMDIgMTQ6NDA6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBkbyBub3QgYWNjZXNzIGZyYW1lIGJ1ZmZlciBmb2xsb3dpbmcgX2ZpbmlzaF9mcmFtZSBjYWxsCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODA0OTQKCjIwMTItMDgtMDEgMTE6MzQ6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvbXBsZXgvZ3N0bXBsZXhqb2IuY2M6CgkgIG1wbGV4OiBkZWZhdWx0IHRvIERWRCBNUEVHLTIgZm9ybWF0IGluc3RlYWQgb2YgR2VuZXJpYyBNUEVHLTEKCjIwMTItMDgtMDEgMTE6MzE6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvbXBsZXgvZ3N0bXBsZXhqb2IuY2M6CgkgIG1wbGV4am9iOiBhZGQgbmlja3MgZm9yIGZvcm1hdCBlbnVtcywgYWRkIHNvbWUgbW9yZSBmb3JtYXRzCgoyMDEyLTA3LTMwIDE3OjIxOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIHRlc3RzOiBmaXggamlmbXV4IHRlc3QgZm9yIGZpeGVkIGZhaWwoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwNzU1CgoyMDEyLTA3LTI5IDAxOjExOjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjogZml4IHByZXZpZXcgbWVzc2FnZSBoYW5kbGluZwoJICBQcmV2aWV3IG1lc3NhZ2VzIG5vdyBjb250YWluIEdzdFNhbXBsZXMgaW5zdGVhZCBvZiBHc3RCdWZmZXJzCgoyMDEyLTA3LTI5IDAwOjUzOjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3Lmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluOiB1cGRhdGUgcHJldmlldyBidWZmZXIgcHVzaGluZwoJICBuZWVkIHRvIHBhc3MgYSBHc3RTYW1wbGUgdG8gdGhlIHV0aWxpdGFyeSBwcmV2aWV3IGJ1ZmZlciBwb3N0IGZ1bmN0aW9ucwoJICBhcyBhIEdzdEJ1ZmZlciBkb2Vzbid0IGhhdmUgY2FwcyBhbnltb3JlLiBUaGUgR3N0U2FtcGxlIGhhcyB0aGUgR3N0Q2FwcwoJICBhbmQgaXQgaXMgdXNlZCB0byBpbmZvcm0gdGhlIHByZXZpZXcncyBwaXBlbGluZSBhYm91dCB0aGUgZm9ybWF0IG9mIHRoZQoJICBpbnB1dCwgYmVmb3JlIGl0IGdldHMgY29udmVydGVkIHRvIHRoZSB1c2VyJ3MgcmVxdWVzdGVkIG91dHB1dCBmb3JtYXQuCgoyMDEyLTA3LTI5IDAwOjA0OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBSZXZlcnQgImNhbWVyYWJpbjogdXBkYXRlIHRvIG5ldyB0YWcgZXZlbnQgY3JlYXRpb24gQVBJIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDVkODkwYjNjOTI3MTRlMWYzNzE2MzI5MGMzMjkxMWJjZDc4MThhNTcuCgkgIFRoZSBuZXcgQVBJIGlzIHRoZSBvbGQgQVBJLgoKMjAxMi0wNy0yOCAxODowNDo1NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IEZpeCByZWZlcmVuY2VzIHRvIGF2b2lkIGVsZW1lbnQgbGVha2luZwoJICBTb21lIHBhZCBwcm9iZXMgYXJlIG5ldmVyIGdvaW5nIHRvIGJlIHJlbW92ZWQgZnJvbSB0aGUgcGFkcywgc28KCSAgd2Ugc2hvdWxkbid0IGtlZXAgYSBjYW1lcmFiaW4gcmVmZXJlbmNlIHdpdGggdGhlbSBvciBjYW1lcmFiaW4gd2lsbAoJICBuZXZlciBnZXQgcmVsZWFzZWQKCjIwMTItMDctMjggMTU6MTc6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiB1cGRhdGUgdG8gbmV3IHRhZyBldmVudCBjcmVhdGlvbiBBUEkKCjIwMTItMDctMjggMTI6MDk6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluOiByZW1vdmUgYXNzZXJ0aW9uIG9uIG51bGwgcHJvcGVydHkKCSAgQ2hlY2sgaWYgdGhlIGZsYWdzIGFyZSBub3QgbnVsbCBiZWZvcmUgdHJ5aW5nIHRvIHNldCB0aGVtIHRvCgkgIGNhbWVyYWJpbiB0byBhdm9pZCBhbiBhc3NlcnRpb24KCjIwMTItMDctMjggMDA6MzI6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50LmM6CgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdGFnOiBVcGRhdGUgZm9yIHRhZ2xpc3QvdGFnIGV2ZW50IEFQSSBjaGFuZ2VzCgoyMDEyLTA3LTI3IDEzOjIyOjUyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogcHJvY2VzcyBBVFRBQ0hNRU5UIHRhZyBhcyBzYW1wbGUKCjIwMTItMDctMjUgMTY6MDU6MTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgZmFhYywgdm9hYWNlbmM6IGFkanVzdCB0byBtb2RpZmllZCBhdWRpb2VuY29kZXIgZ2V0Y2FwcyBoZWxwZXIgQVBJCgoyMDEyLTA3LTI0IDEyOjI4OjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogZml4YXRlIGNhcHMKCjIwMTItMDctMjQgMTA6NDY6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVkaWVmZmVjdHNvcmMtZGlzdC5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdWRpZWZmZWN0c29yYy1kaXN0Lmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1ZGllZmZlY3Rzb3JjLm9yYzoKCSAgZ3VhZGk6IHByZWZpeCBvcmMgZnVuY3Rpb25zIHdpdGggZ2F1ZGlfb3JjXwoKMjAxMi0wNy0yNCAxMDo0NDo1MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0LmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5oOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLm9yYzoKCSAgZmllbGRhbmFseXNpczogcHJlZml4IG9yYyBmdW5jdGlvbnMKCjIwMTItMDctMjQgMTA6MzI6NTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy1kaXN0LmM6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy1kaXN0Lmg6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy5vcmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBiYXllcjogcHJlZml4IG9yYyBmdW5jdGlvbnMgd2l0aCBiYXllcl9vcmMKCSAgQWRkIGJheWVyIG9yYyB0byB0aGUgdW5pdCB0ZXN0CgoyMDEyLTA3LTI0IDEwOjMyOjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgdGVzdHM6IGZpeCB2aXN1YWxpemVyIGNvbXBpbGF0aW9uCgoyMDEyLTA3LTIzIDExOjM2OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmg6CgkgIHNjaHJvOiBBZGQgc3VwcG9ydCBmb3IgdmlkZW8gbWV0YWRhdGEgYW5kIGFyYml0cmFyeSBzdHJpZGVzCgoyMDEyLTA3LTIzIDEwOjU0OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmg6CgkgIHNjaHJvOiBNYXAgcmF3IHZpZGVvIGJ1ZmZlcnMgd2l0aCB0aGUgY29ycmVjdCByZWFkL3dyaXRlIGZsYWdzCgoyMDEyLTA3LTIzIDEwOjM1OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgZXh0OiBVcGRhdGUgZm9yIHZpZGVvIGJhc2UgY2xhc3NlcyBBUEkgY2hhbmdlcwoKMjAxMi0wNy0yMyAwODo0NTo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDk4ZTM4NmYgdG8gOTRjY2Y0YwoKMjAxMi0wNy0yMSAxOTo1OToyMSArMDIwMCAgT2xla3NpaiBSZW1wZWwgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogZml4IG1lbW9yeSBsZWFrCgkgIHVucmVmIGZyYW1lLiBpIGhvcGUgaXQgaXMgY29ycmVjdCBwbGFjZSB0byBkbyBpdC4KCSAgU2lnbmVkLW9mZi1ieTogT2xla3NpaiBSZW1wZWwgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTItMDctMjAgMjM6Mjg6NDkgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogVXNlIGJ1ZmZlciBmbGFncyBhbmQgY2FwcyBjb3JyZWN0bHkKCSAgVGhpcyByZXF1aXJlcyBhIHJlY2VudCBjb21taXQgdG8gLWJhc2UgdGhhdCBhZGRzIGFuIElOVEVSTEFDRUQgYnVmZmVyCgkgIGZsYWcuCgoyMDEyLTA3LTIwIDE2OjQzOjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogb25seSBkaXNjYXJkIGZyYW1lIG9uY2UgdXBvbiBkZWNvZGluZyBlcnJvcgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc5ODg2CgoyMDEyLTA3LTE5IDE2OjEwOjQwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkgIHNwZWN0cmFzY29wZTogZmFicy0+c3FydCB0byBjYWxjdWxhdGUgdGhlIG1hZ25pdHVkZQoKMjAxMi0wNy0xOCAwOToxOTozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiBhbHNvIGFjdGl2YXRlIGluIHB1c2ggbW9kZSBpZiB0aGUgc2NoZWR1bGluZyBxdWVyeSBmYWlsZWQKCSAgSW4gY2FzZSBwYWRzIGFyZSB1bmxpbmtlZCBzb21ld2hlcmUuCgoyMDEyLTA3LTE4IDA4OjQxOjQzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBmaXggcHVzaCBtb2RlIGFjdGl2YXRpb24KCSAgRXh0cmEgdW5yZWYgb24gcHVzaCBtb2RlIGFjdGl2YXRpb24gY2F1c2VkIGhhdm9jLgoKMjAxMi0wNy0xNiAwMDowNToyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkgIHNwYzogZXh0cmFjdCB5ZWFyIGFzIEdzdERhdGVUaW1lIGluc3RlYWQgb2YgR0RhdGUKCjIwMTItMDctMTcgMTg6MDU6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBubyBuZWVkIHRvIG1ha2UgYnVmZmVyIHdyaXRhYmxlIHR3aWNlCgoyMDEyLTA3LTE3IDE4OjA1OjAwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogcGx1ZyBzb21lIHJlZiBsZWFrcwoKMjAxMi0wNy0xNyAxNDowMjoxNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGFkanVzdCB0byBtb2RpZmllZCB2aWRlbyBvdmVybGF5IGNvbXBvc2l0aW9uIEFQSQoKMjAxMi0wNy0xNyAxNjozOTowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICB1cGRhdGUgZm9yIFJUUCBidWZmZXIgYXBpIGNoYW5nZXMKCjIwMTItMDctMTYgMjI6MDI6NDQgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5oOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IHNob3J0ZW4gYmFzZSBjbGFzcyBuYW1lCgkgIEFzIHN1Z2dlc3RlZCBvbiBJUkMgcmVuYW1lIHRvIEF1ZGlvVmlzdWFsaXplci4gV2UgdXNlIGN1c3RvbSBzdWZmaXggb24gdGhlIHR5cGUKCSAgdG8gYXZvaWQgY2xhc2hpbmcgd2l0aCBvdGhlciBjb3BpZXMgZm9yIHRoZSB0aW1lIGJlaW5nLgoKMjAxMi0wNy0xNSAxMjoyNzoxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgY2VsdCwgb3BlbmN2LCB3YXlsYW5kLCBkdmJzdWIsIGZlc3RpdmFsLCBobHM6IHByaW50ZiBmb3JtYXQgZml4ZXMKCjIwMTItMDctMTQgMTU6NTE6MDggKzAyMDAgIEFsYmFuIEJyb3dhZXlzIDxwcmFoYWxAeWFob28uY29tPgoKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkgIHdheWxhbmQ6IGRvbid0IGxpbmsgdG8gZ3N0aW50ZXJmYWNlcywgd2hpY2ggZG9lc24ndCBleGlzdCBhbnkgbW9yZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc5OTI5CgoyMDEyLTA2LTMwIDAwOjIyOjQwICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZWVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z2aWRlb2ZpbHRlci5jOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuaDoKCSAgb3BlbmN2OiBwb3J0IHRvIDAuMTEKCSAgQmFzaWMgcG9ydCB0byAwLjExIEFQSS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3OTE2NAoKMjAxMi0wNy0xMyAxMjozMjo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuaDoKCSAgZHZic3Vib3ZlcmxheTogYWRhcHRpdmVseSBibGVuZCBvciBhdHRhY2ggdmlkZW8gb3ZlcmxheSBjb21wb3NpdGlvbgoJICBDb25mbGljdHM6CgkgIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYwoKMjAxMi0wNy0xMyAxMjoyNzo1NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuaDoKCSAgZHZic3Vib3ZlcmxheTogdXNlIHZpZGVvIG92ZXJsYXkgY29tcG9zaXRpb24gaGVscGVyCgkgIC4uLiByYXRoZXIgdGhhbiBjdXN0b20gaG9tZS1tYWRlIGJsZW5kaW5nLgoJICBDb25mbGljdHM6CgkgIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYwoKMjAxMi0wNy0xMiAxMDoxMzo1MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBtb3JlIGNvcnJlY3RseSBkZXRlcm1pbmUgZXhwZWN0ZWQgUEVTIHBhY2tldCBwYXlsb2FkIHNpemUKCSAgLi4uIHBhcnRpY3VsYXJseSBjb25zaWRlcmluZyB0aGF0IHBhY2tldF9sZW5ndGggPT0gMCBpcyBwb3NzaWJsZS4KCjIwMTItMDctMTEgMjM6MTc6MTkgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgcGl0Y2g6IHJlZ2lzdGVyIGFzIGVmZmVjdAoKMjAxMi0wNy0xMSAyMDozNDowNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBjb3JyZWN0bHkgZGV0ZXJtaW5lIGV4cGVjdGVkIFBFUyBwYWNrZXQgcGF5bG9hZCBzaXplCgkgIEF2b2lkcyBjb25zaXN0ZW50bHkgZmFpbGluZyB0byBkZXRlY3QgdGhhdCBhIHBhY2tldCBpcyBjb21wbGV0ZSwgd2hpY2gKCSAgd291bGQgdGhlbiBvbmx5IGJlIHB1c2hlZCB1cG9uIHRoZSBzdGFydCBvZiBhIG5leHQgcGFja2V0LCB3aGljaCBsZWFkcwoJICB0byBxdWl0ZSBhIGRlbGF5IGluIGNhc2Ugb2YgYSBzcGFyc2UgKHN1YnRpdGxlKSBzdHJlYW0uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjY2NzQKCjIwMTItMDctMTAgMTc6NTg6MjIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBlbnN1cmUgbWluaW11bSBwYWdlIHRpbWUgb3V0IG9mIDEgc2Vjb25kCgkgIC4uLiB0byBjb21wZW5zYXRlIGZvciBzb21lIGJvZ3VzIHN1YnRpdGxlIHdpdGggYSAwIHRpbWVvdXQsIHdoaWNoIHdvdWxkCgkgIHJlc3VsdCBpbiBvbmx5IGJlaW5nIHNob3duIGZvciBhIHZlcnkgdW5yZWFkYWJsZSBhbW91bnQgb2YgdGltZS4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjY2NzQKCjIwMTItMDctMTEgMTQ6Mjc6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvcGl0Y2gtdGVzdC5jOgoJICB0ZXN0czogZml4IGJ1aWxkIG9mIHBpdGNoLXRlc3QKCSAgRG9lcyBub3Qgc291bmQgbGlrZSB0aGUgc2FtZSB0ZXN0IGluIDAuMTAgdGhvdWdoLi4KCjIwMTItMDctMTEgMTM6NTk6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBmaXggY29tcGlsZXIgd2FybmluZ3MKCSAgZ3N0ZHZic3Vib3ZlcmxheS5jOjc3MjoxNTogZXJyb3I6IHBvaW50ZXIgdGFyZ2V0cyBpbiBwYXNzaW5nIGFyZ3VtZW50IDUgb2YgJ2dzdF9zZWdtZW50X2NsaXAnIGRpZmZlciBpbiBzaWduZWRuZXNzCgkgIC9ob21lL3RwbS9nc3QvMC4xMS9nc3RyZWFtZXIvZ3N0L2dzdHNlZ21lbnQuaDoxOTI6MTQ6IG5vdGU6IGV4cGVjdGVkICdndWludDY0IConIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlICdnaW50NjQgKicKCSAgZ3N0ZHZic3Vib3ZlcmxheS5jOjc3MjoxNTogZXJyb3I6IHBvaW50ZXIgdGFyZ2V0cyBpbiBwYXNzaW5nIGFyZ3VtZW50IDYgb2YgJ2dzdF9zZWdtZW50X2NsaXAnIGRpZmZlciBpbiBzaWduZWRuZXNzCgoyMDEyLTA3LTExIDEzOjQ5OjE0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogZml4dXAgZW5kLW9mLWRpc3BsYXktc2V0IGZvcmNpbmcKCSAgQ29uZmxpY3RzOgoJICBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmMKCjIwMTItMDctMTEgMTM6NDg6MzIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBlbnN1cmUgdmFsaWQgc3VidGl0bGUgcnVubmluZyB0aW1lIGJ5IHByb3BlciBjbGlwcGluZwoJICBJbiBwYXJ0aWN1bGFyLCBwYXNzIGJ1ZmZlciB0aW1lc3RhbXAgKHB0cykgdG8gZHZiX3N1YiwgYW5kIHRoZW4gY2xpcAoJICBhbmQgY29udmVydCB0byBydW5uaW5nIHRpbWUgd2hlbiB0aGUgZHVyYXRpb24gKHRpbWVvdXQpIGlzIGtub3duIGFmdGVyCgkgIGRlY29kaW5nIGl0LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwMjMzCgkgIENvbmZsaWN0czoKCSAgZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jCgoyMDEyLTA3LTExIDEzOjQ1OjE0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5Lmg6CgkgIGR2YnN1Ym92ZXJsYXk6IHByb3Blcmx5IGZvcmNlIGVuZC1vZi1kaXNwbGF5LXNldAoJICAuLi4gd2hpY2ggaXMgdXBvbiByZWNlaXZpbmcgbmV3IGRhdGEgd2l0aCBkaWZmZXJlbnQgUFRTIHNwZWMtd2lzZSwKCSAgb3Igb3B0aW9uYWxseSB1cG9uIGVhY2ggcGFja2V0IG9mIHN1YnRpdGxlIGRhdGEgaWYgZGVzaXJlZCBieSBwcm9wZXJ0eS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2OTMxMAoJICBDb25mbGljdHM6CgkgIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYwoKMjAxMS0xMi0yMSAxMzowMDoyNyArMDIwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJICBkdmJzdWJvdmVybGF5OiBIYW5kbGUgbm9uX21vZGlmeWluZ19jb2xvdXJfZmxhZyBjb3JyZWN0bHkgaW4gdGhlIFJMRSBoYW5kbGVycwoJICBUaGUgY2hlY2sgZm9yIHdoZW4gdG8gbm90IG1lbXNldCB3YXMgY2hlY2tpbmcgb24gYW4gdW5kZXRlcm1pbmlzdGljICdiaXRzJyB2YXJpYWJsZSB2YWx1ZSwKCSAgd2hpY2ggaXMgb25seSBtZWFudCB0byBiZSB1c2VkIGluc2lkZSB0aGUgbG9vcCBlYXJsaWVyIHdoZW4gaXQgaXMgc3VwcG9zZWQgdG8gY2hlY2sgaWYKCSAgY2x1dF9pbmRleCBpcyAxIHRvZ2V0aGVyIHdpdGggbm9uX21vZCBzZXQsIGFzIHBlciBzcGVjOgoJICAibm9uX21vZGlmeWluZ19jb2xvdXJfZmxhZzogIElmIHNldCB0byAnMScgdGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgQ0xVVCBlbnRyeSB2YWx1ZSAnMScKCSAgaXMgYSBub24gbW9kaWZ5aW5nIGNvbG91ci4gV2hlbiB0aGUgbm9uIG1vZGlmeWluZyBjb2xvdXIgaXMgYXNzaWduZWQgdG8gYW4gb2JqZWN0IHBpeGVsLAoJICB0aGVuIHRoZSBwaXhlbCBvZiB0aGUgdW5kZXJseWluZyByZWdpb24gYmFja2dyb3VuZCBvciBvYmplY3Qgc2hhbGwgbm90IGJlIG1vZGlmaWVkLiBUaGlzCgkgIGNhbiBiZSB1c2VkIHRvIGNyZWF0ZSAidHJhbnNwYXJlbnQgaG9sZXMiIGluIG9iamVjdHMuIgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY2MzUyCgoyMDEwLTEwLTEzIDEwOjU1OjE3ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBwaG90b2dyYXBoeTogdXBkYXRlIGRvY3VtZW50YXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjQ4MgoKMjAxMC0xMC0xNCAxMDo0OTo1NSArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSAgcGhvdG9ncmFwaHk6IEFkZCBtYW51YWwgY29udHJvbCBvZiBleHBvc3VyZSwgZm9jdXMgYW5kIHdoaXRlIGJhbGFuY2UKCSAgQWRkIG5ldyBpbnRlcmZhY2UgcHJvcGVydGllcyBhbmQgbW9kZSBmb3IgYmV0dGVyIG1hbnVhbCBjb250cm9sIG9mCgkgIGV4cG9zdXJlLCBmb2N1cyBhbmQgd2hpdGUgYmFsYW5jZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjQ4MgoKMjAxMC0xMC0wOCAxMTozMzozMSArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBwaG90b2dyYXBoeTogQWRkIEdzdFBob3RvZ3JhcGh5IHByZWZpeCBhbmQgZml4IHNwZWxsaW5nIGNvbG91ci0+Y29sb3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjQ4MgoKMjAxMi0wNy0xMCAyMzoyNzoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogbWlub3IgaGVhZGVyIGluZGVudGF0aW9uIGNsZWFuLXVwIGZvciBtcGVndmlkZW9wYXJzZXIKCjIwMTItMDctMTAgMTc6NDc6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIHNvdW5kdG91Y2g6IHBvcnQgdG8gMC4xMQoKMjAxMi0wNy0xMCAxMjoxMDoyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICBmZXN0aXZhbDogdW5tYXAgaW5wdXQgYnVmZmVyCgoyMDEyLTA3LTA0IDEwOjE0OjM1ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9mZXN0aXZhbC9NYWtlZmlsZS5hbToKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgIHBvcnQgZmVzdGl2YWwgdG8gMC4xMQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc5MzczCgoyMDEyLTA3LTEwIDExOjE0OjU5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICB0ZXN0czogZml4IHNvbWUgcGFkIHRlbXBsYXRlLXJlbGF0ZWQgY3JpdGljYWxzIGluIGNhbWVyYWJpbiB0ZXN0CgoyMDEyLTA3LTEwIDAwOjU5OjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJICBkYXRhdXJpc3JjOiBjb3B5IGludG8gcHJvdmlkZWQgYnVmZmVyIGlmIGEgYnVmZmVyIGlzIHByb3ZpZGVkCgoyMDEyLTA3LTA5IDIyOjA4OjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvemJhci5jOgoJICB0ZXN0czogZml4IHpiYXIgdGVzdAoKMjAxMi0wNy0wOSAxMjoyMjo0NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IHVwZGF0ZSBmb3IgcmlmZiBmaWVsZCByZW5hbWUKCjIwMTItMDctMDggMTk6MjM6MzAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuaDoKCSAgYXVkaW92aXN1YWxpemVyczogdXBkYXRlIGJhc2VjbGFzcyBmcm9tIGxpYnZpc3VhbCBwb3J0aW5nCgoyMDEyLTA3LTA4IDAwOjA4OjU1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBkdG1mc3JjOiBwYXNzIHVuaGFuZGxlZCBub24tY3VzdG9tIGV2ZW50cyB0byB0aGUgYmFzZSBjbGFzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY2NjI2CgoyMDEyLTA3LTA2IDE0OjUzOjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogcmVtb3ZlIGRlcHJlY2F0ZWQgImlzLWxpdmUiIHByb3BlcnR5CgkgIFVzZSB0aGUgInN0cmVhbWFibGUiIHByb3BlcnR5IGluc3RlYWQuCgoyMDEyLTA3LTA2IDExOjUwOjUzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogc3lzL3B2cjJkL2dzdHB2cnZpZGVvc2luay5jOgoJICB1cGRhdGUgZm9yIHF1ZXJ5IGFwaSBjaGFuZ2VzCgoyMDEyLTA3LTA2IDExOjI2OjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdXBkYXRlIGZvciBxdWVyeSBhcGkgY2hhbmdlcwoKMjAxMi0wNy0wNiAxMTowMzowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHVwZGF0ZSBmb3IgYWxsb2NhdGlvbiBxdWVyeSBjaGFuZ2VzCgoyMDEyLTA3LTA0IDExOjM4OjUxICswMjAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXVlIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobXNyYzogbWVtb3J5IGNvcnJ1cHRpb24gd2hlbiBhIGNsaWVudCBkaXNjb25uZWN0cyAoZml4ZXMgIzY3OTM4NSkKCjIwMTItMDctMDUgMTM6MTg6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJICBnc3Q6IEltcGxlbWVudCBzZWdtZW50LWRvbmUgZXZlbnQKCjIwMTItMDctMDMgMTI6NTc6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkgIGRpcmVjdHNvdW5kc3JjOiBDaGFpbiB1cCB0byB0aGUgcGFyZW50IGNsYXNzJyBmaW5hbGl6ZSBpbXBsZW1lbnRhdGlvbgoKMjAxMi0wNy0wMiAxNzo1NTozNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5oOgoJICBkZWNrbGlua3Npbms6IEJldHRlciBoYW5kbGluZyBvZiBhdWRpbyBvdXRwdXQKCSAgQ29uZmxpY3RzOgoJICBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcAoKMjAxMi0wNy0wMiAxNzo1MjoxNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbmtzcmM6IFNlbmQgbmV3c2VnbWVudCBldmVudHMKCjIwMTItMDctMDIgMTc6NTE6MTggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkgIGRlY2tsaW5rc2luazogTWFyayBlbGVtZW50IGFzIHNpbmsgZWxlbWVudAoKMjAxMi0wNy0wMiAxNzo0OTo1NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBkZWNrbGluazogdXNlIEdPbmNlIGluIHR5cGUgcmVnaXN0cmF0aW9uCgoyMDEyLTA3LTAyIDE3OjMyOjE0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJICBpbnRlcjogSW5jcmVhc2UgdGhlIGludGVyIGF1ZGlvIHN1cmZhY2UgYnVmZmVyaW5nCgoyMDEyLTA3LTAyIDEyOjA0OjE5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJICBpbnRlcmF1ZGlvc2luazogcmVlbmFibGUgY2hhbm5lbCBwcm9wZXJ0eQoKMjAxMi0wNy0wMiAxMjowMzo0NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJICBpbnRlcmF1ZGlvc3JjOiBTZXQgZm9ybWF0IHRvIHRpbWUKCjIwMTItMDYtMjkgMTI6MDM6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSogc3lzL3B2cjJkL2dzdHB2cnZpZGVvc2luay5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICBzeXM6IG1ha2UgdmlkZW8gc2lua3MgZGVmYXVsdCB0byBmb3JjZS1hc3BlY3QtcmF0aW89dHJ1ZQoKMjAxMi0wNi0yOCAxODowNDoxMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzYmFzZTogTW92ZSBrbm93biBQU0kgUElEcyB0byB3aGVyZSB0aGV5IGJlbG9uZwoJICBUaGlzIGF2b2lkcyB0c2RlbXV4IHBhcnNpbmcgZGF0YSBpcyBkb2Vzbid0IHJlYWxseSBjYXJlIGFib3V0CgkgIENvbmZsaWN0czoKCSAgZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmMKCjIwMTItMDYtMDIgMDg6MDU6NDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RiYXNlOiBBZGQgbW9yZSBrbm93biBkZWZhdWx0IFNJIFBJRHMKCjIwMTItMDYtMjggMTc6NDA6MTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRml4IEFBQyBMQVRNIGNhcHMKCjIwMTItMDYtMjIgMTY6NDc6NTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIHRlc3RzOiBtcGVndHNtdXg6IGFkZCBiYXNpYyBvdXRwdXQgdW5pdCB0ZXN0IHZlcmlmaWNhdGlvbgoKMjAxMi0wNi0yMiAxNzo1MTozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkgIG1wZWd0c211eDogYXBwbHkgc29tZSBtb3JlIENMT0NLX0JBU0UgdG8gZW5zdXJlIHNsYWNrIGZvciBQQ1Igb2Zmc2V0CgkgIENvbmZsaWN0czoKCSAgZ3N0L21wZWd0c211eC90c211eC90c211eC5jCgoyMDEyLTA2LTI3IDExOjIzOjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSAgZml4IHgtd212IGZvcm1hdCBzdHJpbmcKCjIwMTItMDYtMjYgMTY6MzM6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogcG9ydCB0byAwLjExCgoyMDEyLTA2LTI1IDE2OjE4OjQxICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiByZWxlYXNlIHRoZSBvZmZzY3JlZW4gc3VyZmFjZSBiZWZvcmUgdGhlIGQzZCBkZXZpY2UKCSAgVGhlIG9mZnNjcmVlbiBzdXJmYWNlIGtlZXBzIGEgcmVmZXJlbmNlIG9uIHRoZSBkM2QgZGV2aWNlLCBzbyBpZiB0aGUKCSAgZGV2aWNlIGlzIHJlbGVhc2VkIGZpcnN0IHdlIGRvbid0IHNlZSB0aGUgcmVmZXJlbmNlIGNvdW50IGRlYnVnIG1lc3NhZ2UKCSAgZ29pbmcgdG8gMCBhcyBpdCBzaG91bGQgYmUuCgoyMDEyLTA2LTE5IDIwOjE2OjQwICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBjbGVhbiB1cCBlbGVtZW50CgkgIFJlbW92ZSBvbGQgY29tbWVudGVkIGNvZGUgYW5kIHVuZWVkZWQgZXh0cmEgaW5kZW50YXRpb24KCjIwMTItMDYtMTkgMjA6MDM6MDIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJICBkM2R2aWRlb3Npbms6IHJld29yayBsb2NraW5nIGZvciBkZXZpY2VzIGxvc3QKCjIwMTItMDYtMTkgMjA6MTk6MjcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IHJlbGVhc2UgYW5kIHJlY3JlYXRlIHRoZSBkZXZpY2UgaW4gcHJlcGFyZV93aW5kb3cKCjIwMTItMDYtMjQgMjE6MTE6MzkgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSAgc3BlY3RyYXNjb3BlOiBhdm9pZCBkYXJrIHBpeGVscyBpbiBmYWRlLWFuZC1tb3ZlLXVwIG1vZGUKCjIwMTItMDYtMjQgMjA6NTQ6MjQgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9SRUFETUU6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyczogZml4IGlucHV0IGJ1ZmZlciBoYW5kbGluZwoJICBVc2UgX3JlcGxhY2UgaW5zdGVhZCBvZiBfYXBwZW5kIHRvIGZpeCBncm93aW5nIGJ1ZmZlcnMuCgoyMDEyLTA2LTIzIDE1OjAyOjEzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2hscy9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgaGxzLCBzZHA6IHVwZGF0ZSBmb3IgZ3N0X2VsZW1lbnRfbWFrZV9mcm9tX3VyaSgpIGNoYW5nZXMKCjIwMTItMDYtMjEgMTI6MTc6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvUkVBRE1FOgoJICBzeXM6IHJlbW92ZSBsZWZ0LW92ZXIgdjRsMiBkaXIgd2hpY2ggaGFzIG1vdmVkIHRvIGdvb2QKCSAgbGV0J3Mgbm90IGtlZXAgYSBSRUFETUUgYXJvdW5kIHRvIGFubm91bmNlIGl0J3MgbW92ZWQgdG8gLWdvb2QsCgkgIHRoYXQncyBqdXN0IGNsdXR0ZXIuCgoyMDEyLTA2LTIxIDExOjQzOjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBSZWFsbHkgYWx3YXlzIGRlZmluZSBERUNLTElOS19PU1ggY29uZGl0aW9uYWwKCjIwMTEtMDctMTMgMTk6MjU6MDggKzAxMDAgIFRvbnkgSG91Z2h0b24gPGhAcmVhbGguY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgQ29ycmVjdCBzYXRlbGxpdGUgZGVsaXZlcnkgZGVzY3JpcHRvciBwYXJzaW5nLgoJICBPcmlnaW5hbCBjb2RlIHRvIHBhcnNlIHNhdGVsbGl0ZSBkZWxpdmVyeSBkZXNjcmlwdG9ycyB0byBnZW5lcmF0ZQoJICAic2F0ZWxsaXRlIiBzdHJ1Y3R1cmVzIGFwcGVhcmVkIHRvIGJlIGNvcHkgJiBwYXN0ZWQgZnJvbSBjYWJsZSdzIGNvZGUKCSAgd2l0aG91dCBhbWVuZGluZyBmb3Igc2F0ZWxsaXRlLgoJICBBbHNvIGFkZGVkIDhQU0sgdG8gZHZic3JjJ3MgZW51bSBmb3IgbW9kdWxhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDQ4NQoJICBDb25mbGljdHM6CgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuaAoJICBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYwoKMjAxMi0wNi0yMCAxODoxNDoxMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmg6CgkgIHRzcGFyc2U6IFJld29yayBoYW5kbGluZyBhbmQgY2xlYW51cHMKCSAgdHNwYWQgYWx3YXlzIGhhcyBhIHN0YXRpYyBzb3VyY2UgcGFkIHdoaWNoIG91dHB1dCBldmVyeXRoaW5nIHJlY2VpdmVkCgkgIChub3QgZnVuY3Rpb25hbCB5ZXQpLgoJICBQcm9ncmFtIHBhZHMgYXJlIG5vdyByZXF1ZXN0IHBhZHMuCgkgIFJlbW92ZSBhbGwgY3J1ZnQgdGhhdCBzaG91bGQgaGF2ZSBiZWVuIHJlbW92ZWQgZnJvbSB0aGUgc3dpdGNoIG92ZXIKCSAgdG8gbXBlZ3RzYmFzZS4KCSAgQ29uZmxpY3RzOgoJICBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYwoKMjAxMi0wNi0yMCAxODoxMDozNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndGJhc2U6IEFsd2F5cyBzZW5kIEVPUwoJICBzdWJjbGFzcyB3aWxsIHRha2UgY2FyZSBvZiBoYW5kbGluZyBpdCBtb3JlIGlmIG5lZWRlZAoKMjAxMi0wNi0yMCAxNzo1MjoxMyAtMDUwMCAgTWlrZSBSdXByZWNodCA8bWlrZS5ydXByZWNodEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IEZpeCBlbGVtZW50IGxvc2luZyBkYXRhIGF0IHRoZSBlbmQgb2YgYnVmZmVycwoJICBydG1wc3JjIG91dHB1dHMgdHJ1bmNhdGVkIGJ1ZmZlcnMgYmVjYXVzZSwgd2hlbiBlbm91Z2ggZGF0YSBpcwoJICByZWFkIHRvIGZpbGwgdGhlIGJ1ZmZlciwgdGhlIGFtb3VudCByZWFkIHRoYXQgdGltZSAodG9kbykgaXMgc2V0CgkgIHRvIHplcm8gYmVmb3JlIGl0J3MgYWRkZWQgdG8gdGhlIGN1bXVsYXRpdmUgYnVmZmVyIHNpemUgKGJzaXplKS4KCSAgVGhlIGJ1ZmZlciBpcyB0aGVuIHRydW5jYXRlZCB0byBic2l6ZSByZXN1bHRpbmcgaW4gbG9zdCBkYXRhLgoJICBUaGlzIHBhdGNoIGFkZHMgdG9kbyB0byBic2l6ZSBiZWZvcmUgc2V0dGluZyB0b2RvIHRvIHplcm8uCgkgIEZpeGVzICM2Nzg1MDkKCjIwMTItMDYtMjAgMTE6MDI6MDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkgIHRpbWlkaXR5OiBGaXggZmxhZyBjaGVja2luZwoKMjAxMi0wNi0yMCAxMDo1OTowOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSAgdGVsZXRleHQ6ICNpZjAgY29kZSB0aGF0IG5ldmVyIGhhcHBlbnMKCSAgVGhlIG9ubHkgcGxhY2UgdGhpcyBtZXRob2QgaXMgY2FsbGVkIGlzIHdpdGggbG9mcCBiZWluZyBhIGd1aW50OCAoZnJvbQoJICBhIGRhdGEgYmxvY2spLgoKMjAxMi0wNi0yMCAxMDo1ODozMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSAgdGVsZXRleHRkZWM6IFVzZSBwcm9wZXIgdmFyaWFibGUgdHlwZQoKMjAxMi0wNi0yMCAxMjozMToxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnRleHQuYzoKCSogZ3N0L2hscy9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIHVwZGF0ZSBmb3IgYnVzIGFwaSBjaGFuZ2VzCgoyMDEyLTA2LTIwIDEyOjE5OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICB0ZXN0czogbXBlZ3RzbXV4OiBwb3J0IHRlc3QgdG8gMC4xMQoKMjAxMi0wNi0yMCAxMjoxNzozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGZpeCB2YWx1ZSBoYW5kbGluZyBpbiBwYWQgaXRlcmF0aW9uCgoyMDEyLTA2LTIwIDEwOjM0OjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc2luay5jOgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSAgdXBkYXRlIGZvciB0YXNrIGFwaSBjaGFuZ2UKCjIwMTItMDYtMTkgMjI6NDU6MjcgLTA0MDAgIE1hdGVqIEtub3BwIDxNYXRlakBuZXctaG9zdC01LmhvbWU+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGZpeCBtZW1vcnkgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc4MTMwCgoyMDEyLTA2LTE5IDEwOjM1OjQ4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmI6IERldGVjdCBtb3JlIGlzc3VlcyB3aXRoIGNvbmZpZ3VyYXRpb24gZmlsZQoJICBSZXBvcnQgdXNlZnVsIGVycm9ycyB3aGVuOgoJICAqIGZpbGUgaXMgcHJlc2VudCBidXQgZW1wdHkKCSAgKiByZXF1ZXN0ZWQgY2hhbm5lbCBpcyBub3QgcHJlc2VudAoKMjAxMi0wNi0xOSAxMDoyMjo1MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5oOgoJICBkdmJiYXNlYmluOiBFbWl0IGFuIGVycm9yIHdoZW4gd2UgZmFpbCByZWFkaW5nIHRoZSBjaGFubmVscyBmaWxlCgkgIENvbmZsaWN0czoKCSAgc3lzL2R2Yi9kdmJiYXNlYmluLmMKCjIwMTEtMDItMDEgMTA6MjM6MDQgLTA4MDAgIEZhYnJpemlvIChNaXN0bykgTWlsbyA8bWlzdG9iYWFuQGdtYWlsLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogc3BlbGwtY2hlY2sKCjIwMTEtMDEtMTQgMTk6MzA6MDggLTA4MDAgIEZhYnJpemlvIChNaXN0bykgTWlsbyA8bWlzdG9iYWFuQGdtYWlsLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YjogYmV0dGVyIGR2c3JjIHBvbGFyaXR5IGluZm8KCjIwMTItMDYtMTggMTE6MzY6MTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkgIHRlbGV0ZXh0OiBGaXggaW5pdGlhbGl6YXRpb24KCSAgV2UgYWx3YXlzIGVuZGVkIHVwIGVycm9yaW5nIG9uIHRoZSBmaXJzdCBwYWdlIG90aGVyd2lzZQoJICBDb25mbGljdHM6CgkgIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jCgoyMDEyLTA2LTEwIDExOjM2OjMyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IERvbid0IHVzZSBHQnl0ZUFycmF5CgkgIFVzaW5nIGEgc2ltcGxlIGFycmF5IGNvbWVzIHRvIHRoZSBzYW1lIHJlc3VsdCBmb3IgYSBmcmFjdGlvbiBvZiB0aGUgY29zdAoKMjAxMi0wNi0xMCAxMToyMTo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndGJhc2U6IEF2b2lkIGNvcHlpbmcgR3N0U3RydWN0dXJlCgoyMDEyLTA2LTA4IDE1OjEyOjMwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ2Rlc2M6IERvbid0IGFsbG9jYXRlL2ZyZWUgR3N0TVBFR0Rlc2NyaXB0b3IKCSAgSnVzdCB1c2Ugc3RhdGljIHZhcmlhYmxlcwoKMjAxMi0wNi0xNiAxNjo0OToxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdW1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJKiBnc3QvbXBlZ2RlbXV4L3BsdWdpbi5jOgoJICBtcGVnZGVtdXg6IHJlbmFtZSBwbHVnaW4gdG8gbXBlZ3BzZGVtdXgKCjIwMTItMDYtMTYgMTY6MzA6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWdkZW11eC9mbHVtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BhdGluZm8uYzoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BhdGluZm8uaDoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BtdGluZm8uYzoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BtdGluZm8uaDoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BtdHN0cmVhbWluZm8uYzoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BtdHN0cmVhbWluZm8uaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHNlY3Rpb25maWx0ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RzZWN0aW9uZmlsdGVyLmg6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmg6CgkgIG1wZWdkZW11eDogcmVtb3ZlIHVudXNlZCBUUyBkZW11eGVyIGJpdHMgdGhhdCBoYXZlIG1vdmVkIHRvIHRzZGVtdXgKCjIwMTItMDYtMTYgMTk6MjA6MjkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiByZW1vdmUgb2Jzb2xldGUgc3RydWN0IGZpZWxkCgoyMDEyLTA2LTE2IDE2OjUwOjQzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X3R0eHQuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfdHR4dC5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uaDoKCSAgbXBlZ3RzbXV4OiBhZGQgc3VwcG9ydCBmb3IgRFZCIHN1YnRpdGxlIGFuZCB0ZWxldGV4dCBzdHJlYW1zCgkgIFNlZSBidWcgIzY3MzU4Mi4KCSAgQ29uZmxpY3RzOgoJICBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtCgoyMDEyLTA2LTE2IDE2OjUwOjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhjb21tb24uaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJICBtcGVndHNtdXg6IG9wdGlvbmFsbHkgdXNlIGZpeGVkLXNpemUgUEVTIGhlYWRlcgoKMjAxMi0wNi0xNiAxNjo1MDozNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkgIG1wZWd0c211eDogb25seSB3cml0ZSBQVFMgYW5kIERUUyBpZiBkaWZmZXJlbnQKCjIwMTItMDYtMTYgMTY6NTA6MzIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eGNvbW1vbi5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkgIG1wZWd0c211eDogb3B0aW9uYWxseSBzZXQgZGF0YV9hbGlnbm1lbnQgZmxhZyBpbiBQRVMgaGVhZGVyCgoyMDEyLTA2LTE2IDE2OjUwOjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSAgbXBlZ3RzbXV4OiByZS1lbmFibGUgaW5hZHZlcnRlbnQgZGlzYWJsZWQgY29kZQoKMjAxMi0wNi0xNiAxNjo0NDozMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgdGVzdHM6IG1wZWd0c211eDogYWRqdXN0IGFnYWluIHRvIG1vZGlmaWVkIGJ1ZmZlciBjb2xsZWN0IGJlaGF2aW91cgoJICAuLi4gYnkgZWZmZWN0aXZlbHkgcmV2ZXJ0aW5nIHByZXZpb3VzIGFkanVzdG1lbnQuCgoyMDEyLTA2LTE2IDE2OjQ5OjM0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogdXNlIGRlZmF1bHQgQ29sbGVjdFBhZHMgY29sbGVjdCBoZXVyaXN0aWMKCSAgLi4uIHdpdGggYW4gYXBwcm9wcmlhdGVseSBjdXN0b20gYnVmZmVyIGNsaXAgZnVuY3Rpb24gdG8gYXJyYW5nZSBmb3IKCSAgYnVmZmVyIHByb2Nlc3NpbmcuCgkgIENvbmZsaWN0czoKCSAgZ3N0L21wZWd0c211eC9tcGVndHNtdXguYwoJICBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oCgoyMDEyLTA2LTE2IDE1OjU0OjQ5ICswMzAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhjb21tb24uaDoKCSAgbXBlZ3RzbXV4OiBGaXggY29tcGlsZXIgd2FybmluZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODIxMQoKMjAxMi0wNi0xNiAxOToxNzo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGZpeCBwb3J0ZWQgc2VnbWVudCBpbml0CgoyMDEyLTA2LTE0IDE0OjQ5OjU1IC0wNzAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9hYWMuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfaDI2NC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9oMjY0Lmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvY3JjLmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBwb3J0IHRvIDAuMTEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODEzMAoKMjAxMi0wNi0xNSAxMzowMDozNyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogZG9uJ3QgcmVjcmVhdGUgdGhlIGQzZCBkZXZpY2UgaWYgaXQgYWxyZWFkeSBleGlzdHMKCjIwMTItMDYtMTUgMTE6NDE6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9qYXNwZXIvTWFrZWZpbGUuYW06CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyLmM6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZGVjLmM6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZGVjLmg6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZW5jLmM6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZW5jLmg6CgkqIGV4dC9qcDJrL01ha2VmaWxlLmFtOgoJKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmg6CgkqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOgoJKiBleHQvanAyay9nc3RqYXNwZXJlbmMuaDoKCSogZXh0L2pwMmsvZ3N0anAyay5jOgoJICBqYXNwZXI6IFJlbmFtZSBmcm9tIGpwMmsgdG8gamFzcGVyCgkgIEphc3BlciBpcyBub3QgdGhlIG9ubHkgSlBFRzIwMDAgbGlicmFyeSBvdXQgdGhlcmUgYW5kIHdlCgkgIG1pZ2h0IHdhbnQgdG8gYWRkIGVuY29kZXJzL2RlY29kZXJzIGJhc2VkIG9uIE9wZW5KUEVHIGZvciBleGFtcGxlLgoKMjAxMi0wNi0xNSAxMDozMjozOSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGFkZCBtaXNzaW5nIG11dGV4IHVubG9jayBvbiBlcnJvciBwYXRoCgoyMDEyLTA2LTE1IDEwOjI0OjI0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5oOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmg6CgkgIG9wdXM6IHNldCBhdXRob3IgdG8gbXlzZWxmLCBhbmQgdXBkYXRlIGNvcHlyaWdodCBub3RpY2VzCgkgIGJlY2F1c2UgYXMgc2xvbW8gbm90ZWQsIGluIGZhY3QgcHJldHR5IG11Y2ggYWxsIHRoZSBjb2RlIGluIHRoZXJlIGlzIG1pbmUuCgoyMDEyLTA2LTE1IDAwOjU4OjQzICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBkb24ndCBjcmVhdGUgbmV3IGludGVybmFsIHdpbmRvd3MgaWYgd2UgYWxyZWFkeSBoYXZlIG9uZQoKMjAxMi0wNi0wOCAyMzowMToyNiArMDMwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICByZmJzcmM6IEZpeCBjb21waWxpbmcgaW4gV2luZG93cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3NzI0CgoyMDEyLTA2LTExIDEzOjEwOjQzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSAgcmVzaW5kdmQ6IHJlbmFtZSB0aGUgbGliIGZyb20gbGlicmVzaW5kdmQgdG8gbGliZ3N0cmVzaW5kdmQKCSAgRm9yIGNvbnNpc3RlbmN5LgoKMjAxMi0wNi0wNyAxNTowNjozNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IGd1YXJkIGFnYWluc3Qgbm90IGZpbmRpbmcgc29tZSBkYXRhIG9uIGEgRFZECgkgIE1heSBwb3NzaWJseSBoZWxwIHdpdGggYSBwYXJ0aWN1bGFyIERWRC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MzExOAoKMjAxMi0wNi0xNCAwMjo0NzoxMCArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsZmlsZXNpbmsuYzoKCSAgY3VybGZpbGVzaW5rOiBSZW1vdmUgc3RyYXkgZGVidWcgcHJpbnRzCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzgwNjAKCjIwMTItMDYtMTIgMjE6MzU6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTElDRU5TRV9yZWFkbWU6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2xjcy9NYWtlZmlsZS5hbToKCSogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkgIGxjczogcmVtb3ZlIG9sZCBMQ1MgY29sb3JzcGFjZSBjb252ZXJzaW9uIHBsdWdpbgoJICBXYXNuJ3QgZXZlbiBwb3J0ZWQgdG8gMC4xMCwgYW5kIGV2ZW4gYmFjayBpbiB0aGUgZGF5CgkgIG5vIG9uZSBrbmV3IHdoZXJlIHRoZSBjb3JyZXNwb25kaW5nIGxpYiB3YXMgZnJvbS4KCjIwMTItMDYtMTIgMjE6Mjk6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NoYXJ0Ly5naXRpZ25vcmU6CgkqIGdzdC9jaGFydC9NYWtlZmlsZS5hbToKCSogZ3N0L2NoYXJ0L2NoYXJ0LnZjcHJvajoKCSogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6CgkgIGNoYXJ0OiByZW1vdmUgb2xkIHBsdWdpbiB0aGF0IGhhcyBuZXZlciBiZWVuIHBvcnRlZCB0byAwLjEwCgoyMDEyLTA2LTEyIDIxOjIwOjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2Ryb3AvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6CgkqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmg6CgkqIGdzdC92aWRlb2Ryb3AvdmlkZW9kcm9wLnZjcHJvajoKCSAgdmlkZW9kcm9wOiBkcm9wIHZpZGVvZHJvcAoJICBJdCB3YXMgbmV2ZXIgZXZlbiBwb3J0ZWQgdG8gMC4xMCwgYW5kIHZpZGVvcmF0ZSBkb2VzIGl0cyBqb2Igbm93LgoKMjAxMi0wNi0xMiAyMToxNjo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBMSUNFTlNFX3JlYWRtZToKCSogUkVRVUlSRU1FTlRTOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9hcnRzLy5naXRpZ25vcmU6CgkqIGV4dC9hcnRzL01ha2VmaWxlLmFtOgoJKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOgoJKiBleHQvYXJ0cy9nc3RfYXJ0cy5oOgoJKiBleHQvYXJ0cy9nc3RfYXJ0c2lvLmlkbDoKCSogZXh0L2FydHMvZ3N0X2FydHNpb19pbXBsLmNjOgoJKiBleHQvYXJ0cy9nc3RfYXJ0c2lvX2ltcGwuaDoKCSogZXh0L2FydHNkL01ha2VmaWxlLmFtOgoJKiBleHQvYXJ0c2QvUkVRVUlSRU1FTlRTOgoJKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuaDoKCSogbTQvTWFrZWZpbGUuYW06CgkqIG00L2FzLWFydHMubTQ6CgkqIG00L2dzdC1hcnRzYy5tNDoKCSAgYXJ0czogcmVtb3ZlIGFSdHMtcmVsYXRlZCBwbHVnaW5zCgkgIGFSdHMgZGV2ZWxvcG1lbnQgc3RvcHBlZCBpbiAyMDA0LCBpdCdzIHVubGlrZWx5IGV2ZXIgaXMKCSAgc3RpbGwgdXNpbmcgaXQuIEJlc2lkZXMsIHRoZXNlIGVsZW1lbnRzIHdlcmUgbmV2ZXIgZXZlbgoJICBwb3J0ZWQgdG8gMC4xMC4KCjIwMTItMDYtMTIgMjE6MDI6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTElDRU5TRV9yZWFkbWU6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3Nob3V0L01ha2VmaWxlLmFtOgoJKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSogZXh0L3Nob3V0L2dzdHNob3V0Lmg6CgkgIHNob3V0OiByZW1vdmUgb2xkIHNob3V0IHBsdWdpbiB0aGF0IGhhcyBuZXZlciBiZWVuIHBvcnRlZCB0byAwLjEwCgkgIFRoZXJlJ3Mgc2hvdXQyIGluIC1nb29kIG5vdy4KCjIwMTItMDYtMTIgMjA6MzU6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTElDRU5TRV9yZWFkbWU6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2hlcm1lcy9NYWtlZmlsZS5hbToKCSogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkgIGhlcm1lczogcmVtb3ZlIGhlcm1lcyBjb2xvcnNwYWNlIGNvbnZlcnRlciB0aGF0IHdhcyBuZXZlciBwb3J0ZWQgdG8gMC4xMAoKMjAxMi0wNi0xMiAxOTowNjo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBBbmRyb2lkLm1rOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2J1ZmZlci5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvYnVmZmVyLmg6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9kZWJ1Zy5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZGVidWcuaDoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2Z1bmN0YWJsZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZnVuY3RhYmxlLmg6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9nc3RsZWdhY3lyZXNhbXBsZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZ3N0bGVnYWN5cmVzYW1wbGUuaDoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZS5oOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGVfZnVuY3RhYmxlLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZV9yZWYuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xlZ2FjeXJlc2FtcGxlLmM6CgkgIGxlZ2FjeXJlc2FtcGxlOiByZW1vdmUgbGVnYWN5IHBsdWdpbgoKMjAxMi0wNi0xMiAxOTowMjo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9hdWRpb3Jlc2FtcGxlL01ha2VmaWxlLmFtOgoJKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuaDoKCSAgYXVkaW9yZXNhbXBsZTogcmVtb3ZlIG9sZCBhdWRpb3Jlc2FtcGxlIHBsdWdpbiB0aGF0IHdhcyBuZXZlciBldmVuIHBvcnRlZCB0byAwLjEwCgoyMDEyLTA2LTEyIDE4OjUzOjEzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5jOgoJICBjaHJvbWFwcmludDogdXBkYXRlIGZvciBuZXcgdGFnIGV2ZW50IEFQSQoKMjAxMi0wNi0xMiAxODo0NzoyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBMSUNFTlNFX3JlYWRtZToKCSogUkVRVUlSRU1FTlRTOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGl2eGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXZ4ZW5jLnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZGl2eC9NYWtlZmlsZS5hbToKCSogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmg6CgkqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSogZXh0L2RpdngvZ3N0ZGl2eGVuYy5oOgoJICBkaXZ4OiByZW1vdmUgcGx1Z2luIHRoYXQgdGhlIHdvcmxkIGRvZXNuJ3QgbmVlZCBhbnkgbW9yZQoJICAyMDAyIGNhbGxlZC4KCjIwMTItMDYtMTIgMTA6NTk6MzkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBGaXggYXJyYXkgdHlwZQoJICBXZSB3YW50ZWQgYW4gYXJyYXkgb2YgZ3VpbnQ4IChhbmQgbm90IGFuIGFycmF5IG9mIHBvaW50ZXJzKSB0byBzdG9yZQoJICB0aGUgZGF0YSBmcm9tIGdzdF9idWZmZXJfZXh0cmFjdCgpIGFuZCByZWFkIGl0LgoKMjAxMi0wNi0xMiAwOToxMDo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogZG9uJ3QgYWNjZXNzIGJ1ZmZlciBhZnRlciBfZmluaXNoX2ZyYW1lCgkgIFVubWFwIHRoZSBidWZmZXIgYmVmb3JlIGNhbGxpbmcgX2ZpbmlzaF9mcmFtZSBiZWNhdXNlIHdlIGFyZSBub3QgYWxsb3dlZCB0bwoJICBhY2Nlc3MgaXQgYWZ0ZXIuCgoyMDEyLTA2LTExIDE2OjQ1OjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogc3ByaW5rbGUgc29tZSBtb3JlIGRlYnVnIGNhdGVyaW5nCgoyMDEyLTA2LTExIDE2OjQ0OjAyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogYWRkIFNQTi9QVFMgaW5kZXhpbmcgY2FwYWJpbGl0aWVzCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IEFuZHJlYXMgRnJpc2NoIDxmcmF4aW5hc0BvcGVuZHJlYW1ib3gub3JnPgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ0ODkwCgoyMDEyLTA2LTExIDE0OjAzOjI2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJICBtcGVndHNtdXg6IGF2b2lkIG1lbWNweSBkdWUgdG8gdGVtcG9yYXJ5IHBhY2tldCBidWZmZXIKCSAgLi4uIGJ5IHdyaXRpbmcgZGlyZWN0bHkgaW50byB0aGUgb3V0cHV0IGJ1ZmZlciBpbnN0ZWFkLgoKMjAxMi0wNi0xMSAxMDo0OToxNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgaDI2NHBhcnNlcjogZG8gbm90IGFzc2VydCBvbiBkYXRhIGlucHV0LCBqdXN0IHJldHVybgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0MDY5CgoyMDEyLTA2LTEwIDE0OjI5OjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYzoKCSAgZHZkc3B1OiBhbGxvdyBkZWJ1Z2dpbmcgb2YgcmVuZGVyIGFuZCBoaWdobGlnaHQgcmVjdGFuZ2xlcyB2aWEgZW52aXJvbm1lbnQgdmFyaWFibGUKCSAgRW5hYmxlIGRlYnVnZ2luZyBvZiByZWN0YW5nbGVzIHZpYSBHU1RfRFZEX1NQVV9ERUJVRy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzIyMwoJICBDb25mbGljdHM6CgkgIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYwoKMjAxMS0xMi0zMSAxODozNTo0MCAtMDYwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJICBkdmRzcHU6IGNsZWFudXAgZGVidWcgY29kZQoJICBDbGVhbiB1cCBkZWJ1ZyBjb2RlIGZvciBkcmF3aW5nIGhpZ2hsaWdodCByZWN0cyB3aGljaCB3YXNuJ3QgZXZlbgoJICBjb21waWxpbmcgcHJldmlvdXNseS4KCSAgVE9ETzogbWlnaHQgYmUgbmljZSBpZiB0aGlzIGNvdWxkIGJlIGNvbnRyb2xsZWQgYnkgcHJvcGVydGllcyBvcgoJICBlbnYgdmFyaWFibGVzIHRvIG1ha2UgaXQgcG9zc2libGUgdG8gZW5hYmxlIHRoZSBkZWJ1ZyBjb2RlIGF0CgkgIHJ1bnRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjcyMjMKCSAgQ29uZmxpY3RzOgoJICBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmMKCjIwMTItMDYtMDggMTc6MTQ6MDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJICBtcGVndHNtdXg6IHBsdWcgbGVha3Mgd2hlbiBmcmVlaW5nIHN0cmVhbQoKMjAxMi0wNi0wOCAxNzoxMzozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgdGVzdHM6IG1wZWd0c211eDogcGx1ZyBzb21lIGxlYWtzCgoyMDEyLTA2LTA4IDE1OjU4OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsZmlsZXNpbmsuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBlbGVtZW50czogVXNlIGdzdF9wYWRfc2V0X2NhcHMoKSBpbnN0ZWFkIG9mIG1hbnVhbCBldmVudCBmaWRkbGluZwoKMjAxMi0wNi0wOCAxNTowNToxMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDAzYTBlNTcgdG8gOThlMzg2ZgoKMjAxMi0wNi0wOCAxMTo1NTozNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgdGVzdHM6IG1wZWd0c211eDogYWRqdXN0IHRvIG1vZGlmaWVkIGJ1ZmZlciBjb2xsZWN0IGJlaGF2aW91cgoKMjAxMi0wNi0wOCAxMToxMjowNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9saWJzL21wZWd2aWRlb3BhcnNlci5jOgoJICB0ZXN0czogbXBlZ3ZpZGVvcGFyc2VyOiBhZGp1c3QgdG8gbW9kaWZpZWQgQVBJCgoyMDEyLTA2LTA3IDE3OjQzOjA2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogZHJhaW4gY2FjaGVkIGRhdGEgdXBvbiBFT1MKCjIwMTItMDYtMDcgMTc6Mzg6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBhbGxvdyBmb3IgYWxpZ25lZCBvdXRwdXQKCSAgLi4uIGFuZCByZWZhY3RvciBwYWNrZXQgaGFuZGxpbmcgc29tZSBtb3JlIGluIHRoZSBwcm9jZXNzLgoJICBGaXhlcyAjNjUxODA1LgoKMjAxMi0wNi0wNyAxNDozODoxMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBpbXByb3ZlIG0ydHMgdGltZXN0YW1wIGludGVycG9sYXRpb24KCSAgKiBhIGtub3duIFBDUiBzaG91bGQgcmVhbGx5IGJlbG9uZyB0byBhIHBhY2tldCBob2xkaW5nIHRoYXQgUENSCgkgICogaW50ZXJwb2xhdGlvbiBjYW4gYmUgZXh0ZW5kZWQgYmFja3dhcmQgZm9yIGluaXRpYWwgcGFja2V0cyAoUEFULCBQTVQpCgoyMDEyLTA2LTA3IDEyOjE3OjI0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogdHdlYWsgb3V0cHV0IGJ1ZmZlciB0aW1lc3RhbXBpbmcKCjIwMTItMDYtMDcgMTY6MjM6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjExLjkyID09PQoKMjAxMi0wNi0wNyAxNjoyMzowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy1kaXN0LmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL01ha2VmaWxlLmFtOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMS45MgoKMjAxMi0wNi0wNyAxNjoyMjo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEyLTA2LTA3IDEyOjMzOjMxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwODogZml4IGNvZGVjIHN0YXRlIGxlYWtzCgkgIEkgb25seSB0ZXN0ZWQgdGhhdCB2cDhlbmMgISB2cDhkZWMgZG9lcyBub3QgY3Jhc2gsIGFzIHZhbGdyaW5kIGRvZXMgbm90IGdyb2sKCSAgYXQgbGVhc3Qgb25lIG9mIHRoZSBpbnN0cnVjdGlvbnMgdXNlZCBieSB2cDhlbmMsIHByZXZlbnRpbmcgbWUgZnJvbSBjaGVja2luZwoJICBhIGxlYWssIGFuZCB0aGUgbGFjayBvZiBvbmUgYWZ0ZXIgdGhlIHBhdGNoLgoKMjAxMi0wNi0wNyAxMjoyNTowMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIGRpcmFjZW5jOiBmaXggYnVmZmVyIGxlYWsKCjIwMTItMDYtMDcgMTI6MTY6MjEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBkaXJhY2VuYzogZml4IGZyYW1lIGxlYWtzCgoyMDEyLTA2LTA3IDEyOjAxOjMxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWNlbmM6IGZpeCBjb2RlYyBzdGF0ZSBsZWFrCgoyMDEyLTA2LTA3IDExOjU4OjUzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWNlbmM6IGZpeCBzdHJheSB1bnJlZiBjYXVzaW5nIGFjY2VzcyB0byBmcmVlZCBtZW1vcnkKCjIwMTItMDYtMDcgMTE6NTI6MTIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZWRpbmdlcjogZml4IHZpZGVvIGNvZGVjIHN0YXRlIGxlYWtzCgoyMDEyLTA2LTA2IDE4OjE4OjU0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMWZhYjM1OSB0byAwM2EwZTU3CgoyMDEyLTA2LTA2IDE2OjAwOjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSAgZ21lOiB1cGRhdGUgZm9yIHRhZyBldmVudCBjaGFuZ2UKCjIwMTItMDYtMDMgMDE6NTg6MTIgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBGaXggdGhlIHdheWxhbmQgdmVyc2lvbgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3MzYyCgoyMDEyLTA2LTA2IDEzOjAyOjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHVwZGF0ZSBmb3IgdGFnIGV2ZW50IGNoYW5nZQoKMjAxMi0wNi0wNiAxMToxNDoxNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSAgYmF5ZXI6IGZpeCBvdXRwdXQgZnJhbWUgbWFwCgoyMDEyLTA2LTA1IDE3OjU3OjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBoMjY0cGFyc2VyOiBSZW1vdmUgdW4tbmVlZGVkIGNoZWNrcyBhbmQgaW5saW5lIHNvbWUgZnVuY3Rpb25zCgkgIHZhbCBhbmQgbnIgYWx3YXlzIGV4aXN0ICgmbnIsICZ2YWx1ZSkKCSAgYml0cyBpcyBhbHdheXMgY2FsbGVkIHNtYWxsZXIgdGhhbiB0aGUgd2lkdGgKCSAgTWFrZXMgcGFyc2luZyAzMCUgZmFzdGVyCgoyMDEyLTA2LTA1IDE4OjAzOjEwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Y29tbW9uLmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5oOgoJICBtcGVndHNtdXg6IG1vcmUgaGVhZGVyIGNsYXJpZmljYXRpb25zIGFuZCByZW1vdmUgc29tZSByZWR1bmRhbnQgZmllbGRzCgoyMDEyLTA2LTA1IDE0OjE4OjM0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBhdm9pZCBQSUQgY29sbGlzaW9uIGZvciBhdXRvLWdlbmVyYXRlZCBQSUQKCjIwMTItMDYtMDUgMTY6NTk6NDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJICB0c211eDogaW5saW5lIG1vcmUgY29kZQoJICBXaXRoIHRoZSBwcmV2aW91cyBjb21taXQsIG1ha2VzIG1wZWd0c211eCAxMCB0byAxNSUgZmFzdGVyCgoyMDEyLTA2LTA1IDE2OjU4OjQzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJICBtcGVndHNtdXg6IERvbid0IHVzZSBnX2xpc3RfZmlyc3QgKCkKCSAgU2VyaW91c2x5IC4uLgoKMjAxMi0wNi0wNSAxMjoxNzoyNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGFsc28gcHJvcGVybHkgcmVzZXQgYW5kIGZyZWUgcGFkIGRhdGEKCjIwMTItMDYtMDUgMTE6NTI6MTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiByZWZhY3RvciBpbml0IHVzaW5nIF9yZXNldCB0byBjYXRlciBmb3IgcHJvcGVyIHJldXNlCgoyMDEyLTA2LTA0IDE2OjI0OjA1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogaGVhZGVyIGNsZWFudXBzIGFuZCBjbGFyaWZpY2F0aW9ucwoKMjAxMi0wNi0wNCAxNjowNTowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IHR3ZWFrIGJ1ZmZlciBoYW5kbGluZwoJICAuLi4gZm9yIGNsYXJpdHkgYW5kIHRvIGF2b2lkIG1peGluZyBfcGVlay9fcG9wCgoyMDEyLTA2LTA0IDE2OjAzOjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogbWlzYyBjb2RlIGNsZWFudXBzIGFuZCByZWZhY3RvcmluZwoKMjAxMi0wNi0wNCAxNDo1NDo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IGF2b2lkIHNlcGFyYXRlIGFsbG9jYXRpb24gZm9yIGxpc3Qgb2YgcHJvZ3JhbXMKCjIwMTItMDYtMDQgMTQ6NTQ6MDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiByZWFycmFuZ2UgZGVmaW5lJ3MKCjIwMTItMDYtMDQgMTQ6NDg6MjkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiByZW1vdmVkIGhhY2tlZCBldmVudCBoYW5kbGluZwoJICBDb25mbGljdHM6CgkgIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmMKCSAgUmV2ZXJ0ZWQgYmFjayB0byAwLjEwIHN0YXRlIGFzIGl0IHdhc24ndCByZWFsbHkgcG9ydGVkCgkgIHlldCBhbnl3YXkuCgoyMDEyLTA2LTA1IDA5OjU0OjUzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c2RlbXV4OiBBbHNvIHBhcnNlIFRPVCAoVGltZSBPZmZzZXQgU2VjdGlvbikKCSAgSXQncyB0aGUgc2FtZSBhcyBURFQsIGV4Y2VwdCB3aXRoIGRlc2NyaXB0b3JzIGF0IHRoZSBlbmQKCjIwMTItMDYtMDUgMDk6NTI6NDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IEZJWE1FL0NvbW1lbnQgYWJvdXQgaXNzdWVzL2Vycm9ycwoKMjAxMi0wNi0wNSAwOTo0ODowNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBGaXggbGVhawoKMjAxMi0wNi0wNSAwOTo0NDo0NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBSZWR1Y2UgdXNhZ2Ugb2YgR3N0QWRhcHRlcgoJICBQZWVrIGFzIG11Y2ggYXMgcG9zc2libGUgaW4gb25lIGdvLiBJZGVhbGx5IHdlIHNob3VsZCByZW1vdmUgdXNhZ2Ugb2YKCSAgYWRhcHRlciBhbHRvZ2V0aGVyLCBidXQgZm9yIHRoZSB0aW1lIGJlaW5nIGl0IHByb3ZpZGVzIGEgYmlnIGVub3VnaAoJICBzcGVlZHVwIChhcm91bmQgMiB0aW1lcyBmYXN0ZXIgcGVyIHBhY2tldCBwcm9jZXNzZWQpLgoKMjAxMi0wNi0wNCAwODozOToxMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYWNrZXRpemVyOiBBdm9pZCBhbGxvYy9mcmVlIHdoZXJlIHBvc3NpYmxlCgkgIEhlbHBzIGZvciBzdHJlYW1zIHdpdGggYSBsb3Qgb2Ygc2VjdGlvbnMsIGxpa2UgRUlUCgoyMDEyLTA2LTA0IDA4OjM3OjQ0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0YmFzZTogQWRkIG1vcmUgc2VjdGlvbnMgdGhhdCBkb24ndCBoYXZlIGEgQ1JDCgoyMDEyLTA2LTA0IDA4OjMyOjUxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVnZGVmczogQWRkIGxpc3Qgb2Yga25vd24gdGFibGVfaWQKCSAgQWxvbmcgd2l0aCB0aGUgc3BlY2lmaWNhdGlvbnMgZnJvbSB3aGljaCB0aGV5IGNvbWUuIEF2b2lkcyBoYXZpbmcKCSAgdG8gc2VhcmNoIGZvciB3aGljaCBzcGVjIGEgdGFibGVfaWQgYmVsb25ncyB0bwoKMjAxMi0wNi0wMyAxMDo1ODoyMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBDbGFyaWZ5IGRlYnVnIHN0YXRlbWVudHMKCSAgVXNlIGhleCB2YWx1ZXMgaW4gbW9yZSBjYXNlcyAoc2luY2UgdGhhdCdzIGhvdyBQSUQvdGFibGVfaWQvLi4uIGFyZQoJICByZXByZXNlbnRlZCBpbiB0aGUgdmFyaW91cyBzcGVjcykuCgoyMDEyLTA2LTAzIDEwOjU2OjI4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c2Jhc2UvcGFja2V0aXplcjogQWRkIENBVCBzZWN0aW9uIGhhbmRsaW5nCgkgIEFsbG93cyByZXBvcnRpbmcgdGhlIGdsb2JhbCBFTU0KCjIwMTItMDYtMDMgMTA6NTM6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RiYXNlOiBBZGQgbW9yZSBkZWJ1ZyBpbiBQU0kgaGFuZGxpbmcKCSAgQWxsb3dzIHVzIHRvIGlkZW50aWZ5IHdoaWNoIFNJIHdlIGRvbid0IGhhbmRsZQoKMjAxMi0wNi0wMyAxMDo1MzoxMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndGJhc2U6IEFkZCBtb3JlIGRlZmF1bHQga25vd24gUFNJIHRhYmxlX2lkCgoyMDEyLTA2LTAyIDA4OjA2OjI0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0YmFzZTogUmVmYWN0b3IgUFNJIGRldGVjdGlvbgoKMjAxMi0wNi0wNSAwOTozMDozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHdpbjMyOiBVcGRhdGUgY29uZmlnLmgKCjIwMTItMDYtMDUgMDk6MzA6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBGaXggR3N0QmFzZVBhcnNlOjpnZXRfc2lua19jYXBzKCkgaW1wbGVtZW50YXRpb25zCgkgIFRoZXkgc2hvdWxkIHRha2UgdGhlIGZpbHRlciBjYXBzIGludG8gYWNjb3VudCBhbmQgYWx3YXlzIHJldHVybgoJICB0aGUgdGVtcGxhdGUgY2FwcyBhcHBlbmRlZCB0byB0aGUgYWN0dWFsIGNhcHMuIE90aGVyd2lzZSB0aGUKCSAgcGFyc2VycyBzdG9wIHRvIGFjY2VwdCB1bnBhcnNlZCBzdHJlYW1zIHdoZXJlIHVwc3RyZWFtIGRvZXMgbm90CgkgIGtub3cgYWJvdXQgd2lkdGgsIGhlaWdodCwgZXRjLgoJICBGaXhlcyBidWcgIzY3NzQwMS4KCjIwMTItMDYtMDEgMTY6Mjk6MDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RiYXNlOiBFQ00vQ0Egc2VjdGlvbnMgZG9uJ3QgaGF2ZSBhIENSQwoJICBTbyBkb24ndCBjaGVjayBmb3IgaXQgOikKCSAgQWxzbyBhZGQgYSBiaXQgbW9yZSBpbmZvIGluIHRoZSB3YXJuaW5nIG1lc3NhZ2UgdG8gc3BlZWQgdXAgZGV0ZWN0aW5nCgkgIHdoZXRoZXIgaXQncyBhIGZhbHNlLXBvc2l0aXZlIG9yIG5vdC4KCjIwMTItMDYtMDEgMTA6NTk6MjIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBtcGVnOiByZWxheCBlbnRyeSBjb25zdHJhaW50CgkgIC4uLiBzaW5jZSBpdCBpcyBhY2NlcHRhYmxlIGFuZCBwcm9wZXJseSBoYW5kbGVkIGZ1cnRoZXIgb24uCgoyMDEyLTA2LTAxIDEwOjI5OjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZjFiNWE5NiB0byAxZmFiMzU5CgoyMDEyLTA1LTMxIDEzOjA4OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOTJiNzI2NiB0byBmMWI1YTk2CgoyMDEyLTA1LTI5IDEwOjQ4OjU0IC0wNzAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2Zha2VzcmMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJICBkc2hvd2RlY3dyYXBwZXI6IGFkZCBzdXBwb3J0IGZvciBWQzEgYW5kIGZpeCBwbHVnaW5zIHJhbmtzCgoyMDEyLTA1LTI5IDEwOjQ4OjAzIC0wNzAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2RlY3dyYXBwZXIuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZmFrZXNyYy5jcHA6CgkgIGRzaG93ZGVjd3JhcHBlcjogaW5pdGlhbGl6ZSBkZWJ1ZyBwcm9wZXJseQoKMjAxMi0wNS0yOSAxMDo0Mzo0MyAtMDcwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkgIGRzaG93ZGVjd3JhcHBlcjogZml4IG9iamVjdCBkaXNwb3NhbCBhbmQgZmluYWxpemF0aW9uCgoyMDEyLTA1LTMwIDEwOjM0OjQ0IC0wNzAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBkb24ndCBmbHVzaCBhZnRlciBhIGRldmljZSBsb3N0CgoyMDEyLTA1LTMwIDEzOjU0OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJICBhcHBsZW1lZGlhOiBQdXQgdGhlIHJpZ2h0IGZsYWdzIGludG8gdGhlIHJpZ2h0IHZhcmlhYmxlCgoyMDEyLTA1LTMwIDEyOjQ1OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZWMxYzRhOCB0byA5MmI3MjY2CgoyMDEyLTA1LTMwIDExOjMyOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBSZXZlcnQgYWNjaWRlbnRpYWxseSBjb21taXR0ZWQgc3R1ZmYgaW4gbGFzdCBjb21taXQKCjIwMTItMDUtMzAgMTE6MjQ6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSAgY29uZmlndXJlOiBBZGQgT0JKQyBzcGVjaWZpYyBjb21waWxlciBmbGFncwoJICBTZWUgYnVnICM2NDM5MzkuCgoyMDEyLTA1LTMwIDExOjIzOjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMzQyOWJhNiB0byBlYzFjNGE4CgoyMDEyLTA1LTI5IDE3OjI0OjAyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogcmVhZCBnYWluIGZyb20gdGhlIHJpZ2h0IHBsYWNlIGluIHRoZSBoZWFkZXIKCSAgSXQncyBhdCBieXRlIG9mZnNldCAxNiwgbm90IDE0LgoKMjAxMi0wNS0yNCAxMToxMTowMCAtMDMwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogUmVmYWN0b3JpbmcgYW5kIG1ha2UgY29yZSBtb3JlIHNpbWlsYXIgdG8gdGV4dG92ZXJsYXkKCSAgRXNwZWNpYWxseSB0aGUgY29tYmluaW5nIG9mIHRoZSB0ZXh0IGFuZCB2aWRlbyBidWZmZXJzIGlzIG5vdwoJICBhbG1vc3QgdGhlIHNhbWUgYXMgaW4gdGV4dG92ZXJsYXkuCgkgIFdlIHNob3VsZCByZWFsbHkgZ2V0IGEgYmFzZSBjbGFzcyBmb3IgdGhpcy4KCSAgQ29uZmxpY3RzOgoJICBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jCgkgIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmgKCjIwMTItMDUtMjggMTU6NDg6MzMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbi5jOgoJKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmM6CgkqIHN5cy9kdmIvY2FtdHJhbnNwb3J0LmM6CgkgIGR2YjogQWRkIG1vcmUgZGVidWdnaW5nIHRvIGNhbSBzdXBwb3J0CgoyMDEyLTA0LTI0IDExOjA5OjExICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSogZXh0L2RpcmFjL2dzdGRpcmFjLmNjOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuY2M6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWM6IFBvcnQgdG8gLWJhc2UgdmlkZW8gY2xhc3NlcwoJICBDb25mbGljdHM6CgkgIGV4dC9kaXJhYy9NYWtlZmlsZS5hbQoKMjAxMi0wNS0yOCAxNjo0Mjo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJICBiYXNldmlkZW86IFJlbW92ZSBvbGQgdmlkZW8gYmFzZSBjbGFzc2VzCgoyMDEyLTA1LTI4IDE2OjQyOjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmg6CgkgIHNjaHJvZWRpbmdlcjogUG9ydCB0byAwLjExIGFnYWluCgoyMDEyLTA1LTI4IDA3OjU4OjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSAgc2Nocm9kZWM6IFdlIGRvbid0IGFzc3VtZSBwYWNrZXRpemVkIGlucHV0CgkgIE90aGVyd2lzZSB0aGUgcGFyc2Ugdm1ldGhvZCBuZXZlcnMgZ2V0cyBjYWxsZWQKCjIwMTItMDQtMjQgMTE6MDg6NTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9NYWtlZmlsZS5hbToKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyby5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5oOgoJICBzY2hyb2VkaW5nZXI6IFBvcnQgdG8gLWJhc2UgdmlkZW8gY2xhc3NlcwoJICBDb25mbGljdHM6CgkgIGV4dC9zY2hyb2VkaW5nZXIvTWFrZWZpbGUuYW0KCSAgZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jCgkgIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYwoJICBCYWNrIHRvIDAuMTAgc3RhdGUsIG5lZWRzIHBvcnRpbmcgYWdhaW4uCgoyMDEyLTA1LTI4IDE2OjA1OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwODogUG9ydCB0byAwLjExIGFnYWluCgoyMDEyLTA1LTE4IDEyOjQ2OjU1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogZml4IHRhcmdldCBiaXRyYXRlIGNvbmZpZyB3aXRoIGxpYnZweCAxLjEuMAoJICBsaWJ2cHggMS4xLjAgZGlzYWxsb3dzIGEgYml0cmF0ZSBvZiAwLCB3aGljaCB3YXMgdXNlZCBieQoJICB2cDhlbmMgYXMgYSBkZWZhdWx0IHZhbHVlLgoJICBJbnN0ZWFkLCB3ZSB1c2UgdGhlIGRlZmF1bHQgbGlidnB4IGJpdHJhdGUsIHNjYWxlZCB0byBvdXIKCSAgdmlkZW8gc2l6ZSwgaWYgbm8gYml0cmF0ZSB3YXMgc3BlY2lmaWVkLgoJICBUaGlzIGZpeGVzIGVuY29kaW5nIFZQOCB2aWRlbyB3aXRoIGxpYnZweCAxLjEuMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjI0NQoKMjAxMi0wNS0xNiAxNDowNDoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFVwZGF0ZSBmb3IgR3N0VmlkZW9Db2RlY0ZyYW1lIEFQSSBjaGFuZ2VzCgoyMDEyLTA0LTI3IDE4OjIyOjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5oOgoJICB2cDhkZWM6IEltcHJvdmUgb3V0cHV0X3N0YXRlIGhhbmRsaW5nCgkgIEF2b2lkIGdldHRpbmcgb3V0cHV0X3N0YXRlIGZvciBldmVyeSBidWZmZXIgYXMgdGhhdCByZXF1aXJlcwoJICBnZXR0aW5nIHRoZSBvYmplY3Rsb2NrIGFuZCBkb2luZyByZWZlcmVuY2UgY291bnRpbmcuIFN0b3JlIGl0IGxvY2FsbHkKCSAgd2hlbiBpdCBpcyBjcmVhdGVkIGFuZCB1c2UgaXQuCgoyMDEyLTA0LTI3IDA5OjA1OjU3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IFVzZSBvdXRwdXRzdGF0ZSB3aGVuIGNvcHlpbmcgb3V0cHV0IGJ1ZmZlciBkYXRhCgkgIFVzaW5nIHRoZSBpbnB1dCBzdGF0ZSB3YXMgY2F1c2luZyBhIGNyYXNoIGJlY2F1c2UgdGhlIHN0cmlkZXMvb2Zmc2V0cwoJICB3b3VsZCBiZSB3cm9uZy4gRml4IGl0IGJ5IHVzaW5nIHRoZSBvdXRwdXQgYXMgd2UgYXJlIGRlYWxpbmcgd2l0aAoJICB0aGUgZGVjb2RlZCBmcmFtZS4KCjIwMTItMDQtMjQgMTE6MDg6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuaDoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgdnA4OiBQb3J0IHRvIC1iYXNlIHZpZGVvIGJhc2UgY2xhc3NlcwoJICBDb25mbGljdHM6CgkgIGV4dC92cDgvTWFrZWZpbGUuYW0KCSAgZXh0L3ZwOC9nc3R2cDhkZWMuYwoJICBleHQvdnA4L2dzdHZwOGVuYy5jCgkgIEJhY2sgdG8gMC4xMCBzdGF0ZSBmb3Igbm93LCBuZWVkIHRvIGJlIHBvcnRlZCBhZ2Fpbi4KCjIwMTItMDUtMjcgMjM6NDE6MjQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBkbyBub3QgYXNzZXJ0IG9uIGJhZCBoZWFkZXIsIGVycm9yIG91dCBpbnN0ZWFkCgoyMDEyLTA1LTI3IDAwOjAwOjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICB0ZXN0czogZG9uJ3QgdXNlIEdzdFN0cnVjdHVyZSBBUEkgb24gdGFnIGxpc3RzCgoyMDEyLTA1LTI2IDE0OjU3OjUwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJICBtcGVnZGVzYzogQWRkIG1vcmUgY29tbWVudHMvaW5mbwoJICBOYW1lbHkgd2hlcmUgdGhleSBiZWxvbmcgdG8KCjIwMTItMDUtMjYgMTQ6NTc6MjMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogTWFrZSBzdXJlIHdlIGhhdmUgYSBsYW5ndWFnZSBjb2RlIGJlZm9yZSB1c2luZyBpdAoKMjAxMi0wNS0yNiAxNDoxMToyNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBDaGVjayBiZWZvcmUgZ2V0dGluZyBkZXNjcmlwdG9ycyBmcm9tIHN0cnVjdHVyZQoJICBBdm9pZHMgc3B1cmlvdXMgd2FybmluZ3MuIE5vdCBoYXZpbmcgdGhvc2UgZGVzY3JpcHRvcnMgaXMgbm90aGluZwoJICBmYXRhbCwgc28gY2hlY2sgdGhlaXIgcHJlc2VuY2UgYmVmb3JlIHRyeWluZyB0byBnZXQgdGhlbS4KCjIwMTItMDUtMjYgMTQ6MDg6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkgIHBlc3BhcnNlOiBCZSBhIGJpdCBtb3JlIHBlcm1pc3NpdmUgd2l0aCBQVFMvRFRTIHBhcnNpbmcKCSAgQWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpY2F0aW9ucyBhIFBUU19EVFNfZmxhZ3MgdmFsdWUgb2YgMHgwMSBpcyBmb3JiaWRkZW4uCgkgIC4uLiBidXQgdGhlcmUgYXJlIHNvbWUgcmFyZSBmaWxlcyBvdXQgdGhlcmUgdGhhdCBkbyB0aGF0LgoJICBJbnN0ZWFkIG9mIGVycm9yaW5nIG91dCwgbGV0J3Mgd2FybiwgY2Fycnkgb24gcGFyc2luZyBhY2NvcmRpbmdseS4KCSAgSWYgdGhlIHBhY2tldCBpcyByZWFsbHkgY29ycnVwdGVkIHRoZXJlIGFyZSBlbm91Z2ggY2hlY2tzIGFmdGVyd2FyZCB0bwoJICBkZXRlY3QgdGhhdC4KCjIwMTItMDUtMjUgMjI6MjA6MDcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXNwYXJzZTogaGVlZCB0ZXN0IHZlY3RvciBmcmFtaW5nIHRvIGVhdCBhbnkgcGFkZGluZwoJICBUaGlzIGZpeGVzIHBhcnNpbmcgb24gb25lIHBhcnRpY3VsYXIgdGVzdCB2ZWN0b3Igd2hlcmUgcGF5bG9hZAoJICBkYXRhIGlzIHNtYWxsZXIgdGhhbiB0aGUgYWN0dWFsIGF1ZGlvIHBheWxvYWQuCgoyMDEyLTA1LTI1IDE0OjE1OjQ0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkgIG1wZWd0c2Jhc2U6IEZpeCBiaXQgb3BlcmF0aW9uCgkgICJhICUgOCIgY29ycmVzcG9uZHMgdG8gImEgJiAweDciIChhbmQgbm90IDB4ZikuCgkgIHNwb3R0ZWQgYnkgSnVsaWFuIFNjaGVlbAoKMjAxMi0wNS0yNCAxNjoyMjo0MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1c3BhcnNlOiBTaW1wbGlmeSBjaGVjawoJICBBdm9pZHMgYSB1bnNldCB2YXJpYWJsZSB3YXJuaW5nIChmb3IgbmZyYW1lcykgd2l0aCBnY2MgNC43LjAKCjIwMTItMDUtMjQgMjI6MTI6NTYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJICBvcHVzOiByZWplY3QgbWFqb3IgdmVyc2lvbiBudW1iZXIgYWJvdmUgd2hhdCB3ZSBncm9rCgoyMDEyLTA1LTI0IDIxOjU4OjQ0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSAgb3B1czogYnVtcCB3cml0dGVuIHZlcnNpb24gZnJvbSAwIHRvIDB4MDEKCSAgYXMgcGVyIHRoZSBzcGVjIHVwZGF0ZSBhdCBodHRwczovL3dpa2kueGlwaC5vcmcvT2dnT3B1cyNJRF9IZWFkZXIKCjIwMTItMDQtMzAgMTQ6NDA6MDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBmaXggbG9zdCBwYWNrZXQgaGFuZGxpbmcgZm9yIEZFQy9QTEMKCSAgVGhlIGJhc2UgYXVkaW8gZGVjb2RlciBzZW5kcyB6ZXJvIHNpemUgcGFja2V0cywgbm90IE5VTEwgYnVmZmVycywKCSAgdG8gc2lnbmFsIGRyb3BwZWQgcGFja2V0cy4KCjIwMTItMDUtMjQgMTI6MzI6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkYzcwMjAzIHRvIDM0MjliYTYKCjIwMTItMDUtMjMgMTg6MTk6NTIgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHN1cHByZXNzIHNvbWUgd2FybmluZ3Mgd2hlbiBkZWJ1ZyBpcyBkaXNhYmxlZAoJICBXYXJuaW5ncyBhYm91dCB1bnVzZWQgdmFyaWFibGVzIHNob3VsZCBiZSBzdXBwcmVzc2VkIGlmIGNvcmUgaGFzIHRoZQoJICBkZWJ1ZyBzeXN0ZW0gZGlzYWJsZWQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzY2NzIKCjIwMTItMDQtMjUgMjE6MjE6NDMgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvZDNkdmlkZW9zaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHguaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMC9keDEwX2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDExL2R4MTFfZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4OS9keDlfZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4OS9keDlfZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4X2QzZC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eF9kM2QuaDoKCSAgUG9ydCBkM2R2aWRlb3NpbmsgdG8gMC4xMQoJICBGaXhlcyAjNjc0ODE3CgoyMDEyLTA1LTIzIDEyOjA3OjE0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgd2F5bGFuZDogcG9ydCB0byAwLjExCgoyMDEyLTA1LTIyIDE4OjU1OjM4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmJiYXNlYmluOiBFbWl0IG5vLW1vcmUtcGFkcyB3aGVuIHBhZCBpcyBhZGRlZAoJICBUaGlzIGF2b2lkcyBhbiBlbmRsZXNzIGhhbmcgd2l0aCBwbGF5YmluMiwgd2hpY2ggc2VlcyBkdmJiYXNlc2JpbiBhcwoJICBoYXZpbmcgZHluYW1pYyBwYWRzIC4uLiBidXQgbmV2ZXIgZW1pdHRlZCBuby1tb3JlLXBhZHMuCgoyMDEyLTA1LTIyIDE4OjUzOjE2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvY2FtdXRpbHMuYzoKCSAgY2FtdXRpbHM6IEZpeCBQTVQgbWVzc2FnZSBjb25zdHJ1Y3Rpb24KCSAgVGhlIHNpemUgb2YgdGhlIG1lc3NhZ2UgZW5kZWQgdXAgYmVpbmcgYmlnZ2VyIHRoYW4gaXRzIGNvbnRlbnQuCgkgIFRoYXQgY2F1c2Ugc29tZSBDQSBtb2R1bGVzIHRvIGp1c3QgaGFuZy4KCjIwMTItMDUtMjIgMTg6NTE6MzQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9jYW10cmFuc3BvcnQuYzoKCSAgY2FtdHJhbnNwb3J0OiBBbGxvdyBkZWxheSB3aGVuIHNldHRpbmcgdXAgY2FtIGRldmljZQoJICBTb21lIENBIGRldmljZXMgdGFrZSBhIGxvbmcgdGltZSB0byBzZXQgdGhlbXNlbHZlcyB1cCwKCSAgdGhlcmVmb3JlIHJldHJ5IGV2ZXJ5IDI1MG1zIChmb3IgYSBtYXhpbXVtIG9mIDIuNXMpCgoyMDEyLTA1LTIyIDE4OjQ5OjU0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogRml4dXAvYWRkIGRlYnVnIHN0YXRlbWVudHMKCjIwMTItMDUtMjIgMTg6NDg6MDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBPbmx5IG9wZW4gZGV2aWNlIHJlYWQvd3JpdGUgd2hlbiBuZWVkZWQKCSAgQXZvaWQgc3RhcnRpbmcgdXAga2VybmVsIHRocmVhZCB3aGVuIG5vdCBuZWVkZWQKCjIwMTItMDUtMjIgMTg6NDY6MDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2YjogQWRkIHdhcm5pbmcgd2hlbiBkdmIgY2hhbm5lbHMgZmlsZSBpc24ndCBwcmVzZW50CgoyMDEyLTA1LTIzIDA4OjM5OjIxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkgIG1wZWd0c2Jhc2U6IFNwZWVkIHVwIF9pc19wc2koKQoJICBCeSBtYWtpbmcgaXQgaW5saW5lIGFuZCBzaW1wbGlmeWluZyB0aGUgYml0IG1hY3JvcwoKMjAxMi0wNS0yMiAyMTowMDozMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBhdm9pZCBzY2FubmluZyBmb3Igc3RhcnQgY29kZXMgdHdpY2UKCSAgLi4uIHNpbmNlIGEgcHJldmlvdXMgdGVybWluYXRpbmcgc3RhcnQgY29kZSBzZXJ2ZXMgYXMgc3Vic2VxdWVudCBzdGFydCBjb2RlLgoKMjAxMi0wNS0yMiAxOToxMToyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZiOiBGaXh1cHMgZm9yIGxhdGVzdCBBUEkgY2hhbmdlcwoKMjAxMi0wNC0xMCAxMjozNjoxNSArMDIwMCAgSnVsaWFuIFNjaGVlbCA8anVsaWFuQGp1c3N0LmRlPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQWRkIGxhbmd1YWdlIGNvZGUgdG8gdGFnbGlzdC4KCSAgUmVhZCB0aGUgbGFuZ3VhZ2UgY29kZXMgZm9yIHRyYWNrcyBmcm9tIHRoZSBtcGVndHMgZGVzY3JpcHRvcnMgYW5kIGFkZCBpdCBpbnRvCgkgIHRoZSBwYWRzIHRhZ2xpc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzM4OTYKCjIwMTItMDUtMjEgMTc6NTM6MzcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQWRhcHQgdG8gbmV3IHBhY2tldGl6ZXIgQVBJCgkgIFdlIG5vIGxvbmdlciB1c2UgR3N0QnVmZmVyTGlzdCBhbmQgaW5zdGVhZCBjb3B5IHRoZSBpbmNvbWluZyBkYXRhCgkgIGludG8gbmV3bHkgYWxsb2NhdGVkIG1lbW9yeS4KCSAgVGhpcyBtYWtlcyB0c2RlbXV4IGJlaGF2aW91ciAzIHRvIDQgdGltZXMgZmFzdGVyLgoKMjAxMi0wNS0yMSAxNzo1MzoxNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgdHNwYXJzZTogQWRhcHQgdG8gbmV3IHBhY2tldGl6ZXIgQVBJCgoyMDEyLTA1LTIxIDE3OjUyOjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IEFkYXB0IHRvIG5ldyBwYWNrZXRpemVyIGJlaGF2aW91cgoKMjAxMi0wNS0yMSAxNzo0ODo1NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYWNrZXRpemVyOiBBdm9pZCB1c2FnZSBvZiBHc3RCdWZmZXIgaW50ZXJuYWxseQoJICBUaGUgb3ZlcmhlYWQgb2YgY3JlYXRpbmcvdXNpbmcgMTg4IGJ5dGUgR3N0QnVmZmVyIGZyb20gR3N0QWRhcHRlcgoJICBpcyB0b28gZXhwZW5zaXZlLgoJICBXZSBub3cgcGVlayB0aGUgbmV4dCBwYWNrZXQsIGFuZCBwcm92aWRlIGEgZGF0YS9zaXplIHdoaWNoIGlzIG9ubHkKCSAgdmFsaWQgdW50aWwgdGhlIHBhY2tldGl6ZXJwYWNrZXQgaXMgY2xlYXJlZC4KCSAgSW4gYWRkaXRpb24sIGNsZWFudXAgYWxsIHRoZSBpbnRlcm5hbCBjb2RlIHRvIGRlYWwgd2l0aCB0aGF0IG5ldwoJICBiZWhhdmlvdXIgYW5kIHJlbW92ZSBkb3VibGUtY2hlY2tzIHdoaWNoIGFyZSBubyBsb25nZXIgbmVlZGVkLgoJICBUaGUgc2VjdGlvbl9sZW5ndGggaXMgbm93IHRoZSBjb3JyZWN0ZWQgc2VjdGlvbl9sZW5ndGggKGkuZS4gd2l0aAoJICB0aGUgYWRkaXRpb25hbCAzIGJ5dGVzKS4KCSAgQXZvaWQgdXNpbmcgZ3N0X2FkYXB0ZXJfcHJldl90aW1lc3RhbXAgYW5kIGluc3RlYWQgdHJhY2sKCSAgdGhlIHRpbWVzdGFtcCBvdXJzZWxmLgoKMjAxMi0wNS0yMCAxMzoyNzoyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYWNrZXRpemVyOiBEZXRlY3QgUENSIHdyYXBhcm91bmQgaW4gc2tldyBjb2RlCgkgIElmIHRoZSByZWNlaXZlZCBQQ1IgaXMgZ29pbmcgYmFja3dhcmRzIChieSBhIHNhZmUgbWFyZ2luKSwgaW5jbHVkZQoJICB0aGF0IHdyYXBhcm91bmQgZm9yIGZ1cnRoZXIgY2FsY3VsYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQ1MzYKCjIwMTItMDUtMjIgMTQ6NDg6NDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IGF2b2lkIHJlcGVhdGVkIGNhcHMgc2V0dGluZwoKMjAxMi0wNS0yMiAxNDowMDozNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuaDoKCSAgbXBlZ3ZpZGVvcGFyc2U6IHR3ZWFrIGNvZGVjIHBhcnNlciBBUEkgYW5kIGFkanVzdCBwYXJzZXIgZWxlbWVudAoJICAuLi4gdG8gYWxsb3cgZm9yIG1vcmUgZWZmaWNpZW50IHBhcnNpbmcgYW5kIChtb3JlKSBjb25zaXN0ZW50IHBhcnNpbmcgQVBJCgkgIGFtb25nIHZhcmlvdXMgY29kZWMgcGFyc2Vycy4KCSAgRml4ZXMgIzY3MjcwMS4KCSAgQ29uZmxpY3RzOgoJICBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmMKCjIwMTItMDUtMjIgMTI6MzA6MDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IG1wZWc0OiBmaXh1cCBkb2N1bWVudGF0aW9uIHNwZWxsaW5nCgoyMDEyLTA1LTA4IDE2OjUxOjExIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBtcGVndmlkZW9wYXJzZXI6IE9wdGltaXplIHNjYW5uaW5nIGZvciBzdGFydCBjb2RlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzI3MDEKCjIwMTItMDUtMTggMTI6NDY6NTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBmaXggdGFyZ2V0IGJpdHJhdGUgY29uZmlnIHdpdGggbGlidnB4IDEuMS4wCgkgIGxpYnZweCAxLjEuMCBkaXNhbGxvd3MgYSBiaXRyYXRlIG9mIDAsIHdoaWNoIHdhcyB1c2VkIGJ5CgkgIHZwOGVuYyBhcyBhIGRlZmF1bHQgdmFsdWUuCgkgIEluc3RlYWQsIHdlIHVzZSB0aGUgZGVmYXVsdCBsaWJ2cHggYml0cmF0ZSwgc2NhbGVkIHRvIG91cgoJICB2aWRlbyBzaXplLCBpZiBubyBiaXRyYXRlIHdhcyBzcGVjaWZpZWQuCgkgIFRoaXMgZml4ZXMgZW5jb2RpbmcgVlA4IHZpZGVvIHdpdGggbGlidnB4IDEuMS4wLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2MjQ1CgoyMDEyLTA1LTIyIDExOjEwOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogRG91YmxlIHByb3BlcnRpZXMgYXJlIHN1cHBvc2VkIGluIHRoZSByYW5nZSBbMC4wLCAxLjBdCgkgIEZpeGVzIGJ1ZyAjNjc2MTM3LgoKMjAxMi0wNS0yMSAxOToyMjoxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuaDoKCSAgbXBlZ3ZpZGVvcGFyc2U6IHVub2JmdXNjYXRlIGZyYW1lIHBhcnNpbmcKCSAgLi4uIGFuZCBhZGQgY29tbWVudHMgYW5kIGRlYnVnIHN0YXRlbWVudHMuCgkgIEZpeGVzICM2NzQyMDIuCgkgIENvbmZsaWN0czoKCSAgZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jCgoyMDEyLTA1LTIxIDE2OjM3OjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IFJldmVydCAiZml4IGNyYXNoIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDkxMjEwODMxZWU2NzIzNDNhMjk2ZjMxMzU3MTQ0MzU5ZDVjMmU3NjguCgkgIFN1Y2ggZXhwbGljaXQgcmVzZXQgc2hvdWxkIG5vdCBiZSBuZWVkZWQgYXMgaXQgaXMgYXJyYW5nZWQgZm9yIGJ5CgkgIHRoZSBiYXNlY2xhc3MgaW4gdW5pc29uIHdpdGggbW9uaXRvcmluZyBmb3IgYSBuZXcgZnJhbWUgYnkgc3ViY2xhc3MuCgkgIEFzIHN1Y2ggaXQgbWlnaHQgd3JvbmdmdWxseSBoaWRlIHNvbWV0aGluZyBlbHNlIGdvaW5nIG9uIC4uLgoJICBTZWUgIzY3NDA3My4KCjIwMTItMDUtMjEgMTU6MjQ6MjUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBtcGVndmlkZW9wYXJzZXI6IGZpeCBidWZmZXIgc2l6ZSBjaGVjawoJICAuLi4gdG8gbWluZCB1bnNpZ25lZCBpbnRlZ2VyIHdyYXAKCSAgQmFzZWQgb24gcGF0Y2ggYnkgQWxiYW4gQnJvd2FleXMgPHByYWhhbEB5YWhvby5jb20+CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzM0MzYKCjIwMTItMDUtMjEgMTU6MDk6MDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdGVzdHM6IG1wZWd2aWRlb3BhcnNlOiBmaXggdW5pdCB0ZXN0IHJlZ3Jlc3Npb24KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjA5NwoJICBDb25mbGljdHM6CgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd2aWRlb3BhcnNlLmMKCjIwMTItMDUtMTkgMTU6MzQ6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBkb24ndCBhY2Nlc3MgR3N0RWxlbWVudEZhY3Rvcnkgc3RydWN0dXJlIGRpcmVjdGx5CgoyMDEyLTA1LTE4IDE2OjE3OjEzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBtcGVnNDogZG8gbm90IGV4cGVjdCBhIG1hcmtlciBiaXQgd2hlcmUgbm90IHNwZWNpZmllZAoJICBGaXhlcyAjNjcyNDQ3LgoKMjAxMi0wNS0xNiAxNjoxNTo1OCArMDIwMCAgSnVsaWFuIFNjaGVlbCA8anVsaWFuQGp1c3N0LmRlPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZmx1c2ggb24gcHVzaSBvbmx5IGZvciBwYXlsb2FkIHBhY2tldHMKCSAgRGF0YSBzaG91bGQgbm90IGJlIGZsdXNoZWQgb3V0IG9mIHRoZSB0c2RlbXV4IGJlY2F1c2UgYSBwYXlsb2FkIHVuaXQgc3RhcnQKCSAgaW5kaWNhdG9yIChwdXNpKSBpcyBzZWVuIGluIGEgYWRhcHRhdGlvbiBvbmx5IHRzIHBhY2tldC4gSWYgdGhlIHBhY2thZ2UgY29udGFpbnMgbm8KCSAgcGF5bG9hZCBhIHB1c2kgZG9lcyBub3QgaW5kaWNhdGUgYSBuZXcgUEVTIHBhY2tldCwgYnV0IFBTSSBpbmZvcm1hdGlvbiwgZXRjLgoJICBUaGlzIGZpeGVzIHBsYXliYWNrIG9mIHNldmVyYWwgVFMgZmlsZXMgd2hpY2ggY29udGFpbiB0cyBwYWNrZXRzIHdpdGhvdXQKCSAgcGF5bG9hZCBidXQgd2l0aCBwdXNpIHNldCB0byAxLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2MTY4CgoyMDEyLTA1LTE4IDEwOjE1OjE1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IERvbid0IHF1ZXVlIGRhdGEgZm9yIHN0cmVhbXMgdGhhdCBkb24ndCBoYXZlIGEgcGFkCgkgIFRoaXMgd291bGQgcmVzdWx0IGluIGFuIGVycm9yIGZ1cnRoZXIgZG93biwgYW5kIGl0IGFsc28gYXZvaWRzIHByb2Nlc3NpbmcKCSAgZm9yIHRoYXQgZGF0YSB3aGljaCB3ZSB3b3VsZG4ndCBiZSB1c2luZyBhbnl3YXkuCgoyMDEyLTA1LTE4IDEwOjEzOjE5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIHRzZGVtdXg6IERldGVjdCBhbmQgaGFuZGxlIHNjcmFtYmxlZCBwYWNrZXRzCgkgIFVzZXJzICh0c2RlbXV4L21wZWd0c3BhcnNlKSBjYW4gZGVjaWRlIHdoYXQgdG8gZG8gd2l0aCB0aGF0CgoyMDEyLTA1LTE4IDEwOjA3OjU2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEVtaXQgbm8tbW9yZS1wYWRzIHdoZW4gYWxsIHBhZHMgYXJlIGFjdGl2YXRlZAoJICBGaXhlcyAjNjcwOTIxIGFnYWluCgoyMDEyLTA1LTE3IDExOjE1OjIyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVkaWVmZmVjdHNvcmMtZGlzdC5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdWRpZWZmZWN0c29yYy1kaXN0Lmg6CgkgIGdhdWRpZWZmZWN0czogYWRkIGZhbGxiYWNrIGNvZGUgZm9yIG9yYwoJICB0aGlzIGluY2x1ZGVzIGFuIGltcHJvdmVkIHZlcnNpb24gb2YgdGhlIGJ1cm4gZmlsdGVyLCB3aXRoIGEgfjQwJSBzcGVlZAoJICBpbXByb3ZlbWVudC4KCjIwMTItMDUtMTcgMTA6NDk6MTEgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVtcCB0aGUgb3JjIHZlcnNpb24gcmVxdWlyZWQgdG8gMC40LjE2CgkgIFNvbWUgb3Bjb2RlcyBoYXZlIGNoYW5nZWQgc28gdGhleSB3b3VsZCBmYWlsIHRvIGJ1aWxkIHdpdGggMC40LjE0CgoyMDEyLTA1LTE3IDA5OjQ3OjA4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJICBnYXVkaWVmZmVjdHM6IHVzZSBDTEFNUCBpbiBzb2xhcml6ZQoJICBObyBuZWVkIHRvIGhhdmUgYSBnYXRlX2ludCAoKSBmdW5jdGlvbiBkdXBsaWNhdGluZyB0aGUgYWxyZWFkeSBleGlzdGluZyBhbmQKCSAgZXN0YWJsaXNoZWQgQ0xBTVAgKCkgZnVuY3Rpb24uCgoyMDEyLTA1LTE3IDA5OjQ2OjM3ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSAgZ2F1ZGllZmZlY3RzOiB1c2UgQ0xBTVAgaW4gZXhjbHVzaW9uCgkgIE5vIG5lZWQgdG8gaGF2ZSBhIGdhdGVfaW50ICgpIGZ1bmN0aW9uIGR1cGxpY2F0aW5nIHRoZSBhbHJlYWR5IGV4aXN0aW5nIGFuZAoJICBlc3RhYmxpc2hlZCBDTEFNUCAoKSBmdW5jdGlvbi4KCjIwMTItMDUtMTcgMDk6NDU6NTIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkgIGdhdWRpZWZmZWN0czogdXNlIENMQU1QIGluIGRvZGdlCgkgIE5vIG5lZWQgdG8gaGF2ZSBhIGdhdGVfaW50ICgpIGZ1bmN0aW9uIGR1cGxpY2F0aW5nIHRoZSBhbHJlYWR5IGV4aXN0aW5nIGFuZAoJICBlc3RhYmxpc2hlZCBDTEFNUCAoKSBmdW5jdGlvbi4KCjIwMTItMDUtMTcgMDk6NDQ6MjkgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkgIGdhdWRpZWZmZWN0czogdXNlIENMQU1QIGluIGNocm9taXVtCgkgIE5vIG5lZWQgdG8gaGF2ZSBhIGdhdGVfaW50ICgpIGZ1bmN0aW9uIGR1cGxpY2F0aW5nIHRoZSBhbHJlYWR5IGV4aXN0aW5nIGFuZAoJICBlc3RhYmxpc2hlZCBDTEFNUCAoKSBmdW5jdGlvbi4KCjIwMTItMDUtMTcgMTE6NDc6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBhbHNvIGNvbnNpZGVyIG5hbF9sZW5ndGhfc2l6ZSB3aGVuIGluc2VydGluZyBjb2RlYyBkYXRhCgkgIFNlZSAjNjc2MTc0LgoKMjAxMi0wNS0xNiAyMTo1MDo0OCArMDEwMCAgSm9obiBIZWluIDxuNGtkbG14MDJAc25lYWtlbWFpbC5jb20+CgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICB5NG06IGxpbmsgYWdhaW5zdCB0aGUgcmlnaHQgbGliZ3N0dmlkZW8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjE4OQoKMjAxMi0wNS0xNiAxNzo1MDo0MyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJICBnYXVkaWVmZmVjdHM6IGV4YW1wbGUgcGlwZWxpbmVzIHdpdGggdmlkZW9jb252ZXJ0CgoyMDEyLTA1LTE2IDE3OjQ5OjEyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1ZGllZmZlY3Rzb3JjLm9yYzoKCSAgZ2F1ZGllZmZlY3RzOiBvcmMtaWZ5IGJ1cm4gZmlsdGVyCgoyMDEyLTA1LTE2IDA5OjEyOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBSZXF1aXJlIGNvcmUvYmFzZSAwLjExLjkxCgoyMDEyLTAxLTEzIDE4OjU3OjIwIC0wNTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogYWRkIHZpc3VhbCBzdHVkaW8gSURFIGZpbGVzIGFuZCBPUyBYIC5EU19TdG9yZSBmaWxlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3ODk5CgoyMDEyLTA1LTE1IDE1OjQ2OjI4ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2hscy9nc3RmcmFnbWVudC5jOgoJKiBnc3QvaGxzL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgaGxzOiB1c2UgZ3N0IGFwaSBmb3IgdGltZXN0YW1wcyBpbnN0ZWFkIG9mIHRoZSAod3JvbmcpIGFwaSBmcm9tIGEgdG9vIG5ldyBnbGliCgkgIENvbmZsaWN0czoKCSAgZ3N0L2hscy9nc3RmcmFnbWVudC5jCgoyMDEyLTA1LTE0IDExOjM4OjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogb3B0aW1pemUgb3V0cHV0IGJ5IGFnZ3JlZ2F0aW5nIHBhY2tldHMKCSAgLi4uIHJhdGhlciB0aGFuIHB1c2hpbmcgZWFjaCAoc21hbGwpIHBhY2tldCBpbiBhIHNlcGFyYXRlIGJ1ZmZlci4KCSAgbTJ0cyBtb2RlIG5vdCB5ZXQgb3B0aW1pemVkIHRob3VnaC4KCjIwMTItMDUtMTEgMTE6NDY6NTggKzAyMDAgIEFsYmVydCBBc3RyYWxzIENpZCA8YWxiZXJ0LmFzdGFscyBhdCBjYW5vbmljYWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzOiBzdXBwb3J0IGl0ZW1zIGluIGV4dGVuZGVkIGV2ZW50IGRlc2NyaXB0b3IKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MjQ3OAoKMjAxMi0wNS0xNCAwOToxNTo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5oOgoJICBjdXJsOiBmaXggY29tcGlsYXRpb24KCSAgRG9uJ3QgdXNlIGRlcHJlY2F0ZWQgdGhyZWFkIEFQSQoKMjAxMi0wNS0xMyAxNzowMDozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuOTEgPT09CgoyMDEyLTA1LTEzIDE2OjQzOjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMS45MQoKMjAxMi0wNS0xMyAxNjo0MzowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEyLTA1LTEzIDE1OjU2OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZGM3MDIwMyB0byAzNDI5YmE2CgoyMDEyLTA1LTEzIDE1OjI0OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jdXJsL2dzdGN1cmxodHRwc2luay5jOgoJICBjdXJsOiBGaXggZXF1YWxpdHkgY29tcGFyaXNvbiB3aXRoIGV4dHJhbmVvdXMgcGFyYW50aGVzZXMgY29tcGlsZXIgd2FybmluZwoJICBnc3RjdXJsaHR0cHNpbmsuYzo0MTE6Mjc6IGVycm9yOiBlcXVhbGl0eSBjb21wYXJpc29uIHdpdGggZXh0cmFuZW91cyBwYXJlbnRoZXNlcwoKMjAxMi0wNS0xMiAxMjowODo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBjaGVjazogbWFrZSBnaXQgaWdub3JlIG5ldyB1bml0IHRlc3QgYmluYXJpZXMKCjIwMTItMDQtMjUgMTk6NDY6NTMgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBleHQvY3VybC9NYWtlZmlsZS5hbToKCSogZXh0L2N1cmwvZ3N0Y3VybC5jOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsc210cHNpbmsuYzoKCSAgY3VybDogbmV3IGN1cmxzbXRwc2luayBlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTM3NDEKCjIwMTItMDEtMjMgMDk6NDU6MjQgKzAxMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvTWFrZWZpbGUuYW06CgkqIGV4dC9jdXJsL2dzdGN1cmwuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxmdHBzaW5rLmM6CgkgIGN1cmw6IG5ldyBjdXJsZnRwc2luayBlbGVtZW50CgkgIGh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1Mzc0MQoKMjAxMi0wMS0yMyAwOToyODoxMCArMDEwMCAgUGF0cmljaWEgTXVzY2FsdSA8cGF0cmljaWFAYXhpcy5jb20+CgoJKiBleHQvY3VybC9NYWtlZmlsZS5hbToKCSogZXh0L2N1cmwvZ3N0Y3VybC5jOgoJKiBleHQvY3VybC9nc3RjdXJsZmlsZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZpbGVzaW5rLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsZmlsZXNpbmsuYzoKCSAgY3VybDogbmV3IGN1cmxmaWxlc2luayBlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTM3NDEKCjIwMTItMDEtMjMgMDk6MDA6NDcgKzAxMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGV4dC9jdXJsL01ha2VmaWxlLmFtOgoJKiBleHQvY3VybC9nc3RjdXJsLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxodHRwc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsdGxzc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsdGxzc2luay5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybGh0dHBzaW5rLmM6CgkgIGN1cmw6IHJlZmFjdG9yIGN1cmxzaW5rLCByZW5hbWUgdG8gY3VybGh0dHBzaW5rCgkgIFNwbGl0IGludG8gYmFzZSwgdGxzIGFuZCBodHRwIGNsYXNzZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTM3NDEKCjIwMTItMDUtMTAgMjE6MTU6NDIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSAgZ2F1ZGllZmZlY3RzOiBjb25zaXN0ZW5jeSBpbiB0ZW1wbGF0ZXMgbmFtZQoKMjAxMi0wNS0xMCAxMDoxMToxOCAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBBZGQgYSBjb25uZWN0aW9uLXNwZWVkIHByb3BlcnR5CgkgIENvbmZsaWN0czoKCSAgZ3N0L2hscy9nc3RobHNkZW11eC5jCgoyMDEyLTA1LTEwIDEwOjEwOjE0IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvaGxzL20zdTguaDoKCSAgaGxzOiBBZGQgYSB3YXkgdG8gZ2V0IGJlc3QgcGxheWxpc3QgZm9yIGEgc3BlY2lmaWMgYml0cmF0ZSBpbiBNM1U4Q2xpZW50CgkgIE1ha2UgdXNlIG9mIGl0IGluIGhsc2RlbXV4CgoyMDEyLTA1LTA4IDEzOjI3OjE1IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogQWRkIGZhaWxvdmVyIHByb3RlY3Rpb24uCgkgIE11bHRpcGxlIHN0cmVhbXMgd2l0aCBzYW1lIGJhbmR3aWR0aCBnZXQgcmV0cmllZAoKMjAxMi0wNS0wOCAxMzowNDozNSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogQ2FsY3VsYXRlIHRoZSByZWFsIGJpdHJhdGUgYW5kIHN3aXRjaCB0byB0aGUgY29ycmVjdCB2YXJpYW50CgkgIFdlIG5vdyBjYWxjdWxhdGUgdGhlIGFjdHVhbCBiaXRyYXRlIHVzaW5nIHRoZSBkb3dubG9hZCBzcGVlZC9zaXplIGFuZAoJICB0aGVuIHN3aXRjaCBkaXJlY3RseSB0byB0aGUgdmFyaWFudCB0aGF0IG1hdGNoZXMgb3VyIGJhbmR3aWR0aCB0aGUKCSAgbW9zdC4KCSAgSXQgd2lsbCBhbHNvIGJlIGFibGUgdG8gaGFuZGxlIGFueSB1c2UgY2FzZSB3aGVyZSBzb21lIG9mIHRoZQoJICB2YXJpYW50cyBhcmUgbm90IGF2YWlsYWJsZSwgYW5kIHdvdWxkIHNraXAgdGhlbSBhbmQgZ28gdG8gdGhlIG5leHQKCSAgcG9zc2libGUgdmFyaWFudC4KCSAgQ29uZmxpY3RzOgoJICBnc3QvaGxzL2dzdGhsc2RlbXV4LmMKCjIwMTItMDUtMDggMTE6MzQ6NDcgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEbyBub3QgcmVzZXQgdGhlIHNlcXVlbmNlIG51bWJlciBpbiBhIGxpdmUgc3RyZWFtIGZvciBhIG5vcm1hbCBwbGF5bGlzdCB1cGRhdGUuCgkgIE9ubHkgZm9yIHN0cmVhbSBzd2l0Y2hpbmcKCjIwMTItMDUtMDggMTE6MzM6NTAgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IElmIHdlIHVwZGF0ZSB0aGUgcGxheWxpc3QsIG1ha2Ugc3VyZSB0aGUgc2VxdWVuY2UgbnVtYmVyIGlzIG5ldmVyIG1vcmUgdGhhbiAzIGZyYWdtZW50cyBiZWZvcmUgdGhlIGVuZAoKMjAxMi0wNS0wOCAxMToxMzoyNiAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEluIGEgbGl2ZSBzdHJlYW0sIGRvIG5vdCBzdGFydCBmcm9tIDMgZnJhZ21lbnRzIGJlZm9yZSB0aGUgZW5kLgoKMjAxMi0wNS0wOCAxMTowOToyOCAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogTm8gbmVlZCB0byBzdG9yZSBwb3NpdGlvbiBzaW5jZSBpdCdzIHRoZSBidWZmZXIncyB0aW1lc3RhbXAKCSAgVGhpcyBhbHNvIHdpbGwgZml4IHRoZSBpc3N1ZSBvZiBoYXZpbmcgdGhlIGN1cnJlbnQgcG9zaXRpb24gZGlmZmVyZW50CgkgIGZyb20gdGhlIGFjdHVhbCBwb3NpdGlvbiBvZiB0aGUgZmlyc3QgYnVmZmVyIGluIHRoZSBxdWV1ZSBpbiBjYXNlCgkgIHRoZSBjYWNoaW5nIGNhdXNlZCBhIHJlc3luYyBvZiB0aGUgc2VxdWVuY2UgbnVtYmVyLgoJICBDb25mbGljdHM6CgkgIGdzdC9obHMvZ3N0aGxzZGVtdXguYwoKMjAxMS0wOS0xNSAyMDo0Nzo1NCAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEZhbGxiYWNrIHRvIHByZXZpb3VzIHBsYXlsaXN0IHdoZW4gc3dpdGNoaW5nIGlmIHRoZSBuZXcgcGxheWxpc3QgY2FuJ3QgYmUgZmV0Y2hlZAoKMjAxMi0wNS0xMCAxMzo0NjoyNyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmg6CgkgIGdhdWRpZWZmZWN0czogY29uc2lzdGVuY3kgZml4ZXMgaW4gZ3N0Z2F1c3NibHVyCgoyMDEyLTA1LTEwIDEwOjQ3OjI3ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuaDoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IGdhdXNzaWFuYmx1ciB0byBHc3RWaWRlb0ZpbHRlcgoKMjAxMi0wNS0wOSAxNzoyMTozMCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5oOgoJICBnYXVkaWVmZmVjdHM6IHBvcnQgc29sYXJpemUgdG8gR3N0VmlkZW9GaWx0ZXIKCjIwMTItMDUtMDkgMTc6MDY6MjAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5oOgoJICBnYXVkaWVmZmVjdHM6IHBvcnQgZXhjbHVzaW9uIHRvIEdzdFZpZGVvRmlsdGVyCgoyMDEyLTA1LTA5IDE2OjU1OjE3ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmg6CgkgIGdhdWRpZWZmZWN0czogcG9ydCBkb2RnZSB0byBHc3RWaWRlb0ZpbHRlcgoKMjAxMi0wNS0wOSAxNjozMDo0MCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmg6CgkgIGdhdWRpZWZmZWN0czogcG9ydCBkaWxhdGUgdG8gR3N0VmlkZW9GaWx0ZXIKCjIwMTItMDUtMDkgMTY6MTA6MTggKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmg6CgkgIGdhdWRpZWZmZWN0czogcG9ydCBidXJuIHRvIEdzdFZpZGVvRmlsdGVyCgoyMDEyLTA1LTA5IDE1OjQ0OjAyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmg6CgkgIGdhdWRpZWZmZWN0czogcG9ydCBjaHJvbWl1bSB0byBHc3RWaWRlb0ZpbHRlcgoKMjAxMi0wNS0wOSAxNDoyODowOSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkgIGdhdWRpZWZmZWN0czogdXNlIEdTVF9ERUJVR19GVU5DUFRSIGluIGJsdXIKCjIwMTItMDUtMDkgMTM6MzU6NDYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdhdWRpZWZmZWN0czogcG9ydCB0byAwLjExCgoyMDEyLTA1LTA5IDA5OjQ5OjEwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuaDoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IGdhdXNzYmx1ciB0byAwLjExCgoyMDEyLTA1LTA4IDE4OjA5OjIwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmg6CgkgIGdhdWRpZWZmZWN0czogcG9ydCBzb2xhcml6ZSB0byAwLjExCgoyMDEyLTA1LTA4IDE4OjA5OjA5ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uaDoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IGV4Y2x1c2lvbiB0byAwLjExCgoyMDEyLTA1LTA4IDE3OjM4OjIyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmg6CgkgIGdhdWRpZWZmZWN0czogcG9ydCBkb2RnZSB0byAwLjExCgoyMDEyLTA1LTA4IDE3OjE3OjE2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuaDoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IGRpbGF0ZSB0byAwLjExCgoyMDEyLTA1LTA4IDE2OjUwOjA2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuaDoKCSAgZ2F1ZGllZmZlY3RzOiBhZGQgaGVhZGVyIHRvIGdhdXNzYmx1cgoKMjAxMi0wNS0wOCAxNjozOTowMiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5oOgoJICBnYXVkaWVmZmVjdHM6IHBvcnQgY2hyb21pdW0gdG8gMC4xMQoKMjAxMi0wNS0wOCAxNjozODo0OCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uaDoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IGJ1cm4gdG8gMC4xMQoKMjAxMi0wNS0wOCAxNDoxNzowNiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJICBjb250cm9sbGVyOiBwb3J0IHRvIG5ldyBjb250cm9sbGVyIGxvY2F0aW9uIGFuZCBhcGkKCjIwMTItMDUtMDggMTc6NTg6NTggKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IGZpeCBkZWFkbG9jayB3aGVuIHRoZSBkZXZpY2UgaXMgbG9zdAoKMjAxMi0wNS0wOCAxODoxMDozMCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogcmVtb3ZlIHRyYWlsaW5nICc7JyBmcm9tIGxvY2tzIGRlZmluZXMgdG8gbWFrZSBnc3QtaW5kZW50IGhhcHB5CgoyMDEyLTA1LTA3IDEzOjEzOjM0IC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXVlIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobXNpbms6IGZpeCBtZW1vcnkgY29ycnVwdGlvbiB3aGVuIGEgY2xpZW50IGRpc2Nvbm5lY3RzIChmaXhlcyAjNjc1NjQwKQoJICBBbHNvLCBhZGQgYSBjaGVjayB0byBtYWtlIHN1cmUgYSBjbGllbnQgaXNuJ3QgZHVtcGVkIHR3aWNlCgoyMDEyLTA1LTA3IDIzOjU3OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgIHJmYnNyYzogY2FsbCBXU0FTdGFydHVwL0NsZWFudXAgb24gd2luMzIKCSAgSWYgd2UgbGluayBhZ2FpbnN0IGxpYndpbnNvY2syLCB3ZSBzaG91bGQgcHJvYmFibHkgY2FsbAoJICBTdGFydHVwL0NsZWFudXAgYXMgd2VsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTQxNQoKMjAxMi0wNS0wMyAyMzo0MjoxMyArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtYXJjYW5kcmUubHVyZWF1QGdtYWlsLmNvbT4KCgkqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkgIHJmYnNyYzogZml4IGxpYnJmYiBsaW5raW5nIG9uIHdpbjMyCgkgIGxpYnRvb2w6IGxpbms6ICBpNjg2LXc2NC1taW5ndzMyLWdjYyAtc2hhcmVkIC5saWJzL2xpYmdzdHJmYnNyYy5kbGwuZGVmCgkgIC5saWJzL2xpYmdzdHJmYnNyY19sYS1nc3RyZmJzcmMubyAgLVdsLC0td2hvbGUtYXJjaGl2ZSAuLy5saWJzL2xpYnJmYi5hCgkgIC1XbCwtLW5vLXdob2xlLWFyY2hpdmUgIC1ML3Vzci9pNjg2LXc2NC1taW5ndzMyL3N5cy1yb290L21pbmd3L2xpYgoJICAtbGdzdGJhc2UtMC4xMCAtbGdzdHJlYW1lci0wLjEwIC1seG1sMiAtbGdvYmplY3QtMi4wIC1sZ3RocmVhZC0yLjAKCSAgLWxnbW9kdWxlLTIuMCAtbGdsaWItMi4wIC1saW50bCAgLW1tcy1iaXRmaWVsZHMgLW1tcy1iaXRmaWVsZHMgLU8yICAgLW8KCSAgLmxpYnMvbGliZ3N0cmZic3JjLmRsbCAtV2wsLS1lbmFibGUtYXV0by1pbWFnZS1iYXNlIC1YbGlua2VyCgkgIC0tb3V0LWltcGxpYiAtWGxpbmtlciAubGlicy9saWJnc3RyZmJzcmMuZGxsLmEKCSAgQ3JlYXRpbmcgbGlicmFyeSBmaWxlOiAubGlicy9saWJnc3RyZmJzcmMuZGxsLmEKCSAgLi8ubGlicy9saWJyZmIuYShsaWJyZmJfbGEtcmZiZGVjb2Rlci5vKTogSW4gZnVuY3Rpb24KCSAgYHJmYl9kZWNvZGVyX3JlYWQnOgoJICAvaG9tZS9lbG1hcmNvL3BrZy9yaGVsL21pbmd3LWdzdHJlYW1lci1wbHVnaW5zLWJhZC1mcmVlL2dzdC1wbHVnaW5zLWJhZC0wLjEwLjIzL2J1aWxkX3dpbjMyL2dzdC9saWJyZmIvLi4vLi4vLi4vZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6MTY0OgoJICB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfaW1wX19yZWN2QDE2JwoJICAuLy5saWJzL2xpYnJmYi5hKGxpYnJmYl9sYS1yZmJkZWNvZGVyLm8pOiBJbiBmdW5jdGlvbgoJICBgcmZiX2RlY29kZXJfY29ubmVjdF90Y3AnOgoJICAvaG9tZS9lbG1hcmNvL3BrZy9yaGVsL21pbmd3LWdzdHJlYW1lci1wbHVnaW5zLWJhZC1mcmVlL2dzdC1wbHVnaW5zLWJhZC0wLjEwLjIzL2J1aWxkX3dpbjMyL2dzdC9saWJyZmIvLi4vLi4vLi4vZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6MTEyOgoJICB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfaW1wX19zb2NrZXRAMTInCgkgIC9ob21lL2VsbWFyY28vcGtnL3JoZWwvbWluZ3ctZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLWZyZWUvZ3N0LXBsdWdpbnMtYmFkLTAuMTAuMjMvYnVpbGRfd2luMzIvZ3N0L2xpYnJmYi8uLi8uLi8uLi9nc3QvbGlicmZiL3JmYmRlY29kZXIuYzoxMTk6CgkgIHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9pbXBfX2h0b25zQDQnCgkgIC9ob21lL2VsbWFyY28vcGtnL3JoZWwvbWluZ3ctZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLWZyZWUvZ3N0LXBsdWdpbnMtYmFkLTAuMTAuMjMvYnVpbGRfd2luMzIvZ3N0L2xpYnJmYi8uLi8uLi8uLi9nc3QvbGlicmZiL3JmYmRlY29kZXIuYzoxMjM6CgkgIHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9pbXBfX2luZXRfYWRkckA0JwoJICAvaG9tZS9lbG1hcmNvL3BrZy9yaGVsL21pbmd3LWdzdHJlYW1lci1wbHVnaW5zLWJhZC1mcmVlL2dzdC1wbHVnaW5zLWJhZC0wLjEwLjIzL2J1aWxkX3dpbjMyL2dzdC9saWJyZmIvLi4vLi4vLi4vZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6MTI1OgoJICB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfaW1wX19jb25uZWN0QDEyJwoJICBJdCBuZWVkcyAtbHdzMl8zMiB3aGljaCBpcyBhbHJlYWR5IGluICQoV0lOU09DSzJfTElCUykKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTQxNQoKMjAxMi0wNS0wMiAwODowMzo0NiAtMDcwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkgIGRzaG93dmlkZW9zaW5rOiBhZGQgbWlzc2luZyBjYXN0cyB0byBMUENTVFIKCjIwMTItMDUtMDMgMjM6NTE6MTQgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJICBkc2hvd3ZpZGVvc2luazogbG93ZXIgcmFuayBvZiB0aGUgRGlyZWN0U2hvdyB2aWRlbyBzaW5rIHBsdWdpbgoJICBkM2R2aWRlb3Npbmsgc2hvdWxkIGhhdmUgYSBoaWdoZXIgcmFuayBhcyBpdCB3b3JrcyBiZXR0ZXIuCgoyMDEyLTA1LTAyIDA3OjU2OjAwIC0wNzAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSAgZHNob3d2aWRlb3Npbms6IEZpeCBjb21waWxhdGlvbiBvbiB4NjQgcGxhdGZvcm1zCgoyMDEyLTA1LTA1IDIwOjAxOjQ2ICswMzAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9obHMvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBGaXggcHJpbnRmIGZvcm1hdCBjb21waWxlciB3YXJuaW5ncyBvbiBtaW5ndy13NjQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTUyMAoKMjAxMi0wNS0wNSAxODoyMDozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9ydG1wL01ha2VmaWxlLmFtOgoJKiBnc3QvZGNjcC9NYWtlZmlsZS5hbToKCSogZ3N0L2Zlc3RpdmFsL01ha2VmaWxlLmFtOgoJKiBnc3QvcGNhcHBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2RwL01ha2VmaWxlLmFtOgoJICBBZGQgV0lOU09DSzJfTElCUywgcmVtb3ZlIFdJTjMyX0xJQlMsIGZpeCBydG1wIGJ1aWxkIG9uIFdpbmRvd3Mgc29tZSBtb3JlCgkgIE9uZSB3YXkgb2YgcGFzc2luZyAtbHdzMl8zMiB0byBwbHVnaW5zIHNob3VsZCBiZSBlbm91Z2guLgoKMjAxMi0wNC0xNyAxMTo0NDoxOCArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIHJ0bXA6IGxpbmsgdG8gd2luc29jayBsaWJyYXJ5IG9uIFdpbmRvd3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDI0MwoKMjAxMi0wNS0wNCAxNDowMToxMyArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogbWFyayB1bnBvcnRlZCBXaW5kb3dzIHBsdWdpbnMgYXMgc3VjaAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc1NDQwCgoyMDEyLTA1LTA0IDE3OjA5OjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGNhbWVyYWJpbjogcmVtb3ZlIHVubmVjZXNzYXJ5IGNvZGUKCjIwMTItMDUtMDQgMTc6MTA6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluOiBpbXByb3ZlIGltYWdlIGNhcHR1cmUgZGVidWcKCjIwMTItMDUtMDQgMTc6MDU6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiBhbHdheXMgZm9yY2UgaW1hZ2UtcHJvZmlsZSB0byBoYXZlIHZhcmlhYmxlIGZyYW1lcmF0ZQoJICBpbWFnZS1lbmNvZGViaW4gY2FuJ3QgdXNlIHZpZGVvcmF0ZSBhcyBpdCBhbHdheXMgc3RvcmUgb25lIGJ1ZmZlcgoJICB0byBiZSBhYmxlIHRvIGRvIGl0cyB0aW1lc3RhbXBzL2R1cmF0aW9uIG1hdGguIEFzIGltYWdlIGNhcHR1cmVzCgkgIG9ubHkgcHVzaCBvbmUgYnVmZmVyIGF0IGEgdGltZSwgdGhpcyB2aWRlb3JhdGUgYmVoYXZpb3IgYnJlYWtzCgkgIGNhbWVyYWJpbiB1c2FnZS4KCjIwMTItMDUtMDMgMTk6MTE6NTcgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgYmFzZWNhbWVyYWJpbjogRG8gbm90IHNldCB0aGUgcGFkIHRlbXBsYXRlcyBpbiB0aGUgYmFzZSBjbGFzcy4KCSAgSXQgaXMgYmVzdCB0byBsZXQgdGhlIHN1YmNsYXNzIGRlZmluZSB0aGUgcGFkIHRlbXBsYXRlcywgdGhpcyB3b3VsZAoJICBhbGxvdyB0aGUgc3ViY2xhc3MgdG8gZGVjaWRlIHdoaWNoIGNhcHMgdGhlIHBhZHMgc2hvdWxkIGhhdmUuCgoyMDEyLTA1LTAxIDE3OjU1OjAyICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW9jb250ZXh0LmM6CgkgIHZpZGVvY29udGV4dDogUmVtb3ZlIHRoZSBleHBsaWNpdCB1bnJlZmluZyBvZiBwYWQgb2JqZWN0IGdldHRpbmcgZnJvbSBpdGVyYXRvci4KCjIwMTItMDUtMDIgMTU6MzU6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogYXZvaWQgYXNzZXJ0aW9uIGJ5IHVzaW5nIG51bGwgY2FwcyBhcyBhbnkKCSAgTlVMTCBjYXBzIGFyZW4ndCB2YWxpZCBjYXBzLCB1c2UgYSByZWZlcmVuY2UgdG8gJ2FueScgY2FwcwoKMjAxMi0wNS0wMiAxNToyNDoyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IEZpeCBnZXQvc2V0X3Byb3BlcnR5IGZvciBlbmNvZGluZyBwcm9maWxlcwoJICBFbmNvZGluZyBwcm9maWxlcyBhcmUgb2JqZWN0cywgbm90IGJveGVkIHR5cGVzCgoyMDEyLTA1LTAyIDA5OjQzOjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IG51bGwgY2FwcyBhcmUgbm90IHZhbGlkIGluIDEuMAoJICBVc2UgYW55IGNhcHMgZm9yIHRoZSBwcmV2aWV3LWNhcHMgcHJvcGVydHksIGFzIE5VTEwgY2FwcyBhcmUKCSAgbm90IHZhbGlkIGNhcHMgaW4gMS4wIGFueW1vcmUKCjIwMTItMDUtMDEgMTU6Mjk6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbjItc3JjLnR4dDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IHJlbW92ZSBjdXN0b20gcmVuZWdvdGlhdGUgZXZlbnQKCSAgSW4gMS4wIHRoZXJlIGlzIGEgY29yZSByZWNvbmZpZ3VyZSBldmVudCwgY2FtZXJhYmluIGRvZXNuJ3QgbmVlZAoJICBpdHMgY3VzdG9tIHJlbmVnb3RpYXRlIGV2ZW50IGFueW1vcmUKCjIwMTItMDUtMDEgMTU6MDg6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiBVc2UgcGxhaW4gdmlkZW8gZW5jb2RpbmcgcHJvZmlsZSBmb3IgaW1hZ2VzCgkgIERvIG5vdCB1c2UganBlZyBhcyBhIGNvbnRhaW5lciBmb3JtYXQgZm9yIGltYWdlIGNhcHR1cmVzLCB1c2UKCSAgdGhlIHBsYWluIHZpZGVvIGVuY29kaW5nIGZvcm1hdC4gSXQgd2FzIHVzZWQgYXMgYSBjb250YWluZXIgaW4KCSAgMC4xMCB0byBmb3JjZSB0aGUgYWRkaXRpb24gb2YgdGFncyB0byB0aGUgaW1hZ2UuCgoyMDEyLTA1LTAxIDE0OjMxOjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IGNoYW5nZSBvdXRwdXQtc2VsZWN0b3IgbmVnb3RpYXRpb24gbW9kZQoJICBJbiAwLjEwIGNhbWVyYWJpbjIgY29udHJvbGxlZCB0aGUgbmVnb3RpYXRpb24gc3RyaWN0bHkgYW5kIHRoZSBvdXRwdXQtc2VsZWN0b3IKCSAgd291bGRuJ3QgZm9yd2FyZCBzZXRjYXBzIGNhbGxzLiBJbiAwLjExIHRoZSByZW5lZ290aWF0aW9uIGV2ZW50cyBhcmUgYWxyZWFkeSBpbgoJICBjb3JlIGFuZCB3ZSBjYW4gYWxsb3cgdGhlIHBpcGVsaW5lIHRvIGhhbmRsZSBpdCB3aXRob3V0IG11Y2ggY29udHJvbCBmcm9tIGNhbWVyYWJpbgoJICBwYXJ0IChJIGhvcGUpLCBzbyB0aGlzIHBhdGNoIG1ha2VzIG91dHB1dC1zZWxlY3RvciBmb3J3YXJkIGNhcHMgbmVnb3RpYXRpb24gZXZlbnRzCgkgIHRvIHRoZSBhY3RpdmUgcGFkLgoKMjAxMi0wNS0wMSAxNDozMToyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiByZW1vdmluZyByZW5lZ290aWF0ZSBoYW5kbGVycwoJICBnc3RyZWFtZXIgMS4wIGFscmVhZHkgaGFzIHRoZSByZWNvbmZpZ3VyZSBldmVudCwgcmVtb3ZlIHRoZQoJICBjdXN0b20gZXZlbnQgaGFuZGxpbmcgZnJvbSB3cmFwcGVyY2FtZXJhYmluc3JjCgoyMDEyLTA1LTAxIDEzOjI4OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IHByZXZlbnQgY2FwcyByZW5lZ290aWF0aW9uIGxvb3AKCSAgT25seSBzZXQgdGhlIHpvb20gY2Fwc2ZpbHRlciBjYXBzIHdoZW4gdGhlIG5ldyBjYXBzIGFyZSBkaWZmZXJlbnQsCgkgIHByZXZlbnRpbmcgYSBjYXBzIHJlbmVnb3RpYXRpb24gbG9vcC4KCjIwMTItMDUtMDEgMTM6MTU6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSAgY2FtZXJhYmluOiBleGFtcGxlOiBVcGRhdGUgcHJlcGFyZS13aW5kb3ctaGFuZGxlIG1lc3NhZ2UKCSAgTWVzc2FnZSBuYW1lIGNoYW5nZWQgZnJvbSBwcmVwYXJlLXh3aW5kb3ctaWQgdG8gcHJlcGFyZS13aW5kb3ctaGFuZGxlCgoyMDEyLTA1LTAxIDEzOjAwOjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBjYW1lcmFiaW46IGV4YW1wbGVzOiBSZW5hbWluZyBjYW1lcmFiaW4yIHRvIGNhbWVyYWJpbgoKMjAxMi0wNS0wMSAxMDoyNjoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJICBiYXNlY2FtZXJhYmluc3JjOiB1cGRhdGluZyBwcm9wZXJ0eSB0byBuZXcgbmFtZQoJICBlbmFibGUtbGFzdC1idWZmZXIgaXMgbm93IGVuYWJsZS1sYXN0LXNhbXBsZQoKMjAxMi0wNS0wMSAxMDoxODo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluOiBSZXBsYWNpbmcgZmZtcGVnY29sb3JzcGFjZSB3aXRoIHZpZGVvY29udmVydAoKMjAxMi0wNC0zMCAxMjozNjo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIHRzYmFzZTogdW5yZWYgYmFkIHBhY2tldHMgdG9vCgkgIENvbmZsaWN0czoKCSAgZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYwoKMjAxMi0wNC0zMCAxMjoyODo0MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IHJlc2V0IHRoZSBzdGF0ZSBvZiB0aGUgc3RyZWFtIHdoZW4gZmx1c2hpbmcKCSAgV2UgbmVlZCB0byByZXNldCB0aGUgc3RyZWFtIG9uIGEgZmx1c2ggb3IgZWxzZSBvbGQgcGFja2V0cyBjb3VsZCBiZSBhZGRlZCB0byB0aGUKCSAgbGlzdCBhbmQgbGVhay4KCjIwMTItMDQtMzAgMTE6MDU6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBkb24ndCBwdXNoIGV2ZW50cyB1cHN0cmVhbSBpbiBwdWxsIG1vZGUKCSAgSW4gcHVsbCBtb2RlLCBkb24ndCBwdXNoIHRoZSBzZWVrIGV2ZW50IHVwc3RyZWFtLgoKMjAxMi0wNC0yNiAyMjo0OTowNyAtMDQwMCAgV2luZCBZdWFuIDxmZW5nLnl1YW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcjogbXBlZzQgdHlwZSBlcnJvcgoKMjAxMi0wNS0wMSAwOTo0MToxOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0czogZG9uJ3QgcG9rZSBpbnRvIHByaXZhdGUgYWRhcHRlciBmaWVsZHMKCjIwMTItMDQtMzAgMTg6MDU6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIHRlc3RzOiB1cGRhdGUgY2FtZXJhYmluKDIpIHVuaXQgdGVzdCBmb3IgcmVuYW1lCgoyMDEyLTA0LTMwIDE3OjU2OjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RwbHVnaW4uYzoKCSAgY2FtZXJhYmluMjogcmVuYW1lIHRvICJjYW1lcmFiaW4iCgkgIEJ1dCBsZWF2ZSBzb3VyY2UgY29kZSBpbnRhY3QgZm9yIG5vdywgZm9yIGVhc2llciBwYXRjaCBtZXJnaW5nLgoKMjAxMi0wNC0zMCAxNzo0NDozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4yLnhtbDoKCSogZ3N0L2NhbWVyYWJpbi8uZ2l0aWdub3JlOgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL1RPRE86CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZGVidWcuaDoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuaDoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5jb2xvcmJhbGFuY2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5jb2xvcmJhbGFuY2UuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RpbnB1dHNlbGVjdG9yLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0aW5wdXRzZWxlY3Rvci5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi51aToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuaDoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEudWk6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgUmVtb3ZlIG9sZCBjYW1lcmFiaW4KCjIwMTItMDQtMjUgMTM6MzE6MzYgKzAyMDAgIEdpbCBQZWRlcnNlbiA8Z2l0QGdwb3N0LmRrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogc3RhcnQgcGF1c2VkIHRhc2sgb24gbmV3IGRhdGEKCjIwMTItMDQtMjEgMTE6MzY6MDkgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogQW5kcm9pZC5tazoKCSogZXh0L2ZhYWMvTWFrZWZpbGUuYW06CgkgIGFuZHJvaWQ6IEFkZCBzdXBwb3J0IGZvciB0aGUgZmFhYyBwbHVnaW4KCjIwMTItMDQtMTYgMTA6MDc6NTEgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBBbmRyb2lkLm1rOgoJICBSZWVuYWJsZSBmYWFkIHBsdWdpbiBmb3IgdGhlIEFuZHJvaWQgTkRLIGJ1aWxkcwoKMjAxMi0wNC0yNSAxMTo1MDoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9yc3ZnL2dzdHJzdmcuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmg6CgkgIHJzdmc6IFN0b3AgdXNpbmcgZGVwcmVjYXRlZCBBUEkgd2hlbiBjb21waWxpbmcgd2l0aCBSU1ZHIDIuMzUuMCBvciBuZXdlcgoKMjAxMi0wMy0yOSAxNTo1Nzo1OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGluazogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlCgoyMDEyLTA0LTA0IDExOjUxOjI4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSAgb3B1czogSGFuZGxlIEdzdEJ5dGVXcml0ZXIgcmV0dXJuIHZhbHVlcwoKMjAxMi0wNC0yNSAxMDoyNzowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogc25kaW8gcGx1Z2luIGlzIG5vdCBwb3J0ZWQgeWV0CgoyMDEyLTA0LTI1IDEwOjI1OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbmRpby9nc3RzbmRpby5jOgoJICBzbmRpbzogRml4IGkxOG4gaW5pdGlhbGl6YXRpb24KCjIwMTItMDQtMTEgMjE6MDU6MjYgLTA0MDAgIEphY29iIE1ldXNlciA8amFrZW1zckBzZGYubG9uZXN0YXIub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9zbmRpby9NYWtlZmlsZS5hbToKCSogZXh0L3NuZGlvL2dzdHNuZGlvLmM6CgkqIGV4dC9zbmRpby9zbmRpb3NpbmsuYzoKCSogZXh0L3NuZGlvL3NuZGlvc2luay5oOgoJKiBleHQvc25kaW8vc25kaW9zcmMuYzoKCSogZXh0L3NuZGlvL3NuZGlvc3JjLmg6CgkgIHNuZGlvOiBhZGQgc25kaW8gcGx1Z2luIGZvciBPcGVuQlNECgoyMDEyLTA0LTI0IDE3OjAwOjU3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5oOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5oOgoJICBjb2xvcmVmZmVjdHM6IHBvcnQgdG8gMC4xMQoKMjAxMi0wNC0yNCAxNToyMDoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkgIGR2Yi1zdWI6IFVzZSB1bmNoZWNrZWQgYnl0ZSByZWFkZXIgZnVuY3Rpb25zCgoyMDEyLTA0LTI0IDE0OjU3OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgIG1tczogVXNlIGNvcnJlY3QgZW51bSB0eXBlCgoyMDEyLTA0LTI0IDExOjAyOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkgIHZkcGF1OiBTd2l0Y2ggZnJvbSBkZXByZWNhdGVkIFhLZXljb2RlVG9LZXlzeW0oKSB0byBYa2JLZXljb2RlVG9LZXlzeW0oKQoJICBDb25mbGljdHM6CgkgIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmMKCjIwMTItMDQtMjMgMTc6MTE6MzggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiB1c2Ugc29tZSBtb3JlIGJvaWxlcnBsYXRlCgoyMDEyLTA0LTIzIDE2OjU1OjE4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguaDoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5oOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5Lmg6CgkgIGFzZm11eDogcG9ydCB0byAwLjExCgoyMDEyLTA0LTEyIDE0OjE3OjE0ICswMjAwICBHaWwgUGVkZXJzZW4gPGdpdEBncG9zdC5kaz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnQuYzoKCSogZ3N0L2hscy9nc3RmcmFnbWVudC5oOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSogZ3N0L2hscy9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIGhsc2RlbXV4OiBwb3J0IHRvIDAuMTEKCjIwMTItMDQtMjAgMTU6MDU6MzYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IHBhc3MgdGhlIHJlYXNvbiBmb3IgZmFpbGVkIHJlYWQgYXMgR3N0Rmxvd1JldHVybgoJICBNYWtlIHRoZSBfcmVhZF9kZXZpY2UgZnVuY3Rpb24gcmV0dXJuIGEgR3N0Rmxvd1JldHVybiBzbyB0aGF0IHdlIGNhbiBwcm9wYWdhdGUKCSAgdGhpcyB0byB0aGUgY2FsbGVyLiBUaGlzIGFsbG93cyB1cyB0byBkaWZmZXJlbnRpYXRlIGJldHdlZW4gcG9sbCBlcnJvcnMgYW5kCgkgIGZsdXNoaW5nIHN0YXRlLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0MjE5CgoyMDEyLTA0LTE3IDExOjQ0OjAwICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICBGaXggZm9ybWF0ICh0eXBlIGlzIGV4cGxpY2l0bHkgdW5zaWduZWQgbG9uZykKCSAgRml4ZXMgIzY3NDI0NAoKMjAxMi0wNC0yMCAxMjowOTowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9uYXMvbmFzc2luay5jOgoJICBuYXM6IFJld29yayBuYXNzaW5rIGEgbGl0dGxlCgkgIEJhc2VkIG9uIHBhdGNoIGZyb20gPG9sZS5oZWxscXZpc3QgYXQgc3ByYXkuc2U+CgkgIENyZWF0ZSBhbmQgZGVzdHJveSBmbG93IGluIHByZXBhcmUvdW5wcmVwYXJlCgkgIFJlbW92ZSBzb21lIGR1cGxpY2F0ZSBjb2RlIGZyb20gY2xvc2UgYW5kIHByZXBhcmUgdGhhdCBpcyBub3cgaW4gdW5wcmVwYXJlLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0MTMwCgoyMDEyLTA0LTE4IDEyOjAyOjUyICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWNvbnZlcnRlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZW1ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VtZXRhLmg6CgkgIERvYyBmaXhlcyAoZ3N0c3VyZmFjZWNvbnZlcnRlciwgZ3N0c3VyZmFjZW1ldGEpLgoKMjAxMi0wNC0yMCAxMToyMzo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSAgbXBlZ3RzZGVtdXg6IHdlIGlnbm9yZSB3YXJuaW5ncyBkaWZmZXJlbnRseQoJICBXZSBzdXBwcmVzcyB0aGUgd2FybmluZ3MgaW4gdGhlIC5jIGZpbGUgaW5zdGVhZC4KCjIwMTItMDQtMTkgMTQ6MjA6NTIgKzAyMDAgIEdpbCBQZWRlcnNlbiA8Z2l0QGdwb3N0LmRrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogcG9ydCB0byAwLjExCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQzOTcKCjIwMTItMDQtMjAgMTA6NTA6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJICBtcGVndHNiYXNlOiBjbGFyaWZ5IGV2ZW50IG93bmVyc2hpcAoKMjAxMi0wNC0xOSAxMzo1OTozNyArMDIwMCAgR2lsIFBlZGVyc2VuIDxnaXRAZ3Bvc3QuZGs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBtZW1vcnkgbGVha3MKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDM5MwoKMjAxMi0wNC0yMCAxMToxMjo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmllbGRhbmFseXNpcy9NYWtlZmlsZS5hbToKCSAgZmllbGRhbmFseXNpczogRG9lcyBub3QgbmVlZCB0byBsaW5rIHRvIGxpYmdzdGJhc2V2aWRlbyBhdCBhbGwKCSAgQ29uZmxpY3RzOgoJICBnc3QvZmllbGRhbmFseXNpcy9NYWtlZmlsZS5hbQoKMjAxMi0wNC0xOSAxNDoyNDo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZyYnVmZmVycG9vbC5jOgoJICBmaXggZm9yIHZpZGVvIGFwaSB1cGRhdGUKCjIwMTItMDQtMTkgMTI6Mjk6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJidWZmZXJwb29sLmM6CgkgIHZpZGVvOiBVcGRhdGUgZm9yIGxpYmdzdHZpZGVvIEFQSSBjaGFuZ2VzCgoyMDEyLTA0LTE3IDIyOjQ2OjEyIC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogRG8gbm90IHNldCB0aGUgZHVyYXRpb24gdG8gdGhlIGlucHV0IGJ1ZmZlcidzIGR1cmF0aW9uIHVubGVzcyB2YWxpZCBUaGlzIGNhdXNlcyBhIGJ1ZyB3aGVyZSB0aGUgZmlyc3QgYnVmZmVyIGhhcyB0cyA9IDAsIGR1cj1YLCB0aGUgc2Vjb25kIGJ1ZmZlciBoYXMgdHM9WCAoYmVjYXVzZSBvZiB0cyArPSBkdXJhdGlvbiksIGR1cj0tMSwgdGhlbiB0aGUgZm9sbG93aW5nIGJ1ZmZlcnMgd2lsbCBzdGFydCBoYXZpbmcgYSBub24gdmFsaWQgdGltZXN0YW1wLiBUaGUgcmVhbCBkdXJhdGlvbiBpcyBvbmx5IGNhbGN1bGF0ZWQgZHVyaW5nIHRoZSBjYXBzIG5lZ29jaWF0aW9uIHdoZW4gdGhlcmUgaXMgYSBmcmFtZXJhdGUgYXZhaWxhYmxlIGFuZCB0aGUgYnVmZmVyJ3MgZHVyYXRpb24gaXMgaW52YWxpZC4KCjIwMTItMDQtMTcgMTU6NDQ6MDcgKzAyMDAgIEp1bGlhbiBTY2hlZWwgPGp1bGlhbkBqdXNzdC5kZT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFNldCBjdXJyZW50bGlzdCB0byBOVUxMIGFmdGVyIGZyZWUuCgkgIFRoaXMgcHJldmVudHMgZG91YmxlIGZyZWUgb2YgY3VycmVudGxpc3QgaXMgc29tZSBjaXJjdW1zdGFuY2VzLgoKMjAxMi0wNC0xNyAxODo1Njo1MCAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IEZpeCBkdXJhdGlvbiBpbiBidWZmZXJzLiBJdCdzIGZyYW1lcyBwZXIgc2Vjb25kLCBub3Qgc2Vjb25kcyBwZXIgZnJhbWUKCjIwMTItMDQtMTcgMTU6MjI6NTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguaDoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5oOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuaDoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguaDoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L214Zi9teGZtdXguaDoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmg6CgkqIHN5cy93aW5rcy9rc2hlbHBlcnMuYzoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkgIGNvbGxlY3RwYWRzMjogcmVuYW1lIHRvIGNvbGxlY3RwYWRzCgoyMDEyLTA0LTE2IDExOjAwOjQ0ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkgIGFwcGxlbWVkaWE6IGRvIG5vdCBsaW5rIGdzdGludGVyZmFjZXMKCjIwMTItMDQtMTYgMDk6MDk6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2ZGIyNWJlIHRvIGRjNzAyMDMKCjIwMTItMDQtMTMgMDA6MTM6MzkgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGZpeCBwYWQgaXRlcmF0b3IgbGVhawoKMjAxMi0wNC0xMyAwMDoxNDoyNyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGRvbid0IGxlYWsgZm9yY2Uga2V5IHVuaXQgZXZlbnRzCgoyMDEyLTA0LTE0IDIxOjA5OjI1ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IERvIG5vdCBpZ25vcmUgc3RhcnQgY29kZSBhdCB0aGUgZW5kIG9mIGJ1ZmZlcgoKMjAxMi0wNC0xNCAyMTowMjowNiArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IFBhcnNlciBmYWlscyB0byBzcGxpdCBzb21lIGZyYW1lcwoKMjAxMi0wNC0xNCAyMDo1Mzo0NyArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IEZpeCBGUFMgYW5kIGZyYW1lIGR1cmF0aW9uIGZvciB0ZWxlY2luZSBmaWxlcwoKMjAxMi0wNC0xNCAyMDo0NjoyNCArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IERvIG5vdCB1cGRhdGUgY29kZWMtZGF0YSB3aGVuIG9ubHkgcXVhbnRpc2VyIG1hdHJpeCBjaGFuZ2VzCgoyMDEyLTA0LTE0IDE1OjI5OjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogZG9uJ3QgbGluayBhZ2FpbnN0IGxpYmdzdGludGVyZmFjZXMgd2hpY2ggd2FzIHJlbW92ZWQKCSAgVGhlIEdzdE5hdmlnYXRpb24gaW50ZXJmYWNlIGlzIG5vdyBpbiBsaWJnc3R2aWRlby4KCjIwMTItMDQtMTMgMjI6MDQ6MzggKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIGZpeCBjcmFzaAoJICBsYXN0X3NjIGlzIG5vdCByZXNldCBldmVyeSB0aW1lIGEgZnJhbWUgaXMgYmVpbmcgb3V0cHV0LCB3aGljaCBjYW4gY2F1c2UKCSAgbGFzdF9zYyA+IGJ1Zl9zaXplIGluIHN1YnNlcXVlbnQgZnJhbWUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQwNzMKCjIwMTItMDQtMTMgMTU6MTI6MTIgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBTZXQgc3luY19wb2luciA9IDEgZm9yIGtleWZyYW1lCgoyMDEyLTA0LTEzIDE0OjA3OjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IHVzZSAxLjAgdmlkZW9maWx0ZXIgYmFzZWNsYXNzIGZ1bmN0aW9ucwoJICBQb3J0IHRvIHRoZSBuZXcgZnVuY3Rpb25zIG9mIHRoZSB2aWRlb2ZpbHRlciBjbGFzcwoKMjAxMi0wNC0xMyAxMDoxNjozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGJ1bGdlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZGlmZnVzZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGZpc2hleWUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtYXJibGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtaXJyb3IuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHJvdGF0ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNwaGVyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHN0cmV0Y2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0dW5uZWwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHdhdGVycmlwcGxlLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogcG9ydCB0byAxLjAKCSAgU3RyYWlnaHRmb3J3YXJkIHBvcnQgb2YgZ2VvbWV0cmljdHJhbnNmb3JtIHBsdWdpbgoKMjAxMi0wNC0xMyAxMzo0NDo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogTW9kZXJuaXplIGF1dG90b29scyBzZXR1cCBhIGJpdAoJICBBbHNvIHdlIG5vdyBvbmx5IGNyZWF0ZSB0YXIuYnoyIGFuZCB0YXIueHogdGFyYmFsbHMuCgoyMDEyLTA0LTEzIDEzOjM3OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNDY0ZmUxNSB0byA2ZGIyNWJlCgoyMDEyLTA0LTEzIDEzOjEwOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBVcGRhdGUgZm9yIHRoZSByZW1vdmFsIG9mIHRoZSBpbnRlcmZhY2VzIGxpYnJhcnkgYW5kIHRoZSB0dW5lci9taXhlciBpbnRlcmZhY2VzCgoyMDEyLTA0LTEyIDE4OjI1OjA5IC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogQW5kcm9pZC5tazoKCSAgU3luYyBBbmRyb2lkLm1rIGVudHJpZXMgdG8gdGhlIG5ldyBtYWpvciB2ZXJzaW9uCgkgIENoYW5nZSBuYW1pbmcgb24gdGhlIHBrZ2NvbmZpZyBmaWxlcyB0byByZWZsZWN0CgkgIHRoZSAwLjEwIC0+IDEuMCBidW1wLgoKMjAxMi0wNC0xMiAxMToxOToyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuOTAgPT09CgoyMDEyLTA0LTEyIDEwOjUwOjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbjIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy1kaXN0LmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjExLjkwCgoyMDEyLTA0LTEyIDEwOjQ3OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTItMDQtMTEgMjE6NDc6NTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmRzaW5rLmM6CgkgIHRlc3RzOiByZW1vdmUgb2Jzb2xldGUgbXVsdGlmZHNpbmsgdGVzdAoJICAuLi4gd2hpY2ggaXMgaW4gLWJhc2Ugbm93YWRheXMuCgoyMDEyLTA0LTEwIDE3OjM1OjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3gyNjRlbmMuYzoKCSAgdGVzdHM6IHJlbW92ZSBvYnNvbGV0ZSB4MjY0ZW5jIHVuaXQgdGVzdAoJICAuLi4gd2hpY2ggaXMgaW4gLXVnbHkgbm93YWRheXMuCgoyMDEyLTA0LTEwIDE3OjI0OjA1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wbGV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29wdXMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9hYWNlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9hbXJ3YmVuYy5jOgoJICB0ZXN0czogcG9ydCBzb21lIG1vcmUgdG8gMS4wCgoyMDEyLTA0LTEwIDE3OjIyOjU3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogcGx1ZyBjYXBzIGxlYWsKCjIwMTItMDQtMTAgMTc6MjI6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiB0d2VhayBjYXBzIG5lZ290aWF0aW9uCgkgIC4uLiBzbyBhcyB0byBhdm9pZCBsZWFraW5nIGNhcHMgb3IgbWFuaXB1bGF0aW5nIE5VTEwgY2Fwcy4KCjIwMTItMDQtMTAgMTc6MjI6MDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJICBtcGxleDogYXZvaWQgbGVha2luZyBwYWQgdGVtcGxhdGUgY2FwcyBhbmQgc3VwZXJmbHVvdXMgY29weQoKMjAxMi0wNC0xMCAxNzoyMToyOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkgIG1wbGV4OiBmaXggcGFkIHJlbGVhc2UgYW5kIGNsZWFudXAKCjIwMTItMDQtMDYgMTQ6NTI6MTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luLzAuMTAnCgkgIENvbmZsaWN0czoKCSAgZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYwoJICBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jCgoyMDEyLTA0LTA2IDE0OjI3OjA2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogdHdlYWsgZGVmYXVsdCBzZXR0aW5nIG9mIGZvcm1hdCBhbmQgYWxpZ25tZW50IGluIGNvZGVjX2RhdGEgY2FzZQoJICAuLi4gd2hpY2ggc2hvdWxkIHByb21vdGUgZW5kaW5nIHVwIGluIHBhc3N0aHJvdWdoIG1vZGUuCgoyMDEyLTA0LTA2IDE0OjIzOjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZG8gbm90IHVzZSBfdW5jaGVja2VkIGJ5dGV3cml0ZXIgdmFyaWFudHMgdG8gaW5zZXJ0IGNvbmZpZwoJICAuLiBzaW5jZSB0aGUgYnl0ZXdyaXRlciBpcyBleHBsaWNpdGx5IGNyZWF0ZWQgd2l0aCBub24tZml4ZWQgc2l6ZSB0bwoJICBhbGxvdyAodmVyeSBtdWNoIHNvIGV4cGVjdGVkKSBncm93dGguCgkgIFBhcnRpYWxseSByZXZlcnRzIGNvbW1pdCAyMDY2OWQ0NjFhNDk1M2ViNWVkMDEzNzRkNWFiNjI4YjRkYzczYjY0IHdoaWxlCgkgIHRyeWluZyB0byBrZWVwIChzb21lPykgY29tcGlsZXJzIGhhcHB5LgoJICBJSVJDLCB0aGUgcHVycG9zZSBvZiBHc3RCeXRlV3JpdGVyIGluIHRoZSBmaXJzdCBwbGFjZSB3YXMgKGF0IGxlYXN0KQoJICBiZWluZyBhYmxlIHRvIGR1bXAgZGF0YSB3aXRob3V0IGhhdmluZyB0byBmdXNzIHdpdGggbWVtb3J5IGV4cGFuc2lvbgoJICBhbmQgc2l6ZSBpc3N1ZXMgLi4uCgkgIEZpeGVzICM2NzM0ODUuCgoyMDEyLTA0LTA1IDE3OjE1OjExIC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vMC4xMCcKCjIwMTItMDQtMDUgMTg6NDM6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3ZmRhNTI0IHRvIDQ2NGZlMTUKCjIwMTItMDQtMDUgMTg6MDI6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhwbHVnaW4uYzoKCSogZXh0L2FydHMvZ3N0X2FydHMuYzoKCSogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmLmM6CgkqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSogZXh0L2J6Mi9nc3RiejIuYzoKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJKiBleHQvY2VsdC9nc3RjZWx0LmM6CgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5jOgoJKiBleHQvY29nL2dzdGNvZy5jOgoJKiBleHQvY3VybC9nc3RjdXJsLmM6CgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkqIGV4dC9kaXJhYy9nc3RkaXJhYy5jYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6CgkqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZS5jOgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvZ3NldHRpbmdzL3BsdWdpbi5jOgoJKiBleHQvZ3NtL2dzdGdzbS5jOgoJKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSogZXh0L2pwMmsvZ3N0anAyay5jOgoJKiBleHQva2F0ZS9nc3RrYXRlLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOgoJKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1pYy5jOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6CgkqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSogZXh0L25hcy9uYXNzaW5rLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9vZmEvZ3N0b2ZhLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIGV4dC9vcHVzL2dzdG9wdXMuYzoKCSogZXh0L3Jlc2luZHZkL3BsdWdpbi5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXAuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyby5jOgoJKiBleHQvc2RsL2dzdHNkbC5jOgoJKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmLmM6CgkqIGV4dC9zb3VuZHRvdWNoL3BsdWdpbi5jOgoJKiBleHQvc3BhbmRzcC9nc3RzcGFuZHNwLmM6CgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkqIGV4dC90ZWxldGV4dGRlYy90ZWxldGV4dC5jOgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhYy5jOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiLmM6CgkqIGV4dC92cDgvcGx1Z2luLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC94dmlkL2dzdHh2aWQuYzoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkqIGdzdC9haWZmL2FpZmYuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2YuYzoKCSogZ3N0L2F1ZGlvYnVmZmVyL2dzdGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9wbHVnaW4uYzoKCSogZ3N0L2F1dG9jb252ZXJ0L3BsdWdpbi5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0cGx1Z2luLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdHBsdWdpbi5jOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BwbHVnaW4uYzoKCSogZ3N0L2RlYnVndXRpbHMvZGVidWd1dGlsc2JhZC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkqIGdzdC9mcmVldmVyYi9nc3RmcmVldmVyYi5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0cGx1Z2luLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5jOgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50ZWRwbHVnaW4uYzoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguYzoKCSogZ3N0L2ludGVyL2dzdGludGVyLmM6CgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJKiBnc3QvanAya2RlY2ltYXRvci9nc3RqcDJrZGVjaW1hdG9yLmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdmb3JtYXQuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2dzdGxlZ2FjeXJlc2FtcGxlLmM6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdW1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0dHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXZlL2dzdG12ZS5jOgoJKiBnc3QvbXhmL214Zi5jOgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJKiBnc3QvcGF0Y2hkZXRlY3QvZ3N0cGF0Y2hkZXRlY3QuYzoKCSogZ3N0L3BjYXBwYXJzZS9wbHVnaW4uYzoKCSogZ3N0L3BubS9nc3Rwbm0uYzoKCSogZ3N0L3Jhd3BhcnNlL3BsdWdpbi5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsLmM6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL2dzdHJlbW92ZXNpbGVuY2UuYzoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWcuYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXhlci5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOC5jOgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvcGx1Z2luLmM6CgkqIGdzdC9zZGkvZ3N0c2RpLmM6CgkqIGdzdC9zZHAvZ3N0c2RwZWxlbS5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvcGx1Z2luLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbi5jOgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSogZ3N0L3N1YmVuYy9nc3RzdWJlbmMuYzoKCSogZ3N0L3R0YS9nc3R0dGEuYzoKCSogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2ZpbHRlcnNiYWQuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmUuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9wbHVnaW4uYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvc2lnbmFsLmM6CgkqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSogc3lzL2FjbWVuYy9hY21lbmMuYzoKCSogc3lzL2FjbW1wM2RlYy9hY21tcDNkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkqIHN5cy9hdmMvZ3N0YXZjcGx1Z2luLmNwcDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dkZWN3cmFwcGVyLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3NyY3dyYXBwZXIuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZHZiL2dzdGR2Yi5jOgoJKiBzeXMvZHhyMy9keHIzaW5pdC5jOgoJKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3BsdWdpbi5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZyLmM6CgkqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSogc3lzL3F0d3JhcHBlci9xdHdyYXBwZXIuYzoKCSogc3lzL3NobS9nc3RzaG0uYzoKCSogc3lzL3ZjZC92Y2RzcmMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1LmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpLmM6CgkqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3R3aW5zY3JlZW5jYXAuYzoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkqIHRvb2xzL2dzdC1wcm9qZWN0LW1ha2VyOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIGdzdDogVXBkYXRlIGZvciBHU1RfUExVR0lOX0RFRklORSgpIEFQSSBjaGFuZ2VzCgoyMDEyLTA0LTA1IDExOjUxOjQwIC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaGxzL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgaGxzOiBTb21lIG1vcmUgZGVidWdnaW5nCgoyMDEyLTAzLTE1IDE0OjQyOjQ0IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IFJlcGxhY2UgdGhlIGZldGNoZXIgY29kZSB3aXRoIGEgR3N0VVJJRG93bmxvYWRlciBvYmplY3QKCjIwMTItMDMtMTQgMTc6MDE6MTcgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9obHMvZ3N0dXJpZG93bmxvYWRlci5jOgoJICBobHM6IE1pbm9yIGNsZWFudXAgaW4gR3N0VXJpRG93bmxvYWRlcgoKMjAxMi0wMy0xNCAxNzowNjoyMiAtMDQwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkqIGdzdC9obHMvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBnc3QvaGxzL2dzdHVyaWRvd25sb2FkZXIuaDoKCSAgaGxzZGVtdXg6IEZhY3RvciBvdXQgYWxsIHRoZSBmZXRjaGVyIGNvZGUgaW4gYSBHc3RVUklEb3dubG9hZGVyIGNsYXNzCgkgIFRoaXMgY2xhc3MgaXMgbWVhbnQgdG8gYmUgcmV1c2FibGUgYnkgb3RoZXIgY29tcG9uZW50cwoKMjAxMi0wNC0wNSAxMDoyMjoyOSAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2hscy9nc3RmcmFnbWVudC5jOgoJICBobHM6IERvIG5vdCBhZGQgcmVmZXJlbmNlIHRvIGJ1ZmZlcnMgcGFzc2VkIGluIEdzdEZyYWdtZW50CgkgIFdlIGp1c3Qgc3RlYWwgdGhlIHJlZmVyZW5jZSB0byB0aGUgYnVmZmVyLCB3aGljaCBtZWFucyB3ZSBjYW4ga2VlcCB3cml0aW5nIG1ldGFkYXRhcwoJICBvbiB0aGUgYnVmZmVycy4KCjIwMTItMDMtMTMgMTU6MTg6MjIgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnQuYzoKCSAgaGxzOiBNaW5vciBHc3RGcmFnbWVudCBjbGVhbnVwCgoyMDExLTA3LTA4IDAxOjA5OjAwICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSogZ3N0L2hscy9nc3RmcmFnbWVudC5jOgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50Lmg6CgkgIGhsczogQWRkIGEgR3N0RnJhZ21lbnQgY2xhc3MgdGhhdCByZXByZXNlbnRzIGEgZnJhZ21lbnQgaW4gYSBtM3UgcGxheWxpc3QKCjIwMTItMDMtMTUgMTg6MjE6NTggLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHM6IE1ha2UgdGhlIHVwZGF0ZXMgdGhyZWFkIGEgR3N0VGFzawoKMjAxMi0wNC0wNSAxMzoyODowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXBkYXRlIHZlcnNpb24gdG8gMC4xMS44OS4xCgoyMDEyLTA0LTA1IDA5OjE2OjI3ICswMTAwICB1cmFldXMgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZQoKMjAxMi0wNC0wNSAwNjoxODoyOCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBzZXQgY29ycmVjdCBuZXdzZWdtZW50IGZpZWxkcyBvbiBfVElNRSBzZWVrcwoJICBGb3J3YXJkIHRoZSBzZWVrIHJhdGUgYW5kIHNldCBOUy5zdGFydCB0byB0aGUgc2VlayB0YXJnZXQgc28gdGhhdCBkZWNvZGVycyBjYW4KCSAgYXBwbHkgY2xpcHBpbmcgd2hlcmUgbmVjZXNzYXJ5LgoKMjAxMi0wNC0wNSAwODo1NDoyOCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmg6CgkgIGFwcGxlbWVkaWE6IHVwZGF0ZSBjb3JldmlkZW9idWZmZXIgYWZ0ZXIgYnVmZmVyIG1ldGEgQVBJIGNoYW5nZQoKMjAxMi0wNC0wNSAwODo1Mzo0MSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmg6CgkgIGFwcGxlbWVkaWE6IHVwZGF0ZSBjb3JlbWVkaWFidWZmZXIgYWZ0ZXIgYnVmZmVyIG1ldGEgQVBJIGNoYW5nZQoKMjAxMi0wNC0wNSAwODo1Mjo0OSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkgIHF0a2l0dmlkZW9zcmM6IHVwZGF0ZSBhZnRlciBCYXNlU3JjOjpmaXhhdGUgQVBJIGNoYW5nZQoKMjAxMi0wNC0wNSAwODoyNDozMSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSAgcmF3cGFyc2U6IGZpeCBjb21waWxlIHdhcm5pbmcKCjIwMTItMDQtMDUgMDY6MTg6MjggKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogc2V0IGNvcnJlY3QgbmV3c2VnbWVudCBmaWVsZHMgb24gX1RJTUUgc2Vla3MKCSAgRm9yd2FyZCB0aGUgc2VlayByYXRlIGFuZCBzZXQgTlMuc3RhcnQgdG8gdGhlIHNlZWsgdGFyZ2V0IHNvIHRoYXQgZGVjb2RlcnMgY2FuCgkgIGFwcGx5IGNsaXBwaW5nIHdoZXJlIG5lY2Vzc2FyeS4KCjIwMTItMDQtMDQgMTQ6NDE6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvbGlicy9jb21waWxpbmcuc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3ZlcnNpb24uZW50aXRpZXMuaW46CgkqIGV4dC9hcGV4c2luay9NYWtlZmlsZS5hbToKCSogZXh0L2Fzc3JlbmRlci9NYWtlZmlsZS5hbToKCSogZXh0L2NlbHQvTWFrZWZpbGUuYW06CgkqIGV4dC9jaHJvbWFwcmludC9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkqIGV4dC9kdHMvTWFrZWZpbGUuYW06CgkqIGV4dC9mYWFjL01ha2VmaWxlLmFtOgoJKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSogZXh0L2ZsaXRlL01ha2VmaWxlLmFtOgoJKiBleHQvZ3NldHRpbmdzL01ha2VmaWxlLmFtOgoJKiBleHQvZ3NldHRpbmdzL29yZy5mcmVlZGVza3RvcC5nc3RyZWFtZXIuZGVmYXVsdC1lbGVtZW50cy5nc2NoZW1hLnhtbC5pbjoKCSogZXh0L2dzbS9NYWtlZmlsZS5hbToKCSogZXh0L2pwMmsvTWFrZWZpbGUuYW06CgkqIGV4dC9rYXRlL01ha2VmaWxlLmFtOgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJKiBleHQvbHYyL01ha2VmaWxlLmFtOgoJKiBleHQvbXBlZzJlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC9tcGxleC9NYWtlZmlsZS5hbToKCSogZXh0L211c2ljYnJhaW56L01ha2VmaWxlLmFtOgoJKiBleHQvbmFzL01ha2VmaWxlLmFtOgoJKiBleHQvb2ZhL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmFsL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJKiBleHQvcnN2Zy9NYWtlZmlsZS5hbToKCSogZXh0L3NjaHJvZWRpbmdlci9NYWtlZmlsZS5hbToKCSogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkqIGV4dC92b2FhY2VuYy9NYWtlZmlsZS5hbToKCSogZXh0L3ZvYW1yd2JlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBleHQvemJhci9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvYWRwY21kZWMvTWFrZWZpbGUuYW06CgkqIGdzdC9hZHBjbWVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L2FpZmYvTWFrZWZpbGUuYW06CgkqIGdzdC9hc2ZtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2J1ZmZlci9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jZHhhcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9jb2xvcmVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkqIGdzdC9mYWNlb3ZlcmxheS9NYWtlZmlsZS5hbToKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVpMHIvTWFrZWZpbGUuYW06CgkqIGdzdC9nYXVkaWVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9pZDN0YWcvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVybGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2pwZWdmb3JtYXQvTWFrZWZpbGUuYW06CgkqIGdzdC9saXZlYWRkZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSogZ3N0L3BhdGNoZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBnc3QvcG5tL01ha2VmaWxlLmFtOgoJKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwdnA4L01ha2VmaWxlLmFtOgoJKiBnc3Qvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSogZ3N0L3NlZ21lbnRjbGlwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2lyZW4vTWFrZWZpbGUuYW06CgkqIGdzdC9zbW9vdGgvTWFrZWZpbGUuYW06CgkqIGdzdC9zdGVyZW8vTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21lYXN1cmUvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhc2V2aWRlby11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYXNldmlkZW8ucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItY29kZWNwYXJzZXJzLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWNvZGVjcGFyc2Vycy5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWJhZC11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWJhZC5wYy5pbjoKCSogc3lzL2FjbWVuYy9NYWtlZmlsZS5hbToKCSogc3lzL2FjbW1wM2RlYy9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hdmMvTWFrZWZpbGUuYW06CgkqIHN5cy9kM2R2aWRlb3NpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9NYWtlZmlsZS5hbToKCSogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJKiBzeXMvcHZyMmQvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHAvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dzdHBsYXkvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgZ3N0OiBVcGRhdGUgdmVyc2lvbmluZwoKMjAxMi0wNC0wNCAxMjowNjowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vMC4xMCcKCjIwMTItMDQtMDQgMDc6MjQ6MjggKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogcmVzZXQgaXRlcmF0b3IgdG8gTlVMTCBhZnRlciBpdCdzIGZyZWUKCSAgRml4ZXMgcG9zc2libGUgaW52YWxpZCBtZW1vcnkgYWNjZXNzIGluIGdzdF90c19kZW11eF9zdHJlYW1fZmx1c2gKCjIwMTItMDQtMDIgMTU6MzE6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luLzAuMTAnCgkgIENvbmZsaWN0czoKCSAgZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYwoKMjAxMi0wNC0wMiAxNToyNjoyOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBDbGVhciBidWZmZXJsaXN0L2l0ZXJhdG9yIHdoZW4gcmVtb3Zpbmcgc3RyZWFtcwoKMjAxMi0wNC0wMiAxNToyNTo0NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBEb24ndCBsZWFrIGJ1ZmZlciBpbiBmYXN0IHZhcmlhbnQKCjIwMTItMDQtMDIgMTU6MjU6MTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogRG9uJ3QgbGVhayBjb3JydXB0IHNlY3Rpb24gcGFja2V0IGJ1ZmZlcgoKMjAxMi0wNC0wMiAxMToxMzoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSAgdXNlIHRyYW5zZm9ybV9pcF9vbl9wYXNzdGhyb3VnaAoKMjAxMi0wNC0wMiAxMTowNzoxOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogZml4IGNvbXBpbGF0aW9uCgoyMDEyLTAzLTMwIDE5OjE5OjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEZpeCBzZXZlcmFsIGxlYWtzCgkgICogZG9udCcgbGVhayBidWZmZXJzIHdoZW4gYSBzdHJlYW0gaXMgaW4gZGlzY29udCBzdGF0ZQoJICAqIGRvbid0IGxlYWsgYnVmZmVycyB3aGVuIGEgcHJvZ3JhbSBpcyByZW1vdmVkL2RlYWN0aXZhdGVkCgkgICogcmVtb3ZlIGFsbCBwcm9ncmFtcyB3aGVuIGRpc3Bvc2luZwoKMjAxMi0wMy0zMCAxOToxOToxMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBGaXggc2V2ZXJhbCBsZWFrcwoJICAqIGRvbnQnIGxlYWsgYnVmZmVycyB3aGVuIGEgc3RyZWFtIGlzIGluIGRpc2NvbnQgc3RhdGUKCSAgKiBkb24ndCBsZWFrIGJ1ZmZlcnMgd2hlbiBhIHByb2dyYW0gaXMgcmVtb3ZlZC9kZWFjdGl2YXRlZAoJICAqIHJlbW92ZSBhbGwgcHJvZ3JhbXMgd2hlbiBkaXNwb3NpbmcKCjIwMTItMDMtMzAgMTg6MTM6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkgIHVwZGF0ZSBmb3IgYnVmZmVyIGFwaSBjaGFuZ2UKCjIwMTItMDMtMzAgMTc6MDk6MzQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBmaXh1cCBtZXJnZQoKMjAxMi0wMy0zMCAxMzoyMzoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHRlbmM6IEZpeCBjb21waWxhdGlvbgoKMjAxMi0wMy0zMCAxMjo1NTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuaDoKCSAgY2VsdGVuYzogVXNlIG5ldyBnc3RfYXVkaW9fZW5jb2Rlcl9zZXRfaGVhZGVycygpIEFQSQoKMjAxMi0wMy0zMCAxMjoyMjo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgZXh0OiBVcGRhdGUgZm9yIEdzdEF1ZGlvRW5jb2RlciBBUEkgY2hhbmdlcwoKMjAxMi0wMy0zMCAxMjowMjoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IFVwZGF0ZSBmb3IgYmFzZXBhcnNlIEFQSSBjaGFuZ2VzCgoyMDEyLTAzLTMwIDExOjUzOjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZXh0OiBVcGRhdGUgZm9yIGF1ZGlvIGRlY29kZXIgQVBJIGNoYW5nZXMKCjIwMTItMDMtMjkgMTg6MDQ6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIG9mIHNzaDovL2dpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L2dzdHJlYW1lci9nc3QtcGx1Z2lucy1iYWQKCjIwMTItMDMtMjkgMTg6MDM6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSAgc2htc3JjOiBGaXggYSBtZXJnZSBtaXN0YWtlCgoyMDEyLTAzLTI5IDE3OjU1OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBSZXZlcnQgdG8gMC4xMCBzdGF0ZSBhcyB0aGlzIGlzIHVubWVyZ2VhYmxlLCBhbHNvIHB1dCBpdCBpbnRvIHRoZSBub24tcG9ydGVkIHBsdWdpbnMgYWdhaW4KCjIwMTItMDMtMjkgMTc6NTE6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEZpeCBtZXJnZSBtaXN0YWtlCgoyMDEyLTAzLTI5IDE3OjQxOjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi8wLjEwJwoJICBDb25mbGljdHM6CgkgIE5FV1MKCSAgUkVMRUFTRQoJICBjb21tb24KCSAgY29uZmlndXJlLmFjCgkgIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3MKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeQoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlcwoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluMi54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWwKCSAgZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jCgkgIGV4dC9kdHMvZ3N0ZHRzZGVjLmMKCSAgZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYwoJICBleHQvb3B1cy9nc3RvcHVzZW5jLmMKCSAgZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmMKCSAgZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmgKCSAgZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYwoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oCgkgIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmMKCSAgZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaAoJICBnc3QvYWRwY21kZWMvTWFrZWZpbGUuYW0KCSAgZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jCgkgIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmMKCSAgZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jCgkgIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmMKCSAgZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYwoJICBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYwoJICBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jCgkgIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmgKCSAgZ3N0L214Zi9teGZkZW11eC5jCgkgIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmMKCSAgZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYwoJICBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jCgkgIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmMKCSAgc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHAKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYwoJICBzeXMvc2htL2dzdHNobXNyYy5jCgkgIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYwoJICBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmMKCSAgdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdF9lbGVtZW50X3ByaW50X3Byb3BlcnRpZXMuYwoJICB3aW4zMi9jb21tb24vY29uZmlnLmgKCjIwMTItMDMtMjkgMTY6MDg6MzQgKzAxMDAgIHVyYWV1cyA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBBZGQgbGF0ZXN0IHBvcnRlZCBwbHVnaW5zIHRvIHNwZWMgZmlsZQoKMjAxMi0wMy0yOCAxMjo0OTo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L25zZi9nc3Ruc2YuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2ZyYW1lLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgdXBkYXRlIGZvciBidWZmZXIgY2hhbmdlcwoKMjAxMi0wMy0yNyAxNToxMzoyNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXMuYzoKCSAgb3B1czogUmFuayBydHAgcGF5L2RlcGF5CgkgIFRoaXMgd2F5IHRoZXkgY2FuIGJlIGF1dG8tcGx1Z2dlZC4KCjIwMTItMDMtMjcgMDk6MzY6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvTWFrZWZpbGUuYW06CgkgIGJhc2VjYW1lcmFiaW5zcmM6IEFkZCAkKEdTVF9QTFVHSU5TX0JBU0VfTElCUykgdG8gdGhlIGxpbmtlciBmbGFncwoKMjAxMi0wMy0yNiAxMjoxMzoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIFJlcGxhY2UgbWFzdGVyIHdpdGggMC4xMQoKMjAxMi0wMy0yMyAxODozNjoyMSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIG1vZHBsdWc6IG1lbW9yeSBoYW5kbGluZyBjbGVhbnVwCgkgIERvbid0IGxlYWsgdGhlIENTb3VuZEZpbGUuIFVzZSBkZWZpbmUgZm9yIGNvbW1lbnQgYnVmZmVyIHNpemUgYW5kIGVuc3VyZSBpdCBpcyAwCgkgIHRlcm1pbmF0ZWQuCgoyMDEyLTAzLTIzIDE4OjE4OjA2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2ZsaXRlL2dzdGZsaXRlLmM6CgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSAgZmx0ZTogY29tbWVudCBjbGVhbnVwCgkgIFJlbW92ZSBjb21tZW50ZWQgb3V0IGNvZGUgZm9yIGEgZmxpdGVzeW50aCB0aGF0IHdlIGRvbid0IGhhdmUgaW4gZ2l0IGFueXdheS4gQWRkCgkgIGEgY29tbWVudCByZWdhcmRpbmcgdGhlIGZsaXRlIHZvaWNlcy4KCjIwMTItMDMtMjMgMTg6MTY6MDggKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBtb2RwbHVnOiB3b3JrIGFyb3VuZCBtZW1vcnkgdHJhc2hpbmcgaW4gbGlibW9kcGx1ZyAoMC44LjcpCgkgIEFsbG9jYXRlIGRvdWJsZSBzaXplZCBidWZmZXJzLiBBbHNvIGFkZCBtb3JlIGRlYnVnIGxvZ2dpbmcuCgoyMDEyLTAzLTIzIDEzOjA2OjEyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5oOgoJICBzaG1zaW5rOiBNYWtlIGJ1ZmZlci10aW1lIHNpZ25lZCB0byBkZWFsIHdpdGggYmFja3dhcmQganVtcHMgaW4gdGltZXN0YW1wcwoKMjAxMi0wMy0yMyAxMzowNjoxMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuaDoKCSAgc2htc2luazogTWFrZSBidWZmZXItdGltZSBzaWduZWQgdG8gZGVhbCB3aXRoIGJhY2t3YXJkIGp1bXBzIGluIHRpbWVzdGFtcHMKCjIwMTItMDMtMjIgMTU6NTU6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuMiA9PT0KCjIwMTItMDMtMjIgMTU6NTI6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbjIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5oOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0LmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5oOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMS4yCgoyMDEyLTAzLTIxIDIzOjA0OjMxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJLmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElDb25maWd1cmF0aW9uLmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElEZWNrQ29udHJvbC5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJRGlzY292ZXJ5Lmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElEaXNwYXRjaC1vc3guY3BwOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJTW9kZXMuaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSVN0cmVhbWluZy5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJVHlwZXMuaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSVZlcnNpb24uaDoKCSAgZGVja2xpbms6IEFkZCBkZWNrbGluayBkaXNwYXRjaCBjb2RlIGZvciBPUy9YCgoyMDEyLTAzLTIxIDEzOjIzOjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2NHBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZkZW11eC5jOgoJICB0ZXN0czogdXBkYXRlIGZvciBtZW1vcnkgYXBpIGNoYW5nZXMKCjIwMTItMDMtMjEgMDk6NDE6MDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICByYXdwYXJzZTogZml4IGJheWVyIGNhcHMKCjIwMTItMDMtMjAgMjA6MDc6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogUHJldmVudCBhY2Nlc3MgdG8gdGhlIHRyYW5zZm9ybSBtYXAgd2hlbiBpdCBpcyBudWxsCgkgIENoZWNrIGlmIHRoZSBtYXAgZG9lc24ndCBleGlzdCB3aGVuIHJlY2VpdmluZyBhIG5ldyBjYXBzIGFuZCBjcmVhdGUKCSAgYSBuZXcgb25lLiBUaGlzIHByZXZlbnRzIHRoYXQgdGhlIHRyYW5zZm9ybSBmdW5jdGlvbnMgdHJ5IHRvIGFjY2VzcwoJICB0aGUgbWFwIHdoZW4gaXQgZG9lc24ndCBleGlzdC4KCjIwMTItMDMtMjAgMTk6MTk6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogYWRkIHNvbWUgbW9yZSBsb2cgbWVzc2FnZXMKCjIwMTItMDMtMjAgMTc6MzI6MDAgLTAzMDAgIE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBhdm9pZCByZXNldGluZyBjYXBzIHRvIHRoZSBzYW1lIHZhbHVlCgkgIFJlZHVjZXMgY2FwdHVyZSBsYXRlbmN5IHdoZW4gdGhlIG5ldyBjYXBzIGFyZSB0aGUgc2FtZSBhcyB0aGUgb2xkCgkgIG9uZSwgYXZvaWRpbmcgcmVzZXR0aW5nIHRoZSBzb3VyY2Ugc3RhdGUgZm9yIGEgZm9yY2VkIHJlbmVnb3RpYXRpb24uCgoyMDEyLTAzLTIxIDAwOjE3OjQ3ICswMjAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmM6CgkgIHdpbnNjcmVlbmNhcDogRml4IGNvbXBpbGluZyB3aXRoIG1pbmd3CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzI1MDUKCjIwMTItMDMtMjAgMjA6MjE6NDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSAgc2htOiBwb3J0IHRvIDAuMTEKCjIwMTItMDMtMjAgMjA6MjE6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5oOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmg6CgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBwb3J0IHRvIDAuMTEKCjIwMTItMDMtMjAgMTY6NDQ6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IGFkZCBzb21lIGNoYW5uZWwgbWFwIGRlYnVnCgoyMDEyLTAzLTIwIDE2OjM0OjMzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmg6CgkgIGZhYWQ6IG9wdGltaXplIGNoYW5uZWwgcmVtYXAsIGF2b2lkIHBvdGVudGlhbCBtZW1jcHkKCSAgQ29tYmluZSB0aGUgY2hhbm5lbCByZW1hcCBhbmQgY29weSBpbiBvbmUgb3BlcmF0aW9uLiBDYWxjdWxhdGUgdGhlIGNoYW5uZWwgcmVtYXAKCSAgdGFibGUgb25seSBvbmNlLCBtYWtlIGEgc2hvcnRjdXQgd2hlbiB3ZSBhcmUgbm90IGRvaW5nIGFueSByZW1hcHBpbmcuCgoyMDEyLTAzLTIwIDE1OjM4OjMzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLm9yYzoKCSAgb3JjOiBkb24ndCBjb21waWxlIGV2ZXJ5dGhpbmcgYXQgc3RhcnR1cAoKMjAxMi0wMy0xOSAyMjo1ODowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvTWFrZWZpbGUuYW06CgkgIHN5czogc29ydCBzdWJkaXJzIGluIE1ha2VmaWxlIGFscGhhYmV0aWNhbGx5CgoyMDEyLTAzLTE5IDIzOjQ5OjE3ICswMjAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIHN5cy9NYWtlZmlsZS5hbToKCSAgd2luc2NyZWVuY2FwOiBJbnRlZ3JhdGUgaW50byBhdXRvdG9vbHMgYnVpbGQgc3lzdGVtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzIwMzEKCjIwMTItMDMtMTggMjM6MTU6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FkcGNtZGVjL01ha2VmaWxlLmFtOgoJICBhZHBjbWRlYzogR1NUX0JBU0VfTElCUyBhbHJlYWR5IGNvbnRhaW5zIC1sZ3N0YmFzZS0wLjEwCgoyMDEyLTAzLTE4IDE0OjQzOjE2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9hZHBjbWRlYy9NYWtlZmlsZS5hbToKCSAgYWRwY21kZWM6IEFkZCAtbGdzdGJhc2UtMC4xMAoKMjAxMi0wMy0xOCAxODozMzowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL01ha2VmaWxlLmFtOgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWU6IHVzZSBuZXcgc3R5bGUgYXVkaW8gY2FwcwoJICBBbHNvIGRvIG5vdCBwcmV0ZW5kIHRvIG5lZ290aWF0ZSBvdXRwdXQgY2FwcyB3aGVuIHRoZXJlCgkgIGlzIG5vdCBtdWNoIGluIG91dHB1dCB0byBiZWdpbiB3aXRoLgoKMjAxMi0wMy0xOCAxODozMjo1NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IHBvcnQgdG8gMC4xMQoKMjAxMi0wMy0xOCAxODozMjo1MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkgIHNtb290aDogcG9ydCB0byAwLjExCgoyMDEyLTAzLTE4IDE4OjMyOjQ2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdGF1ZGlvc2VnbWVudGNsaXAuYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHNlZ21lbnRjbGlwLmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3R2aWRlb3NlZ21lbnRjbGlwLmM6CgkgIHNlZ21lbnRjbGlwOiBwb3J0IHRvIDAuMTEKCjIwMTItMDMtMTggMTg6MzI6NDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJICBiejI6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMy0xOCAxODozMjozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL01ha2VmaWxlLmFtOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS9nc3RyZW1vdmVzaWxlbmNlLmM6CgkgIHJlbW92ZXNpbGVuY2U6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMy0xOCAwMToxODoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkgIHpiYXI6IGZpeCBidWlsZCBhZnRlciBiYXNlIHRyYW5zZm9ybSBjaGFuZ2VzCgoyMDEyLTAzLTE4IDAwOjUxOjMyICswMDAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJICBmYWNlZGV0ZWN0OiBmaXggc3RydWN0dXJlIGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MjI5NAoKMjAxMi0wMy0xNyAxNTowOToyMSArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnZpZGVvZmlsdGVyLmM6CgkgIG9wZW5jdjogZml4IG1lbW9yeSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzIyOTUKCjIwMTItMDMtMTUgMjI6MTI6NTkgKzAxMDAgIENhcnN0ZW4gS3JvbGwgPGNhckB4aW1pZGkuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBmaXggcmVncmVzc2lvbiBzZXR0aW5nIHdpbmRvdyBoYW5kbGUgaW4gcGF1c2UvcGxheQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2OTA1CgoyMDEyLTAzLTE3IDE1OjA3OjQ5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGlua3Npbms6IEFkZCBkZXZpY2UgcHJvcGVydHkKCSAgQWxzbyBhZGQgcHJvcGVydHkgcHJvYmUgZm9yIGRldmljZSBwcm9wZXJ0eSwgc2ltaWxhciB0byBkZWNrbGlua3NyYy4KCjIwMTEtMTAtMzEgMTg6NTg6MzQgLTA3MDAgIGJsYWtlIHRyZWdyZSA8Ymxha2VAb2Jsb25nLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rc3JjOiBtYWtlIHN1cmUgd2UgY2FuIGFjY2VwdCBjYXBzIGJlZm9yZSByZXR1cm5pbmcgdHJ1ZQoJICBjYXBzIGFyZSBkZXRlcm1pbmVkIGJ5IHRoZSBwbHVnaW4ncyBwcm9wZXJ0aWVzLCBzbyB3ZSBzaG91bGQgY2hlY2sgdGhlCgkgIGluY29taW5nIGNhcHMgdG8gc2VlIGlmIHRoZXkgYWdyZWUuICBGaXhlczogIzY2NzcyMi4KCjIwMTEtMTAtMzEgMTg6NTc6MjIgLTA3MDAgIGJsYWtlIHRyZWdyZSA8Ymxha2VAb2Jsb25nLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rc3JjOiBkaXNhYmxlIHB1bGwgbW9kZQoJICBkZWNrbGluayBkZXZpY2UgZG9lc24ndCBzdXBwb3J0IGFueSBwdWxsIG1vZGUgcmVsYXRlZCBmdW5jdGlvbmFsaXR5LgoJICBpdCdzIG1vcmUgbGlrZSBhIGxpdmUgc291cmNlLCB5b3Ugc2VlLiBGaXhlczogIzY2NzcyMC4KCjIwMTItMDItMTEgMjI6NDk6MTAgLTA4MDAgIGJsYWtlIHRyZWdyZSA8Ymxha2VAb2Jsb25nLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rc3JjOiBwdXNoIG5ldyBuZXcgc2VnbWVudCBldmVudCB0byBhbGwgcGFkcwoJICBUYWtlIGNhcmUgdG8gcHVzaCB0aGUgZXZlbnQgdG8gYWxsIHBhZHMsIGJ1dCBmYXZvciB0aGUgdmlkZW8gc3JjIHBhZC4KCSAgRml4ZXM6ICM2Njc3MTYuCgoyMDEyLTAzLTE3IDExOjQxOjA0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rc3JjOiBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeQoJICBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeS4gIEZpeCBtZW1sZWFrIHJlbGVhc2luZyByZXNvdXJjZXMuCgoyMDEyLTAzLTE3IDExOjM5OjU0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rOiByZWluZGVudAoKMjAxMS0xMC0zMSAxODo1NjoyMyAtMDcwMCAgYmxha2UgdHJlZ3JlIDxibGFrZUBvYmxvbmcuY29tPgoKCSAgZGVja2xpbmtzcmM6IGhhbmRsZSBmbG93IHJldHVybiBwcm9wZXJseSBhbmQgcHJvdmlkZSBiZXR0ZXIgbWVzc2FnZQoJICAqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgoyMDEyLTAzLTA3IDE5OjIyOjI4IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGluazogQWRkIHByb3BlcnR5IHByb2JpbmcKCSAgUmVuYW1lcyB0aGUgc3ViZGV2aWNlIHByb3BlcnR5IHRvIGp1c3QgZGV2aWNlLCBhbmQgaGFzIGl0CgkgIHJldHVybiB0aGUgbnVtYmVyIG9mIGRldmljZXMgaW4gdGhlIHN5c3RlbSBpbiByZXNwb25zZSB0bwoJICBhIHByb2JlLiBUaGlzIGlzIHVzZWZ1bCBib3RoIGZvciB1c2luZyBtdWx0aXBsZSBjYXB0dXJlCgkgIGNhcmRzLCBhbmQgZm9yIGRldGVjdGluZyB3aGV0aGVyIGl0J3Mgd29ydGggYWRkaW5nIHRoZQoJICBlbGVtZW50IHRvIGEgcGlwZWxpbmUuCgkgIEFsc28gY2xlYW5zIHVwIHRoZSBwcm9wZXJ0eSBkZXNjcmlwdGlvbnMuCgoyMDEyLTAzLTE3IDExOjQ1OjM5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VzcmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2VsZW1lbnQ6CgkgIGVsZW1lbnQtdGVtcGxhdGVzOiBjaGFpbiBxdWVyeS9ldmVudCBmdW5jdGlvbnMKCSAgQ2hhaW4gdXAgdG8gcGFyZW50IGNsYXNzLiAgVGhpcyBmaXggc2hvdWxkIGJlIGRvbmUgdG8gYWxsIG9mIHRoZQoJICB0ZW1wbGF0ZXMuCgoyMDEyLTAzLTE3IDExOjM1OjE4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzaW5rLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuaDoKCSogZ3N0L2ludGVyL2dzdGludGVydGVzdC5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSAgaW50ZXI6IEFkZCBjaGFubmVsIHByb3BlcnR5CgkgIFRoZSBjaGFubmVsIHByb3BlcnR5IGFsbG93cyBtdWx0aXBsZSBpbnRlcnNyYy9zaW5rIHBhaXJzIHRvIGZpbmQKCSAgZWFjaCBvdGhlci4gIEl0J3MgYSBmcmVlLWZvcm0gdGV4dCBzdHJpbmcgdGhhdCBtdXN0IG1hdGNoIGFtb25nCgkgIHZhcmlvdXMgaW50ZXIgZWxlbWVudHMuICBBbHNvIGZpeGVkIHVwIGRvY3VtZW50YXRpb24gYW5kIGxhdGVuY3kKCSAgaGFuZGxpbmcuCgoyMDEyLTAzLTE3IDE2OjA5OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQtdGVtcGxhdGUtdmlkZW86CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZC10ZW1wbGF0ZS12aWRlbzoKCSAgZ3N0LWVsZW1lbnQtbWFrZXI6IGZpeCAtdGVtcGxhdGUtdmlkZW8gY2FwcyBzdHJpbmcKCSAgRG9uJ3QgZm9yZ2V0IHNlcGFyYXRvci4KCjIwMTItMDMtMTcgMTY6MDU6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZC10ZW1wbGF0ZS12aWRlbzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkLXRlbXBsYXRlLXZpZGVvOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy92aWRlb2ZpbHRlcjoKCSAgZ3N0LWVsZW1lbnQtbWFrZXI6IGFkZCB2aWRlbyBwYWQgdGVtcGxhdGUgYW5kIHVzZSBpdCBpbiB2aWRlb2ZpbHRlciBjbGFzcwoJICBXb3VsZCBiZSBuaWNlciBpZiBvbmUgY291bGQganVzdCBzdXBwbGVtZW50IHRoZSBnZW5lcmljIHRlbXBsYXRlCgkgIGZyb20gdGhlIGVsZW1lbnQgdGVtcGxhdGUgdGhvdWdoLgoJICBBbHNvLCBJIHdvdWxkIHJlYWxseSBoYXZlIGxpa2VkIHRvIGp1c3QgYWRkIHRob3NlIHNlY3Rpb25zIGZyb20gdGhlCgkgIHBhZHMgdGVtcGxhdGUgaW50byB0aGUgZWxlbWVudCB0ZW1wbGV0IGRpcmVjdGx5IChzbyBJIGNhbiBjYXRlciBmb3IKCSAgc3JjIHRlbXBsYXRlIGNhcHMgPT0gc2luayB0ZW1wbGF0ZSBjYXBzKSwgYnV0IHRoYXQgZGlkbid0IHNlZW0gdG8KCSAgd29yay4KCjIwMTItMDMtMTcgMTU6NDk6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZC10ZW1wbGF0ZToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkLXRlbXBsYXRlOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy92aWRlb2ZpbHRlcjoKCSAgZ3N0LWVsZW1lbnQtbWFrZXI6IGFkZCB7c3JjLHNpbmt9cGFkLXRlbXBsYXRlLCBzaW5jZSBtYW55IGJhc2UgY2xhc3NlcyBjcmVhdGUgcGFkcyBmb3IgdXMKCSAgQW5kIHVzZSB0aGVtIGluIHRoZSB2aWRlb2ZpbHRlciB0ZW1wbGF0ZS4KCjIwMTItMDMtMTcgMTU6MTY6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvdmlkZW9maWx0ZXI6CgkgIHRvb2xzOiBhZGQgdmlkZW9maWx0ZXIgdGVtcGxhdGUgZm9yIGdzdC1lbGVtZW50LW1ha2VyCgoyMDEyLTAzLTE3IDEyOjQ3OjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5jcHA6CgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5jOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guaDoKCSogZXh0L29wZW5jdi9tb3Rpb25jZWxsc193cmFwcGVyLmNwcDoKCSAgb3BlbmN2OiBmaXggY29uZmlndXJlIGNoZWNrIGFuZCBidWlsZCB3aXRoIG9wZW5jdiAyLjEKCSAgQUNfQ0hFQ0tfSEVBREVSUygpIGNhbGxzIGFjdGlvbi1pZi1ub3QtZm91bmQgYWxzbyBpZiBqdXN0IG9uZSBvZgoJICB0aGUgaGVhZGVycyBjaGVja2VkIGZvciBpcyBtaXNzaW5nLCB3aGljaCBpcyBub3Qgd2hhdCB3ZSB3YW50ZWQuCgkgIEFsc28sIGNoZWNrIGZvciBoaWdoZ3VpX2MuaCBpbnN0ZWFkIG9mIGhpZ2hndWkuaHBwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcyMjI2CgoyMDEyLTAzLTE2IDIxOjQ3OjM5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJICBkb24ndCBwYXNzIHJhbmRvbSBwb2ludGVycyB0byBwdWxsX3JhbmdlCgoyMDEyLTAzLTE2IDE3OjA3OjQ2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIGZhY2VkZXRlY3Q6IGluaXRpYWxpemUgc29tZSBhcmJpdHJhcnkgdmFyaWFibGUgdGhhdCBnY2MtNC42IGNhbiB0cmFjayBwcm9wZXJseQoJICBUaGUgYWNjZXNzIHRvIHRoZW0gaXMgY2xlYXJseSBndWFyZGVkIGJ5IHRoZSBib29sZWFucyB0aG91Z2guCgoyMDEyLTAzLTE2IDEzOjE0OjQ4ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIG9wZW5jdjogY29zbWV0aWMgY29kZSBjaGFuZ2VzCgkgIENoZWNrIGZvciB0aGUgYXZhaWxhYmlsaXR5IG9mIHRoZSBkZXRlY3RvcnMgaW4gdGhlIHByb2Nlc3NpbmcgZnVuY3Rpb24gdG8gYXZvaWQKCSAgc2V0dGluZyB1cCB0aGUgUk9Jcy4gVXNlIHRoZSBib29sZWFucyBmb3IgaGF2ZV94eHggbW9yZS4KCjIwMTItMDMtMTYgMTI6NTc6MDUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIG9wZW5jdjogdXNlIG9wZW5jdiBwcmVmaXggZnJvbSBwa2djb25maWcgdG8gbG9va3VwIGRhdGFmaWxlcwoJICBEb24ndCBoYXJkY29uZGUgL3VzciB0byBsb29rdXAgZGF0YWZpbGVzIChzdWNoIGFzIGhhYXIgY2FzY2FkZXMpLgoKMjAxMi0wMy0xNSAxNzoxMDoxOCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcnNuZHZkc3JjOiBwb3N0IGEgbWVzc2FnZSB3aXRoIHRpdGxlIG51bWJlciBhbmQgZHVyYXRpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzIxNjUKCjIwMTItMDMtMTYgMTI6MTA6MTAgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSAgZmFjZW92ZXJsYXk6IHJlbW92ZSBibGFuayBsaW5lIGluIGd0ay1kb2MgY29tbWVudAoKMjAxMi0wMy0xNiAxMjowNDoxMSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJICBmYWNlZGV0ZWN0OiBza2lwIGRldGVjdGlvbiBmb3IgdW5hdmFpbGFibGUgZGV0ZWN0b3JzCgoyMDEyLTAzLTE1IDIzOjE3OjU1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIGZhY2VkZXRlY3Q6IG1vdmUgdGhlIGRldGVjdG9yIHRvIGFuIG93biBtZXRob2QgdG8gaGlkZSB0aGUgdWdseSBpZmRlZnMKCSAgVGhpcyBpbXByb3ZlcyB0aGUgcmVhZGFiaWxpdHkgaW4gdGhlIGFjdHVhbCBwcm9jZXNzaW5nIGZ1bmN0aW9uLgoKMjAxMi0wMy0xNSAyMzowODowMiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJICBmYWNlZGV0ZWN0OiBhbHdheXMgc2VuZCBmYWNlZGV0ZWN0IG1lc3NhZ2UKCSAgVGhlIGFwcGxpY2F0aW9uIG1pZ2h0IGxpa2UgdG8ga25vdywgd2hlbiB3ZSBkb24ndCBzZWUgdGhlIGZhY2UgYW55bW9yZS4KCjIwMTItMDMtMTUgMjI6NTg6MTEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSAgZmFjZW92ZXJsYXk6IGNvZGUgY2xlYW51cHMKCSAgVXNlIGdsaWIgdHlwZXMgYW5kIHNpbXBseSBleHByZXNzaW9ucyBpbiB0aGUgbWVzc2FnZSBoYW5kbGVyLgoKMjAxMi0wMy0xNSAyMjo0OTo1MSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJICBmYWNlb3ZlcmxheTogZG9uJ3QgYWNjZXNzIG1lc3NhZ2UgZmllbGRzIGRpcmVjdGx5CgoyMDEyLTAzLTE1IDIyOjIyOjEyICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIGZhY2VkZXRlY3Q6IGRvbid0IHNraXAgZmFjZXMKCSAgU2tpcHBpbmcgZmFjZXMgYXQgdGhpcyBwb2ludCBtYWtlcyB1cyBsaWUgYWJvdXQgdGhlIG51bS1iZXIgb2YgZmFjZXMgYW5kIGFsc28KCSAgY2F1c2VzIGxlYWtzLgoKMjAxMi0wMy0xNSAyMjoxMTozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgdXBkYXRlIGZvciBidWZmZXJwb29sIGNoYW5nZXMKCjIwMTItMDMtMTUgMjA6Mzg6MjcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkgIHVwZGF0ZSBmb3IgYWxsb2NhdGlvbiBxdWVyeSBjaGFuZ2VzCgoyMDEyLTAzLTE1IDE4OjI4OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkgIHJzdmdvdmVybGF5OiBjb3NtZXRpYyBjaGFuZ2UKCSAgUmVuYW1lIFBST1BfRklMRU5BTUUgdG8gUFJPUF9MT0NBVElPTiB0byBtYXRjaCB0aGUgbmFtZSBvZgoJICB0aGUgcHJvcGVydHkuIEFkZCBzb21lIGRlYnVnIGxvZ2dpbmcuCgoyMDEyLTAzLTE1IDE4OjI2OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJICBmYWNlb3ZlcmxheTogY2xlYXIgb3ZlcmxheSBpZiB0aGUgZmFjZSBkaXNhcHBlYXJzCgoyMDEyLTAzLTE1IDE4OjIxOjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJICBmYWNlb3ZlcmxheTogYWRkIHNvbWUgbG9ja2luZyBmb3IgcHJvcGVydGllcywgZnJlZSBwcmV2aW91cyBsb2NhdGlvbiB3aGVuIGl0IGNoYW5nZXMKCjIwMTItMDMtMTUgMTg6MDg6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5oOgoJICBmYWNlb3ZlcmxheTogZG9uJ3QgbWFrZSByc3Znb3ZlcmxheSByZWxvYWQgdGhlIFNWRyBmb3IgZXZlcnkgc2luZ2xlIGZyYW1lCgkgIE9ubHkgc2V0IGxvY2F0aW9uIG9uIHJzdmdvdmVybGF5IGlmIGl0IGhhcyBjaGFuZ2VkLgoKMjAxMi0wMy0xNSAxNzo0Nzo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSAgZmFjZW92ZXJsYXk6IG1vdmUgZmFjZSBoYW5kbGluZyBpbnRvIG93biBmdW5jdGlvbiBhbmQgaGFuZGxlIDAgZmFjZSBjb3VudAoJICBXaGVuIGEgZmFjZSBkaXNhcHBlYXJzLCB3ZSBzZWVtIHRvIGdldCBhIG1lc3NhZ2UgZnJvbSBmYWNlZGV0ZWN0IHdpdGgKCSAgYSBmYWNlIGNvdW50IG9mIDAsIHdoaWNoIHdlIHdhbnQgdG8ganVzdCBpZ25vcmUgaW5zdGVhZCBvZiB0cnlpbmcgdG8KCSAgYWNjZXNzIGZhY2UgIy0xLCB3aGljaCBjYXVzZXMgbmFzdHkgd2FybmluZ3MuCgoyMDEyLTAzLTE1IDE3OjQyOjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJICBmYWNlb3ZlcmxheTogZml4IHBhZCB0ZW1wbGF0ZXMKCSAgVXNlIGdlbmVyaWMgYW5kIHVuc3BlY2lmaWZlZCByZ2IvY2FwcyBmb3Igbm93LiBUaGUgZXhhY3QgY2FwcwoJICBzdXBwb3J0ZWQgZGVwZW5kIG9uIHRoZSBmYWNlZGV0ZWN0IGVsZW1lbnQgYW5kIHJzdmdvdmVybGF5LiBJdCdzCgkgIG5vdCBjbGVhciBob3cgdGhpcyB3b3JrZWQgYmVmb3JlLCBzaW5jZSBmYWNlZGV0ZWN0IG9ubHkgYWNjZXB0cwoJICAyNC1iaXQgUkdCLCBidXQgdGhlIGNhcHMgYWR2ZXJ0aXNlZCAzMi1iaXQgQVJHQi9CR1JBLiBJbiBhbnkgY2FzZSwKCSAgd2UgZG9uJ3Qgd2FudCB0byBmb3JjZSBhbnl0aGluZyByZWFsbHksIHNvIHRoYXQgaWYgYW55IG9mIHRob3NlCgkgIGVsZW1lbnRzIGFjcXVpcmVzIHN1cHBvcnQgZm9yIGFkZGl0aW9uYWwgZm9ybWF0cyB3ZSBwaWNrIHRob3NlIHVwCgkgIGF1dG9tYXRpY2FsbHkuCgoyMDEyLTAzLTE1IDE3OjI2OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkgIHJzdmdvdmVybGF5OiBmaXggY3Jhc2ggZHVlIHRvIGRvdWJsZSBhZGFwdGVyIHVucmVmCgoyMDEyLTAzLTE1IDE2OjUyOjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuaDoKCSAgZmFjZW92ZXJsYXk6IGZpeCB3ZWlyZCBwYWQgY3JlYXRpb24gY29kZQoJICBUaGUgZWxlbWVudCB3b3VsZCBjcmVhdGUgbm9ybWFsIHBhZHMgaW4gaXRzIGluc3RhbmNlX2luaXQgZnVuY3Rpb24sCgkgIGFuZCB0aGVuIGxhdGVyIGluIE5VTEwtPlJFQURZIGNyZWF0ZSB0aGUgZWxlbWVudHMgaXQgbmVlZHMsIHJlbW92ZQoJICB0aGUgcGFkcyBjcmVhdGVkIGluIHRoZSBpbnN0YW5jZV9pbml0IGZ1bmN0aW9uLCBhbmQgYWRkIG5ldyBnaG9zdAoJICBwYWRzIGluc3RlYWQuIE5vdCB3aXRob3V0IHNhdmluZyB0aGUgZXh0ZXJuYWwgcGVlciBwYWRzIG9mIHRoZSBvbGQKCSAgcGFkcyBvZiBjb3Vyc2UsIHdoaWNoIGl0IHdvdWxkIHByb21wdGx5IHJlLWxpbmsgdG8gdGhlIG5ldyBnaG9zdAoJICBwYWRzLiBEbyBhbGwgb2YgdGhhdCBhIGJpdCBkaWZmZXJlbnRseS4KCSAgRml4ZXMgdGhlIGdlbmVyaWMvc3RhdGVzLmNoZWNrIHVuaXQgdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MDU4OAoKMjAxMi0wMy0xNSAxNTo0NzoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSAgZmFjZW92ZXJsYXk6IG1pbm9yIGNvc21ldGljIGNoYW5nZXMKCSAgUmVtb3ZlIHRlbXBsYXRlIG1ha2VyIGNvbW1lbnRzLCB1c2Ugb3VyIGRlZmluZXMgZm9yCgkgIHBhY2thZ2UgbmFtZSBhbmQgb3JpZ2luLgoKMjAxMi0wMy0xNSAxNDowODoyOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9wdnIyZC9nc3RwdnJidWZmZXJwb29sLmM6CgkgIHVwZGF0ZSBmb3IgYnVmZmVycG9vbCBhcGkgY2hhbmdlCgoyMDEyLTAzLTE1IDEzOjM3OjM2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJidWZmZXJwb29sLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJidWZmZXJwb29sLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NjaHJvZW5jLmM6CgkgIHVwZGF0ZSBmb3IgbWVtb3J5IGFwaSBjaGFuZ2VzCgoyMDEyLTAzLTE1IDAwOjEzOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2xpYnMvLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogaWdub3JlIG1vcmUgdGVzdCBiaW5hcmllcyBhbmQgc3RhbXAgZmlsZXMKCjIwMTItMDMtMTUgMDA6MDU6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmg6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5oOgoJICBvcGVuY3Y6IG1ha2UgYnVpbGQgd2l0aCBvcGVuY3YgMi4zLjEgYXMgaW4gZGViaWFuIHNpZAoJICBXaGVyZSBoaWdoZ3VpLmggZG9lc24ndCBleGlzdCBhbnkgbW9yZSwgYnV0IG9ubHkgb3BlbmN2Mi9oaWdoZ3VpL2hpZ2hndWkuaHBwLgoJICBBbHNvLCBub3QgcXVpdGUgc3VyZSB3aHkgd2UncmUgY2hlY2tpbmcgZm9yIGN2YXV4LmgsIGl0J3Mgbm90IHVzZWQgYW55d2hlcmUuCgoyMDEyLTAzLTE0IDE5OjUyOjMxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJICB0YWtlIHBhZGRpbmcgaW50byBhY2NvdW50CgoyMDEyLTAzLTE0IDE3OjQ4OjQwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgbXBlZzJlbmM6IGFsc28gY2xlYXIgaW5pdGlhbGl6ZWQgbXV0ZXggYW5kIGNvbmQKCjIwMTItMDMtMTQgMTE6MjA6MTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJICBmbGl0ZTogYWRqdXN0IHRvIHNvbWUgbW9kaWZpZWQgY2FwcyByZWxhdGVkIEFQSSBjaGFuZ2VzCgoyMDEyLTAzLTE0IDEwOjI0OjA1ICswMTAwICBEbWl0cnkgS2V0b3YgPGRrZXRvdkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy93aW5zY3JlZW5jYXAvTWFrZWZpbGUuYW06CgkgIHdpbnNjcmVlbmNhcDogSW50ZWdyYXRlIGludG8gYXV0b3Rvb2xzIGJ1aWxkIHN5c3RlbQoJICBGaXhlcyBidWcgIzY3MjAzMS4KCjIwMTItMDMtMTMgMjA6NTA6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkgIGludGVyOiBmaXggd2FybmluZ3Mgd2hlbiBnc3QtaW5zcGVjdGluZyBpbnRlcmF1ZGlve3NyYyxzaW5rfQoJICBUaGUgY2hhbm5lbCBwcm9wZXJ0eSBpc24ndCBpbXBsZW1lbnRlZCwgc28gZG9uJ3QgcmVnaXN0ZXIgaXQuCgoyMDEyLTAzLTA4IDAxOjQ4OjU2ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJICB3YXlsYW5kc2luazogRml4IHdhcm5pbmdzLCBwcm9wZXIgc3RydWN0dXJpbmcsIGRlYWQgY29kZSByZW1vdmFsLCBhZGRpbmcgZG9jIHNlY3Rpb24uCgoyMDEyLTAzLTEzIDEzOjAyOjU0ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogbW92ZSBzcGMgcGx1Z2luIHRvIE5PTl9QT1JURUQgbGlzdChGaXggYnVpbGQgZXJyb3IpCgoyMDEyLTAzLTEzIDA5OjU0OjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5jOgoJICB1c2UgZ3N0X2NhcHNfbWVyZ2UgaW5zdGVhZCBvZiBnc3RfY2Fwc191bmlvbgoKMjAxMi0wMy0xMiAxNTo0MjowNCArMDEwMCAgT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IG1ha2Ugc3VyZSBndC0+bWFwIG5vdCBmcmVlZCB0d2ljZQoJICBjdXJyZW50IGNoZWVzZSBjYW4gY3JlYXRlIHNpdHVhdGlvbiB3aGVyZSBndC0+bWFwIGlzIGZyZWVkIHR3aWNlLgoJICBUaGlzIHBhdGNoIHNldCBtYXAgdG8gbnVsbCB0byBhdm9pZCBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTkxMAoKMjAxMi0wMy0xMiAxNzowNjoxMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogZml4IGZvciBjYXBzIGFwaSBjaGFuZ2UKCjIwMTItMDMtMTIgMTY6NTE6MTkgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBidW1wIEdMaWIgcmVxdWlyZW1lbnQgdG8gMi4zMS4xNAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxOTExCgoyMDEyLTAyLTI4IDE2OjQwOjMxICswMTAwICBHaWwgUGVkZXJzZW4gPGdpdEBncG9zdC5kaz4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogYWRkIGZsb2F0aW5nIHBvaW50IHNlZ21lbnQgZHVyYXRpb24gc3VwcG9ydAoKMjAxMi0wMy0xMiAxMjoyMzozNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvY29sb3JzcGFjZS5jOgoJICBmaXggZm9yIGNhcHMgX25vcm1hbGl6ZSBjaGFuZ2VzCgoyMDEyLTAzLTEyIDExOjQwOjIwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2NvbG9yc3BhY2UuYzoKCSAgdGVzdHM6IGZpeCBmb3IgY2FwcyBBUEkgY2hhbmdlCgoyMDEyLTAzLTEyIDEwOjQ0OjIyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9jb2xvcnNwYWNlLmM6CgkgIGZpeCBmb3IgX2RvX3NpbXBsaWZ5IGNoYW5nZXMKCjIwMTItMDMtMTEgMTk6MDY6NTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvY29sb3JzcGFjZS5jOgoJICBmaXggZm9yIGNhcHMgYXBpIGNoYW5nZXMKCjIwMTItMDMtMTAgMjA6NTM6NTQgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIEZpeCBhbiB1bndhbnRlZCBkb3VibGUgbmVnYXRpb24gZnJvbSBsYXN0IGNvbW1pdAoKMjAxMi0wMy0xMCAxOToxMDo1MiAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvanAya2RlY2ltYXRvci9qcDJrY29kZXN0cmVhbS5jOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkgIEZpeCAnaWdub3JpbmcgcmV0dXJuIHZhbHVlIG9mIGZ1bmN0aW9uIGRlY2xhcmVkIHdpdGggY29uc3QgYXR0cmlidXRlJwoJICBUaGlzIGFsd2F5cyBoYXBwZW5zIHdpdGggR3N0Qnl0ZVJlYWRlci9Xcml0ZXIgYW5kIGZyaWVuZHMgd2hlbgoJICBub3QgdGFraW5nIGludG8gYWNjb3VudCByZXR1cm5lZCBib29sZWFuIG9mIHRoZSBfcmVhZC9fd3JpdGUgZnVuY3Rpb25zCgkgICh3aGljaCBpcyBhY3R1YWxseSB3cm9uZykuCgkgIE1ha2UgdXNlIG9mIHRoZSAqX3VuY2hlY2tlZCB2YXJpYW50IGFzIG11Y2ggYXMgcG9zc2libGUsIG9yIHRha2UgdGhlCgkgIHJldHVybmVkIHZhbHVlIGludG8gYWNjb3VudC4KCjIwMTItMDMtMTAgMTE6MzY6MjUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSAgZHRzZGVjOiBhdm9pZCBydW5hd2F5IGxvb3Agd2hlbiByZXN5bmNpbmcgZHVyaW5nIHBhcnNlCgkgIC4uLiBieSBjaGVja2luZyBmb3IgdGhlIGNvcnJlY3QgKGRlY3JlbWVudGVkKSBzaXplIHZhcmlhYmxlLgoJICBGaXhlcyAjNjcxNzU2LgoKMjAxMi0wMy0wOSAxNzoxNjoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggQUNfTEFOR19TT1VSQ0UtcmVsYXRlZCB3YXJuaW5ncyB3aGVuIGRvaW5nIGF1dG9nZW4uc2gKCjIwMTItMDMtMDEgMTQ6NTk6NTUgLTAzMDAgIERhbmlsbyBDZXNhciBMZW1lcyBkZSBQYXVsYSA8ZGFuaWxvLmNlc2FyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSAgRml4aW5nIHJ0cHZwOCBjb21wYXRpYmlsaXR5IHdpdGggdGhlIHRoaXJkIGRyYWZ0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzEwNzMKCjIwMTItMDMtMDggMTE6MzI6MjcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvdmlkZW9jb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb3B1cy5jOgoJICB0ZXN0czogZml4IG1vcmUgY2FwcwoKMjAxMi0wMy0wNyAxNzoxNDoyOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcHVzL2dzdG9wdXNjb21tb24uYzoKCSogZXh0L29wdXMvZ3N0b3B1c2NvbW1vbi5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkgIG9wdXM6IHBvcnQgdG8gdXBkYXRlZCAwLjExCgoyMDEyLTAzLTA3IDEwOjE4OjMxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHQ6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMy0wNyAxMjo1OToyOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IG9ubHkgcmVxdWVzdCBhbmQgcHJvY2VzcyAxIGZyYW1lIGF0IGEgdGltZQoJICAuLi4gc2luY2UgaXQgaXMgc3BlY2lmaWVkIGluIF9maW5pc2hfZnJhbWUgdGhhdCBpbnB1dCBidWZmZXIgbWF5IGJlIGludmFsaWRhdGVkCgkgIGFmdGVyIGNhbGxpbmcgaXQsIGFuZCBpcyBhcyBzdWNoIG5vdCByZWxpYWJseSBhdmFpbGFibGUgZm9yIGZ1cnRoZXIgZW5jb2RpbmcuCgkgIEFsc28sIHJlcXVlc3Rpbmcgb3IgYWxsb3dpbmcgc2V2ZXJhbCBmcmFtZXMgaXMgb25seSB1c2VmdWwgaWYgc3ViY2xhc3MgaW50ZW5kcwoJICB0byBwcm9jZXNzIHRoZXNlICJpbiAxIHJ1biIgKGFzIGluLCAxIG91dHB1dCBidWZmZXIpLCBub3QgZm9yIGhhdmluZyBhbm90aGVyCgkgIChpbm5lcikgbG9vcCBpbiBzdWJjbGFzcyB3aGVyZSB0aGUgYmFzZWNsYXNzIG9uZSB3aWxsIGRvIGp1c3QgZmluZS4KCjIwMTItMDMtMDcgMTI6NTU6NDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBjb25maWd1cmUgYmFzZWNsYXNzIHJlcXVlc3RlZCBzYW1wbGVzIHJlYWxseSBpbiBzYW1wbGVzCgkgIC4uLiBhcyBvcHBvc2VkIHRvIGJ5dGVzLgoKMjAxMi0wMy0wNiAxODo0OToxMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIHZpZGVvOiBVcGRhdGUvYWRkIGRvY3MKCjIwMTItMDMtMDYgMTg6MTE6MzUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc2luay5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBidWZmZXJwb29sLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkgIEFkZCBtaXNzaW5nIEdMSUJfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUwoJICBTdXBwcmVzcyB3YXJuaW5ncyBhYm91dCBkZXByZWNhdGVkIHRocmVhZGluZyBhbmQgR1ZhbHVlQXJyYXkKCSAgQVBJLCBzbyBnaXQgY29tcGlsZXMgd2l0aCAtV2Vycm9yLgoKMjAxMi0wMy0wNiAxODozMzoyNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmg6CgkgIHNpcmVuZGVjOiBwb3J0IHRvIGF1ZGlvZGVjb2RlcgoKMjAxMi0wMy0wNiAxODozMzoxNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vTWFrZWZpbGUuYW06CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuaDoKCSAgc2lyZW5lbmM6IHBvcnQgdG8gYXVkaW9lbmNvZGVyCgoyMDEyLTAzLTA2IDE2OjExOjUyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSAgY2VsdGRlYzogdXNlIGJhc2UgY2xhc3MgdGFnIGhhbmRsaW5nIGhlbHBlcgoJICAuLi4gc28gYXMgdG8gZW5zdXJlIHRoZXNlIHRvIGJlIGhhbmRsZWQgYW5kIHNlbnQgYXQgcHJvcGVyIHRpbWUuCgoyMDEyLTAzLTA2IDE2OjExOjMwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmg6CgkgIGR0c2RlYzogdXNlIGJhc2UgY2xhc3MgdGFnIGhhbmRsaW5nIGhlbHBlcgoJICAuLi4gc28gYXMgdG8gZW5zdXJlIHRoZXNlIHRvIGJlIGhhbmRsZWQgYW5kIHNlbnQgYXQgcHJvcGVyIHRpbWUuCgoyMDEyLTAzLTA2IDE4OjMyOjA5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSAgZGNjcDogYXZvaWQgaW5kZWZpbml0ZSBsb29waW5nIHVwb24gZXJyb3IKCSAgLi4uIGFuZCBmaXggJ3VuaW5pdGlhbGl6ZWQnIGNvbXBpbGF0aW9uIHdhcm5pbmcgYXMgd2VsbC4KCjIwMTItMDMtMDYgMTU6MjE6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBGaXggJ2FyZ3VtZW50IHRvICdzaXplb2YnIGluICdtZW1zZXQnIGNhbGwgaXMgdGhlIHNhbWUgZXhwcmVzc2lvbiBhcyB0aGUgZGVzdGluYXRpb24nIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDMtMDYgMTQ6NTc6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NyYy5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc3JjLmM6CgkgIGdzZXR0aW5nczogRml4ICdpZiBzdGF0ZW1lbnQgaGFzIGVtcHR5IGJvZHknIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDMtMDYgMTQ6NTY6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICBkZmJ2aWRlb3Npbms6IEZpeCAnaW1wbGljaXQgY29udmVyc2lvbiBmcm9tIGVudW1lcmF0aW9uIHR5cGUgJ0RpcmVjdFJlc3VsdCcgdG8gZGlmZmVyZW50IGVudW1lcmF0aW9uIHR5cGUgJ0RGQlJlc3VsdCcnIGNvbXBpbGVyIHdhcm5pbmcKCSAgV2UncmUgbm90IGNoZWNraW5nIHRoZSByZXR1cm4gdmFsdWUgb2YgdGhhdCBmdW5jdGlvbiBhbnl3YXkuCgoyMDEyLTAzLTA2IDE0OjUxOjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzaW5rLmM6CgkgIGN1cmw6IEZpeCAnZXF1YWxpdHkgY29tcGFyaXNvbiB3aXRoIGV4dHJhbmVvdXMgcGFyZW50aGVzZXMnIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDMtMDYgMTQ6NTE6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkgIGNvZ2NvbG9yc3BhY2U6IFVzZSBjb3JyZWN0IGVudW0gdHlwZSBmb3IgcmV0dXJuIHZhbHVlCgoyMDEyLTAzLTA2IDE0OjUwOjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSAgdmRwYXU6IEZpeCBsb29wIHRvIG5vdCByZWFkIGJlZm9yZSB0aGUgdmFsaWQgbWVtb3J5IGFyZWEKCjIwMTItMDMtMDYgMTQ6NDc6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvdmFkX3ByaXZhdGUuYzoKCSAgcmVtb3Zlc2lsZW5jZTogRml4ICdhcmd1bWVudCB0byAnc2l6ZW9mJyBpbiAnbWVtc2V0JyBjYWxsIGlzIHRoZSBzYW1lIGV4cHJlc3Npb24gYXMgdGhlIGRlc3RpbmF0aW9uJyBjb21waWxlciB3YXJuaW5nCgoyMDEyLTAzLTA2IDE0OjQ2OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEZpeCAnY29tcGFyaXNvbiBvZiB1bnNpZ25lZCBleHByZXNzaW9uID49IDAgaXMgYWx3YXlzIHRydWUnIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDMtMDYgMTQ6NDQ6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogRml4ICd2YXJpYWJsZSAncGlkJyBpcyB1bmluaXRpYWxpemVkIHdoZW4gdXNlZCBoZXJlJyBjb21waWxlciB3YXJuaW5nCgoyMDEyLTAzLTA2IDE0OjQzOjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogRml4ICdleHByZXNzaW9uIHJlc3VsdCB1bnVzZWQnIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDMtMDYgMTQ6NDE6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJICBkY2NwOiBGaXggJ2NvbXBhcmlzb24gb2YgdW5zaWduZWQgZXhwcmVzc2lvbiA8IDAgaXMgYWx3YXlzIGZhbHNlJyBjb21waWxlciB3YXJuaW5nCgoyMDEyLTAzLTA2IDE0OjM4OjQ3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYmFzZWF1ZGlvdmlzdWFsaXplcjogRml4ICdjb21wYXJpc29uIG9mIHVuc2lnbmVkIGV4cHJlc3Npb24gPj0gMCBpcyBhbHdheXMgdHJ1ZScgY29tcGlsZXIgd2FybmluZwoKMjAxMi0wMy0wNSAxMjo0NjoxMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYWNrZXRpemVyOiBIYW5kbGUgcm9sbG92ZXIgaW4gb2Zmc2V0IGNhbGN1bGF0aW9ucwoKMjAxMi0wMy0wNSAxMjo0Mzo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5jOgoJICB4LXJhdy1iYXllciAtPiB4LWJheWVyCgoyMDEyLTAzLTA1IDEyOjAzOjIzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wbGV4L01ha2VmaWxlLmFtOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSAgdXNlIG5ldyBzdHlsZSBjYXBzCgoyMDEyLTAzLTA1IDExOjI3OjUxICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIHRzZGVtdXg6IHByaW50ZiBmaXgKCjIwMTItMDMtMDUgMTA6MTQ6NDYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L1RPRE86CgkgIHRzZGVtdXg6IFVwZGF0ZSBUT0RPCgoyMDEyLTAzLTA1IDA5OjQ2OjE3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzOiBTd2l0Y2ggcmFuayBvZiBtcGVndHNkZW11eCBhbmQgdHNkZW11eAoJICBNb3JlIGVmZm9ydCBoYXMgYmVlbiBwdXQgbGF0ZWx5IGluIHRzZGVtdXggYW5kIHdvcmtzIGluIG1vcmUgdXNlIGNhc2VzCgoyMDEyLTAzLTA1IDA5OjM4OjU3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFB1c2ggcGFja2V0cyBhcyBlYXJseSBhcyBwb3NzaWJsZQoJICBXaGVuIHRoZSBQRVMgaGVhZGVyIHRlbGxzIHVzIGhvdyBiaWcgdGhlIG91dGdvaW5nIHBhY2tldCBpcywgcHVzaCB0aGUKCSAgcGFja2V0IGRvd25zdHJlYW0gYXMgc29vbiBhcyB3ZSBoYXZlIHRoZSBzcGVjaWZpZWQgc2l6ZSBpbnN0ZWFkIG9mIHdhaXRpbmcKCSAgZm9yIHRoZSBiZWdpbm5pbmcgb2YgdGhlIG5leHQgcGFja2V0LgoJICBSZWR1Y2VzIGxhdGVuY3kgYW5kIHJlbW92ZXMgaXNzdWVzIHdpdGggdmVyeSBzcGFyc2Ugc3RyZWFtcyAobGlrZSBzdWJ0aXRsZXMKCSAgYW5kIHN1YnBpY3R1cmVzKS4KCjIwMTItMDMtMDQgMjE6NTQ6MDggKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSAgc2htOiBhZGQgbWluaW1hbCBkb2MgYmxvYnMKCjIwMTItMDItMjggMjE6MDA6MjQgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBGaXggaW4gc2hlbGxfc3VyZmFjZV9zZXRfZnVsbHNjcmVlbgoKMjAxMi0wMi0xNiAyMjoyNzoyMyArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgd2F5bGFuZHNpbms6IE1vcmUgZml4ZXMgLS0gdXBkYXRlIHRvIFdheWxhbmQgMC44NSBwcm90b2NvbCAtLSBBZGRlZCBzaGVsbCBzdXJmYWNlIC0tIEFkZGVkIGZvcm1hdCBxdWVyeSBmb3Igc2htIGZvcm1hdCAtLSBDcmVhdGUgdGhlIHdpbmRvdyBiYXNlZCBvbiB3aWR0aCBhbmQgaGVpZ2h0IG9mIHZpZGVvIGV4dHJhY3RlZCBmcm9tIHVwc3RyZWFtIGNhcHMuCgoyMDExLTExLTAyIDE2OjIzOjAyICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJICBVcGRhdGUgd2l0aCBuZXcgQVBJcyBpbiB3YXlsYW5kLWNsaWVudC4KCjIwMTEtMTEtMDIgMTM6NTE6MTMgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkgIE1vcmUgRml4ZXM6ICogQWRkaW5nIGJ1ZmZlcl9hbGxvYyAqIHBlcmZvcm0gYnVmZmVyX2RhbWFnZSBiZWZvcmUgc3VyZmFjZV9hdHRhY2ggKiBGaXggdHlwbywgUmVtb3ZlIERlYWQgY29kZSBldGMuCgoyMDExLTExLTAyIDExOjAyOjExICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkgIEluaXRpYWwgQ29tbWl0OiBBZGRpbmcgV2F5bGFuZCBWaWRlbyBTaW5rCgoyMDExLTEyLTEzIDIzOjQzOjU5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBzZW5kIGR1cmF0aW9uIG1lc3NhZ2Ugb24gZHVyYXRpb24gdXBkYXRlcwoJICBXaGVuIHdlIGtub3cgYSBuZXcgZHVyYXRpb24sIHJlcG9ydCBpdC4gQWRkIG1vcmUgbG9nZ2luZy4KCjIwMTEtMTItMTMgMTA6MjY6NTAgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9SRUFETUU6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IHBsYW5uaW5nICsgZXhhbXBsZSB1cGRhdGUKCjIwMTItMDMtMDMgMTk6MDM6MTEgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2J1ZmZlcmZhY3RvcnkubToKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSAgYXBwbGVtZWRpYTogcG9ydCB2dGRlYwoKMjAxMi0wMy0wMyAxODo1NzowNyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jbWFwaS5oOgoJICBhcHBsZW1lZGlhOiB1cGRhdGUgc2lnbmF0dXJlIG9mIENNU2FtcGxlQnVmZmVyQ3JlYXRlIGFuZCBDTUJsb2NrQnVmZmVyQ3JlYXRlV2l0aE1lbW9yeUJsb2NrCgkgIENoYW5nZSBkYXRhIHR5cGUgZm9yIGNvdW50ZXJzIHBhc3NlZCBvbiB0aGUgc3RhY2sgZnJvbSBVSW50MzIgdG8gc2l6ZV90LiBGaXhlcwoJICA2NGJpdCBidWlsZHMuCgoyMDEyLTAzLTAyIDA4OjEzOjEwICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NtYXBpLmg6CgkgIGFwcGxlbWVkaWE6IHVwZGF0ZSBmb3JtYXQgZGVzY3JpcHRpb24gaGVscGVyIHNpZ25hdHVyZQoJICBVcGRhdGUgdGhlIEZpZ1ZpZGVvRm9ybWF0RGVzY3JpcHRpb25DcmVhdGVXaXRoU2FtcGxlRGVzY3JpcHRpb25FeHRlbnNpb25BdG9tCgkgIHNpZ25hdHVyZSB0byBtYXRjaCB0aGUgaW1wbGVtZW50YXRpb24gb24gT1NYIExpb24uCgoyMDEyLTAzLTAyIDIxOjQxOjM5ICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2R4Lmg6CgkgIGQzZHZpZGVvc2luazogZml4IGNvbXBpbGVyIHdhcm5pbmdzIGFuZCBidWlsZCBmYWlsdXJlIHdpdGggbWluZ3cKCSAgc2hhcmVkLmQzZGRldiB3YXMgcmVtb3ZlZCBhIHdoaWxlIGJhY2ssIG5vdCBzdXJlIGhvdyB0aGlzIHN0aWxsCgkgIGNvbXBpbGVzIGZvciBhbnlvbmUgKHRwbSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTM3MTgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MDE0MwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2OTA1CgoyMDEyLTAzLTAzIDE1OjU3OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB1c2UgQVNfTElCVE9PTCBhbmQgYnVtcCB2ZXJzaW9uIGZvciBBQkkgY2hhbmdlIGluIGguMjY0IGNvZGVjIHBhcnNlcgoJICBCYWNrcG9ydGVkIGZyb20gdGhlIDAuMTAgcmVsZWFzZSBicmFuY2gsIHdoZXJlIHYuMjMgd2FzIHVzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzEyMDMKCjIwMTItMDMtMDIgMTE6NDU6NDEgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiByZWNvcmQgbnVtYmVyIG9mIGVtdWxhdGlvbiBwcmV2ZW50aW9uIGJ5dGVzIGluIHNsaWNlX2hlYWRlcigpLgoJICBTb21lIGhhcmR3YXJlIHZpZGVvIGRlY29kZSBhY2NlbGVyYXRpb24gQVBJIChWQS1BUEksIERYVkEpIHJlcXVpcmUKCSAgYSBiaXQgY291bnQgdG8gdGhlIGZpcnN0IG1hY3JvYmxvY2ssIG1pbnVzIHRoZSBudW1iZXIgb2YgZW11bGF0aW9uCgkgIHByZXZlbnRpb24gYnl0ZXMuIFNvLCBpbnN0ZWFkIG9mIGhhdmluZyB0aGUgY29uc3VtZXIgb2YgdGhlIGxpYnJhcnkKCSAgc2NhbiB0aGUgc2xpY2VfaGVhZGVyKCkgYWdhaW4sIGp1c3QgcmVjb3JkIHRoYXQgbnVtYmVyIHdoaWxlIHBhcnNpbmcuCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTIwMwoKMjAxMi0wMy0wMyAxNTo0NzowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJICB0c2RlbXV4OiBmaXggY29uZnVzaW5nIHZhcmlhYmxlIG5hbWUKCjIwMTItMDMtMDIgMTc6MTE6MzMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRml4IHNlZ21lbnQgc3RhcnQgcG9zaXRpb24KCSAgSWYgd2UgKnJlYWxseSogY2FuJ3QgZmlndXJlIG91dCB0aGUgZmlyc3Qgc3RhcnQgcG9zaXRpb24sIHRoYXQgbW9zdAoJICBsaWtlbHkgbWVhbnMgdGhlIGRhdGEgdG8gcHVzaCBvdXQgZG9lc24ndCBoYXZlIGFueSB0aW1lc3RhbXAuCgkgIFVzZSBhIGRlZmF1bHQgdmFsdWUgb2YgMCB0aGVuCgoyMDEyLTAzLTAyIDE3OjEwOjI4ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IEZsdXNoIG91dCB0aGUgcGFja2V0aXplciBvbiBmbHVzaGluZyBzZWVrcwoJICAuLi4gZWxzZSB3ZSBlbmQgdXAgd2l0aCBib2d1cyBkYXRhL29mZnNldHMKCjIwMTItMDItMjkgMTE6MTQ6MTUgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEFjdGl2YXRlIHBhZHMgb25seSB3aGVuIHJlY2VpdmluZyBkYXRhIGZvciB0aGUgc3RyZWFtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzA5MjEKCjIwMTItMDMtMDIgMTU6Mzc6NTcgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL01ha2VmaWxlLmFtOgoJICBkM2R2aWRlb3Npbms6IGFkZCBtaXNzaW5nIGRpcmVjdHggaGVhZGVycwoKMjAxMi0wMy0wMiAxMTowNzo0NyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBGaXggbGV2ZWwgY29kZQoJICBWYWxpZCByYW5nZXMgICAgICAgICAgICBhcmUgZnJvbSA0IHRvIDEwCgkgIFZhbGlkIHJhbmdlcyA+PiAxICAgICAgIGFyZSBmcm9tIDIgdG8gNQoJICBWYWxpZCByYW5nZXMgPj4gMSAtIDIgICBhcmUgZnJvbSAwIHRvIDMKCSAgKGFuZCBub3QgZnJvbSAxIHRvIDQpCgoyMDEyLTAzLTAyIDEwOjU0OjQ4ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IENoZWNrIGhhcmRlciBmb3IgcHJvZ3JhbSBjaGFuZ2VzCgkgIEFuZCBkb24ndCBqdXN0IHJlbHkgb24gdGhlIHNlY3Rpb24gY3JjL3ZlcnNpb25fbnVtYmVyIGNoYW5naW5nIHRvCgkgIGluZGljYXRlIHRoYXQgdGhlIHByb2dyYW0gYWN0dWFsbHkgY2hhbmdlZC4KCjIwMTItMDMtMDEgMTg6NDY6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRidWZmZXJwb29sLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0YnVmZmVycG9vbC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVycG9vbC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVycG9vbC5oOgoJICB2ZHBhdTogcmVsaWNlbnNlIGZvdXIgc291cmNlIGZpbGVzIGZyb20gR1BMMysgdG8gTEdQTDIrCgkgIFRoZXNlIHNvdXJjZSBmaWxlcyB3ZXJlIG1pc3Rha2VubHkgbGljZW5zZWQgYXMgR1BMMywgdGhlCgkgIGF1dGhvciAoQ2FybC1BbnRvbiBJbmdtYXJzc29uKSBoYXMgZ2l2ZW4gcGVybWlzc2lvbiB0bwoJICByZWxpY2Vuc2UgdGhlbSB0byBMR1BMMisuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzExNDIKCjIwMTItMDMtMDEgMTg6MDU6MTcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIG1wZWd0c2Jhc2UvdHNkZW11eDogUmVmYWN0b3Igc2VlayBhbmQgc2VnbWVudCBoYW5kbGluZwoJICBBbGwgY2FsY3VsYXRpb25zIGdvIHRocm91Z2ggdGhlIG1wZWd0c3BhY2tldGl6ZXIKCSAgUmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMvY29kZQoKMjAxMi0wMy0wMSAxNzo1OTo1NyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBFcnJvciBvdXQgb24gRU9TIHdpdGhvdXQgYW55IHBhZAoJICBBdm9pZHMgZW5kaW5nIHVwIHdpdGggaGFuZ2luZyBwaXBlbGluZXMKCjIwMTItMDMtMDEgMTc6NTY6MzQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzcGFja2V0aXplcjogT2Zmc2V0IGNhbGN1bGF0aW9uCgkgIEFsbG93cyBQQ1I8PT5QVFM8PT5vZmZzZXQgZXN0aW1hdGlvbi9jYWxjdWxhdGlvbgoJICBSaWdodCBub3cgdGhlIGNhbGN1bGF0aW9uIGlzIHZlcnkgbmFpdmUsIGJ1dCBjYW4gYmUgZXh0ZW5kZWQgbGF0ZXIgb24KCSAgd2l0aG91dCBkaXNydXB0aW5nIHRoZSBjb2RlIGluIHRzZGVtdXgvbXBlZ3RzYmFzZQoKMjAxMi0wMy0wMSAxNzo1Mzo0MSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYWNrZXRpemVyOiBjbG9jayBmaXggYW5kIG1pbm9yIGFkZGl0aW9uCgkgICogRG9uJ3QgdGFrZSBpbnRvIGFjY291bnQgcGFja2V0cyB0aGF0IGFycml2ZWQgYXQgdGhlIHNhbWUgdGltZSBhcwoJICBwcmV2aW91cyBvbmVzIGZvciBjbG9jayBza2V3IGVzdGltYXRpb24KCSAgKiBBZGQgY29udmVuaWVuY2UgbWV0aG9kIGZvciBwcm9jZXNzaW5nIHRoZSBuZXh0IHRzIHBhY2tldAoKMjAxMi0wMi0yOSAxODoxOToyMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBSZXZlcnQgIm1wZWd0c2RlbXV4OiBOb3QgYXBwbHkgdmFyaW91cyB0aW1lIHRoZSBzYW1lIFBNVCB0byBhIHByb2dyYW0gd2hlbiByZXBldGVhZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA4Y2IwZTg3ZjU2MjM4MzZkZGMzNjFlYjkxZGNmOWI1MGI0ODA0OGU3LgoJICBtcGVndHNwYWNrZXRpemVyIGFscmVhZHkgY2hlY2tzIGlmIGl0J3MgYSBuZXcgUE1UIG9yIG5vdAoKMjAxMi0wMi0yOSAxMDozMzowMCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGF5bG9hZF9wYXJzZXJzLmM6CgkqIGdzdC9tcGVndHNkZW11eC9wYXlsb2FkX3BhcnNlcnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgdHNkZW11eDogUmVtb3ZlIGFsbCBzZWVraW5nIGNvZGUKCSAgSXQgd2FzIG1vcmUgdGhhbiBib2d1cwoKMjAxMi0wMi0yOSAxNzoyNjoyOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZW1ldGEuaDoKCSAgdXBkYXRlIGZvciBtZXRhZGF0YSBBUEkgY2hhbmdlcwoKMjAxMi0wMi0xNCAxMTo1NzowMCArMDEwMCAgWGF2aWVyIFF1ZXJhbHQgPHhxdWVyYWx0QGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRvbid0IHNldCB0aGUgZmV0Y2hlcidzIGxvY2F0aW9uIHR3aWNlCgkgIENhbGxpbmcgZ3N0X2VsZW1lbnRfbWFrZV9mcm9tX3VyaSBhbHJlYWR5IGRvZXMgaXQgYW5kIGZpbGVzcmMKCSAgZmFpbHMgd2hlbiB1c2luZyBmaWxlIHByb3RvY29sIGluIGEgbG9jYXRpb24KCjIwMTItMDItMjggMTY6Mjc6NTUgKzAxMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BtdGluZm8uYzoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BtdHN0cmVhbWluZm8uYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSogc3lzL2R2Yi9jYW11dGlscy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0X2VsZW1lbnRfcHJpbnRfcHJvcGVydGllcy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmM6CgkgIEFkZCBtaXNzaW5nIEdMSUJfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUwoJICBTdXBwcmVzcyB3YXJuaW5ncyBhYm91dCBkZXByZWNhdGVkIHRocmVhZGluZyBhbmQgR1ZhbHVlQXJyYXkKCSAgQVBJLCBzbyBnaXQgY29tcGlsZXMgd2l0aCAtV2Vycm9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcwOTgyCgoyMDEyLTAyLTI0IDA5OjU0OjM1ICswMTAwICBYYXZpZXIgUXVlcmFsdCA8eHF1ZXJhbHRAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZG9uJ3QgZmFpbCBmb3IgcGxheWxpc3RzIHNtYWxsZXIgdGhhbiBmcmFnbWVudHMtY2FjaGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MDk2MwoKMjAxMi0wMi0yOCAxMTozOToxOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlbWV0YS5jOgoJICB1cGRhdGUgZm9yIG1ldGFkYXRhIHRhZ3MKCjIwMTItMDItMjggMDg6MTM6MDQgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkgIGFwcGxlbWVkaWE6IHBvcnQgcXRraXR2aWRlb3NyYwoKMjAxMi0wMi0yNyAwOTo0NToyOSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogY2F0Y2ggc2VjdGlvbiBsZW5ndGhzIGV4dGVuZGluZyBwYXN0IHRoZSBidWZmZXIgbGVuZ3RoCgkgIFRoaXMgaXMgcHJvYmFibHkgdGhlIGNhdXNlIGZvciBhbiBvY2Nhc2lvbmFsIGNyYXNoIHdoaWxlIHN0cmVhbWluZwoJICBNUEVHLiBCbGluZCBmaXggYWZ0ZXIgc3RhcmluZyBhdCB0aGUgY29kZSBhbmQgZm9sbG93aW5nIGxvZ2ljLCBzbwoJICBtYXkgb3IgbWF5IG5vdCBmaXggdGhlIGlzc3VlLCBJIGNhbm5vdCB0ZXN0LgoJICAoUG9ydCBvZiA0Mjc1YTcwY2I1NWQzNzVhZmE3MDI5MTdmNzM1OWVjMTE3ZWQ0OWQ0IGZyb20gbXBlZ2RlbXV4KQoKMjAxMi0wMi0yNyAwOTo0MjoyNyAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogc3VwcG9ydCBtb3JlIGNoYXJhY3RlciBzZXQgZW5jb2RpbmdzCgkgIFN1cHBvcnQgVVRGLTE2QkUsIEVVQy1LUiAoS1NYMTAwMSksIEdCMjMxMiBhbmQgSVNPLTEwNjQ2L1VURjggdGV4dAoJICBlbmNvZGluZyBhbmQgZml4ZWQgbmV3IGxpbmUgZm9yIG11bHRpYnl0ZSBlbmNvZGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY0MjU3CgkgIChQb3J0IG9mIDk3NTlkNjY0MDdmMmJlOGVjMjk5NzViMGVmZjMyMzBiYjFkYWUwZWYgZnJvbSB0aGUgbXBlZ3RzZGVtdXgKCSAgZWxlbWVudCkKCjIwMTItMDItMjcgMTM6MTM6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgYXVkaW9lbmNvZGVyczogY2hhaW4gdXAgdG8gcGFyZW50IGV2ZW50IGhhbmRsZXIKCjIwMTItMDItMjYgMjA6NDM6MzIgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2FkcGNtZGVjL01ha2VmaWxlLmFtOgoJICBhZHBjbWRlYzogbGluayB0byBsaWJnc3RiYXNlCgoyMDEyLTAyLTI0IDE5OjA4OjQwIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICB0c2Jhc2U6IEZpeCBwYXJzaW5nIG9mIFBTSSB0YWJsZSBJRHMKCSAgKFBvcnRlZCBmcm9tIG1wZWd0c2RlbXV4IGQ4ZmQ4NzRmNTI5MGU0OTExNDM3MTIwMDU3ZWU4ODVjZGI2OGI0YWYpCgoyMDEyLTAyLTI0IDE1OjI2OjIxIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBdm9pZCB1bmxpbmtlbHkgbGVha3MgYW5kIHNlZ2ZhdWx0CgoyMDEyLTAyLTI0IDE3OjUzOjUyICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFVzZSBuZXcgY2xvY2sgc2tldyBlc3RpbWF0aW9uIGZvciBvdXRnb2luZyB0aW1lc3RhbXBzCgkgIE9ubHkgdXNlZCBpbiBsaXZlIG1vZGUKCjIwMTItMDItMjQgMTc6NTI6MzMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogVmFyaW91cyBjb2RlIGNsZWFudXAgYW5kIGRlYWQgY29kZSByZW1vdmFsCgoyMDEyLTAyLTI0IDE3OjQ3OjM4ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEZpeCBpc3N1ZXMgd2l0aCBza2V3IGNvZGUKCSAgKiBBbHdheXMgdHJ5IHRvIGdldCBhIHRpbWVzdGFtcCBmb3IgdGhlIGFsZ29yaXRobQoJICAqIFJlbW92ZSBkZWFkIHZhcmlhYmxlCgkgICogUmV0dXJuIHByb3BlciBkZWZhdWx0IHZhbHVlCgoyMDEyLTAyLTI0IDE3OjA3OjQzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogVGltZXN0YW1wIG91dHB1dCBieSBkZWZhdWx0CgkgIEFsbG93cyBkb3duc3RyZWFtIGVsZW1lbnRzIChsaWtlIGRlbXV4ZXJzIG9yIHBhcnNlcnMpIHRvIGRvIHJlbW90ZQoJICBjbG9jayByYXRlL3NrZXcgZXN0aW1hdGlvbi4KCjIwMTItMDItMjQgMTI6NTM6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RhdGF1cmlzcmMuYzoKCSAgZGF0YXVyaXNyYzogZml4IGRvY3MgYW5kIHVuaXQgdGVzdAoKMjAxMi0wMi0yMyAxNDo0NjowOSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzcGFja2V0aXplcjogRXN0aW1hdGUgY2xvY2sgc2tldyBhbmQgcmV0aW1lc3RhbXBzIGJ1ZmZlcnMgbW9yZSBwcmVjaXNseQoJICBBcHBseSB0aGUgRVBUTEEgYWxnb3RpdGhtIHRvIGVzdGltYXRlIGNsb2NrIHNrZXcuCgkgIFJldXNpbmcgY29kZSBmcm9tICAtZ29vZC9nc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYwoKMjAxMi0wMi0yMSAxMToxMjo1MyAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQ2xlYW4gdXAgQUFDIGNhcHMgbWVzcwoKMjAxMi0wMi0yMCAxNzo0NzoxMSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkgIHRzZGVtdXg6IFJlaW5kZW50IGdzdG1wZWdkZXNjLmgKCjIwMTItMDItMjAgMTc6MzI6MjEgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBTdXBwb3J0IG1vcmUgRFRTL0FDMyBkZXNjcmlwdG9ycwoKMjAxMi0wMi0yMyAxODoxNzo1MCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBSZW1vdmUgdXNlbGVzcyBmaW5hbGl6ZSgpCgoyMDEyLTAyLTI0IDEwOjI2OjQ0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VtZXRhLmM6CgkgIHVwZGF0ZSBmb3IgbWV0YWRhdGEgY2hhbmdlcwoKMjAxMi0wMi0yNCAxMDoyMTozMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214Zm11eC5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbXhmLmM6CgkgIHRlc3RzOiBmaXggc29tZSBjYXBzCgoyMDEyLTAyLTIzIDIyOjA0OjI0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogZml4dXAgbmFzdHkgdHlwbyBicmVha2luZyBjb21waWxhdGlvbgoKMjAxMi0wMi0yMyAyMToxNzo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGNvbnNpZGVyIG5hbF9sZW5ndGhfc2l6ZSB3aGVuIGNvbnN0cnVjdGluZyBjb2RlY19kYXRhCgkgIEZpeGVzICM2NzA2OTkuCgoyMDEyLTAyLTIzIDIxOjE2OjE4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogZGlzY2FyZCBmcmFtZSB1cG9uIGRlY29kaW5nIGVycm9yCgoyMDExLTExLTA4IDIwOjE5OjQxICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIHRzZGVtdXg6IFVzZSBpbmNvbWluZyB0aW1lc3RhbXBzIGluIGxpdmUgbW9kZQoKMjAxMS0xMS0wOCAyMDoxMjo1MCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBSZXBvcnQgbGF0ZW5jeSAoNzAwbXMpCgoyMDExLTExLTA4IDA5OjQ0OjE4ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkgIG1wZWd0c2Jhc2U6IFF1ZXJ5IHdoZXRoZXIgdXBzdHJlYW0gaXMgbGl2ZSBvciBub3QKCjIwMTItMDItMjMgMTE6NTU6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXhzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbjIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yc3BhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVja2xpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFjZW92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVldmVyYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NldHRpbmdzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGluc3lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBhdGNoZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQnVtcCB2ZXJzaW9uIGFmdGVyIHJlbGVhc2UKCjIwMTItMDItMjIgMTU6NDE6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zY2hyb2VuYy5jOgoJICB0ZXN0OiBwb3J0IHNjaHJvZW5jIHVuaXQgdGVzdAoKMjAxMi0wMi0yMiAxMTo0NDoyMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmg6CgkgIHNjaHJvOiBQb3J0IHRvIDAuMTEKCSAgV29ya3Mgd2l0aCBzb21lIHNhbXBsZSBmaWxlcy4gVGhlcmUgc2VlbXMgdG8gYmUgc29tZSB0aW1lc3RhbXBpbmcgaXNzdWUgdGhvdWdoLAoJICBidXQgdGhlIDAuMTAgdmVyc2lvbiBhbHNvIGNvbXBsYWlucyBhYm91dCB0aGF0IHRvby4KCjIwMTItMDItMjEgMTg6NTY6NDIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogYXV0b2dlbi5zaDoKCSAgYXV0b2dlbi5zaDogYXZvaWQgdG91Y2hpbmcgLnBvIGZpbGVzIGR1cmluZyAnbWFrZScKCSAgQSBzaW1wbGUgd29ya2Fyb3VuZCB0byBkZWFsIHdpdGggR05VIGdldHRleHQgYXV0b21ha2UgaW50ZWdyYXRpb24KCSAgZmFpbGluZyB0byBkZWFsIHdpdGggZ2l0LiAgRml4ZXMgIzY2OTIwNwoKMjAxMi0wMi0yMiAwMjowNjozOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgdXBkYXRlIGZvciBuZXcgbWVtb3J5IGFwaQoKMjAxMi0wMi0yMSAxNjo1MzozNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSAgdmlkZW86IE1vcmUgZG9jdW1lbnRhdGlvbgoKMjAxMi0wMi0yMSAxNjo1Mjo0OSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSAgYmFzZXZpZGVvY29kZWM6IERvY3VtZW50IHN0cnVjdHVyZXMKCjIwMTItMDItMjEgMTA6MDY6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jCgoyMDEyLTAyLTIwIDIwOjExOjEzIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogRml4IHYyMTAgd3JpdGluZyBvdXQgb2YgYm91bmRzCgoyMDEyLTAyLTIwIDE4OjQzOjUxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IHJlbW92ZSBHU1RfRVJST1IKCjIwMTItMDItMjAgMTE6NDI6MjMgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZ3N0LXByb2plY3QtbWFrZXI6CgkgIGdzdC1wcm9qZWN0LW1ha2VyOiBDcmVhdGUgdG9vbHMsIHBhc3MgbWFrZSBkaXN0Y2hlY2sKCSAgQ3JlYXRlIGEgdG9vbHMgZGlyZWN0b3J5IGZvciBhbiBhcHBsaWNhdGlvbi4gIEFkZCBzb3VyY2UgY29kZQoJICBzdHVicyB0byBhbGxvdyB0aGUgcHJvamVjdCB0byBjb21waWxlIGFuZCBwYXNzIG1ha2UgZGlzdGNoZWNrLgoJICBBZGQgbm90ZXMgaW4gc291cmNlIGNvZGUgdG8gdGVsbCB0aGUgdXNlciBob3cgdG8gY3JlYXRlIHBsdWdpbgoJICBvciBhcHAgY29kZSB1c2luZyB0aGUgb3RoZXIgLW1ha2VyIHNjcmlwdHMuCgoyMDEyLTAxLTI2IDA2OjU4OjQ2IC0wNTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEyLTAyLTIwIDE2OjA3OjUwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jCgkgIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYwoKMjAxMi0wMS0yNiAxNjozMjoxNyAtMDUwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdSBzaG91bGQgZm9yd2FyZCB2aWRlbyBjYXBzIGV2ZW50CgoyMDEyLTAyLTIwIDE0OjMyOjEyICswMDAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIEFkZCBsYXRlc3QgZmlsZXMgdG8gc3BlYwoKMjAxMi0wMi0yMCAxMjo0Mjo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkgIGRlY2tsaW5rOiBBZGQgJChHU1RfUExVR0lOU19CQVNFX0NGTEFHUykgYW5kICQoR1NUX1BMVUdJTlNfQkFTRV9MSUJTKSB0byBmaXggdGhlIGJ1aWxkCgoyMDEyLTAyLTIwIDEwOjU4OjA5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJICBnbGliLWNvbXBhdC1wcml2YXRlLmggdG8gZGlzdAoKMjAxMi0wMi0xOSAxNTo1NDozOSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9nc3QtcHJvamVjdC1tYWtlcjoKCSAgZ3N0LXByb2plY3QtbWFrZXI6IENyZWF0ZSBhdXRvdG9vbHMgcHJvamVjdAoJICBUaGlzIGlzIGEgcmVwbGFjZW1lbnQgZm9yIGdzdC10ZW1wbGF0ZSB0aGF0IGNyZWF0ZXMgYW4gZW50aXJlCgkgIGF1dG90b29scyBwcm9qZWN0IChjdXN0b21pemVkIHRvIHBhY2thZ2UgbmFtZSksIGFuZCBwb3B1bGF0ZXMKCSAgaXQgd2l0aCB0aGUgc291cmNlIGZvciBhIEdTdHJlYW1lciBwbHVnaW4gKGJ1dCBubyBwbHVnaW4gZmVhdHVyZXMsCgkgIHRob3NlIGNvbWUgZnJvbSBnc3QtZWxlbWVudC1tYWtlcikuICBGaXhlczogIzY2NTcyNy4KCjIwMTItMDItMTkgMTI6NTc6MzkgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIHByaW50ZiBmb3JtYXQgZml4ZXMKCjIwMTItMDItMTkgMDA6MTU6NDcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBjbGFtcCBpbnRlcm1lZGlhdGVzIHdoZW4gZGl0aGVyaW5nCgoyMDEyLTAxLTIzIDA5OjA1OjIxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmg6CgkgIGRlY2tsaW5rOiBBZGQgMTAtYml0IHN1cHBvcnQKCjIwMTItMDEtMjMgMDk6MDI6MzcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5jOgoJICBzY2hybzogQWRkIFJHQiBzdXBwb3J0CgkgIFRoaXMgdXNlcyB0aGUgYXV0b21hdGljIFlDb0NnIGNvbnZlcnNpb24gaW5zaWRlIFNjaHJvZWRpbmdlciB0bwoJICBlbmNvZGUvZGVjb2RlIFJHQi4gIE9ubHkgd29ya3MgaW4gaW50cmEtb25seSBtb2RlLCBzaW1pbGFyIHRvIDEwLQoJICBhbmQgMTYtYml0LCBzaW5jZSBSR0IgaXMgdGVjaG5pY2FsbHkgYSA+OC1iaXQgZm9ybWF0IGZvciBEaXJhYwoJICBwdXJwb3Nlcy4gIFRoaXMgZGVwZW5kcyBvbiBzY2hyb2VkaW5nZXItMS4wLjEyLCB3aGljaCBpcyB1bnJlbGVhc2VkLgoKMjAxMi0wMi0xOCAwMDowMTo1NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IGJhY2sgdG8gZGV2ZWxvcG1lbnQKCjIwMTItMDItMTcgMTI6MTU6MjcgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2RlbXV4OiBOb3QgYXBwbHkgdmFyaW91cyB0aW1lIHRoZSBzYW1lIFBNVCB0byBhIHByb2dyYW0gd2hlbiByZXBldGVhZAoJICBTb21ldGltZXMgdGhlaXIgYXJlIHNldmVyYWwgdGltZXMgdGhlIHNhbWUgUE1UIGFwcGx5aW5nIHRvIGEgc2FtZSBwcm9ncmFtIGluIGEgc3RyZWFtLAoJICB0c2RlbXV4IHdhcyB0b3RhbGx5IGJhZmZsZWQgd2hlbiB0aGlzIHdhcyBoYXBwZW5pbmcsIHdlIG5vdyBrZWVwIHRoZSBvbmUgd2UKCSAgYWxyZWFkeSBhcHBsaWVkIHNvIGl0IHdvcmtzIHByb3Blcmx5LgoKMjAxMi0wMi0xNiAwOTo1NDoyNCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgdHNkZW11eDogZml4IGdsaWIgZGVwcmVjYXRpb24KCjIwMTItMDItMTcgMTE6MDY6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuMSA9PT0KCjIwMTItMDItMTcgMTE6MDU6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluMi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5oOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0LmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5oOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJFTEVBU0UgMC4xMS4xCgoyMDEyLTAyLTE3IDA5OjAxOjU2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMi0wMi0xNiAxNjozMDowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBQdXQgc291cmNlIHRvIG51bGwgd2hlbiByZXNldHRpbmcgY2FwcwoJICBJdCBzZWVtcyB0aGF0IHY0bDJzcmMgaXNuJ3QgaGFwcHkgd2hlbiBzd2l0Y2hpbmcgZm9ybWF0cyBvbiByZWFkeQoJICBzdGF0ZSwgaXQgd29ya3Mgd2hlbiBwdXR0aW5nIGl0IHRvIE5VTEwuIEtlZXAgdGhpcyB3b3JrYXJvdW5kIGluCgkgIHdyYXBwZXJjYW1lcmFiaW5zcmMgd2hpbGUgdjRsMnNyYyBpc24ndCBmaXhlZC4KCSAgRml4ZXMgIzg0OTgzMgoKMjAxMi0wMi0xNiAxNDozMzoyMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jCgkgIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmMKCSAgZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYwoJICBnc3QvbXZlL2dzdG12ZWRlbXV4LmMKCjIwMTItMDItMTYgMDE6MTI6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogUHV0IHNvdXJjZSBpbiBOVUxMIHdoZW4gaXQgZmFpbHMgY2hhbmdpbmcgc3RhdGUKCSAgV2hlbiBzb3VyY2UgaXMgYmVpbmcgcmVzZXQgdG8gY2hhbmdlIGNhcHMsIGNoZWNrIHRoZSByZXR1cm4gb2YKCSAgdGhlIHN0YXRlIHN5bmNpbmcgZnVuY3Rpb24gdG8gYXZvaWQgbGVhdmluZyB0aGUgc291cmNlIGluIGFuCgkgIHVuY29uc2lzdGVudCBzdGF0ZS4KCjIwMTItMDItMTYgMDA6MzA6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L212ZS9nc3RtdmVkZW11eC5jOgoJICBtdmU6IGRvbid0IHJldHVybiBhIGJvb2xlYW4gZm9yIGEgR3N0Rmxvd1JldHVybgoJICBmaXhlcyBwbGF5YmFjay4KCjIwMTItMDItMTUgMTA6MzI6MTcgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEF2b2lkIHRocm93aW5nIEZMT1dfRVJST1Igb24gbGFzdCBQQ1IgcHJvY2Vzc2luZyBlcnJvcgoJICBJbiB0aGUgY2FzZSBvZiBzY2FubmluZyBsYXN0IHBjciwgZXJyb3JzIGFyZSBub3QgY3JpdGljYWwsIHNvIHdlIGtlZXAKCSAgdGhlIHN0cmVhbSBmbG93aW5nLgoKMjAxMi0wMi0xNCAxMTo0NDo0OCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEFkZCBBQUMgbGF0bSBzdXBwb3J0CgoyMDEyLTAyLTE1IDExOjA2OjU3IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBNaW5vciByZWZhY3RvcmluZy9jb2RlIGNsZWFuaW5nCgkgIC4uLiBhZGQgc29tZSBkZWJ1Z2dpbmcgc3ltYm9scyBpbiB0aGUgbWVhbiB0aW1lLgoKMjAxMi0wMi0xNSAxNjozODozMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IHJlbW92ZSBfY2hhaW4gaGFjawoJICBBcyB3ZSBjYW4gbm93IHJlbHkgdXBvbiBiZWluZyBwYXNzZWQgdXBzdHJlYW0gZGVsaW5lYXRlZCBkYXRhIGluCgkgIDo6aGFuZGxlX2ZyYW1lKCksIHRoZSBsYXR0ZXIgY2FuIGFsc28gcGFyc2UgYXZjIGZvcm1hdHRlZCBkYXRhCgkgIHdpdGhvdXQgaGF2aW5nIHRvIGludGVyY2VwdCBiYXNlcGFyc2UncyBjaGFpbiBmdW5jdGlvbi4KCSAgV2hpbGUgdGhpcyBldmlkZW50bHkgcmVxdWlyZXMgMiBzZXBhcmF0ZSBwYXJzaW5nIHBhdGhzLCBlYWNoIGNhbgoJICBiZSBzdHJlYW1saW5lZCBhY2NvcmRpbmdseS4KCjIwMTItMDItMTUgMTE6NTk6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IGFkanVzdCB0byBzdGFuZGFyZGl6ZWQgYmFzZXBhcnNlIGZyYW1lIHN0YXRlIHRyYWNraW5nCgoyMDEyLTAyLTE1IDE3OjE0OjM0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTItMDItMTUgMTU6MDc6MzUgKzAxMDAgIEpvbmFzIExhcnNzb24gPGpvbmFzQGhhbGxlcnVkLnNlPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IFNFSSBwYXJzaW5nCgkgIC4uLiBpbiB0aGUgcHJlc2VuY2Ugb2YgZW11bGF0aW9uX3ByZXZlbnRpb25fdGhyZWVfYnl0ZS4KCSAgRml4ZXMgIzY2ODM4MS4KCjIwMTItMDItMTUgMTQ6Mjk6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiB1c2UgcHJvcGVyIE5BTFUgb2Zmc2V0IGZvciBjb25maWcgZGF0YSBpbnNlcnRpb24KCSAgLi4uIHdoaWNoIGhhcyB0byBiZSB0aGUgcG9zaXRpb24gb2YgdGhlIHN0YXJ0IGNvZGUsIHdoaWNoIGlzIGFsbW9zdCBhbHdheXMKCSAgYnV0IG5lZWQgbm90IGJlIDQgYnl0ZXMuCgoyMDEyLTAyLTE1IDEzOjM5OjI5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSAgaDI2M3BhcnNlOiBmaXggY29tcGlsYXRpb24KCjIwMTItMDItMTUgMTM6MDI6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IGRvbid0IGxlYWsgZXZlbnQKCSAgVW5yZWYgdGhlIGV2ZW50IHdoZW4gd2UgZG9uJ3QgY2hhaW4gdXAgdG8gdGhlIHBhcmVudAoKMjAxMi0wMi0xNSAxMjo1Njo1NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZGlyYWNfcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogY2hhaW4gdXAgdG8gcGFyZW50IGV2ZW50IGhhbmRsZXIKCSAgQ2hhaW4gdXAgdG8gdGhlIHBhcmVudCBldmVudCBoYW5kbGVyIHRvIGdldCB0aGUgZGVmYXVsdCBiZWhhdmlvdXIgaW5zdGVhZCBvZgoJICByZXR1cm5pbmcgRkFMU0UuCgoyMDEyLTAyLTE0IDExOjE5OjA0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wOC0yNyAyMDo1ODo0OCArMDMwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBkaXJlY3RkcmF3c2luazogRml4IHdhcm5pbmdzIG9uIDY0IGJpdCBtaW5ndy13NjQKCSAgZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoxNTYxOjI0OiBlcnJvcjogYXNzaWdubWVudCBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUKCSAgZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoyMDI4OjM6IGVycm9yOiBmb3JtYXQgJyVkJyBleHBlY3RzIHR5cGUgJ2ludCcsIGJ1dCBhcmd1bWVudCA4IGhhcyB0eXBlICdzaXplX3QnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTc1MjIKCjIwMTItMDItMTMgMTg6NDQ6MDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBhZGp1c3QgdG8gbW9kaWZpZWQgYmFzZXBhcnNlIEFQSQoKMjAxMi0wMi0xMyAxMToxNjoyMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdGlydHNwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiBhZGp1c3QgdG8gbW9kaWZpZWQgYmFzZXBhcnNlIEFQSQoKMjAxMi0wMi0xMyAxMjoyNjoxMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeHVwIG1lcmdlCgoyMDEyLTAyLTEzIDE0OjIyOjQyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2gyNjRwYXJzZS5jOgoJICB0ZXN0czogaDI2NHBhcnNlOiBfdW5tYXAgYnVmZmVyIHVwb24gZXhpdAoKMjAxMi0wMi0xMyAyMzowNDoxMiArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBUcml2aWFsIGJ1ZyBmaXguIERvbid0IGNvcHkgZGF0YSBmcm9tIGFuIHVuaW5pdGVkIGJ1ZmZlci4KCjIwMTItMDItMTIgMjI6NTk6NTIgKzAxMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyAoYXQpIGFwZXN0YWFydCAoZG90KSBvcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpZmRzaW5rLy5naXRpZ25vcmU6CgkqIGdzdC9tdWx0aWZkc2luay9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpZmRzaW5rL2dzdG11bHRpZmRzaW5rLW1hcnNoYWwubGlzdDoKCSogZ3N0L211bHRpZmRzaW5rL2dzdG11bHRpZmRzaW5rLmM6CgkqIGdzdC9tdWx0aWZkc2luay9nc3RtdWx0aWZkc2luay5oOgoJICBtdWx0aWZkc2luazogcmVmYWN0b3JlZCBpbiAtYmFzZQoKMjAxMi0wMi0xMCAxNjo1Mjo0NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcmVwb3J0IGFmdGVyIG1lcmdlCgoyMDEyLTAyLTEwIDE2OjQ2OjUwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5jCgkgIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbQoJICBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYwoJICBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmMKCSAgZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYwoJICBnc3Qvc2RwL2dzdHNkcGRlbXV4LmMKCSAgZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYwoJICBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jCgkgIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYwoJICB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmMKCSAgdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmMKCSAgdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jCgkgIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1tYWluLmMKCjIwMTItMDItMTAgMTQ6NDY6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiB1bm9iZnVzY2F0ZSBmcmFtZSBwYXJzaW5nIGNvZGUKCjIwMTItMDItMDggMjE6MjE6NDcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobXNpbms6IGZpeCBpbmRlZmluaXRlIHdhaXQgYWZ0ZXIgYWRkaW5nIGEgbmV3IGZkIHRvIHRoZSBwb2xsIHNldAoJICBJZiB0aGUgc2Vjb25kIGNhbGwgdG8gX3dhaXQgYmxvY2tzLCB3ZSB3aWxsIG5vdCBzaWduYWwgdGhlIGNvbmRpdGlvbgoJICB2YXJpYWJsZSwgc28gZW5zdXJlIHRoYXQgc2Vjb25kIGNhbGwgaXMgbm90IGJsb2NraW5nLgoJICBTZWUgcmF0aW9uYWxlIGFuZCBpbmZvcm1hdGlvbiBpbiB0aGUgbGlua2VkIGJ1ZzoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2OTY5NwoKMjAxMi0wMi0wOSAxODowODoyMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgbW9kcGx1ZzogcG9ydCB0byAwLjExCgoyMDEyLTAyLTA5IDE0OjQyOjIzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggcmVmY291bnQgZXJyb3IKCjIwMTItMDItMDkgMDA6MDk6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wOiBkb24ndCB1c2UgZ3N0X2VsZW1lbnRfY2xhc3NfaW5zdGFsbF9zdGRfcHJvcHMoKQoJICBJdCdzIGFib3V0IHRvIGJlIHJlbW92ZWQuCgoyMDEyLTAyLTA4IDIwOjA5OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGdzdC9oMjY0cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIFJlbW92ZSBsZWdhY3loMjY0cGFyc2UgZWxlbWVudAoJICBPbmUgaDI2NCBwYXJzZXIgb3VnaHQgdG8gYmUgZW5vdWdoIGZvciBhbnlib2R5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4MDAyCgoyMDEyLTAyLTA4IDE2OjM3OjEzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2J6Mi9nc3RiejJkZWMuYzoKCSogZXh0L2J6Mi9nc3RiejJlbmMuYzoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkqIGdzdC9hdWRpb2J1ZmZlci9nc3RhdWRpb3JpbmdidWZmZXIuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RpbnB1dHNlbGVjdG9yLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXVsdGlmZHNpbmsvZ3N0bXVsdGlmZHNpbmsuYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmNwcDoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc3JjLmM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJICBHU1RfRkxPV19XUk9OR19TVEFURSAtPiBHU1RfRkxPV19GTFVTSElORwoKMjAxMi0wMi0wNyAxNzowMDoyNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3NyZW5kZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFkLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2gyNjRwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnNHZpZGVvcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd2aWRlb3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmRzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214ZmRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGRlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvemJhci5jOgoJICB0ZXN0czogZml4IG1vcmUgdW5pdCB0ZXN0cwoKMjAxMS0wOC0yMiAxNjozMTozOCArMDIwMCAgQ2Fyc3RlbiBLcm9sbCA8Y2FyQHhpbWlkaS5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJICBkM2R2aWRlb3Npbms6IGNyZWF0ZSBhIGQzZCBkZXZpY2UgZm9yIGVhY2ggc2luayBhbmQgdXNlIHRoZSBkZWZhdWx0IHN3YXAgY2hhaW4gaW4gY29ubmVjdGlvbiB3aXRoIGZsdXNoaW5nIHRoZSBHUFUgYW5kIG5vdCByZWNyZWF0aW5nIHRoZSBzd2FwIGNoYWluIHRoaXMgYXZvaWRzIHRlYXJpbmcgYWxzbyB1c2UgR1NUX3h4X0RFQlVHIG1hY3JvcyB3aGVyZSBhcHByb3ByaWF0ZQoKMjAxMS0wOC0yMiAxNDo0Njo0OCArMDIwMCAgQ2Fyc3RlbiBLcm9sbCA8Y2FyQHhpbWlkaS5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IGZsdXNoIEdQVSBiZWZvcmUgUHJlc2VudCBhZGRlZCBhbHRlcm5hdGUgd2FpdCBmb3IgdnN5bmMgbWV0aG9kIGJhc2VkIG9uIEdldFJhc3RlclN0YXR1cwoKMjAxMS0wOC0yMiAxNDozMDo0MyArMDIwMCAgQ2Fyc3RlbiBLcm9sbCA8Y2FyQHhpbWlkaS5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IGNoZWNrIGZvciBoYXJkd2FyZSBjYXBhYmlsaXRpZXMsIHdoZW4gbmVnb3RpYXRpbmcKCjIwMTEtMDgtMjIgMTQ6MTk6MDYgKzAyMDAgIENhcnN0ZW4gS3JvbGwgPGNhckB4aW1pZGkuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiByZWRyYXcgbGFzdCBidWZmZXIgd2hlbiBuZXcgd2luZG93IGhhbmRsZSBoYXMgYmVlbiBzZXQuCgoyMDExLTA4LTIyIDE0OjEzOjMwICswMjAwICBDYXJzdGVuIEtyb2xsIDxjYXJAeGltaWRpLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogYWRkZWQgTlYxMiArIGVuYWJsZWQgUkdCIHN1cHBvcnQKCjIwMTEtMDgtMjcgMTM6MDc6MDAgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IEZpeCBkZXZpY2UgaW5pdGlhbGl6YXRpb24gY2hlY2sKCjIwMTItMDItMDcgMTI6MTQ6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xlZ2FjeXJlc2FtcGxlLmM6CgkgIHRlc3RzOiBmaXggbW9yZSB0ZXN0cwoKMjAxMi0wMi0wNyAxMjowMjozNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3NyZW5kZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wbGV4LmM6CgkgIHRlc3RzOiBmaXggc29tZSB0ZXN0cwoKMjAxMi0wMi0wNyAxMjowMjowNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJICBhdWRpb3ZpczogcG9ydCB0byAwLjExIHNvbWUgbW9yZQoKMjAxMi0wMi0wMiAxMzozMzowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiBwcmV2ZW50IGNhcHR1cmVzIGZyb20gYmVpbmcgbG9zdCB3aGVuIHN3aXRjaGluZyByZXNvbHV0aW9ucwoJICBXaGVuIHN3aXRjaGluZyBjYXB0dXJlIGNhcHMsIGNhbWVyYWJpbjEgcmVzZXRzIGl0cyBzdGF0ZSB0byByZWFkeQoJICB0byBmb3JjZSBhIG5ldyBjYXBzIHRvIGJlIG5lZ290aWF0ZWQuIFRoaXMgY2F1c2VzIG9uZ29pbmcgY2FwdHVyZXMKCSAgdG8gYmUgYWJvcnRlZC4KCSAgVGhpcyBjb21taXQgYWRkcyBhIGNvbmRpdGlvbiB0byB3YWl0IGZvciBjYXB0dXJlcyB0byBmaW5pc2ggYmVmb3JlCgkgIGdvaW5nIHRvIHJlYWR5IHN0YXRlLgoKMjAxMi0wMi0wMiAxMjoyMjowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBJbXByb3ZlIGRlYnVnIG1lc3NhZ2UgYWJvdXQgcHJvY2Vzc2luZyBjb3VudGVyCgkgIE1lbnRpb24gb24gdGhlIGxvZ3MgaG93IG1hbnkgY2FwdHVyZSBvcGVyYXRpb25zIG1pZ2h0IGhhdmUgYmVlbgoJICBsb3N0CgoyMDEyLTAyLTA0IDIyOjA2OjU3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cm90YXRlLmM6CgkgIHJvdGF0ZTogYW5nbGUgaXMgaW4gcmFkaWFucyBhbHJlYWR5LCBkbyBub3Qgc2NhbGUgaXQKCSAgT3RoZXIgcGx1Z2lucyB1c2UgcmFkaWFucywgYW5kIHRoZSBhbmdsZSBkb2N1bWVudGF0aW9uIHNheXMgcmFkaWFucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2OTM2NQoKMjAxMi0wMi0wNCAyMjowNjoxMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHJvdGF0ZS5jOgoJICByb3RhdGU6IGZpeCBkZXNjcmlwdGlvbiBzdHJpbmcgdG8gbWF0Y2ggd2hhdCB0aGUgZWxlbWVudCBkb2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjkzNjUKCjIwMTItMDItMDMgMTE6MDg6NDggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZG8gbm90IGVtaXQgbm8tbW9yZS1wYWRzCgkgIERvaW5nIHNvIG1heSBmaXggc29tZSB0aGluZ3MsIGJ1dCBicmVha3Mgb3RoZXJzIChuZXcgc3RyZWFtcyBiZWluZwoJICBhZGRlZCBpbiB0aGUgZnV0dXJlKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTgxNAoKMjAxMi0wMi0wMyAxMToyNjo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRlY3JlYXNlIHBhc3N0aHJvdWdoIG5lZ290aWF0aW9uIHByZWZlcmVuY2UKCSAgQWxzbyBlbnN1cmUgcGFyc2luZyBmaXhlZCBjYXBzIHdoZW4gbmVnb3RpYXRpbmcgcmF0aGVyIHRoYW4gZmFpbGluZyB0bwoJICBoYW5kbGUgbm9uLWZpeGVkIGxpc3QgY2FzZXMuCgkgIFNlZSAjNjY4NDcxLgoKMjAxMi0wMi0wMyAwMDo1MDozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvY3VybC9NYWtlZmlsZS5hbToKCSogZXh0L2dzZXR0aW5ncy9NYWtlZmlsZS5hbToKCSogZXh0L2thdGUvTWFrZWZpbGUuYW06CgkqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSogZXh0L21wbGV4L01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvbGl2ZWFkZGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvbXZlL01ha2VmaWxlLmFtOgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9zaG0vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBmaXggQ0ZMQUdTIG9yZGVyIGFuZCBMSUJTIG9yZGVyCgkgIF9CQURfQ0ZMQUdTIHNob3VsZCBhbHdheXMgY29tZSBmaXJzdCwgdGhlbiBHU1RfUExVR0lOU19CQVNFX0NGTEFHUywKCSAgdGhlbiBHU1RfQkFTRV9DRkxBR1MgdGhlbiBHU1RfQ0ZMQUdTLiBTYW1lIGZvciBsaWJzOiBmaXJzdCBwbHVnaW5zCgkgIGJhc2UgbGlicywgdGhlbiBHU1RfQkFTRV9MSUIgdGhlbiBHU1RfTElCUy4KCjIwMTItMDItMDIgMjM6MjE6NTAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hlY2tzdW1zaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNob3BteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Z3NweS5jOgoJICBkZWJ1Z3V0aWxzOiBwb3J0IHRvIDAuMTEKCjIwMTItMDItMDIgMTE6NDE6MTUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSAgbXBlZ3BzbXV4OiBpbmNsdWRlIHNwZWNpZmljIEFBQyBzdHJlYW0tZm9ybWF0IGluIHRlbXBsYXRlIGNhcHMKCSAgVGhpcyBlbGVtZW50cyBzZWVtcyB0byBzdXBwb3J0IHJhdyBhbmQgYWR0cyBBQUMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUzOTQKCjIwMTItMDItMDIgMTE6Mzc6NTUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogYWRkIGV4cGxpY2l0IHN1cHBvcnRlZCBBQUMgc3RyZWFtLWZvcm1hdCBpbiB0ZW1wbGF0ZSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUzOTQKCjIwMTItMDItMDIgMTE6MzE6MzIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBpbmNsdWRlIHNwZWNpZmljIHN1cHBvcnQgQUFDIHN0cmVhbSBmb3JtYXRzIGluIHRlbXBsYXRlIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTM5NAoKMjAxMi0wMi0wMiAxMToyNzozMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IHNwZWNpZnkgaW4gdGVtcGxhdGUgY2FwcyB3ZSBvbmx5IHRha2UgcmF3L2FkdHMgQUFDIGZvcm1hdAoJICBUaGlzIGFwcGVhcnMgdG8gYmUgd2hhdCB0aGlzIGVsZW1lbnQgc3VwcG9ydHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUzOTQKCjIwMTItMDItMDIgMTE6MjA6MzggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVnZGVtdXg6IGluY2x1ZGUgc3BlY2lmaWMgQUFDIHN0cmVhbS1mb3JtYXQgdHlwZXMgaW4gdGVtcGxhdGUgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1Mzk0CgoyMDEyLTAyLTAyIDEwOjU5OjUzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5oOgoJICBrYXRlOiBiZXR0ZXIgZXJyb3IvZGVidWcgcmVwb3J0aW5nCgkgIEluY2x1ZGUgdGV4dCBtZXNzYWdlcyBpbnN0ZWFkIG9mIGVycm9yIGNvZGVzLgoKMjAxMi0wMi0wMSAxOTozODo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuYzoKCSAgY2hyb21hcHJpbnQ6IGZpeCBwYXJlbnQgc3RydWN0dXJlIGluIGJvaWxlcnBsYXRlIG1hY3JvCgoyMDEyLTAyLTAxIDE3OjUzOjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpZmRzaW5rL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0X2VsZW1lbnRfcHJpbnRfcHJvcGVydGllcy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJICBidWlsZDogaWdub3JlIEdWYWx1ZUFycmF5IGRlcHJlY2F0aW9uIHdhcm5pbmdzIGZvciB0aGUgdGltZSBiZWluZwoJICB1bnRpbCB0aGlzIGdldHMgc29ydGVkIG91dCB3aXRoIHRoZSBHTGliIGZvbGtzIGFuZCB3ZSBoYXZlIGEKCSAgdmlhYmxlIGFsdGVybmF0aXZlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3MjI4CgoyMDEyLTAyLTAxIDE3OjQ2OjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5jOgoJICBjaHJvbWFwcmludDogcG9ydCB0byAwLjExCgoyMDEyLTAyLTAxIDE3OjA2OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJICBhZHBjbWRlYzogZml4IHVwIGZvciBHc3RBdWRpb0RlY29kZXIgQVBJIGNoYW5nZQoKMjAxMi0wMi0wMSAxNjoyNzoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmM6CgkgIGFtcndiZW5jOiBVc2UgbmV3IGF1ZGlvIGVuY29kZXIvZGVjb2RlciBiYXNlIGNsYXNzIEFQSSBmb3Igc3JjcGFkIGNhcHMKCjIwMTItMDItMDEgMTY6MjY6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIHZvYWFjZW5jOiBVc2UgbmV3IGF1ZGlvIGVuY29kZXIvZGVjb2RlciBiYXNlIGNsYXNzIEFQSSBmb3Igc3JjcGFkIGNhcHMKCjIwMTItMDItMDEgMTY6MjY6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBVc2UgbmV3IGF1ZGlvIGVuY29kZXIvZGVjb2RlciBiYXNlIGNsYXNzIEFQSSBmb3Igc3JjcGFkIGNhcHMKCjIwMTItMDItMDEgMTY6MjY6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBVc2UgbmV3IGF1ZGlvIGVuY29kZXIvZGVjb2RlciBiYXNlIGNsYXNzIEFQSSBmb3Igc3JjcGFkIGNhcHMKCjIwMTItMDItMDEgMTY6MjU6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSAgZHRzOiBVc2UgbmV3IGF1ZGlvIGVuY29kZXIvZGVjb2RlciBiYXNlIGNsYXNzIEFQSSBmb3Igc3JjcGFkIGNhcHMKCjIwMTItMDItMDEgMTY6MjM6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgZ3NtOiBVc2UgbmV3IGF1ZGlvIGVuY29kZXIvZGVjb2RlciBiYXNlIGNsYXNzIEFQSSBmb3Igc3JjcGFkIGNhcHMKCjIwMTItMDItMDEgMTI6NDc6NTYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBkaXNhYmxlIG9wdGltaXplZCBwYWNrZXRpemVkIHByb2Nlc3NpbmcgZm9yIHJldmVyc2UgcGxheWJhY2sKCSAgLi4uIGFzIGJhc2VwYXJzZSB0aGVuIHByb3ZpZGVzIHdob2xlIGNodW5rcyBvZiBkYXRhIChhcyBpdCBzaG91bGQpIGF0IG9uY2UKCSAgdG8gYmUgcGFyc2VkLCBhbmQgc28gdGhlIGFzc3VtcHRpb25zIHVzZWQgdG8gb3B0aW1pemUgYXJlIG5vIGxvbmdlciB2YWxpZC4KCSAgRml4ZXMgIzY2NzU2MC4KCjIwMTItMDItMDEgMTI6MjM6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBhbHNvIG1pbmQgU0VJIHBvc2l0aW9uIGZvciBjb25maWcgZGF0YSBpbnNlcnRpb24KCSAgRml4ZXMgIzY2ODYyNy4KCjIwMTItMDItMDEgMTI6MDM6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiB1bmJyZWFrIG9wdGltaXplZCBwYWNrZXRpemVkIE5BTFUgY29sbGVjdGlvbiBwcm9jZXNzaW5nCgkgIC4uLiBpbiB0aGF0IGl0IHdhcyBzbyBvcHRpbWl6ZWQgaXQgZGlkIG5vdCBjb25zaWRlciBncm91cGluZyBOQUxVIGludG8gQVUKCSAgYWx0b2dldGhlci4KCSAgRml4ZXMgIzY2ODYyNy4KCjIwMTEtMTItMTQgMTk6Mjc6NTMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIHRpZ2VyOiB1c2UgdGhlIG5ldyBwcmVtdWx0aXBsaWVkIHN1cHBvcnQgaW4gZ3N0dmlkZW8KCjIwMTItMDEtMzAgMTg6NDY6MDcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBmaXggd2VkZ2UgaW4gcHJlcm9sbCB3aGVuIHBsYXliaW4yIGRlaW50ZXJsYWNpbmcgaXMgZW5hYmxlZAoJICBXaGVuIGRlaW50ZXJsYWNpbmcgaXMgZW5hYmxlZCwgYW4gZXh0cmEgY29sb3JzcGFjZSBlbGVtZW50IGlzIGFkZGVkLgoJICBDb2xvcnNwYWNlIGlzIGEgYmFzZXRyYW5zZm9ybSwgYW5kIGlzIHRoZW4gdGhlIG9ubHkgYmFzZXRyYW5zZm9ybQoJICBlbGVtZW50IG9uIHRoZSB2aWRlbyBwYXRoLiBBIHdoaWxlIGFnbywgYmFzZXRyYW5zZm9ybSBzdGFydGVkIGRlbGF5aW5nCgkgIGV2ZW50cyB0aWxsIGNhcHMgd2VyZSBzZXQgb24gaXRzIHNvdXJjZSBwYWQuIFRoZXNlIHRoaW5ncyBjb25zcGlyZWQKCSAgdG8gZW5kIHVwIHNlbmRpbmcgdGhlIERWRCBoaWdobGlnaHQgZXZlbnRzIG9udG8gYSBibG9ja2VkIHBhZCBvbgoJICBzdWJ0aXRsZW92ZXJsYXkuCgkgIEVuc3VyaW5nIHRoZXNlIGhpZ2hsaWdodCBldmVudHMgYXJlIG9ubHkgc2VudCBvbmNlIHdlJ3JlIGluIHBsYXlpbmcKCSAgbW9kZSBmaXhlcyB0aGUgaXNzdWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njg3NjIKCjIwMTItMDItMDEgMDI6MTM6NDggKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGdtYWlsLmNvbT4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmg6CgkgIHNjaHJvOiBGaXggY29tcGlsYXRpb24gd2l0aCAxLjAuMTAKCjIwMTEtMTItMjYgMjE6NTc6NDggLTA2MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBzZXQgaW50ZXJsYWNlZCBmaWVsZCBpbiBjYXBzIGZvciBtcGVnMgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3MjE4CgoyMDEyLTAxLTMxIDEyOjI5OjEzICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvaWNsZXMvcGl0Y2gtdGVzdC5jOgoJICBjb250cm9sbGVyOiBhZGFwdCB0byBjb250cm9sLXNvdXJjZSB0eXBlIGNoYW5nZXMKCjIwMTItMDEtMzEgMDg6NDQ6MDQgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiB1cGRhdGUgYWZ0ZXIgY29sbGVjdHBhZHMyIGNoYW5nZXMKCjIwMTItMDEtMzAgMjI6NDE6MDUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9pY2xlcy9waXRjaC10ZXN0LmM6CgkgIGNvbnRyb2xsZXI6IHJlbmFtZSBjb250cm9sLWJpbmRpbmdzCgkgIGdzdF9jb250cm9sX2JpbmRpbmdfeHh4IC0+IGdzdF94eHhfY29udHJvbF9iaW5kaW5nIGZvciBjb25zaXN0ZW5jeS4KCjIwMTItMDEtMzAgMTc6MTc6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBnc3QvbXVsdGlmZHNpbmsvZ3N0bXVsdGlmZHNpbmsuYzoKCSAgdXBkYXRlIGZvciBIRUFERVIgZmxhZwoKMjAxMi0wMS0yNSAxMzo1Nzo1NyArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IHBhcnNpbmcgb2YgVlVJIHBhcmFtZXRlcnMuCgkgIG1heF9kZWNfZnJhbWVfYnVmZmVyaW5nIHdhcyBtaXMtcGFyc2VkIGJlY2F1c2UgbG9nMl9tYXhfbXZfbGVuZ3RoX3ZlcnRpY2FsCgkgIHdhcyBwYXJzZWQgdHdpY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njg2NjAKCjIwMTItMDEtMjkgMTg6MDE6MDUgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFVucmVmIG5vbi1mb3J3YXJkZWQgZXZlbnRzCgkgIEFsc28sIGRvbid0IHVucmVmIGZvcndhcmRlZCBvbmVzCgoyMDEyLTAxLTI4IDIwOjAxOjM1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSAgdm9hbXJ3YmVuYzogaW5pdCBkZWJ1ZyBjYXRlZ29yeQoKMjAxMi0wMS0yOCAyMDowMToxOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IGluaXQgZGVidWcgY2F0ZWdvcnkKCjIwMTItMDEtMjggMTY6NTc6MDMgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IHJlc3luYyBpdGVyYXRvciBvbiByZXN5bmMKCjIwMTItMDEtMjggMTI6MzI6NDYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJICBrYXRlZW5jOiByZW1vdmUgJ2ZsdXNoIGV2ZXJ5IHBhY2tldCcgaGFjawoJICBUaGlzIGlzIGEgYmFkIGhhY2sgd2hpY2ggZG9lcyBub3Qgd29yayB3aXRoIE1hdHJvc2thLCBhbmQgaXMgbm93CgkgIG9ic29sZXRlIGFzIHNpbWlsYXIgY29kZSBpcyBub3QgaW5jbHVkZWQgaW4gb2dnbXV4L29nZ3N0cmVhbS4KCjIwMTItMDEtMjcgMTI6MDg6NTIgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBydHBtdXg6IFJlLXB1c2ggc3RpY2t5IGV2ZW50cyBvbiBpbnB1dCBwYWQgY2hhbmdlCgoyMDEyLTAxLTI3IDEyOjA3OjQzICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBkdG1mOiBVc2UgbmV3LXN0eWxlIGNhcHMKCjIwMTItMDEtMjcgMTc6MDA6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IEFkZCBtcGVnZGVtdXggdG8gdGhlIGxpc3Qgb2YgcG9ydGVkIHBsdWdpbnMKCjIwMTItMDEtMjcgMTY6NTY6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBEb24ndCBsZWFrIHRoZSBTQ0hFRFVMSU5HIHF1ZXJ5CgoyMDEyLTAxLTI2IDA3OjEzOjA2IC0wNTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWdkZW11eC9mbHVtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSAgUG9ydCBtcGVnZGVtdXggdG8gMC4xMQoKMjAxMi0wMS0yNyAxNDo0OTo1OCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQvY3VybC9NYWtlZmlsZS5hbToKCSogZXh0L2N1cmwvZ3N0Y3VybHNpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9NYWtlZmlsZS5hbToKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NyYy5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc3JjLmM6CgkqIGV4dC9rYXRlL01ha2VmaWxlLmFtOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L21wZWcyZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkqIGV4dC9tcGxleC9NYWtlZmlsZS5hbToKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuYzoKCSogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC1saWJzL2dzdC9nbGliLWNvbXBhdC1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGlucHV0c2VsZWN0b3IuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9pbnRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ0ZXN0LmM6CgkqIGdzdC9saXZlYWRkZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tdmUvTWFrZWZpbGUuYW06CgkqIGdzdC9tdmUvZ3N0bXZlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9zaG0vTWFrZWZpbGUuYW06CgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL214Zi9teGZkZW11eC1zdHJ1Y3R1cmUuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tbWFpbi5jOgoJICBwbGVudHk6IGZpeHVwIGdsaWIgZGVwcmVjYXRpb25zCgoyMDEyLTAxLTI3IDA3OjM2OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEFkZCB2aWV3ZmluZGVyIGNvbG9yc3BhY2UgY29udmVyc2lvbiB0byBkZWZhdWx0IGZsYWdzCgkgIFRoaXMgbWFrZSB0aGUgZGVmYXVsdCBzZXR0aW5ncyBtb3JlIGxpa2VseSB0byB3b3JrLiBJZiBuZWVkZWQsIG9uZQoJICBjYW4gb3B0aW1pemUgYnkgZGlzYWJsaW5nIGNvbnZlcnNpb25zIHdpdGggdGhlIGZsYWdzLgoKMjAxMi0wMS0yMyAwODowNDoyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBSZW1vdmluZyBzb2x2ZWQgVE9ETyBhbmQgZml4aW5nIGEgdHlwbwoKMjAxMi0wMS0yNiAyMzoyODoyOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJICBhZHBjbWRlYzogcG9ydCB0byAwLjExCgoyMDEyLTAxLTI2IDIzOjI4OjIwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJICBhZHBjbWVuYzogcG9ydCB0byAwLjExCgoyMDEyLTAxLTI2IDIzOjI4OjA3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgZ3NtOiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMjYgMTU6MDM6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IEFkZCB0aGUgRFZCIHBsdWdpbiB0byB0aGUgbm9uLXBvcnRlZCBwbHVnaW5zCgkgIEl0IG5lZWRzIHRoZSBNUEVHIFRTIHBhcnNlciBhbmQgY3VycmVudGx5IGNyYXNoZXMgZHVyaW5nIGluc3RhbnRpYXRpb24KCSAgYmVjYXVzZSBpdCBjYW4ndCBjcmVhdGUgdGhlIE1QRUcgVFMgcGFyc2VyLgoKMjAxMi0wMS0yNSAxODoyNTowMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuaGg6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuY2M6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3N0cmVhbXdyaXRlci5jYzoKCSAgbXBlZzJlbmM6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMS0yNSAxODo0OTo1OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXhvdXRwdXRzdHJlYW0uY2M6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL214Zi9teGZkZW11eC1zdHJ1Y3R1cmUuYzoKCSAgcG9ydCBzb21lIG1vcmUgdG8gbmV3IG1lbW9yeSBBUEkKCSAgRml4ZXMgIzY2ODY3Ny4KCjIwMTItMDEtMjUgMTY6Mzc6MjIgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuaDoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG92aWRlb2NvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b3ZpZGVvY29udmVydC5jOgoJICBhdXRvY29udmVydDogcG9ydCB0byAwLjExCgoyMDEyLTAxLTI1IDE2OjU3OjUyICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5jOgoJICBiYXllcjogSW50ZXJzZWN0IHRyYW5zZm9ybWVkIGNhcHMgd2l0aCBmaWx0ZXIKCjIwMTItMDEtMjUgMTU6NDM6MDEgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IERvbid0IGxlYWsgZ3ZhbHVlIGZyb20gaXRlcmF0b3IKCjIwMTItMDEtMjUgMTY6NDY6NDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBtb3JlIHBvcnRpbmcKCjIwMTItMDEtMjUgMTY6MjA6NDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmRzaW5rL2dzdG11bHRpZmRzaW5rLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0aXJ0c3BwYXJzZS5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5jOgoJICBwb3J0IHNvbWUgbW9yZSB0byBuZXcgbWVtb3J5IEFQSQoKMjAxMi0wMS0yNSAxNDo1MDo1MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHBvcnQgdG8gbmV3IG1lbW9yeSBBUEkKCjIwMTItMDEtMjUgMTM6NTg6MTkgKzAxMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyAoYXQpIGFwZXN0YWFydCAoZG90KSBvcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGM0NjNiYzAgdG8gN2ZkYTUyNAoKMjAxMi0wMS0yNSAxMzoyMjo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgY29uZmlndXJlLmFjCgkgIGV4dC9rYXRlL2dzdGthdGVlbmMuYwoJICBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmMKCSAgZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmMKCjIwMTItMDEtMTggMTI6MDQ6NTIgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IGxpbWl0IHRoZSBhbW91bnQgb2Ygc2Nhbm5pbmcgZG9uZSBvbiBkdXJhdGlvbiBxdWVyaWVzCgkgIExpbWl0IHRoZSBhbW91bnQgb2YgZGF0YSBzY2FubmVkIHdoZW4gbG9va2luZyBmb3IgUFRTZXMgaW4gZHVyYXRpb24gcXVlcmllcyBhcyBhCgkgIGZhaWxzYWZlIGZvciBraW5kYSBicm9rZW4sIHBvdGVudGlhbGx5IGxhcmdlIGZpbGVzIHdpdGggc3BhcnNlIG9yIG5vIFBUU2VzLgoKMjAxMi0wMS0xOCAxMToyODoyNiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogZG9uJ3Qgc2NhbiBmb3IgdGhlIGxhc3QgUFRTIGlmIHRoZSBmaXJzdCB3YXNuJ3QgZm91bmQKCjIwMTItMDEtMjUgMTE6MjE6NTAgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZjogcG9ydCB0byAwLjExCgoyMDEyLTAxLTI1IDEwOjQ1OjUxICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcnRwdnA4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4ZGVwYXkuaDoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuaDoKCSAgcnRwdnA4OiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMjQgMjI6MTQ6MzkgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBBbmRyb2lkLm1rOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvdmlkZW9tYXhyYXRlL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9tYXhyYXRlL3ZpZGVvbWF4cmF0ZS5jOgoJKiBnc3QvdmlkZW9tYXhyYXRlL3ZpZGVvbWF4cmF0ZS5oOgoJICB2aWRlb21heHJhdGU6IFJlbW92ZSwgdmlkZW9yYXRlIGluY2x1ZGVzIHRoZSBzYW1lIGZ1bmN0aW9uYWxpdHkgbm93CgoyMDEyLTAxLTI0IDE0OjIwOjUyICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcnRwbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHJ0cG11eDogcG9ydCB0byAwLjExCgoyMDEyLTAxLTI1IDExOjM4OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMmE1OTAxNiB0byBjNDYzYmMwCgoyMDEyLTAxLTI0IDExOjU2OjM0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSAgZmxpdGU6IG1ha2UgY29uc3RhbnQgc3RhdGljIGFycmF5cyBhY3R1YWxseSBzdGF0aWMKCjIwMTItMDEtMjQgMTE6NTM6MjYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJICBmbGl0ZTogZml4IHVuaW5pdGlhbGl6ZWQgcmV0dXJuIHZhbHVlCgoyMDEyLTAxLTI0IDExOjIyOjQ2ICswMTAwICBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogdHJhY2Ugb3V0Z29pbmcgdGltZXN0YW1wcwoJICBhZGQgaW5mbyBsZXZlbCBwcmludHMgZm9yIG91dGdvaW5nIHRpbWVzdGFtcHMuCgkgIFNpZ25lZC1vZmYtYnk6IE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMi0wMS0yMyAyMjoyMDo0MCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmM6CgkgIHJlc2luZHZkOiBmaXggY2FwcyByZWZjb3VudCBlcnJvcgoJICAvbWUgYmFkIG1vbmtleS4KCjIwMTItMDEtMjMgMTg6MzA6MTkgKzAwMDAgIEpvbmFzIExhcnNzb24gPGpvbmFzQGhhbGxlcnVkLnNlPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGgyNjRwYXJzZTogZml4IGdzdF9oMjY0X3BhcnNlX2Nsb2NrX3RpbWVzdGFtcCBhbHdheXMgZmFpbGluZwoKMjAxMi0wMS0yMyAxODowMToxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBSRVFVSVJFTUVOVFM6CgkgIFJFUVVJUkVNRU5UUzogd2UgbmVlZCBsaWJydG1wIGZvciBydG1wIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2ODUyMQoKMjAxMi0wMS0yMyAxODo1MTozNCArMDEwMCAgSm9uYXMgTGFyc3NvbiA8am9uYXNAaGFsbGVydWQuc2U+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiByZWFkIHRoZSBjYnJfZmxhZyBpbiBoMjY0X3BhcnNlX2hyZF9wYXJhbWV0ZXJzCgoyMDEyLTAxLTIzIDE3OjQ3OjQ1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBmcmVxdWVudCBkZWFkbG9jayBkZW11eGluZyBNUEVHIFRTCgkgIEEgcHJldmlvdXMgcGF0Y2ggdG8gYWRkIHN0cmVhbXMgZWFybHkgdG8gZml4IHBsYXliYWNrIG9mCgkgIGxvdyBiaXRyYXRlIHN0cmVhbXMgY2F1c2VzIGZyZXF1ZW50IGRlYWRsb2NrIG9mIGEgbmF0dXJlCgkgIEknbSBhdCBsb3NzIGhvdyB0byBmaXguCgkgIEknbSBub3QgY2VydGFpbiB3aGV0aGVyIGl0J3MgYSBidWcgaW4gZGVjb2RlYmluMiwgb3IgaW4KCSAgdGhhdCBtcGVndHNkZW11eCBwYXRjaC4KCSAgU2luY2UgaXQgY2F1c2VzIGEgbWFqb3IgcmVncmVzc2lvbiwgbGV0IGl0IGJlIGRpc2FibGVkIGZvciBub3cuCgoyMDEyLTAxLTIzIDE0OjEwOjQzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBicmVhayBvdXQgd2hlbiBzdHJlYW0gaWRlbnRpZmllZAoKMjAxMi0wMS0yMyAxNDowNjo1NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNkZW11eDogYXZvaWQgTlVMTCBtYW5pcHVsYXRpb24gaWYgaW52YWxpZCBpbnB1dAoKMjAxMi0wMS0yMyAxNDowNTo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWdkZW11eDogYXZvaWQgTlVMTCBtYW5pcHVsYXRpb24gaWYgaW52YWxpZCBpbnB1dAoKMjAxMi0wMS0yMyAxNDowMTowMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWdkZW11eDogYXZvaWQgc29tZSB1bmxpa2VseSBsZWFrcwoKMjAxMi0wMS0yMyAxMzo1ODo1NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IHByZXZlbnQgc29tZSBmYWxsLXRocm91Z2ggY2FzZXMKCjIwMTItMDEtMjMgMTM6NTg6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L212ZS9nc3RtdmVtdXguYzoKCSAgbXZlOiB1c2Ugc2lnbmVkIGxvb3AgdmFyaWFibGUKCSAgLi4uIHdoZW4gdXNpbmcgaXQgaW4gaSA+PSAwLgoKMjAxMi0wMS0yMyAxMzo1NzozMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXZlL212ZXZpZGVvZW5jMTYuYzoKCSAgbXZlOiBlbnN1cmUgYmVzdCB0YXJnZXQgZm91bmQKCjIwMTItMDEtMjMgMTM6NTY6MDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgIGZlc3RpdmFsOiBlbmhhbmNlIHNvbWUgZXJyb3IgY2FzZSBoYW5kbGluZwoKMjAxMi0wMS0yMyAxMzo1NTozMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSAgbnV2ZGVtdXg6IGNoZWNrIGRpcmVjdGx5IGZvciB2YWxpZCBidWZmZXIKCSAgLi4uIHJhdGhlciB0aGFuIGRvaW5nIHNvIGluZGlyZWN0bHkgaW4gKGluY29tcGxldGUpIHNlbWFudGljIHdheS4KCjIwMTItMDEtMjMgMTM6NTQ6MzIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogZml4IHBhcmFtZXRlciBzYW5pdHkgY2hlY2sKCjIwMTItMDEtMjMgMTE6NTQ6MDggKzAwMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB0byB3b3JrCgoyMDEyLTAxLTIwIDE1OjM0OjI3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmM6CgkgIHJlc2luZHZkOiBmaXggcHJlcm9sbCBvbiB0aXRsZXMgd2l0aCBubyBhdWRpbyB0cmFjawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk5NDY5CgoyMDEyLTAxLTIwIDEyOjI1OjA5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByc25kdmRzcmM6IGZpeCBsZWFrCgoyMDEyLTAxLTIwIDEyOjE1OjIwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICByZXNpbmR2ZGJpbjogZml4IHZpZGVvL2F1ZGlvIG1peHVwIGluIGVycm9yIG1lc3NhZ2UKCjIwMTItMDEtMjAgMTA6NDI6MjEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSAgcnNuYXVkaW9tdW5nZToga2VlcCB0aGUgb2JqZWN0IHJlZiBsb25nZXIKCSAgU2luY2Ugd2UgZG8gbm90IGdldCBhIHJlZiB0byB0aGUgcGFkLCBJJ20gbm90IGNlcnRhaW4gaXQncyBzYWZlCgkgIHRvIGRyb3AgdGhlIG9iamVjdCBhbmQgdXNlIHRoZSBwYWQgbGF0ZXIsIHNvIGhvbGQgdGhlIG9iamVjdCByZWYKCSAgdGlsbCB3ZSdyZSBkb25lIHdpdGggdGhlIHBhZC4KCjIwMTItMDEtMjEgMjA6MDg6MzYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9pY2xlcy9waXRjaC10ZXN0LmM6CgkgIGNvbnRyb2xsZXI6IG1vdmUgZnJvbSBjb250cm9sLWJpbmRpbmcgdG8gY29udHJvbC1iaW5kaW5nLWRpcmVjdAoKMjAxMi0wMS0yMiAxNjo1OTozNyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy5vcmM6CgkgIFJldmVydCAiIWNvbG9yc3BhY2U6IGZpeCBvZGQgc2l6ZSBwcm9ibGVtcyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBlMmU2ZmRjYjZiMjY1ZGIyMDFmMTkxOTUyYWVlZDQyOWU4NWU4MzRlLgoJICBVbnRlc3RlZCBjb21taXQgd2FzIGFjY2lkZW50YWxseSBwdXNoZWQuCgoyMDEyLTAxLTIyIDE2OjU4OjU5IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgUmV2ZXJ0ICJjb2xvcnNwYWNlOiBGaXggb3V0LW9mLWJvdW5kIGVycm9ycyBmb3IgdjIxMCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAzYjhiODdjYjZjMjE3YjlmMGI1MmNmYTMwNzljNGEzNmFmZDFjNDI0LgoJICBVbnRlc3RlZCBjb21taXQgd2FzIGFjY2lkZW50YWxseSBwdXNoZWQuCgoyMDEyLTAxLTIyIDE2OjU1OjQ2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkgIGludGVyOiBGaXggY29tcGlsYXRpb24KCSAgRml4IHVwIHByZXZpb3VzbHkgYm90Y2hlZCByZWJhc2UuCgoyMDEyLTAxLTA5IDIxOjU5OjU3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogRml4IG91dC1vZi1ib3VuZCBlcnJvcnMgZm9yIHYyMTAKCjIwMTEtMTItMzEgMTc6MTQ6MjQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMub3JjOgoJICAhY29sb3JzcGFjZTogZml4IG9kZCBzaXplIHByb2JsZW1zCgoyMDEyLTAxLTIyIDE1OjQ5OjEyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlci9nc3RpbnRlci5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuaDoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuaDoKCSAgaW50ZXI6IEFkZCBjaGFubmVsIHByb3BlcnR5CgoyMDEyLTAxLTIyIDE1OjQ4OjI4IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuaDoKCSAgc2Nocm86IEhhbmRsZSAxMCBhbmQgMTYtYml0IGZvcm1hdHMKCjIwMTEtMTItMzEgMTc6MTM6MDIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2F2Yy9NYWtlZmlsZS5hbToKCSAgYXZjOiBmaXggYnJva2VuIGxpbmUgY29udGludWF0aW9uCgoyMDExLTA4LTE4IDE5OjQ5OjA4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogQWRkIGpwZWcgY29sb3ItbWF0cml4IGNvbnZlcnNpb24KCjIwMTEtMDgtMDkgMDk6MTk6MTAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXIuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzaW5rLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5oOgoJICBpbnRlcjogQWRkIHN1YnRpdGxlIGludGVyIGVsZW1lbnRzCgoyMDExLTA4LTA0IDEzOjA1OjIyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSAga2F0ZWVuYzogRG9uJ3QgZXJyb3Igb24gZW1wdHkgaW5wdXQgYnVmZmVycwoKMjAxMi0wMS0yMiAxOToyNzo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuaDoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5oOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UudmNwcm9qOgoJICBSZW1vdmUgbGVnYWN5IG1wZWd2aWRlb3BhcnNlIHBsdWdpbgoJICBUaGVyZSdzIGEgbmV3IG9uZSBpbiB0aGUgdmlkZW9wYXJzZXJzIHBsdWdpbi4KCjIwMTItMDEtMjIgMTk6MTM6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmRzaW5rLy5naXRpZ25vcmU6CgkgIG11bHRpZmRzaW5rOiBtYWtlIGdpdCBpZ25vcmUgZ2VuZXJhdGVkIGZpbGVzCgoyMDEyLTAxLTIyIDE5OjExOjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkgIGgyNjNwYXJzZTogbWFrZSBsZXZlbCBhbmQgcHJvZmlsZSBmaWVsZHMgaW4gY2FwcyBzdHJpbmdzCgkgIEZvciBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg0MzgKCjIwMTItMDEtMTggMTY6MzU6MTYgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggcmVmX3BpY19saXN0X21vZGlmaWNhdGlvbigpCgkgIFRoZSBlbnRyaWVzIHdlcmUgbm90IGZpbGxlZCBpbiBsaW5lYXJseSBhbmQgdGhlIHRlcm1pbmF0aW9uIHdhcyBub3QKCSAgcmVjb3JkZWQgZWl0aGVyLiBOb3csIHRoZSBhY3R1YWwgbnVtYmVyIG9mIG1vZGlmaWNhdGlvbnMgaXMgcmVjb3JkZWQKCSAgc2ltaWxhcmx5IHRvIGRlY19yZWZfcGljX21hcmtpbmcoKS4gaS5lLiBhbiBleHBsaWNpdCBjb3VudGVyIGluc3RlYWQKCSAgb2Ygc3RvcmluZyB0aGUgdGVybWluYXRpb24gdmFsdWUgaW4gdGhlIGFycmF5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY4MTkyCgoyMDEyLTAxLTIwIDE2OjEyOjAyICswMDAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgZm9yIGFjdHVhbGx5IHBvcnRlZCBlbGVtZW50cwoKMjAxMi0wMS0yMCAxNToyMzo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBvbmx5IGNoZWNrIGZvciBnc3QtcGx1Z2lucy17Z29vZCx1Z2x5LGZmbXBlZ30gaW4gdW5pbnN0YWxsZWQgc2V0dXBzCgkgIFdlIGRvbid0IGluc3RhbGwgLnBjIGZpbGVzIGZvciBwbHVnaW4gbW9kdWxlcywgYmVjYXVzZSB3ZSBvbmx5IG5lZWQKCSAgdGhlbSBpbiB1bmluc3RhbGxlZCBzZXR1cHMsIHNvIHdlIGNhbiBmaW5kIHRoZSBwbHVnaW5zIGZvciB1bml0IHRlc3RzCgkgIChldmVuIHdoZW4gcnVuIGEgY291cGxlIG9mIGRpcmVjdG9yaWVzIGRlZXBlciBvciBvdXQtb2YtdHJlZSBkdXJpbmcKCSAgbWFrZSBkaXN0Y2hlY2spLgoJICBUcnkgdG8gYXZvaWQgY29uZnVzaW9uLCBzbyBvbmx5IGNoZWNrIGZvciB0aG9zZSBpZiB0aGlzIGlzIGluIGZhY3QKCSAgYW4gdW5pbnN0YWxsZWQgc2V0dXAuIEZvciBpbnN0YWxsZWQgc2V0dXBzIHRoZXJlJ3Mgbm8gcHJvYmxlbSBmaW5kaW5nCgkgIHRoZSBwbHVnaW5zLCB3ZSBhc3N1bWUgdGhleSBhcmUgYWxsIGluIHRoZSBwbHVnaW5kaXIgc3BlY2lmaWVkIGJ5CgkgIEdTdHJlYW1lciBjb3JlJ3MgLnBjIGZpbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjgzMTEKCjIwMTItMDEtMjAgMTQ6NDY6MDAgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9pY2xlcy9waXRjaC10ZXN0LmM6CgkgIGNvbnRyb2xsZXI6IGFkYXB0IHRvIGNvbnRyb2wgYmluZGluZyBjaGFuZ2VzCgoyMDEyLTAxLTIwIDExOjQwOjAwICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvaWNsZXMvcGl0Y2gtdGVzdC5jOgoJICBjb250cm9sbGVyOiBhZGFwdCB0byBjb250cm9sbGVyIGFwaSBjaGFuZ2VzCgkgIERvbid0IHVzZSB0aGUgY29udmVuaWVuY2UgYXBpIGZvciBjb250cm9sIHNvdXJjZXMuCgoyMDEyLTAxLTIwIDAwOjUzOjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5jOgoJKiBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuaDoKCSAgY2hyb21hcHJpbnQ6IG1pbm9yIGNsZWFuLXVwcwoJICBGbGVzaCBvdXQgZG9jcyBhIGJpdCwgZml4IGVsZW1lbnQgY2xhc3MuCgoyMDExLTAxLTAyIDE5OjM0OjA0ICswMDAwICBMdWvDocWhIExhbGluc2vDvSA8bGFsaW5za3lAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9jaHJvbWFwcmludC9NYWtlZmlsZS5hbToKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50LmM6CgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5oOgoJICBjaHJvbWFwcmludDogaW1wb3J0IEFjb3VzdGlkIGF1ZGlvIGZpbmdlcnByaW50aW5nIHBsdWdpbgoJICBJbXBvcnRlZCBmcm9tIGh0dHBzOi8vbGF1bmNocGFkLm5ldC9nc3QtY2hyb21hcHJpbnQKCjIwMTItMDEtMTAgMDA6MjI6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IGhhbmRsZSBjb3JuZXItY2FzZSBvZiBzaG9ydCByZWFkIGluIHB1bGxfYnVmZmVyIGJldHRlcgoJICBJdCdzIGV4dHJlbWVseSB1bmxpa2VseSwgYnV0IHRoZXJlIGFyZSBjb3JuZXIgY2FzZXMgd2hlcmUgYSBzaG9ydAoJICByZWFkIG1pZ2h0IGhhcHBlbiwgc28gaGFuZGxlIHRoYXQsIGp1c3QgaW4gY2FzZS4KCjIwMTItMDEtMTkgMTU6NDM6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgZ3NtZW5jOiBmaXggdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoKMjAxMi0wMS0xOSAxNToxMjo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSAgQWRkIC0tZGlzYWJsZS1mYXRhbC13YXJuaW5ncyBjb25maWd1cmUgb3B0aW9uCgoyMDEyLTAxLTE5IDExOjM0OjI2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguaGg6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5Lmg6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkqIGdzdC9tdWx0aWZkc2luay9nc3RtdWx0aWZkc2luay5jOgoJKiBnc3QvbXVsdGlmZHNpbmsvZ3N0bXVsdGlmZHNpbmsuaDoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4Lmg6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1tYWluLmM6CgkgIHBvcnQgdG8gbmV3IGd0aHJlYWQgQVBJCgoyMDEyLTAxLTE4IDE3OjAxOjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBSZW1vdmUgR0lPIGNoZWNrLCB0aGlzIGlzIGluIGdzdC1nbGliMi5tNCBub3cKCjIwMTItMDEtMTggMTY6NDY6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwODA3MTg3IHRvIDJhNTkwMTYKCjIwMTItMDEtMTggMTY6MzU6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc2RwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguaDoKCSAgc2RwZGVtdXg6IFBvcnQgdG8gR0lPIGFuZCB0aGUgbmV3IHVkcHNyYy9zaW5rIHByb3BlcnRpZXMKCjIwMTItMDEtMTggMTY6MDE6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IEFkZCBvcHVzIHRvIHRoZSBub24tcG9ydGVkIHBsdWdpbnMKCSAgSXQgbmVlZHMgdG8gYmUgdXBkYXRlZCBmb3IgdGhlIG5ldyBtdWx0aWNoYW5uZWwgQVBJLgoKMjAxMi0wMS0xOCAxNTo0ODowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmZHNpbmsvTWFrZWZpbGUuYW06CgkgIG11bHRpZmRzaW5rOiBBZGQgJChHU1RfUExVR0lOU19CQURfQ0ZMQUdTKSBmb3IgdGhlIGkxOG4gaGVhZGVyIGZpbGUKCjIwMTItMDEtMTcgMjE6MzY6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FkcGNtZGVjL01ha2VmaWxlLmFtOgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSAgYWRwY21kZWM6IHBvcnQgdG8gYXVkaW9kZWNvZGVyCgoyMDEyLTAxLTE3IDIxOjM2OjA4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hZHBjbWVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkgIGFkcGNtZW5jOiBwb3J0IHRvIGF1ZGlvZW5jb2RlcgoKMjAxMi0wMS0xNyAxODozMzowOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5oOgoJICBnc21kZWM6IHBvcnQgdG8gYXVkaW9kZWNvZGVyCgoyMDEyLTAxLTE3IDE4OjMyOjIzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmg6CgkgIGdzbWVuYzogcG9ydCB0byBhdWRpb2VuY29kZXIKCjIwMTItMDEtMTcgMTM6MTI6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBtdWx0aWZkc2luazogQWRkIHRvIHRoZSBkb2NzCgoyMDEyLTAxLTE2IDIyOjUyOjE4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXhpYml0c3RyZWFtLmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXhvdXRwdXRzdHJlYW0uY2M6CgkgIG1wbGV4OiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMTYgMjI6NTI6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMS0xNiAyMjo1MTo1OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdGlydHNwcGFyc2UuYzoKCSAgaXJ0c3BwYXJzZTogcG9ydCB0byAwLjExCgoyMDEyLTAxLTE2IDE3OjMwOjIyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnc3B5LmM6CgkgIGRlYnVnc3B5OiBmaXggc3RyaW5nIGxlYWsKCjIwMTItMDEtMTYgMTc6MDc6MjkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BtdHN0cmVhbWluZm8uYzoKCSAgbXBlZ2RlbXV4OiBmaXggbWlzc2luZyBmaW5hbGl6ZSBjaGFpbmluZyB0byBwYXJlbnQKCSAgVGhpcyBjb2RlIGRvZXMgbm90IHNlZW0gdG8gdHJpZ2dlciBvbiBteSB0ZXN0IHN0cmVhbXMsIHNvIGl0J3MKCSAgYSBiaXQgb2YgYSBibGluZCBmaXgsIGJ1dCBzZWVtcyBzYWZlIGVub3VnaCB0byBwdXNoLgoKMjAxMi0wMS0xNiAxNzowMjoyMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSAgb3BlbmN2OiBmaXggbWlzc2luZyBmaW5hbGl6ZSBjaGFpbmluZyB0byBwYXJlbnQgY2xhc3MKCSAgTm90IGNvbXBpbGVkLCBJIGRvIG5vdCBoYXZlIHRoZSBuZWNlc3NhcnkgZGVwZW5kZW5jaWVzLgoKMjAxMi0wMS0xNiAxNzowMToxOCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWU6IGZpeCBtaXNzaW5nIGRpc3Bvc2UgY2hhaW5pbmcgdG8gcGFyZW50IGNsYXNzCgkgIE5vdCBjb21waWxlZCwgSSBkbyBub3QgaGF2ZSB0aGUgbmVjZXNzYXJ5IGRlcGVuZGVuY2llcy4KCjIwMTItMDEtMTYgMTY6NTk6NTcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSAgc3BjOiBmaXggbWlzc2luZyBkaXNwb3NlIGNoYWluaW5nIHRvIHBhcmVudCBjbGFzcwoJICBOb3QgZXZlbiBjb21waWxlZCwgSSBkbyBub3QgaGF2ZSB0aGUgZGVwZW5kZW5jaWVzIG5lZWRlZC4KCjIwMTItMDEtMTYgMTE6Mjk6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbXVsdGlmZHNpbmsvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aWZkc2luay9nc3RtdWx0aWZkc2luay1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9tdWx0aWZkc2luay9nc3RtdWx0aWZkc2luay5jOgoJKiBnc3QvbXVsdGlmZHNpbmsvZ3N0bXVsdGlmZHNpbmsuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmRzaW5rLmM6CgkgIG11bHRpZmRzaW5rOiBNb3ZlIG11bHRpZmRzaW5rIGZyb20gZ3N0LXBsdWdpbnMtYmFzZSB0byBnc3QtcGx1Z2lucy1iYWQKCjIwMTItMDEtMTMgMTU6NTc6MzMgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJICBBbmRyb2lkLCBGaXggd3JvbmcgZGluYW1pYyBsaW5raW5nIGF0dGVtcHQKCSAgZ3N0Y29kZWNwYXJzZXJzIGlzIGJ1aWx0IGFzIGFuIHN0YXRpYyBsaWJyYXJ5LgoJICBUaGlzIGNoYW5nZSBmaXhlcyBidWlsZGluZyB3aXRoIHRoZSBBbmRyb2lkIGJ1aWxkc3lzdGVtLgoKMjAxMi0wMS0xMyAxMzozMDo1NyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJICBjb2dtc2U6IGZpeCBmaW5hbGl6ZSBub3QgY2FsbGluZyBiYXNlIGNsYXNzIChhbmQgbGVha2luZykKCjIwMTItMDEtMTMgMTI6NTU6MzkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSAgY29nbXNlOiBzaWduYWwgY2hhaW4gZnVuY3Rpb25zIHRvIGV4aXQgb24gZmx1c2gtc3RhcnQKCjIwMTItMDEtMTMgMTI6MDg6MjggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkgIHNpcmVuZW5jOiBmaXggYmFzZSBjbGFzcyBjYWxsIG1peHVwIGluIGZpbmFsaXplCgoyMDEyLTAxLTEzIDExOjIyOjQyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkgIGNvZ21zZTogZml4IHR5cG8gdXNpbmcgdGhlIHdyb25nIHBhZAoKMjAxMi0wMS0xMyAxMToyMjoyMSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJICBjb2dtc2U6IGZpeCBwb3NzaWJsZSBidWZmZXIgbGVhawoKMjAxMi0wMS0xMyAxMDozMjo1OSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNpbmsuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzcmMuYzoKCSAgbGluc3lzc2RpOiBmaXggbGVha3MKCjIwMTItMDEtMTMgMTA6MjU6MjIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSAgcnN2Z292ZXJsYXk6IGZpeCBhZGFwdGVyIGxlYWsKCjIwMTItMDEtMTMgMDA6MTE6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgoyMDEyLTAxLTEyIDE3OjE2OjMyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkgIGNvZ21zZTogZml4IHBhZCBsZWFrcwoKMjAxMi0wMS0xMiAxNzoxMToxNCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGF0Y2hkZXRlY3QvZ3N0cGF0Y2hkZXRlY3QuYzoKCSogZ3N0L3BhdGNoZGV0ZWN0L2dzdHBhdGNoZGV0ZWN0Lmg6CgkgIHBhdGNoZGV0ZWN0OiByZW1vdmUgKGxlYWtpbmcpIGRlYWQgY29kZQoKMjAxMi0wMS0xMiAxNjo0NTozOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuaDoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuaDoKCSAgaW50ZXI6IHJlbW92ZSAobGVha2luZykgZGVhZCBjb2RlCgoyMDEyLTAxLTEyIDE2OjM2OjE5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IGJhbGFuY2UgZW5jb2RlciBhbmQgdmlkZW8gZm9ybWF0IGFsbG9jL2RlYWxsb2MKCSAgVGhleSB3b3VsZCBsZWFrIGlmIGp1c3QgY29uc3RydWN0aW5nIGFuZCBmcmVlaW5nIGFuIG9iamVjdCwKCSAgYW5kIHByb2JhYmx5IGNyYXNoIGlmIGdvaW5nIGZyb20gUExBWUlORyB0byBSRUFEWSBhbmQgYmFjawoJICBhZ2FpbiAodGhvdWdoIEkgaGF2ZW4ndCB0ZXN0ZWQgdGhhdCkuCgoyMDEyLTAxLTEyIDE1OjU4OjM2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGZpeCBxdWV1ZSBsZWFrCgoyMDEyLTAxLTEyIDE1OjQzOjUxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmM6CgkgIGRjY3BjbGllbnRzaW5rOiBmaXggc3RyaW5nIGxlYWsKCjIwMTItMDEtMTIgMTU6MTk6MDEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSAgeTRtZGVjOiBmaXggZXZlbnQgbGVhawoKMjAxMi0wMS0xMiAxNDozNDoyNSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBtcGVndmlkZW9wYXJzZXI6IGZpeCBtZW1vcnkgbGVhawoKMjAxMi0wMS0xMiAxMDoyNjozOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IGFsc28gaW5kaWNhdGUgbW9ubyBhdWRpbyBpbiBzaW5rIGNhcHMKCjIwMTItMDEtMTIgMTA6MjU6NDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBhbHNvIGluZGljYXRlIG1vbm8gYXVkaW8gaW4gc2luayBjYXBzCgoyMDEyLTAxLTExIDE4OjI0OjQxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSAgc2Nocm9kZWM6IGZpeCB0YWcgbGVhawoKMjAxMi0wMS0xMSAxODoxMjoyMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkgIHNjaHJvZGVjOiB0YWtlIG91dCB1bnVzZWQgbGVha2luZyBidWZmZXIKCjIwMTItMDEtMTEgMTg6Mzc6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMS0xMSAxNjozNDozNSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1c3BhcnNlOiBmaXggY2FwcyBsZWFrCgoyMDEyLTAxLTExIDE2OjMyOjMxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzcGFyc2U6IGZpeCBzbGlzdCBsZWFrCgoyMDEyLTAxLTExIDEzOjMyOjM2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29wdXMuYzoKCSAgdGVzdHM6IGZpeCBidWZmZXIgbGVha3MgaW4gb3B1cyB0ZXN0cwoKMjAxMi0wMS0xMSAxMjo1ODowOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IGZpeCBzb21lIGlucHV0IGFuZCBvdXRwdXQgYnVmZmVyIG1hcCBhbmQgcmVmIGhhbmRsaW5nCgoyMDEyLTAxLTExIDEyOjU3OjE5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogYmFzZSBjbGFzcyBhdWRpbyBpbmZvIGlzIG5vdCB5ZXQgc2V0IGR1cmluZyBzZXRfZm9ybWF0CgkgIC4uLiBzaW5jZSBpdCB3aWxsIG9ubHkgYmUgY29tbWl0dGVkIGFmdGVyIGl0IGhhcyBiZWVuIGFjY2VwdGVkIGJ5IHN1YmNsYXNzLgoJICBJbiBwYXJ0aWN1bGFyLCBzdWJjbGFzcyBzaG91bGQgbm90IHJlbHkgb24gaXQgZHVyaW5nIGl0cyBzZXR1cC4KCjIwMTItMDEtMTEgMTI6NTU6MzIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBzcHJpbmtsZSBzb21lIG1vcmUgbGF5b3V0IGluZm8gaW4gY2FwcwoKMjAxMi0wMS0xMSAxMjozOTowMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmM6CgkgIHZvYW1yd2JlbmM6IGZpeCBhdWRpbyBmb3JtYXQgaW4gdGVtcGxhdGUgY2FwcwoKMjAxMi0wMS0xMSAxMjoyNDoxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSAgdm9hbXJ3YmVuYzogcG9ydCB0byAwLjExCgoyMDEyLTAxLTExIDEwOjUwOjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogVW5zZXQgdGhlIFVOUE9TSVRJT05FRCBmbGFnIGlmIHdlIGhhdmUgdmFsaWQgY2hhbm5lbCBwb3NpdGlvbnMKCjIwMTItMDEtMTAgMTc6Mjc6NTQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgbW9kcGx1ZzogZml4IGNhcHMgbGVhawoKMjAxMi0wMS0xMCAxNjo1OToxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmg6CgkgIGR0c2RlYzogUG9ydCB0byAwLjExCgoyMDEyLTAxLTEwIDE1OjUwOjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jCgkgIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmMKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jCgoyMDEyLTAxLTEwIDEzOjM4OjUwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogZml4IHNsaXN0IGxlYWsKCjIwMTItMDEtMTAgMTM6Mzg6NDIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBmaXggY2FwcyBsZWFrCgoyMDEyLTAxLTEwIDEzOjI1OjA1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogZml4IGNhcHMgbGVha3MKCjIwMTItMDEtMTAgMTM6MjQ6MjIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBmaXggcmVmIGxlYWsKCjIwMTItMDEtMTAgMTE6NDE6MzQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRG9uJ3QgcHJvdmlkZSBib2d1cyB2YWx1ZXMgaW4gbm9uLVRJTUUgcHVzaC1tb2RlCgkgIE9ubHkgdGFrZSB0aGUgdXBzdHJlYW0gc2VnbWVudCB2YWx1ZXMgaW4gR1NUX0ZPUk1BVF9USU1FCgoyMDEyLTAxLTEwIDExOjM3OjEzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEhhbmRsZSByb2xsb3ZlciBpbiBQVFMgYW5kIERUUwoJICBBbHNvIGhhbmRzIGJhY2stcm9sbG92ZXIgd2hpY2ggY2FuIGhhcHBlbiB3aXRoIFBUUwoKMjAxMi0wMS0wNCAxMTowNTo0OCArMDEwMCAgT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IHVzZSBpc19hbHRfZGF0YSBvcHRpb24gdG8gcHJldmVudCB0aW1lc3RhbXAgY29sbGlzaW9ucwoJICBhbHRyZWYvaW52aXNpYmxlIGZyYW1lcyB1c3VhbGx5IHN0b3JlZCBpbiBjb250YWluZXIgd2l0aCBzYW1lIHRpbWVzdGFtcCBhcwoJICBkZXBlbmRldCBmcmFtZS4gVGhpcyBtYWtlIGJhc2V2aWRlb2RlY29kZXIgdG8gdXBkYXRlIHRpbWVzdGFtcCBmb3IgZGVwZW5kZXQKCSAgZnJhbWUgYW5kIGNvdXNlIFRTIGNvbGlzaW9uIG9uIG5leHQgZnJhbWU6CgkgIF4tIGhlcmUgaXMgYWx0cmVmCgkgIHRpbWUgICAgIDogMSAyIDMgNCA1IDYgNyA4IDkKCSAgd2VibSB0cyAgOiAxICAgMyA1IDUgICA3ICAgOQoJICB2cDhkZWMgdHM6IDEgICAzICAgNyAgIDcgICA5CgkgIEZpeCBidWc6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTUyNDUKCSAgU2lnbmVkLW9mZi1ieTogT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDEyLTAxLTA0IDExOjA5OjIzICswMTAwICBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBhZGQgb3B0aW9uIHRvIGhhbmRlIGFsdCBmcmFtZSBkYXRhCgkgIGFsdHJlZi9pbnZpc2libGUgJ2ZyYW1lJyBkbyBub3QgZGVzY3JpYmUgc29tZSBmcmFtZSBkaXJlY3RseSwgc28gaXQgY2FuJ3QgYmUKCSAgZGlzcGxheWVkIGFuZCB0aW1lc3RhbXBzIHNob3VsZCBub3QgYmUgdXBkYXRlZC4KCSAgRml4IGJ1ZzogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NTI0NQoJICBTaWduZWQtb2ZmLWJ5OiBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTItMDEtMDkgMTQ6NTY6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IG1wZWc0OiBmaXggcGFyc2luZyB3aGVuIHJlY3Vyc2l2ZWx5IHNraXBwaW5nIHVzZXIgZGF0YQoKMjAxMi0wMS0wOSAxNDo1OTo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IE1ha2Ugc3VyZSB0aGF0IHRoZSBzcmNwYWQgaGFzIGNhcHMgYmVmb3JlIGZpbmlzaGluZyBhY3R1YWwgYXVkaW8gZGF0YQoKMjAxMi0wMS0wOSAxNDozOTo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IERvbid0IHVwZGF0ZSBjYXBzIG9uIGV2ZXJ5IGJ1ZmZlcgoKMjAxMi0wMS0wOSAxNDoyODoxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IERvbid0IGNhbGwgZ3N0X2J1ZmZlcl9tZW1jbXAoKSB3aXRoIGEgTlVMTCBidWZmZXIKCjIwMTItMDEtMDkgMTE6MDM6MjQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiB1c2UgdGhlIGZyYW1lcmF0ZSB0aGF0IHdhcyBjb3BpZWQgYSBmZXcgbGluZXMgYWJvdmUKCjIwMTItMDEtMDkgMTA6NTg6NTYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogYWRkIGEgY291cGxlIGNvbnN0cyBvbiBzdHJpbmcgbGl0ZXJhbCBhcnJheXMKCjIwMTItMDEtMDkgMDg6NDA6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBHc3RCYXNlQ2FtZXJhU3JjIGlzIHRoZSBiYXNlIGNsYXNzLCBub3QgR3N0QmluCgoyMDEyLTAxLTA5IDA4OjM0OjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB2b2FtcndiZW5jLCBsdjIgYW5kIHRlbGV4dGRlYyBhcmUgbm90IHBvcnRlZCB5ZXQKCjIwMTEtMTItMTkgMTE6MjQ6MzEgLTA1MDAgIERhdmlkIEJpb21lY2gzNjAgPGRkZXMzMTBAeWFob28uY29tPgoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuaDoKCSAgY29sb3JlZmZlY3RzOiBhZGRlZCBzdXBwb3J0IGZvciBhIHZpc3VhbCBtYWduaWZpZXIgY29sb3IgZmlsdGVyIHRvIGJlIHVzZWQgaW4gZ25vbWUtdmlkZW8tZWZmZWN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY2NTQyCgoyMDEyLTAxLTA2IDEwOjUyOjM2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZml4IHRlc3QgYW5kIHNldCBub3QgdXNpbmcgdGhlIHNhbWUgaW5wdXQKCSAgVGhpcyBmaXhlcyBILjI2NCBvdXRwdXQgbm90IGhhdmluZyBhIHNldCBmcmFtZXJhdGUsIGFuZAoJICBjb25mdXNpbmcgc29tZSBvZiB0aGUgZWxlbWVudHMgZG93bnN0cmVhbSAoc3VjaCBhcyBpbnRlcmxhY2UpLgoKMjAxMi0wMS0wNiAxMDozOTowNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IGF2b2lkIGRpdmlkaW5nIGJ5IHplcm8gb24gdW5rYm93biBmcmFtZXJhdGUKCSAgSWYgdGhlIGZyYW1lcmF0ZSBpcyB1bmtub3duLCB3ZSBjYW5ub3QgZ2VuZXJhdGUgbWVhbmluZ2Z1bAoJICBidWZmZXIgdGltZXN0YW1wcy9kdXJhdGlvbnMsIHNvIHNldCB0aGVtIHRvIF9OT05FIGluc3RlYWQgb2YKCSAgY2FsY3VsYXRpbmcgc29tZXRoaW5nIHdyb25nIGFuZCBkaXZpZGluZyBieSAwLgoKMjAxMi0wMS0wMiAwODoyODoxMyArMDEwMCAgT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L0dzdFZQOEVuYy5wcnM6CgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkgIHZwODogYWRkIGluaXRpYWwgcHJlc2V0IGZpbGUKCSAgVGhpcyBpcyBpbml0aWFsIHByZXNldCBmaWxlLCBjdXJyZW50bHkgd2l0aCBvbmx5IG9uZSBwcm9maWxlCgkgIGZvciByZWFsdGltZSBlbmNvZGluZy4KCSAgU2lnbmVkLW9mZi1ieTogT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDEyLTAxLTA1IDE0OjMwOjIxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IGxpbmsgYWdhaW5zdCB2aWRlbyBsaWJyYXJ5CgoyMDExLTEyLTA4IDEyOjE1OjM5ICswODAwICBaaGFvIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHJlbW92ZSBoMjYzIGdvYiBwYXJzaW5nLCBzaW5jZSB0aGVyZSBpcyBubyBnb2IgaW1tZWRpYXRlIGFmdGVyIHN2aAoKMjAxMS0xMi0wOCAxMjoxMzozOCArMDgwMCAgWmhhbyBIYWxsZXkgPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBhZGQgbWlzc2luZyB6ZXJvX2JpdHMgaW4gaDI2MyBwYXJzaW5nCgoyMDExLTEyLTA4IDEyOjEyOjIxICswODAwICBaaGFvIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGluY2x1ZGVzIHN0YXJ0X21hcmtlciBpbiBoMjYzIGhlYWRlciBmb3IgcGFyc2luZwoKMjAxMS0xMi0wOCAxMjowNzo0MiArMDgwMCAgWmhhbyBIYWxsZXkgPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBmaXggb2Zmc2V0IGlzc3VlIGluIGgyNjMgcGFyc2UKCjIwMTEtMTItMDggMTE6Mjc6NTYgKzA4MDAgIFpoYW8gSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogZml4IG1hc2sgcGF0dGVybiBmb3IgaDI2MyBzdGFydCBtYXJrZXIKCjIwMTItMDEtMDUgMTE6MDE6MDEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJICB0ZXN0czogdGVzdCBmb3IgR1RLIDIuMjQgZm9yIG5ldyBzeW1ib2xzIHVzZWQgaW4gY2FtZXJhYmluMiB0ZXN0cwoJICBUaGUgd2hvbGUgdHJlZSBpcyBsaWtlbHkgdG8gc3dpdGNoIHRvIEdUSyAzLjAgYXQgc29tZSBwb2ludCwgYnV0CgkgIHdlIG1pZ2h0IGFzIHdlbGwgY29udGludWUgYnVpbGRpbmcgd2l0aCBzbGlnaHRseSBsZXNzIG5ldyB2ZXJzaW9ucwoJICBpZiBpdCdzIG5vdCBoYXJkIHRvIGRvLgoKMjAxMi0wMS0wNSAxMDozODoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJICBzaWduYWxwcm9jZXNzb3I6IFRoZSBtdWx0aWNoYW5uZWwuaCBoZWFkZXIgaXMgZ29uZSBub3cKCjIwMTItMDEtMDUgMTA6MjM6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmg6CgkgIGZhYWQ6IFVwZGF0ZSBmb3IgdGhlIG5ldyByYXcgYXVkaW8gY2FwcwoKMjAxMi0wMS0wNSAwOTo1MjoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuaDoKCSAgZmFhYzogUG9ydCB0byB0aGUgbmV3IHJhdyBhdWRpbyBjYXBzCgoyMDEyLTAxLTA1IDA5OjM0OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSAgZmxpdGV0ZXN0c3JjOiBVcGRhdGUgdG8gdGhlIG5ldyByYXcgYXVkaW8gY2FwcwoKMjAxMi0wMS0wNCAxNjoxMzoxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiBVcGRhdGUgZm9yIHRoZSBuZXcgcmF3IGF1ZGlvIGNhcHMKCjIwMTItMDEtMDQgMTk6NTI6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwNTQ2ZTU4IHRvIDA4MDcxODcKCjIwMTItMDEtMDQgMTg6NDI6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIHRlc3RzOiByZW1vdmUgdGVtcG9yYXJ5IGZpbGVzIHdoZW4gZG9uZSBpbiBjYW1lcmFiaW4sIGNhbWVyYWJpbjIgYW5kIGppZm11eCB0ZXN0cwoKMjAxMi0wMS0wNCAxMToyODozNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc2ZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNzcmVuZGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9jb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhZC5jOgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJICB0ZXN0czogcG9ydCBzb21lIG1vcmUgdW5pdCB0ZXN0cwoKMjAxMi0wMS0wNCAxMDo1Njo1MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IGZpeCBhbmQgdHdlYWsgZnJhbWUgdGltZXN0YW1waW5nCgkgIC4uLiB0byBydW4gd2l0aCBwcm9wZXJseSBpbml0J2VkIHZhcmlhYmxlcywgYW5kIHRvIG9ubHkgcGVyZm9ybSBpbnRlcnBvbGF0aW9uCgkgIGluIHNhZmUgY2FzZXMuCgoyMDEyLTAxLTA0IDEwOjAyOjI4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBHU1RfRkxPV19VTkVYUEVDVEVEIC0+IEdTVF9GTE9XX0VPUwoKMjAxMi0wMS0wMyAyMjowOTowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHByZWZlciBuZWdvdGlhdGluZyBwYXNzLXRocm91Z2gKCjIwMTItMDEtMDMgMjE6NTk6MzIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBtYXJrIGJ5dGUtc3RyZWFtIEFVIGZyYW1lIHdpdGggaW5zZXJ0ZWQgY29kZWMgTkFMcyBhcyBrZXlmcmFtZQoKMjAxMi0wMS0wMyAyMDoyMzoxNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHByb3Blcmx5IGRldGVybWluZSBza2lwIGFtb3VudCB3aGVuIG5vIE5BTCBzdGFydCBmb3VuZCB5ZXQKCjIwMTItMDEtMDMgMjA6MjE6NTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBzb21lIG1vcmUgcHJvcGVyIHBhcnNlIHN0YXRlIHJlc2V0CgoyMDEyLTAxLTAzIDE1OjI2OjU0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIEdTVF9GTE9XX1VORVhQRUNURUQgLT4gR1NUX0ZMT1dfRU9TCgoyMDEyLTAxLTAyIDE1OjU1OjIxICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogZW5jb2RpbmcgcHJvZmlsZXMgYXJlIG9iamVjdHMgaW4gMC4xMQoKMjAxMi0wMS0wMiAxNTo1MjoyMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tcGxheWVyLmM6CgkgIGV4YW1wbGVzOiBGaXggYnVpbGQKCjIwMTEtMTItMzEgMDk6NTU6NDYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9pY2xlcy9waXRjaC10ZXN0LmM6CgkgIGNvbnRyb2xsZXI6IHBvcnQgdG8gQVBJIGNoYW5nZXMKCjIwMTEtMTItMzAgMTk6MDg6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHVwZGF0ZSBmb3IgZ2RwIGRhdGFwcm90b2NvbCBsaWJyYXJ5IHJlbW92YWwKCjIwMTEtMTItMzAgMTg6MTg6MTAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogU3dhbGxvdyBpbmNvbWluZyBjYXBzIGV2ZW50CgkgIE90aGVyd2lzZSB3ZSBlbmQgdXAgYXNraW5nIHN1YmNsYXNzZXMgdG8gcHVzaCB0aGUgZXZlbnQgZm9yd2FyZCwKCSAgd2hpY2ggd2lsbCBmYWlsIHNpbmNlIG5vIHBhZHMgYXJlIGNyZWF0ZWQgeWV0LgoKMjAxMS0xMi0zMCAxODoxNzoyNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBQcm9wZXJseSBjYXJyeSBvdmVyIHRoZSB0aW1lc3RhbXAKCjIwMTEtMTEtMDggMjA6MTk6NDEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgdHNkZW11eDogVXNlIGluY29taW5nIHRpbWVzdGFtcHMgaW4gbGl2ZSBtb2RlCgoyMDExLTExLTA4IDIwOjEyOjUwICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFJlcG9ydCBsYXRlbmN5ICg3MDBtcykKCjIwMTEtMTEtMDggMDk6NDQ6MTggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSAgbXBlZ3RzYmFzZTogUXVlcnkgd2hldGhlciB1cHN0cmVhbSBpcyBsaXZlIG9yIG5vdAoKMjAxMS0xMi0wNiAxNzozNzo0NSArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEFjdGl2YXRlIHBhZCBiZWZvcmUgc2V0dGluZ3MgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1Njc3CgoyMDExLTEyLTMwIDExOjQ5OjI3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvTWFrZWZpbGUuYW0KCjIwMTEtMTItMzAgMTE6NDE6MTcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExLXByZW1lcmdlCgkgIENvbmZsaWN0czoKCSAgZG9jcy9saWJzL01ha2VmaWxlLmFtCgkgIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jCgkgIGV4dC9vcHVzL2dzdG9wdXNkZWMuYwoJICBleHQveHZpZC9nc3R4dmlkZW5jLmMKCSAgZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvTWFrZWZpbGUuYW0KCSAgZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jCgkgIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaAoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYwoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaAoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jCgkgIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmMKCSAgZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYwoJICBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYwoJICBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmMKCSAgZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5jCgkgIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYwoJICBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jCgkgIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmMKCSAgZ3N0L214Zi9teGZtdXguYwoJICBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmMKCSAgZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYwoJICBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jCgoyMDExLTEyLTMwIDAwOjAyOjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSAgYmFzZXZpZGVvY29kZWM6IFJlc2V0IHNob3VsZCByZXNldCBjdXJyZW50IGNhcHMKCSAgTmV3IGNhcHMgd2lsbCBuZWVkIHRvIGJlIG5lZ290aWF0ZWQgd2hlbiByZXNldCBoYXBwZW5zCgkgIChQQVVTRUQgdG8gUkVBRFkpLiBXaXRob3V0IHJlc2V0aW5nIHRoZSBpbnRlcm5hbAoJICBzdG9yZWQgZm9ybWF0LCBiYXNldmlkZW9lbmNvZGVyL2RlY29kZXIgd291bGRuJ3QgY2FsbCB0aGUKCSAgY29uZmlndXJhdGlvbiBmdW5jdGlvbiB3aGVuIHRoZSBzYW1lIGNhcHMgd2FzIG5lZ290aWF0ZWQKCSAgYWdhaW4gYXMgdGhleSB3b3VsZCBiZWxpZXZlIHRoaXMgd2FzIHRoZSBzYW1lIGNhcHMgYXMgYmVmb3JlLgoJICBUaGUgaXNzdWUgaXMgdGhhdCBfc3RvcCBoYXMgYmVlbiBjYWxsZWQgd2hlbiBnb2luZyB0byBSRUFEWSBhbmQKCSAgdGhlIGVsZW1lbnRzIHdvdWxkIGhhdmUgcmVzZXQgdGhlaXIgaW50ZXJuYWwgY29kZWMgbGlicy9zdGF0ZSBhcwoJICB3ZWxsLiBBIG5ldyBjb25maWd1cmF0aW9uIHNob3VsZCBiZSBkb25lLgoKMjAxMS0xMi0zMCAwMDowMjoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBjbGFyaWZ5IHNvbWUgbWVzc2FnZSBsb2dzCgkgIEJlIGV4cGxpY2l0IG9uIHdoaWNoIGVuY29kZWJpbiB3ZSdyZSBzd2l0Y2hpbmcgcHJvZmlsZXMgb24gdGhlCgkgIGxvZyBtZXNzYWdlcwoKMjAxMS0xMi0yOSAxMzozMDoxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJICBleGFtcGxlczogY2FtZXJhYmluMjogYWRkIHNvbWUgZXJyb3IgaGFuZGxpbmcgZm9yIGZvcm1hdCBjaGFuZ2luZwoJICBDaGVjayB0aGF0IHRoZSBmb3JtYXQgY291bGQgYmUgaW5pdGlhbGl6ZWQgYW5kIHNob3dzIGEgbW9kYWwgZGlhbG9nCgkgIGluIGNhc2UgaXQgY291bGRuJ3QuCgoyMDExLTEyLTI5IDEyOjQ3OjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuaDoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi51aToKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjI6IGFkZCBmb3JtYXQgc2VsZWN0aW9uIGZvciBjYW1lcmFiaW4yIGV4YW1wbGUKCSAgQWRkcyBhIGNvbWJvYm94IGZvciBzZWxlY3RpbmcgdGhlIHZpZGVvIHByb2ZpbGUgZm9yIHJlY29yZGluZ3MuCgkgIFVzZWZ1bCBmb3IgdGVzdGluZyBtdWx0aXBsZSBmb3JtYXRzIGEvdiBzeW5jIHdoZW4gcmVjb3JkaW5nLgoKMjAxMS0xMi0yOCAxNjo1OToxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiByZW1vdmUgY29tbWVudCBmb3IgYWxyZWFkeSBmaXhlZCBpc3N1ZXMgb24gbWFrZWZpbGUKCSAgU29tZSBpc3N1ZXMgb24gY2FtZXJhYmluMiBhbmQgamlmbXV4IHRlc3RzIHdlcmUgZml4ZWQgc29tZQoJICB0aW1lIGFnbywgcmVtb3ZlIHRoZSBjb21tZW50cyBhYm91dCB0aGVtCgoyMDExLTEyLTI4IDE2OjU3OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBGaXggbWVzc2FnZSBsZWFrIGluIHRlc3RzCgoyMDExLTEyLTI3IDExOjU5OjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IGZpeCBndmFsdWUgbGVhawoKMjAxMS0xMi0yNyAxMDoyMzoxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogZml4IG1haW5sb29wIGxlYWtzCgoyMDExLTEyLTI3IDEwOjIwOjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IHNlY3VyZSBldmVudCByZWYgd2hlbiBzZW5kaW5nIGV2ZW50IHRvIHBhcmVudCBjbGFzcwoJICBjYW1lcmFiaW4yIG5lZWRzIHRvIGhvbGQgYW4gZXh0cmEgcmVmIG9uIHNlbmRfZXZlbnQgYmVmb3JlIHNlbmRpbmcKCSAgaXQgdG8gdGhlIHBhcmVudCBjbGFzcyBhcyBpdCB3aWxsIG5lZWQgdG8gdXNlIGl0IGFmdGVyIHRoZSBwYXJlbnQKCSAgaGFuZGxlcyBpdC4KCjIwMTEtMTItMjQgMTQ6MzI6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IHBvcnRpbmcgdG8gMC4xMQoKMjAxMS0xMi0yMyAxNjozMzo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGNhbWVyYWJpbjI6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMi0yMyAwOTozMDozMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkgIGZhYWM6IHN0YW5kYXJkaXplIHNvbWUgZmllbGQgZGF0YSB0eXBlcwoJICBGaXhlcyAjNjY2NzUwLgoKMjAxMS0xMi0yMiAxNToxOTowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGJhc2VjYW1lcmFiaW5zcmM6IHJlbW92ZSByZWR1bmRhbnQgZnVuY3Rpb25zCgkgIGdzdF9iaW5fZ2V0X2J5X2ludGVyZmFjZSBzaG91bGQgYmUgZW5vdWdoIGZvciBhcHBsaWNhdGlvbnMuCgkgIEhhdmVuJ3Qgc2VlbiBhbnlvbmUgdXNpbmcgdGhvc2Ugb3RoZXIgdGhhbiB3cmFwcGVyY2FtZXJhYmluc3JjLgoKMjAxMS0xMi0yMiAxNTowMTo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkgIGNhbWVyYWJpbjI6IHJlbW92ZSB1bnVzZWQgaGVscGVyIGZ1bmN0aW9uCgkgIFRoaXMgZHJvcF9lb3NfcHJvYmUgZnVuY3Rpb24gaXMgbm90IHVzZWQgYW55bW9yZSwgcmVtb3ZlIGl0CgoyMDExLTEyLTIyIDE3OjE1OjI4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogcmVjcmVhdGUgZW5jb2RlciBhZnRlciBmbHVzaGluZwoJICAuLi4gc2luY2UgaXQgYXBwZWFycyB0aGUgZXhpc3Rpbmcgb25lIGNhbid0IGJlIGJvdGhlcmVkIGFueW1vcmUgdG8gcHJvZHVjZQoJICBzb21lIG91dHB1dC4KCjIwMTEtMTItMjIgMTc6MTQ6MDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiByZWZhY3RvciBlbmNvZGVyIGxpYnJhcnkgc2V0dXAKCjIwMTEtMTItMjIgMTc6MTA6MTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIHZvYWFjZW5jOiBubyBuZWVkIHRvIGR1cGxpY2F0ZSBiYXNlY2xhc3Mgc2FuaXR5IGNoZWNrcwoKMjAxMS0xMi0yMiAxNzowOTozMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmM6CgkgIHZvYW1yd2JlbmM6IG5vIG5lZWQgdG8gZHVwbGljYXRlIGJhc2VjbGFzcyBzYW5pdHkgY2hlY2tzCgoyMDExLTEyLTIxIDIzOjUxOjMwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBleHQvemJhci9nc3R6YmFyLmg6CgkgIHVwZGF0ZSBmb3IgdmlkZW9maWx0ZXIgY2hhbmdlcwoKMjAxMS0xMi0yMSAxMTozMzo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3Rtb3Rpb25jZWxsc19keW5hbWljX3Rlc3QuYzoKCSAgdGVzdHM6IGF2b2lkIHVzZWxlc3MgaW5jbHVkZQoKMjAxMS0xMi0xOSAxNjo0OTowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IEZpeCBBL1Ygc3luYyBmb3IgY2FwdHVyZXMKCSAgQXVkaW8gc3JjIHdhcyBwdXNoaW5nIG5ld3NlZ21lbnRzIHN0YXJ0aW5nIGZyb20gMCwgZXZlbiB3aGVuIGl0cyBidWZmZXJzCgkgIHdlcmUgbm90IHN0YXJ0aW5nIHdpdGggMCBhcyB0aGVpciB0aW1lc3RhbXBzLiBBZGQgYSBidWZmZXIgcHJvYmUgdGhhdAoJICBjaGVja3MgdGhlIHRzIG9mIHRoZSBmaXJzdCBidWZmZXIgYW5kIHVzZXMgdGhhdCB0byBwdXNoIGEgbmV3c2VnbWVudCwKCSAganVzdCBsaWtlIHdlIGRvIGZvciB2aWRlbyBvbiB3cmFwcGVyY2FtZXJhYmluc3JjLgoKMjAxMS0xMi0xOSAxNToxNzoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBlbmFibGUgdGVzdHMKCSAgVGVzdHMgYXJlIHBhc3Npbmcgbm93LCBlbmFibGUgdGhlbQoKMjAxMS0xMi0xOSAxNToxNjo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBQdXNoIG5ld3NlZ21lbnRzIG9uIHZpZGVvIGNhcHR1cmUgc3RhcnQKCSAgUHVzaGluZyBuZXdzZWdtZW50cyB0byBpbmZvcm0gbXV4ZXJzIGFib3V0IHRoZSBzdGFydCB0aW1lIG9mIHRoZQoJICB2aWRlbyBidWZmZXIgdGltZXN0YW1wcy4KCjIwMTEtMTItMjAgMTQ6MDQ6NTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogY2xlYXIgc2VpIG1lc3NhZ2UgcHJpb3IgdG8gcGFyc2luZwoJICBGaXhlcyAjNjY2NTg0LgoKMjAxMS0xMi0xOSAyMzo1MToxOSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2ljbGVzL3BpdGNoLXRlc3QuYzoKCSAgY29udHJvbGxlcjogcG9ydCB0byBuZXcgaW50ZXJwb2xhdGlvbi1tb2RlIGFwaQoKMjAxMS0xMi0xOSAyMjo1NDo0NyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2ljbGVzL3BpdGNoLXRlc3QuYzoKCSAgY29udHJvbGxlcjogcG9ydCB0byBuZXcgY29udHJvbGxlciBhcGkKCjIwMTEtMTItMTkgMTg6NDQ6MzMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICB5NG06IHVwZGF0ZSBmb3IgbmV3IGludGVybGFjZSBjYXBzCgoyMDExLTEyLTE5IDEzOjE4OjUxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IG9ubHkgd2FybiB3aGVuIHdlIHNlZSBhIFBJRCB3aXRoIHVua25vd24gdHlwZQoJICBUaGlzIGlzIHF1aXRlIGZyZXF1ZW50LCBhbmQgd2Ugd2lsbCBqdXN0IGlnbm9yZSB0aGF0IHN0cmVhbSwKCSAgc28gYW4gZXJyb3IgaXMgbm90IHdhcnJhbnRlZC4KCjIwMTEtMTItMTkgMTI6MzI6MjYgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBhdm9pZCBwdXNoaW5nIFNQUy9QUFMgYXQgc3RhcnQgb25seSBpZiBib3RoIGFyZSBmb3VuZCBpbiBzdHJlYW0KCSAgQXZvaWQgaW5qZWN0aW5nIFNQUy9QUFMgbmFscyBvbmx5IGlmIGJvdGggYXJlIGFscmVhZHkgcHJlc2VudCBpbiB0aGUgc3RyZWFtLgoJICBGaXhlcyBzb21lIEFWQyBjbGlwcyB0aGF0IGhhcHBlbiB0byBoYXZlIG9ubHkgUFBTIG5hbHMgaW4gc3RyZWFtLgoKMjAxMS0xMi0xOCAxODozNzowOCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5oOgoJICBtcGVnNHZpZGVvcGFyc2U6IGhhbmRsZSBmb3JjZSBrZXkgdW5pdCBldmVudHMKCjIwMTEtMTItMTggMTc6NDA6NTcgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkbyB3YWl0IGZvciBhIGtleWZyYW1lIHdoZW4gaGFuZGxpbmcgZm9yY2Uga2V5IHVuaXQgZXZlbnRzCgkgIEFsdGhvdWdoIHNvbWUgZGVjb2RlcnMgY2FuIHN0YXJ0IGRlY29kaW5nIHdpdGgganVzdCBQUFMgYW5kIFNQUyBhbmQgd2FpdGluZyBmb3IKCSAgYSBrZXlmcmFtZSBpcyBiYWQgd2hlbiB0aGUga2V5ZnJhbWUgaW50ZXJ2YWwgaXMgbGFyZ2UsIGdzdC1mZm1wZWcgZG9lcyBuZWVkIGEKCSAga2V5ZnJhbWUgdG8gc3RhcnQgZGVjb2RpbmcuCgoyMDExLTEyLTE4IDE3OjMyOjExICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogdW5zZXQgdGhlIGN1cnJlbnQgUENSIHN0cmVhbSB3aGVuIHN0YXJ0aW5nIGEgbmV3IHVuaXQKCSAgVW5zZXQgdGhlIGN1cnJlbnQgUENSIHN0cmVhbSB3aGVuIHN0YXJ0aW5nIGEgbmV3IHVuaXQgc28gdGhhdCBhZnRlcndhcmRzIGEgbmV3CgkgIHN0cmVhbSBpcyBzZWxlY3RlZCBhcyBQQ1IgYW5kIFBBVCBhbmQgUE1UIHRhYmxlcyBhcmUgcmVnZW5lcmF0ZWQuCgoyMDExLTEyLTE4IDE3OjMxOjE4ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZml4IGtleSB1bml0IGV2ZW50IGhhbmRsaW5nIHdoZW4gbXV4aW5nIGJvdGggYXVkaW8gYW5kIHZpZGVvCgkgIFRha2Ugb25seSB2aWRlbyBidWZmZXJzIGludG8gYWNjb3VudCB3aGVuIGRlY2lkaW5nIHdoZW4gdG8gY3V0IHNvIHRoYXQgbmV3IHVuaXRzCgkgIHN0YXJ0IHdpdGggYSB2aWRlbyBrZXlmcmFtZS4KCjIwMTEtMTItMTUgMTg6MTQ6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIGthdGV0aWdlcjogZG9uJ3QgdW5yZWYgTlVMTCBidWZmZXIKCjIwMTEtMTItMTUgMTY6NDI6MjAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1czogZml4IGJhZCBtZXJnZSAoc3RyYXkgdW5tYXAsIHVuZGVjbGFyZWQgdmFyKQoKMjAxMS0xMi0xNSAxMToxMTo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBqaWZtdXg6IHJlLWVuYWJsZSBqaWZtdXgncyB0ZXN0cwoJICBGaXggZm9yIGl0cyB0ZXN0IGlzIG5vdyBhdmFpbGFibGUgb24gLWJhc2UgbW9kdWxlLgoJICBFbmFibGluZyBhZ2Fpbi4KCjIwMTEtMTItMTUgMTM6NDc6NTUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmg6CgkgIHZpZGVvbWVhc3VyZTogcG9ydCB0byBHc3RDb2xsZWN0UGFkczIKCjIwMTEtMTItMTUgMTM6Mzk6NDEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L214Zi9teGZtdXguaDoKCSAgbXhmbXV4OiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoJICBPbmx5IHRlc3RlZCB3aXRoIGF1ZGlvLCBJIGNhbid0IGdldCBpdCB0byBhY2NlcHQgdmlkZW8gKGJlZm9yZQoJICB0aGUgcG9ydCkuCgoyMDExLTEyLTE1IDEzOjIyOjI0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogcG9ydCB0byBHc3RDb2xsZWN0UGFkczIKCSAgSSAqdGhpbmsqIHRoZSBzdHJlYW0gbG9jayB1c2UgaXMgY29ycmVjdCwgbm90IDEwMCUgc3VyZS4KCjIwMTEtMTItMTUgMTM6MDg6NDIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguaDoKCSAgbXBlZ3BzbXV4OiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoKMjAxMS0xMi0xNSAxMzowNDo1MSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuaDoKCSAgZnJlaTByOiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoJICBVbnRlc3RlZCwgbm8gc2FtcGxlIHBpcGVsaW5lIG1lbnRpb25lZCwgYW5kIEkndmUgbm8gaWRlYSB3aGF0CgkgIHRoaXMgcGx1Z2luIGRvZXMsIGJ1dCBzaW5jZSBhbGwgdGhlIHByZXZpb3VzIHBvcnRzIHdvcmsgb3V0IG9mCgkgIHRoZSBib3gsIHRoaXMgaXMgZGVlbWVkIHRvIHdvcmsgdW50aWwgZXZpZGVuY2UgaXQgZG9lc24ndC4KCjIwMTEtMTItMTUgMTM6MDI6MTYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmg6CgkgIGNvbXBhcmU6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgoyMDExLTEyLTE1IDEyOjU5OjU3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4Lmg6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5oOgoJICBhc2ZtdXg6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgoyMDExLTEyLTE0IDE3OjM2OjU1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkgIGR0c2RlYzogYXZvaWQgY3Jhc2hpbmcgdXBvbiBkcmFpbmluZwoJICAuLi4gYW5kIGNsZWFuIHVwIHNvbWUgdmFyaWFibGUgaW5pdCBhbmQgZGVidWcgc3RhdGVtZW50LgoKMjAxMS0xMi0xNCAwODo1NDozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIHRlc3RzOiBtcGVndHNtdXg6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTEtMTItMTQgMDg6MzI6NTAgLTAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPHRvbW1pLm15b2hhbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogZml4IGxlYWsgb24gZXJyb3IgaGFuZGxpbmcKCSAgQ2FtZXJhYmluMiBwYXJzZXMgd2FybmluZyBtZXNzYWdlcyB3aXRoIGdzdF9tZXNzYWdlX3BhcnNlX3dhcm5pbmcobWVzc2FnZSwKCSAgJmVyciwgJmRlYnVnKSBidXQgZG9lc24ndCBmcmVlIGdpdmVuIEdFcnJvciBhbmQgZGVidWcgc3RyaW5ncy4KCSAgRG9jdW1lbnRhdGlvbiBzaG93cyB0aGF0IHRoZSBvd25lcnNoaXAgb2YgdGhvc2UgZmllbGRzIGlzIHRyYW5zZmVycmVkCgkgIHRvIGNhbGxlciAodGhleSBhcmUgbWFya2VkICJbdHJhbnNmZXIgZnVsbF0iIGluIHRoZSBBUEkgZG9jcykuCgoyMDExLTEyLTEyIDE1OjUyOjIwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IGNoZWNrIG9mZnNldCB3aGVuIHJldHJpZXZpbmcgdGFibGVfaWQgb24gbWFsZm9ybWVkIHBhY2tldHMKCSAgRml4IGJ1ZyAjNjY1OTg4CgoyMDExLTEyLTEzIDEwOjQ0OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgUmV2ZXJ0ICJtcGVndHNwYXJzZTogY2hlY2sgb2Zmc2V0IHdoZW4gcmV0cmlldmluZyB0YWJsZV9pZCBvbiBtYWxmb3JtZWQgcGFja2V0cyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBlNjI5NzhkMDQ1ZDU3ZWU5ZmVkNzU5OGMwMmI5MDE3ZWI5NzRlYTM2LgoKMjAxMS0xMi0xMyAxMDoxNzo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSAgYmFzZXZpZGVvY29kZWM6IERvbid0IHVzZSBHX1RZUEVfUkVHSVNURVJfQk9YRUQoKSB5ZXQKCSAgVGhpcyB3b3VsZCByZXF1aXJlIEdMaWIgMi4yNi4KCjIwMTEtMTItMTIgMjA6MDE6MTcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIHRpZ2VyOiBhZHZlcnRpc2UgYWxsIHRoZSBuZXcgWVVWIGZvcm1hdHMgd2UgY2FuIG5vdyB1c2UKCjIwMTEtMTItMTIgMTk6MzQ6MzIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5oOgoJICB0aWdlcjogcmVwbGFjZSB0aGUgbmV3IFlVViBibGl0dGluZyBjb2RlIHdpdGggdGhlIG5ld2VyIG92ZXJsYXkgY29kZQoKMjAxMS0xMi0xMiAxNDo1NDowMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBjaGVjayBvZmZzZXQgd2hlbiByZXRyaWV2aW5nIHRhYmxlX2lkIG9uIG1hbGZvcm1lZCBwYWNrZXRzCgoyMDExLTEyLTEyIDEzOjU5OjMzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGxpdmVhZGRlcjogZml4IGJ1ZmZlciBsZWFrCgoyMDExLTEyLTA1IDE4OjU3OjAxICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW86IE1ha2UgZnJhbWVzdGF0ZSBhIHJlZmVyZW5jZSBjb3VudGVkIGJveGVkIG9iamVjdAoJICAuLi5hbmQgYWxzbyBjbGVhciBhbGwgZXhpc3RpbmcgZnJhbWVzIHdoZW4gcmVzZXR0aW5nIHRoZSBkZWNvZGVyIG9yIGVuY29kZXIuCgoyMDExLTEyLTA1IDE4OjU3OjAxICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW86IE1ha2UgR3N0VmlkZW9GcmFtZSBhIHJlZmVyZW5jZSBjb3VudGVkIGJveGVkIG9iamVjdAoJICAuLi5hbmQgYWxzbyBjbGVhciBhbGwgZXhpc3RpbmcgZnJhbWVzIHdoZW4gcmVzZXR0aW5nIHRoZSBkZWNvZGVyIG9yIGVuY29kZXIuCgoyMDExLTEyLTEyIDEwOjQwOjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgdGVsZXRleHRkZWM6IFByb3Blcmx5IGludGVncmF0ZSBpbnRvIHRoZSBidWlsZCBzeXN0ZW0KCjIwMTEtMTItMTIgMTA6Mjg6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R0cy9NYWtlZmlsZS5hbToKCSAgZHRzOiBBZGQgJChHU1RfQkFTRV9MSUJTKSBhbmQgQ0ZMQUdTIHRvIHRoZSBidWlsZAoJICBkdHNkZWMgbm93IHVzZXMgR3N0QWRhcHRlciwgd2hpY2ggaXMgaW4gbGliZ3N0YmFzZS4gQWxzbyByZW9yZGVyCgkgIENGTEFHUyBhbmQgTElCQURELgoKMjAxMS0xMi0xMSAxNjowNzo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IGZpeCBtYWtlIGRpc3RjaGVjawoJICBTZXQgRE9DX09WRVJSSURFUywgc28gdGhlIC1vdmVycmlkZXMudHh0IGZpbGUgd2hpY2ggaXMgYXBwYXJlbnRseQoJICBjcmVhdGVkIGFueXdheSwgZ2V0cyBjbGVhbmVkIHVwIHByb3Blcmx5LgoKMjAxMS0xMi0xMSAxNjowNTo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IG1pbm9yIE1ha2VmaWxlLmFtIGNsZWFuLXVwCgkgIEdTVF9CQURfQ0ZMQUdTIGFuZCBHU1RfQkFEX0xJQlMgZG9uJ3QgZXhpc3QuCgoyMDExLTEyLTExIDE1OjI5OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZGlzYWJsZSBmYWlsaW5nIGppZm11eCwgY2FtZXJhYmluMiwgYW5kIGNvbG9yc3BhY2UgdGVzdHMKCSAgamlmbXV4OiBnZW5lcmFsOnRlc3RfamlmbXV4X3RhZ3M6MDogQXNzZXJ0aW9uICdlbnRyeS0+Y29tcG9uZW50cyA9PSAyJyBmYWlsZWQKCSAgY2FtZXJhYmluMjogdGVzdF9tdWx0aXBsZV92aWRlb19yZWNvcmRpbmdzOjA6IGdzdF9jYXBzX2dldF9zdHJ1Y3R1cmU6IGFzc2VydGlvbiBgR1NUX0lTX0NBUFMgKGNhcHMpCgkgIGNvbG9yc3BhY2U6IGJhZCBtZW1vcnkgYWNjZXNzZXMgaW4gb3JjIGNvZGUgZm9yIG9kZCB3aWR0aCBidWZmZXJzIChzZWUgYnVnICM2NjMyNDgpCgoyMDExLTEyLTExIDE1OjAzOjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGZpeCBnX3VzbGVlcCgpIGluIGNhbWVyYWJpbjIgdGVzdAoJICBnX3VzbGVlcCgpIHRha2VzIGEgbWljcm9zZWNvbmQgdmFsdWUsIEdTVF9TRUNPTkQgaXMgbmFub3NlY29uZHMsIHNvCgkgIHdlIHdlcmUgc2xlZXBpbmcgZm9yIG1vcmUgdGhhbiAzIG1pbnV0ZXMgaGVyZSBpbnN0ZWFkIG9mIDIwMG1zLgoKMjAxMS0xMi0xMSAwMDo1OToxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9MSU5HVUFTOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2dsLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHYucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTEtMDktMjUgMjM6NTc6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9wc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4Lmg6CgkgIG1wZWdwc211eDogcHV0IHN0cmVhbSBoZWFkZXJzIGludG8gb3V0cHV0IGNhcHMKCSAgQmFzaWMgdmVyc2lvbiB3aXRoIG9ubHkgdGhlIHN5c3RlbSBoZWFkZXIgYW5kIHRoZSBwcm9ncmFtCgkgIHN0cmVhbSBtYXAuIEFuIGFkdmFuY2VkIHZlcnNpb24gY291bGQgaW5jbHVkZSBjb2RlYy1zcGVjaWZpYwoJICBiaXRzIGxpa2UgU1BTL1BQUyB0b28uIFRoaXMgaXMgdXNlZnVsIGluIGNvbm5lY3Rpb24gd2l0aAoJICBlLmcuIG11bHRpZmlsZXNpbmsgdG8gbWFrZSBzdXJlIG5ldyBmaWxlcyBhbHdheXMgc3RhcnQgd2l0aAoJICB0aGUgc3RyZWFtIGhlYWRlcnMuCgoyMDExLTA5LTE2IDE5OjMyOjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4Lmg6CgkgIG1wZWdwc211eDogYWRkICJhZ2dyZWdhdGUtZ29wcyIgcHJvcGVydHkgdG8gYWdncmVnYXRlIEdPUHMgaW50byBidWZmZXIgbGlzdHMKCSAgVXNlZnVsIGluIGNvbm5lY3Rpb24gd2l0aCBtdWx0aWZpbGVzaW5rLCBmb3IgZXhhbXBsZSwgdG8gbWFrZSBzdXJlCgkgIHRoZSBuZXcgZmlsZSBhbHdheXMgc3RhcnRzIHdpdGggYSBrZXlmcmFtZS4KCjIwMTEtMTItMTAgMjA6MDg6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguaDoKCSAgbXBlZ3BzbXV4OiByZW1lbWJlciBwcmltYXJ5IHZpZGVvIHN0cmVhbQoKMjAxMS0wOC0zMSAxOTo0MDowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4c3RyZWFtLmM6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXhzdHJlYW0uaDoKCSAgbXBlZ3BzbXV4OiByZW1lbWJlciB3aGV0aGVyIGFuIGluY29taW5nIGJ1ZmZlciBpcyBhIGtleXVuaXQgb3Igbm90CgoyMDExLTEyLTA5IDE3OjI1OjQxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJICBvcHVzZW5jOiBhZGQgdXBzdHJlYW0gbmVnb3RpYXRpb24gZm9yIG11bHRpc3RyZWFtIGFiaWxpdHkKCSAgVGhpcyB3aWxsIGhlbHAgZWxlbWVudHMgdGhhdCBjYW5ub3QgZGVhbCB3aXRoIG11bHRpc3RyZWFtLAoJICBzdWNoIGFzIHRoZSBSVFAgcGF5bG9hZGVyLgoJICBUaGUgY2FwcyBub3cgZG8gbm90IGluY2x1ZGUgYSAic3RyZWFtcyIgZmllbGQgYW55bW9yZSwgYnV0CgkgIGEgIm11bHRpc3RyZWFtIiBib29sZWFuLCBzaW5jZSB3ZSBoYXZlIG5vIHJlYWwgdXNlIGZvciBrbm93aW5nCgkgIHRoZSBleGFjdCBhbW91bnQgb2Ygc3RyZWFtcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTA3OAoKMjAxMS0xMi0wNyAxNToxMzoxMSAtMDIwMCAgRGFuaWxvIENlc2FyIExlbWVzIGRlIFBhdWxhIDxkYW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL2dzdG9wdXMuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNkZXBheS5oOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuaDoKCSAgQWRkaW5nIG9wdXMgUlRQIHBheWxvYWRlci9kZXBheWxvYWRlciBlbGVtZW50CgkgIEFkZGluZyBPUFVTIFJUUCBtb2R1bGUgYmFzZWQgb24gdGhlIGN1cnJlbnQgZHJhZnQ6CgkgIGh0dHA6Ly90b29scy5pZXRmLm9yZy9pZC9kcmFmdC1zcGl0dGthLXBheWxvYWQtcnRwLW9wdXMtMDAudHh0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQ4MTcKCjIwMTEtMTItMDggMTk6NDc6NTUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzOiBpbmNsdWRlIHN0cmVhbXMgY291bnQgaW4gY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1MDc4CgoyMDExLTEyLTA4IDE4OjQ1OjI3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNjb21tb24uYzoKCSogZXh0L29wdXMvZ3N0b3B1c2NvbW1vbi5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuaDoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXM6IHByb3Blcmx5IGNyZWF0ZSBjaGFubmVsIG1hcHBpbmcgdGFibGVzCgkgIFRoZXJlIGFyZSB0d28gb2YgdGhlbSwgdW5pbnR1aXRpdmVseSBlbm91Z2g7IHRoZSBvbmUgcGFzc2VkCgkgIHRvIHRoZSBlbmNvZGVyIHNob3VsZCBub3QgYmUgdGhlIG9uZSB0aGF0IGdldHMgd3JpdHRlbiB0byB0aGUKCSAgZmlsZS4gVGhlIGZvcm1lciBtYXBzIHRoZSBpbnB1dCB0byBhbiBvcmRlcmluZyB3aGljaCBwdXRzCgkgIHBhaXJlZCBjaGFubmVscyBmaXJzdCwgd2hpbGUgdGhlIGxhdHRlciBtb3ZlcyB0aGUgY2hhbm5lbHMKCSAgdG8gVm9yYmlzIG9yZGVyLiBTbyBhZGQgY29kZSB0byBjYWxjdWxhdGUgYm90aCwgYW5kIHdlIG5vdwoJICBoYXZlIHByb3Blcmx5IHBhaXJlZCBjaGFubmVscyB3aGVyZSBhcHByb3ByaWF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTA3OAoKMjAxMS0xMi0wOCAyMjo0OTo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJICB2aWRlb3BhcnNlcnM6IGZpeCBMSUJTIG9yZGVyIGluIE1ha2VmaWxlLmFtCgoyMDExLTEyLTA4IDEyOjQyOjU3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IG9ubHkgb2Zmc2V0IHRpbWVzdGFtcHMgd2hlbiBsaXZlCgkgIFRoaXMgY29kZSBpcyB0byBzeW5jIHRvIGEgbGl2ZSBzb3VyY2Ugd2hlbiB0aGVyZSBpcyBhIGRlbGF5CgkgIGJldHdlZW4gc3RhcnQgYW5kIHdoZW4gd2UgcmVjZWl2ZSB0aGUgZmlyc3QgYnVmZmVyLCBzbyBpdCBkb2VzCgkgIG5vdCBtYWtlIHNlbnNlIGluIGEgbm9uIGxpdmUgY2FzZS4KCSAgVGhpcyBmaXhlcyBwbGF5YmFjayBvZiBzdHJlYW1zIHdoZXJlIHRoZSBpbnB1dCB0aW1lc3RhbXBzIGFyZQoJICBiYXNlZCBvZmYgc29tZSBhcmJpdHJhcnkgb2Zmc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNzU2CgoyMDExLTEyLTA4IDExOjUxOjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IE9ubHkgbWFrZSB0aGUgaGVhZGVyIGJ1ZmZlciBtZXRhZGF0YSB3cml0YWJsZSwgbm90IHRoZSBidWZmZXIKCjIwMTEtMTItMDggMTA6MTk6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogRml4IGhhbmRsaW5nIG9mIGZvcmNlLWtleXVuaXQgZXZlbnRzCgoyMDExLTEyLTA3IDAwOjA2OjExIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBoZWFkZXIgY2xlYW51cAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1MDc4CgoyMDExLTEyLTA3IDAwOjA2OjExIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBUcnVuY2F0ZSBjYXBzIGZpcnN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUwNzgKCjIwMTEtMTEtMjggMTk6NDc6MzQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBkZWZhdWx0IHRvIHN0ZXJlbyA0ODAwMCBIeiBpZiBwb3NzaWJsZSB3aGVuIG5vIGhlYWRlcnMgc2VlbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1MDc4CgoyMDExLTEyLTA3IDEzOjQ4OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuYzoKCSAgcnNuZGVjOiBEb24ndCB1c2UgdGhlIGluaXRpYWwtaWRlbnRpdHkgcHJvcGVydHkgb24gYXV0b2NvbnZlcnQKCSAgSXQgd2FzIHJlbW92ZWQsIHNlZSBidWcgIzU5OTQ2OSwgIzY2NTIwNQoKMjAxMS0xMi0wNyAxMzo0Njo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0Lmg6CgkgIGF1dG9jb252ZXJ0OiBSZW1vdmUgdGhlIGluaXRpYWwtaWRlbnRpdHkgcHJvcGVydHkgZnJvbSBhdXRvY29udmVydAoJICBJbml0aWFsbHkgY3JlYXRpbmcgYW4gaWRlbnRpdHkgZWxlbWVudCB0byBmb3J3YXJkIHNlcmlhbGl6ZWQKCSAgZXZlbnRzIGRvd25zdHJlYW0gYmVmb3JlIGFueSBjYXBzIGFyZSBrbm93biBpcyBicm9rZW4gYmVoYXZpb3VyLgoJICBTZXJpYWxpemVkIGV2ZW50cyBzaG91bGQgb25seSBiZSBmb3J3YXJkZWQgZG93bnN0cmVhbSBpZiB0aGUKCSAgY2FwcyBhcmUgYWxyZWFkeSBrbm93biwgb3RoZXJ3aXNlIGF1dG9wbHVnZ2VycyBhbmQgb3RoZXIgZWxlbWVudHMKCSAgdXNpbmcgcGFkLWJsb2NrcyB3aWxsIGZhaWwuCgkgIFRoaXMgYmVoYXZpb3VyIGFsc28gZG9lc24ndCB3b3JrIGFueW1vcmUgYWZ0ZXIgYmFzZXRyYW5zZm9ybQoJICB3YXMgZml4ZWQgdG8gcXVldWUgc2VyaWFsaXplZCBldmVudHMgdW50aWwgdGhlIGNhcHMgYXJlIGtub3duCgkgIGFzIGEgcmVzdWx0IG9mIGZpeGluZyBidWcgIzY1OTU3MS4KCSAgU2VlIGJ1ZyAjNTk5NDY5LCAjNjY1MjA1LgoKMjAxMS0xMi0wNiAxNjoyNzoyNSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBEbyBub3Qgbm90IHNraXAgc3RhcnRjb2RlIHdoZW4gbmVlZGVkCgkgIEZpeDogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTYzMQoKMjAxMS0xMi0wNiAwODo1NToxOSArMDgwMCAgWmhhbyBIYWxsZXkgPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBmaXJzdCB2aWRlb19wYWNrZXRfaGVhZGVyIGRvZXNuJ3Qgc3RhcnQgd2l0aCByZXN5bmNfbWFya2VyCgoyMDExLTEyLTA2IDA4OjUzOjA3ICswODAwICBaaGFvIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHJldHVybiBOT19QQUNLRVQgaWYgbmVlZGVkCgoyMDExLTEyLTA2IDA4OjMxOjE0ICswODAwICBaaGFvIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGZpeCBhbiBpc3N1ZSBpbiBjaGVjayByZXN5bmMgbWFya2VyCgoyMDExLTEyLTA2IDA4OjI1OjU5ICswODAwICBaaGFvIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGZpeCBhbiBpc3N1ZSBpbiBmaW5kaW5nIHRoZSBsYXN0IHZpZGVvIHBhY2tldCBpbiB2b3AKCjIwMTEtMTItMDYgMDg6MjE6MTkgKzA4MDAgIFpoYW8gSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaW5jbHVkZSByZXN5bmMgbWFya2VyIGluIHZpZGVvIHBhY2tldCBzaXplCgoyMDExLTEyLTA2IDA4OjE5OjA1ICswODAwICBaaGFvIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHNjYW4gbmV4dCByZXN5bmMgbWFya2VyIGFmdGVyIGN1cnJlbnQgb25lCgoyMDExLTEyLTA2IDA4OjE3OjM4ICswODAwICBaaGFvIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGZpeCA8IDAgaXNzdWUgb2YgZ3VpbnQgaW4gbXBlZzQgcGFyc2VyCgkgIGdzdF9ieXRlX3JlYWRlcl9tYXNrZWRfc2Nhbl91aW50MzIgcmV0dXJucyBhIGd1aW50LCBub3QgYSBnaW50LCB3aGljaAoJICBleHBsYWlucyB0aGUgaXNzdWUgd2Ugc29tZXRpbWUgZ2V0IHVzaW5nIDwgMCBpbnN0ZWFkIG9mID09IC0xOwoKMjAxMS0xMi0wNiAwODoxNTo0NiArMDgwMCAgWmhhbyBIYWxsZXkgPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBmaXggcGF0dGVybi9tYXNrIG9mIHJlc3luY19tYXJrZXIgcGFyc2luZyBvZiBtcGVnNAoKMjAxMS0xMi0wNiAxMzowNjowNiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IGhhbmRsZSBmb3JjZSBrZXkgdW5pdCBldmVudHMKCSAgU2VuZCBTUFMvUFBTIG9uIGZvcmNlIGtleSB1bml0IGV2ZW50cy4gVXNlZnVsIGZvciBleGFtcGxlIHdoZW4gc2VydmluZyBITFMKCSAgd2l0aG91dCB0cmFuc2NvZGluZy4KCjIwMTEtMTItMDYgMTI6NTU6MjYgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGZpeCBjb21waWxlIHdhcm5pbmdzIGluIGdzdG1wZWc0cGFyc2VyLmMKCjIwMTEtMTItMDUgMTE6NTY6MDIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svbGlicy8uZ2l0aWdub3JlOgoJICB0ZXN0czogQWRkIG1vcmUgZmlsZXMgdG8gLmdpdGlnbm9yZQoKMjAxMS0xMi0wNSAxMTo1MDoxNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IFVzZSBmYXN0ZXIgcGFyc2luZyB2YXJpYW50IHdoZW4gaW5wdXQgaXMgcGFja2V0aXplZAoJICBSZWR1Y2VzIGxhdGVuY3kgYW5kIGNwdSB1c2FnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1NTg0CgoyMDExLTEyLTA1IDExOjQ3OjU3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBWYXJpYW50IG9mIF9pZGVudGlmeV9uYWx1IHdpdGhvdXQgY2hlY2tzCgkgIFRoaXMgaXMgdXNlZnVsIGZvciBjYXNlcyB3aGVyZSB0aGUgY2FsbGVyICprbm93cyogdGhhdCB0aGUgcHJvdmlkZWQKCSAgaW5wdXQgY29udGFpbnMgYSB3aG9sZSBOQUxVIGFuZCBjYW4gdGhlcmVmb3JlIGF2b2lkOgoJICAqIHRoZSBleHBlbnNpdmUgY2hlY2tzIGZvciB0aGUgbmV4dCBzdGFydCBjb2RlICh3aGljaCB3b24ndCBiZSBwcmVzZW50KQoJICAqIGRlbGF5aW5nIHRoZSBpbnB1dCBwYXJzaW5nIChzaW5jZSB3ZSB3b3VsZCBuZWVkIHRoZSBuZXh0IGluY29taW5nIE5BTFUKCSAgaW4gb3JkZXIgZm9yIHRoZSBwYXJzaW5nIGNvZGUgdG8gZGV0ZWN0IHRoZSBuZXh0IHN0YXJ0IGNvZGUpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjU1ODQKCjIwMTEtMTItMDUgMTM6MDk6MTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiByZWZsb3cgc2xpY2UgbmFsIHByb2Nlc3NpbmcKCjIwMTEtMTItMDUgMTI6NTc6NDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBvcHRpbWl6ZSBzbGljZSBuYWwgcHJvY2Vzc2luZwoJICBPbmx5IG1pbmltYWwgc2xpY2UgaW5mbyBpcyBuZWVkZWQgaGVyZSB0byBkZXRlcm1pbmUgcmVhbCBmcmFtZSBzdGFydCwKCSAgc28gbm8gbmVlZCB0byBwYXJzZSBleHRlbnNpdmVseS4KCSAgRml4ZXMgIzY2NTQxOC4KCjIwMTEtMTItMDUgMTI6NTM6NTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyOiB1bmJyZWFrIGgyNjQgc2xpY2UgaGVhZGVyIHBhcnNpbmcKCSAgLi4gaW50cm9kdWNlZCBieSByZWZhY3RvcmluZyBpbiBjb21taXQgMTc3NDUxYzkyMTZmNGUzOTU5ZTczNTg2NzVmYmI5NzMxZDJjODFhMgoKMjAxMS0xMi0wMSAxODoyODo0OSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvcHZyMmQvZ3N0cHZyLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnIuaDoKCSogc3lzL3B2cjJkL2dzdHB2cmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3B2cjJkL2dzdHB2cmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3B2cjJkL2dzdHB2cnZpZGVvc2luay5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZydmlkZW9zaW5rLmg6CgkgIHB2cjJkOiBQb3J0IHRvIDAuMTEKCSAgSGFuZGxlcyBHc3RWaWRlb01ldGEgYW5kIEdzdFZpZGVvQ3JvcE1ldGEKCSAgUHJvdmlkZXMgR3N0QnVmZmVyUG9vbAoJICBOZXcgR3N0UFZSTWV0YSB0byBoYW5kbGUgdGhlIHdyYXBwZWQgUFZSIG1lbV9zcmMKCjIwMTEtMTItMDIgMTc6NTM6MjMgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBGaXggcmVmZXJlbmNlIGNvdW50aW5nIG9mIGNvZGVjX2RhdGEKCjIwMTEtMTItMDUgMDg6NTY6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBJbXBsZW1lbnQgaXRlcmF0ZV9pbnRlcm5hbF9saW5rcyBmdW5jdGlvbiBvbiB0aGUgc2lua3BhZCBhbmQgc3JjcGFkCgoyMDExLTExLTI4IDE5OjM4OjM0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogZ3VhcmQgYWdhaW5zdCBkZWNvZGluZyAwIHNhbXBsZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTA3OAoKMjAxMS0xMi0wMiAxMTo0NjowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogUmVxdWlyZSBYVklEIEFQSSA+PSA0LjMKCSAgVGhpcyBpcyByZXF1aXJlZCBmb3IgZW5jb2RpbmcgdGhlIHNpbXBsZSBwcm9maWxlCgkgIHdpdGggbGV2ZWxzIDRhLCA1IG9yIDYuCgkgIEZpeGVzIGJ1ZyAjNjY1Mzc4LgoKMjAxMS0xMi0wMSAxNjo1OToxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSAgY2FtZXJhYmluOiB1c2UgR3N0U2FtcGxlIGZvciB0aGUgcHJldmlldwoKMjAxMS0xMi0wMSAxMDo1NDo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgIHh2aWRlbmM6IERvbid0IGFkZCB0aGUgcHJvZmlsZS9sZXZlbCB0byB0aGUgdmlkZW8veC14dmlkIGNhcHMKCjIwMTEtMTItMDEgMDk6NTQ6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmg6CgkgIHh2aWRlbmM6IEFkZCBwcm9maWxlL2xldmVsIHRvIHRoZSBjYXBzIGFuZCBuZWdvdGlhdGUgdGhlbSB3aXRoIGRvd25zdHJlYW0KCSAgU3RpbGwga2VlcCB0aGUgcHJvZmlsZSBwcm9wZXJ0eSB0byBzZWxlY3QgcHJvZmlsZS9sZXZlbCBpZiB0aGVyZQoJICBhcmUgbm8gZG93bnN0cmVhbSBjb25zdHJhaW50cy4KCSAgRml4ZXMgYnVnICM2NTIyNjEuCgoyMDExLTEyLTAxIDA5OjM5OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgeHZpZGVuYzogQWRkIHN1cHBvcnQgZm9yIGxldmVscyA0YS81LzYgb2YgdGhlIHNpbXBsZSBwcm9maWxlCgoyMDExLTEyLTAxIDA5OjAyOjQ2ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogbGV0IHVwc3RyZWFtIFBBUiBvdmVycmlkZSBpbi1zdHJlYW0gUEFSCgoyMDExLTExLTIzIDE4OjI2OjQ0ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiByZXdvcmsgUEFSIHBhcnNpbmcKCSAgQW5kIGluIHRoZSBwcm9jZXNzIHJlZmFjdG9yIF91cGRhdGVfc3JjX2NhcHMgYSBiaXQKCjIwMTEtMTEtMTYgMDA6MDM6MTIgLTA1MDAgIEx1Y2lhbmEgRnVqaWkgUG9udGVsbG8gPGx1Y2lhbmFmdWppaUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IHJlc3BlY3QgcGl4ZWwtYXNwZWN0LXJhdGlvCgkgIFBhcnNlIHBpeGVsLWFzcGVjdC1yYXRpbyBpbiB2dWkgaW5mb3JtYXRpb24uCgoyMDExLTExLTMwIDIyOjEyOjI3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmg6CgkgIHNwYWNlc3BhY2U6IHdoaXRlc3BhY2UgY2xlYW51cHMKCjIwMTEtMTEtMzAgMjI6MTE6NDAgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmg6CgkgIHdhdmVzY2FwZTogYWxzbyBhZGQgY29sb3Jtb2RlcyBsaWtlIGluIHNwYWNlc2NvcGUKCjIwMTEtMTEtMzAgMTU6MTM6MDQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9SRUFETUU6CgkgIGF1ZGlvdmlzdWFsaXplcjogdXBkYXRlIFJFQURNRQoKMjAxMS0xMS0zMCAxNDoyMDozOCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGRyYXdoZWxwZXJzLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5oOgoJICBzcGFjZXNjb3BlOiBhZGQgY29sb3ItbW9kZXMKCSAgSW4gY29sb3Jtb2RlIHdlIHNwbGl0IHRoZSBzaWduYWwgaW4gbG93LG1pZCxoaWdoIGZyZXF1ZW5jeSBwYXJ0cyBhbmQgZHJhdyB0aGVtCgkgIHNlcGFyYXRlbHkgaW50byByZWQsIGdyZWUsIGJsdWUgY29sb3IgY2hhbm5lbHMuCgoyMDExLTA4LTMwIDE0OjM3OjQyICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5oOgoJICByZXBsYWNlIHByb3BzZXRfbXV0ZXggd2l0aCBHU1RfT0JKRUNUX0xPQ0sKCjIwMTEtMTEtMjUgMjI6MzI6MTEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RkcmF3aGVscGVycy5oOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiBzdHJlYW1saW5lIHRoZSBsaW5lX2FhIGNvZGUKCSAgSGF2ZSBhIHJldXNhYmxlIGRvdF9hYSBjb2RlIGFuZCByZXVzZSBpbiB0aGUgbGluZSBkcmF3aW5nLgoKMjAxMS0xMS0zMCAxMDozNToxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJICBtcGVndHNtdXg6IGZpeCBidWlsZCBpbiB1bmluc3RhbGxlZCBzZXR1cAoJICBBZGQgLWJhc2UgbGlicyBpbmNsdWRlcyB0byBDRkxBR1MsIGZpeCBvcmRlciBvZiBMSUJTLgoKMjAxMS0wOC0yMSAxMTowMTozNyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogYWRkIHN1cHBvcnQgZm9yIGZvcmNlIGtleSB1bml0IGV2ZW50cwoJICBIYW5kbGUgZm9yY2Uga2V5IHVuaXQgZXZlbnRzIG91dHB1dHRpbmcgUEFUIGFuZCBQTVQgd2hlbiBhbGxfaGVhZGVycz1UUlVFCgoyMDExLTExLTI5IDIzOjQxOjIyICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBvcGVuY3Y6IGFsbG93IHRvIGJ1aWxkIGFnYWluc3QgMi4zLjEKCjIwMTEtMTEtMjkgMTg6MTg6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBhZGQgb2xkIG1wZWc0dmlkZW9wYXJzZSBkaXJlY3RvcnkgdG8gQ1JVRlRfRElSUwoKMjAxMS0xMS0yOSAxOToxMToyMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBmaXggZm9yIG1vdmVkIGludGVyZmFjZXMKCjIwMTEtMTEtMjIgMDk6NDc6NTggKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiByZWNvcmQgcmVmX3BpY19saXN0X21vZGlmaWNhdGlvbigpLgoKMjAxMS0xMS0yMiAwOTo0Nzo1NyArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogcmVuYW1lIHJlZl9waWNfbGlzdF9yZW9yZGVyaW5nKCkgdG8gcmVmX3BpY19saXN0X21vZGlmaWNhdGlvbigpLgoJICBVcGdyYWRlIHRvIGN1cnJlbnQgQVZDIHNwZWNpZmljYXRpb24uCgoyMDExLTExLTI5IDEyOjIwOjUxICswMTAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogcmVjYWxjdWxhdGUgYWRqdXN0IGlmIGRpZmZlcmVuY2UgaXMgbmVnYXRpdmUKCSAgT25lIG9mIG15IGR2ZHMganVtcCBvbiBzb21lIHBvc2l0aW9uIGFuZCBtaXNzIGFib3V0IDEgbWludXRlIG9mIHN0cmVhbS4KCSAgVGhlIHJlYXNvbiB3YXMgbXBlZyB0aW1lc3RhbXBzLiBPbiBzb21lIHBvc2l0aW9uIHNjciBkaWZmZXJlbmNlIGlzIG5lZ2F0aXZlLgoJICBJdCBwcm9kdWNlZCBuZWdhdGl2ZSB0aW1lc3RhbXBzLiBTaW5jZSBpdCB3YXMgY29udmVydGVkIHRvIHVuc2lnbmVkIHZhbHVlLAoJICBnc3RyZWFtZXIgdGltZXN0YW1wcyB3YXMgaW52YWxpZC4gSW5zdGVhZCBvZiBpbmNyZWFzaW5nIG1wZWcgdHMsCgkgIHRoZXkgd2FzIGRlY3JlYXNpbmcgdGlsbCBpdCBzdGFydGVkIHRvIGJlIHBvc2l0aXZlLgoJICBUaGUganVtcCBpbiB0aW1lc3RhbXBzIGNhdXNlZCBtcGVnMmRlYyB0byBza2lwIGZyYW1lcyB0byBtYWtlIFFvUyBoYXBweS4KCSAgVGhpcyBwYXRjaCBqdXN0IG1ha2UgZGlmZiB1bnNpZ25lZCB0byBhdm9pZCBuZWdhdGl2ZSB2YWx1ZXMuCgkgIFNpZ25lZC1vZmYtYnk6IEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjExNQoKMjAxMS0xMS0yOSAxMjoxMjozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogUGFzcyB0aGUgYWxsLWhlYWRlcnMgZmllbGQgb2YgdGhlIGZvcmNlLWtleS11bml0IGV2ZW50IHRvIHRoZSBzdWJjbGFzcwoKMjAxMS0xMS0yOSAxMjoxMjowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBJbXBsZW1lbnQgZnVsbCBzdXBwb3J0IGZvciB0aGUgbmV3IGZvcmNlLWtleS11bml0IGV2ZW50CgkgIEluY2x1ZGluZyBzdXBwb3J0IGZvciB0aGUgcnVubmluZy10aW1lIGFuZCBjb3VudCBmaWVsZHMuCgoyMDExLTExLTI5IDA5OjMxOjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IFVzZSBuZXcgZm9yY2Uta2V5dW5pdCBldmVudCBBUEkgZnJvbSBnc3QtcGx1Z2lucy1iYXNlCgoyMDExLTExLTI5IDA5OjE4OjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IEFkanVzdGluZyBwYWRkaW5nIGlzIG5vdCByZXF1aXJlZCBmb3IgLWJhZCBsaWJyYXJpZXMKCjIwMTEtMTEtMjggMTk6NDg6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogTW92ZSBzb21lIGZpZWxkcyB0byB0aGUgcHJpdmF0ZSBwYXJ0IG9mIHRoZSBpbnN0YW5jZSBzdHJ1Y3QKCjIwMTEtMTEtMjggMTk6MzY6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogTWFrZSBoZWFkZXJzIG1ldGFkYXRhIHdyaXRhYmxlIGJlZm9yZSBwdXNoaW5nIGRvd25zdHJlYW0KCSAgVGhlIHRpbWVzdGFtcCwgZHVyYXRpb24sIGV0YyBvZiB0aGUgaGVhZGVycyBoYXMgdG8gYmUgY2hhbmdlZC4KCjIwMTEtMTEtMjggMTk6MzU6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogUHVzaCB0aGUgZG93bnN0cmVhbSBmb3JjZS1rZXlmcmFtZSBldmVudCBhZnRlciB0aGUgbmV4dCBrZXlmcmFtZQoJICBFdmVuIGlmIHRoZSBjb3JyZXNwb25kaW5nIEdzdFZpZGVvRnJhbWUgZG9lc24ndCBoYXZlIHRoZSBpc19zeW5jX3BvaW50CgkgIGZsYWcgc2V0LgoKMjAxMS0xMS0yOCAxOToyOToxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBEb24ndCBwdXNoIGFuIHVwc3RyZWFtIGZvcmNlLWtleXVuaXQgZXZlbnQgZG93bnN0cmVhbQoKMjAxMS0xMS0yNSAxMTo0ODowOCArMDEwMCAgSm9uYXMgTGFyc3NvbiA8am9uYXNAaGFsbGVydWQuc2U+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciB0aGUgYWxsLWhlYWRlcnMgZmllbGQgb2YgdGhlIGZvcmNlLWtleWZyYW1lIGV2ZW50CgkgIFNlZSBidWcgIzYwNzc0Mi4KCjIwMTEtMTEtMjkgMDk6MjI6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIGthdGU6IGZpeCBzZXQtYnV0LW5vdC11c2VkLXZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0a2F0ZXRpZ2VyLmM6MTE1NjoxNTogZXJyb3I6IHZhcmlhYmxlICdoZWlnaHQnIHNldCBidXQgbm90IHVzZWQKCSAgZ3N0a2F0ZXRpZ2VyLmM6MTE1Njo4OiBlcnJvcjogdmFyaWFibGUgJ3dpZHRoJyBzZXQgYnV0IG5vdCB1c2VkCgoyMDExLTExLTI5IDA5OjE1OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IG1pbm9yIGZpeGVzCgkgIENvbnN0LWlmeSBvbmUgbW9yZSBWTEMgdGFibGUuIEZpeCBzcGVsbGluZyBvZiAnaHlicmlkJy4KCSAgTm8gbmVlZCB0byBleHBsaWNpdGx5IGNhbGwgZW5zdXJlX2RlYnVnX2NhdGVnb3J5KCkgZXZlcnl3aGVyZSwKCSAgdGhhdCB3aWxsIGJlIGRvbmUgYXV0b21hdGljYWxseSBmcm9tIEdTVF9MT0coKSBhbmQgZnJpZW5kcwoJICB2aWEgR1NUX0NBVF9ERUZBVUxULgoKMjAxMS0xMS0wOCAxMDo0NDoxMSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIGNvZGVjcGFyc2VyOiBtcGVnNDogTG9vayBmb3IgcmVzeW5jIGNvZGUgaW4gX21wZWc0X3BhcnNlCgkgIFRoaXMgd2F5IHRoZSBBUEkgaXMgc2ltcGxlciBhbmQgdXNlcnMgY2FuIGNhbGwgMSBzaW5nbGUgZnVuY3Rpb24gZm9yIHBhY2tldAoJICBkZXRlY3Rpb24uCgoyMDExLTA5LTI5IDE0OjM3OjU5IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5oOgoJICBtcGVnNHZpZGVvcGFyc2U6IFByb3Blcmx5IGhhbmRsZSBwcm9maWxlIGFuZCBsZXZlbCBpbiBjYXBzCgkgIEZpeCAjNjYwMjM0CgoyMDExLTA5LTI2IDE2OjU4OjU4IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL21wZWc0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9tcGVnNHBhcnNlLmg6CgkgIG1wZWc0dmlkZW9wYXJzZTogUG9ydCB0byB0aGUgbmV3IG1wZWc0cGFyc2VyIGxpYnJhcnkKCjIwMTEtMDktMjYgMTA6Mzk6MzEgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHBhcnNlLmM6CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzRwYXJzZS5oOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL21wZWc0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9tcGVnNHBhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvcGx1Z2luLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogTW92ZSB0byB0aGUgdmlkZW9wYXJzZXJzIHBsdWdpbgoJICBSZW5hbWUgYSBmZXcgdmFyaWFibGVzIHRvIHVzZSB0aGUgc2FtZSBjb252ZW50aW9uIGFzIG90aGVycyBlbGVtZW50cyBpbiB0aGlzCgkgIHBsdWdpbgoJICBDb25mbGljdHM6CgkgIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmMKCjIwMTEtMTEtMDIgMDk6MTQ6NDIgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogRGVjbGFyZSBwcml2YXRlIGFycmF5cyBhcyBzdGF0aWMgYWxsIGFyb3VuZAoKMjAxMS0wOS0yMSAxOTo0OTozNiAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogbXBlZzQ6IEltcGxlbWVudCBhbiBNcGVnNCBwYXJ0IDIgcGFyc2luZyBsaWJyYXJ5CgoyMDExLTA5LTIxIDE5OjQwOjQ3IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3BhcnNlcnV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvcGFyc2VydXRpbHMuaDoKCSAgY29kZWNwYXJzZXJzOiBNb3ZlIHNoYXJlZCBjb2RlIHRvIGEgcGFyc2VyIHV0aWxzIGZpbGUKCjIwMTEtMDktMjkgMTY6MjU6MjkgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1iYWQucGMuaW46CgkgIHBrZ2NvbmZpZzogcmVtb3ZlIHJlZmVyZW5jZXMgdG8gY29kZWNwYXJzZXJzIGZyb20gLWJhZC5wYy5pbgoKMjAxMS0xMS0yOCAyMzoyMDo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTEtMjggMjM6MjA6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgY29tbWl0ICc3NTIxYjU5N2Y0ZGM0OWQ4ZDE2OGYzNjhmMGU3ZWJhZjk4YTcyMTU2JyBpbnRvIDAuMTEKCjIwMTEtMTEtMjggMjM6MjA6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgY29tbWl0ICcyNmQ2YWRkOTQ1N2YwMGNlOGVjMTM4NDQzNjg0NjZmMGUzODE2ZTVkJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvcnRtcC9nc3RydG1wc2luay5jCgoyMDExLTExLTI4IDE4OjQ3OjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkgIGNhbWVyYWJpbjI6IHZpZXdmaW5kZXJiaW46IHVzZSBmYXN0ZXIgY2FzdCBtYWNybwoJICBVc2UgY2FzdCBtYWNybyB3aXRob3V0IHR5cGUgY2hlY2tzIHdoZW4gd2Uga25vdyBpdCBzaG91bGQgd29yay4KCjIwMTEtMTEtMjggMTg6NDM6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSAgY2FtZXJhYmluMjogdmlld2ZpbmRlcmJpbjogTGluayBlbGVtZW50cyBkaXJlY3RseSB0byB1c2UgZmFzdGVyIHZlcnNpb24KCSAgZmZtcGVnY29sb3JzcGFjZSBhbmQgdmlkZW9zY2FsZSBzaG91bGQgYWx3YXlzIGxpbmsgc3VjY2Vzc2Z1bGx5LCB1c2UKCSAgdGhlIGZhc3QgcGFkIGxpbmtpbmcgdmVyc2lvbiBpbnN0ZWFkIG9mIGNhbGxpbmcgdGhlIGdlbmVyaWMgaGVscGVyCgkgIGZ1bmN0aW9uLgoKMjAxMS0xMS0yOCAxNjozNTo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IG1pY3JvIG9wdGltaXplIGxpbmtpbmcgc29tZSBtb3JlCgoyMDExLTA5LTI5IDIyOjQzOjMwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5oOgoJICBrYXRlOiBzdXBwb3J0IGZvciByZW5kZXJpbmcgb24gc2V2ZXJhbCBZVVYgZm9ybWF0cwoJICBUaGlzIHNwZWVkcyB1cCByZW5kZXJpbmcgYSBmYWlyIGJpdCBieSBub3QgcmVxdWlyaW5nIGNvbG9yc3BhY2UKCSAgY29udmVyc2lvbiwgd2hldGhlciB0aGVyZSBpcyBhbnl0aGluZyB0byBvdmVybGF5IG9yIG5vdC4KCSAgVGhlIGJsZW5kaW5nIGNvZGUgd2FzIG5pY2tlZCBmcm9tIHRleHRvdmVybGF5LiBJIHdvdWxkIHRoaW5rCgkgIHRoaXMgbWlnaHQgYmUgYSBoZWxwZnVsIHRoaW5nIHRvIHB1dCBpbiwgc2F5LCBsaWJnc3R2aWRlbyBhdAoJICBzb21lIHBvaW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwNTI4CgoyMDExLTA4LTE4IDExOjM5OjM3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzRwYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGZpeCBudW1iZXIgb2YgYnl0ZXMgcmVhZCBmb3IgZml4ZWQgdGltZSBpbmNyZW1lbnQKCSAgVGhlIHNwZWMgSSBmb3VuZCBzYXlzICIxNiBiaXRzIi4KCSAgVGhlIGV4aXN0aW5nIGNvZGUgdXNlZCBsb2cyKHNvbWV2YWx1ZSkrMS4KCSAgZmZtcGVnIHVzZXMgbG9nMihzb21ldmFsdWUtMSkrMS4KCSAgVGhlIGNvZGUgbm93IHVzZXMgbG9nMihzb21ldmFsdWUtMSkrMSwgYW5kIHRoaXMgbWFrZXMgaXQgd29yayB3aXRoCgkgIHNvbWUgc2FtcGxlIHZpZGVvIHdpdGhvdXQgYnJlYWtpbmcgYW5vdGhlciBzYW1wbGUuCgkgIE5vdywgSSdtIGZhciBmcm9tIGNlcnRhaW4gSSd2ZSBnb3QgdGhlIHJpZ2h0IHNwZWMsIEkgZm91bmQgaXQgYnkKCSAgc2VhcmNoaW5nIHRoZSBpbnRlcm5ldCwgc28uLi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDY2NgoKMjAxMS0xMS0yOCAxNToxMDozOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiBUcnkgdG8gYWRkIGFsbCBzdHJlYW1zIGVhcmx5CgkgIFRoaXMgd2lsbCBhbGxvdyB1cyB0byBzaWduYWwgbm8tbW9yZS1wYWRzIHRvIGF2b2lkIGhpdHRpbmcKCSAgdGhlIGRlY29kZWJpbjIgb3ZlcnJ1bi4KCjIwMTEtMDktMjYgMTI6NDM6MjcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogaGFuZGxlIHBhZHMgd2l0aCBubyBkYXRhCgkgIFNvbWUgc3RyZWFtcyBkZWNsYXJlIFBJRHMgYnV0IHdpbGwgbm90IHNlbmQgZGF0YSBmb3IgdGhlbS4KCSAgRW5zdXJlIHdlIHRpbWUgb3V0IG9uIHRob3NlLCBhbmQgYm90aCBzZW5kIG5ldyBzZWdtZW50cyB0bwoJICBrZWVwIHRoZWlyIHRpbWUgc3luY2hyb25pemVkIHdpdGggdGhlIHJlc3QsIGFuZCBkbyBub3Qgd2FpdAoJICBmb3JldmVyIGJlZm9yZSBkZWNpZGluZyB0byBzaWduYWwgbm8tbW9yZS1wYWRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5OTI0CgoyMDExLTA5LTI2IDEyOjE2OjMwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBtcGVndHNkZW11eDogc2lnbmFsIG5vLW1vcmUtcGFkcyB3aGVuIGFwcHJvcHJpYXRlCgkgIFdlIHRyYWNrIHN0cmVhbXMgZm9yIHdoaWNoIGEgZGF0YSBjYWxsYmFjayBpcyBzZXQgKGFuZCBmb3Igd2hpY2gKCSAgcGFkcyB3aWxsIGJlIGFkZGVkIG9ubHkgd2hlbiBkYXRhIGlzIHJlY2VpdmVkKSwgYW5kIHNpZ25hbAoJICBuby1tb3JlLXBhZHMgd2hlbiB0aGUgbGFzdCBwYWQgaXMgYWRkZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTk5MjQKCjIwMTEtMDktMDUgMTc6NDA6MDcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgIG1wZWdkZW11eDogdGFrZSBpbnRvIGFjY291bnQgb2Zmc2V0IG9mIGZpcnN0IGJ1ZmZlcgoJICBUaGlzIGZpeGVzIHBsYXliYWNrIHdoZW4gdGhlIHNvdXJjZSBzdGFydHMgbGF0ZXIgdGhhbiB0aGUgcGxheWJhY2sKCSAgcGlwZWxpbmUsIGFuZCB3aGVuIGEgc291cmNlIGRyb3BzIGZvciBhIHdoaWxlIHRoZW4gcmVzdGFydHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTc3OTQKCjIwMTEtMDktMDMgMTQ6Mzc6NDAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVnZGVtdXg6IGZpeCBzb21lIG1vcmUgdmlkZW8gZnJlZXppbmcKCSAgVGhlcmUgd2FzIGEgc2Vjb25kIHRocmVzaG9sZCwgd2hpY2ggYXBwYXJlbnRseSBuZWVkcyB0byBiZSBzbWFsbGVyCgkgIHRoYW4gdGhlIGZpcnN0LCB0aG91Z2ggSSdtIG5vdCBjZXJ0YWluIG9mIGl0IGFzIEkgZG9uJ3QgdW5kZXJzdGFuZAoJICB5ZXQgdGhpcyBuZXN0IG9mIHd0ZiB0aGF0IGlzIHRoZSBtcGVnIGRlbXV4ZXIgdGltaW5nIGxvZ2ljLgoJICBGaXhlcyB2aWRlbyBmcmVlemluZyBvbiBvbmUgKGNvcnJ1cHRlZCkgTVBFRyBzYW1wbGUuIEl0IHdvdWxkCgkgIHByZXZpb3VzbHkgbmV2ZXIgdGhpbmsgaXQgd2FzIG91dCBvZiB0aGUgZGlzY29udGludWl0eSwgYW5kIHdvdWxkCgkgIHB1c2ggYnVmZmVycyB3aXRoIG5vIHRpbWVzdGFtcC4KCSAgTm93IHRoaXMgdG9vayBtZSBtb3JlIHRoYW4gYSBkYXkncyBwb2tpbmcgYXQgdGhlIHRoaW5nLCBmb3IganVzdAoJICBvbmUgY29uc3RhbnQgY2hhbmdlLCBhbmQgSSdtIHNjYXJlZCB0byBoYXZlIHRvIHRvdWNoIHRoaXMgYWdhaW4gOlMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NTgwNAoKMjAxMS0wOC0zMCAxNDo1MDo1MiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiBjYXRjaCBzbWFsbGVyIFBUUyBkaWNvbnRpbnVpdGllcwoJICBJbiBhIHRlc3Qgc3RyZWFtLCBJIGdldCBvbmUgYnVmZmVyIHdpdGggYSBQVFMgb2YgYWJvdXQgMTUgc2Vjb25kcwoJICBpbiB0aGUgZnV0dXJlIGNvbXBhcmVkIHRvIHRoZSBwcmV2aW91cyBvbmUsIGFuZCBuZXh0IGJ1ZmZlcnMgd2l0aAoJICB0aW1lc3RhbXBzIGNvbnRpbnVpbmcgd2hlcmUgdGhlIG9yaWdpbmFsIG9uZXMgbGVmdCBvZmYuCgkgIFRoaXMgY2F1c2VkIHRoZSBzaW5rIHRvIHdhaXQgMTUgc2Vjb25kcyB0byBkaXNwbGF5IHRoZSBmcmFtZSB3aGlsZQoJICBtb3JlIGZyYW1lcyBxdWV1ZWQgdXAsIGFuZCB0aGVuIGR1bXAgYWxsIHRoZSBzdWJzZXF1ZW50IGZyYW1lcyBhcwoJICB0aGV5ICJhcnJpdmVkIHRvbyBsYXRlIi4KCSAgTWF5YmUgdGhhdCB0aHJlc2hvbGQgc2hvdWxkIGJlIG1hZGUgY29uZmlndXJhYmxlLCBidXQgZm9yIG5vdywKCSAgbWFrZSBpdCBtb3JlIHNtYWxsZXIgdG8gY2F0Y2ggbW9yZSBvZiB0aGVzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NTgwNAoJICBOb24gQVYgc3RyZWFtcyBrZWVwIHVzaW5nIHRoZSBsYXJnZXIgdGhyZXNob2xkICgxMCBtaW51dGVzKSwgYXMKCSAgc3VidGl0bGVzIG1heSBhcnJpdmUgb25seSBldmVyeSBzbyBvZnRlbi4KCjIwMTEtMTEtMjggMTM6MDg6MjcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkqIGV4dC9hcnRzL2dzdF9hcnRzLmM6CgkqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nZG93bnNhbXBsZS5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQvY29nL2dzdGNvZ3NjYWxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29sb3Jjb252ZXJ0LmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJKiBleHQvY3VybC9nc3RjdXJsc2luay5jOgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuY2M6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6CgkqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rzd2l0Y2hzaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0c3dpdGNoc3JjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOgoJKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6CgkqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSogZXh0L25hcy9uYXNzaW5rLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc2luay5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNyYy5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5jOgoJKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc2luay5jOgoJKiBleHQvc25kZmlsZS9nc3RzZnNyYy5jOgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbnBsYy5jOgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkqIGdzdC9hdWRpb2J1ZmZlci9nc3RhdWRpb3JpbmdidWZmZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvdmlkZW9jb252ZXJ0LmM6CgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RpbnB1dHNlbGVjdG9yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3R2Y2RwYXJzZS5jOgoJKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hlY2tzdW1zaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNob3BteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Z3NweS5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvZ3N0anAya2RlY2ltYXRvci5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9nc3RsZWdhY3lyZXNhbXBsZS5jOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzoKCSogZ3N0L212ZS9nc3RtdmVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJKiBnc3QvcGF0Y2hkZXRlY3QvZ3N0cGF0Y2hkZXRlY3QuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RpcnRzcHBhcnNlLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL2dzdHJlbW92ZXNpbGVuY2UuYzoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJKiBnc3Qvc2RpL2dzdHNkaWRlbXV4LmM6CgkqIGdzdC9zZGkvZ3N0c2RpbXV4LmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdGF1ZGlvc2VnbWVudGNsaXAuYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHZpZGVvc2VnbWVudGNsaXAuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3N1YmVuYy9nc3RzcnRlbmMuYzoKCSogZ3N0L3N1YmVuYy9nc3R3ZWJ2dHRlbmMuYzoKCSogZ3N0L3R0YS9nc3R0dGFkZWMuYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZmlsdGVyMi5jOgoJKiBnc3QvdmlkZW9tYXhyYXRlL3ZpZGVvbWF4cmF0ZS5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSogc3lzL2FjbWVuYy9hY21lbmMuYzoKCSogc3lzL2FjbW1wM2RlYy9hY21tcDNkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRkZWNiaW4uYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZW5jYmluLmM6CgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmNwcDoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOgoJKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOgoJKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6CgkqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzaW5rLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc3JjLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NyYy5jOgoJKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6CgkqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJKiBzeXMvcXR3cmFwcGVyL3ZpZGVvZGVjb2RlcnMuYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkqIHN5cy92Y2QvdmNkc3JjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdHZkcG1wZWc0ZGVjLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5jOgoJKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9jb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZC1zaW1wbGU6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkLXNpbXBsZToKCSAgdmFyaW91czogZml4IHBhZCB0ZW1wbGF0ZSByZWYgbGVha3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MjY2NAoKMjAxMS0xMC0wNiAxNzo0MzoxOSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXA6IGFkZCBXU0FTdGFydHVwIGFuZCBXU0FDbGVhbnVwIG9uIFdpbjMyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjEwOTgKCjIwMTEtMTEtMjcgMjA6MjQ6MzkgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBmaXggZm9ybWF0IHdhcm5pbmdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjI2MTgKCjIwMTEtMTEtMjcgMjM6MzM6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgoyMDExLTExLTI0IDEzOjQ5OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL01ha2VmaWxlLmFtOgoJKiBnc3QvYWlmZi9haWZmLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuaDoKCSAgYWlmZnBhcnNlOiBleHRyYWN0IElEMyB0YWdzIGVtYmVkZGVkIGluIElEMyBjaHVua3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NDcyNQoKMjAxMS0xMS0yNiAxNTozNzoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvb3B1cy9nc3RvcHVzZGVjLmMKCSAgZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmMKCSAgZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYwoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oCgoyMDExLTExLTI1IDIzOjExOjMyICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnZpZGVvZmlsdGVyLmM6CgkgIG9wZW5jdjogcG9ydCBiYXNlY2xhc3MgdG8gMC4xMQoKMjAxMS0xMS0yNSAxMTo0MToxOSAtMDIwMCAgRGFuaWxvIENlc2FyIExlbWVzIGRlIFBhdWxhIDxkYW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IEZpeGluZyAiVW51c2VkIHZhciIgY29tcGlsaW5nIGVycm9yIGZvciBvcHVzIGNvZGVjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQ4MTUKCjIwMTEtMTEtMjUgMTQ6MDA6MTggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkgIG9wdXNlbmM6IG9ubHkgdXNlIG1vbm8gc3RyZWFtcyBmb3IgPiAyIGNoYW5uZWxzCgkgIEknbSBnZXR0aW5nIG9kZCByZXN1bHRzIHdpdGggcGFja2luZyBzdHJlYW1zIGludG8gc3RlcmVvCgkgIHN0cmVhbXMsIGFuZCB1c2luZyBvbmx5IG1vbm8gc3RyZWFtcyBpcyBlbm91Z2ggaW4gYWxsIGNhc2VzLgoKMjAxMS0xMS0yNSAxMjo0Nzo0MiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzY29tbW9uLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNjb21tb24uaDoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXM6IGFkZCBzb21lIG1vcmUgZGVidWcgaW5mb3JtYXRpb24gYWJvdXQgY2hhbm5lbCBtYXBwaW5nCgoyMDExLTExLTI1IDEyOjQ2OjU1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzcGFyc2U6IHJlbW92ZSBkZWFkIGFzc2lnbWVudHMKCSAgV2Ugbm93IG9ubHkga2VlcCBhIHJlZiB0byB0aGUgaGVhZGVycyBmb3IgbGF0ZXIgcmV1c2UuCgoyMDExLTExLTI1IDEyOjQwOjMxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogZG8gbm90IGNhdXNlIHRoZSBkZWNvZGVyIHRvIGFwcGx5IHRoZSBjaGFubmVsIG1hcHBpbmcgYWdhaW4KCSAgU2luY2Ugd2UgYWxyZWFkeSByZW9yZGVyIGNoYW5uZWxzLCB3ZSBkbyBub3Qgd2FudCB0byB3cml0ZSB0aGF0CgkgIHJlb3JkZXJpbmcgaW4gdGhlIGhlYWRlciwgb3IgdGhlIGRlY29kZXIgd2lsbCBkbyBpdCBhZ2Fpbi4KCjIwMTEtMTEtMjUgMTI6Mzk6MjAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBmaXggYm9ndXMgYXNzZXJ0aW9uCgoyMDExLTExLTI1IDE1OjQ5OjA1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2FtcndiZW5jLmM6CgkgIHRlc3RzOiBhZGQgdW5pdCB0ZXN0IGZvciB2b2FtcndiZW5jCgoyMDExLTExLTI1IDEyOjQ4OjU4ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9mYWFjL2dzdGZhYWMuYwoJICBleHQvb3B1cy9nc3RvcHVzZGVjLmMKCSAgZXh0L29wdXMvZ3N0b3B1c2VuYy5jCgkgIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYwoJICBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmMKCjIwMTEtMTEtMjUgMTE6Mzc6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2Rlcjogc29tZSBtb3JlIGRlYnVnIGxvZ2dpbmcKCjIwMTEtMTEtMjUgMTE6MzY6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiB1c2UgbmV3IGJhc2V2aWRlb2RlY29kZXIgQVBJIHRvIGRyb3AgZnJhbWVzIGFuZCBnZXQgUW9TIG1lc3NhZ2VzIHBvc3RlZAoKMjAxMS0xMS0yMyAyMDowMzozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiBhZGQgQVBJIHRvIGRyb3AgYSBmcmFtZSBhbmQgcG9zdCBhIFFvUyBtZXNzYWdlIG9uIHRoZSBidXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MDAxNwoJICBBUEk6IGdzdF9iYXNlX3ZpZGVvX2RlY29kZXJfZHJvcF9mcmFtZSgpCgoyMDExLTA4LTMwIDIzOjM5OjM2IC0wMzAwICBMdWNpYW5hIEZ1amlpIFBvbnRlbGxvIDxsdWNpYW5hLmZ1amlpQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvcHZyMmQvTWFrZWZpbGUuYW06CgkqIHN5cy9wdnIyZC9nc3RwdnIuYzoKCSogc3lzL3B2cjJkL2dzdHB2ci5oOgoJKiBzeXMvcHZyMmQvZ3N0cHZyYnVmZmVycG9vbC5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZyYnVmZmVycG9vbC5oOgoJKiBzeXMvcHZyMmQvZ3N0cHZydmlkZW9zaW5rLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJ2aWRlb3NpbmsuaDoKCSogc3lzL3B2cjJkL3B2cl9pbmNsdWRlcy9kcmkyX3dzLmg6CgkqIHN5cy9wdnIyZC9wdnJfaW5jbHVkZXMvaW1nX2RlZnMuaDoKCSogc3lzL3B2cjJkL3B2cl9pbmNsdWRlcy9pbWdfdHlwZXMuaDoKCSogc3lzL3B2cjJkL3B2cl9pbmNsdWRlcy9wdnIyZC5oOgoJKiBzeXMvcHZyMmQvcHZyX2luY2x1ZGVzL3NlcnZpY2VzLmg6CgkqIHN5cy9wdnIyZC9wdnJfaW5jbHVkZXMvc2VydmljZXNleHQuaDoKCSogc3lzL3B2cjJkL3B2cl9pbmNsdWRlcy93c2VnbC5oOgoJICBBZGQgcHZydmlkZW9zaW5rIGVsZW1lbnQKCSAgUFZSVmlkZW9TaW5rIHVzZXMgUFZSMkQgbGlicmFyeSB0byBibGl0IGltYWdlcy4KCSAgQXV0aG9yOiBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoJICBBdXRob3I6IEx1Y2lhbmEgRnVqaWkgPGx1Y2lhbmEuZnVqaWlAY29sbGFib3JhLmNvLnVrPgoKMjAxMS0xMS0yNCAyMTo1Mjo1NSArMDEwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJICB0ZXN0czogZml4IGNhcHMgdXNhZ2UgaW4gcGFyc2VyIHRlc3QgaGVscGVyCgkgIEZpeGVzIHByZXZpb3VzIGNvbW1pdDsgdXNlcnMgY2FuIGNhbGwgdGhpcyB3aXRoIE5VTEwgY2Fwcy4KCjIwMTEtMTEtMjQgMjE6NDI6MzkgKzAxMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc2ZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2NvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZWdhY3lyZXNhbXBsZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGVuYy5jOgoJICB0ZXN0czogdXBkYXRlIGZvciBnc3RjaGVjayBBUEkgY2hhbmdlCgoyMDExLTExLTI0IDE5OjAzOjIzICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvUkVBRE1FOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RkcmF3aGVscGVycy5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiBhZGQgYWEtbGluZSBjb2RlIGFuZCB1c2VyIGZvciB3YXZlL3NwYWNlLXNjb3BlCgoyMDExLTExLTI0IDEzOjM4OjU5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSAgb3B1czogcHJlLXNraXAgYW5kIG91dHB1dCBnYWluIGFyZSBsaXR0bGUgZW5kaWFuLCByZW1vdmUgcmVtaW5kZXIgbm90ZQoKMjAxMS0xMS0yNCAxMzoyOTo1NiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvZ3N0b3B1c2NvbW1vbi5jOgoJKiBleHQvb3B1cy9nc3RvcHVzY29tbW9uLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuaDoKCSAgb3B1czogbXVsdGljaGFubmVsIHN1cHBvcnQKCjIwMTEtMTEtMjMgMTc6NDk6NTggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJICBvcHVzOiBzd2l0Y2ggdG8gbXVsdGlzdHJlYW0gQVBJCgkgIEl0J3MgdmVyeSBzaW1pbGFyIHRvIHRoZSBiYXNpYyBBUEksIGFuZCBpcyBhIHN1cGVyc2V0IG90IGl0LAoJICB3aGljaCB3aWxsIGFsbG93IGVuY29kaW5nIGFuZCBkZWNvZGluZyBtb3JlIHRoYW4gMiBjaGFubmVscy4KCjIwMTEtMTEtMjMgMTc6MzI6MDMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBzaHVmZmxlIHN1cHBvcnRlZCBzYW1wbGUgcmF0ZXMgdG8gZmF2b3IgNDgwMDAKCjIwMTEtMTEtMjMgMTY6MzY6NTQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkgIG9wdXNlbmM6IHJlbW92ZSB1c2VsZXNzIHNldHVwIGZpZWxkCgoyMDExLTExLTI0IDEyOjAxOjQ4ICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IHBvcnQgdG8gMC4xMQoJICBVbml0IHRlc3RzIG1pc3NpbmcgZm9yIG5vdy4KCjIwMTEtMTEtMjQgMTE6NTk6MTkgKzAxMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogcG9ydCB0byAwLjExCgkgIE9ubHkgdG8gZml4IHRoZSBidWlsZCByZWFsbHkgKGd0ay1kb2MgaXMgdHJ5aW5nIHRvIHBpY2sgdXAgdGhlIHVuYnVpbGRhYmxlCgkgIGxpYikuIE5vdCB0ZXN0ZWQgYXQgYWxsIChidXQgcHJldHR5IHRyaXZpYWwgY2FzZSBhbnl3YXlzKS4KCjIwMTEtMTEtMDIgMTM6MjU6NTYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBmaXggd2lkdGgvaGVpZ2h0IG1pc21hdGNoZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzIzOAoKMjAxMS0xMS0yNCAxMDoyNjoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IFVzZSB0aGUgc2lua3BhZCB0ZW1wbGF0ZSBjYXBzIGFzIGEgZmFsbGJhY2ssIG5vdCB0aGUgc3JjcGFkIG9uZXMKCjIwMTEtMTEtMjQgMTA6MTQ6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogSW1wbGVtZW50IDo6Z2V0X3NpbmtfY2FwcyB2ZnVuYyB0byBwcm9wYWdhdGUgZG93bnN0cmVhbSBjYXBzIGNvbnN0cmFpbnRzIHVwc3RyZWFtCgoyMDExLTExLTI0IDEwOjA5OjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkgIGgyNjNwYXJzZTogSW1wbGVtZW50IDo6Z2V0X3NpbmtfY2FwcyB2ZnVuYyB0byBwcm9wYWdhdGUgZG93bnN0cmVhbSBjYXBzIGNvbnN0cmFpbnRzIHVwc3RyZWFtCgoyMDExLTExLTI0IDEwOjA4OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJICBkaXJhY3BhcnNlOiBJbXBsZW1lbnQgOjpnZXRfc2lua19jYXBzIHZmdW5jIHRvIHByb3BhZ2F0ZSBkb3duc3RyZWFtIGNhcHMgY29uc3RyYWludHMgdXBzdHJlYW0KCjIwMTEtMTEtMjQgMTA6MDQ6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBJbXBsZW1lbnQgOjpnZXRfc2lua19jYXBzIHZmdW5jIHRvIHByb3BhZ2F0ZSBkb3duc3RyZWFtIGNhcHMgY29uc3RyYWludHMgdXBzdHJlYW0KCjIwMTEtMTEtMjQgMDE6NTY6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgbmVvbmh0dHBzcmM6IHJlbW92ZSBpcmFkaW8tKiBwcm9wZXJ0aWVzCgkgIFNob3VsZCBzZW5kIHRhZ3MgaW5zdGVhZC4KCjIwMTEtMTEtMjQgMDE6NTI6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgbmVvbmh0dHBzcmM6IHVuY29uZGl0aW9uYWxseSBzZW5kIGljZWNhc3QgcmVxdWVzdCBoZWFkZXIsIHJlbW92ZSBpcmFkaW8tbW9kZSBwcm9wZXJ0eQoKMjAxMS0xMS0yNCAwMToyMjoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5oOgoJICBtbXNzcmM6IG1ha2UgY29ubmVjdGlvbi1zcGVlZCBwcm9wZXJ0eSBhIGd1aW50NjQKCSAgRXZlbiBpZiB0aGUgbGlicmFyeSBsaW1pdHMgaXQgdG8gYW4gaW50LgoKMjAxMS0xMS0yNCAwMDo1Njo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiB1cGRhdGUgZm9yIGdzdHJ0cGJpbiAtPiBydHBiaW4gcmVuYW1pbmcKCjIwMTEtMTEtMjMgMjM6NDI6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJICBmYWFjLCBydG1wOiBtb3JlIHByaW50ZiBmb3JtYXQgZml4ZXMgaW4gZGVidWcgbWVzc2FnZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MjYxOAoKMjAxMS0xMS0yMSAyMjo0NToxNSArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICBGaXggcHJpbnRmIGZvcm1hdCBjb21waWxlciB3YXJuaW5ncyBvbiBPUyBYIC8gNjQgYml0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjI2MTgKCjIwMTEtMTEtMjMgMjM6MzA6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBkbyBub3QgbGVhayBidWZmZXIgd2hlbiBubyBlbmNvZGVkIGRhdGEgeWV0IG9yIGVuY29kaW5nIGVycm9yCgoyMDExLTExLTIzIDIzOjI5OjEwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdHMvTWFrZWZpbGUuYW06CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmg6CgkgIGR0c2RlYzogcG9ydCB0byBhdWRpb2RlY29kZXIKCjIwMTEtMTEtMjMgMTY6MDE6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSAgc21vb3RoOiBmaXggcHJpbnRmIGZvcm1hdCBjb21waWxlciB3YXJuaW5nIGluIGRlYnVnIG1lc3NhZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NDYzMQoKMjAxMS0xMS0yMyAxMzo0NzoxMSArMDEwMCAgS3J6eXN6dG9mIEtyYWtvd2lhayA8a3J6eXN6dG9mLmtyYWtvd2lha0BnbWFpbC5jb20+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBtb2RwbHVnOiBmaXggbW9kdWxlcyBwbGF5aW5nIGFzIG1vbm8gaW5zdGVhZCBvZiBzdGVyZW8KCSAgcmVwbGFjZWQgYnJva2VuIGlmLXJldHVybiBsb2dpYyBmb3IgZml4YXRpbmcgcmF0ZSBhbmQgbnVtYmVyCgkgIG9mIGNoYW5uZWxzIHRoYXQgY2F1c2VkIHRoYXQgbW9kdWxlcyB3ZXJlIGFsd2F5cyAoYWZ0ZXIKCSAgc3VjY2Vzc2Z1bCBmaXhhdGlvbiBvZiByYXRlKSBwbGF5ZWQgYXMgbW9ubyAoaW5zdGVhZCBvZgoJICBzdGVyZW8pIGJ5IGNvcnJlY3Qgb25lIHdpdGggYXBwcm9waWF0ZSB3YXJuaW5ncy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxOTAzNQoKMjAxMS0xMS0yMyAxMzoyMjoxMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSAgb3B1c2RlYzogaW1wbGVtZW50IHJlcGxheSBnYWluCgkgIEl0IHdvdWxkIGlkZWFsbHkgYmUgYmV0dGVyIHRvIGxlYXZlIHRoaXMgdG8gYSByZ3ZvbHVtZSBlbGVtZW50LAoJICBidXQgd2UgZG9uJ3QgY29udHJvbCB0aGUgcGlwZWxpbmUuIFNvIGRvIGl0IGJ5IGRlZmF1bHQsIGFuZCBhbGxvdwoJICBkaXNhYmxpbmcgaXQgdmlhIGEgcHJvcGVydHksIHNvIHRoZSBjb3JyZWN0IHZvbHVtZSBzaG91bGQgYWx3YXlzCgkgIGJlIG91dHB1dC4KCjIwMTEtMTEtMjMgMTE6NTg6NTQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkgIG9wdXNkZWM6IGFkZCBpbi1iYW5kIEZFQyBzdXBwb3J0CgkgIFRoaXMgYWxsb3dzIHJlY29uc3RydWN0aW9uIG9mIGxvc3QgcGFja2V0cyBpZiBGRUMgaW5mbyBpcyBpbmNsdWRlZAoJICBpbiB0aGUgbmV4dCBwYWNrZXQsIGF0IHRoZSBjb3N0IG9mIGV4dHJhIGxhdGVuY3kuIFNpbmNlIHdlIGRvIG5vdAoJICBrbm93IGlmIHRoZSBzdHJlYW0gaGFzIEZFQyAoYW5kIHRoaXMgY2FuIGNoYW5nZSBhdCBydW50aW1lKSwgd2UKCSAgYWx3YXlzIGluY3VyIHRoZSBsYXRlbmN5LCBldmVuIGlmIHdlIG5ldmVyIGxvc2UgYW55IGZyYW1lLCBvciBzZWUKCSAgYW55IEZFQyBpbmZvcm1hdGlvbi4gT2ZmIGJ5IGRlZmF1bHQuCgoyMDExLTExLTIzIDEyOjQxOjMyICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBub3JtYWxpemUgYm9vbGVhbiBwcm9wZXJ0eSBkZWZhdWx0IHZhbHVlcyB0byBUUlVFL0ZBTFNFCgkgIEdsaWIgYmFya3MgYXQgdXMgd2l0aCBhIHdhcm5pbmcgd2hlbiB3ZSBwYXNzIGUuZy4gNC4KCjIwMTEtMTEtMjMgMTE6NTk6NDIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYXNldmlkZW8tdW5pbnN0YWxsZWQucGMuaW46CgkgIHBrZ2NvbmZpZzogYWFhbmQgZml4IG15IGxhc3QgY29tbWl0CgoyMDExLTExLTIzIDExOjU1OjA2ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFzZXZpZGVvLXVuaW5zdGFsbGVkLnBjLmluOgoJICBwa2djb25maWc6IEZpeCBnc3RyZWFtZXItYmFzZXZpZGVvLXVuaW5zdGFsbGVkLnBjLmluCgoyMDExLTExLTIzIDExOjMxOjQ0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvUkVBRE1FOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RkcmF3aGVscGVycy5oOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiB1cGRhdGUgUkVBRE1FIGFuZCBUT0RPIGNvbW1lbnRzCgoyMDExLTExLTIzIDExOjIxOjE1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmg6CgkgIHNwYWNlc2NvcGU6IHVzZSB0aGUgZHJhd2hlbHBlcnMgYW5kIGFkZCBhIGRyYXctc3R5bGUgcHJvcGVydHkKCSAgTGlrZSBpbiB3YXZlc2NvcGUgc3VwcG9ydCBkcmF3aW5nIGRvdHMgYW5kIGxpbmVzLgoKMjAxMS0xMS0yMyAxMTowODozOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvb3B1cy9nc3RvcHVzZGVjLmMKCSAgZXh0L29wdXMvZ3N0b3B1c2VuYy5jCgkgIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jCgkgIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jCgkgIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW0KCSAgZ3N0L2ZpbHRlci9nc3RmaWx0ZXIuYwoJICBnc3QvZmlsdGVyL2dzdGlpci5jCgkgIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmMKCjIwMTEtMTEtMjMgMDg6NDA6NDkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0ZHJhd2hlbHBlcnMuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IGFkZCBzb21lIHNpbXBsZSBkcmF3aW5nIGhlbHBlcnMgZm9yIHJldXNlCgkgIEFkZCBhICh1bmluc3RhbGxlZCkgaGVhZGVyIHdpdGggc2ltcGxlIGRyYXdpbmcgbWFjcm9zCgoyMDExLTExLTIzIDA4OjE3OjA1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3Ntb290aHdhdmUvTWFrZWZpbGUuYW06CgkqIGdzdC9zbW9vdGh3YXZlL1JFQURNRToKCSogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOgoJKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmg6CgkgIHNtb290aHdhdmU6IHJlbW92ZSBlbGVtZW50IHVucG9ydGVkIGZyb20gMC44CgkgIFRoZSB3YXZlc2NvcGUgZWxlbWVudCBkb2VzIGFjaGlldmUgdGhlIHNhbWUgZWZmZWN0LgoKMjAxMS0xMS0yMyAwODoxNDozOCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuaDoKCSAgd2F2ZXNjb3BlOiBhZGQgYSBzdHlsZSBwcm9wZXJ0eSBmb3IgZHJhd2luZyBtb2RlcwoJICBBZGQgYSBzdHlsZSBlbnVtIG9mIHsgZG90cywgbGluZXN9LiBOb3cgdGhpcyBlbGVtZW50cyBpcyBhIHN1cGVyc2V0IG9mIHNtb290aHdhdmUuCgoyMDExLTExLTIyIDIzOjA0OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGRvY3M6IGZpeCBjb21tZW50IGluIGdzdF9iYXNlX3ZpZGVvX2RlY29kZXJfZ2V0X21heF9kZWNvZGVfdGltZSgpIGRvY3MKCjIwMTEtMTEtMjIgMjA6Mjc6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBtYXJrIHByb3BlcnRpZXMgY2hhbmdlYWJsZSBhdCBydW50aW1lIHdpdGggR1NUX1BBUkFNX01VVEFCTEVfUExBWUlORwoKMjAxMS0xMS0yMiAxOTo1NzowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBmaXggd2VpcmQgZXZlbnQgbGlzdCBoYW5kbGluZwoJICBHZXQgcmlkIG9mIHdlaXJkIGNvZGUgdGhhdCBjb3BpZXMgYSBsaXN0IG1hbnVhbGx5LCB0YWtpbmcKCSAgb3duZXJzaGlwIG9mIHRoZSBlbGVtZW50cyBhbmQgdGhlbiBmcmVlcyB0aGUgb2xkIGxpc3QuIEluc3RlYWQsCgkgIGp1c3QgdGFrZSBvdmVyIHRoZSBvbGQgbGlzdCBlbnRpcmVseS4gKElmIHRoZSBpbnRlbnQgd2FzIHRvCgkgIHJldmVyc2UgdGhlIGxpc3QsIG9uZSBjb3VsZCB1c2UgZ19saXN0X3JldmVyc2UoKSBpbnN0ZWFkKS4KCSAgVGhlbiwgcHVzaCBldmVudHMgaW4gdGhlIGxpc3Qgb3V0IGZyb20gbGFzdCB0byBmaXJzdCAoc2luY2UgdGhleQoJICB3ZXJlIHByZXBlbmRlZCBhcyB0aGV5IGNhbWUgaW4pIGluc3RlYWQgb2YganVzdCBwdXNoaW5nIG91dCB0aGUKCSAgbGFzdCBpbiB0aGUgbGlzdCBhbmQgbGVha2luZyB0aGUgb3RoZXJzLgoKMjAxMS0xMS0yMiAxODozMzoxNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb3B1cy5jOgoJICBvcHVzOiBhZGQgdGVzdAoKMjAxMS0xMS0yMiAxNzowNDowOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSAgb3B1c2VuYzogYWxsb3cgc2V0dGluZyBtb3N0IHByb3BlcnRpZXMgYXQgUExBWUlORyB0aW1lCgkgIE9wdXMgYWxsb3dzIHRoZXNlIHRvIGJlIGNoYW5nZWQgZHVyaW5nIGVuY29kaW5nLCB0cmFuc3BhcmVudGx5CgkgIHRvIHRoZSBkZWNvZGVyLgoKMjAxMS0xMS0yMiAxNjoxNDowNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGJvdW5kIHRoZSBiaXRyYXRlIHRvIG1vcmUgc2Vuc2libGUgdmFsdWVzCgkgIEdvIGZyb20gdGhlIGJvdW5kcyBtZW50aW9uZWQgaW4gdGhlIHNwZWMsIGFuZCBhbGxvdyBzb21lIG1vcmUKCSAgdmFyaWF0aW9uLgoJICBJbiBwYXJ0aWN1bGFyLCBkb24ndCBhbGxvdyBzaWxseSBsb3cgYml0cmF0ZXMsIGFuZCBhbGxvdyByZWFjaGluZwoJICB0aGUgbWF4aW11bSB1c2VmdWwgYml0cmF0ZS4KCjIwMTEtMTEtMjIgMTU6MzM6MjAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkgIG9wdXNlbmM6IGZpeCBjcmFzaCBvbiBwYXRob2xvZ2ljYWwgcGFyYW1ldGVycwoJICBBc2tpbmcgZm9yIDEgYml0L3Mgd291bGQgc2VsZWN0IGEgMCBieXRlIGJ1ZmZlciwgbGVhZGluZwoJICB0byBhIGNyYXNoLiBCdWZmZXIgc2l6ZSBpcyBub3cgY29udHJvbGxlZCBieSBhIG1heC1wYXlsb2FkLXNpemUKCSAgcHJvcGVydHksIHdoaWNoIGNhbid0IGJlIGxlc3MgdGhhbiAyLgoKMjAxMS0xMS0yMSAxODoxMjowMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1c3BhcnNlOiBkbyBub3Qgc2VuZCBoZWFkZXJzIHRocm91Z2ggZGF0YSBwYXRoCgkgIEFkZGl0aW9uYWxseSwgc2luY2UgT3B1cyBwYWNrZXRzIG1heSBjaGFuZ2UgYmV0d2VlbiBzdGVyZW8KCSAgYW5kIG1vbm8gYXMgdGhlIGVuY29kZXIgc2VlcyBmaXQsIGFzc3VtZSB0d28gY2hhbm5lbHMgd2hlbgoJICB3ZSBkbyBub3Qgc2VlIGEgaGVhZGVyLCBhbmQgdXNlIHRoZSBoZWFkZXIgdmFsdWUgb3RoZXJ3aXNlLgoKMjAxMS0xMS0yMSAxNzo0ODo1NCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5oOgoJICBvcHVzOiBtb3ZlIGhlYWRlciBtYWdpYyB0ZXN0aW5nIHRvIGdzdG9wdXNoZWFkZXIKCjIwMTEtMTEtMjEgMTc6MDE6NDkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBza2lwIHByZS1za2lwIHNhbXBsZXMKCjIwMTEtMTEtMjEgMTI6NTA6MjIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkgIG9wdXNkZWM6IHJlYWQgcHJlLXNraXAgZnJvbSBmaXJzdCBoZWFkZXIgaWYgYXZhaWxhYmxlCgoyMDExLTExLTE3IDExOjMzOjU2ICswMTAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwQGstZC13Lm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogc3VwcG9ydCBtb3JlIGNoYXJhY3RlciBzZXQgZW5jb2RpbmdzCgkgIFN1cHBvcnQgVVRGLTE2QkUsIEVVQy1LUiAoS1NYMTAwMSksIEdCMjMxMiBhbmQgSVNPLTEwNjQ2L1VURjggdGV4dAoJICBlbmNvZGluZyBhbmQgZml4ZWQgbmV3IGxpbmUgZm9yIG11bHRpYnl0ZSBlbmNvZGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY0MjU3CgoyMDExLTExLTIyIDA5OjExOjM1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3BsYXlvbmRlbWFuZC8uZ2l0aWdub3JlOgoJKiBnc3QvcGxheW9uZGVtYW5kL01ha2VmaWxlLmFtOgoJKiBnc3QvcGxheW9uZGVtYW5kL2RlbW8tbXAzLmM6CgkqIGdzdC9wbGF5b25kZW1hbmQvZmlsdGVyLmZ1bmM6CgkqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6CgkqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmg6CgkgIHBsYXlvbmRlbWFuZDogcmVtb3ZlIHVucG9ydGVkIHBsdWdpbiBmcm9tIDAuOAoJICBUaGVzZSBkYXlzIG9uZSB3b3VsZCBkbyB0aGUgZWZmZWN0IGUuZy4gdXNpbmcgZ25vbmxpbi4KCjIwMTEtMTEtMjIgMDk6MTA6MzIgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgc3BlZWQ6IHRpbnkgZG9jIGJsb2IgY2xhcmlmaWNhdGlvbgoKMjAxMS0xMS0yMSAyMjo1NTo0MCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ZyZWV2ZXJiL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlZXZlcmIvZ3N0ZnJlZXZlcmIuYzoKCSogZ3N0L2ZyZWV2ZXJiL2dzdGZyZWV2ZXJiLmg6CgkgIGZyZWV2ZXJiOiBhZGQgYSBmcmVldmVyYiBwb3J0CgkgIEZyZWV2ZXJiIGlzIGEgcHVibGljIGRvbWFpbiByZXZlcmIgaW1wbGVtZW50YXRpb24uIFBvcnQgaXQgYXMgYSBnc3RyZWFtZXIKCSAgZWxlbWVudCBhbmQgbWFrZSB1c2Ugb2YgZ3N0cmVhbWVyIHNwZWNpZmljIGZlYXR1cmVzIChnYXAgYXdhcmUsIGRpc2NvbnRzLAoJICBjb250cm9sbGVyLCAuLi4pLgoKMjAxMS0xMS0yMSAxMzozNzoyMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIHVwZGF0ZSBmb3IgYWN0aXZhdGlvbiBjaGFuZ2VzCgoyMDExLTExLTIxIDEyOjAyOjI4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogcmVzZXQgdGFnc2V0dGVyIGludGVyZmFjZSBvbiBzdG9wCgoyMDExLTExLTIxIDExOjQ0OjAxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogaGFuZGxlIE5VTEwgcGFja2V0cyAodXNlZCBmb3IgUExDKQoKMjAxMS0xMS0yMSAxMToyODoxMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGxpZ2h0IGNsZWFudXAKCjIwMTEtMTEtMjAgMTM6MDc6MjcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXNwYXJzZTogcGFyc2UgcmF3IG9wdXMgcGFja2V0cwoKMjAxMS0xMS0yMCAwOTo1ODowNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGRvIG5vdCBwdXNoIGhlYWRlciBidWZmZXJzCgkgIE9wdXMgaGVhZGVycyBhcHBlYXIgb25seSB3aGVuIG11eGVkIGluIE9nZywgc28gb25seSBwbGFjZSB0aGVtCgkgIG9uIHRoZSBjYXBzLCB3aGVyZSBvZ2dtdXggd2lsbCBmaW5kIHRoZW0sIGJ1dCBvdGhlciBlbGVtZW50cyB3aWxsCgkgIGJlIGJsaXRoZWx5IHVuYXdhcmUgb2YgdGhlbS4KCjIwMTEtMTEtMjAgMDk6NTI6NDYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuaDoKCSAgb3B1czogbWFrZSBvcHVzcGFyc2Ugc2V0IGhlYWRlcnMgb24gY2FwcwoJICBIZWFkZXItb24tY2FwcyBjb2RlIG1vdmVkIHRvIGEgbmV3IHNoYXJlZCBsb2NhdGlvbiB0byBhdm9pZAoJICBkdXBsaWNhdGluZyB0aGUgY29kZS4KCjIwMTEtMTEtMjEgMTA6NTQ6NTYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSAgZ21lOiBQb3J0IHRvIG5ldyBwYWQgZnVuY3Rpb24gc2lnbmF0dXJlcwoKMjAxMS0xMS0yMSAwODoyMDoxNCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3Ntb290aC9NYWtlZmlsZS5hbToKCSogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSogZ3N0L3Ntb290aC9nc3RzbW9vdGguaDoKCSAgc21vb3RoOiBwb3J0IHRvIDAuMTAKCSAgUG9ydCBmcm9tIEdzdEVsZW1lbnQgdG8gR3N0VmlkZW9GaWx0ZXIuIEZpeCBGSVhNRXMuIENsZWFudXAgbmFtaW5nLiBFeHBvc2UgbGVmdAoJICBvdXQgcHJvcGVydHkgKGt1bWEtb25seSkuCgoyMDExLTExLTIwIDIwOjE2OjAzICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3Bhc3N0aHJvdWdoLy5naXRpZ25vcmU6CgkqIGdzdC9wYXNzdGhyb3VnaC9NYWtlZmlsZS5hbToKCSogZ3N0L3Bhc3N0aHJvdWdoL2ZpbHRlci5mdW5jOgoJKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzoKCSogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmg6CgkqIGdzdC9wYXNzdGhyb3VnaC9wYXNzdGhyb3VnaC52Y3Byb2o6CgkgIHBhc3N0aHJvdWdoOiByZW1vdmUgb2Jzb2xldGUgZWxlbWVudAoJICBJdCBpcyBub3QgYnVpbHQgYnkgZGVmYXVsdC4gV2UgaGF2ZSBpZGVudGl0eSBmb3Igc29tZSBvZiB0aGUgbmVlZHMgYW5kIG90aGVyd2lzZQoJICBhdWRpby92aWRlb2ZpbHRlciBiYXNlIGNsYXNzZXMuCgoyMDExLTExLTIwIDIwOjA4OjQ3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2ZpbHRlci9maWx0ZXIudmNwcm9qOgoJKiBnc3QvZmlsdGVyL2dzdGZpbHRlci5jOgoJKiBnc3QvZmlsdGVyL2dzdGZpbHRlci5oOgoJKiBnc3QvZmlsdGVyL2dzdGlpci5jOgoJKiBnc3QvZmlsdGVyL2dzdGlpci5oOgoJKiBnc3QvZmlsdGVyL2lpci5jOgoJKiBnc3QvZmlsdGVyL2lpci5oOgoJICBmaWx0ZXI6IHJlbW92ZSBmaWx0ZXIgcGx1Z2luCgkgIFdlIGRvbid0IGJ1aWxkIGl0IGFueXdheSBhbmQgd2UgaGF2ZSBhdWRpb2lpcmZpbHRlciBpbiBnb29kLgoKMjAxMS0xMS0yMCAyMDowNjoyOSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pbnRlci9nc3RpbnRlci5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmM6CgkgIGludGVyOiBmaXggbGVmdG92ZXIgYm9pbGVycGxhY2UgY29tbWVudHMKCjIwMTEtMTEtMTggMDM6MzE6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWxzbyByZXNldCB2aWRlby9hdWRpbyBmaWx0ZXJzIGJlZm9yZSBjYXB0dXJpbmcKCSAgVmlkZW8gYW5kIGF1ZGlvIGN1c3RvbSBmaWx0ZXIgZWxlbWVudCBzaG91bGQgYWxzbyBiZSByZXNldCBiZWZvcmUKCSAgc3RhcnRpbmcgYSBuZXcgY2FwdHVyZSwgb3RoZXJ3aXNlIHdlIGdldCB3cm9uZy1zdGF0ZSBlcnJvcnMKCjIwMTEtMTEtMTkgMTU6NTg6MDkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBmaXggdGVybWluYXRpbmcgTlVMIGJlaW5nIHdyaXR0ZW4gaW4gc2lnbmF0dXJlCgoyMDExLTExLTE2IDE5OjQwOjIwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogbWFrZSBmcmFtZS1zaXplIGFuIGVudW0KCSAgSXQgb25seSBzdXBwb3J0cyBhIHNldCBudW1iZXIgb2Ygc3BlY2lmaWMgdmFsdWVzIChpbmNsdWRpbmcKCSAgYSBub24gaW50ZWdlciBvbmUpLgoKMjAxMS0xMS0xNiAxOToyMjo0NCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IHRoZSBlbmNvZGVyIG1pZ2h0IG5vdCBtYWtlIHVzZSBvZiBhbGwgdGhlIGJ5dGVzCgoyMDExLTExLTE4IDE5OjI4OjI2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSAgb3BlbmN2OiB1c2UgY2FwcyBjb25zdGFudHMgbW9yZQoKMjAxMS0xMS0xOCAxOToxOTozMiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkgIG9wZW5jdjogZml4dXAgZG9jIGJsb2JzCgoyMDExLTExLTE4IDE5OjE1OjI2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuaDoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guaDoKCSAgb3BlbmN2OiBmaXh1cCBnb2JqZWN0IG5hbWluZyBjb252ZW50aW9ucwoKMjAxMS0xMS0xOCAxNzo1OTo0NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIHVwZGF0ZSBmb3IgbmV3IHNjaGVkdWxpbmcgcXVlcnkKCjIwMTEtMTEtMTggMTc6MTg6MDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiByZW1vdmUgcmVkdW5kYW50IGNvZGUKCSAgLi4uIG5vdyB0aGF0IHdoYXQgc2hvdWxkIG5vdCBiZSBuZWVkZWQgaXMgcmVhbGx5IG5vdCBuZWVkZWQgYW55bW9yZSB0byBjb3ZlcgoJICB1cCBib2d1cyBzdHVmZiB0aGF0IGhhcyBiZWVuIEZJWE1FZC4KCjIwMTEtMTEtMTggMTI6MzI6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggdXAgQVUgY29sbGVjdGlvbiBwcm9jZXNzaW5nCgkgIE9uIHRoZSBvbmUgaGFuZCwgbm8gbmVlZCB0byBjb2xsZWN0IG5hbCBpZiBwcm9jZXNzaW5nIGxhc3Qgb25lLgoJICBPbiB0aGUgb3RoZXIgaGFuZCwgZW5zdXJlIEFVIGNvbGxlY3Rpb24gcHJvY2Vzc2luZyB0byBoYXZlIHN1ZmZpY2llbnQKCSAgbmV4dCBOQUwgZGF0YSBpbiBub3JtYWwgY2FzZXMuCgkgIEZpeGVzICM2NjMxODAuCgoyMDExLTExLTE4IDE1OjEyOjQ2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogbWluZCB0by1iZS1za2lwcGVkIGRhdGEgaW4gc3Vic2VxdWVudCByZS11c2VkIG9mZnNldHMKCjIwMTEtMTEtMTggMTU6MTA6NTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBhdm9pZCBhZGRpdGlvbmFsIE5BTCBwYXJzaW5nIGlmIG5vIEFVIGNvbGxlY3Rpb24gaXMgbmVlZGVkCgoyMDExLTExLTE4IDE1OjEwOjI1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogc29tZSBtb3JlIGdldF9jYXBzIHR3ZWFraW5nCgkgIC4uLiBieSBoYXZpbmcgaXQgdXNlIHNpbmsgdGVtcGxhdGUgcmF0aGVyIHRoYW4gc3JjIHRlbXBsYXRlLCBhbmQgbm90CgkgIHBhc3NpbmcgYW4gZG93bnN0cmVhbSBwYXJzZWQoPXRydWUpIHRvIHVwc3RyZWFtLgoKMjAxMS0xMS0xOCAxNTowNzowMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgaDI2NHBhcnNlcjogaW5pdGlhbGl6ZSBhZGRpdGlvbmFsIHNwcyBmaWVsZCB2YWx1ZQoJICBGaXhlcyAjNjYzNTUyLgoKMjAxMS0xMS0xOCAxMzo1ODo0MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIGFkZCBwYXJlbnQgdG8gYWN0aXZhdGUgZnVuY3Rpb25zCgoyMDExLTExLTE4IDEyOjM4OjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSAgZml4IGZvciBzY2hlZHVsaW5nIG1vZGUgcmVuYW1lCgoyMDExLTExLTE4IDA4OjI5OjMxICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZWVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuYzoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuYzoKCSAgb3BlbmN2OiByZW1vdmUgZW1wdHkgZmluYWxpemUgaW1wbGVtZW50YXRpb25zCgoyMDExLTExLTE3IDIzOjAzOjA1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FtcndiZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmM6CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuaDoKCSAgdm9hbXJ3YmVuYzogcG9ydCB0byBhdWRpb2VuY29kZXIKCjIwMTEtMTEtMTcgMjM6MDI6NTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIHZvYWFjZW5jOiBzb21lIGNvZGUgc2h1ZmZsZSBjbGVhbnVwCgoyMDExLTExLTE3IDIzOjAyOjM5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9NYWtlZmlsZS5hbToKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5oOgoJICB2b2FhY2VuYzogcG9ydCB0byBhdWRpb2VuY29kZXIKCjIwMTEtMTEtMTcgMjM6MDI6MzEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBwcm9wZXJseSByZXBvcnQgZXJyb3IgY2FzZQoKMjAxMS0xMS0xNyAyMzowMjoxNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmg6CgkgIGNlbHRkZWM6IHJlbW92ZSB1bnVzZWQgaW5zdGFuY2UgdmFyaWFibGUKCjIwMTEtMTEtMTcgMTA6MzM6NDIgLTA4MDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogT25seSBjYWxsIDo6cmVzZXQgb25jZSBpbiBSRUFEWS0+UEFVU0VECgoyMDExLTExLTE3IDE3OjMyOjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9jZWx0L2dzdGNlbHRkZWMuYwoJICBleHQvb3B1cy9nc3RvcHVzZGVjLmMKCSAgZXh0L29wdXMvZ3N0b3B1c2RlYy5oCgkgIGV4dC9vcHVzL2dzdG9wdXNlbmMuYwoJICBleHQvb3B1cy9nc3RvcHVzZW5jLmgKCSAgZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmMKCjIwMTEtMTEtMTcgMTU6NTM6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICBhZGQgcGFyZW50IHRvIHBhZCBmdW5jdGlvbnMKCjIwMTEtMTEtMTcgMTA6MDc6MzQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkgIGxpYnMtZG9jczogYWRkIC1ER1NUX1VTRV9VTlNUQUJMRV9BUEkKCjIwMTEtMTEtMTcgMDk6NTY6MzQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWU6IHBvcnQgZm9yIHBhZF9xdWVyeSBhcGkgY2hhbmdlCgoyMDExLTExLTE3IDA4OjI1OjI4ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSAgY29sbGVjdHBhZHM6IHBvcnQgQVBJIGNoYW5nZXMKCjIwMTEtMTEtMTYgMjA6NTM6MTMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0Lmg6CgkgIGZhY2VkZXRlY3Q6IGRldGVjdCBmYWNlIGZlYXR1cmVzCgkgIEFsc28gZGV0ZWN0IG1vdXRoLCBub3NlIGFuZCBleWVzLiBEcm9wIGZhY2VzIHRoYXQgZG9uJ3QgaGF2ZSB0aGVtLiBGaXhlcyBsZWFraW5nIHRoZQoJICBjYXNjYWRlcy4gQWRkcyBtb3JlIGRvY3MuCgoyMDExLTExLTE2IDIwOjUxOjI3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5oOgoJICBmYWNlZGV0ZWN0OiBHc3RmYWNlZGV0ZWN0IC0+IEdzdEZhY2VkZXRlY3QKCjIwMTEtMTEtMTQgMTE6MDU6NDQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgZmFjZWRldGVjdDogY29kZSBtYWludGVuYW5jZQoJICBVcGRhdGUgZXhhbXBsZSB0byBiZSB1c2VmdWwuIERyYXcgY29sb3JlZCBlbGxpcHNlcyBpbnN0ZWFkIG9mIHVuaWNvbG9yIGNpcmNsZXMuCgkgIFJlZmxvdyBjb2RlIGZvciBtb3JlIGxvY2FsIHZhcmlhYmxlcy4gSW1wcm92ZSBwYXJhbWV0ZXIgZGVzY3JpcHRpb25zLgoKMjAxMS0xMS0xNiAxMDo1Nzo1NSAtMDgwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IENoYW5nZSByYW5rIHRvIFBSSU1BUlkrMQoKMjAxMS0xMS0xNiAxMDo0NTo1MiAtMDgwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IERvbid0IHJlcXVpcmUgcGFyc2VkPWZhbHNlIG9uIHRoZSBzaW5rcGFkIGNhcHMKCjIwMTEtMTEtMTYgMTg6NDk6MDMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBkbyBub3QgaW5jbHVkZSB2YXJpYWJsZSBmaWVsZHMgaW4gY2FwcwoJICBUaG9zZSBjYW4gdmFyeSBmcm9tIG9uZSBwYWNrZXQgdG8gdGhlIG5leHQsIHNvIGhhdmUgbm8gcmVhc29uCgkgIHRvIGJlIGluIHRoZSBjYXBzLgoKMjAxMS0xMS0xNiAxODo0Mzo1MyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGZpeCBjb25zdHJhaW5lZC12YnIgcHJvcGVydHkgbmFtZSB0eXBvCgoyMDExLTExLTE2IDEwOjM4OjQ5IC0wODAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogSW1wbGVtZW50IDo6c2lua19nZXRfY2FwcyB0byBhbGxvdyBzdHJlYW0tZm9ybWF0IGNvbnZlcnNpb24gYWdhaW4KCSAgSnVzdCBwcm94eWluZyB0aGUgZG93bnN0cmVhbSBjYXBzIHdpbGwgcHJldmVudCBoMjY0cGFyc2UgZnJvbQoJICBhY2NlcHRpbmcgYSBkaWZmZXJlbnQgc3RyZWFtLWZvcm1hdCB0aGFuIHdoYXQgaXMgc3VwcG9ydGVkCgkgIGRvd25zdHJlYW0sIGFsdGhvdWdoIGl0IGNvdWxkIGNvbnZlcnQgdG8gYSBkaWZmZXJlbnQgc3RyZWFtLWZvcm1hdC4KCjIwMTEtMTEtMTYgMTg6MzU6MjkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkgIG9wdXNkZWM6IGxldCB0aGUgYmFzZSBjbGFzcyBoYW5kbGUgYWxsIHRpbWluZwoKMjAxMS0xMS0xNiAxOToxODo1MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuaDoKCSAgY2VsdGRlYzogcG9ydCB0byBhdWRpb2RlY29kZXIKCjIwMTEtMTEtMTYgMTk6MTE6MjQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvTWFrZWZpbGUuYW06CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5oOgoJICBjZWx0ZW5jOiBwb3J0IHRvIGF1ZGlvZW5jb2RlcgoKMjAxMS0xMS0xNSAxOTo1MzozMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvZ3N0b3B1cy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmg6CgkgIG9wdXNwYXJzZTogYWRkIG9wdXNwYXJzZSBlbGVtZW50CgkgIEEgdmVyeSBzaW1wbGUgZWxlbWVudCB0aGF0IHBhcnNlcyBPcHVzIHN0cmVhbXMgZnJvbSB0aGUgYWQgaG9jCgkgIGZyYW1pbmcgdXNlZCBieSB0aGUgT3B1cyB0ZXN0IHZlY3RvcnMuCgoyMDExLTExLTE2IDE3OjI0OjIwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogYWxsb3cgbmVnb3RpYXRpb24gb2YgcmF0ZS9jaGFubmVscyB3aXRoIGRvd25zdHJlYW0KCSAgU2luY2UgYW4gb3B1cyBzdHJlYW0gbWF5IGJlIGRlY29kZWQgdG8gYW55IChzZW5zaWJsZSkgcmF0ZSwKCSAgYW5kIGVpdGhlciBzdGVyZW8gb3IgbW9ubywgd2UgdHJ5IHRvIGFjY29tb2RhdGUgZG93bnN0cmVhbS4KCjIwMTEtMTEtMTYgMTc6MDU6MTcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkgIG9wdXNkZWM6IHJld3JpdGUgbG9naWMKCSAgUGFyYW1ldGVycyBzdWNoIGFzIGZyYW1lIHNpemUsIGV0YywgYXJlIHZhcmlhYmxlLiBQcmV0dHkgbXVjaAoJICBldmVyeXRoaW5nIGNhbiBjaGFuZ2Ugd2l0aGluIGEgc3RyZWFtLCBzbyBiZSBwcmVwYXJlZCBhYm91dCBpdCwKCSAgYW5kIGRvIG5vdCBjYWNoZSBwYXJhbWV0ZXJzIGluIHRoZSBkZWNvZGVyLgoKMjAxMS0xMS0xNiAxNjo1Njo0MyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJICBvcHVzOiBwb3J0IHRvIGJhc2UgYXVkaW8gZW5jb2Rlci9kZWNvZGVyCgoyMDExLTExLTE2IDE3OjI4OjEwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICBhZGQgcGFyZW50IHRvIHF1ZXJ5IGZ1bmN0aW9uCgoyMDExLTExLTE2IDEzOjI2OjM1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogYWxsb3cgbmVnb3RpYXRpb24gb2YgcmF0ZS9jaGFubmVscyB3aXRoIGRvd25zdHJlYW0KCSAgU2luY2UgYW4gb3B1cyBzdHJlYW0gbWF5IGJlIGRlY29kZWQgdG8gYW55IChzZW5zaWJsZSkgcmF0ZSwKCSAgYW5kIGVpdGhlciBzdGVyZW8gb3IgbW9ubywgd2UgdHJ5IHRvIGFjY29tb2RhdGUgZG93bnN0cmVhbS4KCjIwMTEtMTEtMTYgMDE6MTQ6MzIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkgIG9wdXNkZWM6IHJld3JpdGUgbG9naWMKCSAgUGFyYW1ldGVycyBzdWNoIGFzIGZyYW1lIHNpemUsIGV0YywgYXJlIHZhcmlhYmxlLiBQcmV0dHkgbXVjaAoJICBldmVyeXRoaW5nIGNhbiBjaGFuZ2Ugd2l0aGluIGEgc3RyZWFtLCBzbyBiZSBwcmVwYXJlZCBhYm91dCBpdCwKCSAgYW5kIGRvIG5vdCBjYWNoZSBwYXJhbWV0ZXJzIGluIHRoZSBkZWNvZGVyLgoKMjAxMS0xMS0xNSAyMzowMDozMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSAgb3B1c2RlYzogcmVtb3ZlIGJ1ZmZlciBwb29sLCBidWZmZXJzIGFyZSBub3QgY29uc3RhbnQgc2l6ZQoKMjAxMS0xMS0xNSAxOTo1MzozMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvZ3N0b3B1cy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmg6CgkgIG9wdXNwYXJzZTogYWRkIG9wdXNwYXJzZSBlbGVtZW50CgkgIEEgdmVyeSBzaW1wbGUgZWxlbWVudCB0aGF0IHBhcnNlcyBPcHVzIHN0cmVhbXMgZnJvbSB0aGUgYWQgaG9jCgkgIGZyYW1pbmcgdXNlZCBieSB0aGUgT3B1cyB0ZXN0IHZlY3RvcnMuCgoyMDExLTExLTE2IDEyOjQ2OjA0ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9UT0RPOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBZGQgbm90ZXMgb24gc3luY2hyb25pemF0aW9uIGFuZCBzY2hlZHVsaW5nCgoyMDExLTExLTE2IDEyOjQwOjU4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJICB1cGRhdGUgZm9yIHJlbmFtZWQgZmxhZ3MKCSAgVXNlIHRoZSBfY2hlY2tfcmVjb25maWd1cmUgbWV0aG9kIGluc3RlYWQgb2YgY2hlY2tpbmcgZmxhZ3MuCgoyMDExLTExLTE2IDEwOjU2OjI0ICswMTAwICBKb25hcyBMYXJzc29uIDxqb25hc0BoYWxsZXJ1ZC5zZT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogb3V0Z29pbmcgYnl0ZSBzdHJlYW0gcHJlZml4IGFsd2F5cyBoYXMgc2l6ZSA0CgkgIEZpeGVzICM2NjQxMjMuCgoyMDExLTExLTE1IDE3OjQ5OjQ4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogZml4IHBvaW50ZXIgbWlzbWF0Y2ggaW4gbWVtY3B5IG9uIGRyYWluCgoyMDExLTExLTE1IDE3OjU1OjUwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgX3F1ZXJ5X3BlZXJfKigpIC0+IF9wZWVyX3F1ZXJ5XyooKQoKMjAxMS0xMS0xNSAxNzoyNDowNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBfcGVlcl9nZXRfY2FwcygpIC0+IF9wZWVyX3F1ZXJ5X2NhcHMoKQoKMjAxMS0xMS0xNSAxNjozNDoxMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgY2hhbmdlIGdldGNhcHMgdG8gcXVlcnkKCjIwMTEtMTEtMTQgMTE6MzA6MTMgKzAxMDAgIERhdmlkIEtpbmcgPGFtaWdhZGF2ZUBhbWlnYWRhdmUuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBEb2N1bWVudCByZXF1aXJlbWVudCBmb3IgUExBWUlORyBzdGF0ZQoJICBBcyBkZXNjcmliZWQgaW4gR05PTUUgYnVnIDY2Mzk5OCwgdGhlIGVsZW1lbnQgbXVzdCBiZSBpbiB0aGUgUExBWUlORwoJICBzdGF0ZSBiZWZvcmUgY2FsbGluZyBjYXB0dXJlLXN0YXJ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY0MDQ4CgoyMDExLTExLTE0IDE4OjM0OjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEZpeCBzb21lIHJhY3luZXNzIGluIHRlc3RzCgkgIEZpeCBzb21lIHJhY3luZXNzIGFzIHRoZSB0ZXN0IHdhcyBjaGVja2luZyB0aGUgaWRsZSBwcm9wZXJ0eQoJICByaWdodCBhZnRlciBpdCBnb3QgdGhlIHByZXZpZXcgbWVzc2FnZSBmb3IgdmlkZW8gcmVjb3JkaW5ncy4gSW4gc29tZQoJICBjb25kaXRpb25zLCBpdCBtaWdodCBoYXBwZW4gdGhhdCBjYW1lcmFiaW4yIHN0aWxsIGhhc24ndCBkZWNyZW1lbnRlZAoJICB0aGUgcHJvY2Vzc2luZyBjb3VudGVyIGFmdGVyIHBvc3RpbmcgdGhlIHByZXZpZXcgYW5kL29yIHRoZSBpbWFnZS92aWRlby1kb25lCgkgIG1lc3NhZ2UgYW5kIHRoZSB0ZXN0IHdpbGwgZ2V0IGlkbGU9ZmFsc2UgYW5kIGZhaWwuCgkgIFRoZSBhcHByb2FjaCBmb3IgY2hlY2tpbmcgZm9yIHRoZSBpZGxlIHByb3BlcnR5IHdhcyBhIGJ1c3kgbG9vcCB3aXRoCgkgIGEgc2xlZXAuIEZhciBmcm9tIGVsZWdhbnQsIGJ1dCBnb29kIGVub3VnaCBmb3IgdGhlc2UgdGVzdHMuCgoyMDExLTExLTE0IDE2OjU1OjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFsc28gcmVzZXQgYXVkaW8gZWxlbWVudHMgd2hlbiB2aWRlbyBjYXB0dXJlIGZpbmlzaGVzCgkgIEF1ZGlvIGVsZW1lbnRzIGFsc28gbmVlZCB0byBiZSByZXNldCBhZnRlciBlYWNoIGNhcHR1cmUsIGRvIGl0CgkgIHRvZ2V0aGVyIHdpdGggdGhlIHZpZGVvIGVsZW1lbnRzJyByZXNldAoKMjAxMS0xMS0xMSAwOTo1ODozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGQgb25lIGRlYnVnIGxpbmUgYWJvdXQgY2FtZXJhYmluMiBiZWluZyBpZGxlCgoyMDExLTExLTEwIDE2OjUzOjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogUmVtb3ZlIHZpZGVvIGVsZW1lbnRzJyBzdGF0ZSBjbGVhcmluZyBmcm9tIHN0YXJ0LWNhcHR1cmUKCSAgUmVkdWNlIHN0YXJ0LWNhcHR1cmUgd29ya2xvYWQgYnkgbW92aW5nIHRoZSBlbGVtZW50cycgc3RhdGUgcmVzZXRpbmcgdG8gdGhlCgkgIGZpbmlzaGluZyBzdGVwcyBvZiB0aGUgY2FwdHVyZS4gVGhpcyByZWR1Y2VzIHRoZSB0aW1lIHN0YXJ0LWNhcHR1cmUgdGFrZXMgdG8KCSAgYWN0dWFsbHkgc3RhcnQgYSBjYXB0dXJlIGFuZCByZXR1cm4gdG8gaXRzIGNhbGxlciwgaW1wcm92aW5nIHVzZXIgZXhwZXJpZW5jZS4KCSAgQXMgdGhlIGVsZW1lbnRzJyBzdGF0ZSByZXNldCBpcyBub3cgdHJpZ2dlcmVkIGZyb20gdGhlIG1lc3NhZ2UgaGFuZGxpbmcKCSAgZnVuY3Rpb24sIGl0IG5lZWRzIHRvIHNwYXduIGEgbmV3IHRocmVhZCwgY2hhbmdpbmcgc3RhdGUgZnJvbSB0aGUgcGFkJ3MKCSAgdGFzayB3b3VsZCBjYXVzZSBhIGRlYWRsb2NrLgoKMjAxMS0xMS0xMCAxNjoxMTo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IGtlZXAgdHJhY2sgb2YgdmlkZW8gcmVjb3JkaW5nIHN0YXRlCgkgIEFkZHMgYSBuZXcgdmFyaWFibGUgdG8ga2VlcCB0cmFjayBvZiB0aGUgc3RhdGUgb2YgdGhlIHZpZGVvCgkgIHJlY29yZGluZyBpbiBjYW1lcmFiaW4yLiBUaGlzIGFsbG93cyBzdGFydC1jYXB0dXJlIHRvIHJlamVjdAoJICBuZXcgdmlkZW8gcmVjb3JkaW5nIHJlcXVlc3RzIHdoZW4gb25lIGlzIGFscmVhZHkgb25nb2luZy4gVGhpcwoJICBmaXhlcyBvbmUgb2YgY2hlY2sgdGVzdHMuCgoyMDExLTExLTE0IDEzOjQxOjU4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkgIG9wdXM6IHBvcnQgdG8gZW5jb2Rlci9kZWNvZGVyIGJhc2UgY2xhc3NlcwoKMjAxMS0xMS0wMyAxNDowOTo1MiArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgbXBlZ3ZpZGVvcGFyc2U6Q29ycmVjdCB0aGUgc2tpcHBpbmcgb2YgdmJ2X2RlbGF5IGluIHBpY3R1cmUgaGVhZGVyIGFuZCBzb21lIHR5cG8gZml4ZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjMzMDkKCjIwMTEtMTEtMTMgMjM6NTU6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgVXBkYXRlIGZvciBHc3RVUklIYW5kbGVyIGdldF9wcm90b2NvbHMoKSBjaGFuZ2VzCgoyMDExLTExLTExIDE3OjQ2OjQxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXM6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMS0xMCAxNToxMzozNCArMDIwMCAgTWFydCBSYXVkc2VwcCA8bGVpb0BnZW50b28ub3JnPgoKCSogZXh0L21pbWljL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJKiBzeXMvYWNtbXAzZGVjL01ha2VmaWxlLmFtOgoJKiBzeXMvbGluc3lzL01ha2VmaWxlLmFtOgoJICBtaW1pYywgb3BlbmN2LCB2cDgsIGFjbW1wM2RlYywgbGluc3lzOiBEb24ndCBidWlsZCBzdGF0aWMgcGx1Z2lucwoJICBQYXNzIC0tdGFnPWRpc2FibGUtc3RhdGljIHRvIGxpYnRvb2wgZXZlcnl3aGVyZSB3aGVyZSBpdCdzIGJlZW4gZm9yZ290dGVuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3NjgKCjIwMTEtMTEtMTEgMTA6Mzk6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTExLTEwIDE5OjQyOjQwIC0wMzAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmg6CgkgIG1wZWd2aWRlb3BhcnNlOiBhZGQgc3VwcG9ydCBmb3IgcHJvZ3Jlc3NpdmUgZnJhbWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3ODIKCjIwMTEtMTEtMDkgMjA6MDk6MDEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMS0xMCAxODozNDowMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWU6IFJlbW92ZSBxdWVyeV90eXBlcwoKMjAxMS0xMS0xMCAxODozNDo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTEtMTAgMTg6MjU6NTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIHVwZGF0ZSBmb3IgYWRhcHRlciBhcGkgY2hhbmdlCgoyMDExLTExLTEwIDE3OjEzOjQwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogZml4IGJhbmR3aWR0aCBwcm9wZXJ0eSB0eXBlIG1pc21hdGNoCgoyMDExLTExLTEwIDEyOjE0OjE5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMS0xMCAxMjoxMToyMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6CgkqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6CgkqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvZWxlbWVudDoKCSAgY2hhaW4gdXAgaW4gc2V0X2Nsb2NrCgoyMDExLTExLTA5IDEyOjIxOjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogcHJvdGVjdCBpbWFnZSBsb2NhdGlvbiBsaXN0IHdpdGggbXV0ZXgKCSAgUmVuYW1lIHRoZSBpbWFnZSB0YWdsaXN0cycgbXV0ZXggaW50byBpbWFnZSBjYXB0dXJlIG11dGV4IGFuZAoJICB1c2UgaXQgYWxzbyBmb3IgdGhlIGltYWdlIGNhcHR1cmUgbGlzdCB0byBwcmV2ZW50IGNvbmN1cnJlbnQKCSAgYWNjZXNzIGZyb20gZGlmZmVyZW50IHRocmVhZHMgKGFwcGxpY2F0aW9uIGFuZCBjYXB0dXJlIHRocmVhZHMpLgoKMjAxMS0xMS0wOSAxMTo0NToyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBIYW5kbGUgbnVsbCB0YWdsaXN0cyBmb3IgaW1hZ2VzCgkgIEFkZCBOVUxMIGFuZCBjaGVjayBmb3IgdGhlbSB0byB0aGUgaW1hZ2UgY2FwdHVyZSB0YWdsaXN0IGxpc3QsIHJlcHJlc2VudGluZwoJICB0aGF0IGEgY2FwdHVyZSBoYXMgbm8gYXBwbGljYXRpb24gdGFncyBzZXQuCgoyMDExLTExLTA5IDExOjE3OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IERvbid0IHN0b3JlIHByZXZpZXcgbG9jYXRpb24gaWYgcHJldmlldyBpc24ndCByZXF1ZXN0ZWQKCSAgRG8gbm90IHN0b3JlIHByZXZpZXcgbG9jYXRpb24gaXMgcG9zdC1wcmV2aWV3cyBpcyBmYWxzZSwgdGhpcyB3b3VsZAoJICBtZXNzIHVwIHByZXZpZXcgbmFtaW5nIGluIGNhc2UgYXBwbGljYXRpb24gc3dpdGNoZXMgYmV0d2VlbiBlbmFibGluZwoJICBhbmQgZGlzYWJsaW5nIHByZXZpZXdzCgoyMDExLTExLTA5IDA5OjQxOjQ0IC0wMzAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogQXZvaWQgYmxvY2tpbmcgaW4gc3RhcnQtY2FwdHVyZSBhbmQgc2VuZCBhcHBsaWNhdGlvbiB0YWdzIGxhdGVyCgkgIFRhZ3MgYXJlIGN1cnJlbnRseSBzZW50IGZyb20gc3RhcnQtY2FwdHVyZSwgd2hpY2ggaXMgcnVuIGluIHRoZQoJICBhcHBsaWNhdGlvbiB0aHJlYWQuIEZvciBpbWFnZXMgd2UgY2FuIGRlbGF5IHRoZSB0YWdzIHB1c2hpbmcgdG8gdGhlCgkgIGJ1ZmZlciBwcm9iZSBhbmQgcHVzaCB0aGUgdGFncyB3aXRoIHRoZSBsb2NhdGlvbiBldmVudCBhbmQgcmVkdWNlCgkgIHN0YXJ0LWNhcHR1cmUgdGltZS4KCjIwMTEtMTEtMDkgMTI6MjQ6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTExLTA5IDEyOjE5OjA0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYwoKMjAxMS0xMS0wOSAxMjowMDowNSArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGZpeCBkb2N1bWVudGF0aW9uIHR5cG8KCjIwMTEtMTEtMDkgMTE6NTY6MDcgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZjogZml4IGNvbXBpbGVyIHdhcm5pbmcgZm9yIHVuaW5pdGlhbGl6ZWQgdmFsdWVzCgoyMDExLTExLTA5IDExOjU1OjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgcmVtb3ZlIHF1ZXJ5IHR5cGVzCgoyMDExLTExLTA0IDE3OjU0OjA0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBkdG1mc3JjOiBSZWplY3Qgc3RhcnQvc3RvcCByZXF1ZXN0cyB0aGF0IGNvbWUgb3V0IG9mIG9yZGVyCgoyMDExLTEwLTI5IDE4OjI0OjI2ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IFBvc3QgbWVzc2FnZXMgd2hlbiBzdGFydGluZyB0byBzZW5kL3JlY2VpdmUgRFRNRgoJICBUaGlzIHdheSwgdGhlIFVJIGNhbiBkaXNwbGF5IHRoZSBEVE1GIGV2ZW50cyBhcyB0aGV5IGFzIGJlaW5nIHNlbnQuCgoyMDExLTExLTA4IDA4OjA4OjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IERlY3JlbWVudCBwcm9jZXNzaW5nIGNvdW50ZXIgd2hlbiBtZXNzYWdlIGhhbmRsaW5nIGZpbmlzaGVzCgkgIFNvbWUgbWVzc2FnZXMgbWlnaHQgYmUgaW50ZXJlc3RpbmcgdG8gYXBwbGljYXRpb25zLCBzbyB3ZSBjYW4gb25seQoJICBkZWNyZW1lbnQgdGhlIHByb2Nlc3NpbmcgY291bnRlciBhbmQgc2VuZCB0aGUgaWRsZSBub3RpZmljYXRpb24KCSAgd2hlbiB0aG9zZSBtZXNzYWdlcyBhcmUgcG9zdGVkIG9uIHRoZSBwaXBsaW5lJ3MgYnVzCgoyMDExLTExLTA4IDA3OjMzOjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IHVwZGF0ZSB0ZXN0cyB0byBzZXQgcG9zdC1wcmV2aWV3cyB0byB0cnVlCgkgIE1ha2VzIG1vc3Qgb2YgY2FtZXJhYmluMiB0ZXN0cyBwYXNzIGFnYWluCgoyMDExLTExLTA4IDExOjI4OjQxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1wbGF5ZXIuYzoKCSAgdXBkYXRlIGZvciBwcm9iZSBhcGkgY2hhbmdlcwoKMjAxMS0xMS0wOCAwNzowOTo0MSAtMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxsYXNzZS5sYXVra2FuZW5AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBjaGFuZ2UgcG9zdC1wcmV2aWV3cyBwcm9wZXJ0eSBkZWZhdWx0IHZhbHVlIGFzIGZhbHNlCgkgIEdlbmVyYXRpbmcgYW5kIHBvc3RpbmcgcHJldmlldyBpbWFnZSBhbHdheXMgY29tZXMgd2l0aCBhIHBlcmZvcm1hbmNlCgkgIHBlbmFsdHkgc28gc2V0IGRlZmF1bHQgdmFsdWUgYXMgZmFsc2UuIFRoZSBwcmV2aWV3LWNhcHMgcHJvcGVydHkgdGhhdAoJICBkZWZpbmVzIHRoZSBwcmV2aWV3IGltYWdlIGZvcm1hdCBpcyBhbHNvIE5VTEwgYnkgZGVmYXVsdCwgc28gaW5zdGVhZAoJICBvZiBnZW5lcmF0aW5nIHByZXZpZXcgaW1hZ2Ugb2YgdW5zcGVjaWZpZWQgZm9ybWF0IGJ5IGRlZmF1bHQgZXhwbGljaXQKCSAgYWN0aW9uIGZyb20gYXBwbGljYXRpb24gc2hvdWxkIGJlIHJlcXVpcmVkIGZvciBlbmFibGluZyBwcmV2aWV3IGltYWdlCgkgIHBvc3RpbmcgZmVhdHVyZS4KCSAgQXBwbGljYXRpb24gYWxzbyBoYXMgdG8gYWRkIGN1c3RvbSBjb2RlIHRvIGJlIGFibGUKCSAgdG8gaGFuZGxlIHByZXZpZXcgbWVzc2FnZXMgb24gaXRzIG1lc3NhZ2UgaGFuZGxpbmcgZnVuY3Rpb24gYW55d2F5LgoKMjAxMS0xMS0wNyAyMDozOTo1NiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIEFuZHJvaWQubWs6CgkgIEFkZCBBbmRyb2lkIGJ1aWxkc3lzdGVtIGhvb2tzIGZvciBjb2RlY3BhcnNlcnMKCjIwMTEtMTEtMDEgMjA6Mzc6MTcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBmaXggcjIxMCB3cml0aW5nIG9ubHkgaGFsZiBhIHNjYW5saW5lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjMyMDMKCjIwMTEtMTEtMDcgMTY6NDE6NDIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJICBhZHBjbTogYWRkIG1vcmUgY29uc3RzLCBlc3BjaWFsbHkgZm9yIHN0YXRpYyBjb25zdCBkYXRhCgoyMDExLTExLTA3IDE3OjEzOjExICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2ZGJhc2ViaW46IGZpeCBmb3IgcGFkIHByb2JlcyB1cGRhdGUKCjIwMTEtMTEtMDMgMTg6NTU6MjQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBtZXJnZSBjYXBzIGluc3RlYWQgb2YgdXNpbmcgdW5pb24KCSAgSXQncyBhIGxvdCBmYXN0ZXIsIGFuZCBwcmVzZXJ2ZXMgY2FwcyBvcmRlcmluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzM0NgoKMjAxMS0xMC0yNyAxNTo1Mzo0OCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmg6CgkgIHRpZ2VyOiBhZGQgYSAnc2lsZW50JyBwcm9wZXJ0eSB0byBza2lwIHJlbmRlcmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyODU3CgoyMDExLTA4LTI5IDEzOjAwOjAyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVnZGVtdXg6IGNhdGNoIHNlY3Rpb24gbGVuZ3RocyBleHRlbmRpbmcgcGFzdCB0aGUgYnVmZmVyIGxlbmd0aAoJICBUaGlzIGlzIHByb2JhYmx5IHRoZSBjYXVzZSBmb3IgYW4gb2NjYXNpb25hbCBjcmFzaCB3aGlsZSBzdHJlYW1pbmcKCSAgTVBFRy4gQmxpbmQgZml4IGFmdGVyIHN0YXJpbmcgYXQgdGhlIGNvZGUgYW5kIGZvbGxvd2luZyBsb2dpYywgc28KCSAgbWF5IG9yIG1heSBub3QgZml4IHRoZSBpc3N1ZSwgSSBjYW5ub3QgdGVzdC4KCjIwMTEtMTAtMjAgMTA6NDI6NDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkc3JjOiBkbyBub3QgdHJ5IHRvIHNlZWsgYmVmb3JlIHRoZSBmaXJzdCBjaGFwdGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01ODkwNjQKCjIwMTEtMTAtMDUgMTg6MzA6MjMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBmaXggbGF0ZW5jeSBxdWVyeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE2NDIxCgoyMDExLTEwLTA1IDE4OjI1OjU4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogZml4IGxhdGVuY3kgcXVlcnkKCSAgVGhpcyBtYWtlcyBsaXZlICdhdWRpb3NyYyAhIG9wdXNlbmMgISBvcHVzZGVjICEgYXVkaW9zaW5rJyBwaXBlbGluZXMKCSAgYWN0dWFsbHkgd29yayB3aXRob3V0IGFsbCBhdWRpbyBiZWluZyBkdW1wZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjA5OTkKCjIwMTEtMTAtMDUgMTU6NDc6MDYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiB1c2UgZGVidWcgbGV2ZWwgZm9yIGRlYnVnIGluZm8sIG5vdCBlcnJvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwOTk5CgoyMDExLTA5LTI5IDE0OjIyOjUzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGVuYzogZml4IGNhbGN1bGF0aW9uIG9mIGZpbGxlciBkYXRhIHNpemUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDQ2OQoKMjAxMS0wOS0yOSAxNDoyMjozMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGZpeCBjYWxjdWxhdGlvbiBvZiBmaWxsZXIgZGF0YSBzaXplCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjA0NjkKCjIwMTEtMTAtMDMgMTg6Mjg6MTQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSAgbXBlZ3BzZGVtdXg6IGZpeCB6ZXJvIGxlbmd0aCBwYWNrZXQgaGFuZGxpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMTQxNgoKMjAxMS0xMS0wMiAxMjo0MTo1NCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9saWJzL21wZWd2aWRlb3BhcnNlci5jOgoJICB0ZXN0czogbWFyayB0ZXN0IGlucHV0IGRhdGEgY29uc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzIzNQoKMjAxMS0xMS0wMiAxMjo0MTozMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBtcGVndmlkZW9wYXJzZXI6IGlucHV0IGRhdGEgaXMgY29uc3QsIG1hcmsgaXQgc28KCjIwMTEtMTEtMDIgMTI6Mzg6MzAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svbGlicy9tcGVndmlkZW9wYXJzZXIuYzoKCSAgdGVzdHM6IGFsbG93IGJ1aWxkaW5nIHdpdGggb2xkZXIgdmVyc2lvbnMgb2YgZ2xpYiAoZ19saXN0X2ZyZWVfZnVsbCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzIzNAoKMjAxMS0xMS0wNyAxMDowMjowMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTEtMDQgMTg6MDY6NTEgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkgIEZpeCBtaXNzaW5nIHNvdXJjZXMgb24gYmF5ZXIncyBidWlsZHN5c3RlbSBhbmRyb2dlbml6ZXIgY2FsbAoKMjAxMS0xMS0wNCAxODo1MjozNSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9sdjIvTWFrZWZpbGUuYW06CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJKiBleHQvc291bmR0b3VjaC9wbHVnaW4uYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvcGx1Z2luLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvZmlsdGVyL2dzdGZpbHRlci5jOgoJKiBnc3QvZmlsdGVyL2dzdGlpci5jOgoJKiBnc3QvZnJlaTByL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0cGx1Z2luLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L3N0ZXJlby9NYWtlZmlsZS5hbToKCSogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSogZ3N0L3N1YmVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L3N1YmVuYy9nc3RzcnRlbmMuYzoKCSogZ3N0L3N1YmVuYy9nc3R3ZWJ2dHRlbmMuYzoKCSogdGVzdHMvaWNsZXMvcGl0Y2gtdGVzdC5jOgoJICBjb250cm9sbGVyOiBwb3J0IHRvIG5ldyBjb250cm9sbGVyIGxvY2F0aW9uIGFuZCBhcGkKCjIwMTEtMTEtMDQgMTY6MzQ6MTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgbW9yZSB0ZW1wbGF0ZSBmaXhlcwoKMjAxMS0xMS0wNCAxNjoyMzowMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL214Zi9teGZkZW11eC1zdHJ1Y3R1cmUuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLXBsYXllci5jOgoJICBleGFtcGxlcyA6IFBvcnQgdG8gMC4xMQoKMjAxMS0xMS0wNCAxMzowNDoxOSArMDEwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBoMjY0cGFyc2VyOiBhZGQgbW9yZSBzaXplIGNoZWNrcyBhbmQgaW1wcm92ZSBleGlzdGluZwoJICBEb24ndCBzdWJ0cmFjdCB3aXRoIHVuc2lnbmVkIHZhbHVlcywgdGhhdCB3aWxsIGJpdGUgdXMuIEFsc28gZml4IGZvcm1hdAoJICBzcGVjaWZpZXIgaW4gdGhlIGxvZyBtZXNzYWdlLgoKMjAxMS0xMS0wNCAxMjozMToxOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc2ZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBsZXguYzoKCSAgbW9yZSB0ZW1wbGF0ZSBmaXhlcwoKMjAxMS0xMS0wNCAxMjoyMjozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZXh0L3Jlc2luZHZkL3JzbnN0cmVhbXNlbGVjdG9yLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0aW5wdXRzZWxlY3Rvci5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIG1ha2UgcmVxdWVzdCBwYWRzIHRha2UgXyV1CgoyMDExLTExLTA0IDExOjI0OjUzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWNvbnZlcnRlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWNvbnZlcnRlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZW1ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VtZXRhLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udGV4dC5oOgoJICB2aWRlbzogcG9ydCBzb21ld2hhdCB0byAwLjExCgkgIEluIDAuMTEgdGhpcyBzaG91bGQgYmUgZG9uZSBkaWZmZXJlbnRseQoKMjAxMS0xMS0wNCAxMTowMTo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTEtMDQgMTA6MTc6MzggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSAgZ21lOiBGaXggZm9yIHJlbW92YWwgb2YgZ3N0X2VsZW1lbnRfZm91bmRfdGFnc19mb3JfcGFkKCkKCjIwMTEtMTEtMDMgMTc6MTc6MTAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWNvbnZlcnRlci5oOgoJICBzdXJmYWNlY29udmVydGVyOiBSZW1vdmUgZHVwbGljYXRlZCBmb3J3YXJkIGRlY2xhcmF0aW9uCgkgIEl0IHNlZW1zIHRoYXQgc29tZSBjb21waWxlcnMgZG9uJ3QgbGlrZSBkdXBsaWNhdGVkIHR5cGVkZWZzLgoKMjAxMS0xMS0wMyAxNjo1NzoyOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIHZpZGVvZW5jOiBmaXggY29tcGlsZXIgd2FybmluZwoKMjAxMS0xMS0wMyAxNjo1NzoxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICB2aWRlbzogZml4IGZvciBtZXRhZGF0YSBBUEkgY2hhbmdlCgoyMDExLTExLTAzIDE0OjAxOjQxICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4OiBQb3J0IHRvIDAuMTEKCjIwMTEtMTEtMDMgMTM6NTY6NDkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGxpYnMvdmlkZW86IEZpbmlzaCBwb3J0aW5nIHRvIDAuMTEKCjIwMTEtMDktMjggMTk6Mjk6MDcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhc2V2aWRlby11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYXNldmlkZW8ucGMuaW46CgkgIHZpZGVvOiBBZGQgbGliZ3N0YmFzZXZpZGVvIFBDIGZpbGUKCjIwMTEtMTAtMTkgMTY6MTk6NTEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udGV4dC5oOgoJICB2aWRlbzogQWRkIEdzdFZpZGVvQ29udGV4dCBpbnRlcmZhY2UKCSAgVGhpcyBpbnRlcmZhY2Ugd2lsbCBiZSB1c2VkIHRvIGltcGxlbWVudCB2aWRlbyBjb250ZXh0IHNoYXJpbmcuIFRob3NlCgkgIGNvbnRleHQgY291bGQgYmUgWDExIERpc3BsYXksIFZhRGlzcGxheSwgZXRjLgoKMjAxMS0xMC0wNyAxOTowNTozMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWNvbnZlcnRlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWNvbnZlcnRlci5oOgoJICB2aWRlbzogQWJzdHJhY3Qgc3VyZmFjZSBBUEkgZm9yIEhXIGFjY2VsZXJhdGVkIGNvZGVjcwoKMjAxMS0xMC0yNiAxNjozMTozOSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9saWJzL3ZjMXBhcnNlci5jOgoJICB0ZXN0czogbWFrZSBjb25zdCBkYXRhIGNvbnN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjI3NzYKCjIwMTEtMTAtMjYgMTY6Mjk6MzUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgdmMxcGFyc2VyOiBkbyBub3Qgb3ZlcndyaXRlIGJ1ZmZlcgoJICBJIGRvIG5vdCBrbm93IHRoZSBiaXRzdHJlYW0gZm9ybWF0LCBidXQgdGhpcyBzZWVtcyBsaWtlbHkKCSAgdG8gYmUgd2hhdCB3YXMgaW50ZW5kZWQuIEFsc28gYWRkIGEgY2hlY2sgb24gdGhlIG51bWJlciBvZgoJICBpdGVtcyB0byByZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyNzc2CgoyMDExLTEwLTIxIDEzOjE4OjI2ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICB2YzFwYXJzZXI6IGZpeCBwYXJzaW5nIG9mIFJBTkdFUkVERlJNCgoyMDExLTExLTAyIDEyOjEwOjAzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIHRhZzogdXBkYXRlIGZvciB0YWcgQVBJIHJlbW92YWwKCjIwMTEtMTEtMDIgMTA6MzE6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTExLTAyIDA5OjE0OjQxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSAgZ21lOiB1cGRhdGUgZm9yIHRhZ2xpc3QgYXBpIGNoYW5nZXMKCjIwMTEtMTAtMjkgMDk6MDk6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBzdHJ1Y3R1cmU6IGZpeCBmb3IgYXBpIHVwZGF0ZQoKMjAxMS0xMC0yOSAwODoyNTo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuYzoKCSAgY2FwczogdXBkYXRlIGZvciBuZXcgQVBJCgoyMDExLTExLTAxIDExOjQ3OjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IE9uIGNhcHR1cmUgZXJyb3IsIHNraXAgcHJldmlld3MKCSAgV2hlbiB0aGUgY2FtZXJhIHNvdXJjZSBmYWlscyB0byBkbyBzb21lIGNhcHR1cmUsIHNraXAgdGhlIG5leHQKCSAgcHJldmlldyBhbmQgZGVjcmVtZW50IHByb2Nlc3NpbmcgY291bnRlci4KCjIwMTEtMTEtMDEgMTA6Mzg6MzMgLTAzMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogdHJhY2sgYWxzbyBwcmV2aWV3IGltYWdlcyB3aXRoIHByb2Nlc3NpbmcgY291bnRlcgoJICBNYWtlcyBjYW1lcmFiaW4yIG9ubHkgc2lnbmFsIHRoYXQgaXQgaXMgaWRsZSBhZnRlciBhbGwgcHJldmlld3MgaGF2ZQoJICBiZWVuIGdlbmVyYXRlZCwgaW1hZ2VzIGFyZSBjYXB0dXJlZCBhbmQgc2F2ZWQsIGFuZCB2aWRlb3MgaGF2ZQoJICBiZWVuIGZpbmlzaGVkIHByb3Blcmx5LgoKMjAxMS0xMS0wMSAxNTowODoyNiArMDEwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBoMjY0cGFyc2VyOiBmaXggYWNjZXNzIHRvIHVuaW5pdGlhbGl6ZWQgbWVtb3J5CgkgIFdoZW4gdnVpLT50aW1pbmdfaW5mb19wcmVzZW50IGlzIDAsIHZ1aS0+Zml4ZWRfZnJhbWVfcmF0ZV9mbGFnIGFuZCBvdGhlcnMKCSAgY2Fubm90IGJlIGFjY2Vzc2VkIHNpbmNlIHRoZXkgaGF2ZSBub3QgYmVlbiBzZXQuCgkgIEl0IHdhcyBhbHNvIHBvc3NpYmxlIHRoYXQgc3BzLT5mcHNfe251bSxkZW59IGVuZCB1cCBpbml0aWFsaXplZCBoZXJlLgoKMjAxMS0xMS0wMSAxMToxMTo0NyArMDAwMCAgQnJhZCBTbWl0aCA8YnJhZEBjb21zdHlsZS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogaGFjayBhcm91bmQgYnJva2VuIG1wbGV4IDIuMC4wIGhlYWRlcnMgaW4gbXBsZXggY2hlY2sKCSAgRHVlIHRvIHRoZSBhZGRpdGlvbiBvZiBhbiB1bmNvbmRpdGlvbmFsIGluY2x1c2lvbiBvZiBjb25maWcuaCBpbgoJICBtanBlZ3Rvb2wgMi4wLjAncyBzdHJlYW1fcGFyYW1zLmggaGVhZGVyIHRoZSBhdXRvY29uZiB0ZXN0IGZvciB0aGUKCSAgbXBsZXggbW9kdWxlIGZhaWxlZC4gSGFjayBhcm91bmQgdGhpcyBpbiB0aGUgc2FtZSB3YXkgd2UgZGlkIGZvcgoJICBtcGVnMmVuYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MTYxNAoKMjAxMS0xMS0wMSAxMTowOTo1MiArMDAwMCAgQnJhZCBTbWl0aCA8YnJhZEBjb21zdHlsZS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IHR5cG8gaW4gbXBlZzJlbmMgY2hlY2sgc28gQ1BQRkxBR1MgZ2V0IHJlc3RvcmVkIGNvcnJlY3RseQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYxNjE0CgoyMDExLTExLTAxIDEyOjI5OjM1ICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGgyNjRwYXJzZXI6IGZpeCBNQVhfU1BTL1BQUyBib3VuZGFyeSBjaGVja3MKCjIwMTEtMTEtMDEgMTI6MTI6NTYgKzAxMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjY0cGFyc2UuYzoKCSAgdGVzdHM6IGgyNjRwYXJzZTogZml4IGV4aXQgY29kZQoKMjAxMS0xMS0wMSAwMDo0NToyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmg6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkgIFVwZGF0ZSBmb3IgcGFkIEFQSSBjaGFuZ2VzCgkgIEdzdFByb2JlVHlwZSwgR3N0UHJvYmVSZXR1cm4gYW5kIEdzdEFjdGl2YXRlTW9kZSAtPiBHc3RQYWQqCgoyMDExLTEwLTI4IDExOjEwOjA2ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkgIGZpZWxkYW5hbHlzaXM6IERvbid0IHJlc2V0IHRoZSBjb250ZXh0IG9uIERJU0NPTlQKCSAgT24gZGlzY29udCwgdGhlIHF1ZXVlIG9mIGZyYW1lcyB3YXMgYmVpbmcgY2xlYXJlZCwgYnV0IGFsc28gdGhlCgkgIGNvbnRleHQgcmVzZXQuIFdlIG9ubHkgbmVlZCB0byBjbGVhciB0aGUgcXVldWUuCgoyMDExLTEwLTMxIDE0OjUxOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMC0zMSAxNDo1MTowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAga2F0ZSwgYmF5ZXIsIHRzZGVtdXg6IHVwZGF0ZSBmb3IgY2FwcyBhbmQgdGFnbGlzdCBBUEkgY2hhbmdlcwoKMjAxMS0xMC0zMSAxNDo1MDoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYWRkIGthdGUgYW5kIG15dGh0diB0byBub24tcG9ydGVkIGxpc3QKCSAga2F0ZXRpZ2VyIGlzbid0IHBvcnRlZCwgc28gcGx1Z2luIGRvZXNuJ3QgYnVpbGQgaWYgbGlidGlnZXIgaXMgcHJlc2VudC4KCjIwMTEtMTAtMzEgMTE6MzY6MDYgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBoYW5kbGUgZmFpbHVyZXMgaW4gc3RhcnQoKSBhbmQgc3RvcCgpCgoyMDExLTEwLTMxIDA2OjU5OjUzIC0wMzAwICBUb21taSBNecO2aMOkbmVuIDx0b21taS5teW9oYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3Lmg6CgkgIGJhc2VjYW1lcmFzcmM6IG9wdGltaXplIHN0YXRlIGNoYW5naW5nIHNwZWVkCgkgIENyZWF0ZSBwcmV2aWV3IHBpcGVsaW5lIGFscmVhZHkgaW4gaW5pdGlhbGl6YXRpb24gcGhhc2UuIFRoaXMgc3BlZWRzCgkgIHVwIE5VTExfVE9fUkVBRFkgc3RhdGUgY2hhbmdlLiBBbHNvIGltcGxlbWVudCBhIHNlcGFyYXRlIGZ1bmN0aW9uIGZvcgoJICBzZXR0aW5nIHRoZSBwcmV2aWV3IGZpbHRlciBlbGVtZW50LgoJICBUaGlzIGFsc28gcmVzdHJpY3RzIHRoZSBwcmV2aWV3IGZpbHRlciBwcm9wZXJ0eSB0byB3b3JrIG9ubHkgb24KCSAgTlVMTCBzdGF0ZS4KCjIwMTEtMTAtMjggMTU6MTY6NDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtYWtlIGVsZW1lbnRzIGNvbXBpbGUgYWdhaW4KCjIwMTEtMTAtMjcgMTY6MjM6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNkZW11eDogZml4IGNvbXBpbGF0aW9uCgoyMDExLTEwLTI3IDE2OjIzOjEwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBmaXggY29tcGlsYXRpb24KCjIwMTEtMTAtMjcgMTY6MjI6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGFkZCBzcGFuZHNwIHRvIG5vbi1wb3J0ZWQKCjIwMTEtMTAtMjcgMTY6MTM6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTEwLTIxIDE1OjA0OjA1ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5jb2xvcmJhbGFuY2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5jb2xvcmJhbGFuY2UuaDoKCSAgaW50ZXJmYWNlczogY2xlYW4gdXAgdGhlIHVzZSBvZiBpZmFjZSBhbmQgY2xhc3Mva2xhc3MKCjIwMTEtMTAtMTkgMTA6MjQ6NTIgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIHZjMXBhcnNlcjogQ29ycmVjdCB0aGUgcGFyc2luZyBvZiBGUk1SVFFfUE9TVFBST0MgYW5kIEJJVFJUUV9QT1NUUFJPQwoKMjAxMS0xMC0yMSAxMTo0MDo1NCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgdmMxcGFyc2VyOiBDb3JyZWN0IHRoZSBwYXJzaW5nIG9mIHNlcXVlY2UgbGF5ZXIuCgoyMDExLTEwLTIwIDA5OjM5OjE5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogQW5kcm9pZC5tazoKCSAgRGlzYWJsZSBleHQvZmFhZCBmb3IgdGhlIGFuZHJvaWQgbmRrIGJ1aWxkCgkgIEl0IGN1cnJlbnRseSBtYWtlcyB0aGUgYnVpbGQgZmFpbC4gSWRlYSBpcyB0byBlbmFibGUKCSAgaXQgYmFjayBhZ2FpbiBvbmNlIGl0cyBidWlsZGluZyBwcm9ibGVtcyBnZXQgc29ydGVkCgkgIG91dC4KCjIwMTEtMTAtMTggMTQ6NDE6NDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkgIGFzc3JlbmRlciwgbnV2ZGVtdXg6IHVucmVmIGJ1ZmZlcnMgd2l0aCBnc3RfYnVmZmVyX3VucmVmKCkKCjIwMTEtMTAtMTggMTQ6MzI6MDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTEwLTE4IDE0OjI4OjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJICBjZWx0OiBzdGFydCBvZiAwLjExIHBvcnQKCjIwMTEtMTAtMTQgMTE6MDc6MDAgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogVkMxOiBDb21wdXRlIHBhciBhbmQgZnBzIGluIGFkdmFuY2VkIHByb2ZpbGUKCjIwMTEtMTAtMTAgMTQ6MTk6NDggLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogVkMxOiBIYW5kbGUgaW50ZXJsYWNlZCBmaWVsZHMKCjIwMTEtMTAtMTAgMTA6MTQ6MTIgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogVkMxOiBIYW5kbGUgaW50ZXJsYWNlZCBmcmFtZXMgcHJvcGVybHkKCjIwMTEtMTAtMDcgMTM6MTE6NTUgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogVkMxOiBVc2UgZW51bXMgd2hlbiBwb3NzaWJsZQoJICBBZGQgR3N0VkMxRnJhbWVDb2RpbmdNb2RlIGFuZCB1c2UgaXQgZm9yIHRoZSBmY20gZmllbGQKCSAgVXNlIEdzdFZDMVBpY3R1cmVUeXBlIGFzIHZhcmlhYmxlIHR5cGUgZm9yIHB0eXBlCgkgIFVzZSBHc3RWQzFMZXZlbCBhcyB2YXJpYWJsZSB0eXBlIGZvciBsZXZlbAoKMjAxMS0xMC0wNyAxNzo0MjoxNyArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGZpeCBiaXRwbGFuZXMgZGVjb2RpbmcgKGNoZWNrIGZvciBlcnJvcnMpLgoKMjAxMS0xMC0wNyAxNToyMTozNCArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGZpeCBiaXRwbGFuZXMgZGVjb2RpbmcgKElOVkVSVCBtb2RlKS4KCjIwMTEtMTAtMDcgMTM6NTk6MjkgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBmaXggTVZNT0RFIGFuZCBNVk1PREUyIHBhcnNpbmcuCgoyMDExLTEwLTA1IDE3OjM5OjU5ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogaGFuZGxlIHNraXBwZWQgcGljdHVyZXMgZ3JhY2VmdWxseS4KCjIwMTEtMTAtMDQgMTc6Mzk6NDIgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogVkMxOiBJbXBsZW1lbnQgYml0cGxhbmVzIGRpZmYgb3BlcmF0b3IKCjIwMTEtMTAtMDQgMTc6Mzk6MDAgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogVkMxOiBTb21lIGNvc21ldGljcyBhbmQgZGVidWcgbG9nZ2luZyBlbmhhbmNlbWVudHMKCjIwMTEtMTAtMDQgMTU6MTY6MDQgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvdmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBJbXBsZW1lbnQgYml0cGxhbmVzIGhhbmRsaW5nIHByb3Blcmx5CgkgIEFkZCBhIG5ldyBHc3RWQzFCaXRQbGFuZXMgQVBJLgoKMjAxMS0xMC0wNCAxNDowNDo0MiArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGZpeCBCRlJBQ1RJT04gcGFyc2VyICh2YWx1ZXMgcmFuZ2UgKyBvdmVyZmxvdykuCgoyMDExLTEwLTA0IDExOjU3OjM3ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogZml4IFZMQyBkZWNvZGluZy4KCjIwMTEtMTAtMDUgMTY6NDA6NDcgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogVkMxOiBJbXBsZW1lbnQgRnJhbWVMYXllciBwYXJzaW5nCgoyMDExLTEwLTA1IDEyOjE1OjAwIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL3ZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IFZDMTogSW1wbGVtZW50IFNlcXVlbmNlIExheWVyIERhdGEgU3RydWN0dXJlcwoJICBJbnN0ZWFkIG9mIGhhdmluZyBhIHNpbmdsZSBWQzFTZXF1ZW5jZUhlYWRlciBzdHJ1Y3R1cmUsIHVzZSB0aGUgMyBzdHJ1Y3RzCgkgIGZyb20gdGhlICJUYWJsZSAyNjU6IFNlcXVlbmNlIExheWVyIERhdGEgU3RydWN0dXJlIiBvZiB0aGUgc3BlY2lmaWNhdGlvbgoJICBmb3IgdGhlIGxpYnJhcnkgdG8gYmUgbW9yZSBmbGV4aWJsZS4KCSAgSW1wbGVtZW50IHRoZSBmdW5jdGlvbnMgdG8gcGFyc2UgdGhlbQoKMjAxMS0xMC0wNSAwODoyNjozMSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBWQzE6IENvbXB1dGUgZnJhbWVyYXRlIGFuZCBiaXRyYXRlIGluIHNpbXBsZS9tYWluIHByb2ZpbGVzCgoyMDExLTEwLTAzIDE0OjI1OjAwIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL3ZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IFZDMTogY29tcHV0ZSBNQiBoZWlnaHQgYW5kIHdpZHRoCgkgIEFkZCB0aGVtIHRvIEdzdFZDMVNlcXVlbmNlSGRyCgoyMDExLTEwLTAzIDE1OjM2OjA4ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogZGVidWcgY29zbWV0aWNzLgoKMjAxMS0xMC0wMyAxMTo0MjozMiArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IHJlY29yZCBwaWN0dXJlIGxheWVyIGhlYWRlciBzaXplIGluIGJpdHMuCgoyMDExLTEwLTAzIDExOjE0OjI1ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogY29tcHV0ZSBhbHRwcXVhbnQuCgoyMDExLTEwLTAzIDE0OjIyOjE3IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiB0ZXN0cy9jaGVjay9saWJzL3ZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IFZDMTogRml4IGFmdGVyIEdzdFZDMVBhcnNlclJlc3VsdCByZW5hbWluZwoKMjAxMS0wOS0zMCAxMjo0MToxMyArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IHVzZSBHc3RWQzFQYXJzZXJSZXN1bHQgdHlwZSBuYW1lIHNpbWlsYXJseSB0byBvdGhlciBwYXJzZXJzLgoKMjAxMS0wOS0zMCAxMTozODoxNSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGhhbmRsZSBFbmQtb2YtU2VxdWVuY2UgY29ycmVjdGx5LgoKMjAxMS0wOS0xNCAxNDoyMTo0NyArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBtcGVnMjogZml4IHF1YW50X21hdHJpeF9leHRlbnNpb24oKSBwYXJzZXIgZm9yIGNocm9tYSBpbnRyYSBRTS4KCjIwMTEtMTAtMTMgMTY6NTI6NDMgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogY29ycmVjdCBkZWJ1ZyBtZXNzYWdlIGFuZCByZW1vdmUgc29tZSBkZWFkIGNvZGUKCSAgU2VlICM2NjExMTMuCgoyMDExLTEwLTA2IDE2OjU1OjQzICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGNvcnJlY3QgcGFyc2luZyBvZiAibnVtYmVyT2ZQaWN0dXJlUGFyYW1ldGVyU2V0cyIKCSAgU2VlICM2NjExMTMuCgoyMDExLTEwLTE3IDEwOjE5OjIwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSAgYmF5ZXIycmdiOiBGaXggcGFkIHRlbXBsYXRlIGNhcHMKCjIwMTEtMTAtMTYgMTc6NDE6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmg6CgkgIHk0bTogcG9ydCB0byAwLjExCgoyMDExLTEwLTE2IDE2OjQ1OjI0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xNiAxNjoyODo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuaDoKCSAgYmF5ZXI6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xNiAxNToyODozMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTAtMTMgMTY6NTc6MzEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogVXNlIGdzdF9idWZmZXJfam9pbiBpbnN0ZWFkIG9mIGJ1ZmZlcmxpc3RzCgkgIFRoaXMgaXMgKnJlYWxseSogaW5lZmZpY2llbnQuIFdlIHNob3VsZCB0cmFjayBsaXN0IG9mIEdzdE1lbW9yeQoJICBpbnN0ZWFkLgoKMjAxMS0xMC0xMyAxNjo1NzoxNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBQbHVnIG1vcmUgbGVha3MKCjIwMTEtMTAtMTMgMTY6NTU6NTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogUmVmYWN0b3Igc2NhbiBsb29wCgkgIEF2b2lkcyBlbmRpbmcgdXAgbGVha2luZyBwYWNrZXRzIHdoZW4gd2UgZ290IG9uZSBhbmQgcmVzIHdhcyBkaWZmZXJlbnQKCSAgZnJvbSBHU1RfRkxPV19PSy4KCSAgSXQgYWxzbyBsb29rcyBtb3JlIGNvbXByZWhlbnNpYmxlCgoyMDExLTEwLTEzIDE2OjU1OjQwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IERvbid0IGxlYWsgdXBzdHJlYW0gZXZlbnRzCgoyMDExLTEwLTEzIDE2OjU1OjA1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IFJlZmFjdG9yIGNvZGUgdG8gY29wZSB3aXRoIGdfaGFzaF90YWJsZV9mb3JlYWNoX3JlbW92ZSgpCgoyMDExLTEwLTEyIDE4OjA1OjA3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIHRzZGVtdXgvdHNwYXJzZTogUG9ydCB0byAwLjExCgkgIFRoaXMgaXMgYSBuYWl2ZSBwb3J0IHRoYXQgc29tZXdoYXQgd29ya3MgYnV0IGlzIGluZWZmaWNpZW50LgoJICBJIG5lZWQgdG8gcmV0aGluayBob3cgdG8gbWFrZSB0aGUgYmVzdCBvdXQgb2YgR3N0TWVtb3J5L0dzdEJ1ZmZlcgoKMjAxMS0xMC0xMiAxMjowOToxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBDaGVjayBiZWZvcmUgYWNlc3NpbmcgcHJldmlldyBsb2NhdGlvbiBsaXN0CgkgIE9ubHkgYWNjZXNzIHRoZSBwcmV2aWV3IGxvY2F0aW9uIGlmIGl0IGV4aXN0cywgdG8gYXZvaWQgYWNlc3NpbmcKCSAgYSBOVUxMIHZhcmlhYmxlLiBJZiB0aGUgcHJldmlldyBsb2NhdGlvbiBsaXN0IGRvZXNuJ3QgZXhpc3QsIGl0IGlzCgkgIGxpa2VseSBiZWNhdXNlIHRoZSBzb3VyY2UgaGFzIHBvc3RlZCBhIHByZXZpZXcgbWVzc2FnZSBhZnRlciBjYW1lcmFiaW4yCgkgIGhhcyBiZWVuIHB1dCB0byBSRUFEWS4KCjIwMTEtMDgtMDcgMTc6MDE6NDggKzAyMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5oOgoJICBzaG06IEFkZCBidWZmZXItdGltZSBwcm9wZXJ0eQoJICBBZGQgYSBidWZmZXItdGltZSBwcm9wZXJ0eSB0byBsaW1pdCB0aGUgc2l6ZSBvZiB0aGUgYW1vdW50IG9mIGRhdGEKCSAgcXVldWVkIGluIHRoZSBzaG1zaW5rIGJ1ZmZlciBpbiBuYW5vc2Vjb25kcy4KCSAgRml4ZXM6ICM2NTYxMDcKCjIwMTEtMDgtMDcgMTY6MzY6MzIgKzAyMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkqIHN5cy9zaG0vc2htcGlwZS5oOgoJICBzaG06IEFkZCBhYmlsaXR5IHRvIGFkZCB1aW50NjQgdGFncyBvbiBidWZmZXJzCgoyMDExLTEwLTExIDIzOjMwOjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IFNldCBwcmV2aWV3IHBpcGVsaW5lIHRvIHJlYWR5IHdoZW4gZ29pbmcgdG8gcmVhZHkKCSAgVGhlIHByZXZpZXcgcGlwZWxpbmUgc2hvdWxkIGdvIHRvIHJlYWR5IHdoZW4gdGhlIGNhbWVyYXNyYyBnb2VzCgkgIHRvIHJlYWR5LCBhcyBpbiByZWFkeSBlbGVtZW50cyBzaG91bGRuJ3QgYmUgcHJvY2Vzc2luZyBkYXRhLgoKMjAxMS0xMC0xMSAyMzoxMzowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IEFkZCBhIG11dGV4IHRvIGF2b2lkIGNvbmN1cnJlbnQgYWNjZXNzIG9mIHByZXZpZXcgZmlsZW5hbWUgbGlzdHMKCSAgVGhlIHByZXZpZXcgZmlsZW5hbWUgbGlzdCBpcyBhY2Vzc2VkIHdoZW5ldmVyIGEgbmV3IGNhcHR1cmUgaXMgc3RhcnRlZCwgd2hlbgoJICBjYW1lcmEtc291cmNlIHBvc3RzIGEgbmV3IHByZXZpZXcgbWVzc2FnZSBvciBvbiBzdGF0ZSBjaGFuZ2VzLiBBbGwgb2YgdGhvc2UgY2FuCgkgIG9jY3VyIHNpbXVsdGFuZW91c2x5LCBzbyBhZGQgYSBtdXRleCB0byBwcmV2ZW50IGNvbmN1cnJlbnQgYWNjZXNzLgoKMjAxMS0xMC0wNyAxMDo0ODowNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBSZXNldCBhdWRpb3NyYyB0aW1lc3RhbXBpbmcKCSAgUmVzZXQgYXVkaW9zcmMncyB0aW1lc3RhbXBpbmcgZGF0YSBieSBzZXR0aW5nCgkgIGl0IHRvIE5VTEwgdG8gcmVzZXQgdGhlIHJpbmdidWZmZXIgYW5kIHRoZW4gcmUtc2V0aW5nCgkgIHRoZSBjbG9jayB0aGF0IGNhbWVyYWJpbiBtaWdodCBub3QgcmVkaXN0cmlidXRlCgoyMDExLTEwLTExIDE2OjI3OjA3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkgIGNhbWVyYWJpbjogUHJldmVudCBhdWRpbyBzb3VyY2UgZnJvbSBwcm92aWRpbmcgY2xvY2sKCSAgY2FtZXJhYmluJ3MgYXVkaW8gc291cmNlIG1pZ2h0IGJlIHB1dCB0byBOVUxMIGR1cmluZyBpdHMKCSAgdXNlLCBzbyB0aGUgY2xvY2sgd291bGQgYmUgbG9zdC4gQmV0dGVyIG5vdCBhbGxvdyBpdCB0bwoJICBwcm92aWRlIGEgY2xvY2sgYXQgYWxsLgoKMjAxMS0xMC0xMSAxMTowNTo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogb3BlbmFsIGlzIG5vdCBwb3J0ZWQgeWV0CgoyMDExLTEwLTEwIDExOjQxOjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZiOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMTAgMTA6MTU6MDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5oOgoJICBkdmJzdWJvdmVybGF5OiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDggMTU6MTY6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1jb21tb24uaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuaDoKCSAgZHZkc3B1OiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDggMTQ6MjI6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5oOgoJICBrYXRlOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDggMTM6MTQ6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZGlzYWJsZSBkaXJlY3RmYgoKMjAxMS0xMC0wOCAxMjowNzo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSogZXh0L3piYXIvZ3N0emJhci5oOgoJICB6YmFyOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDggMTE6NTc6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWU6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wOCAxMTo0NjoyMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSAgZmxpdGU6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wOCAxMTo0MDoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcDogcG9ydCB0byAwLjExCgoyMDExLTEwLTA4IDExOjE3OjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMC0wNiAyMzoyMjo1MSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuYzoKCSAgZXhhbXBsZXM6IEZpeGVzIGZvciBjb21waWxpbmcgd2l0aCBHVEsrIDMuMAoJICBjYW1lcmFiaW5nIGV4YW1wbGUgaGFkIGEgbWlzc2luZyAnKScgYW5kIHRoZSBmaXggdG8gYnVpbGQgYWdhaW5zdCBHVEsrMwoJICB0aGF0IHdhcyBpbnRyb2R1Y2VkIGluIGNvbW1pdCA1MTZjOTc3Yzc2YmE0Y2Q4NmE3MTQ3YWFiNzQxNmEzM2Q3NmY4NzBmCgkgIGlzIGFsc28gYXBwbGllZCB0byB0aGUgY2FtZXJhYmluMiBleGFtcGxlLgoJICBUaGUgc2NhbGV0ZW1wbyBkZW1vIHdhcyB1c2luZyBBUEkgd2hpY2ggaGFzIGJlZW4gcmVtb3ZlZCwgc28gdGhhdCdzCgkgIHdyYXBwZWQgaW4gYSB2ZXJzaW9uIGNoZWNrLgoKMjAxMS0xMC0wNiAxNzo1NjozNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogYmVnaW5uaW5nIG9mIHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wNiAxMjoxNTo0NSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBNYWtlIHByb3BlciB1c2Ugb2YgdGhlIGgyNjRwYXJzZXIgbGliIGluIHBhcnNlX2NoYWluCgkgIE1pbm9yIGRlYnVnZ2luZyBsb2dzIGZpeGVzCgoyMDExLTEwLTA2IDE0OjA1OjQyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMC0wNiAxNDowMzoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDYgMTI6MjU6MjYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBwcm9wZXJseSBpbnRlcnByZXQgYmFzZXBhcnNlIGRyYWluaW5nIHN0YXRlCgkgIC4uLiB3aGljaCBtZWFucyB0aGUgaW5wdXQgZGF0YSBoYXMgcmVhY2hlZCB0aGUgZW5kLCBidXQgbmVlZCBub3QgZXhjbHVkZQoJICBtYW55IHNlcGFyYXRlIGZyYW1lcyBtYXkgc3RpbGwgbmVlZCBwYXJzaW5nLgoJICBGaXhlcyBtZXJnaW5nIE5BTHMgaW50byBBVS4KCjIwMTEtMTAtMDUgMjM6MTQ6MjMgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogY29ycmVjdCB0aGUgc2l6ZSBhcmd1bWVudCBvZiBnc3RfaDI2NF9wYXJzZXJfaWRlbnRpZnlfbmFsdV9hdmMoKQoKMjAxMS0xMC0wNSAxMjowOTowNCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBtaW5pbXVtIHNpemUgb2YgcGFyc2FibGUgYXZjQyBkYXRhIHNob3VsZCBiZSA4CgoyMDExLTEwLTA2IDEwOjU4OjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wNSAyMDowNjoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ2Zvcm1hdDogcG9ydCB0byAwLjExCgoyMDExLTEwLTA1IDEyOjUzOjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogbW9yZSBwb3J0aW5nCgoyMDExLTEwLTA0IDE4OjU0OjEzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICBtbXNzcmM6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wNCAxODozODo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJICBkYXRhdXJpc3JjOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDQgMTg6MzU6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYWRkIG1vcmUgdW5wb3J0ZWQgcGx1Z2lucwoKMjAxMS0xMC0wNCAxNDozMDo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RfZWxlbWVudF9wcmludF9wcm9wZXJ0aWVzLmM6CgkgIHRlc3RzOiBwb3J0CgoyMDExLTEwLTA0IDE0OjI3OjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICB2aWRlbzogc3RhcnQgcG9ydGluZyBzb21lIGJhc2UgY2xhc3NlcwoKMjAxMS0xMC0wNCAxNDoyNzowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIHRlc3RzOiBmaXggc29tZSB0ZXN0cwoKMjAxMS0xMC0wNCAxNDoyNjoyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIHBob3RvZ3JhcGh5OiByZW1vcmUgaW1wbGVtZW50LWludGVyZmFjZQoKMjAxMS0xMC0wNCAxNDoyNTo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhZGQgbW9yZSB1bnBvcnRlZCBwbHVnaW5zCgoyMDExLTEwLTA0IDEzOjMzOjUzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29yOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDQgMTM6MzM6MDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IHVzZSByaWdodCBjYXBzCgoyMDExLTEwLTA0IDEzOjI5OjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMC0wNCAxMjozMTowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL3BsdWdpbi5jOgoJICB2aWRlb3BhcnNlcnM6IE9ubHkgZmFpbCB0byBpbml0aWFsaXplIHRoZSBwbHVnaW4gaWYgYWxsIHBhcnNlcnMgY2FuJ3QgYmUgcmVnaXN0ZXJlZAoKMjAxMS0xMC0wMyAxNToyNjoxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGNhbWVyYWJpbjI6IEluaXRpYWxpemUgY2FtZXJhYmluMiBwcmV2aWV3IHBpcGVsaW5lIGRhdGEgd2l0aCAwCgkgIFVzZSBnX25ldzAgdG8gaW5pdGlhbGl6ZSBhbGwgZmllbGRzIHdpdGggMCB0byBvbmx5IGNsZWFudXAgd2hhdCBoYXMgYmVlbgoJICBpbml0aWFsaXplZC4gVGhpcyBtYWtlcyBjbGVhbnVwIHdvcmsgY29ycmVjdGx5IHdoZW4gc29tZSBpbml0aWFsaXphdGlvbgoJICBmYWlscyBhbmQgcG9pbnRlcnMgYXJlIGxlZnQgaW4gc29tZSBpbmNvbnNpc3RlbnQgc3RhdGUuCgoyMDExLTEwLTAzIDEyOjA2OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwOHBheTogRml4IHR5cG8KCjIwMTEtMDktMjMgMjI6NTg6MzAgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5Lmg6CgkgIHJ0cHZwODogVXBkYXRlIHRoZSBwYXkvZGVwYXkgdG8gdGhlIGlldGYtZHJhZnQtMDEgc3BlYwoKMjAxMS0xMC0wMyAxMToyNDowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDktMjggMTQ6NTc6MDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBmaXggZGVjb2RpbmcKCSAgQSBzaW1wbGUgLi4uIG9wdXNlbmMgISBvcHVzZGVjIC4uLiBwaXBlbGluZSBub3cgd29ya3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjAzNjQKCjIwMTEtMDktMjggMTQ6NTY6MTggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBtb2FuIGlmIHdlIGdldCBhbiB1bmV4cGVjdGVkIGFtb3VudCBvZiBkYXRhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjAzNjQKCjIwMTEtMDktMjggMTQ6MjI6MDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXM6IHByb3Blcmx5IHNldHVwIGNhcHMgYW5kIGluaXQgc3RhdGUgZnJvbSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjAzNjQKCjIwMTEtMDktMjggMTM6MjU6MjEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiB1c2UgdGhlIHNhbWUgZnJhbWUgc2l6ZSBzZXR1cCBhcyB0aGUgb3B1cyB0ZXN0IGNvZGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDM2NAoKMjAxMS0wOS0yOCAxMzoyNDo1MiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IG9wdXMgc3VwcG9ydHMgYSBzZWxlY3Qgc2V0IG9mIHNhbXBsaW5nIHJhdGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjAzNjQKCjIwMTEtMDktMjggMTM6MjQ6MjEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXM6IG1ha2UgaXQgYnVpbGQgYWdhaW5zdCBjdXJyZW50LCBhbmQgcmVtb3ZlIGNydWZ0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjAzNjQKCjIwMTEtMDktMzAgMTg6NTQ6MDQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZml4IHNjYW5uaW5nIHN0b3BwaW5nIHRvbyBlYXJseQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4MjQ1CgoyMDExLTA5LTI5IDIwOjU1OjIyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIGthdGU6IGF2b2lkIHJlbmRlcmluZyB3aGVuIHdlIGtub3cgdGhlcmUgaXMgbm90aGluZyB0byByZW5kZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDUyOAoKMjAxMS0xMC0wMSAxNDozMDowNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJICBrYXRlOiBmaXggcmFjZSBjb25kaXRpb24gb24gUEFVU0VELT5SRUFEWSBzdGF0ZSBjaGFuZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDYzMAoKMjAxMS0wOS0yMSAxNDo1MzowMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogdGFrZSBpbnRvIGFjY291bnQgU0NSIG9mZnNldCB3aGVuIHNlZWtpbmcKCSAgU2luY2UgdGhlIHNlZWtpbmcgYnl0ZSBvZmZzZXQgaXMgY2hvc2VuIGJ5IGxpbmVhciBpbnRlcnBvbGF0aW9uCgkgIGZyb20gU0NSIHZhbHVlcywgd2UgbmVlZCB0byB0YWtlIHRoYXQgZmlyc3QgU0NSIGludG8gYWNjb3VudAoJICB0byBlbmQgdXAgbmVhciB0aGUgY29ycmVjdCBvZmZzZXQuIE90aGVyd2lzZSwgYXMgdGhlIGNvZGUgZG9lcwoJICBhIGxpbmVhciBzZWFyY2ggYWZ0ZXIgdGhhdCBmaXJzdCBzZWVrLCBpdCB3aWxsIHRha2UgYSBMT09PT09PTkcKCSAgdGltZSB0byBnZXQgdGhlcmUgZm9yIHN0cmVhbXMgd2hpY2ggZG9uJ3Qgc3RhcnQgYXQgemVyby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTQ4NQoKMjAxMS0wOS0yMSAxNzoyOTo1MiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGFuc3dlciBwb3NpdGlvbiBxdWVyeSB3aXRoIGEgc3RyZWFtIHRpbWUgcG9zaXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTQ4NQoKMjAxMS0wOS0yMCAxNToyMTo1MyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBtcGVncHNkZW11eDogcmVtb3ZlIHVudXNlZCBmaWVsZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5NDg1CgoyMDExLTA5LTI5IDE4OjIwOjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IFJlZmFjdG9yIHRlc3RzIGEgbGl0dGxlCgkgIFJlZmFjdG9yIGNhbWVyYWJpbjIgdGVzdHMgYSBsaXR0bGUKCjIwMTEtMDktMjkgMTM6MDM6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogYWRkaW5nIHRlc3RzIHRvIGNoZWNrIGZvciBwcmV2aWV3IG1lc3NhZ2UgZmlsZW5hbWVzCgkgIFByZXZpZXcgbWVzc2FnZXMgbm93IGhhdmUgZmlsZW5hbWVzLCBhZGQgdGVzdHMgdG8gY2hlY2sgdGhhdCB0aGV5IGFyZQoJICBjb3JyZWN0CgoyMDExLTA5LTI5IDE4OjAzOjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBhZGQgbG9jYXRpb24gdG8gcHJldmlldyBpbWFnZSBtZXNzYWdlcwoJICBNYWtlcyBjYW1lcmFiaW4yIGludGVyY2VwdCBwcmV2aWV3LWltYWdlIG1lc3NhZ2VzIGFuZCBhZGQKCSAgdGhlIGZpbGVuYW1lIGNvcnJlc3BvbmRpbmcgdG8gdGhlIG1lc3NhZ2Ugc3RydWN0dXJlIGluIHRoZQoJICAnbG9jYXRpb24nIGZpZWxkLgoJICBNYWtlcyBlYXNpZXIgZm9yIGFwcGxpY2F0aW9ucyB0byB0cmFjayBwcmV2aWV3IGltYWdlcwoKMjAxMS0wOS0yNyAxMzowNDoyMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuaDoKCSAgY2FtZXJhYmluMjogcmVtb3ZpbmcgY2Fwc2ZpbHRlciBmcm9tIHByZXZpZXcgcGlwZWxpbmUKCSAgYXBwc2luayBhbHJlYWR5IGhhcyBhIGNhcHMgcHJvcGVydHksIHNvIHdlIGRvbid0IG5lZWQgdGhlCgkgIGNhcHNmaWx0ZXIgaGVyZQoKMjAxMS0wOS0yOSAxNjoyMjowMCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBGaXggcG90ZW50aWFsIGxvc3Mgb2YgRU9TIGV2ZW50CgkgIFNldHRpbmcgdGhlIGF1ZGlvIHNvdXJjZSB0byBOVUxMIGp1c3QgYWZ0ZXIgcHVzaGluZyB0aGUgRU9TIGV2ZW50CgkgIG9uIGl0IGNvdWxkIHBvdGVudGlhbGx5IGNhdXNlIGxvc3Mgb2Ygc2FpZCBFT1MgZXZlbnQuIEluc3RlYWQsIHdlCgkgIGNhbiBzZXQgdGhlIGF1ZGlvIHNvdXJjZSB0byBOVUxMIHdoZW4gcmVhZHktZm9yLWNhcHR1cmUgaXMKCSAgc2lnbmFsbGVkIGFuZCB0aGUgYm9vbGVhbiB2YWx1ZSBpcyB0cnVlIGFzIHRoaXMgaW5kaWNhdGVzIHdlIGFyZQoJICBub3QgY3VycmVudGx5IGNhcHR1cmluZyB2aWRlby4KCjIwMTEtMDktMjggMTM6MDE6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYWRkIHBvcnRlZCBmYWFkIGFuZCBzZHAgZWxlbWVudHMKCjIwMTEtMDktMjggMTI6NTQ6MzggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJICBwaG90b2dyYXBoeTogcmVtb3ZlIGltcGxlbWVudHMtaW50ZXJmYWNlIHByZXJlcXVpc2l0ZQoKMjAxMS0wOS0yOCAxMjo1NDowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgdXNlIHRoZSAwLjExIGJyYW5jaCBvZiBjb21tb24KCjIwMTEtMDktMjcgMTM6MjI6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IHBvcnQgdG8gMC4xMQoKMjAxMS0wOS0yNiAyMjozMToxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDktMjYgMjI6MzA6MTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiBwb3J0IHRvIDAuMTEKCjIwMTEtMDktMjYgMTc6MjM6NDEgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogU3RvcCB0aGUgYXVkaW8gc291cmNlIGJldHdlZW4gY2FwdHVyZXMKCSAgTW92ZSB0aGUgYXVkaW8gc291cmNlIHNldHRpbmcgb2Ygc3RhdGUgdG8gTlVMTCB0byBfc3RvcF9jYXB0dXJlICgpIHRvCgkgIGF2b2lkIHRoZSBhdWRpbyBzb3VyY2UgcnVubmluZyBiZXR3ZWVuIGNhcHR1cmVzLgoKMjAxMS0wOS0yNiAxNjoyNjozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IEFsc28gc2V0IG1heGltdW0gbnVtYmVyIG9mIHNhbXBsZXMgdGhhdCB0aGUgc3ViY2xhc3Mgd2FudHMKCjIwMTEtMDktMjYgMTY6MDU6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBTaW1wbGUgZml4IGZvciBHc3RBdWRpb0VuY29kZXIgQVBJIGNoYW5nZQoKMjAxMS0wOC0yMyAxODoyNToyMCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2xpYnMvdmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyOiBWQzE6IEltcGxlbWVudCBhIFZDMSBwYXJzaW5nIGxpYnJhcnkKCjIwMTEtMDktMTYgMTk6MDM6MzEgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY29kZWNwYXJzZXJzOiBEZWNsYXJlIHRoZSBuZXcgQVBJcyBhcyB1bnN0YWJsZSBmb3IgdGhlIHRpbWUgYmVpbmcKCjIwMTEtMDktMjYgMTE6NDQ6MDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDoga2VlcCBDUkMgdGFibGUgaW4gLnJvZGF0YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwMTE4CgoyMDExLTA5LTIwIDE2OjI5OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wY2FwcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9wY2FwcGFyc2UvZ3N0aXJ0c3BwYXJzZS5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdGlydHNwcGFyc2UuaDoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9wbHVnaW4uYzoKCSAgaXJ0c3BwYXJzZTogYWRkIEludGVybGVhdmVkIFJUU1AgcGFyc2VyIGVsZW1lbnQKCjIwMTEtMDktMjMgMTA6MTA6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBmaXggY29tcGlsZXIgd2FybmluZwoJICBnc3RmYWFkLmM6IEluIGZ1bmN0aW9uICdnc3RfZmFhZF9wYXJzZSc6CgkgIGdzdGZhYWQuYzo2MTU6MTE6IGVycm9yOiAnbGVuJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24KCjIwMTEtMDktMjMgMDk6NTc6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBwYXJzZSB3YW50cyBhIEdzdEZsb3dSZXR1cm4gcmV0dXJuIHZhbHVlLCBub3QgYSBnYm9vbGVhbgoKMjAxMS0wOS0yMiAyMDoxMToyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4LmM6CgkgIHBzbXV4OiBmaXggd3JpdGluZyBvZiBzeXN0ZW0gaGVhZGVyLCB3aGljaCBtYWtlcyBWTEMgbm90IHNraXAgdGhlIGFkamFjZW50IFBTTSBhbmQgcGxheSBlbWJlZGRlZCBILjI2NCBzdHJlYW1zCgkgIGhlYWRlcl9sZW5ndGggY29udGFpbnMgdGhlIGxlbmd0aCBpbiBieXRlcyBhZnRlciB0aGUgaGVhZGVyX2xlbmd0aAoJICBmaWVsZCwgZXhjbHVkaW5nIHRoZSA2IGJ5dGUgc3RhcnQgY29kZSBhbmQgaGVhZGVyX2xlbmd0aCBmaWVsZC4KCSAgSC4yNjQgc3RyZWFtcyBhbmQgc29tZSBvdGhlciBmb3JtYXRzIG5lZWQgdG8gYmUgYW5ub3VuY2VkIGluIHRoZSBQU00uCgkgIFZMQyB3b3VsZG4ndCBwbGF5IGZpbGVzIGNyZWF0ZWQgd2l0aCBtcGVncHNtdXggY29udGFpbmluZyBILjI2NCBiZWNhdXNlCgkgIHdlIGNsYWltIHRoZSBzeXN0ZW0gaGVhZGVyIGlzIGxhcmdlciB0aGFuIGl0IGFjdHVhbGx5IGlzLCB3aGljaCBtYWtlcwoJICBWTEMgc2tpcCB0aGUgcHJvZ3JhbSBzdHJlYW0gbWFwIHdoaWNoIGZvbGxvd3MgdGhlIHN5c3RlbSBoZWFkZXIsIHdoaWNoCgkgIGluIHR1cm4gbWFrZXMgaXQgbm90IHJlY29nbmlzZSBvdXIgSC4yNjQgdmlkZW8gc3RyZWFtLgoKMjAxMS0wOS0yMiAyMDowOTozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL2xpYnMvLmdpdGlnbm9yZToKCSAgZG9jczogYWRkIGlnbm9yZSBydWxlcyBmb3IgbGlicyBkb2NzIGRpcmVjdG9yeQoKMjAxMS0wOS0yMiAxODoyMzozMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IGZpeHVwIG1pc3VuZGVyc3RhbmRpbmcgaW4gc2FtcGxlIGNvdW50aW5nCgkgIC4uLiBiZXR3ZWVuIGNvZGVjIGFuZCBhdWRpb2VuY29kZXIgcmVnYXJkaW5nIHdoZXRoZXIgb3Igbm90IGNoYW5uZWwKCSAgY291bnQgaXMgYWxyZWFkeSBjb25zaWRlcmVkLgoJICBGaXhlcyAjNjU5ODM2LgoKMjAxMS0wOS0yMiAxNjowMTo1NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IHVzZSBzb21lIG1vcmUgYm9pbGVycGxhdGUKCjIwMTEtMDktMjIgMDk6NDk6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvTWFrZWZpbGUuYW06CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJICBmYWFkOiBwb3J0IHRvIGF1ZGlvZGVjb2RlcgoKMjAxMS0wOS0yMSAxNjoxMToyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IHVzZSBzb21lIG1vcmUgYm9pbGVycGxhdGUKCjIwMTEtMDktMjEgMTY6MDE6MjggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJICBmYWFjOiBwb3J0IHRvIGF1ZGlvZW5jb2RlcgoKMjAxMS0wOS0yMCAxNjo1NDozMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAga2F0ZTogZm9yd2FyZCByZXR1cm4gY29kZSBmcm9tIHNldHRpbmcgc3JjIHBhZCBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTk2MDYKCjIwMTEtMDktMjAgMTM6MDA6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGJhc2VjYW1lcmFzcmM6IEZhaWwgc3RhdGUgY2hhbmdlIGlmIHByZXZpZXcgcGlwZWxpbmUgZmFpbHMgY3JlYXRpb24KCSAgSWYgdGhlIHByZXZpZXcgcGlwZWxpbmUgZmFpbHMgY3JlYXRpb24sIGZvciBhbnkgcmVhc29uLCB3ZSBzaG91bGQKCSAgZmFpbCBiYXNlY2FtZXJhc3JjIHN0YXRlIGNoYW5nZS4KCSAgQWxzbyBhZGRzIGEgbWlzc2luZyBnX3JldHVybl9pZl9mYWlsIGNoZWNrIHRvIHByZXZpZXcgcGlwZWxpbmUKCSAgZnVuY3Rpb25zCgoyMDExLTA5LTE5IDE2OjMyOjU4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogQWRkIGNoZWNrcyB0byBpbnB1dCwgYW5kIGZpeCBzaXplIGNoZWNraW5nCgoyMDExLTA5LTE5IDE0OjU0OjExICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkgIGgyNjNwYXJzZTogYnJpbmcgZGVidWcgc3RhdGVtZW50cyB1cCB0byBkZXNpcmVkIHNwZWNzCgoyMDExLTA5LTE5IDE0OjA3OjUyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogYnJpbmcgZGVidWcgc3RhdGVtZW50cyB1cCB0byBkZXNpcmVkIHNwZWNzCgoyMDExLTA5LTE5IDEzOjQxOjQ0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzaW5nbGliczogRG9jIGFuZCBpbmRlbnRhdGlvbiBmaXhlcwoKMjAxMS0wOS0xMCAxMTozMToyMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwdnA4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwdnA4L2Rib29saHVmZi5MSUNFTlNFOgoJKiBnc3QvcnRwdnA4L2Rib29saHVmZi5jOgoJKiBnc3QvcnRwdnA4L2Rib29saHVmZi5oOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDg6IGZpeCBiaXRzdHJlYW0gcGFyc2luZyB1c2luZyB0aGUgd3Jvbmcga2luZCBvZiBiaXRyZWFkZXIKCSAgVlA4IHVzZXMgYSBwcm9iYWJpbGlzdGljIGJvb2wgY29kZXIsIG5vdCBhIHN0cmFpZ2h0IGJpdCBjb2Rlci4KCSAgVGhpcyBmaXhlcyBwYXJzaW5nIHdoZW4gZXJyb3ItcmVzaWxpZW50IGlzIHNldC4KCSAgVGhpcyBjb21taXQgaW5jbHVkZXMgYSBjb3B5IG9mIGxpYnZweCdzIGJvb2wgY29kZXIsIEJTRCBsaWNlbnNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MjY5NAoKMjAxMS0wOS0xNCAyMDoyMjo0MiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdDogYSBiaXQgbW9yZSBlcnJvciBjaGVja2luZyBvbiBoZWFkZXIgcGFyc2luZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5MDg3CgoyMDExLTA5LTE0IDE5OjU2OjQwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGVuYzogY2xlYW51cCBoZWFkZXIgY3JlYXRpb24KCSAgQXZvaWQgYW4gZXh0cmEgY29weSB2aWEgYSB0ZW1wb3JhcnkgZml4ZWQgc2l6ZSBzdGFjayBidWZmZXIuCgkgIFVzZSBsaWJjZWx0J3MgaGVhZGVyIHNpemUgdG8gYWxsb2NhdGUgYSBidWZmZXIgb2YgdGhlIGNvcnJlY3QKCSAgc2l6ZSBpbiB0aGUgZmlyc3QgcGxhY2UgKGxpYmNlbHQgaGFzIGFuIG9mZiBieSA0IHRoZXJlLCBzbwoJICBhY2NvdW50IGZvciB0aGlzKS4KCSAgV2hpbGUgdGhlcmUsIG1ha2Ugc2l6ZSB1bnNpZ25lZCwgYW5kIGdyYW5wb3Mgc2lnbmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5MDg3CgoyMDExLTA5LTE0IDE5OjA5OjMwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGVuYzogZG8gbm90IHVzZSBpbnZhbGlkIGJ1ZmZlciB0aW1lc3RhbXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTkwODcKCjIwMTEtMDktMTQgMTc6MjY6MDUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJICBjZWx0ZGVjOiBmaXggZXJyb3IgY2hlY2tpbmcgd2l0aCBsaWJjZWx0IDAuMTEKCSAgVGhlIHJldHVybiB2YWx1ZSBvZiBjZWx0X2RlY29kZSBoYXMgY2hhbmdlZCwgbmV3ZXIgdmVyc2lvbnMKCSAgbm93IHJldHVybiBwb3NpdGl2ZSB2YWx1ZXMgb24gc3VjY2Vzcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTA4NwoKMjAxMS0wOS0xNCAxNzowNzo1MCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuaDoKCSAgY2VsdGVuYzogYWxsb3cgYWN0dWFsbHkgb3ZlcnJpZGluZyBmcmFtZSBzaXplCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTkwODcKCjIwMTEtMDktMTMgMTY6MjQ6MzIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIGthdGU6IGZsdXNoIG9uIHNlZWssIGFuZCBlbnN1cmUgd2UgY2FuY2VsIGFueSB3YWl0aW5nIGJ1ZmZlcgoJICBUaGlzIGlzIHdoYXQgcGFuZ28gdGV4dG92ZXJsYXkgZG9lcywgYW5kIEkndmUgaGFkIHRoYXQgY29uZGl0aW9uCgkgIHZhcmlhYmxlIGdldCBzdHVjayBvbmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4OTQwCgoyMDExLTA5LTEyIDExOjE3OjIwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBoMjY0cGFyc2U6IGRvIG5vdCB0cnkgdG8gcmVhZCBmcm9tIGEgbm9uIGV4aXN0ZW50IFZVSQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4ODAwCgoyMDExLTA5LTE2IDAwOjMyOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkaW5nIDIgbW9yZSBsb2cgbWVzc2FnZXMKCjIwMTEtMDktMTQgMTU6MjA6MDkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiByZXBsYWNlIGRlcHJlY2F0ZWQgZ19hdG9taWNfaW50X2V4Y2hhbmdlX2FuZF9hZGQKCSAgSXQgd2FzIHJlcGxhY2VkIGJ5IGdfYXRvbWljX2ludF9hZGQsIHdoaWNoIG5vdyByZXR1cm5zIHRoZQoJICBvbGQgdmFsdWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTkwNjEKCjIwMTEtMDktMTUgMTc6MzU6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBSZXNldCBsYXN0IHN0YXRlIGNoYW5nZSByZXN1bHQgb24gc3RhdGUtbG9ja2VkIGVsZW1lbnRzCgkgIEFuIGVsZW1lbnQgc3RvcmVzIHRoZSByZXN1bHQgZm9yIHRoZSBsYXN0IHN0YXRlIGNoYW5nZSBpdCBkaWQgYW5kCgkgIEdzdEJpbidzIHN0YXRlIGNoYW5nZSBoYW5kbGVyIHdpbGwgdXNlIHRoaXMgbGFzdCByZXN1bHQgZm9yIHN0YXRlCgkgIGxvY2tlZCBlbGVtZW50cyB0byBkZWNpZGUgaWYgaXRzIHN0YXRlIGNoYW5nZSB3YXMgc3VjY2Vzc2Z1bGwgb3Igbm90LgoJICBJbiBjYW1lcmFiaW4yLCB0aGUgZmlsZXNpbmtzIGhhdmUgdGhlaXIgc3RhdGUgbG9ja2VkIGFuZCB3aGVuIHRoZXkKCSAgZmFpbCBzd2l0Y2hpbmcgc3RhdGVzLCB0aGlzIGxhc3QgZmFpbHVyZSB3aWxsIGJlIHVzZWQgaWYgdGhlIGFwcGxpY2F0aW9uCgkgIHRyaWVzIHRvIGNoYW5nZSBjYW1lcmFiaW4yJ3Mgc3RhdGUsIGNhdXNpbmcgYW55IHN0YXRlIGNoYW5nZSB0byBmYWlsLgoJICBUaGlzIHBhdGNoIG1ha2VzIGNhbWVyYWJpbjIgcmVzZXQgdGhpcyBsYXN0IGNoYW5nZSBmYWlsdXJlLCBhdm9pZGluZwoJICB0aGF0IGNhbWVyYWJpbjIgZmFpbHMgb24gaXRzIG5leHQgc3RhdGUgY2hhbmdlcy4KCjIwMTEtMDktMTUgMTg6MTc6MjQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3BhbmRzcC9nc3RzcGFucGxjLmM6CgkgIHNwYW5wbGM6IEZpeCB0eXBvcwoKMjAxMS0wOS0xMyAyMDo0MDozNSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogSGFuZGxlIHByb3Blcmx5IGZyYW1lIGRldGVjdGlvbgoJICBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUgd2UgaGF2ZSBidWZmZXJzIGNvbnRhaW5pbmcgbm8gc3RhcnRjb2RlCgkgIGluIHRoZSBtaWRkbGUgb2YgYSBmcmFtZSBwcm9wZXJseS4KCjIwMTEtMDktMTMgMjA6Mzg6MjcgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogbXBlZ3ZpZGVvOiBEZWJ1Z2dpbmcgc3ltYm9scyBlbmhhbmNlbWVudHMKCjIwMTEtMDktMTIgMTM6NTQ6MzcgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogbXBlZ3ZpZGVvOiBBZGQgdGhlIENocm9tYVR5cGUgZW51bQoKMjAxMS0wOS0xMiAxMzo0MTo0MSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtcGVndmlkZW86IENoYW5nZSBicm9rZW5fZ29wIHRvIGJyb2tlbl9saW5rCgkgIFRoaXMgd2F5IHdlIHJlc3BlY3QgdGhlIHN0YW5kYXJkIG5hbWluZwoKMjAxMS0wOS0xNCAxNjoxNDoyNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuaDoKCSAgbXBlZ3ZpZGVvcGFyc2U6IHNlbmQgYSB2aWRlby1jb2RlYyB0YWcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU2OTMwNQoKMjAxMS0wOS0xMiAxNjo1MDoxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IENoZWNrIHpvb20gbm90aWZ5IGNhbGxiYWNrIGZyb20gY2FtZXJhLXNvdXJjZQoJICBDYW1lcmFiaW4yIGhhcyBhIHpvb20gcHJvcGVydHkgdGhhdCBpcyBzaW1wbHkgcHJveGllZCB0byBpdHMKCSAgaW50ZXJuYWwgY2FtZXJhLXNvdXJjZSBlbGVtZW50LiBUaGlzIHBhdGNoIG1ha2VzIGNhbWVyYWJpbjIgbGlzdGVuCgkgIHRvICdub3RpZnknIHNpZ25hbHMgZnJvbSBpdCBzbyBpdCBjYW4gdXBkYXRlIGl0cyB6b29tIHByb3BlcnR5IHZhbHVlCgkgIHdoZW4gY2FtZXJhLXNvdXJjZSBjaGFuZ2VzIGl0cyB6b29tIGFzIGEgc2lkZS1lZmZlY3Qgb2YgYW5vdGhlciBvcGVyYXRpb24KCSAgb3IgYmVjYXVzZSB0aGUgdXNlciBzZXQgdGhlIHpvb20gZGlyZWN0bHkgdG8gaXQsIGluc3RlYWQgb2YgZG9pbmcKCSAgaXQgZnJvbSBjYW1lcmFiaW4yLgoKMjAxMS0wOC0yOSAwODowMDoyMiArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJICBydG1wc2luazogZG9uJ3QgYmxvY2sgdGhlIG1haW4gdGhyZWFkIHdpdGggUlRNUF9Db25uZWN0CgkgIE1vdmUgdGhlIFJUTVBfQ29ubmVjdCBjYWxsIGZyb20gdGhlIG1haW4gdGhyZWFkICg6OnN0YXJ0KSB0byB0aGUgc3RyZWFtaW5nCgkgIHRocmVhZCAoOjpyZW5kZXIpLgoKMjAxMS0wOS0xMiAxMDozMzowNiArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBmaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTEtMDktMTIgMTA6MjM6MTkgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogZml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDExLTA5LTA5IDE0OjIyOjM5IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IE1ha2UgdXNlIG9mIHRoZSBoMjY0X25hbF9wYXJzZXJfZnJlZSBmdW5jdGlvbgoKMjAxMS0wOS0wOSAxNDoxNToyMSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvaDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IEltcGxlbWVudCB0aGUgbmFsX3BhcnNlcl9mcmVlIGZ1bmN0aW9uCgoyMDExLTA5LTA2IDIxOjI5OjI4IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svbGlicy9oMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogVXNlIGdfc2xpY2UgaW5zdGVhZCBvZiBnX21hbGxvYyBpbiBuYWxfcGFyc2VyX25ldwoKMjAxMS0wOS0wNiAyMToyODo0NSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogVXBkYXRlIHRoZSBkb2N1bWVudGF0aW9uCgkgIEZpeCBhIGZldyBlcnJvci4KCSAgRG9jdW1lbnQgbWlzc2luZyBwYXJ0cy4KCSAgQWRkIGxpbmtzIHRvIHRoZSBzcGVjaWZpY2F0aW9ucwoKMjAxMS0wOS0wOSAxMjoyNzo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IEZpeCBtZXJnZSBtaXN0YWtlIGZyb20gbGFzdCBjb21taXQKCjIwMTEtMDktMDggMjM6NTY6MzMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogUmVwb3J0IHRoZSBjb3JyZWN0IHRpbWVzdGFtcCBmb3IgbGl2ZSBzdHJlYW1zCgkgIEJ1ZmZlcnMgd291bGQgYWx3YXlzIHN0YXJ0IHdpdGggdGltZXN0YW1wIDAgYW5kIHdlJ2Qgc3RhcnQgc3RyZWFtaW5nCgkgIGZyb20gdGhlIGZpcnN0IGJ1ZmZlciwgYnV0IGxpdmUgc3RyZWFtcyBhbHdheXMgc3RhcnQgc3RyZWFtaW5nIGZyb20KCSAgdGhlIGxhc3QgZnJhZ21lbnQgLSAzIGZyYWdtZW50cyBpbiB0aGUgcGxheWxpc3QsIHdoaWNoIG1ha2VzIGl0cwoJICB0aW1lc3RhbXAsIGFzIHJldHVybmVkIGJ5IGdldF9uZXh0X2ZyYWdtZW50LCBiZSB3aGF0ZXZlciBwb3NpdGlvbgoJICB0aGV5IGhhZCBpbiB0aGUgcGxheWxpc3QuIFRoaXMgbWFrZXMgc3VyZSB0aGUgcG9zaXRpb24gY29ycmVjdGx5CgkgIHJlcG9ydHMgdGhlIHBvc2l0aW9uIG9mIHRoZSBidWZmZXIgaW4gdGhlIHBsYXlsaXN0LCBhbmQgYWRkZWQgYSBzaGlmdGluZwoJICB2YXJpYWJsZSB0byBhbGxvdyBzZWVraW5nIGluIHRoZSBtaWRkbGUgb2YgZnJhZ21lbnRzLgoKMjAxMS0wOS0wOCAyMjoxMzoxOSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgaGxzZGVtdXgvdHNkZW11eDogQWRkIEhQIGNvcHlyaWdodCBvbiB3b3JrIGRvbmUgb24gSExTCgoyMDExLTA5LTA4IDIwOjI5OjQyICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogc2V0IHBsYXlsaXN0IHRvIE5VTEwgYWZ0ZXIgdW5yZWZmaW5nIGl0IHRvIGF2b2lkIGEgZG91YmxlLXVucmVmIGluIHRoZSBkaXNwb3NlCgoyMDExLTA5LTA4IDE4OjI1OjAwICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG8gbm90IGxvY2sgdGhlIG11dGV4IG9mIHRoZSBmZXRjaGVyIGR1cmluZyBFT1MKCSAgVGhlIGZldGNoX2xvY2F0aW9uIG1pZ2h0IGNhbGwgc3RvcF9mZXRjaGVyIHdoaWNoIGNvdWxkIGdlbmVyYXRlIGFuIEVPUwoJICBhbmQgY2F1c2UgYSBkZWFkbG9jawoKMjAxMS0wOS0wNiAyMjoxMTowNiAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvc3BhbmRzcC9NYWtlZmlsZS5hbToKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbmRzcC5jOgoJKiBleHQvc3BhbmRzcC9nc3RzcGFucGxjLmM6CgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5wbGMuaDoKCSAgc3BhbmRzcDogQWRkaW5nIHNwYW5kc3AgcGx1Z2luIHdpdGggc3BhbnBsYyBlbGVtZW50IGZvciBwYWNrZXQgbG9zcyBjb25jZWFsbWVudAoKMjAxMS0wOS0wNyAyMDowOToxMiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERvIG5vdCBqb2luIHRoZSB0YXNrIGZyb20gdGhlIHRhc2sncyB0aHJlYWQgaXRzZWxmLiBqb2luIGl0IG9ubHkgaW4gdGhlIHN0YXRlIGNoYW5nZQoKMjAxMS0wOS0wNyAxNTo0ODozMyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBkb2NzOiBjbGVhbnVwIG1ha2VmaWxlcwoJICBSZW1vdmUgY29tbWVudGVkIG91dCBwYXJ0cyB0aGF0IHdlIGRvbid0IG5lZWQuIFJlbW92ZSAidGhlIHdpbmdvIGFkZGl0aW9uIiAtIG5vCgkgIHNvIHVzZWZ1bCBhZnRlciBhbGwuIE5hcnJvdyBkb3duIGZpbGUtZ2xvYnMgZm9yIHBsdWdpbiBkb2NzLgoKMjAxMS0wOS0wNyAxNTo0MjozNyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGZpeCBjYW1lcmFiaW4yIG5hbWVzIGluIHNlY3Rpb25zLnR4dAoKMjAxMS0wOS0wNyAxNTozNzo1MyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5oOgoJICBrYXRlcGFyc2U6IGZpeCBjcmFwIGluIG9iamVjdCBtYWNyb3MKCjIwMTEtMDktMDcgMTI6MzI6NDggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogbWFrZSB0aGlzIGJ1aWxkIHdpdGggb2xkZXIgZ2xpYgoJICBnX2xpc3RfZnJlZV9mdWxsIGlzIGEgbmV3IGNvbnZlbmllbmNlIGZ1bmN0aW9uLgoJICBSZXBsYWNlIGl0IHdpdGggZ19saXN0X2ZvcmVhY2ggYW5kIGdfbGlzdF9mcmVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4NDUwCgoyMDExLTA5LTA3IDEzOjQ2OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL3BsdWdpbi5jOgoJICB2aWRlb3BhcnNlcnM6IE1ha2UgdGhlIGgyNjMgYW5kIChuZXcpIG1wZWcgdmlkZW8gcGFyc2VyIGF1dG9wbHVnZ2FibGUKCjIwMTEtMDktMDUgMjA6MDI6NTcgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogRml4IElEUiBwb3NpdGlvbiBtYXJraW5nIHdoZW4gdGhlIElEUiBpcyBzcGxpdCBpbnRvIHNldmVyYWwgTkFMcwoKMjAxMS0wOS0wNyAxMToyNzo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJICBoMjYzcGFyc2U6IEFkZCBhbGwgYWx3YXlzIHByZXNlbnQgZmllbGRzIHRvIHRoZSBzcmMgdGVtcGxhdGUgY2FwcwoKMjAxMS0wOS0wNyAxMToyNDoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSAgZGlyYWNwYXJzZTogQWRkIGFsbCBmaWVsZHMgdG8gdGhlIHNyYyB0ZW1wbGF0ZSBjYXBzCgoyMDExLTA5LTA3IDExOjIyOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogQWxsb3cgcGFyc2VkIHN0cmVhbXMgdG8gYmUgcGFzc2VkIHRocm91Z2ggdGhlIHBhcnNlcnMKCjIwMTEtMDktMDcgMTE6MTc6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBQdXQgc3RyZWFtLWZvcm1hdCBhbmQgYWxpZ25tZW50IGludG8gdGhlIHNyYyB0ZW1wbGF0ZSBjYXBzCgkgIEFsc28gcmVtb3ZlIHRoZSBwYXJzZWQgZmllbGQgZnJvbSB0aGUgc2luayB0ZW1wbGF0ZSBjYXBzLgoKMjAxMS0wOS0wNyAxMToxNDozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL3BsdWdpbi5jOgoJICBoMjY0cGFyc2U6IENoYW5nZSByYW5rIHRvIFBSSU1BUlkrMSB0byBoYXZlIGgyNjRwYXJzZSBhdXRvcGx1Z2dlZAoKMjAxMS0wOS0wNyAxMTowNjo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2RpcmFjX3BhcnNlLmM6CgkgIGRpcmFjcGFyc2U6IENvbnN0aWZ5IHNvbWUgYXJyYXlzCgoyMDExLTA5LTA2IDEwOjQ5OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSAgY2FtZXJhYmluMjogcHJldmlldzogTm8gbmVlZCBmb3IgYXBwc2luayB0byBzdG9yZSB0aGUgbGFzdCBidWZmZXIKCSAgVGhlcmUgaXMgbm8gbmVlZCBmb3IgcHJldmlldydzIGFwcHNpbmsgdG8ga2VlcCBhIHJlZmVyZW5jZSB0byB0aGUgbGFzdCBidWZmZXIsCgkgIHNvIGRpc2FibGUgdGhlIHByb3BlcnR5IHRvIG1ha2UgaXQgdW5yZWYgdGhlIGJ1ZmZlcnMgc29vbmVyLgoKMjAxMS0wOS0wNiAyMjo0ODozMCArMDEwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgZm9yIGxhdGVzdCBuZXcgcGx1Z2lucyBhbmQgbW92ZWQgcGx1Z2lucwoKMjAxMS0wOS0wNiAyMToyNTowMCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYTM5ZWI4MyB0byAxMWYwY2Q1CgoyMDExLTA5LTA2IDE2OjEzOjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wOS0wNiAxNTo0MDo0NiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNjA1Y2Q5YSB0byBhMzllYjgzCgoyMDExLTA5LTA2IDEzOjIwOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogQWRkIENvbnZlcnRlciB0byBjbGFzc2lmaWNhdGlvbgoJICBUaGlzIHBhcnNlciBjYW4gY29udmVydCBiZXR3ZWVuIGRpZmZlcmVudCBhbGlnbm1lbnRzIGFuZCBzdHJlYW0tZm9ybWF0cy4KCjIwMTEtMDktMDUgMTQ6Mzk6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJICBjYW1lcmFiaW4yOiBwcmV2aWV3OiBBcHBzaW5rIGRvZXNuJ3QgbmVlZCB0byBzeW5jCgkgIFNldCBzeW5jIHRvIGZhbHNlIG9uIHByZXZpZXcncyBwaXBlbGluZSBhcHBzaW5rCgoyMDExLTA5LTA1IDA5OjU1OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSAgY2FtZXJhYmluMjogcHJldmlldzogUmVtb3ZlIG9uZSBvZiB0aGUgdHdvIGNvbG9yc3BhY2UgY29udmVydGVycwoJICBUaGUgcHJldmlldyBwaXBlbGluZSBkb2Vzbid0IG5lZWQgMiBjb2xvcnNwYWNlIGNvbnZlcnRlcnMsIHJlbW92ZQoJICBvbmUgdG8gc3BlZWQgdXAgY2FwcyBuZWdvdGlhdGlvbiBhbmQgcmVkdWNlIHRoZSBkZWxheSBvbiBnZXR0aW5nCgkgIHRoZSBmaXJzdCBwcmV2aWV3IGJ1ZmZlciBvdXQgb2YgdGhlIHByZXZpZXcgcGlwZWxpbmUuCgkgIEl0IHNob3VsZG4ndCBjYXVzZSBwcm9ibGVtcyBhcyB2aWRlb3NjYWxlIGFuZCBmZm1wZWdjb2xvcnNwYWNlIHNlZW1zCgkgIHRvIGhhbmRsZSB0aGUgc2FtZSBjYXBzLCBzbyBubyBjb252ZXJzaW9uIHNob3VsZCBiZSBuZWVkZWQgZm9yCgkgIHZpZGVvc2NhbGUuIEFkZGl0aW9uYWxseSwgY2FtZXJhYmluMSBoYXMgYmVlbiB3b3JraW5nIHdpdGggYSBzaW1pbGFyCgkgIHBpcGVsaW5lIHdpdGggYSBzaW5nbGUgZmZtcGVnY29sb3JzcGFjZSBhbmQgbm8gYnVncyBoYXZlIGJlZW4gb3BlbiBhYm91dCBpdAoJICBzbyBmYXIuCgoyMDExLTA5LTAxIDIwOjAxOjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSAgY2FtZXJhYmluMjogcHJldmlldzogRGlzYWJsZSBhcHBzcmMgc2lnbmFscyBlbWlzc2lvbgoJICBDYW1lcmFiaW4yIGRvZXNuJ3QgY2hlY2sgYXBwc3JjJ3Mgc2lnbmFscywgc28gZGlzYWJsZSB0aGVtCgoyMDExLTA4LTI2IDEwOjUwOjM4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuYzogZG8gbm90IHRyeSB0byBjYWxjdWxhdGUgbGF0ZW5jeSBmcm9tIGFuIHVua25vd24gZnJhbWVyYXRlCgkgIEl0J2xsIGRpdmlkZSBieSB6ZXJvLCBhbmQgbGF0ZW5jeSBpcyB1bmtub3duIGZvciBhbiB1bmtub3duIGZyYW1lcmF0ZS4KCSAgRml4ZXMgYW4gYXNzZXJ0IGluIHRoZSBzY2hyb2VuYyB0ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3NDE5CgoyMDExLTA5LTAzIDAwOjM2OjM0ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogSWYgYSBmZXRjaCBmYWlscywgZGVjcmVtZW50IHRoZSBzZXF1ZW5jZSBudW1iZXIKCjIwMTEtMDktMDIgMjM6NDk6MzggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBtYWtlIGhsc2RlbXV4IGxvY2svdW5sb2NrIHRoZSBtM3U4IGNsaWVudCB3aGVuIGl0IGFjY2Vzc2VzIGl0CgoyMDExLTA5LTAyIDIzOjQ4OjIyICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogQWRkIGEgZ2V0X3RhcmdldF9kdXJhdGlvbiBhbmQgZ2V0X2N1cnJlbnRfdXJpIGFwaSB0byBtM3U4X2NsaWVudAoKMjAxMS0wOS0wMiAyMzo0ODowMyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IE1ha2UgdGhlIG0zdTggY2xpZW50IHRocmVhZC1zYWZlCgoyMDExLTA5LTAyIDE5OjQ0OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFJlc2V0IGluIFBBVVNFRC0+UkVBRFkgYWZ0ZXIgY2hhaW5pbmcgdXAgdG8gdGhlIHBhcmVudCBjbGFzcwoJICBPdGhlcndpc2UgdGhlcmUgYXJlIHBvc3NpYmxlIHJhY2UgY29uZGl0aW9ucyB3aXRoIHRoZSBzdHJlYW1pbmcgdGhyZWFkLgoKMjAxMS0wOS0wMiAxNjowODo1OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgZG9jczogbWlub3IgZml4ZXMKCjIwMTEtMDgtMzEgMTA6MTI6NDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3BsYXkvLmdpdGlnbm9yZToKCSogZ3N0LWxpYnMvZ3N0L3BsYXkvcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvcGxheS9wbGF5LnZjcHJvajoKCSAgZ3N0LWxpYnM6IFJlbW92ZSBwbGF5IGRpcmVjdG9yeS4gV2FzIHVucG9ydGVkIHNpbmNlIDAuOAoKMjAxMS0wOC0zMSAxMDoxMDoyMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IEFkZCBtb3JlIHNlY3Rpb25zIHRvIHRoZSBnc3QtbGlicyBBUEkgZG9jcwoKMjAxMS0wOC0yOSAxMzo1MjoxNyArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IFBQUyBwYXJzZXIKCSAgRml4IHRyYW5zZm9ybV84eDhfbW9kZV9mbGFnIGFuZCBzZWNvbmRfY2hyb21hX3FwX2luZGV4X29mZnNldAoKMjAxMS0wOC0yOSAxMzo1MjoxNiArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IE5BTCByZWFkZXIgaW5pdGlhbGl6YXRpb24uCgoyMDExLTA4LTI2IDE1OjU0OjUxICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBoYW5kbGUgZW5kLW9mLXNlcSBhbmQgZW5kLW9mLXN0cmVhbSBOQUwgZ3JhY2VmdWxseS4KCjIwMTEtMDgtMjYgMTY6MDU6NTggKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCByZWZfcGljX2xpc3RfcmVvcmRlcmluZygpLgoKMjAxMS0wOC0xNiAxNjoxOTowMiArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBwcmVkX3dlaWdodF90YWJsZSgpIHBhcnNpbmcuCgkgIFVzZSAxNi1iaXQgc2lnbmVkIGludGVnZXIgdmFsdWVzIGZvciB3ZWlnaHQgdmFsdWVzIGJlY2F1c2UgdmFsaWQKCSAgcmFuZ2VzIGFyZSAtMTI4IHRvICsxMjggaW5jbHVzaXZlLgoKMjAxMS0wOC0xNiAxNToyMToxOCArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogcmVjb3JkIHNsaWNlX2hlYWRlcigpIHNpemUgaW4gYml0cy4KCjIwMTEtMDgtMTYgMTU6MTQ6MDMgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggc2xpY2VfaGVhZGVyKCkgcGFyc2luZy4KCSAgV2Ugd2VyZSBub3QgcGFyc2luZyB0aGUgc2xpY2UgaGVhZGVycyB1bnRpbCB0aGUgYWN0dWFsIGVuZCwgd2UgYXJlIG5vdwoJICBwYXJzaW5nIHVudGlsIHRoZSBlbmQuCgoyMDExLTA4LTEyIDEzOjE5OjI5ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggZmlsbGVyLWRhdGEgTkFMIHVuaXQgdHlwZSBuYW1lLgoKMjAxMS0wOC0xMiAxMDoxNzo0NyArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItY29kZWNwYXJzZXJzLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWNvZGVjcGFyc2Vycy5wYy5pbjoKCSAgY29kZWNwYXJzZXJzOiBhZGQgcGtnY29uZmlnIGZpbGUuCgkgIEFkZHMgYSBuZXcgcGtnY29uZmlnIGZpbGUgZm9yIGNvZGVjcGFyc2Vycy4gVGhleSBkb24ndCBoYXZlCgkgIGFueSBzcGVjaWZpYyBkZXBlbmRlbmN5IG9uIGdzdC1wbHVnaW5zLWJhZCBhbmQgdGhleSBjb3VsZCBxdWl0ZSBiZQoJICBpbmRlcGVuZGVudCBiaXRzdHJlYW0gcGFyc2Vycy4KCjIwMTEtMDgtMDUgMTE6MjE6MDUgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogbXBlZzogYWRkIHVzZXItZGF0YSBwYWNrZXQgc3RhcnQgY29kZSBkZWZpbml0aW9uLgoKMjAxMS0wOC0wMyAxNzozMTo1NSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtcGVnOiBmaXggUGljdHVyZV9Db2RpbmdfRXh0ZW5zaW9uIHBhcnNlci4KCjIwMTEtMDgtMDIgMTI6Mzc6MDIgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogUG9ydCB0byB0aGUgbmV3IGguMjY0IHBhcnNpbmcgbGlicmFyeQoKMjAxMS0wNy0yOSAxMDo1NjoxNSArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9saWJzL2gyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBBZGQgYW4gaC4yNjQgYml0c3RyZWFtIHBhcnNpbmcgbGlicmFyeQoKMjAxMS0wNi0yMyAxMjo1NDo0MyAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvbXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9tcGVndmlkZW9wYXJzZS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogUG9ydCB0byB0aGUgbmV3IG1wZWcgcGFyc2luZyBsaWJyYXJ5CgoyMDExLTA3LTE5IDEzOjUyOjAxICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWJhZC5wYy5pbjoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogbXBlZzogQWRkIGFuIG1wZWcgdmlkZW8gYml0c3RyZWFtIHBhcnNpbmcgbGlicmFyeQoJICBDcmVhdGUgYSBuZXcgY29kZWNwYXJzZXJzIGxpYnJhcnkKCjIwMTEtMDgtMzAgMTQ6NTA6NDEgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9NYWtlZmlsZS5hbToKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJKiBkb2NzL2xpYnMvY29tcGlsaW5nLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1vdmVycmlkZXMudHh0OgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkgIGRvY3M6IEJ1aWxkIGRvY3VtZW50YXRpb25zIGZvciBsaWJyYXJpZXMKCjIwMTEtMDktMDIgMTU6MDA6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBSZW1vdmUgb2Jzb2xldGUgRklYTUUgY29tbWVudAoKMjAxMS0wOS0wMiAxNDo1NTo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBSZXNldCB0aGUgaW50ZXJuYWwgc3RhdGUgZ29pbmcgdG8vZnJvbSBSRUFEWSBpbnN0ZWFkIG9mIE5VTEwKCSAgVGhpcyB0aGVvcmV0aWNhbGx5IGFsbG93cyByZXVzZSBvZiB0aGUgZWxlbWVudCB3aGVuIHNldHRpbmcgaXQgdG8gUkVBRFkKCSAgaW5zdGVhZCBvZiBOVUxMLgoKMjAxMS0wOS0wMiAxNDo1NDo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBTZXQgcGxheWxpc3QgcGFyc2luZyBoZWxwZXIgb2JqZWN0IHRvIE5VTEwgYWZ0ZXIgZnJlZWluZwoKMjAxMS0wOS0wMSAyMzoxODo1MSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEFsbG93IHVwIHRvIDMgY29uc2VjdXRpdmUgZmFpbGVkIGRvd25sb2FkcyBiZWZvcmUgZXJyb3JpbmcKCSAgSW4gc29tZSBuZXR3b3JrcywgZXNwZWNpYWxsIGluIDNHLCBhIGZyYWdtZW50IGRvd25sb2FkIG9yIHBsYXlsaXN0CgkgIHVwZGF0ZSBtYXkgZmFpbC4gV2UgYWxsb3cgZm9yIHVwIHRvIDMgY29uc2VjdXRpdmUgZmFpbHVyZXMsIHdoaWxlIHVzaW5nCgkgIHRoZSByZmMncyBzcGVjcyBmb3IgcmV0cnkgZGVsYXlzIGJlZm9yZSBjb25zaWRlcmluZyB0aGF0IHRoZXJlIHdhcyBhbgoJICBlcnJvciBvbiB0aGUgc3RyZWFtLgoKMjAxMS0wOS0wMSAyMjo0NjoxOSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHJlbW92ZSB1bnVzZWQgYXJndW1lbnQKCjIwMTEtMDgtMjEgMjA6MTU6MjUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBmaXggZHJvcC1mcmFtZSBwcm9wZXJ0eQoJICBGaXhlcyAjNjU2OTI5LgoKMjAxMS0wOS0wMSAxNTo1Nzo1MCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IEFkZCBhIGZsYWcgdG8gZGlzYWJsZSBpbWFnZSBjb252ZXJzaW9uIGVsZW1lbnRzCgkgIElmIHdlIGtub3cgdGhhdCBvdXIgY2FtZXJhIHNvdXJjZSBlbGVtZW50IHByb2R1Y2VzIGJ1ZmZlcnMgYXQgdGhlIHNhbWUKCSAgcmVzb2x1dGlvbiBhbmQgYXBwcm9wcmlhdGUgY29sb3Vyc3BhY2UgZm9yIHRoZSBvdXRwdXQsIHdlIGRvbid0IG5lZWQgYW55CgkgIG9mIHRoZSBnZW5lcmljIGNvbnZlcnNpb24gZWxlbWVudHMgaW4gZW5jb2RlYmluLiBUaGlzIHJlZHVjZXMgY2FwcwoJICBuZWdvdGlhdGlvbiBvdmVyaGVhZHMgYW1vbmcgb3RoZXIgdGhpbmdzLgoKMjAxMS0wOC0zMSAyMzowNjo1MyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgbW1zOiBmaXggd2FybmluZ3MgcmVsYXRlZCB0byB0aGUgZm9ybWF0IG9uIHRoZSBkZWJ1ZyBsaW5lcy4KCjIwMTEtMDgtMzEgMTM6Mjk6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBNaWNybyBvcHRpbWl6ZSBlbmNvZGViaW4gcGFkcyBsaW5raW5nCgkgIFJlZHVjZSBvbmUgY2hlY2sgaW4gZW5jb2RlYmluIHBhZHMgbGlua2luZyBvbiBjYW1lcmFiaW4yIGJ5CgkgIHVzaW5nIHRoZSBsaW5rX3BhZHNfZnVsbCB2ZXJzaW9uCgoyMDExLTA4LTMxIDEzOjI4OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSAgYmFzZWNhbWVyYWJpbnNyYzogT3B0aW1pemUgcHJldmlldyBwaXBlbGluZSBzdGFydHVwCgkgIFVzZSBnc3RfZWxlbWVudF9saW5rX3BhZHNfZnVsbCB0byBvcHRpbWl6ZSBwcmV2aWV3IHBpcGVsaW5lIHN0YXJ0dXAsCgkgIGxlYWRpbmcgdG8gYSBmYXN0ZXIgY2FtZXJhYmluMiBzdGFydHVwIGFzIHdlbGwuCgoyMDExLTA4LTMxIDE1OjMzOjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogVXNlIGV4cGxpY2l0IGJvb2xlYW4gbGl0ZXJhbHMgdG8gbWFrZSBnb2JqZWN0IGhhcHB5CgkgIGdvYmplY3QgYm9vbGVhbiBwcm9wZXJ0aWVzIGFyZSBzdHJpY3QgYW5kIG9ubHkgYWNjZXB0IDEgb3IgMCwgb3RoZXJ3aXNlCgkgIHRoZXkgdGhyb3cgYW4gYXNzZXJ0aW9uLgoKMjAxMS0wOC0zMSAxNDo0ODo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBKdXN0IGpvaW4gdGhlIHRhc2sKCSAgZ3N0X3Rhc2tfam9pbigpIHdpbGwgYWxyZWFkeSBzdG9wIHRoZSB0YXNrLCBubyBuZWVkCgkgIHRvIHN0b3AgaXQgYWRkaXRpb25hbGx5LgoKMjAxMS0wOC0zMSAxNDo0Nzo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBKb2luIHRoZSB0YXNrIGluc3RlYWQgb2YganVzdCBzdG9wcGluZyBpdCBhbmQgbm90IHdhaXRpbmcgZm9yIGl0IHRvIGZpbmlzaAoJICBGaXhlcyBpbnRlcmVzdGluZyByYWNlIGNvbmRpdGlvbnMgdGhhdCBjYXVzZSBjcmFzaGVzIGluIGRlY29kZWJpbjIKCSAgYmVjYXVzZSBwYWRzIGFyZSBhZGRlZC9yZW1vdmVkIGZyb20gY2hpbGQgZWxlbWVudHMgYWx0aG91Z2ggdGhleQoJICBzaG91bGQgYmUgaW4gUkVBRFkgc3RhdGUgYWxyZWFkeS4KCjIwMTEtMDgtMzEgMTI6MTI6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxMS0wOC0zMSAwMzo0Nzo1MiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHN3aXRjaCB0byBoaWdoZXIvbG93ZXIgYml0cmF0ZSBieSBtb3JlIHRoYW4gb25lIHN0ZXAgYXQgYSB0aW1lCgoyMDExLTA4LTMxIDAzOjIwOjQ4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogcmVtb3ZlIHNwYW1taW5nIEdTVF9MT0dfT0JKRUNUCgoyMDExLTA4LTMxIDAzOjA3OjQ4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogSWYgcGF1c2VkLCBkbyBub3QgY2FjaGUgZnJhZ21lbnRzIHVudGlsIG91dCBvZiBtZW1vcnkgZXJyb3IhCgkgIFdlIHNob3VsZCBzdG9wIHRoZSB1cGRhdGUgdGhyZWFkIGluIFBBVVNFRCBzdGF0ZSBhbmQgYXZvaWQgZmV0Y2hpbmcKCSAgbmV3IGZyYWdtZW50cyB3aGVuIHRoZSBxdWV1ZSBpcyBub3QgZW1wdHkuIFRoZSBxdWV1ZSBzaG91bGQgYWx3YXlzIGJlCgkgIGVtcHR5IHNpbmNlIHdlIHB1c2ggZGF0YSBpbnRvIGEgcXVldWUuIEFsc28sIGluIHRvdGVtLCBpZiB3ZSBzZWVrIGFuZAoJICBwYXVzZSB0aGUgc3RyZWFtIHdoaWxlIGl0J3MgYnVmZmVyaW5nLCB0aGVuIHRoZSBzdGF0ZSB3aWxsIHN0YXkgcGxheWluZwoJICBmb3Igc29tZSByZWFzb24sIHNvIGl0J3MgYmVzdCBub3QgdG8gY29udGludWUgZmV0Y2hpbmcgZnJhZ21lbnRzIGZvcmV2ZXIuCgoyMDExLTA4LTMxIDAzOjAxOjU4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogc3RhcnQvc3RvcCB1cGRhdGUgdGhyZWFkIGFuZCBrZWVwIHRyYWNrIG9mIHN0YXR1cwoKMjAxMS0wOC0zMSAwMjowNTowOCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFBvc3QgZHVyYXRpb24gbWVzc2FnZSB3aGVuIHdlIHBhcnNlIHRoZSBwbGF5bGlzdAoKMjAxMS0wOC0zMSAwMTowODozOSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFNlbmQgYSBmbHVzaC1zdG9wIHdoZW4gc3dpdGNoaW5nIHBhZHMuIEZpeGVzIEEtPkEvViBzeW5jIGlzc3VlLgoJICBUaGlzIGlzIHRvIGVuc3VyZSB0aGF0IHdlIHJlc2V0IHRoZSBhY2N1bXVsYXRlIHNlZ21lbnQgb24gdGhlIHNpbmtzCgkgIHNvIGlmIHdlIHN0YXJ0IHdpdGggYXVkaW8gb25seSB0aGVuIHN3aXRjaCB0byBhdWRpbyt2aWRlbywgdGhlbiBib3RoCgkgIHNpbmtzIHdpbGwgaGF2ZSB0aGUgc2FtZSBzZWdtZW50cyBhbmQgd2lsbCBiZSBzeW5jaHJvbml6ZWQuCgoyMDExLTA4LTI2IDIyOjQ4OjAxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogc2VlbXMgdGhlcmUgd2FzIGEgdHlwbywgZnJlZSB0aGUgYWRhcHRlciBpZiBpdCBjb250YWlucyBkYXRhLCBub3QgaWYgYWxyZWFkeSBlbXB0eQoKMjAxMS0wOC0yNiAyMjo0NzozNSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IG91cHMsIHdlIG5lZWQgdG8gZW1wdHkgdGhlIHF1ZXVlIGFmdGVyIGZyZWVpbmcgaXRzIGNvbnRlbnQKCjIwMTEtMDgtMjYgMjI6NDQ6MDggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBOZWVkIHRvIGZsdXNoIGFsbCBzdHJlYW1zIHdoZW4gd2UgcmVjZWl2ZSBhIGZsdXNoLXN0YXJ0CgoyMDExLTA4LTI2IDIxOjQ2OjA2ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZG8gbm90IGJyb2FkY2FzdCB0aGUgZmV0Y2hlcl9jb25kIG9uIGJ1cyBlcnJvciBpZiB3ZSdyZSBjYW5jZWxsZWQKCSAgSWYgd2UgY2FuY2VsIHRoZSBmZXRjaCBhbmQgY2FsbCB0aGUgc3RvcF9mZXRjaGVyLCB3aGljaCBob2xkcyB0aGUgbG9jaywKCSAgd2hlbiBpdCBzZXRzIHRoZSBmZXRjaGVyJ3Mgc3RhdGUgdG8gTlVMTCwgaXQgbWlnaHQgc2VuZCBhbiBlcnJvcgoJICBvbiB0aGUgYnVzLiBJbiB0aGF0IGNhc2UsIHdlIG11c3QgaWdub3JlIGl0LCBvdGhlcndpc2UgaXQgd2lsbCB0cnkKCSAgdG8gdGFrZSB0aGUgbG9jayBhbmQgd2lsbCBibG9jayBmb3JldmVyLgoKMjAxMS0wOC0yNiAxOToyOTowNiArMDAwMCAgSm9uYXMgTGFyc3NvbiA8Sm9uYXMuTGFyc3NvbkBoaXEuc2U+CgoJKiBnc3QvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IFNwbGl0IHBsYXlzbGlzdCBvbiBcclxuIG5vdCBqdXN0IFxuCgoyMDExLTA4LTI2IDE5OjEwOjU4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG8gbm90IHN1Y2NlZWQgYSBkb3dubG9hZCBpZiB0aGUgZmV0Y2hlciBoYWQgYW4gZXJyb3IKCjIwMTEtMDgtMjYgMTk6MTA6MzkgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBSZW5hbWUgZnVuY3Rpb25zIHRoYXQgbmVlZCB0byBiZSBjYWxsZWQgd2l0aCBhIGxvY2tlZCBtdXRleAoKMjAxMS0wOC0yNiAxOTowOTo1NCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFdlIG11c3Qgc2lnbmFsIHRoZSBmZXRjaGVyX2NvbmQgd2hpbGUgaG9sZGluZyBpdHMgbG9jawoKMjAxMS0wOC0yNiAxNzo1NDo1MSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFdlIGRvIG5vdCBuZWVkIHRvIHNldCB0aGUgY3VycmVudCBwbGF5bGlzdCB0byB0aGUgbWFpbiBvbmUKCSAgV2hlbiBjYWNoaW5nIGZyYWdtZW50cywgaWYgd2Ugc2V0IHRoZSBjdXJyZW50IHBsYXlsaXN0IHRvIG1haW4sIHRoZW4KCSAgaXQgd2lsbCBhbHdheXMgdGhpbmsgaXQncyBhIGxpdmUgc3RyZWFtIChubyBlbmRsaXN0IGluIGl0KSBzbyBpdCB3aWxsCgkgIGZvcmNlIHRoZSByZWRvd25sb2FkIG9mIHRoZSBtYWluIHBsYXlsaXN0IGFmdGVyIGV2ZXJ5IHNlZWssIHdoaWNoIGlzCgkgIHVubmVjZXNzYXJ5LiBBbHNvLCBpdCBjYXVzZXMgYSByYWNlIGNvbmRpdGlvbiB3aGVyZSBhIHNlZWsgbWlnaCBoYXBwZW4KCSAgZHVyaW5nIHRoYXQgcmVkb3dubG9hZCwgYW5kIHdlJ2xsIHRoaW5rIHdlJ3JlIHRyeWluZyB0byBzZWVrIGEgbGl2ZSBwaXBlbGluZS4KCjIwMTEtMDgtMzAgMTc6NDM6MjIgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5oaDoKCSAgc291bmR0b3VjaDogSGFuZGxpbmcgaW5jb21pbmcgcmF0ZSB3aGVuIHJlcXVlc3RlZC4KCSAgQWJzb3JiIGluYm91bmQgc2VnbWVudHMgd2l0aCByYXRlICE9IDEuMCBhbmQgb3V0cHV0IGEgc2VnbWVudCB3aXRoCgkgIHJhdGUgdGFrZW4gZnJvbSB0aGUgbmV3IG91dHB1dC1yYXRlIHByb3BlcnR5LCBhZGp1c3RpbmcgdGhlIHNlZ21lbnQKCSAgYXBwbGllZF9yYXRlLCBzdHJlYW0gZHVyYXRpb24gYW5kIHRpbWVzdGFtcHMgYXMgbmVjZXNzYXJ5IHRvCgkgIGNvbXBlbnNhdGUKCjIwMTEtMDgtMTUgMTc6NTc6NTMgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5jcHA6CgkgIGZpeCB2YWxncmluZCB3YXJuaW5nIGFib3V0IENvbmRpdGlvbmFsIGp1bXAgb3IgbW92ZSBkZXBlbmRzIG9uIHVuaW5pdGlhbGlzZWQgdmFsdWUocykKCjIwMTEtMDgtMTcgMDk6NDI6MDcgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5jcHA6CgkgIE1vdmUgbV9wcHJldkZyYW1lIGZyZWUganVzdCBiZWZvcmUgdGhlIGNsb25lIG9mIHRoZSBsYXRlc3QgZnJhbWUgZm9yIHJlYWRhYmlsaXR5CgoyMDExLTA4LTI2IDA5OjQzOjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogTWFrZSB2aWV3ZmluZGVyJ3MgcXVldWUgYSB0aHJlYWQgbGltaXQgb25seQoJICBSZWR1Y2UgdGhlIHZpZXdmaW5kZXIgcXVldWUgbGltaXRzIHRvIG9ubHkgYWxsb3cgaXQgdG8gc3RvcmUKCSAgb25lIGJ1ZmZlciwgcHJldmVudGluZyB0aGUgcXVldWUgZnJvbSBob2xkaW5nIG9sZCBidWZmZXJzIGZvcgoJICB0b28gbG9uZy4gVGhpcyBhbHNvIGF2b2lkcyBzaG93aW5nIHNsaWdodGx5IG91dGRhdGVkIGZyYW1lcyBvbgoJICB0aGUgdmlld2ZpbmRlciB3aGVuIHRoZSBzb3VyY2UgaGFzIGFscmVhZHkgcHJvZHVjZWQgbmV3IG9uZXMKCSAgYW5kIGltcHJvdmVzIHRoZSBidWZmZXIgcmVjeWNsaW5nIHJhdGUsIGltcG9ydGFudCBmb3Igc291cmNlcwoJICB0aGF0IHVzZSBidWZmZXJwb29scy4KCjIwMTEtMDgtMjUgMTk6NTY6NTggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogZml4IGVsZW1lbnQgbGVhawoJICBhbmQgdGhpcyBjb25jbHVkZXMgYW4gaG91ciBvZiB5ZWxsaW5nIGF0IHRoZSBibG9vZHkgdGVzdCBmYWlsaW5nLAoJICBvbmx5IHRvIHRyYWNrIGRvd24gdGhlIHByb2JsZW0gbm90IGJlaW5nIGluIHRoZSB0ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3MzY4CgoyMDExLTA4LTI2IDAwOjUyOjQ2ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgdHNkZW11eDogSW4gcHVzaCBtb2RlLCBkbyBub3Qgc3RhcnQgcHVsbCBsb29wIGlmIHVwc3RyZWFtIHNlZWsgZmFpbHMKCjIwMTEtMDgtMjYgMDA6NDc6NTMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkbyBub3QgbWFrZSB0aGUgdXBkYXRlX3RocmVhZCBqb2luYWJsZQoKMjAxMS0wOC0yNiAwMDoyNjoyOSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEVuc3VyZSB0aGUgdGFzayBpcyBwYXVzZWQgaW4gY2FzZSBvZiBjYWNoZSBlcnJvcgoKMjAxMS0wOC0yNSAyMzozNzo0NyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHN0b3AgdGhlIHRocmVhZHMgaW4gdGhlIHByb3BlciBvcmRlcgoJICBmaXJzdCBwYXVzZSB0aGUgdGFzaywgdGhlbiBzdG9wIGFsbCBmZXRjaGVycywgdGhlbiBzdG9wIHRoZSB1cGRhdGUgdGhyZWFkCgkgIHRoZW4gcGF1c2UgdGhlIHRhc2sgYWdhaW4sIHNpbmNlIGl0IG1pZ2h0IGhhdmUgYmVlbiByZXN0YXJ0ZWQgYnkKCSAgYW5vdGhlciB0aHJlYWQgaW4gdGhlIG1lYW50aW1lCgoyMDExLTA4LTI1IDIzOjM3OjI1ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZG8gbm90IHBvc3QgYW4gZXJyb3IgaWYgd2Ugc2Vlay9jYW5jZWwgZHVyaW5nIGNhY2hpbmcgb2YgZnJhZ21lbnRzCgoyMDExLTA4LTI1IDIzOjM3OjAwICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogaWYgd2UncmUgY2FuY2VsaW5nIGEgZmV0Y2hlciwgd2UgbXVzdCBzdG9wIGl0cyB0aHJlYWQKCjIwMTEtMDgtMjUgMjM6MzY6MjcgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBsb2NrIHRoZSB1cGRhdGVfdGhyZWFkIG11dGV4IGJlZm9yZSBzdG9wcGluZyBpdAoKMjAxMS0wOC0yNSAyMzozNTo1NSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGxvY2sgdGhlIGZldGNoZXIgbXV0ZXggYmVmb3JlIHN0b3BwaW5nIGl0CgoyMDExLTA4LTI1IDIzOjMzOjEwICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZG8gbm90IGFsbG93IHR3byBmZXRjaGVycyB0byBydW4gc2ltdWx0YW5vdXNseQoKMjAxMS0wOC0yMyAyMDo0OTozMyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFN0b3AgdGhlIHN0cmVhbWluZyB0YXNrIG9uIFBBVVNFRF9UT19SRUFEWSBzdGF0ZSBjaGFuZ2UKCjIwMTEtMDgtMjUgMTk6MjQ6NTYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBtYWtlIGNhbWVyYWJpbjIgdGVzdCBidWlsZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3MzYzCgoyMDExLTA4LTI1IDEyOjQ5OjI2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9yZXNpbmR2ZC9yc253cmFwcGVkYnVmZmVyLmMKCjIwMTEtMDctMTIgMjE6NDg6MzcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZjogQWRkIG1vcmUgZGVidWcKCjIwMTEtMDctMTIgMTk6MDk6MDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mY29tbW9uLmg6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBNYXggZXZlbnQgdHlwZSBpcyAxNQoKMjAxMS0wNC0xNCAxNTo0NjowOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIGR0bWZzcmM6IEFsaWduIERUTUYgc291bmQgYnVmZmVycyB3aXRoIGxhc3Qtc3RvcCBmcm9tIGV2ZW50CgkgIEFsc28gbWFrZSBzdXJlIHRoZSB0aW1lc3RhbXBzIG5ldmVyIGdvIGJhY2t3YXJkcwoKMjAxMS0wNy0xMSAyMTozMTowNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogQ29ycmVjdGx5IHJlY29nbml6ZSB0aGUgZW5kIG9mIGEgYnVmZmVyCgoyMDExLTA3LTExIDIwOjQ3OjIzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBNYWtlIHN1cmUgcnRwZHRtZnNyYyB0aW1lc3RhbXBzIGRvbid0IG92ZXJsYXAKCjIwMTEtMDctMTEgMjA6NDY6MjAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IFB1dCB0aGUgaW50ZXIgZGlnaXQgaW50ZXJ2YWwgYXQgdGhlIGVuZCwgbm90IGF0IHRoZSBzdGFydAoJICBUaGUgcmVhc29uIGlzIHRvIGxldCBydHBkdG1mbXV4IGRyb3AgYnVmZmVycyBkdXJpbmcgdGhlIGludGVyIGRpZ2l0IGludGVydmFsLAoJICB0aGlzIHdheSwgdGhlcmUgd2lsbCBiZSBtb3JlIHNpbGVuY2UgYXJvdW5kIHRoZSBEVE1GIHRvbmVzIHNvIElWRnMgd2lsbCBoYXZlCgkgIGEgYmV0dGVyIGNoYW5jZSByZWNvZ25pemluZyB0aGVtLgoKMjAxMS0wNC0xNCAxNzowODo1NyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIHJ0cGR0bWZzcmM6IFN0YXJ0IGF0IHRoZSBsYXN0X3N0b3AgZnJvbSB0aGUgc3RhcnQgZXZlbnQgaWYgdGhlcmUgd2FzIG9uZQoJICBUaGUgZ29hbCBpcyB0byB0cnkgdG8gbm90IGhhdmUgYSBHQVAgYmV0d2VlbiB0aGUgYXVkaW8gYW5kIHRoZSBEVE1GCgoyMDExLTA0LTE0IDE0OjM0OjI2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSAgcnRwZHRtZm11eDogQWRkIGxhc3Qtc3RvcCB0byBkdG1mLWV2ZW50IHVwc3RyZWFtIGV2ZW50cwoJICBBZGQgdGhlIHJ1bm5pbmcgdGltZSBvZiB0aGUgbGFzdCBvdXRwdXR0ZWQgYnVmZmVyIHRvIHRoZQoJICB1cHN0cmVhbSAiZHRtZi1ldmVudCIgZXZlbnRzIHNvIHRoYXQgdGhlIGR0bWYgc291cmNlIGRvZXMgbm90CgkgIGxlYXZlIGEgZ2FwLgoKMjAxMS0wNC0xNCAxNjo0OTozOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIHJ0cGR0bWZzcmM6IFJlc3BlY3QgcHRpbWUgZnJvbSB0aGUgY2FwcwoJICBSZXNwZWN0IHRoZSBwdGltZSBmcm9tIHRoZSBjYXBzIGZvciB0aGUgRFRNRiBwYWNrZXRzCgoyMDExLTA3LTExIDIxOjMwOjI4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBKdXN0IGVycm9yIG91dCBpZiB0aGVyZSBpcyBubyBjbG9jawoKMjAxMS0wOC0yNCAxNjo1Mzo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlOiBtYWtlIGdzdF9rYXRlX3V0aWxfaXNfdXRmOF9zdHJpbmcoKSBpbmxpbmUgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmcgd2l0aCBvbGRlciBsaWJrYXRlIHZlcnNpb25zCgkgIGdzdGthdGV1dGlsLmM6MjMwOjE6IGVycm9yOiAnZ3N0X2thdGVfdXRpbF9pc191dGY4X3N0cmluZycgZGVmaW5lZCBidXQgbm90IHVzZWQKCjIwMTEtMDgtMjQgMTU6MzI6MTIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3JzbndyYXBwZWRidWZmZXIuYzoKCSAgcnNuZHZkOiBlbnN1cmUgbWV0YWRhdGEgaXMgd3JpdGFibGUgd2hlbiB3cml0aW5nIHRvIGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTcyNTAKCjIwMTEtMDgtMjQgMDk6MzU6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogVXNlIEZBTFNFIGluc3RlYWQgb2YgMCBmb3IgYm9vbCBwYXJhbWV0ZXIKCjIwMTEtMDgtMjMgMjI6NDQ6MTcgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBOZWVkIHRvIHNlbmQgYSBuZXdzZWdtZW50IGFmdGVyIGEgc2VlawoKMjAxMS0wOC0yMyAyMjozODoyNiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFNlbmQgYnVmZmVyaW5nIG1lc3NhZ2VzIG9uIHRoZSBidXMKCjIwMTEtMDgtMjMgMjI6Mzg6MDUgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBjYWNoZSB0aGUgbnVtYmVyIG9mIGZyYWdtZW50cyB3ZSBhcmUgcmVxdWlyZWQgdG8gY2FjaGUKCjIwMTEtMDgtMjMgMjI6NDA6MjUgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBGb3J3YXJkIHNlZWsvZHVyYXRpb24gcXVlcnkvZXZlbnQgdG8gdGhlIHNpbmtwYWQKCjIwMTEtMDgtMjQgMDE6MDM6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBPcHRpbWl6ZSBzdGFydCB1cCBhIGxpdHRsZSBieSByZW1vdmluZyBzb21lIHBhZCBjaGVja3MKCSAgU29tZSBwYWQgY2hlY2tzIGFyZSBndWFyYW50ZWVkIHRvIHdvcmssIHNvIHdlIGNhbiBkaXNhYmxlIHRoZW0KCSAgYnkgdXNpbmcgZ3N0X2VsZW1lbnRfbGlua19wYWRzX2Z1bGwKCjIwMTEtMDgtMjMgMTk6MjY6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICBjYW1lcmFiaW4yOiBSZW1vdmUgZnJvbSBleHBlcmltZW50YWwKCSAgUmVtb3ZlIGNhbWVyYWJpbjIgZnJvbSBleHBlcmltZW50YWwsIGFsbG93aW5nIGl0IHRvIGJlIGJ1aWx0CgkgIHdpdGhvdXQgbmVlZGluZyB0byBwYXNzIC0tZW5hYmxlLWV4cGVyaW1lbnRhbCBvbiBjb25maWd1cmUuCgoyMDExLTA4LTIzIDE5OjEzOjIxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWx3YXlzIHNldCBlbmNvZGViaW4gZmxhZ3Mgd2hlbiBnb2luZyB0byByZWFkeQoJICBXaGVuIGdvaW5nIGZyb20gTlVMTCB0byBSRUFEWSB3ZSB3YW50IHRoZSBlbmNvZGViaW4gZmxhZ3MgdG8gYmUKCSAgc2V0LCBhbmQgbm90IG9ubHkgYWZ0ZXIgY3JlYXRpbmcgZW5jb2RlYmluIChvbiB0aGUgZmlyc3QgcnVuKQoKMjAxMS0wOC0yMyAxMTo1ODozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogQWRkIG5ldyBlbnRyeSB0byBmbGFncyBwcm9wZXJ0eQoJICBBZGRzIGEgbmV3IGVudHJ5IHRvIGNhbWVyYWJpbjIgZmxhZ3MgdG8gZGlzYWJsZSB2aWV3ZmluZGVyCgkgIGNvbnZlcnNpb24gZWxlbWVudHMuCgoyMDExLTA4LTIzIDExOjE5OjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5oOgoJICBjYW1lcmFiaW4yOiB2aWV3ZmluZGVyYmluOiBBZGQgcHJvcGVydHkgZm9yIGRpc2FibGluZyBjb252ZXJ0ZXJzCgkgIEFkZHMgYSBuZXcgcHJvcGVydHkgdG8gZGlzYWJsZSBjb252ZXJ0ZXJzIGVsZW1lbnRzIGZvciBwZXJmb3JtYW5jZQoJICByZWFzb25zLiBJdCBzaG91bGQgb25seSBiZSB1c2VkIGlmIHRoZSBhcHBsaWNhdGlvbiBrbm93cyB0aGV5IGFyZW4ndAoJICBuZWVkZWQuCgoyMDExLTA4LTE5IDE3OjI4OjU0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGRvIG5vdCB0cnkgdG8gY29tcGFyZSBhIFBDUiB3aXRoIGl0c2VsZiBmb3Igc3RhdGlzdGljcwoJICBFc3BlY2lhbGx5IGFzIG9uZSBvZiB0aGUgbG9ncyB3aWxsIGNhdXNlIGEgZGl2aWRlIGJ5IHplcm8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTY5MjcKCjIwMTEtMDgtMTkgMTM6MzI6MTQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZG8gbm90IGtlZXAgYSBkYW5nbGluZyBwb2ludGVyCgkgIFdoZW4gcmVtb3ZpbmcgdGhlIGN1cnJlbnQgcHJvZ3JhbSwgaXQgd2lsbCBnZXQgZnJlZWQgYnkgdGhlCgkgIGhhc2ggdGFibGUgcmVtb3ZhbCBjYWxsYmFjaywgc28gZW5zdXJlIHdlIGNsZWFyIG91ciBwb2ludGVyCgkgIHRvIGl0LgoJICBGaXhlcyBhIGNyYXNoIGxhdGVyIG9uIGluIGdzdF90c19kZW11eF9wdXNoIHRyeWluZyB0byBhY2Nlc3MgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTY5MjcKCjIwMTEtMDgtMjEgMjA6MzY6MDcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlOiBwYXNzIG9uIHRpbWVkIGV2ZW50IG1ldGFkYXRhIGFzIHRhZ3Mgd2hlbiB3ZSBjYW4KCSAgTWV0YWRhdGEgYXR0YWNoZWQgdG8gb3RoZXIgb2JqZWN0cyB0aGF0IG1heSBiZSB1c2VkIGluIHRoaXMKCSAgZXZlbnQgYXJlIG5vdCBwYXNzZWQsIGFzIGlzIGJpbmFyeSBtZXRhZGF0YS4KCjIwMTEtMDgtMjMgMTA6MzI6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEFkZCBBQ19NU0dfQ0hFQ0tJTkcoKSB0byB0aGUgVlA4RV9TRVRfVFVOSU5HIHByZXNlbmNlIGNoZWNrCgoyMDExLTA4LTE5IDE5OjE3OjE1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgdnA4OiBwcm9iZSBmb3IgdGhlIG5ldyB0dW5pbmcgQVBJIHRvIGtlZXAgYnVpbGRpbmcgd2l0aCBvbGRlciBsaWJ2cHgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjkyOAoKMjAxMS0wOC0xOCAxMzoyMToxOCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuaDoKCSAgcnN2Z2RlYzogdXNlIGlucHV0IGJ1ZmZlciB0aW1pbmdzIGlmIHBvc3NpYmxlCgkgIFNWRyBkYXRhIG1heSBjb21lIHRocm91Z2ggbXVsdGlwbGUgYnVmZmVycywgc28ga2VlcCB0cmFjayBvZiB0aGUKCSAgdGltZXN0YW1wIG9mIHRoZSBmaXJzdCBidWZmZXIsIGFuZCB1c2UgaXQgaW4gcHJlZmVyZW5jZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyODI4NAoKMjAxMS0wOC0yMiAxNzoxMDoyNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkgIGthdGU6IGRvIG5vdCBjb25zaWRlciBhbiBlbXB0eSBTUFUgdG8gYmUgYSBmYXRhbCBlcnJvcgoJICBJbnN0ZWFkLCBqdXN0IGVuY29kZSBub3RoaW5nIGFuZCBnbyBvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NzA5MQoKMjAxMS0wOC0yMiAxNzoxNToxMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkgIGthdGU6IGRvIG5vdCBjbGVhciBvdXQgaGlnaCBiaXRzIGZyb20gZGlzcGxheSBhcmVhCgkgIGh0dHA6Ly9kdmQuc291cmNlZm9yZ2UubmV0L3NwdV9ub3RlcyBkb2VzIG5vdCBtZW50aW9uIHRoYXQgaGlnaCBiaXRzCgkgIGFyZSB0byBiZSBtYXNrZWQsIGFuZCBub3QgY2xlYXJpbmcgdGhlbSBtYWtlcyBhIHNhbXBsZSB3b3JrLCB3aGVyZQoJICBjbGVhcmluZyB0aGVtIHlpZWxkZWQgbGVmdCA+IHJpZ2h0LgoJICBIaXN0b3J5IGZyb20gdGhlIGR2ZHNwdSBwbHVnaW4sIGZyb20gd2hlcmUgdGhpcyBjb2RlIHdhcyBjb3BpZWQsCgkgIGRvZXMgbm90IHNoZWQgYW55IGxpZ2h0LCBhcyB0cmFjaW5nIHRoaXMgY29kZSdzIG9yaWdpbiBzaG93cwoJICB0aGUgc2FtZSBiaXRtYXNrcyBiZWluZyB0aGVyZSBpbiAyMDA3IHdoZW4gaXQgd2FzIGltcG9ydGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3MDkxCgoyMDExLTA4LTIyIDE2OjUyOjEzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5jOgoJICBkdmRzcHU6IGRvIG5vdCBjbGVhciBvdXQgaGlnaCBiaXRzIGZyb20gZGlzcGxheSBhcmVhCgkgIGh0dHA6Ly9kdmQuc291cmNlZm9yZ2UubmV0L3NwdV9ub3RlcyBkb2VzIG5vdCBtZW50aW9uIHRoYXQgaGlnaCBiaXRzCgkgIGFyZSB0byBiZSBtYXNrZWQsIGFuZCBub3QgY2xlYXJpbmcgdGhlbSBtYWtlcyBhIHNhbXBsZSB3b3JrLCB3aGVyZQoJICBjbGVhcmluZyB0aGVtIHlpZWxkZWQgbGVmdCA+IHJpZ2h0LgoJICBIaXN0b3J5IGRvZXMgbm90IHNoZWQgYW55IGxpZ2h0LCBhcyB0cmFjaW5nIHRoaXMgY29kZSdzIG9yaWdpbiBzaG93cwoJICB0aGUgc2FtZSBiaXRtYXNrcyBiZWluZyB0aGVyZSBpbiAyMDA3IHdoZW4gaXQgd2FzIGltcG9ydGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIwMTE5CgoyMDExLTA4LTIzIDA5OjUyOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IEZpcnN0IHRyeSBpZiB1cHN0cmVhbSBoYW5kbGVzIHNlZWtpbmcgaW4gVElNRSBmb3JtYXQgYmVmb3JlIHNlZWtpbmcgaW4gdGhlIGRlbXV4ZXIKCjIwMTEtMDgtMjMgMDk6NDA6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRmlyc3Qgc2VuZCBTRUVLSU5HIHF1ZXJpZXMgdXBzdHJlYW0KCjIwMTEtMDgtMjMgMDk6Mjc6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogU2VuZCBEVVJBVElPTiBxdWVyeSB1cHN0cmVhbSBmaXJzdAoKMjAxMS0wOC0yMyAwOToyMzozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBVc2UgRkFMU0UgaW5zdGVhZCBvZiAwIGZvciBhIGJvb2wgcGFyYW1ldGVyCgoyMDExLTA4LTE2IDE5OjUzOjMxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogc3dpdGNoIHBhZHMgd2hlbiB3ZSBzZWVrIChuZWVkX3NlZ21lbnQpIHNpbmNlIHRzZGVtdXggZG9lc24ndCBjb3BlIHdlbGwgd2l0aCBhIHJlc2V0CgoyMDExLTA4LTIzIDAyOjM2OjI1ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogQWRkIGEgRklYTUUgY29tbWVudC4gbG9vcCB0YXNrIHNob3VsZCBiZSBhIHBhZCB0YXNrCgoyMDExLTA4LTIyIDIzOjQxOjM5ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG8gbm90IHNlZWsgaW4gYSBsaXZlIHN0cmVhbQoKMjAxMS0wOC0yMiAyMzo0MTozMSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERvIG5vdCB0YWtlIHRoZSBwYWQgc3RyZWFtIGxvY2ssIHVzZSB0aGUgdGFzaydzIGxvY2sgaW5zdGVhZAoKMjAxMS0wOC0xNiAxOTo0Njo0OSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogSW1wbGVtZW50IEVWRU5UX1NFRUsKCjIwMTEtMDgtMjMgMDE6NTQ6MjYgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBJbXBsZW1lbnQgdGhlIEdTVF9RVUVSWV9TRUVLSU5HIHByb3Blcmx5CgoyMDExLTA4LTIzIDAxOjU0OjAzICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogSW1wbGVtZW50IGNvcnJlY3RseSB0aGUgR1NUX1FVRVJZX0RVUkFUSU9OCgoyMDExLTA4LTE2IDE5OjQxOjA4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG8gbm90IHVzZSBHU1RfVEFTS19XQUlUIGluIHRoZSB0YXNrIGZ1bmN0aW9uCgkgIFRoZSB0YXNrIGZ1bmN0aW9uIHVzZXMgR1NUX1RBU0tfV0FJVCB3aGljaCBkb2VzIGEgZ19jb25kX3dhaXQgZ2l2aW5nIGl0CgkgIHRoZSBHU1RfT0JKRUNUX0dFVF9MT0NLIG9mIHRoZSB0YXNrLiBUaGUgbXV0ZXggZ2V0cyBsb2NrZWQgd2hlbgoJICBnX2NvbmRfd2FpdCByZXR1cm5zLCBzbyBpZiB3ZSBkb24ndCBsb2NrL3VubG9jayBpdCwgaXQgd2lsbAoJICBzdGF5IGxvY2tlZCBmb3JldmVyLCBwcmV2ZW50aW5nIHRoZSB0YXNrIGZyb20gZXZlciBmaW5pc2hpbmcuCgkgIFdlIHNob3VsZG4ndCBsb2NrIHRoZSB0YXNrIG9iamVjdCBsb2NrLCBzbyBsZXQncyByZW1vdmUgdGhlIEdTVF9UQVNLX1dBSVQKCSAgYW5kIG1ha2UgdGhlIHRhc2sgcGF1c2UgaW5zdGVhZCBpZiB0aGVyZSBhcmUgbm8gYnVmZmVycyBpbiB0aGUgcXVldWUuCgoyMDExLTA4LTE4IDIzOjUyOjM3ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZG8gbm90IHNlbmQgYSBuZXctc2VnbWVudCBvbiBzdHJlYW0gcmVtb3ZhbAoJICBXaGVuIGEgcHJvZ3JhbSBpcyBjaGFuZ2VkLCBzdHJlYW1fYWRkZWQgaXMgY2FsbGVkIHdoaWNoIHNldHMgdGhlCgkgIG5lZWRfbmV3c2VnbWVudCB0byBUUlVFLCB0aGVuIHN0cmVhbV9yZW1vdmVkIGlzIGNhbGxlZCwgd2hpY2ggY2FsbHMKCSAgdGhlIGZsdXNoX3BlbmRpbmdfZGF0YSwgd2hpY2ggY2hlY2tzIGZvciB0aGUgbmV3c2VnbWVudCBhbmQgY2F1c2VzCgkgIGl0IHRvIHNlbmQgYSBuZXctc2VnbWVudC4KCSAgV2UgbXVzdCBub3Qgc2VuZCB0aGUgbmV3c2VnbWVudCB3aGVuIGZsdXNoaW5nIHRoZSBwZW5kaW5nIGRhdGEgb24gdGhlCgkgIHJlbW92ZWQgc3RyZWFtLiBXZSBzaG91bGQgb25seSBwdXNoIGl0IHdoZW4gZmx1c2hpbmcgZGF0YSBvbiB0aGUgbmV3bHkKCSAgYWRkZWQgc3RyZWFtcyAoYWZ0ZXIgdGhleSBmaW5pc2ggcGFyc2luZyB0aGVpciBQVFMgaGVhZGVyKQoKMjAxMS0wOC0xNiAyMjowNToxNCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEZpeCBuZXdzZWdtZW50IHdoZW4gc3dpdGNoaW5nIHByb2dyYW1zCgkgIElmIGEgcHJvZ3JhbS9zdHJlYW0gaXMgY2hhbmdlZCwgdGhlbiBhIG5ld3NlZ21lbnQgaXMgc2VudCB3aGljaCBtdXN0CgkgIG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYmFzZSBzZWdtZW50IHNpbmNlIGl0IGhhcHBlbnMgbGF0ZXIuIFdlIG11c3QKCSAgc2hpZnQgdGhlIHN0YXJ0IHBvc2l0aW9uIGJ5IHRoZSB0aW1lIGVsYXBzZWQgc2luY2UgdGhlIG5ld3NlZ21lbnQKCSAgYW5kIHRoZSBjdXJyZW50IFBUUyBvZiB0aGUgc3RyZWFtCgoyMDExLTA4LTE2IDE5OjU0OjA0ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogaW50ZXJwb2xhdGUgZ2FwIGFuZCBmaXggdGltZXN0YW1wcyBkZXBlbmRpbmcgb24gdXBzdHJlYW0gc2VnbWVudAoKMjAxMS0wOC0xOCAyMzo1NDo1OSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogS2VlcCBhIHNlcGFyYXRlIHZhcmlhYmxlIGZvciB0aGUgY3VycmVudCB2YXJpYW50IHVzZWQKCSAgQnkgdXNpbmcgYSBzZXBhcmF0ZSB2YXJpYWJsZSwgZmlyc3QgaXQgYWxsb3dzIHVzIHRvIHNvcnQgdGhlIGxpc3RzCgkgIG9mIGFsdGVybmF0ZXMgYnV0IGtlZXAgdGhlIHBvaW50ZXIgb24gdGhlIGZpcnN0IG9jY3VyZW5jZSBpbiB0aGUgbWFpbgoJICBwbGF5bGlzdCAodG8gcmVzcGVjdCB0aGUgc3BlYyBvZiBzdGFydGluZyB3aXRoIHRoZSBiaXRyYXRlIHNwZWNpZmllZAoJICBmaXJzdCBpbiB0aGUgbWFpbiBwbGF5bGlzdCkuIEl0IGFsc28gYXZvaWQgcGxheWluZyB3aXRoIHRoZSBsaXN0cyB2YXJpYWJsZQoJICB3aGljaCBzaG91bGQgYmUgdXNlZCB0byBzdG9yZSB0aGUgbGlzdCBvZiBwbGF5bGlzdHMgYW5kIG5vdCBhcyBhIHBvaW50ZXIKCSAgdG8gdGhlIGN1cnJlbnQgb25lLgoJICBBbHNvIGZpeGVzIGEgbWVtbGVhayB3aXRoIHRoZSBnX2xpc3RfZm9yZWFjaCBmcmVlaW5nIHRoZSBsaXN0cywgaWYgaXQgd2Fzbid0CgkgIHBvaW50aW5nIHRvIHRoZSBmaXJzdCBlbGVtZW50IG9mIHRoZSBsaXN0LgoKMjAxMS0wOC0yMSAxODo0NDo0MyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGluazogZml4IGNvbXBpbGF0aW9uIG9uIExpbnV4CgoyMDExLTA4LTE4IDE0OjI5OjUzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGluazogQWRkIHN1YmRldmljZSBwcm9wZXJ0eQoKMjAxMS0wNy0wNyAxNjo0NDozMSAtMDQwMCAgSm9zaHVhIE0uIERvZSA8b3NzQG52bC5hcm15Lm1pbD4KCgkqIHN5cy9kZWNrbGluay9EZWNrTGlua0FQSS5oOgoJKiBzeXMvZGVja2xpbmsvRGVja0xpbmtBUElEaXNwYXRjaC5jcHA6CgkqIHN5cy9kZWNrbGluay9MaW51eENPTS5oOgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSogc3lzL2RlY2tsaW5rL2xpbnV4L0RlY2tMaW5rQVBJLmg6CgkqIHN5cy9kZWNrbGluay9saW51eC9EZWNrTGlua0FQSURpc3BhdGNoLmNwcDoKCSogc3lzL2RlY2tsaW5rL2xpbnV4L0xpbnV4Q09NLmg6CgkqIHN5cy9kZWNrbGluay93aW4vRGVja0xpbmtBUEkuaDoKCSogc3lzL2RlY2tsaW5rL3dpbi9EZWNrTGlua0FQSURpc3BhdGNoLmNwcDoKCSogc3lzL2RlY2tsaW5rL3dpbi9EZWNrTGlua0FQSV9pLmM6CgkgIGRlY2tsaW5rOiBhZGQgc3VwcG9ydCBmb3IgV2luZG93cwoJICBCdWlsZHMgd2l0aCBNU1ZDLCBub3QgdGVzdGVkIGluIE1pbkdXIG9yIGFueXRoaW5nIGVsc2UuIEFkZGVkCgkgIENPTSBoYW5kbGluZyBjb2RlLCBib3Jyb3dlZCBmcm9tIGRzaG93dmlkZW9zaW5rLiBNb3ZlZCBMaW51eAoJICBzcGVjaWZpYyBmaWxlcyB0byAuL2xpbnV4IGFuZCBhZGRlZCBXaW5kb3dzIHNwZWNpZmljIGZpbGVzIHRvCgkgIC4vd2luIChnZW5lcmF0ZWQgZnJvbSBJREwgZmlsZXMgaW4gVlM5KS4gQWRkZWQgbWFjcm9zIHRvIGhhbmRsZQoJICBCU1RSIGFuZCBkZWZpbmVkIGJvb2wgYXMgQk9PTC4gIEZpeGVzICM2NTUzNjIuCgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNy0wNyAxNDozNDowMSAtMDQwMCAgSm9zaHVhIE0uIERvZSA8b3NzQG52bC5hcm15Lm1pbD4KCgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rOiBpbXByb3ZlIGZyYW1lIGhhbmRsaW5nCgkgIFNlbmQgTkVXU0VHTUVOVCBvbiBzdGFydC4gU2VuZCB3YXJuaW5nIGluc3RlYWQgb2YgZXJyb3Igb24KCSAgZHJvcHBlZCBmcmFtZXMuCgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNy0wNyAxNDoyMDozNyAtMDQwMCAgSm9zaHVhIE0uIERvZSA8b3NzQG52bC5hcm15Lm1pbD4KCgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rOiBmaXggZGVidWdnaW5nIGluIGNhcHR1cmUuY3BwIGJ5IG1ha2luZyBjYXRlZ29yeSBleHRlcm4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA3LTA3IDE0OjEzOjAwIC0wNDAwICBKb3NodWEgTS4gRG9lIDxvc3NAbnZsLmFybXkubWlsPgoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5oOgoJICBkZWNrbGluazogdXNlIG11dGV4ZXMgZnJvbSBnbGliIGluc3RlYWQgb2YgcHRocmVhZAoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDYtMTYgMTc6MTk6NDkgLTAzMDAgIFRpYWdvIEPDqXNhciBLYXRjaXBpcyA8dGlhZ29rYXRjaXBpc0BnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL01ha2VmaWxlLmFtOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS9nc3RyZW1vdmVzaWxlbmNlLmM6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL2dzdHJlbW92ZXNpbGVuY2UuaDoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvdmFkX3ByaXZhdGUuYzoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvdmFkX3ByaXZhdGUuaDoKCSAgcmVtb3Zlc2lsZW5jZTogbmV3IHBsdWdpbgoJICBGaXhlczogIzU5NzgyMi4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA4LTIxIDE0OjQxOjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBQcmV2ZW50IGF1ZGlvc3JjIGZyb20gc2VuZGluZyB1bmRlc2lyZWQgZW9zCgkgIEJhc2VzcmMgZGVyaXZlZCBjbGFzc2VzIHNlbmQgYW4gZW9zIHdoZW4gdGhleSBjaGFuZ2Ugc3RhdGUKCSAgZnJvbSBwYXVzZWQgdG8gcmVhZHkgYW5kIHRoYXQgYnJlYWtzIHZpZGVvIHJlY29yZGluZ3Mgb24gY2FtZXJhYmluMgoJICBhcyBpdCBtYWtlcyB0aGUgd2hvbGUgYXVkaW8gYnJhbmNoIHBhZHMgZmx1c2hpbmcuCgkgIFByZXZlbnQgaXQgYnkgdXNpbmcgYSBwYWQgcHJvYmUgdGhhdCBvbmx5IGFsbG93cyB0aGUgZW9zIHRvIHBhc3MKCSAgd2hlbiBpdCBpcyBjYXVzZWQgYnkgYSBzdG9wLWNhcHR1cmUgYWN0aW9uLgoKMjAxMS0wOC0yMSAxNDowNzozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBVc2UgYXVkaW90ZXN0c3JjIG9uIHRlc3RzCgkgIFVzZSBhdWRpb3Rlc3RzcmMgb24gdGVzdHMgaW5zdGVhZCBvZiB1c2luZyB0aGUgc3lzdGVtJ3MgZGVmYXVsdAoJICBhdWRpb3NyYywgYXZvaWRpbmcgYW55IHByb2JsZW1zIHRoYXQgYSBsb2NhbCBhdWRpbyBzZXR1cCBtaWdodAoJICBoYXZlLgoKMjAxMS0wOC0xOCAxODoyNzowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFVzZSBnc3RfcGFkX3NlbmRfZXZlbnQgaW5zdGVhZCBvZiBldmVudGZ1bmMgbWFjcm8KCjIwMTEtMDgtMTQgMDQ6NDE6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogSW1wcm92aW5nIHRlc3RzCgkgIEFkZGluZyBzb21lIGFkZGl0aW9uYWwgY2hlY2tzIGZvciBjdXN0b20gY2FtZXJhYmluMiBtZXNzYWdlcwoJICBBbHNvIGltcHJvdmVzIHJlbGlhYmlsaXR5IG9mIHRoZSB0ZXN0cyBieSB3YWl0aW5nIGZvciB0aGUgcHJldmlldy1idWZmZXIgbWVzc2FnZS4KCSAgVGhpcyBtZXNzYWdlIGlzIGdlbmVyYXRlZCBmcm9tIHRoZSBwcmV2aWV3IHBpcGVsaW5lLCBhbmQgbWlnaHQgYXJyaXZlIGxhdGVyIHRoYW4gdGhlCgkgIGltYWdlL3ZpZGVvLWRvbmUgZnJvbSB0aGUgbWFpbiBjYW1lcmFiaW4yIHBpcGVsaW5lLCB0aGUgdGVzdHMgbmVlZCB0byB3YWl0IGZvciBpdCBldmVuCgkgIGFmdGVyIGdldHRpbmcgdGhlIGltYWdlL3ZpZGVvLWRvbmUuCgoyMDExLTA4LTE4IDE1OjEyOjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQXZvaWQgYXNzZXJ0aW9ucyB3aGVuIHBsdWdpbiBjcmVhdGlvbiBmYWlscwoJICBDYXBzZmlsdGVycyBhcmUgY3JlYXRlZCBvbiB0aGUgY29uc3RydWN0b3IgYW5kIHRoZWlyIHByb3BlcnRpZXMgY2FuCgkgIGJlIHNldC9nZXQgZnJvbSBjYW1lcmFiaW4yJ3Mgc2V0L2dldF9wcm9wZXJ0eSBmdW5jdGlvbnMuIFRoZSB1c2VyIHdpdGgKCSAgYSBicm9rZW4gc2V0dXAgd291bGQgY2F1c2UgYXNzZXJ0aW9ucyB3aGVuIHRyeWluZyB0byBzZXQvZ2V0IHRoZQoJICBjYXB0dXJlIGNhcHMgb2YgdGhpcyBjYW1lcmFiaW4yLgoJICBBIHByb3BlciBtaXNzaW5nLXBsdWdpbiBtZXNzYWdlIHdpbGwgYmUgcG9zdGVkIHdoZW4gdGhlIHVzZXIgdHJpZXMgdG8KCSAgc2V0IGNhbWVyYWJpbjIgdG8gUkVBRFkgc3RhdGUuCgoyMDExLTA4LTIwIDAwOjQ4OjIwICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIHRzbXV4OiByZW1vdmUgdW5uZWNlc3NhcnkgY2hlY2sKCSAgcmVtb3ZlIGFuIGlmIChiZXN0KSBjaGVjayB3aGVyZSBiZXN0ICE9IE5VTEwgaGFzIGFscmVhZHkgYmVlbiBjaGVja2VkCgoyMDExLTA4LTE2IDE5OjUxOjM0ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgdHNiYXNlOiByZWluaXRpYXRlIHNlZ21lbnQgYXQgZmx1c2gtc3RvcCBldmVudCBvbmx5CgoyMDExLTA4LTE2IDE5OjQzOjA4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBTZXQgYnVmZmVyIHRpbWVzdGFtcCBzaW5jZSB3ZSBzZW5kIGEgVElNRSBzZWdtZW50CgoyMDExLTA4LTAyIDE5OjIxOjQ3ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogQWxsb3cgYmFuZHdpZHRoIHN3aXRjaGluZyBkdXJpbmcgY2FjaGluZyBvZiBmcmFnbWVudHMKCjIwMTEtMDgtMDIgMTk6MjE6MTggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBzZXQgdGhlIHBhZCdzIGNhcHMgYmVmb3JlIGFkZGluZyBpdAoKMjAxMS0wOC0xNyAxMTowMjoxMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb2ZhL2dzdG9mYS5jOgoJICBvZmE6IGZpbmdlcnByaW50IGNyZWF0aW9uIGNhbiBmYWlsCgkgIFRoZXJlIGRvZXMgbm90IHNlZW0gdG8gYmUgYSB3YXkgdG8gcmV0cmlldmUgaW5mb3JtYXRpb24KCSAgYWJvdXQgd2h5IGZhaWx1cmUgb2NjdXJlZCwgdW5mb3J0dW5hdGVseS4KCSAgV2hlbiBmYWlsdXJlIG9jY3VycywgZG8gbm90IHBvc3QgYSBOVUxMIGZpbmdlcnByaW50IHRhZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjY0MQoKMjAxMS0wOC0xNyAxMDo1NTo1OSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb2ZhL2dzdG9mYS5jOgoJICBvZmE6IGNsZWFudXAKCSAgQXZvaWQgcmVwZWF0aW5nIGNhc3RpbmcgdG8gR3N0QXVkaW9GaWx0ZXIgd2hlbiBvbmUgd2lsbCBkbwoJICBVc2Ugb2JqZWN0IHJlbGF0ZWQgbG9nZ2luZyB0byBtYWtlIGl0IGVhc2llciB0byBnZXQganVzdCB0aGUgbG9ncyB3ZSB3YW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTY2NDEKCjIwMTEtMDgtMTcgMTE6MDc6NTQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29mYS9nc3RvZmEuYzoKCSAgb2ZhOiBkbyBub3QgY3JlYXRlIGZpbmdlcnByaW50IG9uIEVPUyBpZiByZWNvcmQgaXMgRkFMU0UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjY0MQoKMjAxMS0wOC0xOCAxMDozOToyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFJlbW92ZSB1bnVzZWQgYW5kIHVzZWxlc3MgdmFyaWFibGUgaW4gdGFncyBoYW5kbGluZwoKMjAxMS0wOC0xOCAwODowMjo1MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlbzogRml4IGxvY2tpbmcsIGVzcGVjaWFsbHkgaWYgYm90aCBwYWRzIGhhdmUgZGlmZmVyZW50IHN0cmVhbWluZyB0aHJlYWRzCgoyMDExLTA4LTE4IDA3OjQyOjAyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlbzogRG9uJ3QgY2FsbCBnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQoKSBpbiBjbGFzc19pbml0CgkgIFRoaXMgaXMgYWxyZWFkeSBkb25lIGJ5IHRoZSBHT2JqZWN0IGJvaWxlcnBsYXRlIG1hY3JvCgoyMDExLTA4LTE3IDE5OjAxOjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wOC0xNiAxMDoyNDozNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkqIGdzdC9haWZmL2FpZmZtdXguaDoKCSAgYWlmZm11eDogZHJvcCBkYXRhIGFmdGVyIDRpc2ggR0IgYW5kIG1vYW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDI3OAoKMjAxMS0wOC0xNiAxMDowMjo1OSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkgIGFpZmZtdXg6IHVzZSBndWludDMyIGZvciBndWludDMyIHBhcmFtZXRlcnMKCSAgVGhpcyBtYWtlcyBleHBsaWNpdCB0aGF0IHRoZSByYW5nZSBpcyBsaW1pdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0Mjc4CgoyMDExLTA4LTE2IDEwOjAyOjExICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSAgYWlmZm11eDogYXZvaWQgaW50ZWdlciBvdmVyZmxvdwoJICBUaGVzZSB2YWx1ZXMgYXJlIDMyIGJpdHMsIGFuZCB3aWR0aCBpcyBhIG11bHRpcGxlIG9mIDguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQyNzgKCjIwMTEtMDgtMTYgMTk6Mzk6NDAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJICBjZWx0ZGVjOiBtYWtlIHRoaXMgY29tcGlsZSB3aXRoIGdpdCBsaWJjZWx0CgkgIGNlbHRfbW9kZV9pbmZvIHdhcyByZW1vdmVkLCBpbiBmYXZvciBvZiBhIF9jdGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTY2ODYKCjIwMTEtMDgtMTYgMTg6MzQ6NTkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29mYS9nc3RvZmEuYzoKCSAgb2ZhOiBkb24ndCBjcmFzaCB3aGVuIHRoZXJlJ3Mgbm8gZGF0YSB0byBjcmVhdGUgYSBmaW5nZXJwcmludCBmcm9tCgkgIEZpeGVzIGEgY3Jhc2ggd2hlbiBubyBkYXRhIGZsb3dlZCB0aHJvdWdoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2NjQxCgoyMDExLTA4LTE2IDE5OjQ3OjAyICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0cGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBVc2UgZ3N0X2JpdF9yZWFkZXJfc2tpcCB0byBza2lwIG1vcmUgdGhhbiAzMiBiaXRzLgoJICBHRVRfQklUUyBpcyBhIG1hY3JvIGZvciBnc3RfYml0X3JlYWRlcl9nZXRfYml0c191aW50MzIsIHdoaWNoIGNhbm5vdAoJICByZWFkIG1vcmUgdGhhbiAzMiBiaXRzIGFuZCB3aWxsIGZhaWwgaW4gdGhpcyBjYXNlIHdoZXJlIGl0IGlzIGNhbGxlZAoJICB0byByZWFkIDc5IGJpdHMuIFNpbmNlIHdlIHdhbnQgdG8gc2tpcCB0aG9zZSBiaXRzLCBnc3RfYml0X3JlYWRlcl9za2lwCgkgIGlzIG1vcmUgYXBwcm9wcmlhdGUgaW4gdGhpcyBjYXNlLgoKMjAxMS0wOC0xNSAwMjowODoxNCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkgIHF0a2l0dmlkZW9zcmM6IGdldCB0aGUgZnJhbWVyYXRlIGZyb20gY2FwcwoJICAuLi5hbmQgY29uZmlndXJlIFFUS2l0IGFjY29yZGluZ2x5LiBIYXJkY29kaW5nIHRvIDMwZnBzIHdhcyBwcmV0dHkgLWJhZC4KCjIwMTEtMDgtMTMgMTU6NTU6MDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogQWRkIHRlc3QgZm9yIGF1ZGlvLWZpbHRlciBwcm9wZXJ0eQoJICBDaGVja3MgdGhhdCB0aGUgYXVkaW8tZmlsdGVyIGlzIHByb3Blcmx5IHBsdWdnZWQgaW4gdGhlIHBpcGVsaW5lCgkgIGFuZCByZWNlaXZlcyBidWZmZXJzIHdoZW4gcmVjb3JkaW5nIGEgdmlkZW8uCgoyMDExLTA4LTExIDE4OjU5OjA3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBBZGQgYXVkaW8tZmlsdGVyIHByb3BlcnR5CgkgIEFkZHMgYSBwcm9wZXJ0eSB0byBhZGQgYSBjdXN0b20gR3N0RWxlbWVudCB0byB0aGUgYXVkaW8KCSAgYnJhbmNoIG9mIHRoZSBwaXBlbGluZS4gVGhpcyBhbGxvd3MgdGhlIHVzZXIgdG8gZG8gY3VzdG9tIGF1ZGlvCgkgIHByb2Nlc3NpbmcvYW5hbHlzaXMgd2hlbiByZWNvcmRpbmcgdmlkZW9zLgoKMjAxMS0wOC0xMiAyMjozOTo1MyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmg6CgkgIGJhc2V2aXN1YWxpemVyOiBhZGQgbW9yZSBzaGFkZXIgdmFyaWFudHMgYW5kIHNpbXBsaWZ5IGNvZGUKCSAgVXNlIG1hY3JvcyB0byBzaW1wbHlmeSB0aGUgc2hhZGluZyBjb2RlLiBUaG9zZSB3aWxsIGVhc2UgdG8gYWRkIHN1cHBvcnQgZm9yCgkgIG90aGVyIGNvbG9yc3BhY2VzIGluIHRoZSBmdXR1cmUuIEFkZCBtb3JlIHZhcmlhbnRzIGZvciB0aGUgc2hhZGluZyAobGVmdCxyaWdodCwKCSAgaG9yaXotaW4sIHZlcnQtb3V0LCB2ZXJ0LWluKS4KCjIwMTEtMDgtMTIgMjE6MjI6MjAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYmFzZXZpc3VhbGl6ZXI6IG1vcmUgZG9jcwoKMjAxMS0wOC0xMiAyMToxODo0NCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmg6CgkgIGJhc2VhdWRpb3Zpc3VhbGl6ZXI6IHByb3RlY3QgY29uZmlnIHdpdGggYSBsb2NrCgkgIEJlZm9yZSBpdCB3YXMgZWFzeSB0byBjcmFzaCB0aGUgZWxlbWVudHMgd2hlbiB1c2luZyBhIHhpbWFnZXNpbmsgYW5kIHRyaWdnZXJpbmcKCSAgcmVuZWdvdGlhdGlvbiBieSByZXNpemluZy4KCjIwMTEtMDgtMTIgMTY6NTc6NDkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJICBzcGVjdHJhc2NvcGU6IG1ha2UgYSBjb3B5IG9mIHRoZSBhdWRpb2RhdGEgYmVmb3JlIGRvd25taXhpbmcgYW5kIHdpbmRvd2luZwoJICBUaGUgYnVmZmVycyBjb21lIGZyb20gdGhlIGFkYXB0ZXIgYW5kIHRoZSBkYXRhIG1pZ2h0IG92ZXJsYXAuIFdlIGRvbid0IHdhbnQgdG8KCSAgbW9kaWZ5IGl0IGluIHBsYWNlLgoKMjAxMS0wOC0xMiAxMjoyNTowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBQcm94eSB0aGUgd2lkdGgvaGVpZ2h0L2ZyYW1lcmF0ZS9QQVIgY29uc3RyYWludHMgb2YgZG93bnN0cmVhbSBjYXBzIHRvIHVwc3RyZWFtCgkgIFRoaXMgYWxsb3dzIHRvIHNwZWNpZnkgY29uc3RyYWludHMgb24gdGhlIGNvbXByZXNzZWQgZG93bnN0cmVhbSBjYXBzCgkgIGJ5IG11eGVycyBvciBjYXBzZmlsdGVycywgd2hpY2ggd2lsbCB0aGVuIGJlIGZvcndhcmRlZCB0byB1cHN0cmVhbQoJICBhbmQgYWxsb3dzIHZpZGVvIGNvbnZlcnRlcnMgdG8gZnVsZmlsbCB0aGUgY29uc3RyYWludHMuCgkgIENvZGUgYmFzZWQgb24gTWFyayBOYXV3ZWxhZXJ0cyBhdWRpbyBlbmNvZGVyIGJhc2UgY2xhc3MuCgoyMDExLTA4LTEyIDEyOjEzOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IFJlbW92ZSBvbGQgOjpnZXRjYXBzKCkgY29tbWVudAoKMjAxMS0wOC0xMiAxMjowODozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIGRpcmFjZW5jOiBVcGRhdGUgZm9yIGJhc2V2aWRlb2VuY29kZXIgOjpnZXRfY2FwcygpIHJlbW92YWwKCjIwMTEtMDgtMTIgMTI6MDg6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogVXBkYXRlIGZvciBiYXNldmlkZW9lbmNvZGVyIDo6Z2V0X2NhcHMoKSByZW1vdmFsCgoyMDExLTA4LTEyIDEyOjA4OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogVXBkYXRlIGZvciBiYXNldmlkZW9lbmNvZGVyIDo6Z2V0X2NhcHMoKSByZW1vdmFsCgoyMDExLTA4LTEyIDEyOjA2OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IFJlbW92ZSA6OmdldF9jYXBzKCkgdmZ1bmMKCSAgU3ViY2xhc3NlcyBjYW4gc2V0IHRoZSBjYXBzIG1vcmUgZWZmaWNpZW50bHkgYW5kIHRoaXMgb25seQoJICBjYXVzZWQgYWRkaXRpb25hbCBpbmRpcmVjdGlvbnMuCgoyMDExLTA4LTA5IDA5OjI5OjIxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmOiBkbyBub3QgYXNzZXJ0IG9uIHRoZSB2YWx1ZXMgb2YgZGF0YSByZWFkIGZyb20gaW5wdXQKCSAgSW5zdGVhZCwgbG9nIGEgd2FybmluZywgYW5kIHJldHVybi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU2MzgyNwoKMjAxMS0wOC0wMyAxNjowMjowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBVc2UgdGhlIGNhY2hlZCB2aWRlbyBmcmFtZSBzaXplIGluc3RlYWQgb2YgcmVjYWxjdWxhdGluZyBpdAoKMjAxMS0wOC0wOCAxNzo1MzoxNiArMDIwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZWRpbmdlcjogRml4IHNldCBidXQgdW51c2VkIHZhcmlhYmxlcwoJICBSZW1vdmUgc29tZSBkZWFkIGNvZGUgdGhhdCB0cmlnZ2VycyAic2V0IGJ1dCB1bnVzZWQgdmFyaWFibGVzIgoJICBmcm9tIEdjYyA0LjYuICBGaXhlcyAjNjU2MTY2CgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wOC0wOCAxNjo0NDoyMCArMDIwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIGRpcmFjOiBGaXggc2V0IGJ1dCB1bnVzZWQgdmFyaWFibGVzCgkgIFJlbW92ZSBzb21lIGRlYWQgY29kZSB0aGF0IHRyaWdnZXJzICJzZXQgYnV0IHVudXNlZCB2YXJpYWJsZXMiIGZyb20gR2NjCgkgIDQuNi4gIEZpeGVzICM2NTYxNjQuCgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wOC0wNiAxMjoxMzoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZGluZyB2aWRlby1kb25lIG1lc3NhZ2UKCSAgdmlkZW8tZG9uZSBtZXNzYWdlIHdpbGwgYmUgcG9zdGVkIHdoZW4gYSB2aWRlbyByZWNvcmRpbmcgaXMKCSAgZmluaXNoZWQuIFNpbWlsYXIgdG8gaW1hZ2UtZG9uZSBtZXNzYWdlLgoKMjAxMS0wOC0wNSAxNTo0ODo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZGluZyB0b3AtbGV2ZWwgZWxlbWVudCBkb2N1bWVudGF0aW9uCgoyMDExLTA4LTA1IDEzOjM0OjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogRml4aW5nIHR5cG8KCjIwMTEtMDgtMDQgMTM6MzM6MjAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0Bnb29nbGUuY29tPgoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJKiBleHQvb3BlbmN2L21vdGlvbmNlbGxzX3dyYXBwZXIuY3BwOgoJKiBleHQvb3BlbmN2L21vdGlvbmNlbGxzX3dyYXBwZXIuaDoKCSAgbW90aW9uY2VsbHM6IHR1cm4gdHdvIGdsb2JhbCB2YXJzIGludG8gc3RhdGljIHZhcmlhYmxlcwoJICBNb3ZlIDIgdmFyaWFibGUgdG8gbW90aW9uY2VsbHNfd2FycHBlciBhbmQgbWFrZSB0aGVtIHN0YXRpYy4KCjIwMTEtMDgtMDQgMTM6MzM6NTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L01ha2VmaWxlLmFtOgoJICBleGFtcGxlczogQWRkIG1pc3NpbmcgaGVhZGVyIGZpbGUKCjIwMTEtMDgtMDQgMTE6Mjg6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJICBkZWNrbGluazogQWRkIGdzdGRlY2tsaW5rLmggdG8gbGlzdCBvZiBoZWFkZXJzCgoyMDExLTA4LTA0IDA5OjQ5OjQ2ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogZml4IHNlcXVlbmNlIGhlYWRlciBwYXJzaW5nCgkgIEFmdGVyIGJpdHJhdGUgdGhlcmUncyAxMSBiaXRzICgxIG1hcmtlciBiaXQgKyBWQlYgYnVmZmVyIHNpemUpIGJlZm9yZSB0aGUgbG9hZAoJICBpbnRyYSBxdWFudGlzZXIgZmxhZy4KCjIwMTEtMDgtMDQgMDk6NDA6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA4LTA0IDA5OjM2OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGNvbW1vbgoJICBjb25maWd1cmUuYWMKCSAgZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jCgkgIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuaAoJICBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmMKCjIwMTEtMDctMjEgMDg6NTg6MjcgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPHRvbW1pLm15b2hhbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIHBob3RvZ3JhcGh5OiBhZGQgbWlzc2luZyBGTElDS0VSX1JFRFVDVElPTiBjYXBhYmlsaXR5CgkgIEdzdFBob3RvZ3JhcGh5IEFQSSBjb250YWlucyBmdW5jdGlvbnMgdG8gZ2V0L3NldCBmbGlja2VyIHJlZHVjdGlvbgoJICBtb2RlLCBidXQgR3N0UGhvdG9DYXBzIGVudW1lcmF0aW9uIGRvZXNuJ3QgaGF2ZSBpdGVtIGZvciBpdCwgc28gZWxlbWVudHMKCSAgYXJlIG5vdCBhYmxlIHRvIHJlcG9ydCB3aGV0aGVyIHRoZXkgc3VwcG9ydCB0aGlzIGZlYXR1cmUgb3Igbm90LgoJICBBbHNvIGFkZCB1c2VmdWwgR1NUX1BIT1RPR1JBUEhZX0NBUFNfQUxMIGZvciBlYXNpbHkgc2VsZWN0aW5nIGFsbAoJICBjYXBhYmlsaXRpZXMgYXQgb25jZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NTMxOAoKMjAxMS0wOC0wMyAxMzozNzoyOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3Qvc3ViZW5jL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5jOgoJKiBnc3Qvc3ViZW5jL2dzdHN1YmVuYy5jOgoJKiBnc3Qvc3ViZW5jL2dzdHdlYnZ0dGVuYy5jOgoJKiBnc3Qvc3ViZW5jL2dzdHdlYnZ0dGVuYy5oOgoJICBzdWJlbmM6IEFkZCB3ZWJ2dHRlbmMgZWxlbWVudAoKMjAxMS0wOC0wMyAxMzozNTo0MSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkgIGthdGVlbmM6IEZpeCB1bmluaXRpYWxpemVkIGVycm9yCgoyMDExLTA3LTA5IDIzOjIyOjI2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IHJlbW92ZSBzaGFwZV9vdXRwdXQgaGFuZGxpbmcKCjIwMTEtMDctMDkgMjM6MDc6MzkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBkaXJhY2VuYzogUmVtb3ZlIHVudXNlZCBzaGFwZV9vdXRwdXQgY29kZQoKMjAxMS0wNy0wOSAxODo1MzoyNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICB2cDhlbmM6IEFkZCBtb3JlIHByb3BlcnRpZXMKCjIwMTEtMDYtMTkgMTY6MDY6NDYgKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIHZwOGVuYzogYWRkIG1pbi9tYXhzZWN0aW9uLXBjdCBvcHRpb24KCSAgVGhpcyBvcHRpb25zIHNob3VsZCBiZSBnb29kIHRvIHJlZGV1Y2UgZGVjb2RlIENQVSBsb2FkLgoJICBmb3IgbG93ZW5kIGhhcmR3YXJlOgoJICBtaW5zZWN0aW9uLXBjdD0xNSBtYXhzZWN0aW9uLXBjdD00MDAKCSAgZm9yIGhpZW5kIGh3OgoJICBtaW5zZWN0aW9uLXBjdD01IG1heHNlY3Rpb24tcGN0PTgwMAoJICBzZWUgZXhhbXBsZToKCSAgaHR0cDovL3d3dy53ZWJtcHJvamVjdC5vcmcvdG9vbHMvZW5jb2Rlci1wYXJhbWV0ZXJzLyMyLXBhc3NfdmJyX2VuY29kaW5nX2Zvcl9zbW9vdGhfcGxheWJhY2tfb25fbG93LWVuZF9oYXJkd2FyZQoJICBTaWduZWQtb2ZmLWJ5OiBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNi0xOSAxMTowNTozNiArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgdnA4ZW5jOiBhZGQgbGFnLWluLWZyYW1lcyBvcHRpb24uCgkgIFRoaXMgb3B0aW9uIHNldCBtYXhpbXVtIG9mIGZyYW1lcyBjb2RlYyBzaG91bGQgcmVtZW1iZXIsCgkgIHRvIG1ha2UgYmV0dGVyIHByZWRpa3Rpb24gZm9yIGFsdC1yZWYgZnJhbWVzLgoJICBTZWUgZXhhbXBsZToKCSAgaHR0cDovL3d3dy53ZWJtcHJvamVjdC5vcmcvdG9vbHMvZW5jb2Rlci1wYXJhbWV0ZXJzLyMyLXBhc3NfYmVzdF9xdWFsaXR5X3Zicl9lbmNvZGluZwoJICBTaWduZWQtb2ZmLWJ5OiBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNi0xOSAwNzoxNjo1NyArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiB1c2UgbXVsdGlwYXNzLmNhY2hlIGZpbGUgbmFtZSBhcyBkZWZhdWx0IGZvciBtdWx0aXBhc3MgbW9kZS4KCSAgU2lnbmVkLW9mZi1ieTogQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDctMDkgMTY6MDU6MDcgLTA0MDAgIE11a3VsIE1ham11ZGFyIDxtdWt1bC5tYWptdWRhckBnbWFpbC5jb20+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuaDoKCSAgZmFhYzogQWRkIHByb3BlcnRpZXMgZm9yIFZCUiBlbmNvZGluZwoJICBQcm9wZXJ0eSAicXVhbGl0eSIgdG8gc3BlY2lmeSBWQlIgcXVhbnRpemVyIHF1YWxpdHkgYW5kIHByb3BlcnR5CgkgICJicnR5cGUiIHRvIGNob29zZSBiZXR3ZWVuIEFCUiBhbmQgVkJSIGVuY29kaW5nLiBUaGUgZGVmYXVsdCBpcyBub3cgVkJSCgkgIHdpdGggcXVhbGl0eT0xMDAuCgkgIEZpeGVzIGJ1ZyAjNjU0MzEwLgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDctMDcgMTY6MDc6NTAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGluazogQWRkIGF1ZGlvLWlucHV0IHByb3BlcnR5CgoyMDExLTA3LTE4IDE1OjI1OjA1ICsxMDAwICBUaW0gJ21pdGhybycgQW5zZWxsIDxtaXRocm9AbWl0aGlzLmNvbT4KCgkqIGdzdC9pbnRlci9NYWtlZmlsZS5hbToKCSAgaW50ZXI6IEFkZGluZyBtaXNzaW5nIGJhc2UgcmVxdWlyZW1lbnRzLgoJICBGaXhlczogIzY1NDgwNi4KCjIwMTEtMDgtMDMgMTU6MjE6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBhZGQgbW9yZSBtaXNzaW5nIHBsdWdpbiBjaGVja3MKCSAgU3ByaW5rbGUgc29tZSBtb3JlIG1pc3NpbmcgcGx1Z2luIGNoZWNrcyBhcm91bmQKCjIwMTEtMDgtMDMgMTM6MTI6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGQgYSBtaXNzaW5nIGVsZW1lbnQgY2hlY2sgYW5kIHJlbW92ZSBUT0RPCgkgIEFkZCBtaXNzaW5nIGVsZW1lbnQgY2hlY2tzIGZvciBlbGVtZW50cyBjcmVhdGVkIGF0IF9pbml0CgkgIGZ1bmN0aW9ucyBhbmQgcmVtb3ZlIFRPRE8gYWJvdXQgaXQKCjIwMTEtMDgtMDMgMTM6NTc6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IFJlbW92ZSByZWR1bmRhbnQgaW1hZ2UtcXVldWUKCSAgRW5jb2RlYmluIGlzIHVzZWQgZm9yIGltYWdlIGVuY29kaW5nIGFuZCBpdCBhbHJlYWR5IGNvbnRhaW5zCgkgIGEgcXVldWUsIHNvIHdlIGNhbiByZW1vdmUgY2FtZXJhYmluMiBpbWFnZSBxdWV1ZS4KCjIwMTEtMDgtMDMgMTM6NDI6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuaDoKCSAgZHZic3Vib3ZlcmxheTogZml4IHVwIGNvcHlyaWdodHMKCjIwMTEtMDYtMjkgMTU6MTQ6MjkgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBnc3QtY2FtZXJhYmluMi10ZXN0OiBBZGQgYXVkaW8gY2FwdHVyZSBjYXBzIG9wdGlvbgoKMjAxMS0wOC0wMiAxNToxNDoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBNYWtlIGFjY2VzcyB0byB0aGUgbGlzdCBvZiBmcmFtZXMgdGhyZWFkc2FmZQoKMjAxMS0wOC0wMiAyMzo1MzowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkgIGJheWVyOiBiYWNrIGFyb3VuZCBjb21waWxlciB3YXJuaW5ncyBpbiBvcmMtZ2VuZXJhdGVkIGNvZGUgYnkgZGlzYWJsaW5nIC1XZXJyb3IgZm9yIHRoaXMgcGx1Z2luCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTI2NzcKCjIwMTEtMDgtMDIgMjI6NTc6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogLmdpdGlnbm9yZToKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0X2VsZW1lbnRfcHJpbnRfcHJvcGVydGllcy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0bW90aW9uY2VsbHNfZHluYW1pY190ZXN0LmM6CgkgIEZpeCBzb21lIG1vcmUgdmFyaWFibGUtc2V0LWJ1dC1ub3QtdXNlZCBjb21waWxlciB3YXJuaW5ncwoKMjAxMS0wOC0wMiAyMToxNDowNiArMDIwMCAgUm9iZXJ0IEpvYmJhZ3kgPGpvYmJhZ3kucm9iZXJ0QGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBjYW1lcmFiaW4yOiBleGFtcGxlczogRml4IGNhbWVyYWJpbjIgR19PQkpFQ1QgY2FzdAoJICBBZGRzIG1pc3NpbmcgY2FzdCB0byBmaXggYnVpbGQgZXJyb3IuCgoyMDExLTA4LTAyIDEwOjQ5OjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogV29ya2Fyb3VuZCBmb3IgcmluZ2J1ZmZlciBub3QgcmVzeW5jaW5nIG9uIFJFQURZCgkgIEFkZCBhIHdvcmthcm91bmQgdG8gZml4IHRpbWVzdGFtcHMgbWVhbndoaWxlIGJ1ZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4MzU5IGlzIGZpeGVkLgoKMjAxMS0wNy0zMCAxNjoxMjozMSArMDMwMCAgUmFsdWNhIEVsZW5hIFBvZGl1YyA8cmFsdWNhZWxlbmExOTg1QGdtYWlsLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluMiByZW1vdmUgcmVkdW5kYW50IHZpZXdmaW5kZXItY29sb3JzcGFjZSBhbmQgdmlld2ZpbmRlci1zY2FsZQoJICBjYW1yYWJpbjIgY29ubmVjdHMgYSB2aWV3ZmluZGVyYmluIG9uICJ2ZnNyYyIuIHZpZXdmaW5kZXJiaW4gaXMgbWFkZSBvZjoKCSAgdmZiaW4tY3NwICEgdmZiaW4tdmlkZW9zY2FsZSAhIHZpZGVvc2luay4KCSAgd2Ugc2hvdWxkIGVpdGhlciByZW1vdmUgY3NwL3ZpZGVvc2NhbGUgZnJvbSB3cmFwcGVyY2FtZXJhYmluc3JjIChhcwoJICBkb25lIGluIHRoaXMgcGF0Y2gpIG9yIHdlIHNob3VsZCBnZXQgcmlkIG9mIHZpZXdmaW5kZXJiaW4gYWx0b2dldGhlci4KCjIwMTEtMDctMjYgMDY6MDQ6NDEgKzAzMDAgIFJhbHVjYSBFbGVuYSBQb2RpdWMgPHJhbHVjYWVsZW5hMTk4NUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBiYXNlY2FtZXJhc3JjOiByZW1vdmUgdW51c2VkIGdldF9hbGxvd2VkX2lucHV0X2NhcHMKCSAgVGhlIHVzZSBvZiB0aGlzIG1ldGhvZCB3YXMgcmVtb3ZlZCBpbjoKCSAgY29tbWl0IDUzOWYxMGY0ZDk5ZTFhMDc0ODgxMjg5MjU0ZDFkMTA5MTU5Y2Y5ZTUKCSAgYmFzZWNhbWVyYXNyYzogTW9yZSBjbGVhbnVwCgkgIFRoZSBjb2RlIGZyb20gd3JhcHBlcmNhbWVyYWJpbnNyYyBpcyBmcm9tIHY0bDJjYW1lcmFzcmMgYnV0IGlzIHVudXNlZDoKCSAgZ2V0X2FsbG93ZWRfaW5wdXRfY2FwcyBpcyBub3QgY2FsbGVkIGFueXdoZXJlLgoKMjAxMS0wNy0yNiAwNTo1OTowOSArMDMwMCAgUmFsdWNhIEVsZW5hIFBvZGl1YyA8cmFsdWNhZWxlbmExOTg1QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJICBiYXNlY2FtZXJhc3JjOiBkb24ndCB1c2UgY2xhc3Mgb2Zmc2V0cyBmb3Igc3RhcnQvc3RvcC1jYXB0dXJlIHNpZ25hbCBoYW5kbGVycwoKMjAxMS0wNy0yNiAwNTo0MzozNCArMDMwMCAgUmFsdWNhIEVsZW5hIFBvZGl1YyA8cmFsdWNhZWxlbmExOTg1QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogZG9jdW1lbnQgd2h5IHdlIHNldCBwcmV2aWV3IHRvIFBMQVlJTkcKCjIwMTEtMDctMjYgMDQ6NDI6NDkgKzAzMDAgIFJhbHVjYSBFbGVuYSBQb2RpdWMgPHJhbHVjYWVsZW5hMTk4NUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkgIGJhc2VjYW1lcmFzcmM6IGRvY3VtZW50IGNhbGxiYWNrcwoJICBOb3RlIGZvciBlYWNoIGNhbGxiYWNrOgoJICAtIHdoZW4gaXQgaXMgY2FsbGVkLAoJICAtIHdoZXRoZXIgaXQgaXMgbWFuZGF0b3J5IG9yIG9wdGlvbmFsLgoKMjAxMS0wNy0yNiAwMzowNDo0NyArMDMwMCAgUmFsdWNhIEVsZW5hIFBvZGl1YyA8cmFsdWNhZWxlbmExOTg1QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSAgYmFzZWNhbWVyYWJpbnNyYzogcHJldmlldzogcmVtb3ZlIHVudXNlZCBuZXdfcHJlcm9sbCBjYWxsYmFjawoKMjAxMS0wNy0yOCAxMzoxODo1NyAtMDMwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBTeW5jaHJvbml6ZSBjbG9jayBhbmQgYmFzZSB0aW1lIHRvIGF1ZGlvc3JjCgkgIFdoZW4gYXVkaW8gc291cmNlIGdvZXMgdG8gUkVBRFkgaXQgbG9zZXMgaXRzIGNsb2NrIGFuZCBiYXNlIHRpbWUsCgkgIHRoaXMgcGF0Y2ggc2V0cyB0aGVtIGJhY2sgYWZ0ZXIgYnJpbmdpbmcgdGhlIGF1ZGlvIHNvdXJjZSBiYWNrIHRvIFBBVVNFRC4KCjIwMTEtMDctMjggMTI6NTY6MTIgLTAzMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogUHJldmVudCBhdWRpbyBzb3VyY2UgZnJvbSBwcm92aWRpbmcgY2xvY2sKCSAgVGhlIGF1ZGlvIHNvdXJjZSBpbnNpZGUgY2FtZXJhYmluMiBpcyBwdXQgdG8gUkVBRFkgYW5kIGJhY2sgdG8KCSAgUExBWUlORyB3aGVuIHN0YXJ0aW5nIGNhcHR1cmUsIGNhdXNpbmcgdGhlIHBpcGVsaW5lIHRvIGxvc2UgaXRzCgkgIGNsb2NrLiBBcyBjYW1lcmFiaW4yIGlzbid0IHB1dCB0byBQQVVTRUQtPlBMQVlJTkcgYWdhaW4gZHVyaW5nCgkgIHRoaXMsIGEgbmV3IGNsb2NrIGlzbid0IHNlbGVjdGVkIGZvciBlbGVtZW50cy4KCjIwMTEtMDYtMzAgMTE6MDk6NDQgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgY2FtZXJhYmluMjogQWRkIGZsYWdzIHByb3AgdG8gdG9nZ2xlIGVuY29kZWJpbiBjb252ZXJzaW9uIGVsZW1lbnRzCgkgIEEgZmxhZ3MgcHJvcGVydHkgaGFzIGJlZW4gYWRkZWQgdG8gZW5jb2RlYmluIHRvIHRvZ2dsZSB3aGV0aGVyIHRoZQoJICBjb252ZXJzaW9uIGVsZW1lbnRzIChmZm1wZWdjb2xvcnNwYWNlLCB2aWRlb3NjYWxlLCBhdWRpb2NvbnZlcnQsCgkgIGF1ZGlvcmVzYW1wbGUsIGF1ZGlvcmF0ZSkgYXJlIGNyZWF0ZWQgYW5kIGxpbmtlZCBpbnRvIHRoZSBhcHByb3ByaWF0ZQoJICBicmFuY2hlcyBvZiBlbmNvZGViaW4uCgkgIE5vdCBpbmNsdWRpbmcgdGhlc2UgZWxlbWVudHMgYXZvaWRzIHNvbWUgc2xvdyBjYXBzIG5lZ290aWF0aW9uIGFuZAoJICBhbGxvd3MgdGhlIGZpcnN0IGJ1ZmZlcnMgdG8gZmxvdyB0aHJvdWdoIGVuY29kZWJpbiBtdWNoIG1vcmUgcXVpY2tseS4KCSAgSG93ZXZlciwgaXQgaW1wb3NlcyB0aGF0IHRoZSB1bmNvbXByZXNzZWQgaW5wdXQgaXMgYXBwcm9wcmlhdGUgZm9yIHRoZQoJICB0YXJnZXQgcHJvZmlsZSBhbmQgZWxlbWVudHMgc2VsZWN0ZWQgdG8gbWVldCB0aGF0IHByb2ZpbGUuCgoyMDExLTA2LTI5IDE1OjM1OjQyICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFByZXBhcmUgYXVkaW9zcmMgYmVmb3JlIHN0YXJ0LWNhcHR1cmUKCSAgSWYgd2UgYnJpbmcgdGhlIGF1ZGlvIHNvdXJjZSB1cCB0byB0aGUgUEFVU0VEIHN0YXRlIGJlZm9yZSBlbWl0dGluZyB0aGUKCSAgc3RhcnQtY2FwdHVyZSBzaWduYWwgdG8gdGhlIGNhbWVyYSBzb3VyY2UsIHdoZW4gc3ViZXF1ZW50bHkgdGFraW5nIHRoZQoJICBhdWRpbyBzb3VyY2UgdG8gdGhlIFBMQVlJTkcgc3RhdGUsIGl0IHdpbGwgYmVnaW4gY2FwdHVyZSBtb3JlIHF1aWNrbHkuCgoyMDExLTA2LTI5IDE1OjE4OjQ3ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogUmVtb3ZlIHJlZHVuZGFudCBlbGVtZW50cwoJICBTaW5jZSBjYW1lcmFiaW4yIGhhcyBzd2l0Y2hlZCB0byBlbmNvZGViaW4gYW5kIGVuY29kZWJpbiBoYXMgaXRzIG93bgoJICBxdWV1ZXMgYW5kIGNvbnZlcnNpb24gZWxlbWVudHMsIHRob3NlIHByZWNlZGluZyBlbmNvZGViaW4gYXJlIG5vIGxvbmdlcgoJICBuZWNlc3NhcnkgYW5kIGFzIHN1Y2ggY2FuIGJlIHJlbW92ZWQuCgoyMDExLTA4LTAyIDEyOjI0OjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBEZWZpbmUgbGlzdCBvZiBub24tcG9ydGVkIHBsdWdpbnMKCjIwMTEtMDgtMDIgMTE6NDI6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBVcGRhdGUgY29tbW9uIHN1Ym1vZHVsZQoKMjAxMS0wOC0wMSAxODo0OTo1NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBUYWtlIGludG8gYWNjb3VudCB1cHN0cmVhbSBuZXdzZWdtZW50IGV2ZW50cwoJICBJZiB0aGUgaW5jb21pbmcgbmV3c2VnbWVudCBldmVudCB3YXMgaW4gdGltZSwgdXNlIHRoYXQgcG9zaXRpb24gdmFsdWUKCSAgZm9yIHRoZSBkb3duc3RyZWFtIG5ld3NlZ21lbnRzLgoKMjAxMS0wOC0wMSAxODo0ODowMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IFNlbmQgTkVXU0VHTUVOVCBldmVudHMKCSAgUHJldmlvdXNseSBobHNkZW11eCB3YXNuJ3Qgc2VuZGluZyBvdXQgYW55IG5ld3NlZ21lbnQuCgkgIEhlcmUgd2UgcHVzaCBhIEdTVF9GT1JNQVRfVElNRSBuZXdzZWdtZW50LCBhbmQgd2hlbmV2ZXIgcG9zc2libGUgd2UKCSAgdHJ5IHRvIGluZGljYXRlIHRoZSBwcm9wZXIgc3RhcnQgdGltZS4KCSAgVGhpcyBhbGxvd3MgZG93bnN0cmVhbSBlbGVtZW50cyB0byByZWxheSB0aGUgc3RhcnQvdGltZSB2YWx1ZXMgcHJvcGVybHkKCSAgdG8gdGhlIHNpbmtzLCBhbGxvd2luZyBiZXR0ZXIgc3RyZWFtIHN3aXRjaGluZy4KCjIwMTEtMDgtMDEgMTU6NDY6MTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogUmVtb3ZlIHByb2dyYW1zIG9uIEVPUwoJICBBbGxvd3Mgc3ViY2xhc3NlcyB0byBwcm9wZXJseSBmbHVzaCBvdXQgcGVuZGluZyBkYXRhLgoKMjAxMS0wOC0wMSAxMDo1NDoxNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBSZWZhY3RvciBzdHJlYW0vcHJvZ3JhbSByZW1vdmFsCgkgIFRoZSBwcm9ncmFtX3N0b3BwZWQgdm1ldGhvZCB3YXMgY2FsbGVkIGJlZm9yZSBzdHJlYW1fcmVtb3ZlZCB2bWV0aG9kCgkgIHdhcyBiZWluZyBjYWxsZWQuIFNpbmNlIHdlIG9ubHkgZGlkIHN0cmVhbS1yZWxhdGVkIG9wZXJhdGlvbnMgaW4gdGhlcmUsCgkgIHdlIGp1c3QgcmVtb3ZlIHRoZSBwcm9ncmFtX3N0b3BwZWQgdm1ldGhvZCBhbmQgZG8gZXZlcnl0aGluZyBpbiB0aGUKCSAgc3RyZWFtX3JlbW92ZWQgb25lLgoJICBBbHNvLCBtYWtlIHN1cmUgd2UgZmx1c2ggb3V0IGFsbCBwZW5kaW5nIGRhdGEgYmVmb3JlIHNlbmRpbmcgRU9TLgoKMjAxMS0wNy0yOCAxODoyMTowNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogUHJldmVudCBzdGFjayBnYXJkZW5pbmcgYnkgdXNpbmcgdGhlIHJpZ2h0IHR5cGUKCSAgc3RyZWFtX3R5cGUgaXMgc3RvcmVkIGFzIGd1aW50IGluc2lkZSB0aGUgR3N0U3RydWN0dXJlIGJ1dCB3YXMgcmV0cmVpdmVkCgkgIHVzaW5nIHZhbGlzdCB3aXRoIGEgcG9pbnRlciB0byBndWludDE2LiBUaGlzIHdvdWxkIGNhdXNlIHN0YWNrIGdhcmRlbmluZwoJICB3aGVuIGNvZGUgaXMgY29tcGlsZWQgd2l0aG91dCBvcHRpbWlzYXRpb24gKGUuZy4gaW4gLU8wIHRoZSBjb21waWxlciB3b250CgkgIHBhZCB0aGUgc3RhY2sgdG8gb3B0aW1pc2Ugb3V0IHJlcXVpcmVkIG1hc2spLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU1NTQwCgoyMDExLTA3LTI5IDIxOjI2OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWQuYzoKCSAgdGVzdHM6IGZpeCBjb21waWxlciB3YXJuaW5nIGluIGZhYWQgdW5pdCB0ZXN0CgoyMDExLTA3LTI5IDE5OjQzOjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDN0YWcvTWFrZWZpbGUuYW06CgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4Lmg6CgkqIGdzdC9pZDN0YWcvZ3N0dGFnbXV4LmM6CgkqIGdzdC9pZDN0YWcvZ3N0dGFnbXV4Lmg6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmg6CgkgIGlkM211eDogdXNlIG5vdy1wdWJsaWMgR3N0VGFnTXV4IGJhc2UgY2xhc3MgZnJvbSBsaWJnc3R0YWcKCjIwMTEtMDctMjggMjA6Mzg6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguYzoKCSogZ3N0L2lkM3RhZy9nc3R0YWdtdXguYzoKCSAgdGFnbXV4OiByZXF1aXJlIHN1YmNsYXNzIHRvIGluc3RhbGwgc2luayBwYWQgdGVtcGxhdGUKCSAgUmVxdWlyZSB0aGUgc3ViY2xhc3MgdG8gaW5zdGFsbCBib3RoIHNvdXJjZSBhbmQgc2luayBwYWQKCSAgdGVtcGxhdGVzLiBBbHNvLCBwcmludCBzb21lIHdhcm5pbmdzIGlmIHRoZSBzdWJjbGFzcyBkb2Vzbid0CgkgIGRvIHRoYXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NTU0MzcKCjIwMTEtMDctMjcgMjI6MzQ6MjMgKzAyMDAgIFJvYmVydCBKb2JiYWd5IDxqb2JiYWd5LnJvYmVydEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RfZWxlbWVudF9wcmludF9wcm9wZXJ0aWVzLmM6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RfZWxlbWVudF9wcmludF9wcm9wZXJ0aWVzLmg6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3Rtb3Rpb25jZWxsc19keW5hbWljX3Rlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdG1vdGlvbmNlbGxzX2R5bmFtaWNfdGVzdC5oOgoJICBnc3Rtb3Rpb25jZWxsc19keW5hbWljX3Rlc3Q6IHRlc3QgdG9vbCB3aGF0IGNhbiB0byBkbyBkeW5hbWljIGNoYW5nZSBwcm9wZXJ0aWVzCgoyMDExLTA3LTI3IDE4OjU4OjE1ICswMjAwICBSb2JlcnQgSm9iYmFneSA8am9iYmFneS5yb2JlcnRAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5jcHA6CgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuaDoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIGV4dC9vcGVuY3YvbW90aW9uY2VsbHNfd3JhcHBlci5jcHA6CgkqIGV4dC9vcGVuY3YvbW90aW9uY2VsbHNfd3JhcHBlci5oOgoJICBtb3Rpb25jZWxsczogbmV3IGVsZW1lbnQgdG8gZGV0ZWN0IGFyZWFzIG9mIG1vdGlvbgoKMjAxMS0wNy0yNiAxNzowMjowNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaHNsZGVtdXg6IEhhbmRsZSBjaGFuZ2Ugb2YgbWVkaWEgdHlwZXMKCSAgV2hlbiBzd2l0Y2hpbmcgYml0cmF0ZXMsIHdlIG1pZ2h0IGVuZCB1cCBzd2l0Y2hpbmcgdG8gYSBkaWZmZXJlbnQKCSAgbWVkaWEtdHlwZSAobGlrZSBmcm9tIGFhYyB0by9mcm9tIG1wZWctdHMpLgoJICBGb3IgdGhpcyBzd2l0Y2ggdG8gYmVoYXZlIHByb3Blcmx5IGluIGRlY29kZWJpbjIsIHRoaXMgcGF0Y2ggYWRkczoKCSAgKiBkeW5hbWljIHNvdXJjZSBwYWRzICh3aGljaCB3aWxsIGJlIGFkZGVkL3JlbW92ZWQgd2hlbmV2ZXIgYSBzdHJlYW0KCSAgbWVkaWEgdHlwZSBjaGFuZ2VzCgkgICogcmUtY2hlY2tpbmcgdGhlIGZyYWdtZW50IG1lZGlhIHR5cGUgd2hlbmV2ZXIgd2Ugc3dpdGNoIHRvIGEgZGlmZmVyZW50CgkgIHBsYXlsaXN0CgoyMDExLTA3LTI2IDEzOjQ3OjA0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzRwYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZSBvbiBvbGQgY29tcGlsZXJzCgoyMDExLTA3LTI3IDExOjAyOjQxICswMTAwICBPbGFmIFNlaWJlcnQgPHJoaWFsdG9AYXplbm9tZWkua251ZmZlbC5uZXQ+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBmaXggd3JvbmcgdXNhZ2Ugb2YgR1NUX0VMRU1FTlRfRVJST1IgbWFjcm9zIGFuZCBjb21waWxhdGlvbiBvbiBOZXRCU0QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NTMxOQoKMjAxMS0wNy0yNyAxMDo1NjoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IGZpeCBjb21waWxlciB3YXJuaW5nCgkgIGdzdHBjYXBwYXJzZS5jOiBJbiBmdW5jdGlvbiAnZ3N0X3BjYXBfcGFyc2VfY2hhaW4nOgoJICBnc3RwY2FwcGFyc2UuYzozODE6NjogZXJyb3I6ICdldGhfdHlwZScgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uIFstV2Vycm9yPXVuaW5pdGlhbGl6ZWRdCgkgIGdzdHBjYXBwYXJzZS5jOjM1NDoxMTogbm90ZTogJ2V0aF90eXBlJyB3YXMgZGVjbGFyZWQgaGVyZQoKMjAxMS0wNy0yNiAxOToxMToxNiArMDMwMCAgRmVsaXBlIENvbnRyZXJhcyA8ZmVsaXBlLmNvbnRyZXJhc0Bub2tpYS5jb20+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IGZpeCBTTEwgcGFyc2luZwoJICBUaGUgY3VycmVudCBjb2RlIGlzIG5vdCBjaGVja2luZyBmb3IgZXRoZXJuZXQgdHlwZSwgYXMgaXQncyBzdXBwb3NlZCB0bywKCSAgYnV0IGxpbmsgbGF5ZXIgZGV2aWNlIHR5cGUgYW5kIGl0J3MgaGFyZC1jb2RlZCB0byBvbmx5IGFjY2VwdCBkdW1wcyBmcm9tCgkgIGV0aGVybmV0IChBUlBIUkRfRVRIRVI7IDEpLiBXZSBkb24ndCBjYXJlIHdoZXJlIHRoZSBkdW1wIHdhcyBmZXRjaGVkCgkgIGZyb20gKHdsYW4sIDNHLCBldGMuKQoJICBXaGF0IHdlIGNhcmUgYWJvdXQgaXMgdGhlIHRoYXQgdGhlIGV0aGVybmV0IHR5cGUgaXMgSVAgKEVUSEVSTkVUX0lQOwoJICAweDgwMCksIHdoaWNoIGlzIGNsZWFybHkgZmllbGQgMTQ6CgkgIGh0dHA6Ly93d3cudGNwZHVtcC5vcmcvcGNhcDNfbWFuLmh0bWwKCSAgQW5kIGRvIGEgYml0IG9mIGNsZWFudXAuCgkgIFNpZ25lZC1vZmYtYnk6IEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAbm9raWEuY29tPgoKMjAxMS0wNy0yMSAxMzoyNjo1NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNiYXNlL3RzZGVtdXg6IEZpeCBzdHJlYW0vcGFkIGFjdGl2YXRpb24gb3JkZXIKCSAgV2UgZmlyc3QgYWN0aXZhdGUgbmV3IHN0cmVhbXMgYmVmb3JlIHNodXR0aW5nIGRvd24gb2xkIG9uZXMuCgkgIFdlIGVtaXQgbm8tbW9yZS1wYWRzIGFmdGVyIHdlIGFkZCBuZXcgc3RyZWFtcyBhbmQgZW1pdCBFT1MgYmVmb3JlCgkgIHJlbW92aW5nIG9sZCBvbmVzLgoJICBBbHNvIGNsZWFudXAvcmVmYWN0b3IgYSBiaXQgbW9yZSBvZiB0aGUgY29kZSBhY2NvcmRpbmdseQoKMjAxMS0wNy0yMiAxMjoyNjowNyArMDMwMCAgUmFsdWNhIEVsZW5hIFBvZGl1YyA8cmFsdWNhZWxlbmExOTg1QGdtYWlsLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL1BPUlRJTkc6CgkgIGNhbWVyYWJpbjI6IGFkZCBsb2NhdGlvbj1OVUxMIGRvY3MgdG8gUE9SVElORwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxOTE4CgoyMDExLTA3LTIyIDExOjM4OjMwICswMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogSWYgbG9jYXRpb24gaXMgTlVMTCBkbyBub3QgZW5jb2RlIGltYWdlcwoJICBVc2luZyBhIE5VTEwgc3RyaW5nIGZvciBsb2NhdGlvbiBtZWFucyB0aGF0IHRoZSBhcHBsaWNhdGlvbgoJICBkb2Vzbid0IHdhbnQgdGhlIGltYWdlIHRvIGJlIGVuY29kZWQsIGJ1dCB3YW50cyB0byByZWNlaXZlCgkgIHRoZSBwcmV2aWV3IGltYWdlLiAoT25seSB3b3JrcyBmb3IgaW1hZ2UgY2FwdHVyZXMpCgkgIFVzZWZ1bCBmb3IgYXBwbGljYXRpb24gdGhhdCB3YW50IHRoZSBjYXB0dXJlIGluIG1lbW9yeSBvbmx5LCBsaWtlCgkgIGRpc3BsYXlpbmcgdG8gdGhlIHVzZXIgYmVmb3JlIGl0IGNob3NlcyB0byBlbmNvZGUgb3IgdGFrZSBhbm90aGVyCgkgIHBpY3R1cmUgaW4gYXZhdGFyIGNhcHR1cmluZyBzY2VuYXJpb3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDE5MTgKCjIwMTEtMDctMjEgMDg6MDQ6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogVXBkYXRlIGZvciBHc3RCYXNlVmlkZW9FbmNvZGVyOjpmaW5pc2goKSBzaWduYXR1cmUgY2hhbmdlCgoyMDExLTA3LTIxIDA4OjAzOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogVXBkYXRlIGZvciBHc3RCYXNlVmlkZW9FbmNvZGVyOjpmaW5pc2goKSBzaWduYXR1cmUgY2hhbmdlCgoyMDExLTA3LTIxIDA4OjAzOjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWNlbmM6IFVwZGF0ZSBmb3IgR3N0QmFzZVZpZGVvRW5jb2Rlcjo6ZmluaXNoKCkgc2lnbmF0dXJlIGNoYW5nZQoKMjAxMS0wNy0yMSAwNTo0NDoxMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBBbGxvdyBmaW5pc2hpbmcgb2YgZnJhbWVzIHdpdGggbm8gc3JjX2J1ZmZlciB0byBkcm9wL2ZyZWUgdGhlIEdzdFZpZGVvRnJhbWUKCjIwMTEtMDctMjAgMDg6Mzk6NTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogT25seSBnZXQgY2FwcyBmcm9tIHRoZSBzdWJjbGFzcyBpZiB0aGV5IHdlcmUgbm90IHNldCB5ZXQgYnkgdGhlIHN1YmNsYXNzCgoyMDExLTA3LTIwIDA5OjI1OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IERlbGF5IHNlbmRpbmcgb2Ygc2VyaWFsaXplZCBzaW5rIGV2ZW50cyB1bnRpbCBmaW5pc2hfZnJhbWUoKQoKMjAxMS0wNy0yMCAwOTowOToyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBBZGQgOjpyZXNldCB2ZnVuYyBhbmQgaGFuZGxlIDo6cmVzZXQvOjpmaW5pc2ggdGhlIHNhbWUgd2F5IGFzIGluIHRoZSBkZWNvZGVyCgoyMDExLTA3LTIwIDE5OjE2OjA1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuaDoKCSAgcGVzcGFyc2U6IEZpeCBzdHVmZmluZyBieXRlIGhhbmRsaW5nCgkgIFdlIGluIGZhY3QgZ2V0IHRoZSBzaXplIG9mIHRoZSBoZWFkZXIgKGluY2x1ZGluZyBzdHVmZmluZyBieXRlcyksIHRoZXJlZm9yZQoJICB1c2UgdGhhdCBpbnN0ZWFkIG9mIHRyeWluZyB0byBza2lwIDB4ZmYgYnl0ZXMgb3Vyc2VsdmVzIHNpbmNlIHNvbWUgbWVkaWEKCSAgc3RyZWFtcyBkbyBzdGFydCB3aXRoIDB4ZmYgKGxpa2UgbXBlZyBhdWRpbydzIGluaXRpYWwgMHhmZmYpLgoKMjAxMS0wNy0xOCAxNDo1MzozMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzcmMuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkgIEZpeCBjb21waWxhdGlvbiBmb3IgdW51c2VkIGJ1dCBub3Qgc2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ1NzIKCjIwMTEtMDctMjAgMDg6NTc6NDcgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTEtMDctMTkgMTI6NTA6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogVXNlIGEgdGVtcG9yYXJ5IEdzdFZpZGVvU3RhdGUgdW50aWwgdGhlIHN1YmNsYXNzIGFjY2VwdGVkIHRoZSBjYXBzCgkgIEFsc28gc3RvcmUgdGhlIGNhcHMgaW4gdGhlIEdzdFZpZGVvU3RhdGUgYW5kIGFzc3VtZSBhIFBBUiBvZiAxLzEgaW5zdGVhZAoJICBvZiAwLzEgaWYgbm8gUEFSIGlzIHNwZWNpZmllZCBpbiB0aGUgY2Fwcy4KCjIwMTEtMDctMTkgMDk6MzY6NTMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNiYXNlL3RzZGVtdXg6IEFkZCBtb3JlIGNvbW1lbnRzIGFuZCByZW1vdmFsIHVudXNlZCB2YXJpYWJsZQoKMjAxMS0wNy0xOSAwOTozNjoxMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IEF2b2lkIGRvdWJsZSByZW1vdmFsIG9mIHN0cmVhbXMKCSAgVGhpcyBjYW4gaGFwcGVuIGlmIHRoZSBQQ1IgcGlkIGlzIHRoZSBzYW1lIGFzIGEgYXVkaW8vdmlkZW8gUElELgoKMjAxMS0wNy0xOSAwOTozNDozNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2Jhc2U6IEFkZCBhIEdMaXN0IG9mIHN0cmVhbXMgdG8gdGhlIHByb2dyYW0KCSAgQWxsb3dzIGZhc3RlciBpdGVyYXRpb24gb2YgYWxsIHByb2dyYW0gc3RyZWFtcy4KCSAgV2Ugc3RpbGwga2VlcCB0aGUgQXJyYXkgdG8gYWxsb3cgZmFzdCByZXRyaWV2YWwgb2Ygc3RyZWFtIGJ5IFBJRC4KCjIwMTEtMDctMTkgMDg6NDU6NTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNiYXNlOiBVc2UgYSBiaXQgYXJyYXkgaW5zdGVhZCBvZiBhbiBhcnJheSBvZiBnYm9vbGVhbgoJICBNYWtlcyBrbm93X3BzaSBhbmQgaXNfcGVzIDMyIHRpbWVzIHNtYWxsZXIKCjIwMTEtMDctMTkgMDg6Mzc6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiBGaXggZm9ybWF0IHN0cmluZyBjb21waWxlciB3YXJuaW5nCgoyMDExLTA3LTE4IDE0OjE0OjMxICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIGRmYnZpZGVvc2luazogZml4IGhhcm1sZXNzIHR5cG8gaW4gdmFyaWFibGUgaW5pdGlhbGl6YXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDg0MAoKMjAxMS0wNy0xMiAxOTowNDoyNyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcmVtb3ZlIGEgY2hlY2sgbWFkZSB1c2VsZXNzIGJ5IHRoZSBsYXN0IGNvbW1pdAoKMjAxMS0wNy0xMiAxOTowMTo0NyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogYXNzdW1lIGJ5dGUtc3RyZWFtIGlmIHN0cmVhbS1mb3JtYXQgYW5kIGNvZGVjX2RhdGEgYXJlIG1pc3NpbmcgZnJvbSBpbnB1dCBjYXBzCgoyMDExLTA3LTA2IDIzOjI0OjI3ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBpZ25vcmUgY29kZWNfZGF0YSBpZiBzdHJlYW0tZm9ybWF0PWJ5dGUtc3RyZWFtCgkgIFNvbWUgZW5jb2RlcnMgc2V0IGNvZGVjX2RhdGEgZXZlbiB3aGVuIG91dHB1dHRpbmcgYnl0ZS1zdHJlYW0uIEJlZm9yZSB0aGlzIHBhdGNoCgkgIGgyNjRwYXJzZSB3b3VsZCBpbmNvcnJlY3RseSBkZXRlY3Qgc3VjaCBzdHJlYW1zIGFzIEFWQy4KCjIwMTEtMDctMTggMDk6MTI6MTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBVc2Ugc3RhbmRhbG9uZSBQRVMgcGFyc2VyCgoyMDExLTA3LTE3IDE0OjE3OjEwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmg6CgkgIG1wZWd0c2RlbXV4OiBBZGQgc3RhbmRhbG9uZSBQRVMgcGFyc2VyCgoyMDExLTA3LTE3IDA5OjQ5OjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkgIG1wZWdkZWZzOiBjbGFyaWZ5IHNvbWUgc3RyZWFtIGlkcwoKMjAxMS0wNy0xNiAxMzo1MTo0NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IHdob29wcywgdHNkZW11eCBpc24ndCByZWFkeSB5ZXQgZm9yIHByaW1hcnkgcmFuayA6KQoKMjAxMS0wNy0xNiAxMzo0Nzo0NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIG1wZWd0c2Jhc2UvdHNkZW11eDogQ2xlYW51cHMgYW5kIGNvbW1lbnRzCgoyMDExLTA3LTE2IDEzOjQ0OjAwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRml4IG5ld3NlZ21lbnQgY3JlYXRpb24gZm9yIHB1c2ggbW9kZQoJICBBbmQgYWxsIHJlbGV2ZW50IGNvbW1lbnRzIHRvIHdoYXQgaXQgc2hvdWxkIGJlIGRvaW5nLCByZWZhY3RvciBldmVyeXRoaW5nCgkgIGEgYml0LiBTdGlsbCBub3QgcGVyZmVjdCAuLi4gYnV0IGJldHRlci4KCSAgRml4ZXMgIzY1NDY1NwoKMjAxMS0wNy0xNSAxMjowODo0MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJICBtcGVndHNiYXNlOiBTdG9yZSBpbmNvbWluZyBuZXdzZWdtZW50cwoKMjAxMS0wNy0xNSAyMDo1Nzo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5jOgoJKiBnc3QvaWQzdGFnL2dzdHRhZ211eC5oOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5oOgoJICB0YWdtdXg6IGNvbnN0LWlmeSBHc3RUYWdMaXN0IGFyZ3VtZW50IG9mIHJlbmRlciB2ZnVuY3MKCjIwMTEtMDctMTUgMjA6Mzk6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9nc3R0YWdtdXguYzoKCSogZ3N0L2lkM3RhZy9nc3R0YWdtdXguaDoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgdGFnbXV4OiBmaXggdXAgcHJpdmF0ZSBiYXNlIGNsYXNzIGhlYWRlciBzbyBpdCBjYW4gYmUgbWFkZSBwdWJsaWMKCSAgTW92ZSBwcml2YXRlIGJpdHMgaW50byBhIHByaXZhdGUgc3RydWN0LCBhZGQgc29tZSBwYWRkaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTU1NDM3CgoyMDExLTA3LTE1IDE2OjEwOjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgV2UgbmVlZCBjb3JlL2Jhc2UgZnJvbSBnaXQKCSAgVXBkYXRlIHJlcXVpcmVtZW50cyBhZnRlciBvdXQtb2Ytb3JkZXIgMC4xMC4zNSByZWxlYXNlCgoyMDExLTA3LTEzIDE3OjE1OjM2ICswMzAwICBSYWx1Y2EgRWxlbmEgUG9kaXVjIDxyYWx1Y2FlbGVuYTE5ODVAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogZml4IG5hbWUgb2YgJ2ltYWdlLWRvbmUnIGJ1cyBtZXNzYWdlCgkgIFVzZSB0aGUgY29ycmVjdCBidXMgbWVzc2FnZSBmb3IgY2FtZXJhYmluMiBpbWFnZSBkb25lIGFuZCByZW1vdmVzCgkgIGNoZWNrIHRoYXQgaXMgbm8gbG9uZ2VyIG5lZWRlZCBmb3IgdGhlc2UgdGVzdHMuCgoyMDExLTA3LTE1IDEwOjA0OjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogcmVuYW1lIG9mZnNldCBwcm9wZXJ0eSB0byB0cy1vZmZzZXQKCSAgLi4uIHNvIGFzIHRvIHByb21vdGUgY29uc2lzdGVuY3kgd2l0aCBzb21lIG90aGVyIGVsZW1lbnRzIGluIHRoZSB3aWxkLgoKMjAxMS0wNy0xNCAxOTozMDo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkgIHZkcGF1OiBmaXggc29tZSB2YXJpYWJsZS1zZXQtYnV0LXVudXNlZCBjb21waWxlciB3YXJuaW5ncwoKMjAxMS0wNy0xNSAwMDowMzoxMCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBhY3R1YWxseSBzZXQgc2Vlbl9wYXQ9VFJVRSB3aGVuIHdlIHNlZSBhIFBBVAoKMjAxMS0wNi0yNiAyMDozMjo1MyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICBuZW9uaHR0cHNyYzogaW1wbGVtZW50IFVSSSBxdWVyeQoKMjAxMS0wNy0xNCAyMjowODo1NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkgIG1wZWd0c2Jhc2U6IFNwbGl0IHVwIHdoZXRoZXIgd2Ugc2F3IGEgUEFUIGFuZCBpdHMgb2Zmc2V0CgkgIEZpeGVzIHRoZSBpc3N1ZSB3aXRoIHN0cmVhbXMgdGhhdCBkb24ndCBzZXQgYW4gb2Zmc2V0IG9uIHRoZWlyIGJ1ZmZlcnMsCgkgIGxpa2UgdGhvc2UgY29taW5nIGZyb20gaGxzZGVtdXguCgkgIEZpeGVzICM2NTM0ODEKCjIwMTEtMDctMTQgMTc6MDY6MzggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiBwcm9wZXJseSBhcHBseSB0cyBvZmZzZXQKCjIwMTEtMDctMTQgMTY6NTA6MjkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuaDoKCSAgcGNhcHBhcnNlOiBvcHRpb25hbGx5IG91dHB1dCByZWxhdGl2ZSB0aW1lc3RhbXBzLCBwb3NzaWJseSBzaGlmdGVkIGJ5IG9mZnNldAoJICBUaGF0IGlzLCBvdXRwdXQgdGltZXN0YW1wcyBjYW4gdGhlbiBlaXRoZXIgYmUgdGhlIGFic29sdXRlIGNhcHR1cmUgdGltZSwKCSAgb3IgdGhlIHJlbGF0aXZlIGNhcHR1cmUgdGltZSAody5yLnQuIHRvIGZpcnN0IG91dHB1dCBidWZmZXIpLCBvciB0aGUgcmVsYXRpdmUKCSAgY2FwdHVyZSB0aW1lIGluY3JlbWVudGVkIGJ5IHNvbWUgb2Zmc2V0LgoKMjAxMS0wNy0xNCAxNjo0MDoxNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IGFsc28gc3VwcG9ydCBleHRyYWN0aW5nIHRjcCBkYXRhCgoyMDExLTA3LTE0IDE0OjM3OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uZ2l0aWdub3JlOgoJICB0ZXN0czogYWRkIHNvbWUgbW9yZSB1bml0IHRlc3QgYmluYXJpZXMgdG8gLmdpdGlnbm9yZQoKMjAxMS0wNy0xMyAxMzo0NDo0MSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICBkb2NzOiBSZXZlcnQgd3JvbmdseSBjb21taXR0ZWQgY2hhbmdlcyB0byAuYXJncy8uaGllcmFyY2h5CgoyMDExLTA3LTEzIDEzOjQyOjA5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBSZXN0b3JlIHNvbWUgdW51c2VkIHZhcmlhYmxlcyBhcyBjb21tZW50cwoKMjAxMS0wNy0xMyAxMzozOTo0NiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c2RlbXV4OiBSZXN0b3JlIGVycm9uZW91c2x5IHJlbW92ZWQgZGF0YSsrCgkgIEFsc28sIHB1dCBiYWNrIHNvbWUgdW51c2VkIGNvZGUgaW4gY29tbWVudCBhbmQgcmVwbGFjZSAvLyBjb21tZW50cyBieSAvKiAqLwoKMjAxMS0wNy0xMyAxMzozODozMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVnZGVtdXg6IFJlc3RvcmUgZXJyb25lb3VzbHkgcmVtb3ZlZCBkYXRhKysKCSAgQWxzbywgcHV0IGJhY2sgc29tZSB1bnVzZWQgY29kZSBpbiBjb21tZW50IGFuZCByZXBsYWNlIC8vIGNvbW1lbnRzIGJ5IC8qICovCgoyMDExLTA3LTEzIDEwOjQyOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VkaW5nZXI6IEZpeCBjb21waWxhdGlvbiBhbmQgc2V0LWJ1dC1ub3QtdXNlZCBjb21waWxlciB3YXJuaW5ncwoKMjAxMS0wNy0xMyAxMDozMzo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIGRpcmFjZW5jOiBGaXggY29tcGlsYXRpb24gYnkgaW5jbHVkaW5nIHRoZSBuZXcgZ3N0YmFzZXZpZGVvdXRpbHMuaCBoZWFkZXIgYW5kIGZpeGluZyBzb21lIHNldCBidXQgbm90IHVzZWQgY29tcGlsZXIgd2FybmluZ3MKCjIwMTEtMDctMTIgMTg6MjI6MzUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJICBleGFtcGxlcy9jYW1lcmFiaW46IEZpeCBzZXQtYnV0LXVudXNlZCB3YXJuaW5ncwoKMjAxMS0wNy0xMiAxODoyMDoyMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOgoJKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzoKCSAganAyazogRml4IHNldC1idXQtdW51c2VkIHdhcm5pbmdzCgoyMDExLTA3LTEyIDE4OjE4OjMwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Jlc2luZHZkL2dzdHBlc2ZpbHRlci5jOgoJKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuYzoKCSAgcmVzaW5kdmQ6IEZpeCBzZXQtYnV0LXVudXNlZCB3YXJuaW5ncwoKMjAxMS0wNy0xMiAxODoxNjo1NCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkgIGNvZzogRml4IHNldC1idXQtdW51c2VkIHdhcm5pbmdzCgoyMDExLTA3LTEyIDE4OjEzOjU2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9jYW1yZXNvdXJjZW1hbmFnZXIuYzoKCSogc3lzL2R2Yi9jYW1zZXNzaW9uLmM6CgkqIHN5cy9kdmIvY2FtdHJhbnNwb3J0LmM6CgkgIGR2YjogRml4IHNldC1idXQtdW51c2VkIHdhcm5pbmdzCgoyMDExLTA3LTEyIDE4OjEwOjQyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJICB2aWRlb21lYXN1cmU6IEZpeCBzZXQtYnV0LXVudXNlZCB3YXJuaW5ncwoKMjAxMS0wNy0xMiAxODowOToyNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC90dGEvZ3N0dHRhZGVjLmM6CgkgIHR0YTogRml4IHNldC1idXQtdW51c2VkIHdhcm5pbmdzCgoyMDExLTA3LTEyIDE4OjA4OjIxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3NkaS9nc3RzZGlkZW11eC5jOgoJKiBnc3Qvc2RpL2dzdHNkaW11eC5jOgoJICBzZGk6IEZpeCBzZXQtYnV0LXVudXNlZCB3YXJuaW5ncwoKMjAxMS0wNy0xMiAxODowNToyNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwODogRml4IHNldC1idXQtdW51c2VkIHdhcm5pbmdzCgoyMDExLTA3LTEyIDE4OjAzOjUzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4OiBSZWplY3QgdW5rbm93biBiaXRzdHJlYW0gdmVyc2lvbnMKCjIwMTEtMDctMTIgMTc6NTk6NTYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IEZpeCBzZXQtYnV0LXVudXNlZCB3YXJuaW5ncwoKMjAxMS0wNy0xMiAxNzo1Nzo0NSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogRml4IHNldC1idXQtdW51c2VkIHdhcm5pbmdzCgoyMDExLTA3LTEyIDE3OjU2OjI1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBGaXggc2V0LWJ1dC11bnVzZWQgd2FybmluZ3MKCjIwMTEtMDctMTIgMTc6NTM6MzMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVnZGVtdXg6IEZpeCB1bnVzZWQtYnV0LXNldCB3YXJuaW5ncwoKMjAxMS0wNy0xMiAxNzo1MDoyNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNkZW11eDogRml4IHVudXNlZC1idXQtc2V0IHdhcm5pbmdzCgoyMDExLTA3LTEyIDAxOjE4OjE2ICswNTMwICBTYW1lZXIgTmFpayA8c2FtZWVyLnN1YnNjcmlwdGlvbnNAZGFtYWdlaGVhZC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGZpeCBzZWdmYXVsdCBpZiBnc3RfY29sbGVjdF9wYWRzX3BvcCAoKSByZXR1cm5zIG5vIGJ1ZmZlcgoJICBJbiBtcGVndHNtdXhfY2hvb3NlX2Jlc3Rfc3RyZWFtICgpIGNhbGwgaWYgdGhlIGdzdF9jb2xsZWN0X3BhZHNfcG9wICgpIGNhbGwKCSAgcmV0dXJucyBubyBidWZmZXIgKE5VTEwpLCB0aGUgcGx1Z2luIFNlZ0ZhdWx0cyBpbiB0aGUgZ3N0X2J1ZmZlcl91bnJlZiBjYWxsLgoJICBUbyBmaXggdGhpcyB3ZSBjaGVjayBpZiBhIHZhbGlkIGJ1ZmZlciBpcyByZXR1cm5lZCBiZWZvcmUgY2FsbGluZwoJICBnc3RfYnVmZmVyX3VucmVmICgpLgoJICBGaXhlcyBidWcgIzY1NDQxNi4KCjIwMTEtMDctMTEgMTI6NTk6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogRmlyc3QgaW5mb3JtIHN1YmNsYXNzIGFib3V0IHJlc2V0dGluZyBiZWZvcmUgcmVzZXR0aW5nL2ZyZWVpbmcgYWxsIGludGVybmFsIHN0YXRlCgkgIFRoZSBzdWJjbGFzcyBtaWdodCB3YW50IHRvIGFjY2VzcyB0aGUgb2xkIHN0YXRlLgoKMjAxMS0wNy0xMSAxMjozNjo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBUcmFjayBwcmVzZW50IHBvc2l0aW9uIG9uIGRpc2NvbnQgYmVmb3JlIHJlc2V0dGluZyBpdAoKMjAxMS0wNy0xMSAxMTo1MjozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBBbHNvIHByb3RlY3QgdGhlIGxpc3Qgb2YgcGVuZGluZyBmcmFtZXMgZnJvbSBjb25jdXJyZW50IGFjY2VzcyB3aGVuIHB1c2hpbmcgYWxsIHBlbmRpbmdzIGV2ZW50cwoKMjAxMS0wNy0xMSAxMToyODo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2NvZGVjOiBQcm90ZWN0IGFjY2VzcyB0byB0aGUgbGlzdCBvZiBwZW5kaW5nIGZyYW1lcyB3aXRoIHRoZSBvYmplY3QgbG9jawoJICBUaGlzIGlzIHJlcXVpcmVkIGlmIDo6ZmluaXNoX2ZyYW1lKCkgYW5kIGFsbCBidWZmZXIgb3V0cHV0IGhhcHBlbnMKCSAgb24gYSBkaWZmZXJlbnQgdGhyZWFkIHRoYW4gdGhlIHNpbmtwYWQgc3RyZWFtaW5nIHRocmVhZC4KCjIwMTEtMDctMTEgMDk6MzU6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogU2V0IHRoZSBjb3JyZWN0IGxpc3RzIHRvIE5VTEwgYWZ0ZXIgZnJlZWluZwoKMjAxMS0wNy0xMSAwODo1NDo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBXb3JrIHdpdGggYSBjb3B5IG9mIHRoZSBHc3RWaWRlb1N0YXRlIGluIHNldGNhcHMgdW50aWwgdGhlIGNhcHMgYXJlIGFjY2VwdGVkCgkgIEFsc28gZml4IGEgcmVmY291bnQgcHJvYmxlbSB3aXRoIHRoZSBjb2RlY19kYXRhLgoKMjAxMS0wNy0wOSAxMTo0MDoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkgIGJhc2V2aWRlbzogTW92ZSB0aGUgdXRpbHMgZnJvbSB0aGUgY29kZWMgaGVhZGVyIHRvIGl0cyBvd24gaGVhZGVyCgoyMDExLTA3LTA5IDExOjMxOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogVXNlIGRlc3Ryb3kgbm90aWZ5IHRvIGZyZWUgdGhlIGNvZGVyIGhvb2sKCjIwMTEtMDctMDkgMTE6MDk6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlbzogVXNlIEdTbGljZSBmb3IgYWxsb2NhdGluZyBHc3RWaWRlb0ZyYW1lIGFuZCBkb24ndCBkdXBsaWNhdGUgY29kZSBpbiB0aGUgZGVjb2RlciBiYXNlIGNsYXNzCgoyMDExLTA2LTI4IDExOjQ3OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2RlcjogRG9uJ3QgcmVvcmRlciBzZXJpYWxpemVkIHNyYyBldmVudHMKCSAgQW5kIGFsbG93IHRvIGRyb3AgRU9TIGJ5IHRoZSBzdWJjbGFzcyBpZiA6OmZpbmlzaCByZXR1cm5zCgkgIERST1BQRUQuIFRoaXMgcmVxdWlyZXMgdGhhdCB0aGUgc3ViY2xhc3Mgc2VuZHMgRU9TIG1hbnVhbGx5IGxhdGVyLgoJICBGaXhlcyBidWcgIzY1MzU0NC4KCjIwMTEtMDYtMjcgMDk6NDE6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW86IEFkZCB0aGUgY2FwcyB0byB0aGUgR3N0VmlkZW9TdGF0ZSBhbmQgY2xlYW4gdXAgY2Fwcy9jb2RlY19kYXRhIHByb3Blcmx5CgkgIEhhdmluZyBhY2Nlc3MgdG8gdGhlIGNhcHMgaW4gOjpzZXRfZm9ybWF0IGNhbiBiZSB1c2VmdWwgaWYKCSAgbm9uLXN0YW5kYXJkIGNhcHMgZmllbGRzIGxpa2UgdGhlIGgyNjQgYWxpZ25tZW50IG11c3QgYmUgYWNjZXNzZWQuCgoyMDExLTA3LTA5IDEwOjU3OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBBZGQgZGVzdHJveSBub3RpZnkgZm9yIHRoZSBjb2Rlcl9ob29rIHRvIHByZXZlbnQgbWVtb3J5IGxlYWtzCgkgIEZpeGVzIGJ1ZyAjNjU0MjkzLgoKMjAxMS0wNy0wOCAxMTo1MjoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBQcm9wZXJseSByZXR1cm4gc2Vla2luZyBlcnJvcnMgaWYgdGhlIHJlcXVlc3RlZCBwb3NpdGlvbiBjYW4ndCBiZSBmb3VuZAoKMjAxMS0wNy0wNyAxNjowMDo0NCAtMDcwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2ludGVyLy5naXRpZ25vcmU6CgkgIGludGVyOiBhZGQgaWdub3JlIGZpbGUgZm9yIGludGVybWVkaWF0ZSBmaWxlcwoKMjAxMS0wNy0wNyAxNTo1OTowNSAtMDcwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVja2xpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSAgZG9jczogYWRkIGNhbWVyYWJpbjIgdG8gdGhlIGRvY3MgYW5kIHVwZGF0ZSB0aGUgZG9jIGZpbGVzCgoyMDExLTA3LTA3IDE1OjU1OjU5IC0wNzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RwbHVnaW4uYzoKCSAgY2FtZXJhYmluMjogZG9uJ3QgbWVzcyB3aXRoIGNhbWVyYWJpbiAoMSkgbmFtZXNwYWNlCgkgIFVzZSBhbiBleHRyYSAnMicgdG8gc3RheSBvdXQgb2YgdGhlIG9sZCBuYW1lc3BhY2UuCgoyMDExLTA3LTA3IDExOjExOjQyIC0wNzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBrZWVwIHNlY3Rpb24gZmlsZSBzb3J0ZWQKCjIwMTEtMDctMDcgMTA6NTI6NTAgLTA3MDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogaW1wcm92ZSB0aGUgZG9jcwoJICBGaXggdGhlIHN5bnRheCwgYWRkIG1vcmUgZXhwbGFuYXRpb24gYW5kIHhyZWYgdGhlIHByb3BlcnRpZXMuCgoyMDExLTA2LTA1IDAwOjU0OjE5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvZ3N0b3B1cy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkgIG9wdXM6IGR1cGxpY2F0ZSBmcm9tIENFTFQKCSAgQ29weSB0aGUgY2VsdCBwbHVnaW4gYW5kIGNvbnZlcnQgaXQgdG8gT3B1cy4gIE1vc3RseSB3b3Jrcy4KCjIwMTEtMDctMDYgMTU6NTY6MzIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgZGVja2xpbms6IEhEIG1vZGVzIGFyZSBzcXVhcmUgcGl4ZWxzCgoyMDExLTA3LTA1IDEwOjE5OjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQWRkIC1ER1NUX1VTRV9VTlNUQUJMRV9BUEkgdG8gdGhlIGNvbXBpbGVyIGZsYWdzIHRvIGF2b2lkIHdhcm5pbmdzCgoyMDExLTA3LTA0IDE2OjE4OjE4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuaDoKCSAgZGlyYWNwYXJzZTogbWFrZSBkaXJhY3BhcnNlIHdvcmsgY29ycmVjdGx5CgoyMDExLTA3LTAzIDE4OjMyOjM3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBwcm9wZXJseSBzZXQgdXAgYW5hbG9nIGlucHV0CgoyMDExLTA2LTI4IDIzOjQ3OjE4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGluazogQWRkIG1vcmUgbW9kZXMKCjIwMTEtMDYtMDMgMTk6NDE6MzMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaW50ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlci9nc3RpbnRlci5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ0ZXN0LmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuaDoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuaDoKCSAgaW50ZXI6IG5ldyBpbnRlcm1lZGlhdGUgc3VyZmFjZSBwbHVnaW4KCSAgVGhpcyBzZXQgb2YgZWxlbWVudHMgYWxsb3dzIGVhc2lseSByZW5kZXJpbmcgYXVkaW8gYW5kIHZpZGVvIHRvCgkgIGFuIGludGVybWVkaWF0ZSBzdXJmYWNlIHRoYXQgaXMgdGhlbiB1c2VkIGFzIGEgc291cmNlIGluIGEgZGlmZmVyZW50CgkgIHBpcGVsaW5lLgoKMjAxMS0wNi0xOCAxNTo1MTo1NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuaDoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBBZGQgSlBFRyBZQ2JDciBtYXRyaXgKCjIwMTEtMDYtMTggMTU6NTY6NDkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiB1cGRhdGUgZm9yIG5ldyBsaWJ2cHggYXBpCgoyMDExLTA2LTI2IDE5OjI5OjI0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkgIHk0bWRlYzogRml4IGJ1ZmZlciBkdXJhdGlvbgoKMjAxMS0wNi0yNiAxNToxNTo1NCArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBnZW5lcmF0ZSBhIHRpbWVzdGFtcCBmb3IgYWx0LXJlZiBmcmFtZXMuCgkgIEl0IHdpbGwgZml4IGhhbmRsaW5nIG9mIGFsdHJlZi9pbnZpc2libGUgZnJhbWVzIHNpbmNlIG1hdHJvc2thLW11eAoJICBkcm9wIGFueSBmcmFtIHdpdGggbm8gdGltZXN0YW1wLgoJICBzZWUgYWxzbzoKCSAgaHR0cDovL3d3dy53ZWJtcHJvamVjdC5vcmcvY29kZS9zcGVjcy9jb250YWluZXIvCgkgIFRoZSBlbmNvZGVyIHdpbGwgY3VycmVudGx5IHNldCB0aGUgQVIncyB0aW1lc3RhbXAgYXMgY2xvc2UgYXMgcG9zc2libGUKCSAgdG8gdGhlIHByZXZpb3VzIGZyYW1lIHdoaWxlIGF0dGVtcHRpbmcgdG8gcHJvdmlkZSBhIHRpbWVzdGFtcCB0aGF0IGlzCgkgIHN0cmljdGx5IGluY3JlYXNpbmcuIEluIGNhc2VzIHdoZXJlIHRoZSB0aW1lIGJhc2UgZ2l2ZW4gdG8gdGhlIGVuY29kZXIKCSAgYXQgY29uZmlndXJlIHRpbWUgaXMgbm90IGdyYW51bGFyIGVub3VnaCB0byBhbGxvdyBmb3IgdGhpcyB0aGUgQVIKCSAgd2lsbCBzaGFyZSB0aGUgc2FtZSB0aW1lc3RhbXAgYXMgRCwgYnV0IHNob3VsZCBiZQoJICB0cmVhdGVkIGFzIGhhdmluZyBubyBkdXJhdGlvbi4KCSAgRml4ZXMgYnVnICM2NTI5NTEKCSAgU2lnbmVkLW9mZi1ieTogQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMS0wNi0yNSAyMzo1NToyOCArMDMwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIHdpbmluZXQ6IEZpeCBjb25maWd1cmUgY2hlY2sgYnkgaW5jbHVkaW5nIHdpbmRvd3MuaAoJICBGaXhlcyBidWcgIzY1MzE2MS4KCjIwMTEtMDYtMDcgMTM6NTU6MzggKzAzMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9kM2R2aWRlb3NpbmsvTWFrZWZpbGUuYW06CgkgIGQzZHZpZGVvc2luazogRml4IGNvbmZpZ3VyZSBjaGVjayBhbmQgbWFrZWZpbGVzCgkgIEZpeGVzIGJ1ZyAjNjUyMDM1LgoKMjAxMS0wNi0yNSAxNToxMjo0NSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdHRhL2dzdHR0YWRlYy5jOgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6CgkgIHR0YTogZGVjcmVhc2UgcmFuayB0byBOT05FCgkgIEFwcGVhcnMgdG8gYmUgdXR0ZXJseSBpbmNhcGFibGUgb2YgcGFyc2luZyBhbmQgZGVjb2RpbmcgVFRBIHN0cmVhbXMuCgkgIEhhc24ndCBiZWVuIHVwZGF0ZWQgdG8gZG8gVFRBMi4gIElmIHlvdSB3YW50IHRoaXMgZWxlbWVudCB0byB3b3JrLAoJICBmaXggdGhlIGJsb29keSB0aGluZy4gIFRoZSBnc3QtZmZtcGVnIGRlY29kZXIgd29ya3MgZmluZS4KCSAgQWxzbyBmaXhlZCBhbiBvYnZpb3VzIGVuZGlhbm5lc3MgaXNzdWUgYWxvbmcgdGhlIHdheS4KCSAgRml4ZXM6ICM2NTI5MjQKCjIwMTEtMDYtMTggMTc6NDc6MzYgKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogYWRkIGNoZWNrIGlmIHdlIGhhdmUgbGVnYWwgYXNwZWN0LXJhdGlvIGJlZm9yZSByZXNldCBpdC4KCSAgdGhlIGNvbW1pdCBmOWI1NTJmMDQ5NGUgKHZwOGRlYzogc2V0IHBhciB0byAxLzEpCgkgIHdpbGwgZml4IHNpdHVhdGlvbiB3aGVyZSBubyBhc3BlY3QtcmF0aW8gaXMgc2V0LCBidXQgaXQgYnJha2UKCSAgc3RyZWFtIHdpdGggYXZhaWxhYmxlIGFzcGVjdC1yYXRpby4gVGhpcyBwYXRjaCBmaXggaXQuCgkgIEZpeGVzOiAjNjUyOTAyLgoJICBTaWduZWQtb2ZmLWJ5OiBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDExLTA2LTIzIDIwOjExOjU1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogZG9uJ3QgdXNlIEdMaWIgMi4yOCBBUEkKCSAgRG9uJ3QgdXNlIEdMaWIgMi4yOCBBUEksIHdlIHN0aWxsIG9ubHkgcmVxdWlyZSA+PSAyLjI0LgoKMjAxMS0wNi0yMyAxMToyODo1MyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDY5Yjk4MWYgdG8gNjA1Y2Q5YQoKMjAxMS0wNi0yMiAyMjoyNToxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFNldCB0YWdzZXR0ZXJzIHRvIG1lcmdlIHJlcGxhY2UgbW9kZQoJICBUaGUgZGVmYXVsdCBmb3IgdGFnc2V0dGVycyBpcyB0byB1c2UgbWVyZ2Uga2VlcCBtb2RlLCBzbyB0YWdzCgkgIHdvdWxkIG5ldmVyIGJlIHJlcGxhY2VkIGFuZCBhbGwgY2FwdHVyZXMgd291bGQgaGF2ZSB0aGUgc2FtZSB0YWdzLgoJICBUaGlzIGNvbW1pdCB3YXRjaGVzIGFsbCBlbGVtZW50cyBhZGRlZCBpbnRvIGVuY29kZWJpbiBhbmQgc2V0cwoJICBhbGwgdGFnc2V0dGVycyB0byBtZXJnZSByZXBsYWNlIG1vZGUKCjIwMTEtMDYtMjIgMTg6NTg6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogVXNlIGEgc2luZ2xlIGxvY2F0aW9uIGZvciBib3RoIG1vZGVzCgkgIEltcGxlbWVudCB0aGUgbG9jYXRpb24gcHJvcGVydHkganVzdCBsaWtlIGl0IHdvcmtzIGluIGNhbWVyYWJpbiwgdGhlCgkgIHNhbWUgbG9jYXRpb24gaXMgdXNlZCBmb3IgYm90aCBpbWFnZXMgYW5kIHZpZGVvcwoKMjAxMS0wNi0yMiAxNjoyNzowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogU2VuZCBzZXJpYWxpemVkIGN1c3RvbSBldmVudHMgZm9yIGZpbGVuYW1lIGNoYW5nZXMgaW4gaW1hZ2Ugc2luawoJICBVc2luZyBzZXJpYWxpemVkIGN1c3RvbSBldmVudHMgZm9yIHN3aXRjaGluZyBpbWFnZSBjYXB0dXJlIHNhdmluZwoJICBsb2NhdGlvbiBtYWtlcyBjYW1lcmFiaW4yIHNhdmUgZWFjaCBjYXB0dXJlIGNvcnJlY3RseSB0byB0aGUgbG9jYXRpb24KCSAgdGhhdCB3YXMgc2V0IGR1cmluZyB0aGUgbW9tZW50IHN0YXJ0LWNhcHR1cmUgd2FzIGNhbGxlZCwgYW5kIG5vdAoJICB0aGUgbW9tZW50IHRoZSBmaWxlc2luayB3YXMgd3JpdGluZyB0byBkaXNrLgoJICBUaGlzIHByZXZlbnRzIGNhcHR1cmVzIHRvIGJlIG92ZXJ3cml0ZW4gYnkgcmFjeW5lc3MgYW1vbmcgc3RhcnQtY2FwdHVyZQoJICBhbmQgc2V0dGluZyBsb2NhdGlvbiBmb3IgaW1hZ2VzLgoKMjAxMS0wNi0yMiAxNTo1NjoyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IE5vIG5lZWQgdG8gY2hhbmdlIHN0YXRlIG9mIHRoZSB3aG9sZSBpbWFnZSBicmFuY2gKCSAgV2Ugb25seSBuZWVkIHRvIGNoYW5nZSB0aGUgc3RhdGUgb2YgdGhlIGZpbGVzaW5rIHRvIHN3aXRjaCBpdHMKCSAgc2F2aW5nIGxvY2F0aW9uLiBUaGlzIG1pZ2h0IHN0aWxsIGNhdXNlIHNvbWUgcHJvYmxlbXMgb2YgZHJvcHBpbmcKCSAgY2FwdHVyZWQgYnVmZmVycywgYnV0IGl0IGlzIGJldHRlciB0aGFuIGNoYW5naW5nIHRoZSBzdGF0ZSBvZgoJICB0aGUgd2hvbGUgYnJhbmNoLgoKMjAxMS0wNi0yMiAxNTozNzo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFVzZSBuYW1lcyBmb3IgaW1hZ2UgYW5kIHZpZGVvIGVuY29kZWJpbgoJICBOYW1pbmcgZW5jb2RlYmlucyBhcyBpbWFnZS1lbmNvZGViaW4gYW5kIHZpZGVvLWVuY29kZWJpbiB0byBtYWtlCgkgIGl0IGVhc2llciBmb3IgZGVidWdnaW5nIGNhbWVyYWJpbjIuCgoyMDExLTA2LTE3IDE3OjI2OjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDExLTA2LTE3IDE0OjMyOjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IEFkZHMgbmV3IHRlc3QgdG8gY2hlY2sgaW1hZ2UgbG9jYXRpb24gY29ycmVjdG5lc3MKCSAgVGhpcyBuZXcgdGVzdCBjaGVja3MgdGhhdCBpbWFnZXMgYXJlIHNhdmVkIHdpdGggdGhlIGZpbGVuYW1lIHNldHRpbmcKCSAgb24gbG9jYXRpb24gb24gdGhlIG1vbWVudCBvZiB0aGUgc3RhcnQtY2FwdHVyZQoKMjAxMS0wNi0xNSAwODoyMDozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IE1pbm9yIGRlYnVnIG1lc3NhZ2UgZml4CgoyMDExLTA1LTEzIDExOjI1OjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluMjogQWRkcyBwZXJmb3JtYW5jZSBtZWFzdXJlbWVudCB0byBnc3QtY2FtZXJhYmluMi10ZXN0CgkgIEFkZHMgcGVyZm9ybWFuY2UgKHRpbWluZykgbWVhc3VyZSBmZWF0dXJlIHRvIGdzdC1jYW1lcmFiaW4yLXRlc3QsIGl0IGFsbG93cwoJICB1c2VycyB0byBzcGVjaWZ5IHNvbWUgdGFyZ2V0IHZhbHVlcyBmb3IgY29tbW9ubHkgbWVhc3VyZWQgdGltZXMgYW5kIHRoZQoJICBhcHBsaWNhdGlvbiB3aWxsIHByaW50IG91dCBhIHRhYmxlIG9mIHZhbHVlcyBhdCB0aGUgZW5kIG9mIGl0cyBleGVjdXRpb24KCSAgd2l0aCB0aGUgbWVhc3VyZWQgdGltZXMgYW5kIGF2ZXJhZ2VzIG9mIHRoZW0uCgoyMDExLTA2LTIyIDEwOjEzOjM4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGxlZ2FjeWgyNjRwYXJzZTogY3JlYXRlIGNvcnJlY3QgYXZjIGNvZGVjLWRhdGEKCSAgRml4ZXMgIzY1MzAxMy4KCjIwMTEtMDYtMjEgMTI6NDU6MzEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgbGVnYWN5aDI2NHBhcnNlOiBmaXggb3V0cHV0IGNhcHMgYWxpZ25tZW50IGZvciBhdmMgaW5wdXQKCSAgLi4uIHBhcnRpY3VsYXJseSB3aGVuIHNwbGl0dGluZyBwYWNrZXRpemVkIGlucHV0LgoJICBGaXhlcyAjNjUyOTk1LgoKMjAxMS0wNi0yMSAxMjo0Mzo0MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGF2YyBpbnB1dCBtdXN0IGVpdGhlciBwYXNzLXRocm91Z2ggb3IgYmUgc3BsaXQgaW50byBieXRlc3RyZWFtIGNodW5rcwoJICAuLi4gc2luY2UgcGFyc2luZyBjb2RlIGlzIG5vdCBtZWFudCB0byByZWNlaXZlIGF2YyBkYXRhLgoJICBGaXhlcyAjNjUzMDg3LgoKMjAxMS0wNi0yMSAxMjo0MTo0NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGF2b2lkIGJvZ3VzIGZyYW1lIHBhcnNpbmcgc3RhdGUKCjIwMTEtMDYtMjAgMTI6NDc6MzkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL0RlY2tMaW5rQVBJLmg6CgkqIHN5cy9kZWNrbGluay9EZWNrTGlua0FQSURpc3BhdGNoLmNwcDoKCSAgZGVja2xpbms6IHVwZGF0ZSBEZWNrTGluayBBUEkgd3JhcHBlcnMKCjIwMTEtMDYtMjAgMDA6Mzg6MDUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGluazogQWRkIGNvbm5lY3Rpb24gdHlwZQoKMjAxMS0wNi0wNSAyMToxOTo1OCAtMDcwMCAgUmFmYWVsIERpbml6IDxyYWZhZWxAcmlzZXVwLm5ldD4KCgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuaDoKCSAgZGVja2xpbmtzaW5rOiBBZGQgYXVkaW8gc3VwcG9ydAoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDYtMDUgMjE6MjQ6NTggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rOiBBZGQgdmFyaW91cyBmZWF0dXJlcwoJICBCZXR0ZXIgbW9kZSBzdXBwb3J0LCBpbnB1dCBzb3VyY2UgcHJvcGVydHksIGF1ZGlvIHN1cHBvcnQuCgoyMDExLTA2LTA1IDIxOjI0OjM5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSAgZGVja2xpbms6IHJlbW92ZSB1bnVzZWQgY29kZQoKMjAxMS0wNi0wNSAyMToxNzowNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvRGVja0xpbmtBUElEaXNwYXRjaC5jcHA6CgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rOiByZWluZGVudAoKMjAxMS0wNi0xNyAxNjoxMjowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBvbmx5IGZyZWUgdGhlIGluZGV4IGFycmF5IGlmIGl0IGV4aXN0cwoJICBPbmx5IGZyZWUgdGhlIGFycmF5IGlmIGl0IGV4aXN0cy4KCSAgQ29udGFpbnMgYW4gdW5yZWxhdGVkIGluZGVudGF0aW9uIGZpeCwgY291cnRlc3kgb2YgZ3N0LWluZGVudAoKMjAxMS0wNi0xOCAwMToxMTowNSArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICB1cGRhdGUgZG9jcyBnZW5lcmF0ZWQgZmlsZXMKCjIwMTEtMDYtMTggMDE6MDk6NTEgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXBzcmMueG1sOgoJKiBleHQvcnRtcC9NYWtlZmlsZS5hbToKCSogZXh0L3J0bXAvZ3N0cnRtcC5jOgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5oOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIFJUTVA6IGFkZCBydG1wc2luayBlbGVtZW50IGZvciBvdXRwdXQgdG8gYW4gUlRNUCBzZXJ2ZXIKCjIwMTEtMDYtMTYgMTc6MTc6MDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9jb2xvcnNwYWNlLmM6CgkgIHRlc3RzOiBhZGQgY29sb3JzcGFjZSB1bml0IHRlc3QKCSAgQ29tcGFyZXMgY29sb3JzcGFjZSByZXN1bHQgd2l0aCBmZm1wZWdjb2xvcnNwYWNlIG91dHB1dCB1c2luZyBTU0lNLgoJICBBbHNvIHByb2JlcyBmb3IgcG9zc2libGUgY3Jhc2hlcyBmb3Igb2RkIHdpZHRoIGFuZCBoZWlnaHQgaW1hZ2UgYnkgYXBwbHlpbmcKCSAgYWxsIHBvc3NpYmxlIGNvbG9yc3BhY2UgdHJhbnNmb3JtYXRpb25zLgoKMjAxMS0wNi0xNyAxMjoxMDowNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZGVidWd1dGlsc2JhZC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuaDoKCSAgZGVidWd1dGlsczogYWRkIGNvbXBhcmUgZWxlbWVudAoKMjAxMS0wNi0xNSAxODoyMDo0OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IGZpeCBvZGQgd2lkdGggYW5kIGhlaWdodCBoYW5kbGluZyBpbiBzb21lIGZhc3RwYXRoIGNhc2VzCgoyMDExLTA2LTE2IDE5OjA2OjAzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9zaG1waXBlLmg6CgkgIHNobTogSW1wcm92ZSBkb2N1bWVudGF0aW9uIG9mIGludGVybmFsIHNobXBpcGUKCjIwMTEtMDYtMTUgMTY6MzI6MDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9jb2xvcnNwYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuaDoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS52Y3Byb2o6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5oOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLWRpc3QuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy1kaXN0Lmg6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMub3JjOgoJICBNb3ZlZCAnY29sb3JzcGFjZScgZnJvbSAtYmFkIHRvIC1iYXNlCgoyMDExLTA2LTE1IDE2OjA2OjM2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGFuZHJvaWQvYWFjcGFyc2UubWsKCSAgYW5kcm9pZC9hbXJwYXJzZS5tawoJICBhbmRyb2lkL2gyNjRwYXJzZS5tawoJICBhbmRyb2lkL21ldGFkYXRhLm1rCgkgIGFuZHJvaWQvcXRtdXgubWsKCSAgYW5kcm9pZC9zZHBlbGVtLm1rCgkgIGNvbmZpZ3VyZS5hYwoJICBnc3QvcXRtdXgvZ3N0cXRtdXguYwoJICB3aW4zMi9jb21tb24vY29uZmlnLmgKCjIwMTEtMDYtMTMgMTE6MTI6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5jOgoJICB3aW5pbmV0c3JjOiBkb24ndCB1c2UgR19DT05TVF9SRVRVUk4KCSAgSXQncyBnb2luZyB0byBiZSBkZXByZWNhdGVkIHJlYWxseSBzb29uLgoKMjAxMS0wNi0xMiAxMjo1NTo0MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBTcGVlZCB1cCB0aGUgc3RhcnQgY29kZSBzZWFyY2ggYWxnb3JpdGhtCgkgIEJhc2VkIG9uIDk2YTdmOWM4YjExOTUxMjlmMGMyMTU3Y2JiY2JhYTZjYWI0NTA1NmUKCSAgTWFrZXMgaXQgMy00IHRpbWVzIGZhc3RlcgoKMjAxMS0wNi0xMiAxMjo0MDoxNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBGaXggc2luayBwYWQgdGVtcGxhdGUKCSAgbm8gd29uZGVyIGl0IHdhcyBuZXZlciBwaWNrZWQgdXAgLi4uCgoyMDExLTA2LTEyIDExOjI3OjMwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRG9uJ3QgZnJlZSB1bmV4aXN0ZW50IFBBVAoJICBBbmQgY2xlYW51cCBmaW5kX3RpbWVzdGFtcHMgYSBiaXQKCjIwMTEtMDUtMTggMTk6MzM6NDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBNb3JlIGZpeGVzIHRvIGhhbmRsZSBub24tMTg4IGJ5dGUgcGFja2V0cwoKMjAxMS0wNS0xNSAxNDowNDo0NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9wYXlsb2FkX3BhcnNlcnMuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3BheWxvYWRfcGFyc2Vycy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHM6IFN0b3Agc2Nhbm5pbmcgZm9yIGtleWZyYW1lcyBhcyBlYXJseSBhcyBwb3NzaWJsZQoKMjAxMS0wMy0zMSAxNDozNjowMiArMDIwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGFsd2F5cyB0cnkgdG8gc2VlayBmb3IgdG8gYSBrZXlmcmFtZQoJICBrZXlmcmFtZSBpcyBleHBlY3RlZCB0byBsaWUgaW4gdGhlIHRoZSBuZXh0IH4yNTAwIG1zCgoyMDExLTAzLTIzIDE4OjUwOjI1ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZml4IHRpbWVzdGFtcHMgaW4gbmV3c2VnZW1lbnQgZXZlbnQgYWZ0ZXIgc2Vla2luZwoKMjAxMS0wMy0zMCAxMToyNjoxOCArMDIwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3BheWxvYWRfcGFyc2Vycy5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGF5bG9hZF9wYXJzZXJzLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBwYXlsb2FkIHBhcnNpbmcgZm9yIEguMjY0CgoyMDExLTAzLTI4IDEwOjIwOjQzICswMjAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9wYXlsb2FkX3BhcnNlcnMuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3BheWxvYWRfcGFyc2Vycy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogaW1wbGVtZW50IGtleV91bml0IHNlZWtpbmcgZm9yIE1QRUcyIHZpZGVvCgoyMDExLTAzLTIyIDE2OjQ5OjEzICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogYWNjdXJhdGUgc2Vla2luZwoJICAqIHBlcyBoZWFkZXIgcGFyc2luZyBmb3IgcHRzIGlzIHVnbHksIHJlZmFjdG9yCgkgICogdGltZXN0YW1wcy9uZXdzZWdtZW50IGFmdGVyIHNlZWtpbmcgaXMgc3RpbGwgb2ZmCgoyMDExLTAyLTIyIDEyOjMzOjU2ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICBtcGVndHNkZW11eDogcHVzaCBiYXNlZCBzZWVraW5nIGJhc2VkIG9uIFBDUgoJICBidWZmZXIgdGltZXN0YW1wcyBhcmUgY29udmVydGVkIHRvIEdzdENsb2NrVGltZSB0byBjb3ZlciBwY3IvcHRzIHdyYXBzLgoJICBtdWx0aXBsZSBwY3IvcHRzIHdyYXBzIGFyZSBoYW5kbGVkIHdpdGggYW4gaW5kZXggd2hpY2ggZW5zdXJlcyBhdCBtb3N0CgkgIGEgc2luZ2xlIHBjciB3cmFwYXJvdW5kIGJldHdlZW4gdHdvIGVudHJpZXMuCgkgIHRoZSBsYXN0IHNlZW4gcGNyIGlzIHJlY29yZGVkIHRvIGhhdmUgYSBuZWFyYnkgaW5kZXggcG9pbnQgZm9yIHNob3J0IHNlZWtzCgkgIHJlc3VtaW5nIHBsYXliYWNrIG1pZ2h0IGJlIGRlbGF5ZWQgaWYgdGhlIHBvc3Rpb24gaXMgbm90IGEga2V5ZnJhbWUKCSAgVE9ETzogcmVwbGFjZSBtYW51YWwgcGFja2V0IHNjYW5uaW5nIGFuZCBwYXJzaW5nIGluIHRoZSBpbml0aWFsIGR1cmF0aW9uIGVzdGltYXRpb24KCjIwMTEtMDItMjMgMTU6MjE6MjIgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBjcmVhdGUgZnVuY3Rpb24gZm9yIHBjciBwYXJzaW5nCgoyMDExLTA0LTExIDE0OjUzOjI4ICswMjAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNkZW11eDogYWRhcHRhdGlvbiBmaWVsZCBsZW5ndGggPT0gMCBpcyB2YWxpZAoJICBpdCBjYW4gYmUgdXNlZCB0byBpbnNlcnQgYSBzaW5nbGUgc3R1ZmZpbmcgYnl0ZQoJICBkbyBub3QgcGFyc2UgdGhlIGZvbGxvd2luZyBwYXlsb2FkIGFzIGFkYXB0YXRpb24gZmllbGQKCjIwMTEtMDYtMDcgMTQ6MTQ6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkgIEFkZCBnc3QvaW52dGVsZWNpbmUgdG8gQ1JVRlRfRElSUwoKMjAxMS0wNi0wNyAxMzo0NDowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVxdWlyZSBHTGliID49IDIuMjQKCSAgTWFrZSBpbXBsaWNpdCByZXF1aXJlbWVudCBleHBsaWNpdC4KCjIwMTEtMDYtMDYgMTU6MjM6MjIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9iYXNlYXVkaW92aXN1YWxpemVyLmM6CgkgIHRlc3RzOiBhZGQgYSB0ZXN0IGZvciBiYXNlYXVkaW92aXN1YWxpemVyCgoyMDExLTA2LTA2IDE1OjIwOjMwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkgIGJhc2VhdWRpb3Zpc3VhbGl6ZXI6IGZpeCBsYXN0IGJsb2NrIGNvbmRpdGlvbgoJICBBbHNvIHB1c2ggb3V0IHRoZSBsYXN0IGZyYW1lIGlmIHdlIGhhdmUgZXhhY3QgYW1vdW50IG9mIHNhbXBsZXMuIEZpeCB0aGUgYWRhcHRlcgoJICBmbHVzaGluZyB0byBub3QgY2F1c2UgZW5kbGVzcyBsb29wcy4gRHJvcCBhIHJlZHVuZGFudCBhdmFpbCgpIGNoZWNrLgoKMjAxMS0wNi0wNCAyMDo0MTo0OSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvUkVBRE1FOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiBhZGQgYSBSRUFETUUgd2l0aCBjb21tZW50cyBhbmQgcGxhbnMKCjIwMTEtMDYtMDQgMjA6MzQ6MjAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVja2xpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGl2eGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXZ4ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhY2VvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpbnN5cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sdjIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wYXRjaGRldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRpbWlkaXR5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvM2QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgZG9jczogdXBkYXRlIGluc3BlY3QgZmlsZXMKCjIwMTEtMDYtMDQgMTY6MTI6NDAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkgIGRvY3M6IGFkZCBuZXcgYXVkaW92aXN1YWxpemVycyB0byB0aGUgcGx1Z2luIGRvY3MKCjIwMTEtMDYtMDQgMTU6NTY6MTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IHJlbW92ZSBzb21lIG5vdCBuZWVkZWQgYm9pbGVycGxhdGUKCjIwMTEtMDYtMDQgMTU6NTI6NDQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvcGx1Z2luLmM6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IGFkZCBhIHNwYWNlc2NvcGUgZWxlbWVudAoJICBBZGQgYW5vdGhlciBlbGVtZW50IHRoYXQgbWFwcyBsZWZ0L3JpZ2h0IGNoYW5uZWwgdG8geCx5IGNvb3JkaW5hdGVzLgoKMjAxMS0wNi0wNCAxNTozODo0NiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJICBzeW5hZXNjb3BlOiB0d2VhayB0aGUgYWxnb3JpdGhtCgkgIFNwZWVkLXVwIHRoZSBjYWxjdWxhdGlvbiBhIGJpdC4gS2VlcCBhIGZldyB2YWx1ZXMgYXMgZG91Ymxlcy4gVHVuZSB0aGUgc2NhbGluZwoJICB0byBnZXQgbmljZXMgY29sb3JzLgoKMjAxMS0wNi0wNCAxNDozNzowNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiBkb2MtYmxvYiBhbmQgY29tbWVudCB1cGRhdGVzCgoyMDExLTA2LTA0IDE0OjMzOjI5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5oOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiByZW5hbWUgYmFzZWNsYXNzIGZyb20gYmFzZXNjb3BlIHRvIGJhc2VhdWRpb3Zpc3VhbGl6ZXIKCjIwMTEtMDYtMDQgMTQ6MjU6NTcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9wbHVnaW4uYzoKCSogZ3N0L3Njb3Blcy9NYWtlZmlsZS5hbToKCSogZ3N0L3Njb3Blcy9nc3RiYXNlc2NvcGUuYzoKCSogZ3N0L3Njb3Blcy9nc3RiYXNlc2NvcGUuaDoKCSogZ3N0L3Njb3Blcy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L3Njb3Blcy9nc3RzcGVjdHJhc2NvcGUuaDoKCSogZ3N0L3Njb3Blcy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9zY29wZXMvZ3N0c3luYWVzY29wZS5oOgoJKiBnc3Qvc2NvcGVzL2dzdHdhdmVzY29wZS5jOgoJKiBnc3Qvc2NvcGVzL2dzdHdhdmVzY29wZS5oOgoJKiBnc3Qvc2NvcGVzL3BsdWdpbi5jOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiByZW5hbWUgc2NvcGVzIHBsdWdpbiB0byBhdWRpb3Zpc3VhbGl6ZXJzCgoyMDExLTA1LTMxIDE0OjQyOjU1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2NvcGVzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3Qvc2NvcGVzL2dzdHN5bmFlc2NvcGUuYzoKCSAgc2NvcGVzOiBmaXggZWxlbWVudHMgZGVzY3JpcHRpb25zCgoyMDExLTA1LTMwIDIzOjQ1OjE3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2NvcGVzL2dzdHNwZWN0cmFzY29wZS5jOgoJICBzcGVjdHJhc2NvcGU6IHVzZSBhZGRfcGl4ZWwgZm9yIG5vbi13aGl0ZSBwaXhlbHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTUzNgoKMjAxMS0wNS0zMCAyMzozNjo0MiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3Njb3Blcy9NYWtlZmlsZS5hbToKCSogZ3N0L3Njb3Blcy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9zY29wZXMvZ3N0c3luYWVzY29wZS5oOgoJKiBnc3Qvc2NvcGVzL3BsdWdpbi5jOgoJICBzY29wZXM6IGFkZCBhIG5ldyBlbGVtZW50IHNpbWlsYXIgdG8gc3luYWVzdGhlc2lhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTE1MzYKCjIwMTEtMDUtMjggMjM6MjI6NTkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zY29wZXMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9zY29wZXMvZ3N0d2F2ZXNjb3BlLmM6CgkgIHNjb3BlczogZHJhdyBwaXhlbHMgd2l0aCBzaWdubGUgMzJiaXQgd3JpdGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTE1MzYKCjIwMTEtMDUtMjggMTQ6MzY6NTEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zY29wZXMvZ3N0YmFzZXNjb3BlLmM6CgkqIGdzdC9zY29wZXMvZ3N0YmFzZXNjb3BlLmg6CgkgIGJhc2VzY29wZTogYWRkIG1vcmUgc2hhZGluZyBlZmZlY3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTE1MzYKCjIwMTEtMDUtMjggMTQ6MDg6MDUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zY29wZXMvZ3N0YmFzZXNjb3BlLmM6CgkqIGdzdC9zY29wZXMvZ3N0YmFzZXNjb3BlLmg6CgkgIGJhc2VzY29wZTogYWRkIGEgcHJvcGVydHkgdG8gbW9kaWZ5IHRoZSBhbW1vdW50IG9mIHNoYWRpbmcKCSAgQWRkIGFub3RoZXIgcHJvcGVydHkgdG8gc3BlY2lmeSB0aGUgc2hhZGluZyBwZXIgY29sb3IgY2hhbm5lbC4gRml4IGVuZGlhbmVzcwoJICBpc3N1ZXMgaW4gdGhlIHNoYWRpbmcgY29kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTUzNgoKMjAxMS0wNS0yNyAyMzoyNTowMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3Njb3Blcy9NYWtlZmlsZS5hbToKCSogZ3N0L3Njb3Blcy9nc3RiYXNlc2NvcGUuYzoKCSogZ3N0L3Njb3Blcy9nc3RiYXNlc2NvcGUuaDoKCSogZ3N0L3Njb3Blcy9wbHVnaW4uYzoKCSAgYmFzZXNjb3BlOiBhZGQgYSBiYWNrYnVmZmVyIGFuZCBhcHBseSBzaGFkaW5nIGVmZmVjdHMKCSAgS2VlcCB0aGUgbGFzdCBmcmFtZSBhbmQgYXBwbHkgc2hhZGUgYW5kIGdlb21ldHJ5IGVmZmVjdHMuIEV4cG9zZSB0aGUgc2hhZGluZwoJICBlZmZlY3RzIGFzIGEgY29udHJvbGxhYmxlIGdvYmplY3QgcHJvcGVydHkgb24gdGhlIGJhc2VjbGFzcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTUzNgoKMjAxMS0wNS0yNyAyMzoxMjowMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3Njb3Blcy9nc3RiYXNlc2NvcGUuYzoKCSogZ3N0L3Njb3Blcy9nc3RiYXNlc2NvcGUuaDoKCSogZ3N0L3Njb3Blcy9nc3RzcGVjdHJhc2NvcGUuYzoKCSAgYmFzZXNjb3BlOiBhbGxvdyBzdWJjbGFzc2VzIHRlbGxpbmcgaG93IG1hbnkgc2FtcGxlIHRoZXkgbmVlZCBwZXIgZnJhbWUKCSAgVGhpcyBhbGxvd3MgZS5nLiBGRlQgYmFzZWQgZWxlbWVudHMgdG8gcmVxdWlyZSBlbm91Z2ggZGF0YS4gSWYgdGhleSBuZWVkIG1vcmUKCSAgZGF0YSB0aGFuIHdoYXQgd2UgZ2V0LCB3ZSBmbHVzaCBsZXNzIGZyb20gdGhlIGFkYXB0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTE1MzYKCjIwMTEtMDUtMjcgMjI6NTM6MTAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zY29wZXMvZ3N0YmFzZXNjb3BlLmM6CgkgIGJhc2VzY29wZTogcmVtb3ZlIHNvbWUgY29tbWVudHMKCSAgVGhvc2UgY29tbWVudHMgd2hlcmUgcG9pbnRpbmcgdG8gZXhhbXBsZSBjYWxscyB0aGF0IHdlIGRvIGluIHRoZSBzdWJjbGFzcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTUzNgoKMjAxMS0wNS0yNyAxNDo0Mzo1MSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3Njb3Blcy9NYWtlZmlsZS5hbToKCSogZ3N0L3Njb3Blcy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L3Njb3Blcy9nc3RzcGVjdHJhc2NvcGUuaDoKCSogZ3N0L3Njb3Blcy9wbHVnaW4uYzoKCSAgc2NvcGVzOiBhZGQgYSBzaW1wbGUgZmZ0IGJhc2VkIHNjb3BlCgkgIEFkZCBhIDJuZCBkZW1vIHNjb3BlIHRoYXQgdXNlcyBhIGZmdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTUzNgoKMjAxMS0wNS0yNyAxMToxNDoxOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc2NvcGVzL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2NvcGVzL2dzdGJhc2VzY29wZS5jOgoJKiBnc3Qvc2NvcGVzL2dzdGJhc2VzY29wZS5oOgoJKiBnc3Qvc2NvcGVzL2dzdHdhdmVzY29wZS5jOgoJKiBnc3Qvc2NvcGVzL2dzdHdhdmVzY29wZS5oOgoJKiBnc3Qvc2NvcGVzL3BsdWdpbi5jOgoJICBzY29wZXM6IGZpcnN0IHZlcnNpb24gb2YgYSBzY29wZXMgcGx1Z2luIHVzaW5nIGEgbmV3IGJhc2VjbGFzcwoJICBBZGQgYSBuZXcgYmFzZWNsYXNzIGZvciB3cml0aW5nIHZpc3VhbGlzYXRpb24gcGx1Z2lucy4gUHJvdmlkZSBhIHNpbXBsZSB3YXZlCgkgIG9zY2lsbG9zY29wZSBhcyBhIGZpcnN0IHN1YmNsYXNzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxNTM2CgoyMDExLTA0LTI5IDEzOjMzOjQzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogQXZvaWQgZG91YmxlIHNjYW5uaW5nIG9mIHBpY3R1cmVzCgkgIFRoZSBpbmNvbWluZyBkYXRhIGhhcyBhbHJlYWR5IGJlZW4gc2Nhbm5lZCBpbiBtcGVnX3BhY2tldGl6ZXJfYWRkX2J1Zi4KCSAgV2UgY2FuIHRoZXJlZm9yZSBzdG9wIHNjYW5uaW5nIGZvciBwaWN0dXJlIGRhdGEgYXMgc29vbiBhcyB3ZSd2ZSBwYXJzZWQKCSAgdGhlIGhlYWRlci4gTWFrZXMgbXBlZ3ZpZGVvcGFyc2UgMiB0aW1lcyBmYXN0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDg5MzMKCjIwMTEtMDYtMDUgMTM6NTY6MDggLTA3MDAgIExldmVudGUgRmFya2FzIDxsZmFya2FzQGxmYXJrYXMub3JnPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJICBkaXJlY3RkcmF3c2luazogbG93ZXIgcmFuayB0byBzZWNvbmRhcnkKCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA2LTA1IDEzOjM4OjQ2IC0wNzAwICBMZXZlbnRlIEZhcmthcyA8bGZhcmthc0BsZmFya2FzLm9yZz4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9keC5oOgoJICBkM2R2aWRlb3Npbms6IGNvbXBpbGUgZml4CgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNi0wNSAxMDozNDoyOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pbnZ0ZWxlY2luZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkgIGludnRlbGVjaW5lOiBSZW1vdmUgaW4gZmF2b3Igb2YgZmllbGRhbmFseXNpcwoKMjAxMS0wNi0wNCAxODo1NDoxNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBkaXJlY3RkcmF3c2luazogSGFuZGxlIHBpeGVsLWFzcGVjdC1yYXRpbwoJICBGaXhlczogIzY1MTc3OS4gIEZyb20gUmFpbW8gSsOkcnZpLgoKMjAxMS0wNi0wNCAxODo0Mzo0NSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL2QzZHZpZGVvc2luay9NYWtlZmlsZS5hbToKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2QzZC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4Lmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTAvZHgxMC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDEwL2R4MTAuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMC9keDEwX2QzZC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDEwL2R4MTBfZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTEvZHgxMS5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDExL2R4MTEuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMS9keDExX2QzZC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDExL2R4MTFfZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4OS9keDkuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHg5L2R4OS5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDkvZHg5X2QzZC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDkvZHg5X2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZHguYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2R4Lmg6CgkgIGQzZHZpZGVvc2luazogQWRkIHBsdWdpbgoJICBGaXhlcyAjNjUxNzgyLiAgUGF0Y2ggZnJvbSB2YXJpb3VzIGF1dGhvcnMsIGJ5IHdheSBvZiBvc3NidWlsZC4KCjIwMTEtMDYtMDQgMTQ6MDQ6NDQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJICBXb3JrIGFyb3VuZCBjaGFuZ2VzIGluIGdfYXRvbWljIEFQSQoJICBTZWUgIzY1MTUxNCBmb3IgZGV0YWlscy4KCjIwMTEtMDYtMDQgMTM6NTE6MjAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGZyYW1lLmM6CgkgIHZkcGF1OiByZW1vdmUgb2xkIGdsaWIgY29tcGF0aWJpbGl0eSBjb2RlCgoyMDExLTA2LTAzIDE5OjM2OjU5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogc2V0IHBhciB0byAxLzEKCjIwMTEtMDYtMDMgMTk6MzY6MTIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogQmV0dGVyIGhhbmRsaW5nIG9mIGludmFsaWQgcGFyCgoyMDExLTA1LTMwIDE3OjAzOjE0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9maWx0ZXIyLmM6CgkgIHZpZGVvZmlsdGVyMjogRml4IGNvcHlyaWdodAoKMjAxMS0wNi0wNCAyMDozNTowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgZ3N0OiBzb21lIG1vcmUgdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgd2FybmluZyBmaXhlcwoKMjAxMS0wNS0zMCAxNzo1NDoyNiArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZXh0L2NvZy9nc3Rjb2dkb3duc2FtcGxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nc2NhbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2xvcmNvbnZlcnQuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkqIGdzdC9wYXRjaGRldGVjdC9nc3RwYXRjaGRldGVjdC5jOgoJKiBnc3Qvc2RpL2dzdHNkaWRlbXV4LmM6CgkqIGdzdC9zZGkvZ3N0c2RpbXV4LmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0c2NlbmVjaGFuZ2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2ZpbHRlcjIuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R6ZWJyYXN0cmlwZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzaW5rLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc3JjLmM6CgkgIFJlbW92ZSB1bnVzZWQgYnV0IHNldCB2YXJpYWJsZXMKCSAgVGhpcyBpcyBuZWVkZWQgdG8gc2F0aXNmeSB0aGUgbmV3IC1XdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgYWRkZWQgaW4KCSAgR0NDIDQuNjogaHR0cDovL2djYy5nbnUub3JnL2djYy00LjYvY2hhbmdlcy5odG1sCgoyMDExLTA1LTA5IDE0OjM1OjQyIC0wMzAwICBMdWNpYW5hIEZ1amlpIFBvbnRlbGxvIDxsdWNpYW5hLmZ1amlpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICBjYW1lcmFiaW4yOiBBZGRpbmcgYSBmaWx0ZXIgdG8gd3JhcHBlcmNhbWVyYWJpbnNyYwoJICBDYW1lcmFiaW4yIGFsbG93cyBzZXR0aW5nIGEgZmlsdGVyIGZvciBpbWFnZSwgdmlkZW8gb3Igdmlld2ZpbmRlciwgYnV0CgkgIG5vdCBvbmUgZmlsdGVyIGZvciBhbGwgdGhyZWUgYXQgdGhlIHNhbWUgdGltZS4gSSBhZGRlZCBhIGZpbHRlciB0bwoJICB3cmFwcGVyY2FtZXJhYmluc3JjIHRvIGFsbG93IHNldHRpbmcgYSBnbG9iYWwgZmlsdGVyIHdoZW4gdXNpbmcgdGhpcwoJICBzb3VyY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDk4MjIKCjIwMTEtMDUtMjYgMDA6MDk6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogcmVtb3ZlIHVudXNlZCB2YXIKCjIwMTEtMDUtMjUgMjM6Mjk6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGNhbWVyYWJpbjI6IFVzZSBmdWxsIG5hbWVzIGluIHByb3BlcnRpZXMKCSAgSW1wcm92ZSBBUEkgYnkgdXNpbmcgc291cmNlIGluc3RlYWQgb2Ygc3JjIGluIHByb3BlcnRpZXMKCjIwMTEtMDUtMjMgMTM6MzY6MjcgKzAzMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogZG8gbm90IHVucmVmIHBhZCB0ZW1wbGF0ZQoKMjAxMS0wNS0yOSAxMzoxNjoyMSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogZml4IGF2YyBjaGVjayBzbyB0aGF0IGl0IHRyaWVzIHRvIGxpbmsgdG8gQVZDVmlkZW9TZXJ2aWNlcwoJICBBdm9pZHMgYXZjIHBsdWdpbiBmcm9tIGJlaW5nIGJ1aWx0IHdoZW4gQVZDVmlkZW9TZXJ2aWNlcyBpcyBub3QgaW5zdGFsbGVkCgoyMDExLTA1LTI2IDEyOjIzOjAxICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW46IEFkZCAtLWltYWdlLWZvcm1hdHRlciBjb21tYW5kLWxpbmUgb3B0aW9uCgkgIEFkZCBjb21tYW5kLWxpbmUgb3B0aW9uIHRvIGdzdC1jYW1lcmFiaW4tdGVzdCBmb3IgY29uZmlndXJpbmcgY2FtZXJhYmluCgkgIG1ldGFkYXRhIGZvcm1hdHRlciBlbGVtZW50LgoKMjAxMS0wNS0zMSAxMzowODowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFjLmM6CgkgIGZhYWM6IEZpeCB1bml0IHRlc3QgYWZ0ZXIgbGF0ZXN0IGZhYWMgY2hhbmdlcwoKMjAxMS0wNS0zMSAxMjo1NTo0NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBGaXggc2Nhbm5pbmcgb24gc21hbGwgZmlsZXMKCSAgV2Ugd2VyZSBwcmV2aW91c2x5OgoJICAqIFN0b3BwaW5nIGVhcmx5IGluIHRoZSBpbml0aWFsIFBDUiBzY2FuCgkgICogR2l2aW5nIGEgbmVnYXRpdmUgb2Zmc2V0IGZvciB0aGUgc2Vjb25kIFBDUiBzY2FuCgoyMDExLTA1LTMxIDEyOjU0OjQzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IERvbid0IGNhbGwgcHJvZ3JhbV9zdG9wcGVkIHdpdGggYSBOVUxMIHByb2dyYW0KCjIwMTEtMDUtMTkgMTI6NTU6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgbGVnYWN5aDI2NHBhcnNlOiBEZWxheSBwdXNoaW5nIGJ1ZmZlcnMgdW50aWwgd2UgaGF2ZSB3aWR0aC9oZWlnaHQKCjIwMTEtMDUtMjcgMTE6MTM6MDggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSAgemJhcjogcmVtb3ZlIHRlbXBsYXRlIHN0YW1wIGNvbW1lbnQKCjIwMTEtMDUtMzAgMjM6NDM6MzkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy1kaXN0LmM6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy1kaXN0Lmg6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy5vcmM6CgkgIGJheWVyMnJnYjogQ29udmVydCB0byBPcmMKCSAgU2VyaW91c2x5IGZhc3Rlci4gIEFsZ29yaXRobSBpcyBuZWFybHkgdGhlIHNhbWUgYXMgYmlsaW5lYXIsIHdoaWNoCgkgIGdpdmVuIHRoZSBzcGVlZCBvZiB0aGlzIGNvZGUsIHNob3VsZCBiZSBjb25zaWRlcmVkIHRoZSBiYXNlbGluZSBvZgoJICBxdWFsaXR5LiAgU3BlZWQgYXBwZWFycyB0byBiZSBsaW1pdGVkIGJ5IG1lbW9yeSBiYW5kd2lkdGgsIHNvIEkKCSAgZGlkbid0IGJvdGhlciB0cnlpbmcgdG8gbWFrZSBpdCBhbnkgZmFzdGVyLgoKMjAxMS0wNS0zMCAxNjo1NjozMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkgIGJheWVyMnJnYjogUmV3cml0ZSBzaWduYWwgcHJvY2Vzc2luZy4gTXVjaCBmYXN0ZXIuCgoyMDExLTA1LTMwIDE3OjU0OjI2ICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBSZW1vdmUgdW51c2VkIGJ1dCBzZXQgdmFyaWFibGVzCgkgIFRoaXMgaXMgbmVlZGVkIHRvIHNhdGlzZnkgdGhlIG5ldyAtV3VudXNlZC1idXQtc2V0LXZhcmlhYmxlIGFkZGVkIGluCgkgIEdDQyA0LjY6IGh0dHA6Ly9nY2MuZ251Lm9yZy9nY2MtNC42L2NoYW5nZXMuaHRtbAoKMjAxMS0wNS0zMCAxMzowMTo1NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIFJldmVydCAiZHZkc3B1OiBGaXggcGFkIHRlbXBsYXRlcyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA3MzI4MjhlMzFjYmFjZTU5ZTZjZTRmMjYyYjgzMzllNDNlZDBjNjMxLgoJICBJdCB3YXMgaW4gZmFjdCBhbiBpc3N1ZSBpbiBjb3JlCgoyMDExLTA1LTMwIDEzOjAxOjIwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUHJvdGVjdCBhZ2FpbnN0IHByb2dyYW0gYmVpbmcgcmVtb3ZlZAoKMjAxMS0wNS0zMCAxMjoyNzozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmFjZW92ZXJsYXkvTWFrZWZpbGUuYW06CgkgIGZhY2VvdmVybGF5OiBBZGQgZ3N0LXBsdWdpbnMtYmFzZSBDRkxBR1MgYW5kIExJQlMgdG8gZml4IGNvbXBpbGF0aW9uCgoyMDExLTA1LTMwIDEyOjI0OjMxICswMjAwICBMYXVyYSBMdWNhcyBBbGRheSA8bGF1cmFsdWNhc0BnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9mYWNlb3ZlcmxheS9NYWtlZmlsZS5hbToKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5oOgoJICBmYWNlb3ZlcmxheTogQWRkIGVsZW1lbnQgdGhhdCBkaXNwbGF5cyBhbiBTVkcgaW1hZ2Ugb3ZlciBhIGRldGVjdGVkIGZhY2UKCSAgRml4ZXMgYnVnICM2NDI3NTkuCgoyMDExLTA1LTMwIDA4OjQ4OjI5ICswMjAwICBUb20gRGVzZXluIDx0b20uZGVzZXluQGJhcmNvLmNvbT4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgZGZidmlkZW9zaW5rOiBBbHNvIGNvbnNpZGVyIG5vbi1hY2NlbGVyYXRlZCBEaXJlY3RGQiBzdXJmYWNlcwoJICBGaXhlcyBidWcgIzYzMTM5MC4KCjIwMTAtMDktMDIgMjM6MzE6MjMgKzAzMDAgIE1hcnRpbiBTdG9yc2pvIDxtYXJ0aW5AbWFydGluLnN0PgoKCSogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkgIHF0d3JhcHBlcjogRGVjb2RlIGF1ZGlvIHVudGlsIGFsbCBpbnB1dCBkYXRhIGlzIGNvbnN1bWVkCgkgIFRoZSBzcGVjaWFsIHJldHVybiB2YWx1ZSBpcyByZXR1cm5lZCBmcm9tIG91ciBidWZmZXIgY2FsbGJhY2sKCSAgd2hlbiBhbGwgaW5wdXQgZGF0YSBoYXMgYmVlbiBjb25zdW1lZC4KCjIwMTEtMDUtMDMgMTQ6MTQ6MjAgKzAzMDAgIE1hcnRpbiBTdG9yc2pvIDxtYXJ0aW5AbWFydGluLnN0PgoKCSogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkgIHF0d3JhcHBlcjogUmVwbGFjZSB0aGUgaGFja2lzaCA0MiBtYWdpYyBudW1iZXIgd2l0aCBhIGRlZmluZQoKMjAxMS0wNS0zMCAwODo0Mzo1OSArMDIwMCAgSnVsaWVuIE1PVVRURSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuaDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmg6CgkgIGRzaG93ZGVjd3JhcHBlcjogRml4IENPTSBpbml0aWFsaXphdGlvbgoJICBGaXhlcyBidWcgIzYyNTE5MC4KCjIwMTEtMDUtMzAgMDg6NDM6NDAgKzAyMDAgIEp1bGllbiBNT1VUVEUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3V0aWwuaDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSAgZHNob3dkZWN3cmFwcGVyOiBGaXggZWxlbWVudCByZWdpc3RyYXRpb24gdXNpbmcgZGF0YSBpbiB0aGUgdHlwZSBpbnN0ZWFkIG9mIGEgZ2xvYmFsCgoyMDExLTA1LTI5IDE4OjE2OjQ5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBGaXggcGFkIHRlbXBsYXRlcwoJICBPdXIgY2FwcyBpbnRlcnNlY3Rpb24gY29kZSBpcyBhIGJpdCB0b28gdG91Y2h5IGFib3V0IHdoYXQgYW4gZWxlbWVudAoJICByZXR1cm5zIGNvbXBhcmVkIHRvIGl0cyBwYWQgdGVtcGxhdGVzLgoKMjAxMS0wNS0yOSAxMzowNTozMSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGNoZWNrIGZvciBvdXQgb2YgcmFuZ2UgcHBzX2lkIG9uZSBsYXllciB1cAoKMjAxMS0wNS0yOSAxMzowMzozOCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogZml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDExLTA1LTI5IDEyOjU0OjQwICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGxlZ2FjeWgyNjRwYXJzZTogY2hlY2sgZm9yIG91dCBvZiByYW5nZSBwcHNfaWQgb25lIGxheWVyIHVwCgkgIEZpeGVzIGNvbXBpbGVyIHdhcm5pbmcgY29tcGFyaW5nIGd1aW50OCBhbmQgTUFYX1BQU19DT1VOVCB3aGljaCBpcyA+IEdfTUFYVUlOVDgKCjIwMTEtMDUtMjcgMTE6MDU6NDYgKzAxMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkgIEZpeCBtaXNzaW5nIGhlYWRlciBmaWxlIGFuZCB1cGRhdGUgc3BlYyB0byB3b3JrIGFyb3VuZCBjdXJyZW50IGNvbXBpbGVyIGlzc3VlcwoKMjAxMS0wNS0yNyAxMDo0NDoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSAgZmFhYzogZml4IENGTEFHUyBhbmQgTElCUyBvcmRlciBpbiBNYWtlZmlsZS5hbQoKMjAxMS0wNS0yNyAxMDo0NDo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IFNldCB0aGUgY29ycmVjdCwgdmFsaWQgc2FtcGxlIHJhdGVzIGluIHRoZSBwYWQgdGVtcGxhdGUgY2FwcwoKMjAxMS0wNS0yNyAxMDo0MTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IE1ha2Ugc3VyZSB0byBhbHNvIHJldHVybiBvbmx5IGEgc3Vic2V0IG9mIHRoZSBwYWQgdGVtcGxhdGUgY2FwcyBpbiBnZXRjYXBzCgoyMDExLTA1LTI3IDEwOjM1OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogU2V0IHRoZSBjb3JyZWN0LCB2YWxpZCBzYW1wbGUgcmF0ZXMgaW4gdGhlIHBhZCB0ZW1wbGF0ZSBjYXBzCgoyMDExLTA1LTI3IDEwOjMyOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogVGhlIGVuY29kZXIgbGlicmFyeSBjdXJyZW50bHkgb25seSBzdXBwb3J0cyAxIG9yIDIgY2hhbm5lbHMKCjIwMTEtMDUtMjcgMTA6MzE6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IEFkZCBwcm9maWxlIGFuZCBsZXZlbCB0byB0aGUgY2FwcwoJICBGaXhlcyBidWcgIzY1MDU5NS4KCjIwMTEtMDUtMjcgMTA6MTE6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJICBmYWFjOiBBZGQgdGhlIHByb2ZpbGUgYW5kIGxldmVsIHRvIHRoZSBjYXBzCgkgIEFsc28gbmVnb3RpYXRlIHRoZSBwcm9maWxlIGZyb20gdGhlIGRvd25zdHJlYW0gcGVlciBjYXBzCgkgIGluc3RlYWQgb2YgdXNpbmcgYSBwcm9wZXJ0eS4KCSAgRml4ZXMgYnVnICM2NTA1OTQuCgoyMDExLTA1LTI3IDA5OjQwOjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogVXNlIFBST1BfIGluc3RlYWQgb2YgQVJHXyBmb3IgdGhlIHByb3BlcnR5IGVudW1zCgoyMDExLTA1LTI2IDA5OjU5OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnc3B5LmM6CgkgIGRlYnVnc3B5OiBVc2UgR19QQVJBTV9TVEFUSUNfU1RSSU5HUwoKMjAxMS0wMS0xNCAxNzo0Mjo1MCArMDEwMCAgR3VpbGxhdW1lIEVtb250IDxnZW1vbnRAaWdhbGlhLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzYmFkLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnc3B5LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnc3B5Lmg6CgkgIGRlYnVnc3B5OiBhZGQgbmV3IGVsZW1lbnQKCSAgVGhpcyBlbGVtZW50IGFsbG93cyB5b3UgdG8gZ2V0IGluZm9ybWF0aW9uIGFib3V0IGJ1ZmZlcnMgd2l0aCBidXMgbWVzc2FnZXMuIEl0CgkgIHByb3ZpZGVzIHRoZSBzYW1lIGtpbmQgb2YgaW5mb3JtYXRpb24gYXMgaWRlbnRpdHkgZG9lcyB0aHJvdWdoIGEgbm90aWZ5IHNpZ25hbAoJICBvbiBhIHN0cmluZyBwcm9wZXJ0eSwgYnV0IGluIGEgbW9yZSBwcm9ncmFtbWVyLWZyaWVuZGx5IHdheS4KCjIwMTEtMDUtMjYgMDk6NDY6NTggKzAyMDAgIEdhYnJpZWwgU3RyaW10dSA8Z2FicmllbHN0cmltdHVAeWFob28uY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogRml4IHBhcnNpbmcgb2YgUFNJIHRhYmxlIElEcwoJICBGaXhlcyBidWcgIzYzNTkxNy4KCjIwMTEtMDUtMjYgMDk6MjI6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSAgZGMxMzk0c3JjOiBJbXBsZW1lbnQgTEFURU5DWSBxdWVyeQoJICBCYXNlZCBvbiB0aGUgTEFURU5DWSBxdWVyeSBjb2RlIGluIHY0bDJzcmMgYW5kIHRoZSBwYXRjaAoJICBieSBUcmlzdGFuIE1hdHRoZXdzLiBGaXhlcyBidWcgIzYyNTUyMC4KCjIwMTEtMDUtMjUgMjM6MTQ6MjcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogYmxhY2tsaXN0IG1vcmUgc3lzIGVsZW1lbnRzIGZyb20gdGhlIHN0YXRlIHRlc3RzCgkgIEFsc28gd3JhcCB0aGUgbGlzdCBvZiBibGFja2xpc3RlZCBlbGVtZW50cyBhbmQgdHJpbSBzb21lIHdoaXRlc3BhY2UuCgoyMDExLTA1LTI1IDIzOjEzOjE3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsdjI6IGVuc3VyZSB1bmlxZSBwcm9wZXJ0eSBuYW1lcwoJICBDb3B5IGFuZCBhZGp1c3QgdGhlIGNvZGUgZnJvbSBsYWRzcGEgcGx1Z2luIHRvIGVuc3VyZSB1bmlxdWUgZ29iamVjdCBwcm9wZXJ0eQoJICBuYW1lcy4KCjIwMTEtMDUtMjUgMjA6NTI6MDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2gyNjNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjY0cGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzR2aWRlb3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd2aWRlb3BhcnNlLmM6CgkgIHRlc3RzOiBhZGQgdW5pdCB0ZXN0cyBmb3IgYSBudW1iZXIgb2YgdmlkZW8gcGFyc2VycwoKMjAxMS0wNS0yNSAyMDo0OTowNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSAgdGVzdHM6IGFkZGl0aW9uYWwgb2Zmc2V0IHRyYWNraW5nIGluIHBhcnNlciB0ZXN0IGhlbHBlcgoKMjAxMS0wNS0yNSAyMDo0ODozOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmg6CgkgIHRlc3RzOiBhZGRpdGlvbmFsIHBhcmFtZXRlcml6YXRpb24gZm9yIHBhcnNlciB0ZXN0IGhlbHBlcgoJICBBbGxvdyBjb250ZXh0IGNhbGxiYWNrcyB0byBwZXJmb3JtIGN1c3RvbSBidWZmZXIgdmVyaWZpY2F0aW9uCgkgIGFuZCBjdXN0b20gZWxlbWVudCBzZXR1cC4gIEFsc28gbW92ZSBzb21lIHN0YXRpYyB0cmFja2luZyB2YXJpYWJsZXMKCSAgaW50byBoZWxwZXIgc3RydWN0IGFuZCBleHBvc2UgdGhlIGxhdHRlciBzdHJ1Y3QgZm9yIHVzZSBieSB1bml0IHRlc3QKCSAgKGNhbGxiYWNrcykuCgoyMDExLTA1LTI1IDE1OjI2OjA1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcGx1ZyBzb21lIG1vcmUgYnVmZmVyIGxlYWtzCgoyMDExLTA1LTI1IDEzOjUzOjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogY29tcGVuc2F0ZSBmb3Igc2tpcHBlZCBieXRlcyBpbiBwYXJzaW5nIHN0YXRlIG9mZnNldHMKCjIwMTEtMDUtMjUgMTM6NTM6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggY2xlYXJpbmcgYWRhcHRlciBmb3JtaW5nIGF2YyBvdXRwdXQgZnJhbWUKCSAgLi4uIHdoaWNoIG5lZWRzIHRvIGJlIHJlc2V0IHVwb24gYSBuZXcgZnJhbWUgYW5kIG90aGVyd2lzZSAob25seSkKCSAgZm9yIGF2YyBpbnB1dCBpbiBwYXNzdGhyb3VnaCBtb2RlIChyYXRoZXIgdGhhbiBvbiBldmVyeSBjaGFpbiBjYWxsKS4KCjIwMTEtMDUtMjUgMTE6NTA6MDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBoYW5kbGUgYWxsIHZhbGlkIHBwc19pZAoJICAuLi4gd2hpY2ggYXJlIGluIHJhbmdlIDAtMjU1LgoKMjAxMS0wNS0xNSAxMzoyMzozOSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGFsbG93IGZ1bGwgbmVnb3RpYXRpb24gZm9yIHBhY2tldGl6ZWQgaW5wdXQKCSAgLi4uIGJ5IGRlZmF1bHRpbmcgdG8gYWxsb3cgc3BsaXR0aW5nIHBhY2tldGl6ZWQgaW5wdXQgYW5kIGhhdmluZwoJICBuZWdvdGlhdGlvbiB3aXRoIGRvd25zdHJlYW0gZGVjaWRpbmcgd2hldGhlciBvciBub3QgdGhpcyBhcHBsaWVzLgoJICBBbHNvIGVuYWJsZSBwYXNzLXRocm91Z2ggcGFyc2luZyBtb2RlIGlmIGlucHV0IGFuZCBvdXRwdXQgZm9ybWF0CgkgIChzdHJlYW0tZm9ybWF0IGFuZCBhbGlnbm1lbnQpIG1hdGNoLgoJICBBUEk6IEdzdEgyNjRQYXJzZTpzcGxpdC1wYWNrZXRpemVkIChyZW1vdmVkKQoJICBGaXhlcyAjNjUwMjI4LgoKMjAxMS0wNS0yNCAyMTo1MDo1MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5jOgoJICBoMjYzcGFyc2U6IGFsc28gZXh0cmFjdCB3aWR0aCBhbmQgaGVpZ2h0IGludG8gY2FwcwoKMjAxMS0wNC0yMSAyMjo0Mjo0NSArMDIwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiB1bml0IHRlc3QgZm9yIEFQUDEvZXhpZiAmIGNvbW1lbnQgcGFyc2luZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4NDc4CgoyMDExLTA1LTI1IDE0OjQyOjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb2Rlci5jYzoKCSAgbXBlZzJlbmM6IGZpeCBidWlsZCB3aXRoIDEuOS4wIHJlbGVhc2UgYWdhaW4gYWZ0ZXIgcmVjZW50IGZpeGVzIGZvciBtanBlZ3Rvb2xzIDIuMC4wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA5NzAKCjIwMTEtMDUtMjUgMTU6MTA6MTkgKzAyMDAgIEFuZHJlYXMgRnJpc2NoIDxmcmF4aW5hc0BvcGVuZHJlYW1ib3gub3JnPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBmaXggcG9pbnRlciBvdXRwdXQgaW4gc3RyZWFtLW5vdC1hc3NvY2lhdGVkIGRlYnVnIG91dHB1dAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxMDUwCgoyMDExLTA1LTI0IDE1OjQyOjQ0ICswMjAwICBHw7Z0eiBXYXNjaGsgPHdhc2Noa0BtYW5kcml2YS5vcmc+CgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvZGVyLmNjOgoJICBtcGVnMmVuYzogc3VwcG9ydCBtanBlZ3Rvb2xzIDIuMAoJICBUaGlzIGFkZHMgY29uZGl0aW9uYWwgaW5jbHVkZXMgZm9yIHRoZSByZW5hbWVkIGhlYWRlcnMgaW4gbWpwZWd0b29scyAyLjAuCgkgIEZpeGVzOiAjNjUwOTcwLgoKMjAxMS0wNS0yMyAxNzoyOTo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkgIHh2aWRkZWM6IEFkZCB2aWRlby9tcGVnLG1wZWd2ZXJzaW9uPTQgdG8gdGhlIGNhcHMKCSAgRml4ZXMgYnVnICM2MDk2MzkuCgoyMDExLTA1LTIwIDE3OjA2OjQ5ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBBZGQgaW1hZ2UtZm9ybWF0dGVyIHByb3BlcnR5CgkgIEFkZCBpbWFnZS1mb3JtYXR0ZXIgcHJvcGVydHkgaW4gb3JkZXIgdG8gbGV0IGFwcGxpY2F0aW9uIGNvbmZpZ3VyZQoJICB0aGUgZm9ybWF0dGVyIGVsZW1lbnQgZm9yIG1ldGFkYXRhLgoKMjAxMS0wNS0yMyAxMzo1NDozNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0cGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBhZGRpdGlvbmFsIGRlYnVnIHRyYWNpbmcKCjIwMTEtMDUtMjMgMTI6MDY6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvbXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9tcGVndmlkZW9wYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL3BsdWdpbi5jOgoJICB2aWRlb3BhcnNlcnM6IGFkZCBuZXcgbXBlZ3ZpZGVvcGFyc2UKCjIwMTEtMDUtMjMgMTI6MDI6MDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiByZW5hbWUgdG8gbGVnYWN5bXBlZ3ZpZGVvcGFyc2UKCjIwMTEtMDUtMTggMDk6NDc6NDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBhdm9pZCBzdGFsZSBwYXJzaW5nIHN0YXRlCgoyMDExLTA1LTE3IDIyOjQyOjQ1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkgIGgyNjNwYXJzZTogc2ltcGxpZnkgbWluaW11bSBmcmFtZSBzaXplIGhhbmRsaW5nCgoyMDExLTA1LTE3IDIyOjQyOjI5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogc2ltcGxpZnkgbWluaW11bSBmcmFtZSBzaXplIGhhbmRsaW5nCgoyMDExLTA1LTE3IDIyOjM5OjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogc2ltcGxpZnkgbWluaW11bSBmcmFtZSBzaXplIGhhbmRsaW5nCgoyMDExLTA1LTE3IDIyOjE4OjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogYXZvaWQgc3RhbGUgcGFyc2luZyBzdGF0ZQoKMjAxMS0wNS0xMiAxMjowNzozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0cGFyc2UuYzoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHBhcnNlLmg6CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmg6CgkgIG1wZWc0dmlkZW9wYXJzZTogcG9ydCB0byBiYXNlcGFyc2UKCjIwMTEtMDUtMjMgMTU6MDM6MTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGJ1bXAgLWNvcmUvLWJhc2UgcmVxdWlyZW1lbnQgdG8gMC4xMC4zNC4xCgkgIC4uLiBzaW5jZSBsYXRlc3QgYmFzZXBhcnNlIEFQSSBpcyByZXF1aXJlZCBmb3IgdmlkZW9wYXJzZXJzLgoKMjAxMS0wNS0yMyAxNDo0MToyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGdyYWNlZnVsbHkgaGFuZGxlIHRydW5jYXRlZCBpbnB1dCBOQUwgdW5pdHMKCSAgUmF0aGVyIHRoYW4gYXNzZXJ0J2luZyBpbiBzdWNoIGNhc2UsIGVtaXQgd2FybmluZyBpZiB0aGUgbGVuZ3RoIG9mIGEgTkFMIHVuaXQKCSAgaXMgbGVzcyB0aGFuIGV4cGVjdGVkIDIgYW5kIGRpc2NhcmQgaXQuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IEJlbmphbWluIE0uIFNjaHdhcnR6IDxiZW5zQGFsdW0ubWl0LmVkdT4KCSAgRml4ZXMgIzY1MDQxNi4KCjIwMTEtMDUtMjMgMTY6NDc6MzEgKzAyMDAgIFZpbmNlbnQgR8OpbmlldXggPHZnZW5pZXV4QGZyZWUuZnI+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBkdmJzcmM6IEFkZCB0aW1lb3V0IHByb3BlcnR5IGFuZCB1c2UgR3N0UG9sbCBpbnN0ZWFkIG9mIHBvbGwKCSAgVGhpcyBhbGxvd3MgdG8gdXNlIG11Y2ggaGlnaGVyIHRpbWVvdXQgdmFsdWVzIGJlY2F1c2UgR3N0UG9sbAoJICBpcyBpbnRlcnJ1cHRpYmxlIGFuZCBrZWVwcyB0aGUgbnVtYmVyIG9mIHdha2V1cHMgZHVyaW5nIHNpZ25hbAoJICBsb3NzIGxvd2VyLgoJICBGaXhlcyBidWcgIzYwODE3MS4KCjIwMTEtMDUtMjMgMTQ6NTg6MDggKzAxMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmFsL01ha2VmaWxlLmFtOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgZml4IGJ1aWxkIG9mIG9wZW5hbCBwbHVnaW4gZnJvbSBkaXN0ZWQgdGFyYmFsbAoKMjAxMS0wNS0yMyAxNTozMjowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmg6CgkqIGV4dC90ZWxldGV4dGRlYy90ZWxldGV4dC5jOgoJICB0ZWxldGV4dGRlYzogTWlub3IgY2xlYW51cCBhbmQgaW5kZW50aW9uIGZpeGVzCgoyMDExLTA1LTIzIDE1OjIwOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJICB0ZWxldGV4dGRlYzogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTEtMDUtMjMgMTU6MTQ6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkgIHRlbGV0ZXh0ZGVjOiBGaXggYnVmZmVyIGRhdGEgbGVhawoKMjAxMC0wOS0xMCAxNDozNDo0MiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5oOgoJICB0ZWxldGV4dGRlYzogQWRkIHN1cHBvcnQgZm9yIHBhbmdvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTk3MzkKCjIwMTAtMDYtMTAgMTI6NDQ6MjcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuaDoKCSAgdGVsZXRleHRkZWM6IGFkZCBhIG5ldyBtZXRob2QgdG8gY29udmVydCBhIHBhZ2UgaW4gYSBsaXN0IG9mIHN0cmluZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxOTczOQoKMjAxMC0wOS0wOSAxNjo0MTozMiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkgIHRlbGV0ZXh0ZGVjOiBhZGQgc29tZSBkYXRhIGluIHRoZSBwcmVyb2xsIGJ1ZmZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE5NzM5CgoyMDEwLTA2LTEwIDEzOjU1OjMwICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSAgdGVsZXRleHRkZWM6IGZpeCBkZWFkbG9jayBvbiBhIHN0cmVhbSBlcnJvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE5NzM5CgoyMDEwLTA2LTEwIDEyOjQyOjQyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSAgdGVsZXRleHRkZWM6IGRvbid0IHRyeSB0byBwdXNoIGFuIGV2ZW50IG9uIGEgcGFkIHRoYXQgcmV0dXJuZWQgYW4gZXJyb3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxOTczOQoKMjAxMC0wOS0xMyAxMTo1OToxOCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC90ZWxldGV4dGRlYy9NYWtlZmlsZS5hbToKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5oOgoJKiBleHQvdGVsZXRleHRkZWMvdGVsZXRleHQuYzoKCSAgdGVsZXRleHRkZWM6IE5ldyB0ZWxldGV4dCBkZWNvZGVyIHBsdWdpbiBiYXNlZCBpbiB6dmJpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTk3MzkKCjIwMTEtMDUtMjMgMTQ6MTQ6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5hbC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5hbC9nc3RvcGVuYWwuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzcmMuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzcmMuaDoKCSAgb3BlbmFsOiBBZGQgbmV3IG9wZW5hbHNyYyBlbGVtZW50CgkgIEJhc2VkIG9uIHBhdGNoZXMgYnkgVmljdG9yIExpbiA8Ym9ybnN0dWJAZ21haWwuY29tPgoJICBGaXhlcyBidWcgIzU1MDIzMC4KCjIwMTEtMDUtMjMgMTM6NDE6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuYWwvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc2luay5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNpbmsuaDoKCSAgb3BlbmFsOiBBZGQgbmV3IE9wZW5BTCBzaW5rIGVsZW1lbnQKCSAgQmFzZWQgb24gYSBwYXRjaCBieSBDaHJpcyBSb2JpbnNvbiA8Y2hyaXMua2NhdEBnbWFpbC5jb20+CgkgIEZpeGVzIGJ1ZyAjNjE1NjE1LgoKMjAxMS0wNS0yMCAxNToyNTowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IERvIG5vdCBzZWdmYXVsdCBvbiBudWxsIGxvY2F0aW9ucwoJICBQcmV2ZW50IGNhcHR1cmUgZnJvbSBzdGFydGluZyB3aGVuIHNhdmluZyBsb2NhdGlvbiBpcyBzZXQgdG8KCSAgTlVMTAoKMjAxMS0wNS0yMCAxMzowNDo1NCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbmluZm8uYzoKCSAgY2FtYXBwbGljYXRpb25pbmZvOiBmaXggcG9zc2libGUgYXJyYXkgb3ZlcnJ1bgoKMjAxMS0wNS0yMCAwOTo1ODo1MCArMDIwMCAgUmFmYWVsIERpbml6IDxyYWZhZWxAcmlzZXVwLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVnW3B0XXNkZW11eDogQWRkIHN1cHBvcnQgZm9yIEFBQyBMQVRNL0xPQVMgc3RyZWFtcwoJICBGaXhlcyBidWcgIzYxNTY4MS4KCjIwMTEtMDUtMTkgMDg6MDU6MTQgKzAyMDAgIFcuIE1pY2hhZWwgUGV0dWxsbyA8bWlrZUBmbHluLm9yZz4KCgkqIGV4dC9hcGV4c2luay9nc3RhcGV4cmFvcC5jOgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHJhb3AuaDoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5oOgoJICBhcGV4c2luazogQWRkIHN1cHBvcnQgZm9yIGdlbmVyYXRpb24gMiBBaXJUdW5lcyBoYXJkd2FyZQoJICBGaXhlcyBidWcgIzY0OTkzMS4KCjIwMTEtMDUtMjAgMDA6MzU6NTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL214Zi9teGZkZW11eC1zdHJ1Y3R1cmUuYzoKCSAgbXhmLWV4YW1wbGU6IGZpeCB0aGUgeyB9IHNjb3BlCgoyMDExLTA1LTIwIDAwOjIwOjA3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgZmVzdGl2YWw6IGRvbid0IGxlYWsgZmQgb24gZXJyb3IKCjIwMTEtMDUtMjAgMDA6MTY6MDAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9saWJyZmIvdm5jYXV0aC5jOgoJICBsaWJyZmI6IGRvbid0IGxlYWsgcGFzc3dvcmQgb24gZXJyb3IKCjIwMTEtMDUtMTkgMjM6NTc6MzggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgZG9jczogcmVtb3ZlIG9ic29sZXRlIGNvbW1lbnRlZCBvdXQgcGFydAoJICBXZSBkb24ndCBoYXZlIHRoaXMgaW4gdGhlIG90aGVyIG1vZHVsZXMgYW5kIGl0cyBub3QgbmVlZGVkLgoKMjAxMS0wNS0xOSAyMzo1MDo0NyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgZG9jczogdXBkYXRlIHBsdWdpbiBpbnRyb3NwZWN0aW9uIGRhdGEKCSAgTm93IG1vcmUgZmlsZXMgYXJlIG1lcmdlZCBhbmQgcHJvZHVjZWQgaW4gYSBjYW5vbmljYWwgZmFzaGlvbiwgd2hpY2ggaG9wZWZ1bGx5CgkgIGNyZWF0ZXMgbGVzcyBvciBubyBkZWx0YSBpbiB0aGUgZnV0dXJlLgoKMjAxMS0wNS0xOSAyMjo1ODoxMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5ZTViYmQ1IHRvIDY5Yjk4MWYKCjIwMTEtMDUtMTkgMTQ6NTg6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGNhbWVyYWJpbjI6IGV4YW1wbGVzOiBBZGQgdmlkZW8tZGV2aWNlIGFyZ3VtZW50CgkgIEFkZHMgYW4gYXJndW1lbnQgdG8gc2VsZWN0IHdoaWNoIHZpZGVvIGRldmljZSBzaG91bGQgYmUgdXNlZAoJICBvbiB0aGUgdmlkZW8gc291cmNlIGVsZW1lbnQgaW4gY2FtZXJhYmluMgoKMjAxMS0wNS0xOSAxNDo1MjoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgY2FtZXJhYmluMjogZXhhbXBsZXM6IEZpeCB0eXBvIGZyb20gcHJldmlvdXMgY29tbWl0CgkgIFRoZSBwcm9wZXJ0eSBpcyBhdWRpby1zcmMgYW5kIG5vdCBhdWRpby1zb3VyY2UKCjIwMTEtMDUtMTkgMTQ6MzI6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGNhbWVyYWJpbjI6IGV4YW1wbGVzOiBBZGQgYXVkaW8tc291cmNlIHBhcmFtZXRlciB0byBnc3QtY2FtZXJhYmluMi10ZXN0CgkgIEFkZHMgYW4gb3B0aW9uIHRvIHNlbGVjdCB0aGUgYXVkaW8gc291cmNlIHRvIGJlIHVzZWQgb24gdmlkZW8KCSAgcmVjb3JkaW5ncyBvbiBjYW1lcmFiaW4yIHRlc3QgYXBwbGljYXRpb24KCjIwMTEtMDUtMTkgMTQ6MjM6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGFkZCBtaXNzaW5nIFsKCSAgQWRkcyBtaXNzaW5nIFsgdG8gY29uZmlndXJlIG9uIHRoZSBDREFVRElPIHBrZyBjb25maWcgY2hlY2sKCjIwMTEtMDUtMTkgMTg6NDU6MjUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOgoJICBqYXNwZXJlbmM6IHJlbW92ZSB1bnVzZWQgJ21pbWV0eXBlJyB2YXJpYWJsZQoJICBBcyBtaW1ldHlwZSBpcyBub3QgdXNlZCwgd2UgZG9uJ3QgbmVlZCB0byBmZXRjaCBpdCBhbmQgdGhlcmVmb3JlIG5laXRoZXIgbmVlZAoJICB0aGUgc3RydWN0dXJlIHMuCgoyMDExLTA1LTE5IDE1OjI2OjM4ICswMTAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgdG8gZml0IHdpdGggbGF0ZXN0IHVwc3RyZWFtIHNwZWMgZmlsZXMKCjIwMTEtMDUtMTggMTU6NDQ6MDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogTWFrZSBnY2MgNC42IGhhcHB5CgkgIFJlbW92ZSB3YXJuaW5ncyBkdWUgdG8gaW5pdGlhbGl6ZWQgYnV0IG5ldmVyIHVzZWQgd2FybmluZ3MKCjIwMTEtMDUtMTggMTM6MzU6MzQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBtYXggcHBzIGlzIDI1NQoJICBGaXhlcyAjNjUwNDg0LgoKMjAxMS0wNS0xMiAyMjo1NDo0NCArMDMwMCAgQnJpYW4gR2l0b25nYSBNYXJldGUgPG1hcmV0ZUB0b3Nobml4LmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGluazogQ2hhbmdlIGNvdW50ZXJzIHRvIDY0IGJpdCB1bnNpZ25lZCBpbnRlZ2Vycy4KCjIwMTEtMDUtMTAgMTY6MTQ6MzIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHN3aXRjaCBsaWJjZGF1ZGlvIHRvIHBrZy1jb25maWcKCjIwMTEtMDQtMjQgMTk6MTE6MzYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfYWFjLmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2gyNjQuYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Y29tbW9uLmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSAgbXBlZ3RzbXV4OiB1c2UgZ3N0IGRlYnVnIGZvciB0c211eCBsaWJyYXJ5CgoyMDExLTA0LTE5IDE1OjA0OjA1IC0wNDAwICBRdWVudGluIFNtaXRoIDxxdWVudGluQG1pdC5lZHU+CgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5jcHA6CgkgIGF2YzogYXZjc3JjIGlzIGFsd2F5cyBlbmFibGVkCgoyMDExLTA0LTE5IDE1OjAxOjE1IC0wNDAwICBRdWVudGluIFNtaXRoIDxxdWVudGluQG1pdC5lZHU+CgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5jcHA6CgkgIGF2YzogSW5jbHVkZSAyMDAgYnVzIGN5Y2xlcyBpbiBlYWNoIGJ1ZmZlciAoYWJvdXQgMzAwIFRTIHBhY2tldHMpCgoyMDExLTA0LTE5IDE1OjAwOjUzIC0wNDAwICBRdWVudGluIFNtaXRoIDxxdWVudGluQG1pdC5lZHU+CgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5jcHA6CgkgIGF2YzogRW1pdCBhIHNpbmdsZSBidWZmZXIgcGVyIGNhbGxiYWNrCgoyMDExLTA0LTE5IDEzOjUzOjU0IC0wNDAwICBRdWVudGluIFNtaXRoIDxxdWVudGluQG1pdC5lZHU+CgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5jcHA6CgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmg6CgkgIGF2YzogVHJhY2sgdGhlIG51bWJlciBvZiBlbnF1ZXVlZCBhbmQgZGVxdWV1ZWQgcGFja2V0cwoKMjAxMS0wNC0xOSAxMzo1MzoyMyAtMDQwMCAgUXVlbnRpbiBTbWl0aCA8cXVlbnRpbkBtaXQuZWR1PgoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuY3BwOgoJICBhdmM6IER1bXAgdGltZXN0YW1wIGluZm9ybWF0aW9uCgoyMDExLTA0LTE4IDE1OjM3OjU3IC0wNDAwICBRdWVudGluIFNtaXRoIDxxdWVudGluQG1pdC5lZHU+CgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5jcHA6CgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmg6CgkgIGF2YzogU2F2ZSBBVkMgb2JqZWN0cyBpbiB0aGUgR3N0QVZDU3JjIG9iamVjdAoJICBhbmQgc3RvcCB0aGVtIHdoZW4gdGhlIHBpcGVsaW5lIGlzIHN0b3BwZWQKCjIwMTEtMDQtMTggMTU6MTY6MDAgLTA0MDAgIFF1ZW50aW4gU21pdGggPHF1ZW50aW5AbWl0LmVkdT4KCgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmNwcDoKCSAgYXZjOiBDeWNsZSBhbmQgcGFja2V0IGFyZSB1bnNpZ25lZAoKMjAxMS0wNC0xOCAxNToxNToyOCAtMDQwMCAgUXVlbnRpbiBTbWl0aCA8cXVlbnRpbkBtaXQuZWR1PgoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuY3BwOgoJICBhdmM6IGF2Y3NyYyBpcyBhIGxpdmUgc291cmNlCgoyMDExLTA0LTE4IDE1OjE0OjU1IC0wNDAwICBRdWVudGluIFNtaXRoIDxxdWVudGluQG1pdC5lZHU+CgoJKiBzeXMvYXZjL01ha2VmaWxlLmFtOgoJICBhdmM6IExvb2sgaW4gQVZDVmlkZW9TZXJ2aWNlcyBmb3IgaGVhZGVycwoKMjAxMS0wNC0xOCAxMjoyODo1MiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGF2YzogYXR0ZW1wdCBuZXcgY29uZmlndXJlCgoyMDExLTA0LTE2IDE5OjQyOjAwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvYXZjL01ha2VmaWxlLmFtOgoJKiBzeXMvYXZjL2dzdGF2Y3BsdWdpbi5jcHA6CgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmNwcDoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuaDoKCSAgYXZjOiBBZGQgQVZDIFZpZGVvIFNlcnZpY2VzIHBsdWdpbiBmb3IgT1MvWAoKMjAxMS0wNS0xOCAxNjoxMDo0MCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmZDM1MDczIHRvIDllNWJiZDUKCjIwMTEtMDUtMTggMTM6Mjc6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBOYW1lIG1heC9taW4gcXVhbnRpemVyIHByb3BlcnRpZXMge21heCxtaW59LXF1YW50aXplcgoJICBBbHNvIGltcHJvdmUgcXVhbGl0eSBwcm9wZXJ0eSBkZXNjcmlwdGlvbi4KCjIwMTEtMDUtMTggMTM6MjY6MjMgKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIHZwOGVuYzogQWRkIHByb3BlcnRpZXMgdG8gc2VsZWN0IGEgbWF4aW11bSBhbmQgbWluaW11bSBxdWFudGl6ZXIKCSAgRml4ZXMgYnVnICM2NDE0MDUuCgoyMDExLTA1LTE4IDEzOjE4OjU4ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEZpeCBxdWFsaXR5IHRvIChjb25zdGFudCkgcXVhbnRpemVyIG1hcHBpbmcKCSAgVGhpcyBub3cgYWxsb3dzIHRvIHNlbGVjdCBhbGwgcG9zc2libGUgcXVhbnRpemVycyBiZXR3ZWVuCgkgIDAgYW5kIDYzLgoJICBTZWUgYnVnICM2NDE0MDUuCgoyMDExLTA1LTE4IDEyOjI0OjQ3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDQ2ZGZjZWEgdG8gZmQzNTA3MwoKMjAxMS0wNC0yOCAxNTo1OTozOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1pcnJvci5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJICB2YXJpb3VzOiBmaXggYXV0aG9yIHRhZyBpbiBlbGVtZW50IGRldGFpbHMKCjIwMTEtMDQtMjcgMTY6NTY6MDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2F1ZGlvZmlsdGVyOgoJICBlbGVtZW50LXRlbXBsYXRlczogaW1wcm92ZSB0aGUgYXVkaW9maWx0ZXIgdGVtcGxhdGUKCSAgQWRkIGNvbW1lbnRzLiBBZGQgc3RhcnQvc3RvcCBtZXRob2RzLiBBZGQgKGNvbW1lbnRlZCkgaW5zdGFuY2UgY2FzdHMgYXQgdGhlCgkgIGJlZ2luIG9mIHRoZSBtZXRob2QuIE1ha2UgdHJhbnNmb3JtX2lwIHJldHVybmluZyBGTE9XX09LIGJ5IGRlZmF1bHQuCgoyMDExLTA0LTI3IDE2OjUxOjU1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogaW1wcm92ZSBwbHVnaW5faW5pdCgpCgkgIFJldHVybiB0aGUgcmVzdWx0IG9mIGdzdF9lbGVtZW50X3JlZ2lzdGVyKCkuIFVzZSB0aGUgVFlQRSBtYWNybyBpbnN0ZWFkIG9mIHRoZQoJICBfZ2V0X3R5cGUoKSBmdW5jdGlvbi4KCjIwMTEtMDUtMTIgMTE6NTc6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggc29tZSBidWZmZXIgbGVha3MKCSAgRml4ZXMgIzY1MDMyMy4KCjIwMTEtMDUtMTIgMTE6NTY6NTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXh1cCBib2lsZXJwbGF0ZSBhbmQgZGVidWcgY29kZSBzdHlsZQoKMjAxMS0wNS0xMyAxNzoxODo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHBsdWdpbi5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VjYXB0dXJlYmluLmM6CgkgIGNhbWVyYWJpbjI6IFJlbW92ZSBvYnNvbGV0ZSBpbWFnZWNhcHR1cmViaW4KCSAgaW1hZ2VjYXB0dXJlYmluIGhhcyBiZWVuIHJlcGxhY2VkIGJ5IGVuY29kZWJpbiwgbm8gbmVlZAoJICBmb3IgaXQgYW55bW9yZQoKMjAxMS0wNS0xMyAxNjoyNzoxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IHVzZSBqcGVnIGFzIGEgY29udGFpbmVyIHRvIGZvcmNlIGppZm11eCB1c2FnZQoJICBKaWZtdXggc2hvdWxkIGJlIHVzZWQgYXMgaXQgY2FuIGRvIHhtcC9leGlmIHRhZ2dpbmcsIHNvIHRoaXMgcGF0Y2gKCSAgc2V0cyBqcGVnIGFzIGEgY29udGFpbmVyIHRvIGZvcmNlIGl0IHRvIGJlIHVzZWQgdG9nZXRoZXIgd2l0aAoJICBhIGpwZWcgZW5jb2RlcgoKMjAxMS0wNS0xMiAxMToxNzoyOCArMDAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogZG8gcHJvcGVyIEVPUyBoYW5kbGluZyBvbiBzZW5kX2V2ZW50KGVvcykKCSAgV2UgZmlyc3QgbGV0IHRoZSBpbm5lciBjYW1lcmEgRU9TLiBUaGVuIHdlIG1hbnVhbGx5IHBvc3QgRU9TIG9uIHRoZSBpbWFnZSBhbmQKCSAgdmlkZW8gc2lua3MgaWYgdGhvc2UgYXJlIDw9IFJFQURZIGFuZCBzbyBoYXZlIGlnbm9yZWQgRU9TIGV2ZW50cy4KCjIwMTEtMDQtMjggMTU6MTE6MzYgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogdXNlIGVuY29kZWJpbiB0byBlbmNvZGUgaW1hZ2VzCgoyMDExLTA1LTEzIDE1OjE2OjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdmb3JtYXQuYzoKCSAgamlmbXV4OiBCdW1wIHJhbmsgdG8gc2Vjb25kYXJ5CgkgIGppZm11eCBpcyBiZWluZyB1c2VkIGZvciBxdWl0ZSBzb21lIHRpbWUgYW5kIGhhcyBubyBvcGVuIGJ1Z3MKCSAgY3VycmVudGx5LCBzbyB3ZSBjYW4gZ2l2ZSBpdCBhIHNlY29uZGFyeSByYW5rIGF0IGxlYXN0LgoJICBGaXhlcyAjNjQ5MzkxCgoyMDExLTA1LTEzIDE1OjE1OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBqaWZtdXg6IENoYW5nZSBjbGFzcyB0byBmb3JtYXR0ZXIKCSAgamlmbXV4IGlzIGEgZm9ybWF0dGVyIGFuZCBub3QgYSBtdXhlcgoJICBGaXhlcyAjNjQ5MzkxCgoyMDExLTA1LTEzIDA5OjExOjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluMjogRml4IEdPcHRpb25FbnRyeSBhcnJheQoJICBVc2Ugbm8gZmxhZ3MgaW5zdGVhZCBvZiBwYXNzaW5nIEdfT1BUSU9OX0FSR19PUFRJT05BTCB0byBvcHRpb25zIHRoYXQKCSAgbXVzdCBoYXZlIGFuIGFyZ3VtZW50CgoyMDExLTA1LTEyIDExOjM5OjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkgIGNhbWVyYWJpbjI6IGV4YW1wbGVzOiBidWlsZCBmaXhlcwoJICBBZGQgc29tZSBtaXNzaW5nIGRlcGVuZGVuY2llcwoKMjAxMS0wNS0xMSAxODozNTo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IENoYW5naW5nIGhvdyBzb21lIHByb3BlcnRpZXMgd29yawoJICBTb21lIHByb3BlcnRpZXMgKGxpa2Ugdmlld2ZpbmRlci1maWx0ZXIpIG9ubHkgYXJlIHRha2VuIGludG8gdXNlCgkgIG9uIE5VTEwtPlJFQURZIHRyYW5zaXRpb25zIGFuZCB0aGUgZ2V0L3NldCBwcm9wZXJ0eSB3YXMgcmV0dXJuaW5nCgkgIHRoZSBjdXJyZW50bHkgaW4gdXNlIHZhbHVlLCBpbnN0ZWFkIG9mIHRoZSBsYXN0IHNldC4KCSAgVGhpcyBpcyBiYWQsIGFzIGFmdGVyIHNldHRpbmcgJ2EnIHRvICd4JywgeW91IGV4cGVjdCB0aGF0IGdldHRpbmcgJ2EnCgkgIHdpbGwgcmV0dXJuICd4Jy4gVGhpcyBwYXRjaCBmaXhlcyBpdC4KCSAgSWYgbmVlZGVkLCBsYXRlciB3ZSBjb3VsZCBhZGQgY3VycmVudC0qIHByb3BlcnRpZXMgdGhhdCBhcmUgcmVhZG9ubHkKCSAgYW5kIGdldCB0aGUgY3VycmVudCB2YWx1ZSBpbiB1c2UuCgoyMDExLTA0LTI5IDA4OjU0OjU2IC0wMzAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9QT1JUSU5HOgoJICBjYW1lcmFiaW4yOiBVcGRhdGluZyBQT1JUSU5HIGZpbGUKCjIwMTEtMDQtMjggMTY6MDU6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJICBjYW1lcmFiaW4yOiBBZGRpbmcgbWlzc2luZyBwbHVnaW4gZXJyb3IgbWVzc2FnZXMKCSAgV2hlbmV2ZXIgYSByZXF1aXJlZCBwbHVnaW4gaXMgbWlzc2luZywgY2FtZXJhYmluMiBzaG91bGQgcG9zdAoJICBhIG1pc3NpbmcgcGx1Z2luIG1lc3NhZ2UgdG8gdGhlIGJ1cwoKMjAxMS0wNC0yOCAxNDozNzoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IGVuY29kZWJpbiBtaWdodCBub3QgaGF2ZSB0aGUgcmVxdWVzdGVkIHBhZAoJICBoYW5kbGUgdGhlIGNhc2Ugd2hlcmUgZW5jb2RlYmluIGRvZXNuJ3QgaGF2ZSB0aGUgcGFkCgkgIGNhbWVyYWJpbjIgaXMgcmVxdWVzdGluZywgZWl0aGVyIGJlY2F1c2Ugb2YgaXRzIGN1cnJlbnQgcHJvZmlsZQoJICBvciBiZWNhdXNlIG9mIG1pc3NpbmcgZWxlbWVudHMsIG1ha2luZyBpdCBmYWlsIHRvIHByb3ZpZGUKCSAgdGhlIHBhZAoKMjAxMS0wNC0yNyAxNToxMjoxOCAtMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxsYXNzZS5sYXVra2FuZW5AZGlnaWEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW4yOiBBZGQgbW9yZSBhcmd1bWVudHMKCSAgQWRkIGNvbW1hbmQtbGluZSBvcHRpb25zIGZvciBzZXR0aW5nIGltYWdlLWNhcHR1cmUsIHZpZXdmaW5kZXIKCSAgYW5kIHZpZGVvLWNhcHR1cmUgY2FwcyBhcyBzdHJpbmdzLgoJICBUaGUgd2lkdGggYW5kIGhlaWdodCBwcm9wZXJ0aWVzIGFyZSBub3cgdXNlZCBvbmx5IGlmIHRoZXNlIG5ldyBjYXBzCgkgIHByb3BlcnRpZXMgYXJlbid0IHNldC4KCjIwMTEtMDQtMjYgMTU6MjE6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkgIGNhbWVyYWJpbjI6IGltYWdlY2FwdHVyZWJpbjogRml4IHRhZ3MgbWVyZ2luZyBtb2RlCgkgIFVzZSBtZXJnZSByZXBsYWNlIG1vZGUgdG8gYWxsb3cgbmV3IHRhZ3MgdG8gb3ZlcnJpZGUgb2xkIG9uZXMKCSAgYW5kIGZpeCB0aGUgdXNlIGNhc2Ugd2hlcmUgdGhlIGxhc3Qgc2VudCB0YWdzIHNob3VsZCBiZSBzZXJpYWxpemVkCgkgIHRvIHRoZSBjYXB0dXJlZCBpbWFnZXMuCgoyMDExLTA0LTI2IDE0OjUzOjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogRml4IHRhZyBoYW5kbGluZyBmb3IgdmlkZW9zCgkgIEluIHZpZGVvIG1vZGUgdGhlIHRhZ3Mgc2hvdWxkIGJlIHB1c2hlZCBhZnRlciBzZW5kaW5nIHRoZSBzdGFydCBjYXB0dXJlCgkgIHRvIHRoZSBzb3VyY2UsIHRoaXMgYWxsb3dzIHRoZSB2aWRlbyByZWNvcmRpbmcgZWxlbWVudHMgdG8gYmUgcmVzZXQKCSAgYW5kIGxlYXZlIHRoZSBmbHVzaGluZyBzdGF0ZSB0aGV5IHdlcmUgYXQgYWZ0ZXIgYSBwcmV2aW91cyBjYXB0dXJlLgoJICBUaGlzIGZpeGVzIHRoZSBwcm9ibGVtIHdoZXJlIHRhZ3Mgb25seSB3b3JrIGZvciB0aGUgZmlyc3QgdmlkZW8gY2FwdHVyZQoKMjAxMS0wNC0yNiAxNDo1MDoyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBGaXggc2V0IGJ1dCB1bnVzZWQgdmFyaWFibGUgd2FybmluZ3MKCjIwMTEtMDQtMjYgMTQ6NDk6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogRml4IHRhZ3Mgc2V0dGluZyB0ZXN0cwoJICBGaXhlcyB0aGUgdGFncyBzZXR0aW5nIHRlc3RzIHRvIHJldmVhbCBhIGJ1ZyBpbiBjYW1lcmFiaW4yCgkgIHRhZyBzZXR0aW5nIGxvZ2ljLgoKMjAxMS0wNC0yNSAxNjowNDoyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW4yLXNyYy50eHQ6CgkgIGNhbWVyYWJpbjI6IEFkZGluZyBjYW1lcmEgc291cmNlIGRvY3VtZW50YXRpb24gZmlsZQoJICBBZGRzIGEgc21hbGwgdGV4dCBmaWxlIHdpdGggYSBicmllZiBkZXNjcmlwdGlvbiBvZgoJICB3aGF0IGlzIGV4cGVjdGVkIGZyb20gYSBjYW1lcmFiaW4yIHNvdXJjZSBlbGVtZW50CgoyMDExLTA0LTExIDE1OjMzOjIwIC0wMzAwICBMYXVyaSBMZWh0aW5lbiA8bGF1cmkubGVodGluZW5AZGlnaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJICBiYXNlY2FtZXJhYmluc3JjOiBIYW5kbGUgZXJyb3JzIGZyb20gcHJldmlldyBwaXBlbGluZQoJICBJbXBsZW1lbnRzIGEgbWVzc2FnZSBoYW5kbGluZyBmdW5jdGlvbiB0byBwcmV2aWV3IHBpcGVsaW5lIGJ1cy4KCSAgSWYgR1NUX01FU1NBR0VfRVJST1IgaXMgc2VlbiwgY29uc2lkZXJzIHByZXZpZXcgcGlwZWxpbmUgdW5hYmxlCgkgIHRvIGRvIGl0cyBqb2IgYW5kIHBvc3RzIGFuIGVycm9yIG1lc3NhZ2UgdG8gYXBwbGljYXRpb24uCgkgIFNldHMgcGlwZWxpbmUgZWxlbWVudCB0byBOVUxMIHNvIHRoYXQgc3Vic2VxdWVudCBjYWxscyB0byBwb3N0X3ByZXZpZXcKCSAgYW5kIHNldF9jYXBzIGZ1bmN0aW9ucyBqdXN0IHJldHVybnMgd2l0aG91dCBwdXNoaW5nIGFueXRoaW5nIHRvIHRoZQoJICBkaXNwb3NlZCBwcmV2aWV3IHBpcGVsaW5lLiBMZWF2ZXMgZnVydGhlciBhY3Rpb25zIHRvIHRoZSBhcHBsaWNhdGlvbi4KCjIwMTEtMDQtMDggMDk6MjI6MTEgLTAzMDAgIExhdXJpIExlaHRpbmVuIDxsYXVyaS5sZWh0aW5lbkBkaWdpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuaDoKCSAgYmFzZWNhbWVyYWJpbnNyYzogUHJvdGVjdGlvbiBmb3IgcHJldmlld3BpcGVsaW5lIHdoZW4gc2V0dGluZyBuZXcgcHJldmlldyBjYXBzCgkgIEltcGxlbWVudHMgYSBzdGF0ZSBpbmRpY2F0aW5nIGZsYWcgdG8gcHJldmlldyBwaXBlbGluZSwKCSAgc28gdGhhdCBuZXcgY2FwcyBhcmUgbm90IHNldCBpZiB0aGUgcGlwZWxpbmUgaXMgcHJvY2Vzc2luZyBhCgkgIHByZXZpZXcuIFRoZSBjYXBzIGFyZSBzZXQgYXMgcGVuZGluZyBhbmQgYXBwbGllZCB3aGVuIHRoZQoJICBuZXh0IHByZXZpZXcgcG9zdCBpcyBjYWxsZWQuCgkgIEluIHRoaXMgY2FzZSBhIHdhaXQgd2FzIGltcGxlbWVudGVkIGluIHRoZSBwb3N0X3ByZXZpZXcgZnVuY3Rpb24sCgkgIHNvIHRoYXQgbmV3IHByZXZpZXcgaW1hZ2UgYnVmZmVyIHdpbGwgd2FpdCB1bnRpbCB0aGUgb3RoZXIgcHJldmlld3MKCSAgaGF2ZSBiZWVuIHBvc3RlZCB0byB0aGUgYXBwbGljYXRpb24gYW5kIHRoZSBuZXcgY2FwcyBjYW4gYmUgdXNlZAoJICBzYWZlbHkuCgoyMDExLTAzLTI5IDEzOjQ2OjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluMjogRml4IGNvbXBpbGUgcHJvYmxlbSB3aXRoIGRlYnVnIGRpc2FibGVkCgoyMDExLTAzLTIzIDE4OjQxOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSAgY2FtZXJhYmluMjogdmlld2ZpbmRlcmJpbjogUG9zdCBtaXNzaW5nIHBsdWdpbiBtZXNzYWdlcwoJICBNYWtlcyB2aWV3ZmluZGVyYmluIHBvc3QgbWlzc2luZyBwbHVnaW4gbWVzc2FnZXMgd2hlbiBpdAoJICBjYW4ndCBjcmVhdGUgYW4gaW50ZXJuYWwgZWxlbWVudHMKCjIwMTEtMDMtMjMgMTg6NDA6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5jOgoJICBjYW1lcmFiaW4yOiBJbXByb3ZlIG1pc3NpbmcgcGx1Z2luIG1lc3NhZ2UKCSAgSW1wcm92ZXMgdGhlIG1lc3NhZ2UgdGV4dCBmb3IgbWlzc2luZyBwbHVnaW4gbWVzc2FnZXMgZnJvbQoJICBjYW1lcmFiaW4yCgoyMDExLTAzLTIzIDE3OjQ2OjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL1BPUlRJTkc6CgkgIGNhbWVyYWJpbjI6IFVwZGF0ZSBwb3J0aW5nIGZpbGUKCSAgVXBkYXRlIHBvcnRpbmcgZmlsZSB3aXRoIG1lbnRpb24gdGhhdCBzdG9wLWNhcHR1cmUgaXMgbm93CgkgIGFzeW5jLgoKMjAxMS0wNC0wOCAxNzo1ODo0MiArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGdzdC1jYW1lcmFiaW4yLXRlc3Q6IEFsbG93IGdzdC1sYXVuY2ggcGlwZWxpbmVzIGZvciBzaW5rcwoJICBVc2UgZ3N0X3BhcnNlX2xhdW5jaCAoKSB0byBwYXJzZSB0aGUgc2luayBzdHJpbmdzIHRvIGFsbG93IHNwZWNpZmljYXRpb24KCSAgb2YgcHJvcGVydGllcyB0byBzaW5rcyBhbmQgb2YgbW9yZSBhZHZhbmNlZCBzaW5rIGdyYXBocy4KCjIwMTEtMDQtMDQgMTM6Mjg6MzIgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogRml4IGRlYnVnIHByaW50IHRvIHNob3cgYXVkaW8vdmlkZW8gZGVwZW5kaW5nIG9uIHBhZCB0eXBlCgoyMDExLTAzLTMxIDEzOjA4OjQ4ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEZpeCBvcmRlciBvZiBlbGVtZW50IHN0YXRlIGNoYW5nZQoJICBUbyBjaGFuZ2UgdGhlIHN0YXRlIG9mIGVsZW1lbnRzIGluIGEgcGlwZWxpbmUsIHdlIHNob3VsZCBtaXJyb3IgdGhlCgkgIGJlaGF2aW91ciBvZiBHc3RCaW4gd2hpY2ggc3RhcnRzIGF0IHRoZSBzaW5rIGVsZW1lbnQgYW5kIHdvcmtzIGl0cyB3YXkKCSAgdXBzdHJlYW0uCgoyMDExLTA0LTAxIDIyOjEzOjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogZGVidWcgY29kZSBzdHlsZSBmaXhlcwoKMjAxMS0wNC0wMSAyMjoxMzowMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IHByb3BhZ2F0ZSBkb3duc3RyZWFtIGZsb3cgcmV0dXJuIHRvIHVwc3RyZWFtCgoyMDExLTA0LTAzIDIyOjM1OjEzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGhhbmRsZSBtaXNzaW5nIGZyYW1lcmF0ZSB3aGVuIGNhbGN1bGF0aW5nIHRpbWVzdGFtcAoKMjAxMS0wNC0wMyAyMjozMjoyMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBkZWJ1ZyBjb2RlIHN0eWxlIGZpeGVzCgoyMDExLTA0LTAxIDIyOjEyOjMwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IHR1bmUgcGFyc2luZyBzaW5rIGNhcHMgaW50byB2aWRlbyBzdGF0ZQoJICAuLi4gdG8gcHJvdmlkZSBzdWJjbGFzcyB3aXRoIG1vcmUgaW5mb3JtYXRpb24gdy5yLnQuIG9yaWdpbmFsIGNhcHMuCgoyMDExLTA0LTAxIDE4OjQ5OjEwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IHZpZGVvIHN0YXRlIHJlZmVyZW5jZSB0byBjb2RlY19kYXRhIGlzIG5vdCByZWZjb3VudGVkCgkgIC4uLiBidXQgcmF0aGVyIGltcGxpY2l0bHkgdmFsaWQgYXMgbG9uZyBhcyBzaW5rIGNhcHMgYXJlIG5vdCBtb2RpZmllZC4KCjIwMTEtMDQtMDEgMTg6MDA6MTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2RlcjogaW1wcm92ZSBnbGl0Y2ggcmVzaWxpZW5jZQoJICBQcm92aWRlIGEgcmVwbGFjZW1lbnQgZm9yIEdTVF9FTEVNRU5UX0VSUk9SIHRvIGF2b2lkIGFib3J0aW5nIGF0IHRoZSBmaXJzdAoJICBhdG9tIG91dCBvZiBwbGFjZSwgd2hpbGUgb24gdGhlIG90aGVyIGhhbmQgbm90IGZhaWxpbmcgaW5kZWZpbml0ZWx5LgoKMjAxMS0wMy0zMSAxNDo0Nzo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiByZXZlcnNlIHBsYXliYWNrIHN1cHBvcnQKCjIwMTEtMDMtMzAgMTA6Mjg6MDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2RlcjogdXNlIGJhc2V2aWRlb2NvZGVjIGRpc2NvbnQgZmllbGQKCjIwMTEtMDMtMzAgMTA6MTg6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiByZWFsbHkgYW5kIG9ubHkgc2V0IHNyYyBwYWQgY2FwcyB3aGVuZXZlciByZXF1ZXN0ZWQKCSAgLi4uIHNpbmNlIHN1YmNsYXNzIGlzIGV4cGVjdGVkIHRvIGJlIHdpc2UgZW5vdWdoIHRvIGtub3cgd2hlbiB0byBkbyBzby4KCjIwMTEtMDMtMzAgMDk6MTc6MjIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2RlcjogYWRkIHNvbWUgc2FuaXR5IGVuZm9yY2luZwoKMjAxMS0wMy0zMCAwOToxNToxMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiBhZGQgZG9jdW1lbnRhdGlvbgoJICAuLi4gYW5kIHJlbW92ZSBzb21lIG1vcmUgc3RyYXkgdW51c2VkIGNvZGUgYW5kIG1ldGhvZHMuCgoyMDExLTAzLTI5IDE1OjQxOjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9jb2RlYzogZnVsbHkgZnJlZSB2aWRlbyBmcmFtZQoKMjAxMS0wMy0yOSAxNTo0MTowOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBzdHJlYW1saW5lIGRpc2NvbnQsIGZsdXNoIGFuZCByZXNldCBoYW5kbGluZwoJICAuLi4gd2hpY2ggaXMgbm90IHRvIHNheSB0aGVyZSBpcyBubyByb29tIGZvciBmdXJ0aGVyIHR3ZWFraW5nIC4uLgoKMjAxMS0wMy0yOSAxNTozOTowNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiBhZGQgc29tZSBoZWFkZXIgY29tbWVudGFyeQoKMjAxMS0wMy0yOSAxMjo1NzoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiByZW1vdmUgKGFsbW9zdCkgdW51c2VkIGZpZWxkcwoJICAuLi4gYW5kIGFsc28gc29tZSBtb3JlIHVudXNlZCBjb2RlLgoKMjAxMS0wMy0yOSAxMDo0MTo1NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiBpbnZva2Ugc3ViY2xhc3Mgc3RhcnQgbWV0aG9kIGF0IHN0YXRlIGNoYW5nZSBhbmQgdXNlIHNldF9mb3JtYXQKCSAgV2hpbGUgdGhpcyBjaGFuZ2VzIEFQSSBzbGlnaHRseSAoZS5nLiBhY3R1YWxseSB1c2VzIHNldF9mb3JtYXQgbm93KSwgd2hpY2ggaXMgT0sKCSAgZm9yIHVuc3RhYmxlIEFQSSwgaXQgaGFzIGZvbGxvd2luZyBtZXJpdHM6CgkgICogc3ltbWV0cmljIHcuci50LiBzdG9wIGF0IHN0YXRlIGNoYW5nZQoJICAqIGluIGxpbmUgd2l0aCBvdGhlciBiYXNlIGNsYXNzIHByYWN0aWNlCgkgICogb3RoZXJ3aXNlIG5vIHN1YmNsYXNzIG1ldGhvZCBhdCBzdGF0ZSBjaGFuZ2UgKGdsb2JhbCBhY3RpdmF0aW9uIHRpbWUpCgkgIE1vcmVvdmVyLCBzdWJjbGFzc2VzZSBhcmUgZWl0aGVyIHVuYWZmZWN0ZWQgb3IgdHJpdmlhbGx5IGFkanVzdGVkIGFjY29yZGluZ2x5LgoKMjAxMS0wNC0yOCAxMjowMjoyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBmaXh1cCB0d2VhawoKMjAxMS0wMy0yOCAxNjoxNToxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBhZGQgYW5kIHR3ZWFrIGRlYnVnIHN0YXRlbWVudHMKCjIwMTEtMDMtMjggMTM6MzI6MTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGFycmFuZ2UgZm9yIGxpbWl0ZWQgbGVnYWN5IHNlZWtpbmcgc3VwcG9ydAoJICBJbiBwYXJ0aWN1bGFyLCB0d2VhayBzcmMgcXVlcnkgYW5kIGV2ZW50IGhhbmRsaW5nIHRvIHByb3ZpZGUgZm9yCgkgIGJ5dGUgPC0+IHRpbWUgY29udmVyc2lvbi4KCjIwMTEtMDMtMjggMTE6MTU6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJICBiYXNldmlkZW86IGNhdGVyIGZvciBmb3JtYXQgY29udmVyc2lvbgoKMjAxMS0wMy0yOCAxMDo1MToyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkgIHZpZGVvY29kZWM6IHJlbW92ZSB1bnVzZWQgZmllbGRzIGFuZCBjb2RlCgoyMDExLTAzLTI4IDA5OjE0OjU3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGZpeCBjb3B5LWFuZC1wYXN0ZSB2YXJpYWJsZSBtaXNub21lcgoKMjAxMS0wMy0yOCAwODo1OToyMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiBzdWJzdW1lIHNraXBfZnJhbWUgaW50byBmaW5pc2hfZnJhbWUKCjIwMTEtMDMtMjggMDg6NTY6NTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2RlcjogcmVtb3ZlIHVudXNlZCBjb2RlCgoyMDExLTAzLTI3IDIyOjI3OjA5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGNvZGUgY2xlYW51cCBhbmQgZGVidWcgc3R5bGUgZml4ZXMKCjIwMTEtMDMtMjcgMTY6MzY6NTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IHBhc3MgYWxvbmcgYnVmZmVyIGRpc2NvbnQgZmxhZwoKMjAxMS0wMy0yNSAxNToyOTozNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBpbXBsZW1lbnQgcHJlc2V0IGludGVyZmFjZQoKMjAxMS0wMy0yNSAwOToyODoyNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBhZGQgZG9jdW1lbnRhdGlvbiBhbmQgcmVsYXRlZCBjb3NtZXRpY3MKCjIwMTEtMDMtMjQgMTQ6MTA6MDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBwcm92aWRlIHByb3BlciB1cHN0cmVhbSBmbG93IHJldHVybiBoYW5kbGluZwoKMjAxMS0wMy0yNCAxMzo1OTozNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICB2cDhlbmM6IG1pbm9yIG9wdGltaXphdGlvbiBpbiBzZXR0aW5nIHVwIGltYWdlIGJ1ZmZlcgoKMjAxMS0wMy0yNCAxMjo1MDoyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IHJlZmFjdG9yIGZyYW1lIHByb2Nlc3NpbmcKCjIwMTEtMDMtMjQgMTE6NTU6NDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBkbyBpbml0IGF0IHNldF9mb3JtYXQgdGltZQoKMjAxMS0wMy0yNCAxMDoxNTo1NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICB2cDhlbmM6IGZpeCBrZXlmcmFtZSBmb3JjaW5nCgoyMDExLTAzLTI0IDA4OjIzOjI3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IGVuaGFuY2Ugc2V0X2NhcHMKCSAgU3BlY2lmaWNhbGx5LCBvbmx5IGludm9rZSBzZXRfZm9ybWF0IGlmIGluY29taW5nIGZvcm1hdCByZWFsbHkgY2hhbmdlZCwKCSAgYW5kIGZpbmlzaCBjdXJyZW50IGZvcm1hdCBpZiBzbyAoYW5kIGlmIGFueSBjdXJyZW50KS4KCjIwMTEtMDMtMjMgMjI6MTc6NDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogZWxhYm9yYXRlIGZpbmlzaCB0byBkcmFpbmluZwoKMjAxMS0wMy0yNCAwOToyMTowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogaW52b2tlIHN1YmNsYXNzIHN0YXJ0IG1ldGhvZCBhdCBzdGF0ZSBjaGFuZ2UKCSAgV2hpbGUgdGhpcyBjaGFuZ2VzIG9yZGVyIHcuci50LiBzZXRfZm9ybWF0LCB3aGljaCBpcyBPSyBmb3IgdW5zdGFibGUgQVBJLAoJICBpdCBoYXMgZm9sbG93aW5nIG1lcml0czoKCSAgKiBzeW1tZXRyaWMgdy5yLnQuIHN0b3AgYXQgc3RhdGUgY2hhbmdlCgkgICogaW4gbGluZSB3aXRoIG90aGVyIGJhc2UgY2xhc3MgcHJhY3RpY2UKCSAgKiBsaXR0bGUgYmVuZWZpdCBpbiBpbnZva2luZyAyIHN1YmNsYXNzIHZpcnR1YWwgbWV0aG9kcyAoc2V0X2Zvcm1hdCBhbmQgc3RhcnQpCgkgIGluIGltbWVkaWF0ZSBzdWNjZXNzaW9uOyBhbGwgYWN0aW9ucyBpbiB0aGUgc2Vjb25kIGNvdWxkIGJlIGRvbmUgaW4gdGhlIGZpcnN0CgkgIHdoZXJlYXMgc3ViY2xhc3MgaGFzIG5vIGNoYW5jZSB0byBkbyBhbnl0aGluZyAnZ2xvYmFsJyBhdCBhY3RpdmF0aW9uIHRpbWUKCSAgTW9yZW92ZXIsIGN1cnJlbnQgLWJhZCBzdWJjbGFzcyByZWxldmFudCBtZXRob2RzIGVpdGhlciB0cml2aWFsbHkgY29tbXV0ZQoJICBvciBhcmUgZWl0aGVyIHRyaXZpYWxseSBhZGp1c3RlZCBhY2NvcmRpbmdseS4KCjIwMTEtMDMtMjQgMDg6MjE6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogZW5hYmxlIGNsaXBwaW5nIGJ5IGRlZmF1bHQKCjIwMTEtMDMtMjQgMDg6MTc6NTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogcmVzZXQgbW9yZSBzdGF0ZQoKMjAxMS0wMy0yNCAwODo1NjozMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBoZWFkZXIgY29zbWV0aWMgYW5kIGRvYyBmaXhlcwoKMjAxMS0wMy0yMyAwOTo0NToyMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9jb2RlYzogcmVtb3ZlIHJlZHVuZGFudCBjYXBzIGZpZWxkCgkgIC4uLiBhcyBpdCBpcyBhbHJlYWR5IGF0IGhhbmQgYXMgdGhlIHNyYyBwYWQncyBuZWdvdGlhdGVkIGNhcHMuCgoyMDExLTAzLTIzIDA5OjMyOjUwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IHJlbW92ZSB1bnVzZWQgY29kZQoKMjAxMS0wMy0yMyAwODo1MDozMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICB2cDhlbmM6IHVzZSBiYXNlY2xhc3MgZXZlbnQgdmlydHVhbCBoYW5kbGVyCgoyMDExLTAzLTIzIDA4OjQ5OjQ4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IGFkZCBldmVudCB2aXJ0dWFsIG1ldGhvZCB0byBhbGxvdyBzdWJjbGFzcyBldmVudCBoYW5kbGluZwoKMjAxMS0wMy0yMyAwODozNTo1MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBpbXByb3ZlIEdzdEZvcmNlS2V5VW5pdCBldmVudCBoYW5kbGluZwoKMjAxMS0wMy0yMiAxMzoxOToxNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSAgYmFzZXZpZGVvY29kZWM6IGRlYnVnIHN0eWxlIGZpeGVzCgoyMDExLTAzLTIxIDE4OjAyOjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSAgYmFzZXZpZGVvY29kZWM6IHJlbW92ZSB1bnVzZWQgY29kZSBjbHV0dGVyaW5nIHVwIHRoZSBwbGFjZQoJICBBbHNvIG1pbm9yIGRlYnVnIHN0eWxlIGZpeGVzLgoKMjAxMS0wMy0yMSAxNzo0NDoxNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBzaW1wbGlmeSBuZWdvdGlhdGVkIGNoZWNraW5nCgkgIC4uLiBieSBhdm9pZGluZyBzb21lIGV4dHJhbmVvdXMgKHVuKXJlZidpbmcuCgoyMDExLTAzLTI0IDE0OjE2OjEyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IGNvZGUgY2xlYW51cCBhbmQgc29tZSBkZWJ1ZwoJICBBbHNvIGFkZCBzb21lIG1pbm9yIGxvY2tpbmcgYW5kIHJlbW92ZSB1bnVzZWQgYml0cy4KCjIwMTEtMDUtMTYgMDk6MDc6NTcgKzAyMDAgIFBpbm8gVG9zY2FubyA8dG9zY2Fuby5waW5vQHRpc2NhbGkuaXQ+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBEb24ndCB1c2UgUEFUSF9NQVgKCSAgUEFUSF9NQVggaXMgbm90IGRlZmluZWQgb24gR05VIEh1cmQgYW5kIG90aGVycy4gQWxzbyBmaXgKCSAgZm9ybWF0IHN0cmluZy4KCjIwMTEtMDUtMTQgMTQ6NDg6NTYgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWFyY2FuZHJlLmx1cmVhdUBnbWFpbC5jb20+CgoJKiBnc3QvZGNjcC9nc3RkY2NwX2NvbW1vbi5oOgoJICBnc3QvZGNjcDogZml4IGJ1aWxkIG9uIG5ld2VyIG1pbmd3CgkgIEZpeCB0aGlzIGJ1aWxkIGVycm9yOgoJICBDQyAgICAgbGliZ3N0ZGNjcF9sYS1nc3RkY2NwcGx1Z2luLmxvCgkgIEluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi8uLi8uLi9nc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmg6Mjk6MCwKCSAgZnJvbSAuLi8uLi8uLi9nc3QvZGNjcC9nc3RkY2NwcGx1Z2luLmM6MjQ6CgkgIC4uLy4uLy4uL2dzdC9kY2NwL2dzdGRjY3BfY29tbW9uLmg6MzI6MDogd2FybmluZzogV0lOVkVSIHJlZGVmaW5lZCBbZW5hYmxlZCBieSBkZWZhdWx0XQoJICAvdXNyL2k2ODYtdzY0LW1pbmd3MzIvc3lzLXJvb3QvbWluZ3cvaW5jbHVkZS9fbWluZ3cuaDoyMzE6MDogbm90ZTogdGhpcyBpcyB0aGUgbG9jYXRpb24gb2YgdGhlIHByZXZpb3VzIGRlZmluaXRpb24KCSAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uLy4uLy4uL2dzdC9kY2NwL2dzdGRjY3BwbHVnaW4uYzoyNDowOgoJICAuLi8uLi8uLi9nc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmg6NTg6MzogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICd1aW50OF90JwoJICBJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vLi4vLi4vZ3N0L2RjY3AvZ3N0ZGNjcHBsdWdpbi5jOjI1OjA6CgkgIC4uLy4uLy4uL2dzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmg6NzQ6MzogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICd1aW50OF90JwoJICBJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vLi4vLi4vZ3N0L2RjY3AvZ3N0ZGNjcHBsdWdpbi5jOjI2OjA6CgkgIC4uLy4uLy4uL2dzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmg6Njc6MzogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICd1aW50OF90JwoJICBJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vLi4vLi4vZ3N0L2RjY3AvZ3N0ZGNjcHBsdWdpbi5jOjI3OjA6CgkgIC4uLy4uLy4uL2dzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuaDo1ODozOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ3VpbnQ4X3QnCgkgIG1ha2U6ICoqKiBbbGliZ3N0ZGNjcF9sYS1nc3RkY2NwcGx1Z2luLmxvXSBFcnJvciAxCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTAxNzEKCjIwMTEtMDUtMTUgMTA6MDQ6NTAgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGFwcGxlbWVkaWE6IGJ1bXAgdGhlIHJhbmsgb2YgcXRraXR2aWRlb3NyYyB0byBQUklNQVJZCgoyMDExLTA1LTE1IDEwOjAwOjQ0ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvbTN1OC5jOgoJICBobHM6IGZpeCBoYW5kbGluZyBvZiBzdHJvbCgpIG92ZXJmbG93cwoKMjAxMS0wNS0xNCAxMjoxODoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSAgY3J1ZnQ6IEFkZCBleHQvYW1yd2JlbmMgZGlyZWN0b3J5LCBpdCdzIGV4dC92b2FtcndiZW5jIG5vdwoKMjAxMS0wNS0xMyAwMTowMzoyNyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJICBiYXNldmlkZWVuY29kZXI6IEZpeCB1c2UgYWZ0ZXIgZnJlZSBhZnRlciBzdGF0ZSBjaGFuZ2UgdHJhbnNpdGlvbgoKMjAxMS0wNC0xOCAyMzo0MDozNSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5Abm9raWEuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIGZhY2VkZXRlY3Q6IFJlbW92ZSBkZWFkIGNvZGUgYW5kIHNvbWUgbWlub3IgZG9jIGNoYW5nZXMuCgoyMDExLTA0LTI0IDIxOjA2OjI5ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBub2tpYS5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuYzoKCSAgZWRnZWRldGVjdDogUmVtb3ZlIGRlYWQgY29kZSBhbmQgc29tZSBtaW5vciBkb2MgY2hhbmdlcwoKMjAxMS0wNC0xOSAxOTowOTozMCArMDIwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5kZWJldGhlbmNvdXJ0QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuaDoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuaDoKCSAgY29sb3JlZmZlY3RzOiBDb2Rpbmcgc3R5bGUgZml4ZXMKCjIwMTEtMDQtMTkgMTA6MzI6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJICBhYWNlbmM6IEludGVncmF0ZSBpbnRvIHRoZSBkb2N1bWVudGF0aW9uCgoyMDExLTA0LTE5IDEwOjA3OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9hbXJ3YmVuYy9Hc3RBbXJ3YkVuYy5wcnM6CgkqIGV4dC9hbXJ3YmVuYy9NYWtlZmlsZS5hbToKCSogZXh0L2FtcndiZW5jL1JFQURNRToKCSogZXh0L2FtcndiZW5jL2dzdGFtcndiLmM6CgkqIGV4dC9hbXJ3YmVuYy9nc3RhbXJ3YmVuYy5jOgoJKiBleHQvYW1yd2JlbmMvZ3N0YW1yd2JlbmMuaDoKCSogZXh0L3ZvYW1yd2JlbmMvR3N0Vm9BbXJ3YkVuYy5wcnM6CgkqIGV4dC92b2FtcndiZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiLmM6CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5oOgoJICBhbXJ3YmVuYzogU3dpdGNoIHRvIHRoZSBmcmVlIHZvLWFtcndiZW5jIGxpYnJhcnkKCSAgQW5kIHJlbmFtZSBldmVyeXRoaW5nIHRvIHZvYW1yd2JlbmMgaW5zdGVhZCBvZiBhbXJ3YmVuYy4KCjIwMTEtMDQtMTUgMTE6MTk6MjAgKzAyMDAgIGJlbmphbWluIGdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFjLmM6CgkgIGZhYWM6IERldGVjdCBvdXRwdXQgZm9ybWF0IGZyb20gZG93bnN0cmVhbSBjYXBzIGNoYW5nZSB1bml0IHRlc3QKCjIwMTEtMDQtMTkgMDk6NTI6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHZvYWFlbmM6IEZpeCBDRkxBR1MvTElCUyBvZiB0aGUgdW5pdCB0ZXN0CgoyMDExLTA0LTE5IDA5OjQ5OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuaDoKCSAgdm9hYWNlbmM6IE9ubHkgZ2VuZXJhdGUgc2lua2NhcHMgb25jZSBhbmQgaW4gYSB0aHJlYWRzYWZlIHdheQoKMjAxMS0wNC0xOSAwOTo0MjoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IEFkZCBOVUxMIHRlcm1pbmF0b3IgdG8gZ3N0X3N0cnVjdHVyZV9uZXcoKQoKMjAxMS0wNC0xOSAwOTo0MDo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmg6CgkgIHZvYWFjZW5jOiBTb21lIG1pbm9yIGNsZWFudXAKCjIwMTEtMDQtMTkgMDk6MzQ6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL01ha2VmaWxlLmFtOgoJICB2b2FhY2VuYzogRml4IENGTEFHUyBhbmQgTElCUwoKMjAxMS0wNC0xOCAxNzoxOTowMCArMDIwMCAgYmVuamFtaW4gZ2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3ZvYWFjZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWMuYzoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IEFkZCBuZXcgcGx1Z2luIGZvciBhdWRpbyBBQUMgZW5jb2RlciBiYXNlZCBvbiB2by1hYWNlbmMgbGliCgkgIEFkZCBwbHVnaW4gYW5kIHVuaXQgdGVzdC4KCSAgRml4ZXMgYnVnICM2NDc3NDguCgoyMDExLTA1LTE0IDEwOjE5OjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JzcGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzZXR0aW5ncy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTAuMjIgPT09CgoyMDExLTA1LTEwIDExOjM1OjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JzcGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzZXR0aW5ncy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMjIKCSAgSGlnaGxpZ2h0czoKCSAgLSBobHNkZW11eDogQWRkIEhUVFAgbGl2ZSBzdHJlYW1pbmcgcGFyc2VyL2RlbXV4ZXIgZWxlbWVudAoJICAtIG5ldyBlbGVtZW50czogaDI2M3BhcnNlLCB6ZWJyYXN0cmlwZSwgcGF0Y2hkZXRlY3QKCSAgLSBzY2VuZWNoYW5nZTogbmV3IHNjZW5lIGNoYW5nZSBkZXRlY3Rpb24gZWxlbWVudAoJICAtIHJlbW92ZWQgYXVkaW9wYXJzZXJzYmFkIHBsdWdpbiwgaXQgaGFzIGJlZW4gbW92ZWQgdG8gLWdvb2QKCSAgLSBtYWtlIG9wZW5jdiBwbHVnaW4gd29yayB3aXRoIE9wZW5DViAyLjIKCSAgLSBjb3VudGxlc3MgKHN0aWxsIGV4cGVyaW1lbnRhbCkgY2FtZXJhYmluMiBmaXhlcyBhbmQgaW1wcm92ZW1lbnRzCgkgIC0gZXhwZXJpbWVudGFsIFZQOCBSVFAgcGF5bG9hZGVyL2RlcGF5bG9hZGVyIChSVFAgcGF5bG9hZGluZyBub3QgZmluYWxpc2VkIHlldCkKCSAgLSBjdXJsc2luazogYWRkIGxpYmN1cmwtYmFzZWQgc2luayBlbGVtZW50IChhY3RzIGFzIGNsaWVudCwgbm90IHNlcnZlcikKCSAgLSBkZWNrbGluazogYWRkIGRlY2tsaW5rIHBsdWdpbgoJICAtIGxpbnN5czogYWRkIHBsdWdpbiBmb3IgTGluZWFyIFN5c3RlbXMgU0RJIGJvYXJkcwoJICAtIHNkaTogYWRkIHJhdyBTREkgbXV4aW5nL2RlbXV4aW5nIGVsZW1lbnRzCgkgIC0gY2FtZXJhYmluIG5vdyByZWxpZXMgb24gbXV4ZXJzIHRvIG11eCBiYXNlZCBvbiBydW5uaW5nIHRpbWUgKGllLiBsYXRlc3QgYmFzZS9nb29kL3VnbHkgcmVsZWFzZXMpCgkgIC0gbWFueSBvdGhlciBmaXhlcyBhbmQgaW1wcm92ZW1lbnRzCgoyMDExLTA1LTA1IDA5OjU0OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5oOgoJICBjYW1lcmFiaW46IFVzZSBydW5uaW5nIHRpbWUgZm9yIG11eGluZwoJICBUaGlzIHBhdGNoIHJlbW92ZXMgdGhlIGF1ZGlvIHNvdXJjZSBidWZmZXIgcHJvYmUgdGhhdCB3YXMgdXNlZAoJICB0byByZS10aW1lc3RhbXAgYnVmZmVycyB0byBtYWtlIHRoZW0gc3RhcnQgZnJvbSAwLiBBcyBtdXhlcnMKCSAgaGF2ZSBiZWVuIGZpeGVkIHRvIHVzZSBydW5uaW5nIHRpbWUgaW5zdGVhZCBvZiB0aW1lc3RhbXBzLCB0aGlzCgkgIGlzIG5vdCBuZWVkZWQgYW55bW9yZS4KCSAgRml4ZXMgYnVnICM2NDYyMTEKCjIwMTEtMDQtMjEgMTk6NTg6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJICBjYW1lcmFiaW46IEZpeCB0eXBvCgoyMDExLTA1LTA0IDEyOjM2OjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgeHZpZGVuYzogZG8gbm90IGxlYWsgcGVlciBwYWQgcmVmZXJlbmNlCgoyMDExLTA1LTAzIDE1OjQ3OjAyICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgeHZpZGVuYzogQWx3YXlzIHJldHVybiByZWZmZWQgY2FwcyBmcm9tIF9nZXRjYXBzCgkgIE5vdCByZXR1cm5pbmcgcmVmIGNhcHMgd2lsbCBsZWFkcyB0byBjcmFzaGVzIGFuZCByZWZjb3VudGluZyBpc3N1ZXMgaW4KCSAgdXBzdHJlYW0gZWxlbWVudHMKCjIwMTEtMDQtMTQgMTM6MzQ6NTMgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogc2V0IGR1cmF0aW9uIGluIG91dGdvaW5nIGJ1ZmZlcnMKCSAgQ3VycmVudGx5IHdlIHB1c2ggZWFjaCBmcmFnbWVudCBhcyBhIHNpbmdsZSBidWZmZXIuCgoyMDExLTA1LTAzIDEyOjAxOjI1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGZpeCBEVVJBVElPTiBxdWVyeSBoYW5kbGluZwoJICBPbmx5IGFuc3dlciBkdXJhdGlvbiBxdWVyaWVzIGluIFRJTUUgZm9ybWF0IHdpdGggYSBkdXJhdGlvbgoJICBpbiBzZWNvbmRzLiBNYWtlIHN1cmUgd2UgZG9uJ3QgcmV0dXJuIEdTVF9DTE9DS19USU1FX05PTkUgYXMKCSAgZHVyYXRpb24gKHdoaWNoIGlzIG5vbi0wLCBidXQgc3RpbGwgaW52YWxpZC91c2VsZXNzKS4KCjIwMTEtMDUtMDMgMTE6NTE6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogaW1wbGVtZW50IFNFRUtJTkcgcXVlcnkKCjIwMTEtMDUtMDMgMDk6NTU6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2YjogVXNlIHRoZSB1c2VyIGNvbmZpZyBkaXIgaW5zdGVhZCBvZiB0aGUgY2FjaGUgZGlyIGZvciB0aGUgY2hhbm5lbHMgY29uZmlndXJhdGlvbgoKMjAxMS0wNC0yOSAxNDozNzowNCArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KCgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmI6IG1vdmVkIGR2Yi1jaGFubmVscy5jb25mIHRvICRYREdfQ0FDSEVfSE9NRQoKMjAxMS0wNC0zMCAxOTo0Nzo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcnNwYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NldHRpbmdzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXBzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZnIucG86CgkqIHBvL3VrLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjEuNCBwcmUtcmVsZWFzZQoKMjAxMS0wNC0zMCAxOTo0Njo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMtZGlzdC5jOgoJICBVcGRhdGUgb3JjLWdlbmVyYXRlZCBkaXN0ZWQgQyBiYWNrdXAgY29kZSB0byBvcmMgMC40LjE0CgoyMDExLTA0LTMwIDE5OjE1OjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNob3BteWRhdGEuYzoKCSAgY2hvcG15ZGF0YTogZG9uJ3QgcHVzaCBidWZmZXJzIHNtYWxsZXIgdGhhbiBtaW4tc2l6ZSBvbiBlb3MKCSAgV2hlbiBwdXNoaW5nIHRoZSByZW1haW5pbmcgZGF0YSBvbiBFT1MsIGRvbid0IGp1c3QgcHVzaCB3aGF0ZXZlcgoJICBkYXRhIGlzIGxlZnQgaW4gdGhlIGFkYXB0ZXIsIGJ1dCBvbmx5IHB1c2ggZGF0YSB0aGF0J3MgYXQgbGVhc3QKCSAgb2YgbWluLXNpemUuCgoyMDExLTA0LTMwIDE5OjA4OjI1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNob3BteWRhdGEuYzoKCSAgY2hvcG15ZGF0YTogZG9uJ3QgbWVzcyB3aXRoIGFkYXB0ZXIgZnJvbSBub24tc3RyZWFtaW5nIHRocmVhZCBvbiBGTFVTSF9TVEFSVAoJICBEb24ndCB0cnkgdG8gcHVzaCByZW1haW5pbmcgZGF0YSBpbiB0aGUgYWRhcHRlciBvbiByZWNlaXZpbmcgYSBGTFVTSCBldmVudCwKCSAganVzdCBmbHVzaCB0aGUgYWRhcHRlci4gRG8gdGhpcyBvbiBGTFVTSF9TVE9QLCBob3dldmVyLCB3aGljaCBpcyBzZXJpYWxpemVkLAoJICB1bmxpa2UgRkxVU0hfU1RBUlQsIHNvIHdlIGRvbid0IG1lc3Mgd2l0aCB0aGUgYWRhcHRlciBhdCB0aGUgc2FtZSB0aW1lIGFzCgkgIHRoZSBzdHJlYW1pbmcgdGhyZWFkLgoKMjAxMS0wNC0zMCAxMToyODowMyArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkgIHk0bWRlYzogYWRkIHBsdWdpbiBkZXNjcmlwdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ5MDA1CgoyMDExLTA0LTI5IDEyOjM5OjM4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IERvbid0IGxlYWsgYnVmZmVybGlzdCBvbiBzdHJlYW1zIHdpdGhvdXQgcGFkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4OTI5CgoyMDExLTA0LTI5IDEyOjM4OjMxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IFVucmVmIGJ1ZmZlcnMgd2UgZG9uJ3QgdXNlLgoJICBBdm9pZHMgYSBtYXNzaXZlIGxlYWsgOikKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0ODkyOQoKMjAxMS0wNC0yOSAxMjowODozOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBEb24ndCBmb3JnZXQgdG8gZnJlZSB0aGUgcHJvZ3JhbSBzdHJlYW1zIGFycmF5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDg5MjkKCjIwMTEtMDQtMjkgMTI6MDg6MDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRnJlZSBwYWNrZXQgYnVmZmVyIGV2ZW4gaWYgaXQgZG9lc24ndCBoYXZlIGEgcGF5bG9hZAoJICBUaGlzIGNhbiBoYXBwZW4gd2l0aCBBRkMtb25seSBwYWNrZXRzLiBBdm9pZHMgbGVha2luZyBidWZmZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4OTI5CgoyMDExLTA0LTI4IDEwOjA3OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZGVja2xpbms6IENoZWNrIGZvciBwdGhyZWFkLmggYW5kIGxpbmsgd2l0aCAtbHB0aHJlYWQKCjIwMTEtMDQtMjggMTA6MDQ6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL01ha2VmaWxlLmFtOgoJICBkZWNrbGluazogQWRkIHRvIFNVQkRJUlMKCjIwMTEtMDQtMjggMDA6MDA6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JzcGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzZXR0aW5ncy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMtZGlzdC5jOgoJKiBwby9iZy5wbzoKCSogcG8vamEucG86CgkqIHBvL25sLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NsLnBvOgoJKiBwby90ci5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjIxLjMgcHJlLXJlbGVhc2UKCjIwMTEtMDQtMjcgMjM6NDM6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdG9vbHMvTWFrZWZpbGUuYW06CgkgIHRvb2xzOiBkaXNhYmxlIG5ldyBnc3QtZWxlbWVudC1tYWtlciB0ZXN0CgkgIEl0IGRvZXNuJ3Qgc2VlbSB0byB3b3JrIGluIGFuIHVuaW5zdGFsbGVkIHNldHVwLCBhbmQKCSAgYnJlYWtzIG1ha2UgZGlzdGNoZWNrIGZvciBtZS4KCjIwMTEtMDQtMjcgMDE6MTQ6MjAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRvb2xzL01ha2VmaWxlLmFtOgoJICBlbGVtZW50LW1ha2VyOiB0aGUgYnJvZWtuIHRlbXBsYXRlcyBhcmUgbm90IGJyb2VrbiwgYnV0IGRlcGVuZGVuY2llcwoJICBSZW5hbWUgdGhlIGxpc3QgYW5kIGRpc3QgdGhlbS4gV2UgbmVlZCB0aGVtIGZvciB0aGUgYWN0dWFsIHRlbXBsYXRlcy4KCjIwMTEtMDQtMjYgMTU6MTM6NTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRvb2xzL01ha2VmaWxlLmFtOgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogc2V0IENQUEZMQUdTIHRvIG1ha2UgdGVtcGxhdGVzIHVzaW5nIHVuaW5zdGFsbGVkIGhlYWRlcnMgd29yawoKMjAxMS0wNC0yNiAxNDoyMToyNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdG9vbHMvTWFrZWZpbGUuYW06CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2dvYmplY3Q6CgkgIGVsZW1lbnQtbWFrZXI6IGZpeHVwIGdvYmplY3QgdGVtcGxhdGUgYSBiaXQgYnV0IGRpc2FibGUgZm9yIG5vdwoJICBUaGUgdGVtcGxhdGUgY29udGFpbnMgdGhpbmdzIHdlIGFscmVhZHkgZGVmaW5lIGJ5IGRlZmF1bHQuCgoyMDExLTA0LTI2IDE0OjEwOjA1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9hdWRpb2ZpbHRlcjoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXJ0cGRlcGF5bG9hZDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXJ0cHBheWxvYWQ6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2NkZGFiYXNlc3JjOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy90YWdkZW11eDoKCSAgZWxlbWVudC10ZW1wbGF0ZXM6IGZpeCB0ZW1wbGF0ZXMKCSAgVXNlIHRoZSBvYmplY3QgY2xhc3MgYW5kIG5vdCB0aGUgb2JqZWN0IGluIHRoZSBpbml0IGZ1bmN0aW9uLiBTZXQgdGhlIHZtZXRob2RzLgoJICBBZGQgZGVmYXVsdCByZXR1cm5zLgoKMjAxMS0wNC0yNiAxNDowODo1MSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdG9vbHMvTWFrZWZpbGUuYW06CgkgIGVsZW1lbnQtbWFrZXI6IGRvbid0IGRpc3QgaW5jb21wbGV0ZSB0ZW1wbGF0ZXMKCSAgTW92ZSBub3Qgd29ya2luZyB0ZW1wbGF0ZXMgdG8gYSBzZXBhcmF0ZSB2YXJpYWJsZSB0byBoaWdobGlnaHQgdGhlIGZhY3QgdGhhdAoJICB0aGV5IG5lZWQgbW9yZSB3b3JrLiBUaGVzZSBuZWVkIGF0IGxlYXN0IHRoZSBjbGFzcyBhbmQgdHlwZSBmaWVsZHMgZmlsbGVkLgoKMjAxMS0wNC0yNiAxMzo0NDowNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdG9vbHMvTWFrZWZpbGUuYW06CgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyLXRlc3Quc2g6CgkgIGVsZW1lbnQtbWFrZXItdGVzdDogdHJ5IHRvIHJ1biBlbGVtZW50LW1ha2VyIGZvciBhbGwgdGVtcGxhdGVzCgkgIEFkZCBhbiBlYXN5IHdheSB0byBjaGVjayB0aGUgZWxlbWVudC1tYWtlciB0ZW1wbGF0ZXMuCgoyMDExLTA0LTI2IDEzOjQyOjU5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogbWFrZSBpdCBmYWlsLCB3aGVuIGNvbXBpbGF0aW9uIGZhaWxzCgoyMDExLTA0LTE5IDE1OjA5OjU0IC0wNDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogYWxsb3cgdG8gcnVuIGZyb20gYSBkaWZmZXJlbnQgd29ya2luZyBkaXJlY3RvcnkKCSAgR2V0IHRoZSBkaXJuYW1lIGZvciB0aGUgc2NyaXB0IGFuZCB1c2UgdGhhdCB0byByZWZlcmVuY2UgdGhlIHRlbXBsYXRlcy4gVXNlIHRoZQoJICB0ZW1wbGF0ZWRpciB2YXJpYWJsZSB0byBjaGVjayBmb3IgdGVtcGxhdGVzLgoKMjAxMS0wNC0xNiAxOTo0Mjo0OCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogbG93ZXJjYXNpZnkgaW5wdXQKCSAgVGhpcyBhbGxvd3MgdXNpbmcgY2FwaXRhbGl6ZWQgYWNyb255bXMgaW4gY2xhc3MgbmFtZXMsIHNvIHVzaW5nCgkgICJBVkNfc3JjIiBvbiB0aGUgY29tbWFuZCBsaW5lIHdpbGwgY3JlYXRlIGZpbGVuYW1lIGdzdGF2Y3NyYy5jLAoJICBjbGFzcyBuYW1lIEdzdEFWQ1NyYywgYW5kIHN5bWJvbCBuYW1lcyBnc3RfYXZjX3NyY18qLgoKMjAxMS0wNC0yNCAxNjo0MjowMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4LHRzZGVtdXg6IEFkZCBieXRlLXN0cmVhbSB0byBoMjY0IGNhcHMKCSAgRml4ZXMgIzYwNjY2Mi4KCjIwMTEtMDQtMjQgMTY6MDA6MDAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogRG9uJ3QgYWxsb3cgYnVmZmVycyBhZnRlciBFT1MKCSAgRml4ZXMgIzY0Nzg1Mi4KCjIwMTEtMDQtMjQgMTU6NDk6NTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBEb24ndCBkdXBsaWNhdGUgY29kZSBpbiBiYXNldmlkZW9jb2RlYwoJICBCb3RoIGJhc2V2aWRlb2VuY29kZXIgYW5kIGJhc2V2aWRlb2NvZGVjIHdlcmUgc2V0dGluZwoJICBzeXN0ZW1fZnJhbWVfbnVtYmVyLCBsZWFkaW5nIHRvIGNvbmZ1c2lvbi4gIEZpeGVzICM2NDc4NTMuCgoyMDExLTA0LTE0IDE2OjIxOjE1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlbzogQ2hlY2sgaWYgY2FwcyBhcmUgc2V0IGRpcmVjdGx5CgkgIEZpeGVzICM2NDc4NTQuCgoyMDExLTA0LTE3IDAwOjA4OjM5ICswMTAwICBNaWhhaSBEcmFnaGljaW9pdSA8bWloYWkuZHJhZ2hpY2lvaXVAZ21haWwuY29tPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSAgZ21lOiBmaXggaW5maW5pdGUgbG9vcGluZyBieSBmYWRpbmcgb3V0IGFmdGVyIHR3byBsb29wcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ3MzY0CgoyMDExLTA0LTI0IDE0OjA0OjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYzNjYWZlMSB0byA0NmRmY2VhCgoyMDExLTA0LTIyIDA5OjM3OjI5ICswMTAwICBGYWJyaXppbyBNaWxvIDxtaXN0b2JhYW5AZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuaDoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5oOgoJICBvcGVuY3Y6IG1ha2Ugd29yayB3aXRoIG9wZW5DViAyLjIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTc5NgoKMjAxMS0wNC0xOSAxNzowMjo0NSArMDEwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBBZGQgbGF0ZXN0IHBsdWdpbnMgdG8gc3BlYyBmaWxlCgoyMDExLTA0LTE1IDIyOjI1OjI3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogQWRkIGJ5dGUtc3RyZWFtIHRvIGgyNjQgY2FwcwoKMjAxMS0wNC0xOCAxMjowMTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZtdXguYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL214Zi5jOgoJICB3YXZwYWNrOiBSZW1vdmUgYnVzIEdTb3VyY2UgdG8gcHJldmVudCBhIHZhbGdyaW5kIHdhcm5pbmcKCjIwMTEtMDQtMTggMTE6NTc6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb2ZhLmM6CgkgIG9mYTogUmVtb3ZlIGJ1cyBHU291cmNlIHRvIHByZXZlbnQgYSB2YWxncmluZCB3YXJuaW5nCgoyMDExLTA0LTE4IDExOjUwOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Fzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IFJlbW92ZSBidXMgR1NvdXJjZSB0byBwcmV2ZW50IGEgdmFsZ3JpbmQgd2FybmluZwoKMjAxMS0wNC0xOCAxMTo0NjoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkgIGRlY2tsaW5rOiBSZW1vdmUgdW51c2VkL3VubmVlZGVkIENGTEFHUy9MSUJTIGFuZCBtb3ZlICQoTElCTSkgdG8gTElCQURECgoyMDExLTA0LTE4IDExOjQzOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9saW5zeXMvTWFrZWZpbGUuYW06CgkgIGxpbnN5czogTGluayB3aXRoIGxpYmdzdGJhc2UgZm9yIGJhc2VzaW5rL2Jhc2VzcmMKCSAgQW5kIHJlbW92ZSBlbXB0eSBhbmQgdW51c2VkIHZhcmlhYmxlcy4KCjIwMTEtMDQtMTcgMTk6MDk6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJICBkZWNrbGluazogRGlzdCBhbGwgaGVhZGVycyBhbmQgcHV0IHRoZW0gaW4gbm9pbnN0X0hFQURFUlMKCjIwMTEtMDQtMTcgMTk6MDk6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2xpbnN5cy9NYWtlZmlsZS5hbToKCSAgbGluc3lzOiBEaXN0IGFsbCBoZWFkZXJzIGFuZCBwdXQgdGhlbSBpbiBub2luc3RfSEVBREVSUwoKMjAxMS0wNC0xNyAxMTo1NDowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRml4IGxpbnN5cy9kZWNrbGluayBjaGVja3MgZm9yIExpbnV4CgoyMDExLTA0LTE3IDAxOjEwOjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjIxLjIgcHJlLXJlbGVhc2UKCjIwMTEtMDQtMTcgMDE6MDk6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0Lmg6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMtZGlzdC5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLWRpc3QuaDoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0LmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5oOgoJICBleHQsIGdzdDogdXBkYXRlIGRpc3RlZCBvcmMgYmFja3VwIGZpbGVzCgoyMDExLTA0LTE3IDAwOjU0OjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yc3BhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc2V0dGluZ3MueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXBzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJICBkb2NzOiB1cGRhdGUgZG9jcyBmb3IgcHJlLXJlbGVhc2UKCjIwMTEtMDQtMTYgMTY6MzY6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCAtLWRpc2FibGUtZXh0ZXJuYWwKCjIwMTEtMDQtMTQgMjA6NDY6NTIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiByZWZhY3RvciBibGl0dGluZywgYXZvaWQgd3JpdGluZyBwYXN0IGVuZCBvZiBidWZmZXIKCSAgUHJldmlvdXMgYmxpdHRpbmcgY29kZSBjb3VsZCBwb3RlbnRpYWxseSB3cml0ZSBwYXN0IHRoZQoJICBlbmQgb2YgdGhlIGJ1ZmZlciBpZiB0aGUgeCBvciB5IHBvc2l0aW9uIHdhcyBvZGQsIGFuZCBmb3IKCSAgdGhlIHNhbWUgdW5kZXJseWluZyByZWFzb24sIGRpZG4ndCBnZXQgdGhlIGNocm9tYSByZWdpc3RyYXRpb24KCSAgY29ycmVjdCBpbiB0aGUgb2RkIHBvc2l0aW9uIGNhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDc4MzAKCjIwMTEtMDQtMTYgMTE6MTg6NDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ2Zvcm1hdDogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlIG9uIG1hY29zeAoKMjAxMS0wNC0xNCAyMDozOTozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkgIGNhbWVyYWJpbjogRG8gbm90IGZvcmdldCB0byB1bnJlZiB0aGUgZmZtcGVnY29sb3JzcGFjZQoJICBEbyBub3QgbGVhayB0aGUgZmZtcGVnY29sb3JzcGFjZSBieSB1bnJlZmluZyBpdCBhdCBkaXNwb3NlCgoyMDExLTA0LTE0IDE2OjQ4OjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICB0ZXN0OiBjYW1lcmFiaW46IE1vcmUgbGVhayBmaXhlcwoKMjAxMS0wNC0xNSAxMDo0MTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBtNC9nc2V0dGluZ3MubTQ6CgkgIG00OiBVcGRhdGUgZ3NldHRpbmdzIG00IG1hY3JvcwoKMjAxMS0wNC0xNCAxNjoyNDo0NyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgb3JjIHJlcXVpcmVtZW50IHRvIDAuNC4xMQoKMjAxMS0wNC0xNSAwMDowOToxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNoZWNrc3Vtc2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaG9wbXlkYXRhLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZmlzaGV5ZS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgRml4IHNvbWUgdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgd2FybmluZ3Mgd2l0aCBnY2MgNC42CgoyMDExLTA0LTE0IDE5OjUzOjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2dvYmplY3Q6CgkgIGVsZW1lbnQtdGVtcGxhdGVzOiBjbGVhbiB1cCBnb2JqZWN0IHRlbXBsYXRlIGEgYml0CgkgIFJlbW92ZSBwb2ludGxlc3MgZ19yZXR1cm5faWZfZmFpbCAoR19JU19GT08gKG9iaikpIGNoZWNrcyBpbgoJICB2ZnVuYyBpbXBsZW1lbnRhdGlvbnMuIENvbW1lbnQgb3V0IHVudXNlZCB2YXJpYWJsZXMgdG8gYXZvaWQKCSAgd2FybmluZ3Mgd2l0aCBnY2MgNC42LgoKMjAxMS0wNC0xNCAxODozNjoxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5jOgoJICBhc2ZtdXg6IGZpeCB1bnVzZWQtYnV0LXNldC12YXJpYWJsZSB3YXJuaW5ncyB3aXRoIGdjYyA0LjYKCjIwMTEtMDQtMTQgMTg6MzY6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5jOgoJICBiYXllcjogZml4IHVudXNlZC1idXQtc2V0LXZhcmlhYmxlIHdhcm5pbmdzIHdpdGggZ2NjIDQuNgoKMjAxMS0wNC0xNCAxNDozMjowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBMZWFrIGZpeGVzIGZvciB0aGUgdW5pdCB0ZXN0cwoJICBMZWFrIGZpeGVzIHJlbGF0ZWQgdG8gbm90IHJlbW92aW5nIHRoZSBzb3VyY2UgcmV0dXJuZWQgZnJvbQoJICBnc3RfYnVzX2FkZF93YXRjaAoKMjAxMS0wNC0xNCAxMzoyNzoyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjogU29tZSBsZWFrIGZpeGVzCgkgIExlYWsgZml4ZXMgcmVsYXRlZCB0byByZW1vdmluZyB0aGUgc291cmNlIHJldHVybmVkIGZyb20KCSAgZ3N0X2J1c19hZGRfd2F0Y2gKCjIwMTEtMDQtMTMgMTU6MDU6MTUgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvLnZlcmRlam9AY29sbGFib3JhLmNvLnVrPgoKCSogQW5kcm9pZC5tazoKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvQW5kcm9pZC5tazoKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvR3N0QW5kcm9pZC5jcHA6CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL2F1ZGlvZmxpbmdlcl93cmFwcGVyLmNwcDoKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvYXVkaW9mbGluZ2VyX3dyYXBwZXIuaDoKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvZ3N0YXVkaW9mbGluZ2VycmluZ2J1ZmZlci5oOgoJKiBzeXMvYXVkaW9mbGluZ2Vyc2luay9nc3RhdWRpb2ZsaW5nZXJzaW5rLmM6CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL2dzdGF1ZGlvZmxpbmdlcnNpbmsuaDoKCSAgUmVtb3ZlIGF1ZGlvZmxpbmdlcnNpbmsKCSAgUmVtb3ZlIGF1ZGlvZmxpbmdlcnNpbmssIGl0J3MgaW4gZ3N0LWFuZHJvaWQgbm93LgoKMjAxMS0wNC0xNCAxNjo0OToxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBmaXggdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgd2FybmluZ3Mgd2l0aCBnY2MgNC42CgoyMDExLTA0LTE0IDE2OjE0OjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5oOgoJICBiYXNlY2FtZXJhc3JjOiBhZGQgdW5zdGFibGUtQVBJIHdhcm5pbmdzIGlmIEdTVF9VU0VfVU5TVEFCTEVfQVBJIGlzIG5vdCBkZWZpbmVkCgkgIFNvIHBlb3BsZSBrbm93IHRoaXMgaXMgdW5zdGFibGUgQVBJIGV2ZW4gaWYgaXQgZW5kcyB1cCByaWdodCBuZXh0CgkgIHRvIG91ciBvdGhlciBBUEkuCgoyMDExLTA0LTE0IDE2OjExOjUzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9tZWRpYS1pbmZvLy5naXRpZ25vcmU6CgkgIGxpYnM6IHJlbW92ZSBsZWZ0b3ZlciBtZWRpYS1pbmZvIGRpcmVjdG9yeQoKMjAxMS0wNC0xMyAyMjo0ODoyOCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogbTN1ODogcmV0dXJuIGR1cmF0aW9uIGluIG5hbm9zZWNvbmRzCgoyMDExLTA0LTEzIDIzOjM1OjUwICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZml4IGhhbmRsaW5nIG9mIGVuZCBvZiBwbGF5bGlzdAoJICBEb24ndCBzZW5kIHRoZSBFT1MgZXZlbnQgdW50aWwgd2UgcmVhY2hlZCB0aGUgZW5kIG9mIHRoZSBwbGF5bGlzdAoJICBhbmQgdGhlIHF1ZXVlIGlzIHJlYWxseSBlbXB0eS4KCjIwMTEtMDQtMTMgMjI6MjU6NTcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBmaXggZXhhbXBsZSBwaXBlbGluZQoKMjAxMS0wNC0xMyAyMzowNjoxOCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGlnbm9yZSBzZWVrIGV2ZW50cyB1bnRpbCBpdCdzIGltcGxlbWVudGVkCgoyMDExLTA0LTEzIDIyOjE3OjA1ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZGlzcG9zZSB0aGUgZmV0Y2hlciBmcm9tIHRoZSBzYW1lIHRocmVhZCBpdCdzIGNyZWF0ZWQKCjIwMTEtMDQtMTQgMTE6Mjg6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6OiBmaXggY29tcGlsYXRpb24gd2l0aCBvbGRlciBHTGliCgkgIGdfb2JqZWN0X25vdGlmeV9ieV9wc3BlYygpIGlzIG5ldyBpbiBHTGliIDIuMjYsIGJ1dCB3ZSBvbmx5IHJlcXVpcmUgMi4yMi4KCjIwMTEtMDQtMTQgMDc6MjE6NTAgKzAxMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB3aXRoIGEgbG90IG9mIG5ldyBwbHVnaW5zCgoyMDExLTA0LTEzIDIzOjU5OjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICB0ZXN0czogamlmbXV4OiBBZGRzIHRlc3QgZm9yIG5ldyBleHBvc3VyZSBjb21wZW5zYXRpb24gdGFnCgkgIEFkZHMgYSB0ZXN0IGZvciBHU1RfVEFHX0NBUFRVUklOR19FWFBPU1VSRV9DT01QRU5TQVRJT04gb24KCSAgamlmbXV4IGNoZWNrIHRlc3RzLgoKMjAxMS0wNC0xMyAyMTo1ODozNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL2dzdGR0bWZjb21tb24uaDoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mY29tbW9uLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIGR0bWY6IE1vdmUgZHVwbGljYXRlICNkZWZpbmVzIGludG8gYSBjb21tb24gaW5jbHVkZQoJICBDZW50cmFsaXplIGR1cGxpY2F0ZWQgY29uc3RhbnRzIHNvIHRoZXkgaGF2ZSB0aGUgc2FtZSB2YWx1ZS4KCSAgQWxzbyBzdGFuZGFyZGlzZSBtaW5pbXVtIHRvbmUgZHVyYXRpb24gdG8gMjUwbXMgYW5kIG1pbmltdW0gaW50ZXItdG9uZQoJICBpbnRlcnZhbCB0byAxMDBtcy4KCjIwMTEtMDQtMTMgMjI6MzM6MzcgLTAzMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogUHJlc2VydmUgdW51c2VkIGltYWdlYmluIG9yIHZpZGVvYmluIG9uIE5VTEwKCSAgSWYgdmlkZW8gb3IgaW1hZ2UgbW9kZSBpcyBuZXZlciBzZWxlY3RlZCB0aGVuIHJlc3BlY3RpdmUgYmluIGlzIGluIE5VTEwgc3RhdGUuCgkgIFByZXNlcnZlIHRoaXMgc3RhdGUgd2hlbiByZXNldHRpbmcgY2FtZXJhYmluIGZyb20gUEFVU0VEIHRvIFJFQURZLgoKMjAxMS0wNC0xMyAyMjowNzo1OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3BubS9NYWtlZmlsZS5hbToKCSAgcG5tOiBhZGQgTElCVE9PTEZMQUdTID0gLS10YWc9ZGlzYWJsZS1zdGF0aWMKCjIwMTEtMDQtMTMgMjA6MjY6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICB4dmlkZW5jOiBJbXBsZW1lbnQgZ2V0Y2FwcyBmdW5jdGlvbgoJICBUaGlzIGFsbG93cyB0byBzZXQgd2lkdGgvaGVpZ2h0L2V0YyByZXN0cmljdGlvbnMgdG8gYmUgc2V0IGRvd25zdHJlYW0uCgkgIEZpeGVzIGJ1ZyAjNjQ3NDk4LgoKMjAxMS0wNC0xMiAyMTo0NzoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBBbmRyb2lkLm1rOgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvcXRtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2F0b21zcmVjb3ZlcnkuYzoKCSogZ3N0L3F0bXV4L2F0b21zcmVjb3ZlcnkuaDoKCSogZ3N0L3F0bXV4L2Rlc2NyaXB0b3JzLmM6CgkqIGdzdC9xdG11eC9kZXNjcmlwdG9ycy5oOgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkqIGdzdC9xdG11eC9mdHlwY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bW9vdnJlY292ZXIuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bW9vdnJlY292ZXIuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eHBsdWdpbi5jOgoJKiBnc3QvcXRtdXgvcHJvcGVydGllcy5jOgoJKiBnc3QvcXRtdXgvcHJvcGVydGllcy5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICBxdG11eDogcmVtb3ZlIHF0bXV4IHBsdWdpbiwgaXQgaGFzIG1vdmVkIHRvIC1nb29kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzY2OTkKCjIwMTEtMDQtMTMgMTY6MzE6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEZpeCBsaWJleGlmIHBrZy1jb25maWcgY2hlY2sKCSAgVGhlcmUncyBubyBleGlmIHBsdWdpbiBzbyBkb24ndCB1c2UgQUdfR1NUX0NIRUNLX0ZFQVRVUkUuCgkgIEZpeGVzIGJ1ZyAjNjQ3NTY0LgoKMjAxMS0wNC0xMiAxNjo0MjoxNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IFJlbW92ZSBsZWZ0b3ZlciBNQUVNT19CUk9LRU4gZGVmaW5lcwoJICBSZW1vdmUgZGVmaW5lcyB0byB3b3JrIGFyb3VuZCBidWdzIGluIG9sZCBNYWVtbyByZWxlYXNlcwoKMjAxMS0wNC0xMSAxNDo0NDoxNyAtMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxsYXNzZS5sYXVra2FuZW5AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBGaXggY29ybmVyIGNhc2UgZm9yIHByZXZpZXcgcG9zdGluZwoJICBGaXggY29ybmVyIGNhc2Ugd2hlcmUgdmlkZW8gcHJldmlldyBpbWFnZSBpcyBub3QgcG9zdGVkIGlmIHN0b3BwaW5nCgkgIHZpZGVvIGNhcHR1cmUgaW1tZWRpYXRlbHkgYWZ0ZXIgY2FwdHVyZSBzdGFydC4KCjIwMTEtMDQtMTEgMTg6MzE6NDUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IHN1YnRyYWN0IGlkLXN0ciBzaXplIGZyb20gdGhlIHJlbWFpbmluZyByZWFkCgkgIEZpeGVzIGEgcmVncmVzc2lvbiBmcm9tIHRoZSBwYXRjaGVzIGluIGJ1ZyAjNjI2NjE4LgoKMjAxMS0wNC0xMSAxODozMDoxNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAganBlZzogc2V0IHRhZ3MgdG8gTlVMTCBhdCBpbml0IHRpbWUgYW5kIGFmdGVyIGZyZWVpbmcgdGhlbQoKMjAxMS0wNC0xMSAxODoyOToyOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGpwZWc6IGNvbW1lbnQgYW5kIGxvZ2dpbmcgY2hhbmdlcwoKMjAxMS0wNC0xMCAxOTo1MzozNSArMDIwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBhZGQgZ3N0X2pwZWdfcGFyc2VfcmVtb3ZlX21hcmtlcigpCgkgIFRoaXMgZnVuY3Rpb24gd2lsbCByZW1vdmUgdGhlIHdob2xlIG1hcmtlciBmcm9tIHRoZSBidWZmZXIuCgkgIEFsc28gd2Ugc2V0IGl0IGFzIHRoZSBkZWZhdWx0IGJlaGF2aW9yIGZvciBtYXJrZXIgSlBHezAtMTN9PyBpbiBvcmRlciB0byBhdm9pZAoJICBhIHVzZWxlc3MgI2lmCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjY2MTgKCjIwMTAtMDgtMTMgMTI6Mzg6MDIgKzAyMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogcmVmYWN0b3IgQ09NIHBhcnNpbmcKCSAgYWRkIGdzdF9qcGVnX3BhcnNlX2NvbSAoKSBhbmQgZ2V0X3V0ZjhfZnJvbV9kYXRhICgpIHRvIGV4dHJhY3QgYW5kCgkgIHZhbGlkYXRlIGNvbW1lbnQgZm9ybWF0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjY2MTgKCjIwMTAtMTEtMTYgMTg6MjI6MDcgKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogcmVmYWN0b3IgQVBQMSBwYXJzaW5nCgkgIGFkZCBnc3RfanBlZ19wYXJzZV9hcHAxICgpIGFuZCBleHRyYWN0X2FuZF9xdWV1ZV90YWdzICgpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjY2MTgKCjIwMTAtMTEtMjEgMTU6MDU6NDMgKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogbG9nIGlkIHdoZW4gc2tpcHBpbmcgYW4gdW5oYW5kbGVkIEFQUCBtYXJrZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNjYxOAoKMjAxMC0xMS0xNiAxNzo0NzoxNyArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBza2lwIGFsbCBBUFAgbWFya2VycywgZXhjZXB0aW5nIEFQUDEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNjYxOAoKMjAxMC0xMS0yMSAxNTowOToxNyArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBhZGQgZ2V0X3RhZ19saXN0ICgpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjY2MTgKCjIwMTEtMDQtMTEgMDA6MzY6MzUgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQW5kcm9pZC5tazoKCSogYW5kcm9pZC9OT1RJQ0U6CgkqIGFuZHJvaWQvaDI2NHBhcnNlLm1rOgoJKiBhbmRyb2lkL21ldGFkYXRhLm1rOgoJKiBhbmRyb2lkL3F0bXV4Lm1rOgoJKiBhbmRyb2lkL3NkcGVsZW0ubWs6CgkqIGV4dC9mYWFkL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvTWFrZWZpbGUuYW06CgkqIGdzdC9hZHBjbWRlYy9NYWtlZmlsZS5hbToKCSogZ3N0L2FkcGNtZW5jL01ha2VmaWxlLmFtOgoJKiBnc3QvYWlmZi9NYWtlZmlsZS5hbToKCSogZ3N0L2FzZm11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvYnVmZmVyL01ha2VmaWxlLmFtOgoJKiBnc3QvYXV0b2NvbnZlcnQvTWFrZWZpbGUuYW06CgkqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jZHhhcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9jb2xvcmVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9jb2xvcnNwYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvZGF0YXVyaXNyYy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9NYWtlZmlsZS5hbToKCSogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSogZ3N0L2Zlc3RpdmFsL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlZXplL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlaTByL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvaDI2NHBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvaGR2cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkqIGdzdC9pZDN0YWcvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnZ0ZWxlY2luZS9NYWtlZmlsZS5hbToKCSogZ3N0L2l2ZnBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvanAya2RlY2ltYXRvci9NYWtlZmlsZS5hbToKCSogZ3N0L2pwZWdmb3JtYXQvTWFrZWZpbGUuYW06CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSogZ3N0L2xpdmVhZGRlci9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWdwc211eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9tdmUvTWFrZWZpbGUuYW06CgkqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkqIGdzdC9udXZkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3BhdGNoZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBnc3QvcGNhcHBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvcG5tL01ha2VmaWxlLmFtOgoJKiBnc3QvcXRtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cHZwOC9NYWtlZmlsZS5hbToKCSogZ3N0L3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkqIGdzdC9zZGkvTWFrZWZpbGUuYW06CgkqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkqIGdzdC9zZWdtZW50Y2xpcC9NYWtlZmlsZS5hbToKCSogZ3N0L3NpcmVuL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkqIGdzdC9zdGVyZW8vTWFrZWZpbGUuYW06CgkqIGdzdC9zdWJlbmMvTWFrZWZpbGUuYW06CgkqIGdzdC90dGEvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21heHJhdGUvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21lYXN1cmUvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZtbmMvTWFrZWZpbGUuYW06CgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL0FuZHJvaWQubWs6CgkgIGFuZHJvaWQ6IG1ha2UgaXQgcmVhZHkgZm9yIGFuZHJvZ2VuaXplcgoJICBSZW1vdmUgdGhlIGFuZHJvaWQvIHRvcCBkaXIKCSAgRml4ZSB0aGUgTWFrZWZpbGUuYW0gdG8gYmUgYW5kcm9nZW5pemVkCgkgIFRvIGJ1aWxkIGdzdHJlYW1lciBmb3IgYW5kcm9pZCB3ZSBhcmUgbm93IHVzaW5nIGFuZHJvZ2VuaXplciB3aGljaCBnZW5lcmF0ZXMgdGhlIG5lZWRlZCBBbmRyb2lkLm1rIGZpbGVzLgoJICBBbmRyb2dlbml6ZXIgY2FuIGJlIGZvdW5kIGhlcmU6IGh0dHA6Ly9naXQuY29sbGFib3JhLmNvLnVrLz9wPXVzZXIvZGVyZWsvYW5kcm9nZW5pemVyLmdpdAoKMjAxMS0wNC0xMCAwMDoyMjozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0b29scy9NYWtlZmlsZS5hbToKCSAgZWxlbWVudC1tYWtlcjogZGlzdCBuZXcgdmlkZW9maWx0ZXIyIHRlbXBsYXRlCgoyMDExLTA0LTA5IDEzOjQwOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSAgdmRwYXU6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTEtMDQtMDkgMTA6MDM6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuaDoKCSAgZnBzZGlzcGxheXNpbms6IEFkZCBsYXN0LW1lc3NhZ2UgcHJvcGVydHkgYW5kIG5ldmVyIHByaW50IGFueXRoaW5nIHRvIHN0ZG91dAoJICBJbnN0ZWFkIGV2ZXJ5dGhpbmcgd2lsbCBiZSBwdXQgaW50byB0aGUgbGFzdC1tZXNzYWdlIHByb3BlcnR5IGFuZAoJICBnc3QtbGF1bmNoIC12IHdpbGwgcHJpbnQgYWxsIGNoYW5nZXMgb2YgdGhlIHByb3BlcnR5LiBUaGlzIG1ha2VzCgkgIHRoZSBiZWhhdmlvdXIgb2YgZnBzZGlzcGxheSBjb25zaXN0ZW50IHdpdGggdGhlIGZha2VzaW5rL2lkZW50aXR5L2V0YwoJICBiZWhhdmlvdXIuCgoyMDExLTA0LTA5IDA5OjUwOjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmg6CgkgIGZwc2Rpc3BsYXlzaW5rOiBSZW5hbWUgdmVyYm9zZSBwcm9wZXJ0eSB0byBzaWxlbnQgZm9yIGNvbnNpc3RlbmN5CgoyMDExLTA0LTA5IDAwOjM3OjI1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXBhcnNlOgoJICBiYXNlcGFyc2U6IHJlbW92ZSAtYmFkIHZlcnNpb24gb2YgYmFzZXBhcnNlIGxpYnJhcnksIG5vdyBpbiBjb3JlCgoyMDExLTA0LTAyIDE4OjMwOjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuaDoKCSAgdmlkZW9wYXJzZXJzOiBwb3J0IHRvIGJhc2VwYXJzZSwgd2hpY2ggaXMgbm93IGluIGxpYmdzdGJhc2UgaW4gY29yZQoKMjAxMS0wNC0wOCAxMjoxMTowNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9maWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHNjZW5lY2hhbmdlLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0c2NlbmVjaGFuZ2UuaDoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2ZpbHRlcjIuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2ZpbHRlcnNiYWQuYzoKCSAgc2NlbmVjaGFuZ2U6IG5ldyBzY2VuZSBjaGFuZ2UgZGV0ZWN0aW9uIGVsZW1lbnQKCjIwMTEtMDQtMDggMTA6MjY6NDIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvdmlkZW9maWx0ZXIyOgoJICBlbGVtZW50LW1ha2VyOiBBZGQgdmlkZW9maWx0ZXIyIHRlbXBsYXRlCgoyMDExLTA0LTA4IDE5OjMyOjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBhbmRyb2lkL2FhY3BhcnNlLm1rOgoJKiBhbmRyb2lkL2FtcnBhcnNlLm1rOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FjM3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FtcnBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnYXVkaW9wYXJzZS5jOgoJICBSZW1vdmUgYXVkaW9wYXJzZXJzIHBsdWdpbiwgaXQgaGFzIGJlZW4gbW92ZWQgdG8gLWdvb2QKCjIwMTEtMDQtMDggMTQ6MDg6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheTogVXNlIFBST1BfIGluc3RlYWQgb2YgQVJHXyBmb3IgdGhlIHByb3BlcnR5IGVudW1zCgoyMDExLTA0LTA3IDE1OjE1OjU3ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuaDoKCSAgZnBzZGlzcGxheTogQWRkIHZlcmJvc2UgcHJvcGVydHkKCSAgV2hlbiB0aGlzIHByb3BlcnR5IGlzIHNldCB0byBUUlVFIHRoZSBlbGVtZW50IHdpbGwgZGlzcGxheSBzdGF0aXN0aWNzCgkgIG9uIHN0ZG91dC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NzAzMAoKMjAxMS0wNC0wNSAyMTowNDo1NCArMDIwMCAgSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJICBkc2hvd3ZpZGVvc2luazogdXBkYXRlIGZvciBsYXRlc3QgR3N0WE92ZXJsYXkgY2hhbmdlcwoJICBGcm9tIHh3aW5kb3dfaWQgdG8gd2luZG93X2hhbmRsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0Njk1NQoKMjAxMS0wNC0wNyAxODozMDo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiByZWxheCBzeW5jIG1hdGNoIGEgYml0IHdoZW4gZHJhaW5pbmcKCSAgLi4uIHRvIGF0IGxlYXN0IGFsbG93IGluaXRpYWwgY2FwcyBjaGFuZ2UgKGJ1dCBubyBmdXJ0aGVyIGNhcHMgaml0dGVyKS4KCjIwMTEtMDQtMDYgMTU6NTg6MDcgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5oOgoJICBmaWVsZGFuYWx5c2lzOiBVc2UgUkZGIGZsYWcgdG8gaW5kaWNhdGUgYnVmZmVycyB0byBkcm9wIGRvd25zdHJlYW0KCSAgVXNlIG9mIHRoZSBHQVAgZmxhZyBpcyBub3QgcmVhbGx5IGNvcnJlY3QgaGVyZSBhbmQgbWFrZXMgaXQgZGlmZmljdWx0IHRvCgkgIGhhbmRsZSByZWFsIEdBUCBidWZmZXJzIGluIGRlaW50ZXJsYWNlLiBUaGUgUkZGIGZsYWcgaXMgdW51c2VkIGFuZCBjYW4KCSAgYmUgcmV1c2VkIHdpdGggc2ltaWxhciBzZW1hbnRpY3MgLSB0aGUgYnVmZmVycyBtYXJrZWQgd2l0aCBSRkYgdGhhdCBhcmUKCSAgaW4gYSB0ZWxlY2luZSBzdGF0ZSBjb250YWluIG9ubHkgdW5uZWVkZWQgcmVwZWF0ZWQgZmllbGRzIGFuZCBzbyBjYW4gYmUKCSAgZHJvcHBlZC4KCjIwMTEtMDQtMDUgMTk6MjY6MTUgKzAzMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobXNpbms6IGVuc3VyZSBnc3RfcG9sbF93YWl0IGlzIGNhbGxlZCBmaXJzdCBvbiBkZXNjcmlwdG9ycwoJICBXZSBuZWVkIHRvIGNhbGwgZ3N0X3BvbGxfd2FpdCBiZWZvcmUgY2FsbGluZyBnc3RfcG9sbF8qIHN0YXR1cwoJICBmdW5jdGlvbnMgb24gdGhhdCBuZXcgZGVzY3JpcHRvciwgc28gcmVzdGFydCB0aGUgbG9vcCwgc28gX3dhaXQKCSAgd2lsbCBoYXZlIGJlZW4gY2FsbGVkIG9uIGFsbCBlbGVtZW50cyBvZiBzZWxmLT5wb2xsLCB3aGV0aGVyCgkgIHRoZXkgaGF2ZSBqdXN0IGJlZW4gYWRkZWQgb3Igbm90LiAqLwoKMjAxMS0wNC0wNiAyMDo0MDo0MCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBzaG06IEZpeCBNU0dfTk9TSUdOQUwgY2hlY2sKCSAgSW5jbHVkZSBzeXMvc29ja2V0LmggYmVmb3JlIGNoZWNraW5nIGZvciBNU0dfTk9TSUdOQUwsIGFsc28KCSAgY2hlY2sgdGhhdCBzeXMvc29ja2V0LmggYmVmb3JlIGRvaW5nIGFueSBvdGhlciBjaGVja3MgZm9yIHNobQoKMjAxMC0xMi0xNSAxMDozOToyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGRvbid0IHJlbHkgb24gdGhlIGFwcGxpY2F0aW9uIHJ1bm5pbmcgdGhlIGRlZmF1bHQgR0xpYiBtYWluIGxvb3AKCSAgRG9uJ3QgdXNlIGdfaWRsZV9hZGQoKSBhbmQgZnJpZW5kcyB0byBzY2hlZHVsZSB0aGluZ3Mgd2UgY2FuJ3QgZG8gZnJvbSB0aGUKCSAgc3RyZWFtaW5nIHRocmVhZCBpbiBhbm90aGVyIHRocmVhZC4gVGhlIGFwcCBtYXkgbm90IGJlIHJ1bm5pbmcgdGhlIGRlZmF1bHQKCSAgR0xpYiBtYWluIGxvb3AuIEluc3RlYWQsIGp1c3Qgc3Bhd24gYSB0aHJlYWQuCgkgIEFsc28sIHdlIG5lZWQgdG8gY2FyZSBmb3Igd2hlbiBhY2Vzc2luZyBhIHBhZCB2YXJpYWJsZSwgYXMgYW5vdGhlciB0aHJlYWQKCSAgbWlnaHQgaGF2ZSB0YWtlbiBjYW1lcmFiaW4gdG8gTlVMTCB3aGlsZSB0aGlzIGdzdF9jYW1lcmFiaW5faW1nYmluX2ZpbmlzaGVkCgkgIGRpZG4ndCBydW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTU2NTUKCjIwMTEtMDQtMDQgMjA6NTU6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogcmVxdWlyZSB0aWdodGVyIHN5bmMgbWF0Y2ggd2hlbiBkcmFpbmluZwoKMjAxMS0wNC0wNCAxNTo1NzozNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxY2NiZTA5IHRvIGMzY2FmZTEKCjIwMTEtMDQtMDQgMTI6MjE6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBtb3JlIGhlbHBmdWwgZGVidWcgZXJyb3IgbWVzc2FnZSB3aGVuIG5vIG5lZWRlZCBkdXJhdGlvbiBvbiBpbnB1dCBidWZmZXJzCgkgIEZpeGVzICM2NDYyNTYuCgoyMDExLTA0LTAyIDAxOjIxOjM0ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogdmFsaWRhdGUgcHJvcGVybHkgdXRmLTggcGxheWxpc3QKCjIwMTEtMDQtMDIgMDE6MTA6MzcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IG0zdTg6IGNsZWFyIHRoZSBsaXN0IG9mIG1lZGlhIGZpbGVzIGJlZm9yZSB1cGRhdGluZyB0aGUgcGxheWxpc3QKCjIwMTEtMDQtMDIgMDE6MDg6MDIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IHVzZSBhbmQgYWRhcHRlciBpbnN0ZWFkIG9mIGNvc3RmdWwgYnVmZmVyIGpvaW5zCgoyMDExLTA0LTAxIDEzOjUzOjI4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9kYzEzOTQvTWFrZWZpbGUuYW06CgkqIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIHNldHRpbmcgb2YgcGx1Z2luZGlyIGZyb20gTWFrZWZpbGVzCgoyMDExLTAzLTI2IDE3OjU1OjMxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlbzogRml4IG5lZ290aWF0aW9uIGVycm9ycwoKMjAxMS0wMy0yNiAxNzo0Mzo1NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlbzogQWRkIGZ1bmN0aW9uIHRvIGFsbG9jYXRlIHNyYyBidWZmZXIKCjIwMTEtMDQtMDEgMTY6NTI6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogQW5vdGhlciB3aW5kb3dzIGJ1aWxkIGZpeAoJICBSZXBsYWNlICVsbGQgd2l0aCAldSBhcyBHU1RfQlVGRkVSX1NJWkUgaXMgYSBndWludAoKMjAxMS0wNC0wMSAxNjoxMjo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL20zdTguYzoKCSAgaGxzOiBGaXggY29tcGlsYXRpb24gb24gd2luZG93cwoJICBVc2Ugc3RyaW5nIGxpdGVyYWwgb24gcHJpbnRpbmcgZm9ybWF0CgoyMDExLTA0LTAxIDEzOjM5OjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogUHJvY2Vzc2luZyBzaG91bGQgc3RvcCBvbiBSRUFEWQoJICBUaGUgdmlkZW9iaW4gYW5kIGltYWdlYmluIGZyb20gY2FtZXJhYmluIGhhdmUgdGhlaXIgc3RhdGVzCgkgIGxvY2tlZCBhbmQgYXJlbid0IHB1dCB0byBSRUFEWSB3aGVuIGFsbCB0aGUgcmVzdCBvZiBjYW1lcmFiaW4KCSAgaXMgc2V0IHRvIGl0LgoJICBUaGlzIG1pZ2h0IGNhdXNlIG9uZSBvZiB0aGVtIHRvIGJlIHN0aWxsIHByb2Nlc3NpbmcgYW5kIHBvc3QKCSAgYW4gRU9TIGFmdGVyIGNhbWVyYWJpbiBpc24ndCBleHBlY3RpbmcgaXQgYW55bW9yZSwgdGhpcyBjYXVzZXMKCSAgYW4gYXNzZXJ0aW9uIGFzIHRoZSBwcm9jZXNzaW5nIGNvdW50ZXIgd291bGQgYWxyZWFkeSBiZSAwIGFuZAoJICB3b3VsZCBiZSBkZWNyZW1lbnRlZC4KCjIwMTEtMDQtMDEgMTU6MDA6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHNlZ21lbnRjbGlwLmM6CgkgIHNlZ21lbnRjbGlwOiBLZWVwIGEgcmVmZXJlbmNlIG9mIGV2ZW50cyB1bnRpbCB0aGUgZXZlbnQgaXMgcGFyc2VkCgoyMDExLTA0LTAxIDE0OjQ3OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJICBtcGVnYXVkaW9wYXJzZTogUGFyc2UgZW5jb2RlciBkZWxheSBhbmQgZW5jb2RlciBwYWRkaW5nIGZyb20gdGhlIExBTUUgaGVhZGVyIGlmIHByZXNlbnQKCjIwMTEtMDMtMzEgMTY6MjE6MTEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJICBzaG06IE1ha2UgZGVmYXVsdCBwZXJtIHUrcncgZytyIGZvciBzaG0gYXJlYQoKMjAxMS0wMy0zMCAxNTo1MzoxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiB1cGRhdGUgZm9yIG1lZGlhIHR5cGUgd2FzIHJlbmFtaW5nIGZyb20gcGxheWxpc3QvbTN1OCB0byBhcHBsaWNhdGlvbi94LWhscwoKMjAxMS0wMy0zMCAxMTozMzowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogQWRkIGhscyBwbHVnaW4KCjIwMTEtMDMtMzAgMTA6MTE6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogU29tZSBtaW5vciBjbGVhbnVwCgkgIFVzZSBHU1RfREVCVUdfRlVOQ1BUUiBhbmQgR19QQVJBTV9TVEFUSUNfU1RSSU5HUwoKMjAxMS0wMy0zMCAwMzozNDozOSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGZpeCBpbmRlbnRhdGlvbiBhbmQgZG9jcyBzZWN0aW9ucwoKMjAxMS0wMy0yOSAyMzoxODoyNCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRvbid0IGxlZWsgdGhlIHF1ZXJ5CgoyMDExLTAzLTI5IDIzOjA2OjE0ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogY2hlY2sgaWYgdGhlIHRhc2sncyBjb25kIHdhcyBzaWduYWxlZCBiZWNhdXNlIGl0J3MgdGhlIGVuZCBvZiBwbGF5bGlzdAoKMjAxMS0wMy0xMiAxMzozMjo1NyArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHBvc3QgYSBtZXNzYWdlIGluIHRoZSBidXMgd2hlbiB0aGUgcGxheWxpc3QgY2hhbmdlcwoKMjAxMS0wMy0xMiAxMzoxNTo1MiArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRvbid0IHVwZGF0ZSB0aGUgcGxheWxpc3QgaWYgd2Ugc3RheSBpbiB0aGUgc2FtZSBiaXRyYXRlCgoyMDExLTAzLTEyIDEzOjAwOjA2ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogQWRkIHN1cHBvcnQgZm9yIFVSSSBxdWVyaWVzCgoyMDExLTAzLTEyIDEyOjUwOjI1ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogQWRkIHN1cHBvcnQgZm9yIGR1cmF0aW9uIHF1ZXJpZXMKCjIwMTEtMDMtMTIgMTI6Mjg6NDIgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBtM3U4OiBwcm90ZWN0IHB1YmxpYyBtZXRob2RzIHByb3Blcmx5CgoyMDExLTAzLTEyIDEyOjIwOjMyICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogbTN1ODogYWRkIHN1cHBvcnQgdG8gZ2V0IHRoZSBkdXJhdGlvbiBmcm9tIGEgcGxheWxpc3QKCjIwMTEtMDItMTYgMDM6NTE6MDggKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkb24ndCBwcmludCBhbiBlcnJvciBpZiB0aGUgZG93bmxvYWQgd2FzIGNhbmNlbGxlZAoKMjAxMS0wMi0xNiAwMzo0OTo0OSArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IG1ha2Ugc3VyZSB0aGUgZmV0Y2hlciBzdGF0ZSBjaGFuZ2UgaXMgY29tcGxldGUgYmVmb3JlIGNvbnRpbnVpbmcKCjIwMTEtMDItMTYgMDE6MTk6NDUgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkb24ndCBsZWFrIHRoZSBmaXJzdCBidWZmZXIKCjIwMTEtMDItMTYgMDA6NTU6MzAgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBjbGVhbiB1cCBjb2RlIGEgbGl0dGxlIGJpdAoKMjAxMS0wMi0xNiAwMDo1Mzo0OCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IG9ubHkgY2hlY2sgZm9yIHRoZSBlbmQgb2YgcGxheWxpc3Qgd2hlbiB0aGUgcXVldWUgaXMgZW1wdHkKCjIwMTEtMDItMTUgMjI6NDA6MjEgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IG1ha2Ugc3VyZSB0byBzdG9wIGZyYWdtZW50cyBjYWNoZSBpZiBzb21ldGhpbmcgY2FuY2VsbGVkIGl0CgoyMDExLTAyLTE1IDIxOjU1OjI2ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogcmV1c2UgdGhlIGNvZGUgaW4gcmVzZXQoKSB0byBmcmVlIHJlc291cmNlcyBpbiBkaXNwb3NlKCkKCjIwMTEtMDItMTUgMjE6NDk6MjAgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IHVzZSBhIHR5cGVmaW5kZXIgdG8gc2V0IHRoZSBjYXBzIGluIHRoZSBzb3VyY2UgcGFkCgoyMDExLTAyLTE1IDA0OjM5OjM0ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogYWRkIG1vcmUgY29tbWVudHMgYW5kIGRvY3VtZW50IGJldHRlciBhbGwgdGhlIHRocmVhZHMgaW52b2x2ZWQKCjIwMTEtMDItMTUgMDM6NDI6MjkgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBoYW5kbGUgNDA0IGZyb20gdGhlIHNvdXJjZSBlbGVtZW50CgoyMDExLTAyLTE1IDAzOjQxOjQzICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogc3RvcCB0aGUgZmV0Y2hlciBpbiB0aGUgUEFVU0VEX1RPX1JFQURZIHRyYW5zaXRpb24sIG5vdCB3aGVuIGRpc3Bvc2luZygpCgoyMDExLTAyLTE1IDAzOjQxOjAxICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBtYWtlIHN1cmUgd2UgZG9uJ3Qgc3RvcCB0aGUgZmV0Y2hlciB0d2ljZSBmcm9tIGRpZmZlcmVudCB0aHJlYWRzCgoyMDExLTAyLTE1IDAyOjEzOjU2ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogcXVlcnkgdGhlIHVyaSB1cHN0cmVhbSBiZWZvcmUgdXBkYXRpbmcgdGhlIHBsYXlsaXN0CgoyMDExLTAyLTE0IDE4OjUxOjMyICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnRlZC5oOgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50ZWRwbHVnaW4uYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IEFkZCBIVFRQIGxpdmUgc3RyZWFtaW5nIGRlbXV4ZXIgZWxlbWVudAoJICBCYXNlZCBvbiBwcmV2aW91cyB3b3JrIGJ5IE1hcmMtQW5kcsOpIEx1cmVhdQoKMjAxMS0wMy0yMSAxMDo1NzowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9NYWtlZmlsZS5hbToKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIGppZm11eDogQWRkIEdzdFRhZ1htcFdyaXRlciBzdXBwb3J0CgkgIEFkZHMgR3N0VGFnWG1wV3JpdGVyIGludGVyZmFjZSB0byBqaWZtdXggZWxlbWVudAoKMjAxMS0wMy0yMSAxMDo1Njo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBZGRpbmcgR3N0VGFnWG1wV3JpdGVyIGludGVyZmFjZQoJICBBZGRzIEdzdFRhZ1htcFdyaXRlciBpbnRlcmZhY2Ugc3VwcG9ydCB0byBxdG11eAoKMjAxMS0wMy0yNyAyMzo1MDoyNCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5Abm9raWEuY29tPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuaDoKCSogZXh0L29wZW5jdi9nc3R0ZXh0d3JpdGUuYzoKCSogZXh0L29wZW5jdi9nc3R0ZXh0d3JpdGUuaDoKCSAgb3BlbmN2IHRleHQgb3ZlcmxheTogcmVuYW1lIGFuZCBkb2N1ZW1udAoJICBSZW5hbWUgdGhlIGVsZW1lbnQgdGV4dHdyaXRlIHRvIG9wZW5jdnRleHRvdmVybGF5LiBBZGQgcHJvcGVyIHN0cnVjdHVyaW5nIHRvCgkgIG9wZW5jdiB0ZXh0b3ZlcmxheSBlbGVtZW50LgoJICBGaXhlczogIzY0MDU2MQoKMjAxMS0wMy0yNyAxMzo1NzowNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IEZpeCA2NC1iaXQgcHJpbnRmIGZvcm1hdCBwcm9ibGVtCgoyMDExLTAzLTI3IDIwOjA5OjUyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSAgdmRwYXVzaW5rOiBmaXggYnVnIHdoZXJlIHdlIGRpZG4ndCBzZXR1cCB2ZHBhdSBvbiBhIHVzZXIgc2V0IHdpbmRvdwoKMjAxMS0wMy0yNyAxOTo0Nzo0MyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0dmRwbXBlZzRkZWMuYzoKCSAgdmRwYXU6IGZpeHVwIEdzdEZsb3dSZXR1cm4gaGFuZGxpbmcKCSAgUHJldmlvdXNseSB0aGUgZGlmZmVyZW50IGRlY29kZXJzIHdvdWxkIGRpc2NhcmQgZXJyb3Vub3VzIEdzdEZsb3dSZXR1cm5zIGNvbWluZwoJICBmcm9tIGRvd25zdHJlYW0uIE5vdyB3ZSBwcm9wZXJseSByZXR1cm4gdGhlc2UgZnVydGhlciB1cHN0cmVhbSBzbyB0aGF0IHdlCgkgIHByb3Blcmx5IGVycm9yIG91dCBvbiBlZy4gbmVnb3RpYXRpb24gcHJvYmxlbXMuCgoyMDExLTAzLTI3IDE5OjQwOjQ4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1LmM6CgkgIHZkcGF1OiBzbWFsbCBpbmRlbnRhdGlvbiBmaXgKCjIwMTAtMDktMDYgMTc6NDI6MTUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1bXBlZ2RlYzogZG9uJ3QgaWdub3JlIHJldHVybiB2YWx1ZSBvZiBnc3RfYmFzZV92aWRlb19kZWNvZGVyX2ZpbmlzaF9mcmFtZQoKMjAxMS0wMy0yNyAxNzo0Mjo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSAgZHNob3c6IGZpeCBsaXN0IGl0ZXJhdGlvbiBjb2RlCgoyMDExLTAzLTI3IDE3OjIyOjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmM6CgkgIGRjY3BzZXJ2ZXJzaW5rOiBmaXggbGlzdCBpdGVyYXRpb24gY29kZQoJICBGaXggc3Vib3B0aW1hbCBsaXN0IGl0ZXJhdGlvbiBjb2RlLCBhbmQgYWRkIHNvbWUgRklYTUVzLgoKMjAxMS0wMy0yNiAxMjo0NToyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGF0Y2hkZXRlY3QvTWFrZWZpbGUuYW06CgkgIHBhdGNoZGV0ZWN0OiBsaW5rIGFnYWluc3QgbGlibQoJICBMaW5rIGFnYWluc3QgbGlibS4gSW5jbHVkZSBtYXRoLWNvbXBhdC5oIGhlYWRlci4gRG9uJ3QgbGluayBhZ2FpbnN0CgkgIG9yYywgc2luY2UgaXQncyBub3QgYWN0dWFsbHkgdXNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NTcxMQoKMjAxMS0wMy0yNiAxNjoxMjoxOCArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJICBVc2UgY29ycmVjdCBjbG9jayB3aGVuIGNoZWNraW5nIHdoZXRoZXIgdG8gd3JpdGUgYSBuZXcgUENSCgkgIFRoZSBQQ1IgY2xvY2tzIGFnYWluc3QgdGhlIDI3TUh6IFNDUiBjbG9jaywgc28gY2hlY2sgaXQgY29ycmVjdGx5CgkgIHRvIGF2b2lkIHdyaXRpbmcgdGhlIFBDUiB0b28gb2Z0ZW4uCgkgIFBhcnRpYWxseSBmaXhlczogIzYxMTA0NgoKMjAxMS0wMy0yNiAxNTo1ODoyMSArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgUmV3cml0ZSBNMlRTIHBhY2tldCBvdXRwdXQKCSAgTWFrZSBzdXJlIHdlIG9ubHkgd3JpdGUgdGhlIGJvdHRvbSAzMCBiaXRzIG9mIHRoZSBQQ1IgdG8gdGhlIG0ydHMgaGVhZGVyLgoJICBEb24ndCB1c2UgZmxvYXRpbmcgcG9pbnQgY29tcHV0YXRpb24gZm9yIGl0LCBhbmQgcmVtb3ZlIHdlaXJkIGJpdCBmaWRkbGluZwoJICB0aGF0IG1lc3NlcyB1cCB0aGUgUENSIGluIGEgd2F5IEkgY2FuJ3QgZmluZCBhbnkKCSAganVzdGlmaWNhdGlvbi9kb2N1bWVudGF0aW9uIGZvci4KCSAgRG9uJ3QgYWNjaWRlbnRhbGx5IGxvc2UgUENSIHBhY2tldHMgZnJvbSB0aGUgb3V0cHV0LgoJICBGaXggdGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgbTJ0cy1tb2RlIHByb3BlcnR5IHNvIGl0J3MgY2xlYXIgaXQncyBhIGZsYWcsCgkgIGFuZCB3aGljaCBzZXR0aW5nIGRvZXMgd2hhdC4KCSAgRml4ZXM6ICM2MTEwNjEgIzY0NDQyOQoJICBQYXJ0aWFsbHkgZml4ZXM6ICM2NDUwMDYKCjIwMTEtMDMtMjYgMTE6MTQ6MDEgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIEZpeCBhIEZJWE1FLCBhbmQgc29tZSB3aGl0ZXNwYWNlL2NvZGUgc3R5bGUgYml0cy4KCSAgQWxzbywgYWRkIGEgbmV3IGNvcHlyaWdodCBub3RpY2UgZm9yIG1lLgoKMjAxMS0wMy0yNSAyMjozMzowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDE5M2I3MTcgdG8gMWNjYmUwOQoKMjAxMS0wMy0yNSAxNDo1Njo0MyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiNzdlMmJmIHRvIDE5M2I3MTcKCjIwMTEtMDMtMjUgMDk6MzI6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkODgxNGI2IHRvIGI3N2UyYmYKCjIwMTEtMDMtMjUgMDk6MDg6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2YWFhMjg2IHRvIGQ4ODE0YjYKCjIwMTEtMDMtMjUgMDg6MzM6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogQWRkIGZsb2F0IGNhcHMgdG8gdGhlIHRlbXBsYXRlIGNhcHMKCjIwMTEtMDMtMjQgMTY6MTY6MjAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGluazogRml4IHdpbjMyIGJ1aWxkCgoyMDExLTAzLTI0IDIyOjMyOjQyICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZW5zdXJlIGNsZWFudXAgb2YgcGVzL3NlY3Rpb24gZmlsdGVyIGhlbHBlciBzdHJ1Y3R1cmVzCgkgIEluIHBhcnRpY3VsYXIsIHRoZSBzZWN0aW9uX2ZpbHRlciB3b3VsZCBub3QgYmUgY2xlYXJlZCBmb3IgYSBwcml2YXRlIHNlY3Rpb24KCSAgc3RyZWFtLCBsZWFraW5nIGEgR3N0QWRhcHRlci4gU2VlbiBvbiBidWcgIzY0NTUwMi4KCjIwMTEtMDMtMjQgMjI6MTA6NDMgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBkb24ndCBsZWFrIHBhZCBuYW1lCgkgIEFzIHNlZW4gb24gYnVnICM2NDU1MDIuCgoyMDExLTAzLTI0IDIxOjQ2OjA5ICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmcmVlIFBQUyBOQUwgYnVmZmVycyBvbiBjbGVhbnVwCgkgIE9idmlvdXNseSBhIHR5cG8uIEZpeGVzIGJ1ZyAjNjQ1NTAyLgoKMjAxMS0wMy0yNCAyMTo0NDowNyArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZG9uJ3QgbGVhayBhbGwgTkFMIGJ1ZmZlcnMKCSAgZ3N0X2J1ZmZlcl9yZXBsYWNlKCkgZG9lc24ndCBzdGVhbCB0aGUgcmVmLiBQYXJ0aWFsIGZpeCBmb3IgYnVnICM2NDU1MDIuCgoyMDExLTAzLTI0IDE4OjQ5OjU0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZhZWM2YjkgdG8gNmFhYTI4NgoKMjAxMS0wMy0yNCAxNDo1MToxMiArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBzdHJlYW1faW5mbyBkZXNjcmlwdG9yIHBhcnNpbmcKCjIwMTEtMDMtMDkgMjM6MDY6MTQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgZGNhcGFyc2U6IEJ1bXAgcmFuayB0byBwcmltYXJ5KzEKCSAgU2VlbXMgdG8gd29yayBmaW5lIHdpdGggYSByZWFzb25hYmx5IHdpZGUgcmFuZ2Ugb2YgbWVkaWEsIHNvIGJ1bXBpbmcKCSAgcmFuay4KCjIwMTEtMDMtMjQgMTA6MDg6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5oOgoJICBhaWZmcGFyc2U6IEFkZCBzdXBwb3J0IGZvciAzMiBiaXQgYW5kIDY0IGJpdCBmbG9hdGluZyBwb2ludCBmb3JtYXRzCgoyMDExLTAzLTI0IDA5OjU4OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IFRoZSBTU05EIGhlYWRlciBpcyAxNiBieXRlcyBsYXJnZSwgbm90IDggKyAxNiBieXRlcwoJICBGaXhlcyBidWcgIzY0NTU2OCBhbmQgcGxheWJhY2sgaW4gcHVsbCBtb2RlIGZvciBzYW1wbGUgd2lkdGhzID4gOCB0aGF0CgkgIGFyZSBub3QgYSBtdWx0aXBsZSBvZiAyIGJ5dGVzIChlLmcuIDI0IGJpdCBzYW1wbGVzKS4KCjIwMTEtMDMtMjQgMDk6Mjk6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogVXNlIGdzdF91dGlsX3VpbnQ2NF9zY2FsZV9jZWlsKCkgaW5zdGVhZCBvZiBhIGN1c3RvbSBmdW5jdGlvbgoKMjAxMS0wMy0yNCAxMzo0MzowMSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJICBkdHNkZWM6IERvbid0IGV4cG9ydCBiaXRyYXRlIGlmIG9wZW4vdmFyaWFibGUvbG9zc2xlc3MKCSAgbGliZGNhIHJldHVybnMgdGhlIGJpdHJhdGUgYXMgMS8yLzMgZm9yIG9wZW4vdmFyaWFibGUvbG9zc2xlc3MgZmlsZXMKCSAgcmVzcGVjdGl2ZWx5LiBUaGlzIG1ha2VzIHN1cmUgd2UgZG9uJ3QgZW1pdCB0aGVzZSB2YWx1ZXMuCgoyMDExLTAzLTI0IDA5OjIyOjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSAgY2VsdGRlYzogUmVhZCB0aGUgYWRkaXRpb25hbCwgb3B0aW9uYWwgZXh0cmEgaGVhZGVycyBmcm9tIHRoZSBjYXBzIHRvbwoKMjAxMS0wMy0yNCAwOToxNDoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuaDoKCSAgY2VsdGRlYzogR2V0IGFuZCB1c2Ugc3RyZWFtaGVhZGVycyBmcm9tIHRoZSBjYXBzIGlmIHBvc3NpYmxlCgkgIFRoaXMgYWxsb3dzIHBsYXliYWNrIG9mIGZpbGVzIHdoZXJlIHRoZSBzdHJlYW1oZWFkZXIgYnVmZmVycyB3ZXJlCgkgIGRyb3BwZWQgZm9yIHNvbWUgcmVhc29uIGFuZCBhbHNvIHNldHMgdGhlIHNyY3BhZCBjYXBzIGVhcmxpZXIuCgoyMDExLTAzLTIzIDIyOjUzOjU2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IFJldmVydCBwcmV2aW91cyBjb21taXQKCSAgSXQgYXBwZWFycyB0aGUgcGF0Y2gsIHdoaWNoIEkndmUgYmVlbiBjYXJyeWluZyBhcm91bmQgZm9yZXZlciwKCSAgaGFkIGJlZW4gYWxyZWFkeSBhcHBsaWVkLgoKMjAxMS0wMi0yMCAxNDoxNjoxOCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5oOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkgIGJhc2V2aWRlbzogbWVyZ2UgdXRpbHMgaGVhZGVyIGludG8gYmFzZXZpZGVvY29kZWMKCjIwMTAtMTItMzAgMTg6MjU6MDQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogT3V0cHV0IGVsZW1lbnQgbWVzc2FnZSB3aXRoIGZyYW1lIHN0YXRzCgoyMDExLTAyLTI2IDAwOjI4OjMyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3BhdGNoZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBnc3QvcGF0Y2hkZXRlY3QvZ3N0cGF0Y2hkZXRlY3QuYzoKCSogZ3N0L3BhdGNoZGV0ZWN0L2dzdHBhdGNoZGV0ZWN0Lmg6CgkgIHBhdGNoZGV0ZWN0OiBuZXcgZWxlbWVudAoJICBEZXRlY3RzIE11bnNlbGwgQ29sb3JDaGVja2VyIGluIGEgdmlkZW8gaW1hZ2UgYW5kIGF1dG9tYXRpY2FsbHkKCSAgd2hpdGUgYmFsYW5jZXMgYW5kIGNvbG9yIGNvcnJlY3RzIGJhc2VkIG9uIHRoZSBkZXRlY3RlZCB2YWx1ZXMuCgkgIFRoaXMgZWxlbWVudCBpcyBvbmx5IGEgZGVtb25zdHJhdGlvbiBhdCB0aGlzIHN0YWdlLCBpdCBuZWVkcyB0bwoJICBiZSBzZXBhcmF0ZWQgaW50byB0d28gZWxlbWVudHMuCgoyMDExLTAyLTI3IDAwOjQ4OjE5IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BlbnRyb3B5d2F2ZS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL0RlY2tMaW5rQVBJLmg6CgkqIHN5cy9kZWNrbGluay9EZWNrTGlua0FQSURpc3BhdGNoLmNwcDoKCSogc3lzL2RlY2tsaW5rL0xpbnV4Q09NLmg6CgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbms6IEFkZCBkZWNrbGluayBwbHVnaW4KCSAgU291cmNlIGFuZCBzaW5rIGVsZW1lbnRzIGZvciBCbGFja01hZ2ljIERlY2tMaW5rIFNESSBjYXJkcy4KCjIwMTEtMDMtMTcgMTc6Mzg6NTggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9saW5zeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc2luay5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNpbmsuaDoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzcmMuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzcmMuaDoKCSogc3lzL2xpbnN5cy9pbmNsdWRlL2FzaS5oOgoJKiBzeXMvbGluc3lzL2luY2x1ZGUvbWFzdGVyLmg6CgkqIHN5cy9saW5zeXMvaW5jbHVkZS9zZGkuaDoKCSogc3lzL2xpbnN5cy9pbmNsdWRlL3NkaWF1ZGlvLmg6CgkqIHN5cy9saW5zeXMvaW5jbHVkZS9zZGl2aWRlby5oOgoJICBsaW5zeXM6IEFkZCBwbHVnaW4gZm9yIExpbmVhciBTeXN0ZW1zIFNESSBib2FyZHMKCjIwMTAtMDktMTQgMTE6MzA6MzMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc2RpL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2RpL2dzdHNkaS5jOgoJKiBnc3Qvc2RpL2dzdHNkaWRlbXV4LmM6CgkqIGdzdC9zZGkvZ3N0c2RpZGVtdXguaDoKCSogZ3N0L3NkaS9nc3RzZGltdXguYzoKCSogZ3N0L3NkaS9nc3RzZGltdXguaDoKCSAgc2RpOiBBZGQgcmF3IFNESSBtdXhpbmcvZGVtdXhpbmcgZWxlbWVudHMKCjIwMTEtMDMtMTcgMTk6MDM6MjkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sb2dvaW5zZXJ0LmM6CgkgIGxvZ29pbnNlcnQ6IEZpeCBtZW1sZWFrcywgYWRkIHRlc3QKCjIwMTAtMTEtMTUgMTE6Mzc6MTIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIGxvZ29pbnNlcnQ6IEFkZCBkYXRhIHByb3BlcnR5CgoyMDExLTAzLTIzIDE1OjQ5OjE4ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgZ3N0LWNhbWVyYWJpbjItdGVzdDogRml4IHByZW1hdHVyZSBzaHV0ZG93bgoJICBXZSBtdXN0IHdhaXQgZm9yIGNhbWVyYWJpbjIncyBzdG9wLWNhcHR1cmUgcHJvY2VkdXJlcyB0byBmaW5pc2ggYmVmb3JlIHF1aXR0aW5nCgkgIHRoZSBtYWluIGxvb3Agb3IgZmlyaW5nIG9mZiB0aGUgbmV4dCBjYXB0dXJlLiBJZiB3ZSBnZXQgc3R1Y2sgd2FpdGluZyBmb3IKCSAgY2FtZXJhYmluMiB0byBiZWNvbWUgaWRsZSwgdGhpcyBpcyBhIGJ1ZyB0aGF0IG5lZWRzIGZpeGluZy4KCjIwMTEtMDMtMjMgMTY6MzI6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBPbmx5IG1hcmsgdmlkZW8gY2FwdHVyZSBhcyBmaW5pc2hlZCBhZnRlciBFT1MKCSAgSW5zdGVhZCBvZiBwcm9iaW5nIHRoZSB2aWRlb3Npbmsgc2lua3BhZCBmb3IgcGFzc2luZyBFT1MsIGJldHRlcgoJICB0byB3YWl0IGZvciBFT1MgZnJvbSB0aGUgYnVzLgoJICBUaGlzIG1ha2VzIHN1cmUgdGhlIGZpbGVzaW5rIGhhcyBhbHJlYWR5IHByb2Nlc3NlZCBpdCBhbmQgaXMKCSAgcmVhZHkgdG8gY2xvc2UgdGhlIGZpbGUuIFRoaXMgaXMgdXNlZCB0byBub3RpZnkgYXBwbGljYXRpb25zCgkgIHRoYXQgY2FtZXJhYmluMiBpcyBpZGxlIGFuZCBjYW4gYmUgc2h1dCBkb3duLgoKMjAxMS0wMy0xOCAxNTo0OToxMiArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IGNhbWVyYWJpbjI6IHdyYXBwZXJjYW1lcmFiaW5zcmM6IEFkZCByZWFkLW9ubHkgbWF4LXpvb20gcHJvcAoJICBUaGlzIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiBhbnkgb2Ygb3VyIHJlYWwgc291cmNlcyB0byB3aGljaCB3cmFwcGVyY2FtZXJhYmluc3JjCgkgIG1pZ2h0IGNvbm5lY3QgYnV0IHRoaXMgaXMgb3B0aW9uYWwgYW5kIGNhbiBiZSBpbXBsZW1lbnRlZCBhdCBhbnkgdGltZS4gQQoJICBsaW1pdCBvbiB0aGUgc29mdHdhcmUgem9vbSBsZXZlbCB1c2luZyB2aWRlb3tjcm9wLHNjYWxlfSB3b3VsZCBiZSBhcmJpdHJhcnkuCgoyMDExLTAzLTIzIDEyOjM4OjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEltcHJvdmUgaWRsZSBwcm9wZXJ0eSB1c2FnZQoJICBVc2UgcmVzb3VyY2Ugd2FybmluZyBtZXNzYWdlcyB0byBub3RpZnkgY2FtZXJhYmluMiB0aGF0IGEgY2FwdHVyZQoJICBhcyBhYm9ydGVkIG9yIGNvdWxkbid0IGJlIHN0YXJ0ZWQsIG1ha2luZyBpdCBkZWNyZW1lbnQgdGhlCgkgIHByb2Nlc3NpbmcgY291bnRlciBhbmQgbWFraW5nIHRoZSBpZGxlIHByb3BlcnR5IG1vcmUgcmVsaWFibGUuCgoyMDExLTAzLTIyIDEyOjA0OjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogTm8gbmVlZCB0byBmb3JjZSBhdWRpb3NyYyB0byBudWxsIG9uIHN0b3BfY2FwdHVyZQoJICBTZXR0aW5nIHRoZSBhdWRpbyBzb3VyY2UgdG8gbnVsbCBpc24ndCBuZWVkZWQgYW5kIGl0IGNvdWxkCgkgIG1ha2UgdGhlIEVPUyB0aGF0IGlzIHN0aWxsIGZsb3dpbmcgYmUgZHJvcHBlZCBpZiBhdXRvYXVkaW9zcmMKCSAgaXMgdXNlZCBiZWNhdXNlIGl0cyBwYWRzIGdvIGZsdXNoaW5nIGJlZm9yZSB0aGUgRU9TIGdldHMgcHVzaGVkCgkgIGZyb20gdGhlIHJlYWwgc291cmNlLgoKMjAxMS0wMy0yMiAwODozMjo0OCAtMDMwMCAgTGF1cmkgTGVodGluZW4gPGxhdXJpLmxlaHRpbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSAgYmFzZWNhbWVyYWJpbnNyYzogQ2hlY2sgaWYgc2V0IHByZXZpZXcgY2FwcyBhcmUgdGhlIHNhbWUKCSAgQ2hlY2tzIGlmIHRoZSBuZXcgcmVjZWl2ZWQgcHJldmlldy1jYXBzIGFyZSBlcXVhbCB0byB3aGF0IGlzCgkgIGFscmVhZHkgaW4gdXNlLCBza2lwcyB0aGUgcHJldmlldy1jYXBzIHNldHRpbmcgbG9naWMgaW4gY2FzZQoJICBuZXcgY2FwcyBhcmUgc2FtZSBhcyBjdXJyZW50IG9uZXMuCgoyMDExLTAzLTE1IDE1OjQ3OjIxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IEFkZHMgYW5vdGhlciAnaWRsZScgdGVzdAoJICBBZGRzIGFub3RoZXIgdGVzdCB0aGF0IGNoZWNrcyB0aGF0IHRoZSBpZGxlIHByb3BlcnR5IHdvcmtzCgkgIGNvcnJlY3RseSB3aGVuIGJvZ3VzIHN0YXJ0LWNhcHR1cmUgY2FsbHMgYXJlIG1hZGUuCgkgIFRoaXMgZmFpbHMgY3VycmVudGx5LCBidXQgc2hvdWxkIHJlbWluZCB1cyBvZiBmaXhpbmcgaXQgaW4KCSAgdGhlIGZ1dHVyZSBieSBkZWZpbmluZyBhIHByb3BlciBlcnJvciByZXBvcnRpbmcgZnJvbSBjYW1lcmEKCSAgc291cmNlcyB0byBjYW1lcmFiaW4yCgoyMDExLTAzLTE1IDE1OjM0OjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IFNwcmlua2xlIHNvbWUgJ2lkbGUnIHByb3BlcnR5IGNoZWNrcwoJICBBZGRzIHNvbWUgY2hlY2tzIGZvciAnaWRsZScgcHJvcGVydHkgaW4gY2FtZXJhYmluMiB0ZXN0cwoKMjAxMS0wMy0xNSAxNToxMTowMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogQWRkcyBuZXcgaWRsZSBwcm9wZXJ0eQoJICBBZGRzIGlkbGUgcHJvcGVydHkgKGp1c3QgbGlrZSBjYW1lcmFiaW4xKSwgYSBib29sZWFuIHRoYXQKCSAgaXMgdHJ1ZSB3aGVuIGNhbWVyYWJpbjIgaXNuJ3QgcHJvY2Vzc2luZyBhbmQgY2FuIGJlIHNodXQgZG93bgoJICB3aXRob3V0IGxvc2luZyBkYXRhLgoKMjAxMS0wMy0xNSAxMDo1MDo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBBZGRzIHRlc3RzIGZvciBuZXcgaW1hZ2UgY2FwdHVyZSBwcm9wZXJ0aWVzCgkgIEFkZHMgdGVzdHMgdG8gY2hlY2sgdGhhdCBjaGFuZ2luZyBlbmNvZGVyL211eGVyIGZvciBpbWFnZSBjYXB0dXJlCgkgIHdvcmtzCgoyMDExLTAzLTE1IDEwOjExOjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkaW5nIHByb3BlcnRpZXMgZm9yIGltYWdlIGNhcHR1cmUgc2V0dGluZ3MKCSAgQWRkcyBwcm9wZXJ0aWVzIGZvciBzZWxlY3RpbmcgaW1hZ2UgZW5jb2RlciBhbmQgbXV4ZXIgZm9yCgkgIGltYWdlIGNhcHR1cmUKCjIwMTEtMDMtMTQgMTQ6MzM6NTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBNb3JlIGRlYnVnIGxvZwoJICBTbWFsbCByZWZhY3RvcmluZyBhbmQgYWRkaW5nIG1vcmUgZGVidWcgbG9nIHRvIGVuY29kZWJpbiByZWxhdGVkCgkgIHBhdGhzCgoyMDExLTAzLTE0IDE0OjMwOjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogU2V0IHByZXZpZXcgcGlwZWxpbmUgTlVMTAoJICBTZXQgcHJldmlldyBwaXBlbGluZSB0byBOVUxMIHdoZW4gZnJlZWQgdG8gYmUgYWJsZSB0bwoJICByZWNyZWF0ZSBpdCBvbiB0aGUgZm9sbG93aW5nIGxpbmVzCgoyMDExLTAzLTIzIDIyOjAyOjM3ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5oOgoJICBkY2FwYXJzZTogRXhwb3NlIGZyYW1lIHNpemUgaW4gY2FwcwoJICBUaGlzIGV4cG9ydHMgdGhlIHNpemUgb2YgdGhlIGZyYW1lIChudW1iZXIgb2YgYnl0ZXMgZnJvbSBvbmUgc3luYyBwb2ludAoJICB0byB0aGUgbmV4dCkgYXMgdGhlICJmcmFtZV9zaXplIiBmaWVsZCBpbiBjYXBzLgoKMjAxMS0wMy0wOSAyMzowMzoxMCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSAgZGNhcGFyc2U6IEV4cG9zZSBibG9jayBzaXplIGluIGNhcHMKCSAgVGhpcyBzZXRzIHRoZSAiYmxvY2tfc2l6ZSIgZmllbGQgb24gY2FwcyBhcyB0aGUgbnVtYmVyIG9mIHNhbXBsZXMKCSAgZW5jb2RlZCBpbiBvbmUgZnJhbWUuCgoyMDExLTAzLTIyIDIwOjUzOjA4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogdXNlIHJ1bm5pbmcgdGltZSBmb3Igc3luY2hyb25pemF0aW9uCgkgIFNlZSBhbHNvICM0MzI2MTIuCgoyMDExLTAzLTIyIDEzOjE4OjAzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogY2hhaW4gdXAgdG8gcGFyZW50IGZpbmFsaXplCgoyMDExLTAzLTIyIDEzOjQ2OjQyICswMTAwICBDaHJpcyBFIEpvbmVzIDxjaHJpc0BjaHJpc2Vqb25lcy5jb20+CgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IENvcnJlY3RseSBoYW5kbGUgbmV3c2VnbWVudCBldmVudHMgd2l0aCBzdG9wPT0tMQoJICBGaXhlcyBidWcgIzY0NTQyMC4KCjIwMTEtMDMtMjIgMTI6MzQ6MjAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogcmVkdW5kYW50IHVzZXMgb2YgQUNfTVNHX1JFU1VMVCgpCgkgIGNsZWFuZWQgdGhlIHJlZHVuZGFudCB1c2VzIG9mIEFDX01TR19SRVNVTFQoKSBpbiBjb25maWd1cmUuYWMKCjIwMTEtMDMtMTggMTk6MzQ6NTcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJICBhdXRvZ2VuOiB3aW5nbyBzaWduZWQgY29tbWVudAoKMjAxMS0wMy0yMSAxMzozMToxNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9maWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZmlsdGVyMi5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZmlsdGVyMi5oOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHplYnJhc3RyaXBlLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0emVicmFzdHJpcGUuaDoKCSAgemVicmFzdHJpcGU6IEFkZCBuZXcgR3N0VmlkZW9GaWx0ZXIyIGJhc2UgY2xhc3MKCSAgQW4gZXhwZXJpbWVudC4gIE5vdCBjb21wbGV0ZWx5IGhhcHB5IHdpdGggaXQuCgoyMDExLTAzLTIxIDIwOjQwOjE0ICswMjAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBIYW5kbGUgYWxsIElTTzg4NTkteCBlbmNvZGluZ3MgaW4gZ2V0X2VuY29kaW5nKCkKCSAgLi4uIGFjY29yZGluZyB0byBFVFNJIEVOIDMwMCA0NjgsICJTZWxlY3Rpb24gb2YgY2hhcmFjdGVyIHRhYmxlIgoKMjAxMS0wMi0yMSAxMTo0NDowMSArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGRvIG5vdCB0cnkgdG8gcGFyc2UgcGFja2V0cyBjb250YWluaW5nIHNlY3Rpb24gZGF0YSBhcyBQRVMKCjIwMTEtMDItMjEgMTE6NDI6NTQgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogYWRkIHN0cmVhbSB0eXBlcyBmb3IgRFNNIENDIEEsIEIsIEMsIEQKCjIwMTEtMDMtMjEgMTg6NTQ6NDYgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggcGxheWJhY2sgaWYgUE1UIGlzIHNlZW4gYmVmb3JlIFBBVAoJICBUaGUgc3RyZWFtIGZvciB0aGUgUE1UIHBpZCBoYXMgdG8gYmUgY2xlYXJlZCBzaW5jZSB0aGUgdmVyc2lvbiBjaGVja2luZwoJICBpbiB0aGUgcGFja2V0aXplciB3b24ndCBlbWl0IHRoZSBzYW1lIFBNVCBhZ2FpbiBvdGhlcndpc2UuCgoyMDExLTAzLTIxIDE2OjUxOjE2ICswMTAwICBBbmRyZWFzIEZyaXNjaCA8YW5kcmVhcy5mcmlzY2hAbXVsdGltZWRpYS1sYWJzLmRlPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBTZXQgcGFyc2VkPXRydWUgaW4gdGhlIHNyY3BhZCBjYXBzCgkgIEZpeGVzIGJ1ZyAjNjQ1NDEyLgoKMjAxMS0wMy0yMSAxMDozODo1OCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgIG1wZWcyZW5jOiBMb3dlciB0aGUgcmFuayB0byBNQVJHSU5BTAoJICBUaGUgcmF0aW9uYWxlIGlzIHRoYXQgaXQgY2FuJ3QgYmUgcHJvcGVybHkgdXNlZCByaWdodCBub3cgd2hlbiB1c2luZwoJICBpdCB0byBlbmNvZGUgbXBlZzJ2aWRlbyBiZWNhdXNlIG9mIHRoZSBuZWVkcy10by1iZS1yZXdyaXR0ZW4gcHJvcGVydGllcwoJICBhbmQgZm9ybWF0IG5lZ290aWF0aW9uLiBPdGhlciBlbmNvZGVycyB3aWxsIG5lZ290aWF0ZSBpbiBhIG11Y2ggc2FuZXIKCSAgZmFzaGlvbi4KCSAgT25lIHN1Y2ggZXhhbXBsZSBpcyB0aGF0IHdoZW4geW91IHBpY2sgbXBlZzJlbmMgZm9yIG1wZWcydmlkZW8sIHRoZQoJICBkZWZhdWx0IHZhbHVlIGZvciB0aGUgJ2Zvcm1hdCcgcHJvcGVydHkgaXMgIkdlbmVyaWMgTVBFRy0xIiwgd2hpY2ggaXMKCSAgY29tcGxldGVseSB3cm9uZyBpZiBkb3duc3RyZWFtIGNhcHMgYXJlIG1wZWcyLiBUaGUgd2hvbGUgbmVnb3RpYXRpb24KCSAgY29kZSBuZWVkcyBzb21lIHNlcmlvdXMgbG92aW5nIGJlZm9yZSB0aGlzIHBsdWdpbiBjYW4gYmUgYnVtcGVkIGJhY2sKCSAgdXAgdG8gYSBoaWdoZXIgcmFuay4KCjIwMTEtMDMtMTYgMDk6NTA6MzQgKzAxMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuaDoKCSAgZnBzZGlzcGxheXNpbms6IGFkZCAiZnJhbWVzLWRyb3BwZWQiIGFuZCAiZnJhbWVzLXJlbmRlcmVkIiBwcm9wZXJ0aWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDM0NjkKCjIwMTEtMDMtMTggMDk6MzM6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBSZW1vdmUgc29tZSB1bnVzZWQgdmFyaWFibGVzIGluIHRoZSBJNDIwIGJsZW5kaW5nIGZ1bmN0aW9uCgoyMDExLTAzLTE3IDIwOjE5OjI3ICswMjAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogRml4IHVzaW5nIGFscGhhIHZhbHVlcyBpbiBibGl0dGluZy4KCSAgVXNlIGVhY2ggcGl4ZWwncyBvd24gYWxwaGEgdmFsdWUgaW5zdGVhZCBvZiBhdmVyYWdlIGFscGhhIHZhbHVlIHdoZW4KCSAgY2FsY3VsYXRpbmcgY29sb3IgY29tcG9uZW50cy4gRml4ZXMgYnVnICM2Mzk3NjMuCgoyMDExLTAzLTE3IDE2OjM0OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkgIHZwODogZml4IExJQkFERCBvcmRlciBpbiBNYWtlZmlsZS5hbQoKMjAxMS0wMy0xNiAxNTo1MzoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBhZGQgRklYTUUgZm9yIG1ha2luZyB0aGUgYmFzZSBjbGFzcyB1c2UgeGluZyBzZWVrIHRhYmxlcyBiZXR0ZXIKCjIwMTEtMDMtMTcgMTY6NDE6NTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IERvbid0IHVzZSAic3VuIiBhcyBhIHZhcmlhYmxlIG5hbWUsIGJyZWFrcyBvbiBTb2xhcmlzCgkgIFNlZW1zIGxpa2UgdGhlIFNvbGFyaXMgY29tcGlsZXIgaGFzIC1Ec3VuPTEsIHNvIGRvbid0IHVzZQoJICBzdW4gYXMgYSB2YXJpYWJsZSBuYW1lCgkgIFBhdGNoIGJ5IFRpbSBNb29uZXkgPG1vb25leUBkb2diZXJ0LmNjLm5kc3Uubm9kYWsuZWR1PgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ1MDUzCgoyMDExLTAzLTE3IDE1OjI3OjM5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIHNobTogQ2hlY2sgZm9yIE1TR19OT1NJR05BTCBtYWNybwoJICBEb24ndCBidWlsZCB0aGUgcGx1Z2luIGlzIE1TR19OT1NJR05BTCBpcyBub3QgZGVmaW5lZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ1MDUzCgoyMDExLTAzLTE2IDE4OjUyOjI0ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJICBzaG1zaW5rOiBLZWVwIHNobXNpbmsgcmVmZXJlbmNlZCB3aGlsZSB0aGVyZSBhcmUgc3RpbGwgYnVmZmVycyBhcm91bmQKCjIwMTEtMDMtMTYgMTg6NTE6NTAgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkqIHN5cy9zaG0vc2htcGlwZS5oOgoJICBzaG06IEFsbG93IFNobVBpcGUgdG8gc2F2ZSBhIGRhdGEgcG9pbnRlciBmb3IgYXBwbGljYXRpb25zCgoyMDExLTAzLTE2IDE4OjUxOjAyICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IEtlZXAgdGhlIFNobVBpcGUgYWxpdmUgYXMgbG9uZyBhcyB0aGVyZSBhcmUgYmxvY2tzIGxlZnQKCjIwMTEtMDMtMDkgMTk6MzQ6MzkgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobXNyYzogT25seSBjb25uZWN0IHRvIHNpbmsgaW4gUExBWUlORyBpbiBsaXZlIG1vZGUKCjIwMTEtMDMtMDkgMTk6MzQ6MjUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobXNyYzogS2VlcCBHc3RQb2xsIGZvciB3aG9sZSBzcmMgbGlmZXRpbWUKCjIwMTEtMDMtMTUgMDk6MTU6MzUgLTAzMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEFkZCBhbiBhc3NlcnRpb24gdG8gcHJldmlldyBwaXBlbGluZSBnZW5lcmF0aW9uCgkgIEFkZHMgYW4gYXNzZXJ0aW9uIGluIGNhc2UgdGhlIHByZXZpZXcgcGlwZWxpbmUgaXMgTlVMTCBhbmQgYWxzbwoJICBleHBsaWNpdGx5IGluaXRpYWxpemVzIHByZXZpZXcgY2FwcyB0byBOVUxMIGZvciBjbGFyaXR5LgoKMjAxMS0wMy0xNCAxODoyNToyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSAgZGNhcGFyc2U6IEFkZCBkZXB0aCBhbmQgZW5kaWFubmVzcyB0byB0aGUgY2FwcwoJICBTb21lIGRlY29kZXJzIGNhbiBvbmx5IGhhbmRsZSBzcGVjaWZpYyBlbmRpYW5uZXNzIG9yIGEgZml4ZWQKCSAgZGVwdGggYW5kIHRoaXMgYWxsb3dzIGJldHRlciBuZWdvdGlhdGlvbi4KCSAgRml4ZXMgYnVnICM2NDQyMDguCgoyMDExLTAzLTE0IDEyOjM5OjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZml4IGJyb2tlbiBwYWQgY2FwcyByZWZjb3VudCBoYW5kbGluZwoJICBnc3RfY2Fwc19tYWtlX3dyaXRhYmxlKCkgdGFrZXMgb3duZXJzaGlwIG9mIHRoZSBjYXBzIHBhc3NlZCBpbiwgYnV0CgkgIHRoZSBjYWxsZXIgZG9lc24ndCBvd24gYSByZWYgdG8gdGhlIGNhcHMgaGVyZSwgYmVjYXVzZSBHU1RfUEFEX0NBUFMKCSAgZG9lc24ndCByZXR1cm4gYSByZWYuIExvb2tzIGxpa2UgdGhlIGNvZGUgcmVsaWVkIG9uIGEgY2FwcyBsZWFrCgkgIGVsc2V3aGVyZSBmb3IgdGhpcyB0byB3b3JrIHByb3Blcmx5LgoKMjAxMS0wMy0xNCAxMjozMzoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGRvbid0IGVycm9yIG91dCBpZiBkb3duc3RyZWFtIGZhaWxzIHRvIGhhbmRsZSB0aGUgbmV3c2VnbWVudCBldmVudAoJICBJZiBkb3duc3RyZWFtIGRvZXNuJ3QgaGFuZGxlIHRoZSBuZXdzZWdtZW50IGV2ZW50LCBkb24ndCBlcnJvciBvdXQgKGVzcC4KCSAgbm90IHdpdGhvdXQgcG9zdGluZyBhIHByb3BlciBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMpLCBidXQganVzdCBjb250aW51ZS4KCSAgSWYgdGhlcmUncyBhIHByb2JsZW0sIHdlJ2xsIGZpbmQgb3V0IHdoZW4gd2Ugc3RhcnQgcHVzaGluZyBidWZmZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ0Mzk1CgoyMDExLTAzLTExIDE0OjQwOjQ0ICswMDAwICBBbmRyZWFzIEZyaXNjaCA8YW5kcmVhcy5mcmlzY2hAbXVsdGltZWRpYS1sYWJzLmRlPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiByZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDExLTAzLTExIDE4OjIzOjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogU2V0IHF1ZXVlcyB0byBzaWxlbnQKCSAgT3B0aW1pemUgYSBsaXR0bGUgYnkgc2V0dGluZyBxdWV1ZXMgdG8gc2lsZW50CgoyMDExLTAzLTExIDE2OjIwOjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBSZWZhY3RvcmluZyBlbmNvZGViaW4gdXNhZ2UKCSAgUmVmYWN0b3Igc29tZSBjb21tb24gY29kZSByZWdhcmRpbmcgZW5jb2RlYmluIHVzYWdlIGluIGNhbWVyYWJpbjIKCjIwMTEtMDMtMTEgMTc6MDc6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogRml4IG51bWJlciBvZiBpdGVyYXRpb24gb2YgdGVzdHMKCSAgVGhlcmUgYXJlIDMgdGFnbGlzdCB0ZXN0cywgbm90IDIKCjIwMTEtMDMtMTEgMTA6MzI6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGNhbWVyYWJpbjI6IFNvbWUgbWVtbGVhayBmaXhlcwoKMjAxMS0wMy0wOCAwOTo0Mzo1OCArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBiYXNlY2FtZXJhc3JjOiB3cmFwcGVyY2FtZXJhYmluc3JjOiBjYW1lcmFiaW4yOiBFeHBvc2UvYWRkIGZsb2F0aW5nIHBvaW50IHpvb20gcHJvcGVydHkKCjIwMTEtMDMtMDQgMTU6NTM6NDIgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogUmVtb3ZlIGRlYWQgZGVmaW5pdGlvbgoJICBUaGlzIGRlZmluaXRpb24gaXMgdW51c2VkIGluIHRoaXMgY29kZS4KCjIwMTEtMDMtMTAgMTE6Mzg6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBBdm9pZCBjbGVhcmluZyByZWNvcmRpbmcgY2FwcwoJICBXaGVuIHJlY29yZGluZyAyIHZpZGVvcyBpbiBzZXF1ZW5jZSB3aXRoIHRoZSBzYW1lIHZpZGVvLWNhcHR1cmUtY2FwcywKCSAgdGhlIHNlY29uZCB2aWRlbyB3b3VsZCBnZXQgYSBub3QtbmVnb3RpYXRlZCBlcnJvciBiZWNhdXNlIHRoZQoJICBzcmMgY2FwcyB3ZXJlIGJlaW5nIGNsZWFyZWQgd2l0aG91dCBhbnkgaW50ZW50aW9uIG9mCgkgIHJlbmVnb3RpYXRpbmcgaXQgYmFjayB0byB0aGUgcmVxdWVzdGVkIGNhcHR1cmUgY2Fwcy4KCSAgVGhpcyBwYXRjaCBhdm9pZHMgdGhpcyBjYXBzIHJlc2V0IHByb2NlZHVyZSB1bmxlc3MgYSBuZXcKCSAgY2FwcyB3YXMgc2V0LgoKMjAxMS0wMy0xMSAxNDozNzowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSAgZGlyYWNwYXJzZTogQWRkIGNvcnJlY3QgdGVtcGxhdGUgY2FwcyBhbmQgZWxlbWVudCBkZXRhaWxzCgoyMDExLTAzLTExIDEwOjQwOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkgIGV4YW1wbGVzOiBmaXggTERBREQvTElCUyBwYXRoIG9yZGVyIGZvciBjYW1lcmFiaW4yIGV4YW1wbGUKCjIwMTEtMDMtMTEgMTA6MzQ6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBkb24ndCBsZWFrIGVsZW1lbnQgbmFtZSBzdHJpbmdzCgkgIERvbid0IGxlYWsgc3RyaW5nIGNvcHkgcmV0dXJuZWQgYnkgZ3N0X2VsZW1lbnRfZ2V0X25hbWUoKS4gQWxzbywgY2hlY2sKCSAgZm9yIGNlcnRhaW4gZWxlbWVudHMgYnkgY2hlY2tpbmcgdGhlIHBsdWdpbiBmZWF0dXJlIC8gZmFjdG9yeSBuYW1lLCBub3QKCSAgdGhlIGFzc2lnbmVkIG9iamVjdCBuYW1lLgoKMjAxMS0wMy0xMSAxMDoyNjowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZtbmMvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiByZW1vdmUgbW9yZSB0YXJraW4vdGhlb3JhZXhwIGJ1aWxkIGNydWZ0CgoyMDExLTAzLTEwIDEzOjM5OjQwIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvdGFya2luL01ha2VmaWxlLmFtOgoJKiBleHQvdGFya2luL1JFQURNRToKCSogZXh0L3Rhcmtpbi9UT0RPOgoJKiBleHQvdGFya2luL1dIQVRfVEhFX0hFQ0tfSVNfVEhJU19DT0RFX0RPSU5HOgoJKiBleHQvdGFya2luL2JpdGNvZGVyLmg6CgkqIGV4dC90YXJraW4vZ29sb21iLmg6CgkqIGV4dC90YXJraW4vZ3N0dGFya2luLmM6CgkqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6CgkqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmg6CgkqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmM6CgkqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmg6CgkqIGV4dC90YXJraW4vaW5mby5jOgoJKiBleHQvdGFya2luL21lbS5jOgoJKiBleHQvdGFya2luL21lbS5oOgoJKiBleHQvdGFya2luL3JsZS5oOgoJKiBleHQvdGFya2luL3Rhcmtpbi5jOgoJKiBleHQvdGFya2luL3Rhcmtpbi5oOgoJKiBleHQvdGFya2luL3dhdmVsZXQuYzoKCSogZXh0L3Rhcmtpbi93YXZlbGV0Lmg6CgkqIGV4dC90YXJraW4vd2F2ZWxldF9jb2VmZi5jOgoJKiBleHQvdGFya2luL3dhdmVsZXRfeGZvcm0uYzoKCSogZXh0L3Rhcmtpbi95dXYuYzoKCSogZXh0L3Rhcmtpbi95dXYuaDoKCSogZXh0L3RoZW9yYS9NYWtlZmlsZS5hbToKCSogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSogZXh0L3RoZW9yYS90aGVvcmFkZWMuaDoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R6ZWJyYXN0cmlwZS5oOgoJICB0aGVvcmEsdGFya2luOiBSZW1vdmUgYW5jaWVudCB1bnVzZWQgY29kZQoKMjAxMS0wMy0xMCAxNjowMzo1OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHByb3ZpZGUgZm9yIFBUUyBtZXRhZGF0YSB3aGVuIHNvIGNvbmZpZ3VyZWQKCSAgLi4uIGFuZCBub3Qgb25seSB3aGVuIHNvcnQtb2YgZmVlbGluZyBsaWtlIGl0LgoJICBJbiBhbnkgY2FzZSwgaWYgaXQgdHVybnMgb3V0IGFsbCByZWFsbHkgaXMgaW4gb3JkZXIsCgkgIGFuZCBwcmVzdW1hYmx5IERUUyA9PSBQVFMsIHRoZW4gbm8gY3R0cyB3aWxsIGJlIHByb2R1Y2VkIGFueXdheS4KCjIwMTEtMDMtMTAgMTY6MDI6NDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhbHNvIHRyYWNrIG9yaWdpbmFsIFBUUyBidWZmZXIgdGltZXN0YW1wIGluIHJlb3JkZXIgZHRzLW1ldGhvZAoKMjAxMS0wMy0wOSAxNDo1MzoyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEZvcmNlIEVPUyBvbiBhdWRpbyBzcmMKCSAgV2UgY2FuJ3QgcmVseSBvbiBhdWRpbyBzb3VyY2VzIHB1c2hpbmcgRU9TIHdoZW4gZ29pbmcgUEFVU0VELT5SRUFEWQoJICBiZWNhdXNlIHRoaXMgaXMgYSBiYXNlc3JjIGJhaGF2aW9yIGFuZCB3aGVuIHVzZWQgaW5zaWRlIGF1dG9hdWRpb3NyYwoJICB0aGUgZ2hvc3RwYWQgZ29lcyBmbHVzaGluZyBiZWZvcmUgdGhlIHJlYWwgc291cmNlIHB1c2hlcyB0aGUgRU9TLAoJICBzbyBpdCBpcyBkcm9wcGVkLgoKMjAxMS0wMy0wNCAwNjowNjoxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IE5vIG5lZWQgZm9yIHN0YXJ0aW5nIHNlZ21lbnQKCjIwMTEtMDMtMDQgMDY6MDk6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGdzdGNhbWVyYWJpbjI6IFNldCBlbmNvZGViaW4ncyB2aWRlb3JhdGUgYW5kIGF1ZGlvcmF0ZSBwcm9wZXJ0aWVzCgkgIExpc3RlbiB0byBlbmNvZGViaW4ncyBlbGVtZW50LWFkZGVkIHNpZ25hbCB0byBiZSBhYmxlIHRvIHNldAoJICBza2lwLXRvLWZpcnN0IG9uIGJvdGggYXVkaW9yYXRlcyBhbmQgdmlkZW9yYXRlcy4KCjIwMTEtMDItMTUgMTQ6NTg6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBIYW5kbGUgYXVkaW8gZWxlbWVudHMgc3RhdGVzCgkgIEF1ZGlvIGVsZW1lbnRzIGFyZSBwdXQgaW50byBiaW4gb25seSB3aGVuIG5lZWRlZCwgc28gd2UgbmVlZAoJICB0byBiZSBjYXJlZnVsIHdpdGggdGhlaXIgc3RhdGVzIGFzIGNhbWVyYWJpbjIgd29uJ3QgbWFuYWdlCgkgIHRoZW0gaWYgdGhleSBhcmUgb3V0c2lkZSB0aGUgYmluLgoJICBBbHNvIHdlIHNob3VsZCByZXNldCB0aGVpciBwYWQncyBmbHVzaGluZyBzdGF0dXMgYmVmb3JlCgkgIHN0YXJ0aW5nIGEgbmV3IGNhcHR1cmUuCgoyMDExLTAxLTIxIDEyOjQ3OjU3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogdGVzdHM6IFVwZGF0ZSB0ZXN0cyB0byBjaGVjayBmb3IgYXVkaW8gc3RyZWFtcwoJICBBZGQgYSBjaGVjayB0aGF0IHJlc3VsdGluZyByZWNvcmRlZCB2aWRlbyBmaWxlcyBoYXZlIGF1ZGlvIHN0cmVhbXMuCgoyMDExLTAxLTIxIDEwOjU2OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW46IGFkZGluZyBhdWRpbyByZWxhdGVkIHByb3BlcnRpZXMKCSAgQWRkcyA0IGF1ZGlvIHByb3BlcnRpZXMgcmVsYXRlZCB0byBhdWRpbyByZWNvcmRpbmcKCSAgKiBhdWRpby1zcmMKCSAgKiBtdXRlCgkgICogYXVkaW8tc3VwcG9ydGVkLWNhcHR1cmUtY2FwcwoJICAqIGF1ZGlvLWNhcHR1cmUtY2FwcwoKMjAxMS0wMS0yMCAwOTozNDozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogQWRkaW5nIGF1ZGlvIHN1cHBvcnQgZm9yIHZpZGVvIHJlY29yZGluZ3MKCSAgQWRkcyBhbiBhdWRpbyBzb3VyY2UgYW5kIGF1ZGlvIGNhcHNmaWx0ZXIvcXVldWUvY29udmVydCwgY3JlYXRpbmcKCSAgYSBuZXcgYnJhbmNoIG9uIGNhbWVyYWJpbjIgdGhhdCBpcyB1c2VkIHRvIGZlZWQgZW5jb2RlYmluIHdpdGgKCSAgYXVkaW8gYnVmZmVycyBmb3IgdmlkZW8gcmVjb3JkaW5nLgoKMjAxMS0wMi0yOCAxNTo0Mzo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZCBsb2dnaW5nIGZvciBzdG9wLWNhcHR1cmUgc2lnbmFsCgoyMDExLTAyLTI0IDE4OjI4OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkIHZpZXdmaW5kZXIgY2FwcyByZWxhdGVkIHByb3BlcnRpZXMKCSAgQWRkcyBwcm9wZXJ0aWVzIHRvIGNoZWNrIHdoYXQgY2FwcyBhcmUgc3VwcG9ydGVkIG9uIHRoZQoJICB2aWV3ZmluZGVyIChmcm9tIHRoZSBjYW1lcmFzcmMgdmlld2ZpbmRlciBwYWQpIGFuZCBhbm90aGVyCgkgIG9uZSB0byBzZXQgYSBjYXBzIGZvciB0aGUgdmlld2ZpbmRlci4KCjIwMTEtMDItMjQgMTc6NDI6MjEgLTAzMDAgIExhdXJpIExlaHRpbmVuIDxsYXVyaS5sZWh0aW5lbkBkaWdpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSAgYmFzZWNhbWVyYXNyYzogYWRkIHZpcnR1YWwgZnVuY3Rpb24gdG8gbm90aWZ5IHN1YmNsYXNzIG9mIGNoYW5naW5nIHByZXZpZXcgY2FwcwoJICBBZGRzIGEgdmlydHVhbCBmdW5jdGlvbiB0byBiYXNlY2FtZXJhc3JjIGluIGNhc2Ugc3ViY2xhc3NlcyB3YW50IHRvIGJlCgkgIG5vdGlmaWVkIG9mIGNoYW5naW5nIHByZXZpZXcgY2Fwcy4gVGhpcyBpcyB1c2VmdWwgaWYgdGhlIHN1YmNsYXNzIHdhbnRzCgkgIHRvIHBvc3QgdGhlIHByZXZpZXcgaXRzZWxmIG9yIGlmIGl0IHdhbnRzIHRvIHByb3ZpZGUgYSBwcmV2aWV3IGJ1ZmZlcgoJICBhcyBjbG9zZSB0byBhcyBwb3NzaWJsZSB0byB0aGUgdXNlcidzIHJlcXVlc3RlZCByZXNvbHV0aW9uIHRvIHRoZQoJICBwcmV2aWV3IGdlbmVyYXRpb24gcGlwZWxpbmUuCgoyMDExLTAyLTIyIDEzOjEwOjE1ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjI6IGFkZCBvcHRpb24gZm9yIHNldHRpbmcgdGhlIHdyYXBwZXIgY2FtZXJhIHNvdXJjZQoKMjAxMS0wMi0yMSAxNzowNDowNiArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW4yOiBhZGQgZW5jb2RpbmcgcHJvZmlsZSBsb2FkaW5nCgoyMDExLTAyLTE3IDE0OjUxOjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogRml4IG5ld3NlZ21lbnQgcHVzaGluZwoJICBTZW5kIHVwZGF0ZSBuZXdzZWdtZW50cyBpbnN0ZWFkIG9mIG5vbi11cGRhdGUgb25lcwoJICBmb3IgdGhlIHZpZGVvIGJyYW5jaCB3aGVuIHN0YXJ0aW5nIHJlY29yZGluZ3MKCjIwMTEtMDItMTUgMTQ6NTk6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBTZXQgc29tZSBxdWV1ZSdzIHByb3BlcnRpZXMKCSAgU2V0cyB2aWV3ZmluZGVyIHF1ZXVlIHRvIGxlYWt5IGFuZCB0ZWxsIGltYWdlIGJyYW5jaAoJICBxdWV1ZSB0byBkb24ndCBjYXJlIGFib3V0IGR1cmF0aW9ucwoKMjAxMS0wMi0xMCAxMTo1MDoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IFJlYWR5IGlzIGVub3VnaCBmb3IgZm9yY2luZyBhIGNhcHMgY2hhbmdlCgoyMDExLTAyLTA5IDE5OjE0OjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogQ2hlY2sgZm9yIGRvd25zdHJlYW0gY2FwcyBvbiBmaXJzdCBjYXB0dXJlcwoJICBVc2UgdmlkZW9fcmVuZWdvdGlhdGUgYW5kIGltYWdlX3JlbmVnb3RpYXRlIGJvb2xlYW5zIHRvIG1ha2UKCSAgdGhlIHZpZGVvc3JjIG5lZ290aWF0ZSB0aGUgY2FwdHVyZSBjYXBzIG9uIHRoZSBmaXJzdCBjYXB0dXJlIGJlY2F1c2UKCSAgdGhlIGNhcHMgbWlnaHQgYmUgc2V0IGJlZm9yZSB3cmFwcGVyY2FtZXJhYmluc3JjIGdvZXMgaW50byBQTEFZSU5HCgkgIGFuZCBwYWRzIGRyb3AgdGhlIGludGVybmFsIHJlbmVnb3RpYXRlIGV2ZW50LgoJICBUaGlzIGlzIHJlcXVpcmVkIGFzIHRoZSBvdXRwdXQtc2VsZWN0b3IgaXMgdXNpbmcgdGhlICdub25lJyBuZWdvdGlhdGlvbgoJICBtb2RlLgoKMjAxMS0wMi0wOSAxOTowOToyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IEF2b2lkIGZpeGF0aW5nIGNhcHR1cmUgY2FwcwoJICBXaGVuIHNldHRpbmcgdGhlIGludGVybmFsIGNhcHNmaWx0ZXIgY2FwcyBmb3IgY2FwdHVyZSB3ZSBzaG91bGQgcHV0CgkgIHRoZSBmdWxsIGNhcHMgaW5zdGVhZCBvZiB0cnlpbmcgdG8gZml4YXRlIGl0IG91cnNlbHZlcy4gVGhpcyB3YXkgd2UgbGV0CgkgIHRoZSBlbGVtZW50cyAoYW5kIG1vc3RseSB0aGUgc291cmNlKSBzZWxlY3QgdGhlIGJlc3QgZm9ybWF0IGluc3RlYWQKCSAgb2YgZGVmYXVsdGluZyB0byB3aGF0IHRoZSBwYWQgZml4YXRpb24gZnVuY3Rpb24gcGlja3MuCgoyMDExLTAyLTA5IDA4OjI3OjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBjYW1lcmFiaW4yOiBleGFtcGxlczogQWxsb3cgZnJlZSBpbWFnZSBkaW1lbnNpb25zCgkgIENoYW5nZXMgdGhlIGRlZmF1bHQgd2lkdGgvaGVpZ2h0IG9mIGNhcHR1cmVzIHNvIHRoYXQgaXQgd2lsbAoJICBiZSBhdXRvcGlja2VkIGJ5IGNhbWVyYWJpbjIgaW5zdGVhZCBvZiBoYXJkY29kaW5nIGFuIG9wdGlvbgoKMjAxMS0wMi0wOSAwODoxNTowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgY2FtZXJhYmluMjogZXhhbXBsZXM6IEJhY2twb3J0IGZpeCBmcm9tIGNhbWVyYWJpbiBleGFtcGxlCgkgIFdlIHNob3VsZCBvbmx5IGNoZWNrIGlmIHRoZSB4d2luZG93IHNob3VsZCBiZSBjcmVhdGVkIGlmIHdlIGFscmVhZHkKCSAgcGFyc2VkIHRoZSBhcmd1bWVudHMgb2YgdGhlIHByb2dyYW0KCjIwMTEtMDItMDQgMTQ6NTM6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICBjYW1lcmFiaW4yOiBNb3ZpbmcgcHJldmlldyBpbWFnZSBwcm9wZXJ0aWVzIHRvIGJhc2VjYW1lcmFzcmMKCSAgTW92ZXMgcHJldmlldyBpbWFnZSByZWxhdGVkIHByb3BlcnRpZXMgdG8gYmFzZWNhbWVyYXNyYyBhcyB0aGF0CgkgIHNob3VsZCBiZSBwcmVzZW50IG9uIGFsbCBjYW1lcmFzcmNzCgoyMDExLTAyLTA4IDE1OjUxOjQyICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IEZpeCBnZXR0aW5nIGVsZW1lbnQgaW1wbGVtZW50aW5nIHBob3RvZ3JhcGh5IGlmYWNlCgoyMDExLTAyLTAzIDEyOjAyOjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuaDoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgY2FtZXJhYmluMjogTW92ZSBwcmV2aWV3IGhlbHBlciBmdW5jdGlvbnMgdG8gYmFzZWNhbWVyYWJpbnNyYwoJICBNb3ZlIHByZXZpZXcgaGVscGVyIGZ1bmN0aW9ucyB0byBiYXNlYWNhbWVyYWJpbnNyYyBzbyB0aGV5IGNhbgoJICBiZSByZXVzZWQgYnkgbXVsdGlwbGUgY2FtZXJhYmluMiBzb3VyY2VzLgoKMjAxMS0wMi0wMyAxNjo1ODozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBjYW1lcmFiaW4yOiBleGFtcGxlczogQWRkIGdzdC1jYW1lcmFiaW4yLXRlc3QKCSAgQWRkcyBnc3QtY2FtZXJhYmluMi10ZXN0IGV4YW1wbGUgYXBwbGljYXRpb24sIHNpbWlsYXIgdG8KCSAgZ3N0LWNhbWVyYWJpbi10ZXN0IGZvciBjYW1lcmFiaW4uCgkgIEl0IGlzIHVzZWZ1bCBmb3IgdGFraW5nIHBpY3R1cmVzIGFuZCByZWNvcmRpbmcgdmlkZW9zIHVzaW5nCgkgIGNhbWVyYWJpbjIgYW5kIHByb3ZpZGluZyBhcmd1bWVudHMgZm9yIG1vc3Qgb2YgY2FtZXJhYmluMgoJICBwcm9wZXJ0aWVzCgoyMDExLTAyLTA0IDEyOjM2OjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkIHZpZXdmaW5kZXItc2luayBwcm9wZXJ0eQoJICBBZGRzIGEgcHJvcGVydHkgdG8gc2V0IHRoZSB2aWV3ZmluZGVyJ3Mgc2luayBvZiBjYW1lcmFiaW4yCgoyMDExLTAzLTA5IDEzOjE5OjUwICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJICBmaWVsZGFuYWx5c2lzOiBmaXggZG91YmxlIGZyZWUoKSBjcmFzaGVzCgoyMDExLTAzLTA4IDE3OjI5OjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wMy0wOCAxNzowMzoyMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L3Jlc2luZHZkL3JzbndyYXBwZWRidWZmZXIuYzoKCSAgbWV0YTogdXBkYXRlIGZvciBuZXcgQVBJCgoyMDExLTAzLTA4IDExOjE5OjQxICswMDAwICBCeWVvbmctcnllb2wgS2ltIDxicm9ma2ltc0BnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9maWx0ZXJzL01ha2VmaWxlLmFtOgoJICB2aWRlb2ZpbHRlcnM6IGxpbmsgdG8gbGlibQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ0MTc2CgoyMDExLTAzLTA3IDIyOjQxOjMwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsdjI6IHVwZGF0ZSB1cmwgZm9yIHBvcnQtZ3JvdXBzIGV4dGVuc2lvbgoKMjAxMS0wMy0wNyAxMDozNjo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIHNvdW5kdG91Y2g6IFRoZSBwa2ctY29uZmlnIGZpbGUgaW4gdmVyc2lvbiAxLjUgaXMgY2FsbGVkIHNvdW5kdG91Y2gKCjIwMTEtMDItMjYgMTY6MjA6NTIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdmlkZW9maWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZmlsdGVyc2JhZC5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHplYnJhc3RyaXBlLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0emVicmFzdHJpcGUuaDoKCSAgemVicmFzdHJpcGU6IE5ldyBlbGVtZW50CgkgIEFkZHMgemVicmEgc3RyaXBlcyB0byBvdmVyZXhwb3NlZCB2aWRlby4KCjIwMTEtMDMtMDQgMTc6Mzc6MDQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJICBleHQ6IEFsd2F5cyBkaXN0IHRoZSBjdXJsIGRpcmVjdG9yeQoJICBFdmVudCBpZiB3ZSBjYW4ndCBidWlsZCBpdC4gRml4ZXMgbWFrZSBkaXN0CgoyMDExLTAzLTA0IDE3OjI2OjQxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzaW5rLmM6CgkgIHNmc2luazogdXNlIGJhc2VzaW5rIHByZXJvbGwgbG9jawoKMjAxMS0wMy0wNCAxMzozOTo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9NYWtlZmlsZS5hbToKCSAgdmRwYXU6IGRpc2FibGUgdW50aWwgc29tZW9uZSBwb3J0cyBpdAoKMjAxMS0wMy0wNCAxMzoyOToyOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDMtMDQgMTI6MTE6MTIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlcwoJICBNYWtlcyBtYWNvc3ggY29tcGlsZXIgaGFwcHkKCjIwMTEtMDMtMDQgMTI6MTA6MjUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNpbmsuYzoKCSAgY3VybHNpbms6IEZpeCBwcmludC1yZWxhdGVkIGlzc3VlcwoKMjAxMS0wMy0wNCAxMTo1OTo0NCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDg6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZQoJICBNYWtlcyBtYWNvc3ggY29tcGlsZXIgaGFwcHkuCgoyMDExLTAzLTA0IDA5OjI1OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuaDoKCSAgZmllbGRhbmFseXNpczogYWRkIGJhY2t1cCBmaWxlcyBmb3IgY29tcGlsaW5nIHdpdGhvdXQgb3JjCgoyMDExLTAzLTAzIDAwOjU3OjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmg6CgkgIGgyNjNwYXJzZTogYWxsb2NhdGUgSDI2M1BhcmFtcyBzdHJ1Y3Qgb24gdGhlIHN0YWNrCgkgIEl0J3MgZmxhdCBhbmQgbm90IGtlcHQgYXJvdW5kIGZvciBsb25nZXIuCgoyMDExLTAzLTAzIDAwOjQ1OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmg6CgkgIGgyNjNwYXJzZTogbWlub3IgY2xlYW4tdXBzCgkgIGNvbnN0LWlmeSBzb21lIGFyZ3VtZW50cyBhbmQgcmUtaW5kZW50IGhlYWRlciBhIGxpdHRsZS4KCjIwMTEtMDItMjggMTE6NTE6NTQgKzAxMDAgIGJlbmphbWluIGdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheTogZml4IHN5bmMgcHJvcGVydHkgZGVmYXVsdCB2YWx1ZQoKMjAxMS0wMy0wMiAyMzo0Mzo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBGaXggY29tcGlsYXRpb24gd2l0aCBjZWx0ID49IDAuMTEuMAoJICBGaXhlcyBidWcgIzY0MzYwNy4KCjIwMTAtMDktMTUgMTc6MzI6MDkgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvTWFrZWZpbGUuYW06CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5oOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLm9yYzoKCSAgZmllbGRhbmFseXNpczogQWRkIGZpZWxkYW5hbHlzaXMgZWxlbWVudAoJICBUaGlzIGVsZW1lbnQgYW5hbHlzZXMgdmlkZW8gYnVmZmVycyB0byBpZGVudGlmeSBpZiB0aGV5IGFyZSBwcm9ncmVzc2l2ZSwKCSAgaW50ZXJsYWNlZCBvciB0ZWxlY2luZWQgYW5kIG91dHB1dHMgYnVmZmVycyB3aXRoIGFwcHJvcHJpYXRlIGZsYWdzIGZvciBhCgkgIGRvd25zdHJlYW0gZWxlbWVudCAod2hpY2ggd2lsbCBiZSB0aGUgZGVpbnRlcmxhY2UgZWxlbWVudCwgYWZ0ZXIgc29tZQoJICBmb3J0aGNvbWluZyBtb2RpZmljYXRpb25zKSB0byBiZSBhYmxlIHRvIG91dHB1dCBwcm9ncmVzc2l2ZSBmcmFtZXMgYW5kCgkgIGFkanVzdCB0aW1lc3RhbXBzIHJlc3VsdGluZyBpbiBhIHByb2dyZXNzaXZlIHN0cmVhbS4KCjIwMTEtMDMtMDEgMTE6MjM6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JzcGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSAgZG9jczogdXBkYXRlIGRvY3MgZm9yIHJlY2VudCBjaGFuZ2VzIGluIGdpdAoKMjAxMS0wMy0wMSAxMToxNjo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZXh0L2N1cmwvZ3N0Y3VybHNpbmsuYzoKCSAgZG9jczogYWRkIG5ldyBjdXJsIHBsdWdpbiBhbmQgY3VybHNpbmsgZWxlbWVudCB0byBkb2NzCgoyMDExLTAzLTAxIDEwOjQ5OjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhbHNvIGNoZWNrIGZvciBwbGF0Zm9ybSBzb2NrZXQgaGVhZGVycyBuZWVkZWQgYnkgY3VybHNpbmsgZWxlbWVudAoKMjAxMS0wMy0wMSAxMDowMzowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY3VybC9nc3RjdXJsc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc2luay5oOgoJICBjdXJsc2luazogbm8gbmVlZCBmb3IgYSBwcml2YXRlIGluc3RhbmNlIHN0cnVjdHVyZQoJICBUaGUgZW50aXJlIGluc3RhbmNlIHN0cnVjdHVyZSBpcyBwcml2YXRlIGFueXdheS4KCjIwMTEtMDMtMDEgMDk6NTY6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNpbmsuYzoKCSAgY3VybHNpbms6IGNsZWFuIHVwIHByb3BlcnR5IHJlZ2lzdHJhdGlvbiBjb2RlCgkgIEZpeCBzb21lIHR5cG9zLCB1c2Ugc2FtZSBzdHlsZSBhcyBpbiBhbGwgb3RoZXIgcGx1Z2lucywgYXZvaWRpbmcKCSAgdW5uZWNlc3NhcnkgdGVtcG9yYXJ5IEdQYXJhbVNwZWMgdmFyaWFibGVzOyB1c2UgR19QQVJBTV9TUEVDX1NUQVRJQ19TVFJJTkdTLgoKMjAxMS0wMi0yNiAyMDoyMToyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgY3VybDogYWRkIGNvbmZpZ3VyZSBjaGVjayBhbmQgaG9vayB1cCB0byBidWlsZCBzeXN0ZW0KCjIwMTEtMDItMjYgMjA6MjA6MzMgKzAwMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvTWFrZWZpbGUuYW06CgkqIGV4dC9jdXJsL2dzdGN1cmwuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNpbmsuaDoKCSAgY3VybDogYWRkIGxpYmN1cmwtYmFzZWQgc2luayBlbGVtZW50CgkgIFNpbmsgYWN0cyBhcyBhIGNsaWVudCBhbmQgY2FuIGNvbm5lY3QgdG8gc2VydmVycyB0bwoJICB1cGxvYWQgbWVkaWEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDE0OTYKCjIwMTEtMDItMjUgMTQ6MjQ6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6CgkgIGpwMmtkZWM6IHBvc3QgcHJvcGVyIGVycm9yIHdoZW4gdGhlIGltYWdlJ3MgY29sb3VyIHNwYWNlIGlzIG5vdCBzdXBwb3J0ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MzExNQoKMjAxMS0wMi0yOCAyMDoxOTo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogY3lnd2luL21pbmd3OyBlbmFibGUgcGx1Z2luIGxpbmtpbmcgdG8gc3RhdGljIGxpYgoJICBVc2VmdWwgZm9yIERpcmVjdFggcGx1Z2luKHMpLgoJICBGaXhlcyAjNjQyNTA3LgoKMjAxMS0wMi0yOCAxOTo1ODo0MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogZXhwb3J0IHBsdWdpbiBkZXNjcmlwdGlvbiBtb3JlIHBsYXRmb3JtIGluZGVwZW5kZW50CgkgIEZpeGVzICM2NDI1MDQuCgoyMDExLTAyLTI4IDE4OjMzOjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMWRlN2Y2YSB0byA2YWVjNmI5CgoyMDExLTAyLTI3IDE5OjM5OjQwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6CgkqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuYzoKCSogZXh0L3Jlc2luZHZkL3JzbndyYXBwZWRidWZmZXIuYzoKCSogZXh0L3Jlc2luZHZkL3JzbndyYXBwZWRidWZmZXIuaDoKCSAgbWV0YTogZml4IGZvciBuZXcgbWV0YWRhdGEgYXBpCgoyMDExLTAyLTI2IDE0OjU0OjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkgIG14ZjogZml4IGNsYXNzIHN0cnVjdAoJICBGaXggY2xhc3MgcGFyZW50IHN0cnVjdHVyZQoJICBNZXRhZGF0YSBpcyBub3cgR09iamVjdAoKMjAxMS0wMi0yNiAxNDoyMjo0NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuYzoKCSogZXh0L3Jlc2luZHZkL3JzbndyYXBwZWRidWZmZXIuYzoKCSogZXh0L3Jlc2luZHZkL3JzbndyYXBwZWRidWZmZXIuaDoKCSAgbWluaW9iamVjdDogcG9ydCByc25kdmQKCjIwMTEtMDItMjYgMTM6Mzk6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmFsYXcuYzoKCSogZ3N0L214Zi9teGZkbXMxLmM6CgkqIGdzdC9teGYvbXhmZHYtZGlmLmM6CgkqIGdzdC9teGYvbXhmanBlZzIwMDAuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbXhmL214ZnVwLmM6CgkqIGdzdC9teGYvbXhmdmMzLmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBtaW5pb2JqZWN0OiBwb3J0IHRvIG5ldyAwLjExIEFQSQoJICBSZW1vdmUgbWluaW9iamVjdCBhbmQgYnVmZmVyIHN1YmNsYXNzZXN1c2luZyBHT2JqZWN0IHN1YmNsYXNzZXMgYW5kCgkgIG1ldGFkYXRhLgoKMjAxMS0wMi0yOCAxMjowNjoxMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBjb25maWd1cmUuYWMKCSAgd2luMzIvY29tbW9uL2NvbmZpZy5oCgoyMDExLTAyLTI2IDEzOjUzOjQ0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgUmV2ZXJ0ICJhYWNwYXJzZTogYWxsb3cgcGFyc2VkIGZyYW1lcyBvbiBzaW5rIHBhZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBlNDliODlkNWM1YTEyNDRmYTBkY2I4YmI0OTk2ZTM4ZmI5YmZmOWU1LgoKMjAxMS0wMi0yNSAxOTo1OTowNSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IHNldCBkaXRoZXJpbmcgZW51bSBkaXJlY3RseQoKMjAxMS0wMi0yNSAxOTo1Nzo0NyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogQWRkIHN1cHBvcnQgZm9yIHIyMTAKCjIwMTEtMDItMjMgMTc6MjU6MDMgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogYWxsb3cgcGFyc2VkIGZyYW1lcyBvbiBzaW5rIHBhZAoKMjAxMS0wMi0yMyAxNzoyNDoxNCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvYmFzZXBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IG1ha2VfbWV0YWRhdGFfd3JpdGFibGUoKSBmaXgKCjIwMTEtMDItMjQgMDk6Mjk6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIGppZm11eDogdGVzdHM6IEluY3JlYXNlIGJ1cyB3YWl0aW5nIHRpbWVvdXQKCSAgRG91YmxlIGJ1cyB3YWl0aW5nIHRpbWVvdXQgYXMgc29tZXRpbWVzIHRoZSB0ZXN0IHdvdWxkIGZhaWwKCSAgYmVjYXVzZSBpdCB3b3VsZCB0aW1lb3V0IGFuZCBnZXQgbm8gbWVzc2FnZXMgZnJvbSB0aGUgYnVzLgoKMjAxMS0wMi0yMSAxMzoyNDowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZXBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJlbmFtZSBHVHlwZSBmcm9tIEdzdEF1ZGlvQmFzZVBhcnNlQmFkIHRvIEdzdEJhc2VQYXJzZUJhZAoJICBXZSB1c2UgaXQgZm9yIHZpZGVvIGFzIHdlbGwgbm93LgoKMjAxMS0wMi0yMSAxMjoxNDo1OSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJICBSZXZlcnQgIkNoZWNrIHRoYXQgY29sbGVjdHBhZHMgZXhpc3RzIGJlZm9yZSByZW1vdmluZyBwYWQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNmQ4NzQwNDc2Y2NkM2EzNDk4ZGM0ZjE4YzE5NzMzNjQzODI1YzdiOC4KCSAgRGVwZW5kcyBvbiBhIGNvcmUgY29tbWl0IHRoYXQgd2FzIHJldmVydGVkCgoyMDExLTAyLTIwIDIzOjU3OjE5IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkgIENoZWNrIHRoYXQgY29sbGVjdHBhZHMgZXhpc3RzIGJlZm9yZSByZW1vdmluZyBwYWQKCSAgVGhlIGNvcmUgbm93IGNhbGxzIHJlbGVhc2UgcGFkIGZyb20gZmluYWxpemUsIGF0IHdoaWNoIHBvaW50CgkgIHRoZSBjb2xsZWN0cGFkcyBtaWdodCBoYXZlIGFscmVhZHkgYmVlbiBmcmVlZC4KCjIwMTEtMDItMjAgMjM6MDE6MzAgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBGaXggWVVWLT5SR0IgbWF0cml4aW5nCgoyMDExLTAyLTIwIDIyOjQzOjU2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5oOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuaDoKCSAgY29sb3JzcGFjZTogQWRkIGRpdGhlcmluZwoJICBEaXRoZXJpbmcgb25seSBoYXBwZW5zIHdoZW4gYSAxNi1iaXQtcGVyLWNoYW5uZWwgZm9ybWF0IGlzCgkgIGludm9sdmVkLgoKMjAxMS0wMS0xMSAxMDozMjo0NyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkgIHh2aWRkZWM6IGJvZGdlIHRvIGF2b2lkIGNyYXNoZXMKCSAgSXQgc2VlbXMgeHZpZGNvcmUgb3ZlcnJlYWRzIGl0cyBpbnB1dCBidWZmZXIsIHNvIGEgbmFzdHkgd29ya2Fyb3VuZAoJICBpcyB0byBhbGxvY2F0ZSBzb21lIG1vcmUgbWVtb3J5ICgxNiBieXRlcyBzZWVtIHRvIGJlIGVub3VnaCkuCgkgIFRoZXJlIGlzIG5vIGFwcGFyZW50IGltYWdlIGNvcnJ1cHRpb24gd2l0aCB0aGVzZSBleHRyYSBieXRlcyBzZXQgdG8gMCwKCSAgdmFsZ3JpbmQgaXMgbXVjaCBoYXBwaWVyLCBhbmQgdGhlIGNyYXNoZXMgZ28gYXdheS4KCSAgSXQgaXMgdWdseSwgYW5kIHNsb3dlciB0aG91Z2guIEJ1dCB0aGVuLCB4dmlkZGVjIGlzIGN1cnJlbnRseQoJICBub3QgYXV0b3BsdWdnZWQgZm9yIHBsYXliYWNrIGFueXdheS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTMzNDEwNwoKMjAxMS0wMi0yMCAxNDoxNDoyNyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy5vcmM6CgkgIGNvbG9yc3BhY2U6IGZpeCBhIGZldyBmb3JtYXRzCgoyMDExLTAyLTE5IDEzOjEyOjQxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmg6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogQWRkIDE2LWJpdC1wZXItY2hhbm5lbCBoYW5kbGluZwoKMjAxMS0wMi0xOSAxMzoxMzoxMyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IEZpeCBtZW1sZWFrCgoyMDExLTAyLTE5IDEzOjA3OjM5IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvTWFrZWZpbGUuYW06CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm8uYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3BhcnNlLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5oOgoJICBiYXNldmlkZW9jb2RlYzogcmVtb3ZlIHBhcnNlciBpbiBmYXZvciBvZiBiYXNlcGFyc2UKCjIwMTEtMDItMTggMTU6MjQ6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkgIHZpZGVvcGFyc2VyczogY2hhbmdlIHBsdWdpbiBmaWxlbmFtZSBmcm9tIGxpYmdzdGgyNjNwYXJzZSogdG8gbGliZ3N0dmlkZW9wYXJzZXJzYmFkKgoJICBEdWUgdG8gYSByZWdpc3RyeSBidWcgeW91IG1heSBuZWVkIHRvIG1hbnVhbGx5IHJlbW92ZSB5b3VyCgkgIHJlZ2lzdHJ5IGZpbGUgdG8gbWFrZSB0aGUgbmV3IHBsdWdpbiBhcHBlYXIgd2l0aCA+MCBmZWF0dXJlcy4KCjIwMTEtMDItMTggMTU6MTc6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogZml4IGxvZyBtZXNzYWdlIHByaW50ZiBmb3JtYXQKCjIwMTEtMDItMTggMTU6MDU6MzEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9iYXNlcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdHJpbSB0cmFpbGluZyB3aGl0ZXNwYWNlCgoyMDExLTAyLTE4IDE1OjA1OjAzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvYmFzZXBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHVzZSBkZWx0YS11bml0IGZsYWdzIGluc3RlYWQgb2Ygbm9uZQoKMjAxMS0wMi0xOCAxNTowMDowNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvaW5kZXhpbmcvaW5kZXhtcGVnLmM6CgkgIGluZGV4aW5nLWV4YW1wbGU6IHVzZSBwcm9wZXIgc2lnbmFsIG5hbWVzCgoyMDExLTAyLTE4IDA5OjQwOjAwICswMTAwICBPbGl2aWVyIEF1YmVydCA8b2xpdmllci5hdWJlcnRAbGlyaXMuY25ycy5mcj4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkgIHJzdmdvdmVybGF5OiBhbGxvdyBuZWdhdGl2ZSB2YWx1ZXMgZm9yIHgveS93aWR0aC9oZWlnaHQKCjIwMTEtMDItMTggMTI6Mzk6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSAgdmlkZW9wYXJzZXJzOiBmaXggYnVpbGQKCSAgQWRkIGluY2x1ZGVzIGFuZCBsaW5rIGFnYWluc3QgbmV3IGxpYmdzdGJhc2VwYXJzZSBpbiB0aGUKCSAgYnVpbGQgdHJlZS4KCjIwMTEtMDItMTcgMTQ6MzI6NDYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJICBtcGVndHNkZW11eDogRml4IGRpc3Rpbmcgb2YgaGVhZGVycwoKMjAxMS0wMi0xNyAxMzoyMjoyOCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvYmFzZXBhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IHVwZGF0ZSBkb2N1bWVudGF0aW9uIGZvciBBUEkgY2hhbmdlcwoKMjAxMC0xMC0xMyAxNjoxMjowMiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkgIHRlc3RzOiBmaXggYmFzZXBhcnNlIHRlc3QKCjIwMTAtMTAtMDkgMTU6MDg6MzkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9kaXJhY19wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2RpcmFjX3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9wbHVnaW4uYzoKCSAgdmlkZW9wYXJzZXJzOiBBZGQgZGlyYWMgcGFyc2VyCgoyMDExLTAyLTE3IDEzOjIwOjQ2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBkbyB0ZXN0IGJ1aWxkIHdpdGggLWZQSUMKCjIwMTAtMTAtMDkgMTU6MDY6MTIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXBhcnNlOgoJICBlbGVtZW50LW1ha2VyOiBBZGQgYmFzZXBhcnNlIHRlbXBsYXRlCgoyMDEwLTEwLTEzIDE1OjM5OjU1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZXBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZXBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZXBhcnNlL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBDcmVhdGUgYmFzZXBhcnNlIGxpYnJhcnkKCjIwMTEtMDItMTYgMjE6MTc6NTcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJICBkdmRzdWJkZWM6IG1ha2UgdXAgY2x1dCB2YWx1ZXMgaWYgdGhleSB3ZXJlbid0IHNldAoKMjAxMC0xMi0wNCAxOTo1NTozMiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGZpeCByZWxlYXNlX3BhZAoJICBSZW1vdmUgYm9ndXMgZnJlZWluZyBvZiBwYWQgZWxlbWVudF9wcml2YXRlIGRhdGEgdGhhdCB3ZQoJICBuZXZlciBzZXQgKGNvbGxlY3RwYWRzIHVzZXMgaXQsIHdoaWNoIGNhdXNlcyBjb25mdXNpb24gaGVyZSkuCgkgIEFsc28sIGNoZWNrIHRoYXQgb3VyIGNvbGxlY3RwYWRzIGluc3RhbmNlIGV4aXN0cyBiZWZvcmUgdXNpbmcKCSAgaXQuICBQYXJ0aWFsIGZpeCBmb3IgIzYzNjAxMS4KCjIwMTEtMDItMTcgMjE6MzM6NTYgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2RlbXV4OiB1c2UgR19HVUlOVDY0X0ZPUk1BVCBhcyBmb3JtYXQgc3BlY2lmaWVyIGZvciBndWludDY0CgkgIGZpeGVzIGNvbXBpbGF0aW9uIG9uIDMyYml0CgoyMDExLTAyLTE1IDE4OjEyOjAyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogRml4IG1lbW9yeSBsZWFrCgoyMDExLTAyLTEwIDEyOjM1OjQ3ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmM6CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJICBtcGVndHNkZW11eDogcmVsaWNlbnNlIGdzdG1wZWdkZWZzLmgsIGdzdG1wZWdkZXNjLmggYW5kIGdzdG1wZWdkZXNjLmMgdG8gTEdQTCBvbmx5CgkgIHdpdGggcGVybWlzc2lvbiBmcm9tIHRoZSBsaWNlbnNlIGhlYWRlcjoKCSAgIiIiCgkgIFRoaXMgbGlicmFyeSBpcyBsaWNlbnNlZCB1bmRlciAyIGRpZmZlcmVudCBsaWNlbnNlcyBhbmQgeW91CgkgIGNhbiBjaG9vc2UgdG8gdXNlIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiBlaXRoZXIgb25lIG9mIHRoZW0uIFRoZQoJICB0d28gbGljZW5zZXMgYXJlIHRoZSBNUEwgMS4xIGFuZCB0aGUgTEdQTC4KCSAgIiIiCgoyMDExLTAyLTE2IDE3OjU3OjQyICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNkZW11eC9UT0RPOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmM6CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0dHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIG1wZWd0c2RlbXV4OiBhZGQgTVBFRyBUUyBkZW11eGVyIHJld3JpdGUgZnJvbSBFZHdhcmQgSGVydmV5CgkgIHdpdGggY29udHJpYnV0aW9ucyBmcm9tIE1pcXVlbCBBbmdlbCBGYXJyZSBHdWl1IGFuZCBaYWhlZXIgQWJiYXMgTWVyYWxpCgoyMDExLTAyLTE3IDE0OjEyOjQzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdHVuZSBRVUVSWV9TRUVLSU5HIHJlc3BvbnNlCgkgIEV2ZW4gaWYgd2UgY3VycmVudGx5IGRvIG5vdCBoYXZlIGEgZHVyYXRpb24geWV0LCBhc3N1bWUgc2Vla2FibGUgaWYKCSAgaXQgbG9va3MgbGlrZSB3ZSdsbCBsaWtlbHkgYmUgYWJsZSB0byBkZXRlcm1pbmUgaXQgbGF0ZXIgb24KCSAgKHdoaWNoIGNvaW5jaWRlcyB3aXRoIG5lZWRlZCBpbmZvcm1hdGlvbiB0byBwZXJmb3JtIHNlZWtpbmcpLgoKMjAxMS0wMi0wNyAxNDo0Njo1NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHR1bmUgUVVFUllfU0VFS0lORyByZXNwb25zZQoJICBFdmVuIGlmIHdlIGN1cnJlbnRseSBkbyBub3QgaGF2ZSBhIGR1cmF0aW9uIHlldCwgYXNzdW1lIHNlZWthYmxlIGlmCgkgIGl0IGxvb2tzIGxpa2Ugd2UnbGwgbGlrZWx5IGJlIGFibGUgdG8gZGV0ZXJtaW5lIGl0IGxhdGVyIG9uCgkgICh3aGljaCBjb2luY2lkZXMgd2l0aCBuZWVkZWQgaW5mb3JtYXRpb24gdG8gcGVyZm9ybSBzZWVraW5nKS4KCSAgRml4ZXMgIzY0MTA0Ny4KCjIwMTEtMDItMTcgMTI6Mjg6NTYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiByZW1vdmUgZXh0cmFuZW91cyBidWZmZXIgdW5yZWYKCjIwMTEtMDItMTYgMTU6Mjk6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOgoJICBpY2xlczogQ29tcGxldGVseSByZW1vdmUgZXF1YWxpemVyLXRlc3QgZnJvbSAtYmFkLCBpdCdzIGluIC1nb29kIG5vdwoKMjAxMS0wMi0xNiAxNToyMzo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOgoJICBlcXVhbGl6ZXItdGVzdDogSW5pdGlhbGl6ZSBkZWJ1ZyBjYXRlZ29yeSBhZnRlciBnc3RfaW5pdCgpIHRvIGZpeCBzZWdmYXVsdAoKMjAxMS0wMi0xNCAxMjo1Mzo0OSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmOTRkNzM5IHRvIDFkZTdmNmEKCjIwMTEtMDItMTQgMTI6MTQ6MTIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgZG9jczogcmVtb3ZlIGR1cGxpY2F0ZWQgcnVsZSBmcm9tIE1ha2VmaWxlLmFtCgkgIFRoaXMgY2F1c2VzIGEgbWFrZSB3YXJuaW5nIGFuZCBtaWdodCBldmVuIGNhdXNlIGRpc3QtZmFpbHVyZS4gT3RoZXIgbW9kdWxlcwoJICBkb24ndCBuZWVkIHRvIG92ZXJyaWRlIHRoZSB0YXJnZXQgZWl0aGVyIGFuZCBpZiB3ZSBjYW4gZmkgaXQgaW4KCSAgY29tbW9uL2d0ay1kb2MtcGx1Z2lucy5tYWsuCgoyMDExLTAyLTE0IDExOjQ4OjM0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGFkZCByc3ZnIHBsdWdpbiB0byB0aGUgZG9jcwoKMjAxMS0wMi0xNCAxMTo0Mjo1MiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJICByc3ZnZGVjOiBhZGQgYmFzaWMgZG9jLWJsb2IKCjIwMTEtMDItMTEgMTc6NTk6MzEgKzAxMDAgIE9saXZpZXIgQXViZXJ0IDxvbGl2aWVyLmF1YmVydEBsaXJpcy5jbnJzLmZyPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuaDoKCSAgcnN2Z292ZXJsYXk6IGltcGxlbWVudCB4L3kvd2lkdGgvaGVpZ2h0IChhYnNvbHV0ZSBhbmQgcmVsYXRpdmUpIHBvc2l0aW9uaW5nIGFuZCBkaW1lbnNpb25pbmcKCSAgU2lnbmVkLW9mZi1ieTogT2xpdmllciBBdWJlcnQgPG9saXZpZXIuYXViZXJ0QGxpcmlzLmNucnMuZnI+CgoyMDExLTAyLTEwIDE2OjAwOjAzICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSAgY2FtZXJhYmluOiBhcHBsaWNhdGlvbiBlbGVtZW50IG1lbW9yeSBsZWFrIGZpeGVzCgkgIElmIHZpZGVvYmluL2ltYWdlYmluIHdhcyBuZXZlciBzZXQgdG8gUkVBRFkgc3RhdGUgdGhlIG93bmVyc2hpcAoJICBvZiBlbGVtZW50cyBjcmVhdGVkIGFuZCBzZXQgYnkgYXBwbGljYXRpb24gd2VyZSBuZXZlciB0YWtlbiBieQoJICBiaW4gYW5kIHRoZXJlZm9yZSBnc3Rfb2JqZWN0X3NpbmsgaXMgY2FsbGVkIGZvciB0aGVzZSBlbGVtZW50cwoJICBiZWZvcmUgdW5yZWZmaW5nICh0aGV5IG1heSBzdGlsbCBiZSBpbiBmbG9hdGluZyBzdGF0ZSBhbmQgbm90CgkgIHVucmVmZmVkIHByb3Blcmx5IHdpdGhvdXQgc2lua2luZyBmaXJzdCkKCjIwMTEtMDItMTAgMTA6MzU6MTggKzA4MDAgIEh1IEdhbmcgPGdhbmcuYS5odUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBwaG90b2dyYXBoeSBpbnRlcmZhY2U6IHVwZGF0ZSB0aGUgbm9pc2VfcmVkdWN0aW9uIHR5cGUgZnJvbSBndWludCB0byBHc3RQaG90b2dyYXBoeU5vaXNlUmVkdWN0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTY4MTQKCjIwMTEtMDItMDggMjM6Mzk6MjQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBVcGRhdGUgbWluL21heCBiaXRyYXRlIGJlZm9yZSBmaXJzdCBwb3N0aW5nIHRoZW0KCSAgVGhpcyBhdm9pZHMgcG9zdGluZyBhbiBpbml0aWFsIG1pbi1iaXRyYXRlIG9mIEdfVUlOVE1BWCBhbmQgbWF4LWJpdHJhdGUKCSAgb2YgMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTg1NwoKMjAxMS0wMi0wOCAyMzo1MDoxMyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSAgbXBlZ2F1ZGlvcGFyc2U6IFBvc3QgQ0JSIGJpdHJhdGUgYXMgbm9taW5hbCBiaXRyYXRlCgkgIEV2ZW4gaWYgVkJSIGhlYWRlcnMgYXJlIG1pc3NpbmcsIHdlIGNhbid0IGd1YXJhbnRlZSB0aGF0IGEgc3RyZWFtIGlzIGluCgkgIGZhY3QgYSBDQlIgc3RyZWFtLCBzbyBpdCdzIHNhZmVyIHRvIGxldCBiYXNlcGFyc2UgY2FsY3VsYXRlIHRoZSBhdmVyYWdlCgkgIGJpdHJhdGUgcmF0aGVyIHRoYW4gYXNzdW1lIGEgQ0JSIHN0cmVhbS4gSG93ZXZlciwgaW4gb3JkZXIgdG8gbWFrZQoJICAvc29tZS8gbWV0YWRhdGEgYXZhaWxhYmxlIGJlZm9yZSB0aGUgcmVxdWlzaXRlIG51bWJlciBvZiBmcmFtZXMgaGF2ZQoJICBiZWVuIHBhcnNlZCwgdGhpcyBwb3N0cyB0aGUgYml0cmF0ZSBmcm9tIHRoZSBub24tVkJSIGhlYWRlcnMgYXMgdGhlCgkgIG5vbWluYWwgYml0cmF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTg1OAoKMjAxMS0wMi0wNCAwMTowMDo1NSAtMDIwMCAgTHVjaWFuYSBGdWppaSBQb250ZWxsbyA8bHVjaWFuYUBmdWppaS5ldGkuYnI+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEFsd2F5cyB0YWtlIHBob3RvIHdoZW4gcHJldmlldy1jYXBzIGlzIHNldAoJICBXaGVuIGZpbGVuYW1lIGlzIG5vdCBzZXQsIGJ1dCBwcmV2aWV3LWNhcHMgaXMgc2V0LCB0YWtlIHRoZSBwaG90byBhbmQKCSAgc2VuZCBpdHMgcHJldmlldy4KCjIwMTEtMDEtMjYgMTE6NDk6NDggLTAyMDAgIEx1Y2lhbmEgRnVqaWkgUG9udGVsbG8gPGx1Y2lhbmFAZnVqaWkuZXRpLmJyPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGNhbWVyYWJpbjogRXZlbnRzIHdpdGggc2VsZWN0LWFsbCBpbiBpbnB1dC1zZWxlY3RvcgoJICBXaGVuIHNlbGVjdC1hbGwgd2FzIHNldCwgaW5wdXQtc2VsZWN0b3Igd2Fzbid0IGhhbmRsaW5nIHVwc3RyZWFtIGV2ZW50cy4KCSAgTm93IGlucHV0LXNlbGVjdG9yIGZvcndhcmRzIHRoZSBldmVudCB0byBhbGwgb2YgaXRzIHNpbmsgcGFkcy4gVGhpcwoJICBjaGFuZ2VzIHRoZSBpbnB1dC1zZWxlY3RvciBpbnRlcm5hbCB0byBjYW1lcmFiaW4gdW50aWwgaXQgaXMgcmVwbGFjZWQKCSAgd2l0aCBhIGJldHRlciBzb2x1dGlvbi4KCjIwMTEtMDItMDcgMjM6MTc6NTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgZGlyZWN0ZHJhd3Npbms6IGF2b2lkIGFzcGVjdC1yYXRpbyBib3JkZXJzIG92ZXJseWluZyBvdGhlciB3aW5kb3dzCgkgIEZpeGVzICM2MzIwNTYuCgoyMDExLTAyLTA3IDIyOjQ3OjM0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIGRpcmVjdGRyYXdzaW5rOiBhdm9pZCByZW5kZXJpbmcgdG8gaW52YWxpZCBhcmVhCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCSAgRml4ZXMgIzU5NDI4MC4KCjIwMTEtMDItMDggMTE6MjQ6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBEbyBub3QgcmUtc2V0IHRoZSBjbG9jayBpZiBpdCBpcyBudWxsCgkgIEF2b2lkcyBub3QgbmVlZGVkIHdvcmsgYW5kIGRvZXNuJ3QgYXNzZXJ0IHdoZW4gdHJ5aW5nIHRvCgkgIHVucmVmIHRoZSBudWxsIHJlZmVyZW5jZQoKMjAxMS0wMi0wNyAwOTo1MDoyMiArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluOiBmaXggLS1uby14d2luZG93IG9wdGlvbiBoYW5kbGluZyBpbiBnc3QtY2FtZXJhYmluLXRlc3QKCSAgLS1uby13aW5kb3cgZmxhZyBpcyBmYWxzZSBieSBkZWZhdWx0IGFuZCBzZWxlY3Rpb24gYmFzZWQgb24gdGhlIG9wdGlvbiB3aGV0aGVyCgkgIHRvIGNyZWF0ZSBYV2luZG93IGlzIGRvbmUgYmVmb3JlIG9wdGlvbnMgYXJlIHBhcnNlZC4gVGhlcmVmb3JlIFhXaW5kb3cgaXMgbmV2ZXIKCSAgY3JlYXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTcxMgoKMjAxMC0wOS0wNiAxNDoxMDoxMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkgIGFtcnBhcnNlOiBhIHZhbGlkIGFtci13YiBmcmFtZSBzaG91bGQgbm90IGhhdmUgcmVzZXJ2ZWQgZnJhbWUgdHlwZSBpbmRleAoJICBTZWUgIzYzOTcxNS4KCjIwMTEtMDItMDcgMTQ6MDU6MzQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IHNldCBHU1RfTElCX0xERkxBR1MKCSAgQWxpZ25zIEdTVF9MSUJfTERGTEFHUyB3aXRoIGUuZy4gLWJhc2UgdG8gYXJyYW5nZSBmb3IgcHJvcGVyIGV4cG9ydHMgaW4gbGlicy4KCjIwMTEtMDEtMTIgMTc6MTM6MDcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJICBjYW1lcmFiaW4tdGVzdHM6IGZpeCBsb29rdXAgb2YgVUkgZmlsZXMKCSAgVGhlc2UgYXJlIHVuaW5zdGFsbGVkIGV4YW1wbGVzLiBQYXNzICRzcmNkaXIgdG8gY3BwIHRvIGJ1aWxkIHRoZSBjb3JyZWN0CgkgIGxvY2F0aW9uIGZvciB0aGUgVUkgZmlsZS4KCjIwMTEtMDItMDQgMDk6MDg6MjYgKzAxMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogQWRkIGRlc2NyaXB0aW9uIGZvciBiaXRyYXRlIHVuaXRzLgoKMjAxMS0wMi0wMyAxNToyMjo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSAgaW1hZ2VjYXB0dXJlYmluOiBGaXggcHJvcGVydHkgc2V0dGluZwoJICBTZXQgdGhlIHByb3BlcnR5IG9uIHRoZSBjaGlsZCBhbmQgbm90IG9uIGl0c2VsZiBjYXVzaW5nIGluZmluaXRlCgkgIGxvb3BpbmcKCjIwMTEtMDItMDEgMTE6MjA6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogSW1wcm92ZSBwcmV2aWV3IGNoZWNraW5nCgoyMDExLTAyLTAxIDExOjE5OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBGaXggcHJldmlldyBtZXNzYWdlcwoJICBJbWFnZSBwcmV2aWV3cyB3aGVyZSBiZWluZyBwb3N0ZWQgaW4gc3luYyB3aXRoIHRoZSBidWZmZXJzCgkgIHRpbWVzdGFtcHMsIHRoaXMgbWFrZXMgbm8gc2Vuc2UgYXMgcHJldmlld3Mgc2hvdWxkIGJlIHBvc3RlZCBBU0FQLgoJICBBbHNvIGFkZHMgc29tZSBkZWJ1Z2dpbmcgbWVzc2FnZXMuCgoyMDExLTAyLTAxIDExOjE5OjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBIYW5kbGUgc3JjIHN0YXRlIGNoYW5nZSB0byBhdm9pZCBsb3NpbmcgdGltZXN0YW1wcwoJICBDYW1lcmFiaW4yIHVzZXMgc3RhdGUgY2hhbmdlcyB0byBmb3JjZSB0aGUgc291cmNlIHRvIHJlbmVnb3RpYXRlIGl0cwoJICBjYXBzIHRvIHRoZSBjYXB0dXJlIGZvcm1hdHMuIFRoZSBzdGF0ZSBjaGFuZ2VzIG1ha2VzIHRoZSBzb3VyY2UgbG9zZQoJICBpdHMgY2xvY2sgYW5kIGJhc2VfdGltZSwgY2F1c2luZyBpdCB0byBzdG9wIHRpbWVzdGFtcGluZyB0aGUgYnVmZmVycy4KCSAgV2Ugc3RpbGwgbmVlZCBhIHByb3BlciB3YXkgdG8gbWFrZSBzb3VyY2VzIHJlbmVnb3RpYXRlIGl0cyBjYXBzLCBzbyB0aGlzCgkgIHBhdGNoIGlzIGEgaGFjayB0byBtYWtlIHRoZSBzb3VyY2UgY29udGludWUgdGltZXN0YW1waW5nIGJ1ZmZlcnMgZXZlbgoJICBhZnRlciBjaGFuZ2luZyBzdGF0ZS4gVGhlIHBhdGNoIHdvcmtzIGJ5IGdldHRpbmcgdGhlIGNsb2NrIGFuZCBiYXNlCgkgIHRpbWUgYmVmb3JlIGRvaW5nIHRoZSBzdGF0ZSBjaGFuZ2UgdG8gTlVMTCBhbmQgc2V0dGluZyB0aGVtIGJhY2sKCSAgYWZ0ZXIgcHV0dGluZyBpdCB0byBQTEFZSU5HIGFnYWluLiBJdCBhbHNvIGNhcmVzIHRvIGRyb3AgdGhlIGZpcnN0CgkgIG5ldyBzZWdtZW50IGFmdGVyIHRoaXMgc3RhdGUgY2hhbmdlLgoKMjAxMS0wMS0yNyAxNTozNToxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBwcmV2aWV3IGZpbHRlciB0ZXN0cwoJICBBZGRzIHRlc3RzIHRvIHRoZSBwcmV2aWV3LWZpbHRlciBwcm9wZXJ0eSBvZiBjYW1lcmFiaW4yCgoyMDExLTAxLTI3IDE0OjM5OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIGNhbWVyYWJpbjI6IEFkZCBwcmV2aWV3LWZpbHRlciBwcm9wZXJ0eQoJICBBZGRzIGEgcHJvcGVydHkgdG8gc2VsZWN0IGEgY3VzdG9tIGVsZW1lbnQgZm9yIHByZXZpZXcgcGlwZWxpbmUKCSAgYnVmZmVycyBwcm9jZXNzaW5nCgoyMDExLTAxLTI3IDEwOjE5OjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IEFkZCB0ZXN0cyBmb3IgY3VzdG9tIGZpbHRlcnMKCSAgQWRkcyB0ZXN0cyB0byBjaGVjayB0aGF0IGN1c3RvbSBmaWx0ZXJzIGVsZW1lbnRzIHJlY2VpdmUgYnVmZmVycwoKMjAxMS0wMS0yNiAxNToyNzoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogQWRkIGN1c3RvbSBmaWx0ZXIgcHJvcGVydGllcwoJICBBZGRzIGN1c3RvbSBmaWx0ZXIgcHJvcGVydGllcyBmb3IgY2FtZXJhYmluMi4gQ3VzdG9tIGZpbHRlcnMKCSAgY2FuIGJlIGFkZGVkIHRvIHZpZGVvL2ltYWdlL3ByZXZpZXcgYnJhbmNoZXMuCgoyMDExLTAyLTAzIDE2OjI0OjI0ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5jOgoJICBjYW1lcmFiaW46IEluaXRpYWxpemUgdmFyaWFibGVzCgkgIE1ha2VzIGNvbXBpbGVycyBoYXBweQoKMjAxMS0wMi0wMiAxODo0MTozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGZpeCB1cCBlbnVtIG5pY2sgbmFtZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5MTY1MQoKMjAxMS0wMS0zMSAxNzoyNDoyNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BfY29tbW9uLmg6CgkgIGRjY3A6IHVzZSBzb2NrbGVuX3Qgd2hlcmUgYXBwcm9wcmlhdGUgcmF0aGVyIHRoYW4gc3BlY2lmaWMgdHlwZQoJICBJbiBwYXJ0aWN1bGFyLCBmaXhlcyBDeWd3aW4gYnVpbGQgd2hlcmUgc29ja2xlbl90IGlzIGRlZmluZWQgYXMgaW50CgkgIGluIGxpbmUgd2l0aCBuYXRpdmUgd2luMzIgYXBpIGRlZmluaXRpb24uCgoyMDExLTAyLTAxIDIwOjAxOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHB2cDgvTWFrZWZpbGUuYW06CgkgIHJ0cHZwODogYWxzbyBsaW5rIGFnYWluc3QgbGliZ3N0YmFzZS0wLjEwIGZvciBhZGFwdGVyIGFuZCBiaXQgcmVhZGVyIEFQSQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxMTc4CgoyMDExLTAyLTAxIDE0OjQwOjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzbXV4OiBtYXAgbmV3IEdTVF9UQUdfRU5DT0RFRF9CWSB0byBJRDN2MiBURU5DIGZyYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjcyNjgKCjIwMTEtMDEtMzEgMTc6NDU6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSAgdmlkZW9wYXJzZXJzOiBkaXN0IGgyNjRwYXJzZS5oLCBmaXhpbmcgbWFrZSBkaXN0Y2hlY2sKCSAgU3BvdHRlZCBieSBOYXRoYW5hZWwgRC4gTm9ibGV0CgoyMDExLTAxLTE0IDEwOjE5OjI4ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3Lmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkgIGNhbWVyYWJpbjogb3B0aW1pemUgc2V0dGluZyBuZXcgY2FwcyBmb3IgcHJldmlldyBpbWFnZSBwaXBlbGluZQoJICBBdm9pZCByZS1jcmVhdGluZyBhbmQgbGlua2luZyBvZiBwcmV2aWV3IGltYWdlIHBpcGVsaW5lIHdoZW4KCSAgc2V0dGluZyBuZXcgcHJldmlldyBpbWFnZSBjYXBzLiBCYWNrcG9ydGVkIGZyb20gY2FtZXJhYmluMi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTUwMgoKMjAxMS0wMS0zMCAxNzowODoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwdnA4L01ha2VmaWxlLmFtOgoJICBydHB2cDg6IGZpeCBMSUJTIGFuZCBDRkxBR1Mgb3JkZXIgaW4gTWFrZWZpbGUuYW0KCjIwMTEtMDEtMjMgMTc6MDI6MzggKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4ZGVwYXkuYzoKCSAgcnRwdnA4ZGVwYXk6IEFjY2VwdCBwYWNrZXRzIHdpdGggb25seSBvbmUgYnl0ZSBvZiBkYXRhCgkgIFdoZW4gZnJhZ21lbnRpbmcgcGFydGlvbnMgaXQgY2FuIGhhcHBlbiB0aGF0IGFuIFJUUCBwYWNrZXQgb25seSBjYXJpZXMgMQoJICBieXRlIG9mIFJUUCBkYXRhLgoKMjAxMS0wMS0yMyAxNjo0MjoxNyArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuaDoKCSAgcnRwdnA4cGF5OiBUcmVhdCB0aGUgZnJhbWUgaGVhZGVyIGp1c3QgbGlrZSBhbnkgb3RoZXIgcGFydGl0aW9uCgkgIFdoZW4gc2V0dGluZyB1cCB0aGUgaW5pdGlhbCBtYXBwaW5nIGp1c3QgYWN0IGFzIGlmIHRoZSBnbG9iYWwgZnJhbWUKCSAgaW5mb3JtYXRpb24gaXMgYW5vdGhlciBwYXJ0aXRpb24uIFRoaXMgc2F2ZXMgc3BlY2lhbC1jYXNpbmcgaXQgbGF0ZXIgaW4KCSAgdGhlIGFjdHVhbCBwYWNrZXRpemluZyBjb2RlLgoKMjAxMC0wNS0xNiAxNzoyMzoxNyArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcnRwdnA4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOC5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4ZGVwYXkuaDoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuaDoKCSAgcnRwdnA4OiBBZGQgc2ltcGxlIHBheWxvYWRlcnMgYW5kIGRlcGF5bG9hZGVycyBmb3IgVlA4CgkgIE1pbmltYWwgaW1wbGVtZW50YXRpb24gb2YgaHR0cDovL3d3dy53ZWJtcHJvamVjdC5vcmcvY29kZS9zcGVjcy9ydHAvLAoJICB2ZXJzaW9uIDAuMy4yCgoyMDExLTAxLTI4IDEyOjM4OjE5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2NHBhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvcGx1Z2luLmM6CgkgIHZpZGVvcGFyc2VyczogYWRkIGgyNjRwYXJzZQoJICBGdW5jdGlvbmFsbHkgZXF1aXZhbGVudCB0byAobGVnYWN5KWgyNjRwYXJzZSBhbmQgcmUtdXNlcyB0aGUgbGF0dGVyJ3MgbG93CgkgIGxldmVsIE5BTCBwYXJzaW5nLCBidXQgb3RoZXJ3aXNlIGJhc2VkIG9uIEdzdEJhc2VQYXJzZSwgYW5kIHJlcGxhY2luZwoJICBzb21lIHByb3BlcnR5IGNvbmZpZ3VyYXRpb24gd2l0aCBjYXBzIG5lZ290aWF0aW9uLgoKMjAxMS0wMS0yNyAxODoyMDoxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHJlbmFtZSB0byBsZWdhY3loMjY0cGFyc2UKCjIwMTEtMDEtMjcgMTg6MTY6MTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaDI2M3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvaDI2M3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvaDI2M3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvaDI2M3BhcnNlL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvaDI2M3BhcnNlL2dzdGgyNjNwYXJzZS5oOgoJKiBnc3QvaDI2M3BhcnNlL2gyNjNwYXJzZS5jOgoJKiBnc3QvaDI2M3BhcnNlL2gyNjNwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL3BsdWdpbi5jOgoJICBoMjYzcGFyc2U6IG1vdmUgdG8gdmlkZW9wYXJzZXJzIGFuZCBzZXBhcmF0ZSBwbHVnaW4gcmVnaXN0cmF0aW9uCgoyMDExLTAxLTI3IDE4OjAzOjUwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjYzcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9oMjYzcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9oMjYzcGFyc2UvZ3N0aDI2M3BhcnNlLmM6CgkgIGgyNjNwYXJzZTogdXBkYXRlIHRvIGxhdGVzdCBiYXNlcGFyc2UKCjIwMTEtMDEtMDYgMTI6Mjk6MzQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjNwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2gyNjNwYXJzZS9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L2gyNjNwYXJzZS9nc3RoMjYzcGFyc2UuaDoKCSogZ3N0L2gyNjNwYXJzZS9oMjYzcGFyc2UuYzoKCSogZ3N0L2gyNjNwYXJzZS9oMjYzcGFyc2UuaDoKCSAgaDI2M3BhcnNlOiBzaHVmZmxlIGNvZGUgdG8gdW50YW5nbGUgaDI2M3BhcnNlIGFuZCBwYXJhbWV0ZXIgcGFyc2luZwoKMjAxMS0wMS0wNiAxMjozNDoxMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2M3BhcnNlL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvaDI2M3BhcnNlL2dzdGgyNjNwYXJzZS5oOgoJKiBnc3QvaDI2M3BhcnNlL2gyNjNwYXJzZS5jOgoJICBoMjYzcGFyc2U6IHByb3ZpZGUgZm9yIHByb3BlciBkZWJ1ZyBjYXRlZ29yeSwgbWluIGZyYW1lIHNpemUgYW5kIGNvZGUgc3R5bGUKCjIwMTAtMTItMTAgMTY6NDA6NDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjNwYXJzZS9nc3RoMjYzcGFyc2UuYzoKCSAgaDI2M3BhcnNlOiByZW1vdmUgcmVkdW5kYW50IGdldF9jYXBzCgkgIC4uIGFzIHNyYyBwYWQgYWxyZWFkeSBzZXQgdG8gdXNlIGZpeGVkX2NhcHMKCjIwMTAtMTItMTAgMTY6MjY6MjcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjNwYXJzZS9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L2gyNjNwYXJzZS9nc3RoMjYzcGFyc2UuaDoKCSAgaDI2M3BhcnNlOiBzaW1wbGlmeSB2YWxpZF9mcmFtZSBwYXJzaW5nCgkgIC4uLiBjb25zaWRlcmluZyB0aGF0IGJhc2VwYXJzZSB0YWtlcyBjYXJlIG9mIHNraXBwaW5nIGV0YwoKMjAxMC0wNS0xNCAwMjowODowMyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9oMjYzcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9oMjYzcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9oMjYzcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9oMjYzcGFyc2UvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC9oMjYzcGFyc2UvZ3N0aDI2M3BhcnNlLmg6CgkqIGdzdC9oMjYzcGFyc2UvaDI2M3BhcnNlLmM6CgkgIGgyNjNwYXJzZTogQWRkIGFuIGgyNjNwYXJzZSBlbGVtZW50CgkgIFRoaXMgYWRkcyBhbiBoMjYzcGFyc2UgZWxlbWVudCBmb3IgcGFyc2luZyBILjI2MyBzdHJlYW1zLCBicmVha2luZyB0aGVtCgkgIHVwIGludG8gZnJhbWUtc2l6ZWQgYnVmZmVycywgYW5kIGV4cG9ydGluZyBtZXRhZGF0YSBzdWNoIGFzIHByb2ZpbGUgYW5kCgkgIGxldmVsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIyMjc2CgoyMDExLTAxLTI3IDE2OjUyOjM0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGltcHJvdmUgaGFuZGxpbmcgb2YgZGVwZW5kZW50IHN1YnN0cmVhbSBmcmFtZXMKCSAgSW4gcGFydGljdWxhciwgdGltZXN0YW1wcyBvZiB0aGVzZSBzaG91bGQgdHJhY2sgbWFpbi1zdHJlYW0gdGltZXN0YW1wcy4KCjIwMTEtMDEtMjEgMTQ6NTM6MzkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB0dW5lIGRlZmF1bHQgZHVyYXRpb24gZXN0aW1hdGUgdXBkYXRlIGludGVydmFsCgkgIFJhdGhlciB0aGFuIGEgZml4ZWQgZGVmYXVsdCBmcmFtZSBjb3VudCwgZXN0aW1hdGUgZnJhbWUgY291bnQgdG8gYWltIGZvcgoJICBhbiBpbnRlcnZhbCBkdXJhdGlvbiBkZXBlbmRpbmcgb24gZnBzIGlmIGF2YWlsYWJsZSwgb3RoZXJ3aXNlIHVzZSBvbGQKCSAgZml4ZWQgZGVmYXVsdC4KCjIwMTEtMDEtMTQgMTU6MTY6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZXZlcnNlIHBsYXliYWNrOyBtaW5kIGtleWZyYW1lcyBmb3IgZnJhZ21lbnQgYm91bmRhcnkKCjIwMTEtMDEtMTMgMTU6MjY6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJICBhbXJwYXJzZTogcHJvcGVybHkgY2hlY2sgZm9yIHN1ZmZpY2llbnQgYXZhaWxhYmxlIGRhdGEgcHJpb3IgdG8gYWNjZXNzCgoyMDExLTAxLTEyIDE0OjQwOjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZW5zdXJlIG5vbi1lbXB0eSBjYW5kaWRhdGUgZnJhbWVzCgoyMDExLTAxLTExIDE1OjI0OjIzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogY2xhcmlmeSBzb21lIGRlYnVnIHN0YXRlbWVudHMKCjIwMTEtMDEtMTEgMTU6MjQ6MDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcm9wZXJseSB0cmFjayB1cHN0cmVhbSB0aW1lc3RhbXBzCgkgIC4uLiByYXRoZXIgdGhhbiB3aXRoIGEgZGVsYXkuCgoyMDExLTAxLTExIDE1OjIzOjI5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogbmVlZCBwcm9wZXIgZnJhbWUgZHVyYXRpb24gdG8gb2J0YWluIHNlbnNpYmxlIGZyYW1lIGJpdHJhdGUKCjIwMTEtMDEtMTEgMTU6MjI6NTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcm9wZXIgaW5pdGlhbCB2YWx1ZXMgZm9yIGluZGV4IHRyYWNraW5nIHZhcmlhYmxlcwoKMjAxMS0wMS0xMSAxMjowNToxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGFycmFuZ2UgZm9yIGNvbnNpc3RlbnQgZXZlbnQgaGFuZGxpbmcKCjIwMTEtMDEtMTAgMTY6NTk6NTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBoZWFkZXIgc3R5bGUgY2xlYW5pbmcKCjIwMTEtMDEtMTAgMTc6MDc6MzggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcm92aWRlIHNvbWUgbW9yZSBpbml0aWFsIGZyYW1lIG1ldGFkYXRhIGluIHBhcnNlX2ZyYW1lCgkgIC4uLiBhbmQgZG9jdW1lbnQgYWNjb3JkaW5nbHkuCgoyMDExLTAxLTEwIDE2OjU2OjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZWZhY3RvciBwYXNzdGhyb3VnaCBpbnRvIGZvcm1hdCBmbGFncwoJICBBbHNvIGFkZCBhIGZvcm1hdCBmbGFnIHRvIHNpZ25hbCBiYXNlcGFyc2UgdGhhdCBzdWJjbGFzcy9mb3JtYXQgY2FuIHByb3ZpZGUKCSAgKHBhcnNlZCkgdGltZXN0YW1wIHJhdGhlciB0aGFuIGFuIGVzdGltYXRlZCBvbmUuICBJbiBwYXJ0aWN1bGFyLCBzdWNoICJzdHJvbmciCgkgIHRpbWVzdGFtcCB0aGVuIGFsbG93cyB0byBlLmcuIGRldGVybWluZSBkdXJhdGlvbi4KCjIwMTEtMDEtMTAgMTU6MzQ6NDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIGJhc2VwYXJzZTogaW50cm9kdWNlIGEgYmFzZXBhcnNlIGZyYW1lIHRvIHNlcnZlIGFzIGNvbnRleHQKCSAgLi4uIGFuZCBhZGp1c3Qgc3ViY2xhc3MgcGFyc2VycyBhY2NvcmRpbmdseQoKMjAxMS0wMS0wNyAxNjozOTo1MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IHJlc3RyaWN0IGR1cmF0aW9uIHNjYW5uaW5nIHRvIHB1bGwgbW9kZSBhbmQgYXZvaWQgZXh0cmEgc2V0X2NhcHMgY2FsbAoKMjAxMS0wMS0wNyAxNTo1ODo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IHVwZGF0ZSBzb21lIGRvY3VtZW50YXRpb24KCSAgQWxzbyBhZGQgc29tZSBtb3JlIGRlYnVnLgoKMjAxMS0wMS0wNiAxMTo0MTo0NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGFsbG93IGluY3JlYXNpbmcgbWluX3NpemUgZm9yIGN1cnJlbnQgZnJhbWUgcGFyc2luZyBvbmx5CgkgIEFsc28gY2hlY2sgdGhhdCBzdWJjbGFzcyBhY3R1YWxseSBlaXRoZXIgZGlyZWN0cyB0byBza2lwIGJ5dGVzIG9yCgkgIGluY3JlYXNlcyBleHBlY3RlZCBmcmFtZSBzaXplIHRvIGF2b2lkIGdvaW5nIG5vd2hlcmUgaW4gYm9ndXMKCSAgaW5kZWZpbml0ZSBsb29waW5nLgoKMjAxMS0wMS0xNCAxNToyNjozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYWVzcGFyc2U6IGZpeCByZWZhY3RvciByZWdyZXNzaW9uIGluIGxvb3AgYmFzZWQgcGFyc2luZwoKMjAxMS0wMS0wNiAxMToxNjo1NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHBhc3MgYWxsIGF2YWlsYWJsZSBkYXRhIHRvIHN1YmNsYXNzIHJhdGhlciB0aGFuIG1pbmltdW0KCSAgQWxzbyByZWR1Y2Ugc29tZSBhZGFwdGVyIGNhbGxzIGFuZCBhZGQgYSBmZXcgZGVidWcgc3RhdGVtZW50cy4KCjIwMTAtMTItMTAgMTU6NTk6NDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggcmV2ZXJzZSBwbGF5YmFjayBoYW5kbGluZwoKMjAxMC0xMi0xMCAxNDo1NjoxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IG1pbm9yIHR5cG8gYW5kIGRlYnVnIHN0YXRlbWVudCBjbGVhbnVwCgoyMDEwLTEyLTEwIDE0OjQwOjA1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogcmVkdWNlIGxvY2tpbmcKCSAgLi4uIHdoaWNoIGlzIGVpdGhlciBhbHJlYWR5IG11dGUgYW5kL29yIGltcGxpY2l0bHkgaGFuZGxlZCBieSBTVFJFQU1fTE9DSy4KCjIwMTEtMDEtMjcgMTc6MzI6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJICB2ZHBhdTogSW5pdGlhbGl6ZSBzb21lIHZhcmlhYmxlcyB0byBtYWtlIGdjYyA0LjYgaGFwcHkKCjIwMTEtMDEtMjcgMTc6Mjk6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogSW5pdGlhbGl6ZSBzb21lIHZhcmlhYmxlcyB0byBtYWtlIGdjYyA0LjYgaGFwcHkKCjIwMTEtMDEtMjYgMTg6NDU6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6CgkqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOgoJICBqcDJrZGVjLCBqcDJrZW5jOiBhZGQgc3VwcG9ydCB2MzA4ICg0OjQ6NCBZVVYpCgkgIEJlY2F1c2Ugd2UgY2FuLgoKMjAxMS0wMS0yNiAxNDoyNzoyMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBVc2UgdGhlIGNvcnJlY3QgZm9yIGxpbWl0CgkgIFRoZXJlIGFyZSAzIHRhZ2xpc3RzIHRvIGJlIHRlc3RlZCwgbm90IDIKCjIwMTEtMDEtMjYgMTE6NDA6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGNhbWVyYWJpbjI6IERvIG5vdCBmb3JnZXQgdG8gdW5yZWYgc29tZSBzdHVmZgoJICBDbGVhbnVwIHByb3Blcmx5IGJ5IHVucmVmaW5nIHRoZSBlbmNvZGluZyBwcm9maWxlIGFuZCBwcmV2aWV3IGNhcHMKCjIwMTEtMDEtMjYgMTA6NTQ6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGNhbWVyYWJpbjI6IEFkZCBuYW1lcyB0byBzb21lIGVsZW1lbnRzCgkgIEFkZHMgbmFtZXMgdG8gaW5zdGFuY2VzIG9mIHNvbWUgZWxlbWVudHMgdG8gbWFrZSBkZWJ1Z2dpbmcgZWFzaWVyCgoyMDExLTAxLTI1IDE4OjEwOjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogSGFuZGxlIHZpZGVvc2luayBzdGF0ZXMgbW9yZSBjYXJlZnVsbHkKCSAgV2hlbiBnb2luZyB0byByZWFkeSwgY2FtZXJhYmluMiBjb3VsZCBjcmVhdGUgYW4gZW1wdHkgZmlsZQoJICBpZiB0aGUgdmlkZW9zaW5rIHdhcyBwdXQgdG8gcmVhZHkuIFRoaXMgcGF0Y2ggb25seSBwdXRzIHZpZGVvc2luawoJICB0byByZWFkeSBvbiB0aGUgUEFVU0VEX1RPX1JFQURZIHN0YXRlIGNoYW5nZSBpZiBpdCBpcyBvbiBQQVVTRUQKCSAgb3IgUExBWUlORy4KCjIwMTEtMDEtMTQgMTQ6MDg6MzggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhdm9pZCBsb29wIGluIGZyYW1lIGxvY2F0aW5nIGludGVycG9sYXRpb24KCjIwMTEtMDEtMjQgMjM6MzI6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSAgcnN2Z292ZXJsYXk6IERvIG5vdCBzZWdmYXVsdCBvbiB1bmV4aXN0ZW50IGZpbGVzCgkgIFdoZW4gcGFzc2luZyBhbiB1bmV4aXN0ZW50IGZpbGUgdG8gcnN2Z292ZXJsYXkgaXQgd291bGQKCSAgY3Jhc2ggYmVjYXVzZSB0aGUgc3ZnIGxvYWRpbmcgd291bGQgZmFpbCB3aXRob3V0IHNldHRpbmcKCSAgYW4gZXJyb3IuCgkgIFRoaXMgcGF0Y2ggbWFrZXMgaXQgY2hlY2sgaWYgdGhlIGhhbmRsZSB3YXMgYWN0dWFsbHkgY3JlYXRlZAoJICBhbmQgbG9ncyBhbiBlcnJvciBpbiBjYXNlIGl0IGRpZG4ndC4gTWF5YmUgaXQgc2hvdWxkIHBvc3QgYW4KCSAgZXJyb3IgdG8gdGhlIGJ1cywgYnV0IHRoZSBwcmV2aW91cyBlcnJvciBoYW5kbGluZyBkaWRuJ3QsIHNvCgkgIEkganVzdCBmb2xsb3dlZCB0aGUgc2FtZSBsb2dpYy4KCjIwMTEtMDEtMjQgMTg6Mzc6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluOiAgYWRkIHRpbWluZyBwcmludGluZyBmb3IgcHJldmlldyBpbWFnZQoJICBNZWFzdXJlIGFuZCBwcmludCB0aGUgdGltZSB0YWtlbiB0byBnZW5lcmF0ZSBwcmV2aWV3IGltYWdlLiBBbmQKCSAgZml4IGEgdHlwbwoKMjAxMS0wMS0yNCAxODozNjo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IFJlbW92ZSB1bnVzZWQgbWFjcm8KCjIwMTEtMDEtMTIgMTY6MjY6MTkgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjogRG9uJ3Qgc2V0IGRlZmF1bHQgdmFsdWVzIGZvciBHc3RQaG90b2dyYXBoeSBpbnRlcmZhY2Ugc2V0dGluZ3MKCSAgRG9uJ3Qgc2V0IGFueSBkZWZhdWx0IHZhbHVlcyBmb3Igc291cmNlIGVsZW1lbnQgR3N0UGhvdG9ncmFwaHkgaW50ZXJmYWNlCgkgIHNldHRpbmdzLCBzb3VyY2UgZWxlbWVudHMgc2hvdWxkIGhhdmUgc2FuZSBkZWZhdWx0cyB0aGVtc2VsdmVzLgoJICBBbHNvLCBzZXR0aW5nIHNjZW5lLW1vZGUgaXMgdHJpY2t5IGFzIGl0IGlzIGEgc3VwZXJzZXQgb2Ygb3RoZXIgR3N0UGhvdG9ncmFwaHkKCSAgc2V0dGluZ3MuIFRoaXMgbWlnaHQgY2F1c2UgcHJvYmxlbSB3aXRoIGRlZmF1bHRzIGUuZy4gc2V0dGluZyBzY2VuZS1tb2RlIHRvCgkgICduaWdodCcgbWF5IGNvbmZpZ3VyZSBmbGFzaC1tb2RlIGFzICdvbicgYnkgZGVmaW5pdGlvbiwgYW5kIGFmdGVyIHRoYXQKCSAgd2UgZG9uJ3Qgd2FudCB0byBvdmVycmlkZSB0aGlzIGZsYXNoLW1vZGUgc2V0dGluZyB3aXRoIGdzdC1jYW1lcmFiaW4tdGVzdCBkZWZhdWx0CgkgIHZhbHVlLiBNb3Jlb3ZlciwgdXNlciBuZWVkcyBoYXZlIGFuIG9wdGlvbiB0byBzZXQgc2NlbmUgbW9kZSBmaXJzdCBhbmQgdGhlbiBmb3JjZQoJICBzb21lIGluZGl2aWR1YWwgc2V0dGluZyB0byBhIGRpZmZlcmVudCB2YWx1ZSBmcm9tIHRoZSBzY2VuZS1tb2RlIGRlZmluaXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzk4NDEKCjIwMTEtMDEtMjQgMTc6NDY6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBDaGVjayB0aGUgc3RhcnQgdGltZSBvZiBidWZmZXJzCgkgIEJlIGNhcmVmdWwgd2hlbiB0cnlpbmcgdG8gY3JlYXRlIGEgbmV3c2VnbWVudCBldmVudCB0byBhdm9pZAoJICBzdGFydCB0aW1lcyBvZiAtMSBmcm9tIGludmFsaWQgYnVmZmVyIHRpbWVzdGFtcHMKCjIwMTEtMDEtMTEgMTU6NTI6MDMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJICBkdmRzcHU6IGRvbid0IHdyaXRlIGNsaXBwZWQgbGluZXMgdG8gdGhlIG91dHB1dCBidWZmZXIKCSAgV2UgbWF5IG5vdCBpbmNyZW1lbnQgdGhlIG91dHB1dCBwb2ludGVyLCBidXQgaXQnbGwgc3RpbGwgYmUganVzdAoJICBvZmYgdGhlIGVuZCBvZiB0aGUgYWxsb2NhdGVkIGFyZWEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDI4NDcKCjIwMTEtMDEtMTkgMTU6MDc6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvUE9SVElORzoKCSAgY2FtZXJhYmluMjogVXBkYXRlIHBvcnRpbmcgZmlsZQoJICBBZGRzIHBvcnRpbmcgaW5mb3JtYXRpb24gYWJvdXQgdXNpbmcgZW5jb2RlYmluIG9uIGNhbWVyYWJpbjIKCjIwMTEtMDEtMTQgMDg6MTI6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvUE9SVElORzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSAgY2FtZXJhYmluMjogQWRkIGltYWdlLWRvbmUgbWVzc2FnZQoJICBQb3N0IGFuIGltYWdlLWRvbmUgbWVzc2FnZSB3aGVuIGEgbmV3IGltYWdlIGlzIHNhdmVkIHRvIGRpc2sKCjIwMTEtMDEtMTEgMTQ6NTA6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBJbXBsZW1lbnQgdGFnc2V0dGVyIGludGVyZmFjZQoKMjAxMS0wMS0xMSAxMDoyOTo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBBZGQgcHJldmlldyBpbWFnZSB0byB0ZXN0cwoJICBBZGRzIHRlc3RzIGZvciBjaGVja2luZyB0aGF0IHByZXZpZXcgaW1hZ2VzIGFyZSBwb3N0ZWQgd2l0aAoJICB0aGUgY29ycmVjdCBjYXBzIG9uIHRlc3RzCgoyMDExLTAxLTExIDA5OjEyOjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBBZGQgYSBwcm9wZXJ0eSB0byBzZWxlY3QgdGhlIGVuY29kaW5nIHByb2ZpbGUKCSAgQWRkcyBhIHZpZGVvLXByb2ZpbGUgdG8gYWxsb3cgc2VsZWN0aW5nIHdoaWNoIGVuY29kaW5nIHByb2ZpbGUKCSAgdG8gdXNlIGZvciB2aWRlbyByZWNvcmRpbmdzCgoyMDExLTAxLTExIDA4OjQ0OjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RwbHVnaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlkZW9yZWNvcmRpbmdiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlkZW9yZWNvcmRpbmdiaW4uaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvcmVjb3JkaW5nYmluLmM6CgkgIGNhbWVyYWJpbjI6IFJlbW92aW5nIHZpZGVvcmVjb3JkaW5nYmluCgkgIFJlbW92aW5nIHZpZGVvcmVjb3JkaW5nYmluIGFzIHdlIG5vdyB1c2UgZW5jb2RlYmluIGZvciBpdAoKMjAxMC0xMi0yNyAxMToyOTo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IE1vdmUgdG8gZW5jb2RlYmluCgoyMDExLTAxLTEwIDE1OjE5OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogU2V0IG91dHB1dC1zZWxlY3RvciBwYWQtbmVnb3RpYXRpb24tbW9kZSB0byBub25lCgkgIFVzZSBvdXRwdXQtc2VsZWN0b3Igbm9uZSBuZWdvdGlhdGlvbiBtb2RlIGFzIGl0IHdhcyB0aGUgZGVmYXVsdCBiZWZvcmUKCSAgdGhlIGxhc3QgY2hhbmdlcy4gVGhpcyBsaWtlbHkgbmVlZHMgdG8gYmUgZml4ZWQgdG8gdXNlICdhY3RpdmUnIG9uCgkgIGNhbWVyYWJpbjIKCjIwMTEtMDEtMTAgMTU6MTk6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBIYW5kbGUgc3RhdGUgY2hhbmdlIGZhaWx1cmVzCgkgIFdoZW4gaXRzIGludGVybmFsIGVsZW1lbnQgZmFpbHMgdG8gY2hhbmdlIHN0YXRlLCBkb24ndCBhY3QgYXMKCSAgaWYgc3VjY2VlZGVkLgoKMjAxMC0xMi0zMCAwMDoyNzowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIGNhbWVyYWJpbjI6IEltcGxlbWVudCBwcmV2aWV3aW5nCgkgIEltcGxlbWVudCBwcmV2aWV3aW5nIGZ1bmN0aW9uYWxpdHkgdXNpbmcgMiBwcm9wZXJ0aWVzLiBBIGJvb2xlYW4KCSAgKHBvc3QtcHJldmlld3MpIHRoYXQgaW5kaWNhdGVzIGlmIHByZXZpZXdzIHNob3VsZCBiZSBwb3N0ZWQsIGFuZCBhCgkgIEdzdENhcHMgKHByZXZpZXctY2FwcykgdG8gcHJvdmlkZSB0aGUgZGVzaXJlZCBwcmV2aWV3IGNhcHMuCgkgIHdyYXBwZXJjYW1lcmFiaW5zcmMgaW1wbGVtZW50cyBwcmV2aWV3aW5nIGJ5IHN1cHBseWluZyB0aGUgY2FwdHVyZWQKCSAgaW1hZ2UgdG8gYSBwaXBlbGluZSB0byBhZGFwdCBpdCB0byB0aGUgcmVxdWlyZWQgY2FwcyBiZWZvcmUgcG9zdGluZy4KCjIwMTAtMTItMzAgMDA6MjY6MDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkgIGNhbWVyYWJpbjI6IEFkZCBtZXRob2RzIGZvciBwcmV2aWV3IGltYWdlIG1lc3NhZ2UgcG9zdGluZwoJICBBZGRzIGEgaGVscGVyIHN0cnVjdCBhbmQgZnVuY3Rpb25zIGZvciBpbXBsZW1lbnRpbmcgYSBwcmV2aWV3IG1lc3NhZ2UKCSAgaW4gY2FtZXJhYmluMi4KCjIwMTAtMTItMjkgMjM6NDg6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiB0ZXN0czogVXNlIG1haW5sb29wcwoJICBVc2UgbWFpbmxvb3BzIGluc3RlYWQgb2Ygc2xlZXBzIHRvIHJlYWQgYnVzIG1lc3NhZ2VzIGFuZCBjYXRjaAoJICBlcnJvcnMuCgoyMDEwLTEyLTI5IDE0OjEyOjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogVXNlIGRyb3BfZW9zIGZ1bmN0aW9uIGZyb20gY2FtZXJhYmluZ2VuZXJhbAoJICBUaGVyZSB3YXMgYWxyZWFkeSBhIGV2ZW50IHByb2JlIGZ1bmN0aW9uIGZvciBkcm9wcGluZyBFT1Mgb24KCSAgY2FtZXJhYmluZ2VuZXJlYWwsIHNvIHVzZSB0aGF0IGluc3RlYWQgb2YgcmVwbGljYXRpbmcgdGhlIGNvZGUKCjIwMTEtMDEtMjQgMTE6NTU6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWNhcHR1cmViaW4uYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IGltYWdlY2FwdHVyZWJpbjI6IGZpeCB3YXJuaW5ncwoJICBXYXJuaW5ncyBwYXNzZWQgbWUgYnkgb24gdGhlIGxhc3QgY29tbWl0cyB0byBjYW1lcmFiaW4yIHRlc3RzLAoJICBmaXhpbmcgdGhlbS4KCjIwMTEtMDEtMjQgMTE6MDU6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogT25seSBydW4gYSB0ZXN0IGlmIC1nb29kIDAuMTAuMjcgaXMgcHJlc2VudAoJICBBIGNhbWVyYWJpbjIgdGVzdHMgZGVwZW5kcyBvbiB0aGUgY29tbWl0CgkgIGRjYmJhMDkzMmRjNTc5YWJkNmFhYjQ0NjBmYTFhNDE2Mzc0ZWRhMWIgZm9yIGpwZWdlbmMgb24gLWdvb2QKCSAgdGhhdCB3YXMgcmVsZWFzZWQgb24gMC4xMC4yNy4KCSAgVGhpcyBwYXRjaCBtYWtlcyBpdCBjaGVjayBmb3IgdGhpcyB2ZXJzaW9uIGJlZm9yZSBydW5uaW5nIHRoZQoJICB0ZXN0LgoKMjAxMS0wMS0yNCAxMDowODoxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWNhcHR1cmViaW4uYzoKCSAgdGVzdHM6IGltYWdlY2FwdHVyZWJpbjogT25seSBydW4gYSB0ZXN0IGlmIC1nb29kIGlzIDAuMTAuMjcgb3IgbmV3ZXIKCSAgT25lIHRlc3Qgb24gaW1hZ2VjYXB0dXJlYmluIHJlcXVpcmVzIGRjYmJhMDkzMmRjNTc5YWJkNmFhYjQ0NjBmYTFhNDE2Mzc0ZWRhMWIKCSAgb24gZ29vZCB0aGF0IHdhcyByZWxlYXNlZCBvbiAwLjEwLjI3LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQwMjg2CgoyMDExLTAxLTE4IDE3OjMxOjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGFkZCBuYW1lcyBmb3IgbW9yZSBlbGVtZW50cwoKMjAxMS0wMS0yNCAxMToxODoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcnNwYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzZXR0aW5ncy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMC4yMSA9PT0KCjIwMTEtMDEtMjEgMjE6MTM6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcnNwYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzZXR0aW5ncy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4yMQoKMjAxMS0wMS0xOSAyMDowMDoxMyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogRml4IGhhbmRsaW5nIG9mIGRlYnVnIGNhdGVnb3J5CgoyMDExLTAxLTE5IDE4OjI2OjMwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogbWluZCBnc3RfYnVmZmVyX3VucmVmIG5vdCBsaWtpbmcgTlVMTAoJICBGaXhlcyAjNjM5OTUwLgoKMjAxMS0wMS0xOCAxODoxODowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUgd2FybmluZwoKMjAxMS0wMS0xOCAxMzowMDoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcnNwYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzZXR0aW5ncy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yMC40IHByZS1yZWxlYXNlCgoyMDExLTAxLTE0IDE2OjMwOjExIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogYmFzZXBhcnNlOiBCZSBjYXJlZnVsIHRvIG5vdCBsb3NlIHRoZSBldmVudCByZWYKCSAgRG9uJ3QgdW5yZWYgdGhlIGV2ZW50IGlmIGl0IGhhc24ndCBiZWVuIGhhbmRsZWQsIGJlY2F1c2UgdGhlIGNhbGxlcgoJICBhc3N1bWVzIGl0IGlzIHN0aWxsIHZhbGlkIGFuZCBtaWdodCByZXVzZSBpdC4KCSAgSSByYW4gaW50byB0aGlzIHByb2JsZW0gd2hlbiB0cmFuc2NvZGluZyBhbiBBVkkgKHdpdGggbXAzIGluc2lkZSkKCSAgdG8gZ3BwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5NTU1CgoyMDExLTAxLTEzIDExOjI4OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3Q6IHF0bXV4OiBUZXN0cyBxdG11eCByZXVzZQoJICBGb3JjZXMgdGhlIHVzZSBvZiBxdG11eCBhZnRlciBpdCBoYXMgYmVlbiBwdXQgdG8gUExBWUlORyBhbmQgYmFjawoJICB0byBOVUxMIG9uY2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTMzOAoKMjAxMS0wMS0xMyAxNToyNzozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHNldCBzcmMgcGFkcyB3aGVuIHN0YXJ0aW5nIGZpbGUKCSAgLi4uIHJhdGhlciB0aGFuIGF0IF9pbml0IHRpbWUsIHNvIHRoZXkgYXJlIGFsc28gYXZhaWxhYmxlIGZvbGxvd2luZyBhCgkgIHBhZCAoZGUpYWN0aXZhdGlvbiBjeWNsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTMzOAoKMjAxMS0wMS0xMiAxNjozOToyMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmg6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGU6IGVuc3VyZSB0aGUga2F0ZSBwYWQgZG9lcyBub3Qgc2hvb3QgYWhlYWQgb2YgdGhlIHZpZGVvIHBhZAoJICBTeW5jIGJvdGggcGFkcyBieSB3YWl0aW5nIGluIHRoZSBrYXRlIGNoYWluIGZ1bmN0aW9uLgoJICBEbyBub3QgcmVzZXQgb3VyIGludGVybmFsIHNlZ21lbnQgZnJvbSBzZWdtZW50IHVwZGF0ZXMsIGluIG9yZGVyCgkgIHRvIGJlIGFibGUgdG8gbWFwIHZpZGVvIHJ1bm5pbmcgdGltZSB0byBrYXRlIHJ1bm5pbmcgdGltZSwgdG8KCSAgZ2l2ZSBsaWJ0aWdlciB0aGUgdGltZXN0YW1wIGl0IGV4cGVjdHMuIFRoaXMgYWxsb3dzIHVzIHRvIHVzZQoJICBydW5uaW5nIHRpbWUgdG8gc3luYyB0byB2aWRlbywgd2hpY2ggaXMgVGhlIFJpZ2h0IFdheS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwMDkyOQoKMjAxMS0wMS0xMyAxODozNToxNSAtMDIwMCAgTHVjaWFuYSBGdWppaSBQb250ZWxsbyA8bHVjaWFuYUBmdWppaS5ldGkuYnI+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEVuYWJsZSBjb252ZXJzaW9uIGZsYWdzCgkgIENhbWVyYWJpbiBkZWZhdWx0IHNob3VsZCBqdXN0IHdvcmssIHNvIHdlIG5lZWQgdG8gZW5hYmxlIGF1ZGlvLCBpbWFnZQoJICBhbmQgdmlkZW8gY29udmVyc2lvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzk0NTYKCjIwMTEtMDEtMTMgMTc6MTA6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJICBkY2FwYXJzZTogZml4IHN5bmMgd29yZCBmb3IgMTQtYml0IGxpdHRsZSBlbmRpYW4gY29kaW5nCgkgIEZpeCBjb3B5J24ncGFzdGUgYnVnIHRoYXQgbWFkZSB1cyBsb29rIGZvciB0aGUgcmF3IGxpdHRsZSBlbmRpYW4KCSAgc3luYyB3b3JkIHR3aWNlIGluc3RlYWQgb2YgbG9va2luZyBmb3IgdGhlIDE0LWJpdCBMRSBzeW5jIHdvcmQKCSAgYXMgd2VsbC4gRml4ZXMgcGFyc2luZyBvZiBzdWNoIHN0cmVhbXMgKHNlZSAjNjM2MjM0IGZvciBzYW1wbGUgZmlsZSkuCgoyMDExLTAxLTEzIDE2OjI3OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGRvY3M6IG1pbm9yIGJhc2VwYXJzZSBkb2NzL2NvbW1lbnQgZml4ZXMKCSAgUmVtb3ZlIGNvcHknbidwYXN0ZSBsZWZ0b3ZlcnMuCgoyMDExLTAxLTEzIDEzOjM2OjA5ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHNldCBwYWQtbmVnb3RpYXRpb24tbW9kZSB0byBhY3RpdmUgZm9yIG91dHB1dC1zZWxlY3RvcgoJICBGaXhlcyAjNjM5NDEzLgoKMjAxMS0wMS0xMiAxNjo1NTowNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiB1c2UgZ19lcnJvcl9mcmVlIGluc3RlYWQgb2YgZ19mcmVlCgoyMDExLTAxLTEyIDE2OjUwOjUxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkgIGNhbWVyYWJpbjI6IHVzZSBnX2Vycm9yX2ZyZWUgaW5zdGVhZCBvZiBnX2ZyZWUKCjIwMTEtMDEtMTIgMTE6NTc6MjkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSAgeTRtZGVjOiBEZWZhdWx0IGNvbG9yc3BhY2UgaXMgSTQyMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5Mjk2CgoyMDExLTAxLTExIDIzOjQ0OjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjIwLjMgcHJlLXJlbGVhc2UKCjIwMTEtMDEtMTEgMTU6NTA6NTIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZTU3MmM4NyB0byBmOTRkNzM5CgoyMDExLTAxLTEwIDE5OjExOjIyICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBEb24ndCBmb3JnZXQgdGhlIEdUeXBlIHdoZW4gdXNpbmcgY2Fwc19uZXdfc2ltcGxlKCkKCjIwMTEtMDEtMTAgMTY6MzY6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjY2JhYTg1IHRvIGU1NzJjODcKCjIwMTEtMDEtMTAgMTQ6NTQ6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0NjQ0NWFkIHRvIGNjYmFhODUKCjIwMTEtMDEtMTAgMTE6MjU6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggc2lsbHkgd2F5IG9mIGNyZWF0aW5nIGNhcHMKCjIwMTEtMDEtMTAgMTE6MTg6NTIgKzAwMDAgIEthcm9sIFNvYmN6YWsgPG5hcGV3bm90cmFmaUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCByZS1zeW5jaW5nIG9uIGludmFsaWQgZGF0YSBhZnRlciBzZWVrCgkgIE9yIHBvc3NpYmx5IGV2ZW4gYXQgc3RhcnR1cC4gSWYgd2UgY291bGRuJ3QgZmluZCBhIHN5bmMgd2l0aGluCgkgIHRoZSBmaXJzdCBmZXcgYnl0ZXMsIHdlJ2QganVzdCBwdXNoIG1vcmUgZGF0YSBpbnRvIHRoZSBhZGFwdGVyCgkgIGJ1dCBuZXZlciBkaXNjYXJkIGFueSBvZiB0aGUgaW52YWxpZCBkYXRhIGF0IHRoZSBiZWdpbm5pbmcsIHNvCgkgIHdvdWxkIG5ldmVyIGJlIGFibGUgdG8gcmUtc3luYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTA2MwoKMjAxMS0wMS0wOCAwMzoxMjoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2dzdGNvZ2Rvd25zYW1wbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2d1dGlscy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9wYXJzZS5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuYzoKCSAgY29nLCBzY2hyb2VkaW5nZXI6IGZpeCB3YXJuaW5ncyB3aGVuIGNvbXBpbGluZyB3aXRoIC1ER19ESVNBQkxFX0FTU0VSVAoKMjAxMS0wMS0wOCAwMzoxMDowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5oOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjAuMiBwcmUtcmVsZWFzZQoKMjAxMS0wMS0wOCAwMjo0OTowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JzcGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc2V0dGluZ3MueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJICBkb2NzOiB1cGRhdGUgZG9jcwoKMjAxMS0wMS0wOCAwMjo0NzoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2phLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMS0wMS0wOCAwMjo0Mzo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvY2FtZXJhYmluL2dzdGlucHV0c2VsZWN0b3IuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RpbnB1dHNlbGVjdG9yLmg6CgkgIGNhbWVyYWJpbjogdXNlIHByaXZhdGUgaW5wdXQtc2VsZWN0b3IgdGhhdCBzdGlsbCBoYXMgInNlbGVjdC1hbGwiIHByb3BlcnR5CgkgIFRoZSAic2VsZWN0LWFsbCIgcHJvcGVydHkgd2FzIHJlbW92ZWQgd2hlbiBpbnB1dC1zZWxlY3RvciB3YXMgbW92ZWQKCSAgdG8gY29yZSwgYnV0IGNhbWVyYWJpbiB1c2VzIHRoaXMsIHNvIG1ha2UgY2FtZXJhYmluIHVzZSBhIHByaXZhdGUKCSAgY29weSB1bnRpbCBhIGJldHRlciBmaXggaXMgZm91bmQuCgoyMDExLTAxLTA4IDAwOjMyOjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogTWFrZWZpbGUuYW0gY2xlYW4tdXAKCSAgQXZvaWQgZHVwbGljYXRlcyBHU1RfQ0hFQ0tfQ0ZMQUdTIGFuZCBHU1RfT1BUSU9OU19DRkxBR1MgYXJlIGFscmVhZHkgaW4KCSAgQU1fQ0ZMQUdTLiBBZGQgTERBREQgaW5zdGVhZCBvZiBHU1RfQ0hFQ0tfTElCUyBmb3IgY29uc2lzdGVuY3kuCgoyMDExLTAxLTA4IDAwOjE5OjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zbW9vdGh3YXZlL2RlbW8tb3Nzc3JjLmM6CgkgIHNtb290aHdhdmU6IHJlbW92ZSBvbGQgMC44IGV4YW1wbGUgY29udGFpbmluZyBjb2RlIHdpdGggc2lkZWVmZmVjdHMgaW4gZ19yZXR1cm5faWZfZmFpbCgpCgkgIE1heSBqdXN0IGFzIHdlbGwgcmVtb3ZlIGl0IHJhdGhlciB0aGFuIGZpeCBpdCwgc28gaXQgZG9lc24ndCBzaG93CgkgIHVwIGluIGdyZXBzIGZvciB0aGlzIGFueSBsb25nZXIuCgoyMDExLTAxLTA4IDAwOjE4OjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBtYWtlIGdpdCBpZ25vcmUgbmV3IHNjaHJvZW5jIHRlc3QgYmluYXJ5CgoyMDExLTAxLTA4IDAwOjE3OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZml4IENGTEFHUyBhbmQgTElCQUREIG9yZGVyIGluIE1ha2VmaWxlLmFtCgoyMDExLTAxLTA4IDAwOjA4OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogbmV2ZXIgZGlzYWJsZSBnX2Fzc2VydCgpIGFuZCBjYXN0IGNoZWNrcyBmb3IgdGhlIHVuaXQgdGVzdHMKCSAgVGhlIHVuaXQgdGVzdHMgYXJlIHJpZGRsZWQgd2l0aCBnX2Fzc2VydCgpIGFuZCBmcmllbmRzLCBtYWtlIHN1cmUgd2UKCSAgZG9uJ3QgZGlzYWJsZSBhc3NlcnQgYW5kIGNhc3QgY2hlY2tzIGZvciB0aGUgdW5pdCB0ZXN0cyBldmVuIGlmCgkgIHRoaXMgaGFzIGJlZW4gc3BlY2lmaWVkIGZvciB0aGUgcmVzdCBvZiB0aGUgY29kZSBiYXNlLCBlLmcuIHZpYQoJICAtLWRpc2FibGUtZ2xpYi1hc3NlcnRzLgoKMjAxMS0wMS0wOCAwMDowMTowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyZWN0ZmIvZGZiLWV4YW1wbGUuYzoKCSAgZGlyZWN0ZmI6IGRvbid0IHB1dCBjb2RlIHdpdGggc2lkZS1lZmZlY3RzIGludG8gZ19hc3NlcnQoKQoJICBJdCB3aWxsIGFsbCBiZSB0dXJuZWQgaW50byBhIE5PT1AgaWYgLURHX0RJU0FCTEVfQVNTRVJUIGlzIHVzZWQKCSAgKGFzIGl0IGlzIGZvciBwcmUtcmVsZWFzZXMgYW5kIHJlbGVhc2VzKS4KCjIwMTEtMDEtMDcgMjM6NTc6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICB4dmlkZW5jOiBkb24ndCBwdXQgY29kZSB3aXRoIHNpZGUgZWZmZWN0cyBpbnRvIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKCkKCSAgQW5kIGRvbid0IHVzZSBnX3JldHVybipfaWZfZmFpbCgpIGZvciBlcnJvciBoYW5kbGluZyBpbiBlbGVtZW50cy4KCjIwMTEtMDEtMDcgMTg6NDk6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5oOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmg6CgkgIFJldmVydCAibXBlZ3ZpZGVvcGFyc2U6IGZpeCB0aW1lc3RhbXAgZ2VuZXJhdGlvbiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAyMjcxNjA4YzQzMTRkNmQwYTY4NWMxOGM1YzQ3ZDU1NDk1NTg2MTU5LgoJICBUaGlzIHBhdGNoIG5lZWRzIG1vcmUgd29yayBzbyBpdCBkb2Vzbid0IGNhdXNlIGdyYXZlIHBsYXliYWNrCgkgIHJlZ3Jlc3Npb25zIChtdWx0aS1zZWNvbmQgZnJlZXplcykgd2l0aCBzb21lIGZpbGVzIHRoYXQgaGF2ZQoJICBzbGlnaHRseSBicm9rZW4gdGltZXN0YW1wcyBidXQgcGxheSBmaW5lIGV2ZXJ5d2hlcmUgZWxzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNjI3OQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMyMjIyCgoyMDExLTAxLTA3IDE1OjQ3OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggLS1kaXNhYmxlLWV4dGVybmFsCgoyMDExLTAxLTA3IDE0OjUxOjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB1c2UgJExJQk0gaW5zdGVhZCBvZiBoYXJkLWNvZGluZyAtbG0KCjIwMTEtMDEtMDcgMTU6MjI6MDcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcjogZG9uJ3QgbGVhayB0aGUgY2FwcwoKMjAxMS0wMS0wNyAwMjoxMDozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10aW5mby5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggUEFUIGFuZCBQTVQgaW5mby1yZWxhdGVkIG9iamVjdCBsZWFrcwoKMjAxMS0wMS0wNiAxMjo1MToyNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUgb24gbWFjb3N4CgoyMDExLTAxLTA2IDEyOjUwOjE0ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcDJrZGVjaW1hdG9yL2pwMmtjb2Rlc3RyZWFtLmM6CgkgIGpwMmtkZWNpbWF0b3I6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZXMgb24gbWFjb3N4CgoyMDExLTAxLTA2IDEyOjQ5OjQzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlIG9uIG1hY29zeAoKMjAxMC0xMi0xNSAxNTo1ODo0OCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QveTRtL2dzdHk0bWRlYy5oOgoJICB5NG1kZWM6IEZpeCBjb3B5cmlnaHQKCjIwMTAtMTItMTcgMTQ6NTA6NTAgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvcHVzaHNyYzoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IGltcHJvdmUgcHVzaHNyYwoKMjAxMS0wMS0wNSAxNjo0Mzo0NSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICB5NG06IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZXMgb24gbWFjb3N4CgoyMDExLTAxLTA1IDEzOjQ0OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L01ha2VmaWxlLmFtOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2ZmbXBlZy1jb2xvcnNwYWNlLmg6CgkgIGR2YnN1Ym92ZXJsYXk6IHNvbWUgbW9yZSBtaW5vciBjbGVhbi11cHMKCjIwMTEtMDEtMDQgMTY6MDM6MDEgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogZml4IGxlYWsgb2YgImNsZWFyIHNjcmVlbiIgRFZCU3VidGl0bGVzIHN0cnVjdHMKCjIwMTEtMDEtMDQgMTM6NTE6MjEgKzAwMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBmaXggdHdvIG1pbm9yIGRlaW5pdGlhbGl6YXRpb24gbWVtb3J5IGxlYWtzCgoyMDExLTAxLTAzIDIzOjU1OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICBleGFtcGxlczogZGlzdCBjYW1lcmFiaW4yIGV4YW1wbGUgYXMgd2VsbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM4NjA0CgoyMDExLTAxLTAzIDIzOjQ5OjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJICBjYW1lcmFiaW4yOiBmaXggY2ZsYWdzIGFuZCBsaWJzIG9yZGVyIGluIE1ha2VmaWxlLmFtCgoyMDExLTAxLTAzIDIzOjQ3OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL01ha2VmaWxlLmFtOgoJICBiYXNlY2FtZXJhYmluc3JjOiBmaXggbGlicyBvcmRlciBpbiBNYWtlZmlsZS5hbQoKMjAxMS0wMS0wMyAyMzo0NjowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBmaXggZGlzdGluZyBvZiBleHBlcmltZW50YWwgYmFzZWNhbWVyYWJpbnNyYyBsaWIgdXNlZCBieSBjYW1lcmFiaW4yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzg2MDQKCjIwMTEtMDEtMDMgMTc6MTA6MzYgLTA2MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZiOiBmaXggYnVpbGQgZXJyb3JzIG9uIG1hY29zeAoJICBmaXhlcyB0aGUgZm9sbG93aW5nIGNvbXBpbGUgZXJyb3JzOgoJICBjYzE6IHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCgkgIGNhbXN3Y2xpZW50LmM6IEluIGZ1bmN0aW9uICdjYW1fc3dfY2xpZW50X29wZW4nOgoJICBjYW1zd2NsaWVudC5jOjgxOiB3YXJuaW5nOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnc3RybmNweScKCSAgY2Ftc3djbGllbnQuYzo4MTogd2FybmluZzogaW5jb21wYXRpYmxlIGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGJ1aWx0LWluIGZ1bmN0aW9uICdzdHJuY3B5JwoJICBjYW1zd2NsaWVudC5jOjg5OiB3YXJuaW5nOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnc3RyZXJyb3InCgkgIGNhbXN3Y2xpZW50LmM6ODk6IHdhcm5pbmc6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2YgJ3N0cmVycm9yJwoJICBjYW1zd2NsaWVudC5jOjg5OiB3YXJuaW5nOiBmb3JtYXQgJyVzJyBleHBlY3RzIHR5cGUgJ2NoYXIgKicsIGJ1dCBhcmd1bWVudCA5IGhhcyB0eXBlICdpbnQnCgkgIGNhbXN3Y2xpZW50LmM6IEluIGZ1bmN0aW9uICdzZW5kX2NhX3BtdCc6CgkgIGNhbXN3Y2xpZW50LmM6MTI5OiB3YXJuaW5nOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnbWVtY3B5JwoJICBjYW1zd2NsaWVudC5jOjEyOTogd2FybmluZzogaW5jb21wYXRpYmxlIGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGJ1aWx0LWluCgkgIGZ1bmN0aW9uICdtZW1jcHknCgkgIGdzdGR2YnNyYy5jOjQ4OjE5OiBlcnJvcjogZXJyb3IuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQoJICBTaWduZWQtb2ZmLWJ5OiBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoyMDExLTAxLTAzIDIwOjA1OjUyICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogcmVtb3ZlIHVubmVjZXNzYXJ5IFJHQiAtPiBZVVYgY29udmVyc2lvbiBieSB1c2luZyBZVVYgcGFsZXR0ZXMKCSAgdGhlIGRlZmF1bHQgQ0xVVHMgc3RpbGwgdXNlIFJHQiAtPiBZVVYgY29udmVyc2lvbnMgc2luY2UgdGhlIHN0YW5kYXJkIGRlZmluZXMKCSAgdGhlbSBhcyBSR0JBIHZhbHVlcy4KCjIwMTEtMDEtMDMgMjA6MjE6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogbTQvTWFrZWZpbGUuYW06CgkqIG00L2VzZC5tNDoKCSogbTQvZ2xpYi5tNDoKCSogbTQvZ3N0LW1hdHJvc2thLm00OgoJKiBtNC9nc3Qtc2hvdXQyLm00OgoJKiBtNC9ndGsubTQ6CgkqIG00L29nZy5tNDoKCSogbTQvdm9yYmlzLm00OgoJICBtNDogcmVtb3ZlIHNvbWUgY3J1ZnQKCjIwMTEtMDEtMDMgMTc6MjQ6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICBxdG11eDogYWRqdXN0IG5hc3R5IGNhc2UgdGltZXN0YW1wIHRyYWNraW5nCgkgIFRoYXQgaXMsIGFsbCBzb3J0cyBvZiBwcm9ibGVtcyBhcmlzZSB3aXRoIHJlLW9yZGVyZWQgaW5wdXQgdGltZXN0YW1wcyB0aGF0CgkgIHRlbmQgdG8gZGVmeSBhdXRvbWFnaWMgaGFuZGxpbmcgZm9yIGV2ZXJ5IGNhc2UsIHNvIGFsbG93IGZvciBhIGZldyB2YXJpYXRpb25zCgkgIHRoYXQgY2FuIGJlIHRyaWVkIGRlcGVuZGluZyBvbiBjaXJjdW1zdGFuY2VzLgoJICBBbHNvIHRyeSB0byBkb2N1bWVudCBhY2NvcmRpbmdseS4KCSAgQWxzbyBmaXhlcyAjNjM4Mjg4LgoKMjAxMC0xMi0zMCAyMTo0ODo0MSArMDIwMCAgRmVsaXBlIENvbnRyZXJhcyA8ZmVsaXBlLmNvbnRyZXJhc0Bub2tpYS5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGdldCByaWQgb2YgdGltZXN0YW1wIG92ZXJwcm90ZWN0aXZlbmVzcwoJICBTaWduZWQtb2ZmLWJ5OiBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQG5va2lhLmNvbT4KCjIwMTEtMDEtMDMgMTY6NTY6NTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHNpbXBsaWZ5IGFuZCBmaXggcHRzX29mZnNldCBzdG9yaW5nCgkgIEluIHBhcnRpY3VsYXIsIG9ubHkgd3JpdGUgYSBjdHRzIGF0b20gaWYgYW5kIG9ubHkgaWYgZXZlciBhIG5vbi16ZXJvIG9mZnNldC4KCjIwMTEtMDEtMDMgMTA6NDM6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhZGQgc29tZSBtb3JlIGRvY3VtZW50YXRpb24KCjIwMTAtMTItMDMgMTU6MjM6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiByZW1vdmUgbGFyZ2UtZmlsZSBwcm9wZXJ0eQoJICBSYXRoZXIsIGF1dG8tZGV0ZXJtaW5lIGlmIDY0LWJpdHMgZmllbGRzIGFyZSBuZWVkZWQgZm9yIGEgdmFsaWQgcmVzdWx0LCBhbmQKCSAgc3RpY2sgdG8gcGxhaW4gMzItYml0cyBpZiBub3QgbmVlZGVkLgoJICBBUEk6IEdzdFFUTXV4OmxhcmdlLWZpbGUgKHJlbW92ZWQpCgoyMDExLTAxLTAzIDE4OjEzOjM3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvZHZiL1JFQURNRToKCSAgUkVBRE1FOiBmaXggdGhlIGV4YW1wbGUgcGlwZWxpbmUKCSAgRml4IHRoZSBvYnZpb3VzIG91dGRhdGVkIHBhcnRzLiBTdGlsbCB0aGlzIFJFQURNRSBsb29rcyBvdXRkYXRlZCBhbmQgc2hvdWxkIGJlCgkgIHVwZGF0ZWQgb3IgcmVtb3ZlZC4KCjIwMTEtMDEtMDIgMTk6Mzg6MDEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IEFkZCBkZWJ1ZyBjYXRlZ29yeQoKMjAxMS0wMS0wMiAxNjoxMzo1NiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IERpc2FibGUgbWF0cml4aW5nIG9uIGJpZy1lbmRpYW4KCSAgSXQncyBicm9rZW4gdW50aWwgc29tZW9uZSB3cml0ZXMgYmV0dGVyIE9yYyBjb2RlLiAgRml4ZXMgIzYzMTIzMi4KCjIwMTAtMTItMDUgMDM6Mjk6NDIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJICBtcGVndHNtdXg6IFNldCBhZGFwdGF0aW9uIGZsYWcgd2hlbiBhcHByb3ByaWF0ZQoJICBTcGVjaWZpY2FsbHksIHdoZW4gdGhlcmUncyBzdHVmZiB0byBnbyBpbnRvIHRoZSBhZGFwdGF0aW9uCgkgIGhlYWRlci4KCjIwMTAtMTEtMTcgMTc6NDk6MTcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmg6CgkgIG1wZWd0c211eDogU2V0IHJhbmRvbV9hY2Nlc3NfaW5kaWNhdG9yIGZvciBrZXlmcmFtZXMKCjIwMTAtMTItMzEgMTY6MjA6MjIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIHRpZ2VyOiBvdXRsaW5lIHRleHQgYnkgZGVmYXVsdCwgdG8gbWFrZSBpdCBlYXNpZXIgdG8gcmVhZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM4NTI3CgoyMDExLTAxLTAyIDE1OjExOjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIExJQ0VOU0VfcmVhZG1lOgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2phY2svLmdpdGlnbm9yZToKCSogZXh0L2phY2svTWFrZWZpbGUuYW06CgkqIGV4dC9qYWNrL1JFQURNRToKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuaDoKCSogZXh0L2phY2svZ3N0amFja3JpbmdidWZmZXIuaDoKCSogZXh0L2phY2svZ3N0amFja3V0aWwuYzoKCSogZXh0L2phY2svZ3N0amFja3V0aWwuaDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9qYWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9qYWNrL2phY2tfY2xpZW50LmM6CgkgIGphY2s6IG1vdmUgcGx1Z2luIHRvIGdzdC1wbHVnaW5zLWdvb2QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMTkyOQoKMjAxMS0wMS0wMiAxMzo1MjozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlOiBmaXggY2FwcyBhbmQgc3RyaW5nIGxlYWtzIGFuZCBzb21lIG1pbm9yIGNsZWFuLXVwcwoJICBEb24ndCBsZWFrIHNvdXJjZSBjYXBzLiBVc2UgR1NUX1BUUl9GT1JNQVQgdG8gbG9nIGNhcHMsIHNvCgkgIHdlIGRvbid0IG5lZWQgdG8gbGVhayBzdHJpbmdzIGZyb20gZ3N0X2NhcHNfdG9fc3RyaW5nKCkuCgkgIE5vIG5lZWQgdG8gdXNlIEdTVF9ERUJVR19GVU5DUFRSIGZvciB2ZnVuY3Mgd2hlcmUgdGhlIGJhc2UKCSAgY2xhc3Mgd2lsbCBuZXZlciBsb29rIHRoZW0gdXAgKGxpa2UgcHJvcGVydHkgZ2V0dGVycy9zZXR0ZXJzKS4KCSAgRG9uJ3QgdXNlIGdfcmV0dXJuXypfaWZfZmFpbCgpIGZvciB0aGluZ3MgdGhhdCBhcmVuJ3QgZGlyZWN0bHkKCSAgcHJvZ3JhbW1pbmcgZXJyb3JzIChieSB0aGUgYXBwbGljYXRpb24gZGV2ZWxvcGVyKS4KCSAgRml4ZXMga2F0ZSB1bml0IHRlc3QgdW5kZXIgdmFsZ3JpbmQuCgoyMDEwLTEyLTMxIDE2OjE3OjUwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGU6IHJlZW5hYmxlIHRoZSBzZW5kaW5nIG9mIGEgbWVzc2FnZSBmb3IgdGFncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM4NDEyCgoyMDExLTAxLTAyIDEzOjI5OjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvTWFrZWZpbGUuYW06CgkgIGdhdWRpZWZmZWN0czogZGlzdCBweXRob24gZXhhbXBsZXMKCjIwMTAtMTItMzEgMDA6MDk6MDkgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IFVwZGF0ZSBGU0YgYWRkcmVzcwoKMjAxMC0xMi0zMSAwMDowNzoyOCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9NYWtlZmlsZS5hbToKCSogdG9vbHMvZ3N0LWFwcC1tYWtlcjoKCSAgQWRkIGdzdC1hcHAtbWFrZXIKCjIwMTAtMTItMzEgMDA6MTI6NTMgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuYzoKCSAgZHRtZjogRml4IGJ1aWxkIGZhaWx1cmUgY2F1c2VkIGJ5IHByZXZpb3VzIGNvbW1pdAoKMjAxMC0xMi0zMCAxOToyMTo0NyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2dlbmVyYXRlX3RhYmxlcy5jOgoJKiBleHQvY29nL2dzdGNtcy5jOgoJKiBleHQvY29nL2dzdGNvbG9yY29udmVydC5jOgoJICBjb2c6IFVzZSBtYXRoLWNvbXBhdC5oCgoyMDEwLTEyLTMwIDE5OjIxOjIxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBGaXggYzk5LWlzbQoKMjAxMC0xMi0zMCAxOToxMjoyMyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGVfZnVuY3RhYmxlLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZV9yZWYuYzoKCSAgbGVnYWN5cmVzYW1wbGU6IFVzZSBtYXRoLWNvbXBhdCBoZWFkZXIKCjIwMTAtMTItMzAgMTk6MDM6NTQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3Ryb3RhdGUuYzoKCSAgY2hhbmdlIE1fUEkgdG8gR19QSQoKMjAxMC0xMi0zMCAxOTowMzoxNCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZnJlaTByL2ZyZWkwci5oOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5oOgoJICBmcmVpMHI6IGNvbnZlcnQgdWludDMyX3QgdG8gZ3VpbnQzMgoKMjAxMC0xMi0zMCAxODoyMDo0NyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0Lmg6CgkgIGR0bWY6IGJ1aWxkIGZpeGVzIGZvciBNU1ZDCgkgIFVzZSBnaW50MTYgYW5kIEdfUEkuCgoyMDEwLTEyLTMwIDE4OjE5OjQ3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0LmM6CgkgIGR0bWY6IHJlaW5kZW50CgoyMDEwLTEyLTMwIDE4OjAyOjA2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSAgZGF0YXVyaXNyYzogdXNlIGdfYXNjaWlfc3RyY2FzZWNtcCgpCgoyMDEwLTEyLTMxIDAxOjM4OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3Qvc2VsZWN0b3IvLmdpdGlnbm9yZToKCSogZ3N0L3NlbGVjdG9yL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5oOgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmg6CgkqIGdzdC9zZWxlY3Rvci9nc3RzZWxlY3Rvci1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9zZWxlY3Rvci9nc3RzZWxlY3Rvci5jOgoJKiBnc3Qvc2VsZWN0b3Ivc2VsZWN0b3IudmNwcm9qOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2VsZWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3N3aXRjaC8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9zd2l0Y2gvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jOgoJKiB0ZXN0cy9pY2xlcy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvb3V0cHV0LXNlbGVjdG9yLXRlc3QuYzoKCSAgc2VsZWN0b3I6IG1vdmUgaW5wdXQtc2VsZWN0b3IgYW5kIG91dHB1dC1zZWxlY3RvciB0byBjb3JlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTQzMDYKCjIwMTAtMTItMzAgMDE6MTc6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcnNwYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkgIGRvY3M6IHVwZGF0ZSBwbHVnaW4gZG9jcwoKMjAxMC0xMi0zMCAwMToxNDoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvdmFsdmUvTWFrZWZpbGUuYW06CgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZhbHZlLmM6CgkgIHZhbHZlOiBtb3ZlIHZhbHZlIGVsZW1lbnQvcGx1Z2luIHRvIGNvcmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMDgwOAoKMjAxMC0xMi0yOSAxMzoxODozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGNhbWVyYWJpbjI6IFZhcmlvdXMgbGVhayBmaXhlcwoJICBWYXJpb3VzIGxlYWsgZml4ZXMgYW5kIHNvbWUgY29kZSByZW9yZ2FuaXphdGlvbgoKMjAxMC0xMi0yNyAxNzoxODoyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yLy5naXRpZ25vcmU6CgkgIGNhbWVyYWJpbjI6IGV4YW1wbGU6IGdpdGlnbm9yZSBjYXB0dXJlZCBmaWxlcwoKMjAxMC0xMi0yNiAyMDo1MjoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IEltcGxlbWVudCB2aWRlbyBjYXB0dXJlIHJlbmVnb3RpYXRlCgkgIEhhbmRsZSBjYXBzIHJlbmVnb3RpYXRpb24gZnJvbSBjYW1lcmFiaW4yJ3MgcmVuZWdvdGlhdGUgZXZlbnQKCSAgdG8gYWxsb3cgdmlkZW8gY2FwdHVyZSB0byBiZSBkb25lIHdpdGggdGhlIHVzZXIncyByZXF1ZXN0ZWQKCSAgcmVzb2x1dGlvbi4KCjIwMTAtMTItMjYgMjA6NDc6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGQgdGVzdHMgZm9yIHZpZGVvIGNhcHR1cmUKCSAgQWRkIGEgdGVzdCBmb3IgY2FwdHVyaW5nIG11bHRpcGxlIHZpZGVvcyB3aXRoIGRpZmZlcmVudCByZXNvbHV0aW9ucwoJICBpbiBhIHNlcXVlbmNlLgoKMjAxMC0xMi0yNiAyMDozNTo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEZpeCByZW5lZ290aWF0ZSBldmVudCBwdXNoaW5nCgkgIFVzZSBhIGhhY2sgdG8gbWFrZSB0aGUgZXZlbnQgdXBzdHJlYW0gdG8gcmVhY2ggdGhlIGNhbWVyYSBzb3VyY2UKCSAgaW5zdGVhZCBvZiBnb2luZyBkb3duc3RyZWFtIGFuZCBiZWluZyB1c2VsZXNzLgoJICBUaGlzIHdhcyBhbHJlYWR5IGZpeGVkIHRoaXMgd2F5IGZvciBpbWFnZSBzcmNwYWQgcmVuZWdvdGlhdGUgYW5kCgkgIHZpZGVvIHNyY3BhZCB3YXMgbGVmdCB1bmZpeGVkLgoKMjAxMC0xMi0yNCAwOToxMDo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogUmVmYWN0b3IgaW50ZXJuYWwgcGlwZWxpbmUKCSAgSW5zdGVhZCBvZiBsaW5raW5nIDMgc3JjIHBhZHMgZnJvbSB0ZWUgdG8gdGhlIGdob3N0cGFkcywgdXNlIDIKCSAgc3JjcGFkcyBhbmQgYWRkIGFuIG91dHB1dC1zZWxlY3RvciB0byBjb21wbGV0ZWx5IHNwbGl0IGNhcHMKCSAgbmVnb3RpYXRpb24gb2YgdmlkZW8vaW1hZ2UgbW9kZXMuIEkgZG9uJ3QgdGhpbmsgdGhlcmUgaXMgYW4KCSAgdXNlIGNhc2UgdGhhdCB3b3VsZCByZXF1aXJlIGltYWdlIGFuZCB2aWRlbyBwYWRzIHRvIGJlIHVzZWQKCSAgYXQgdGhlIHNhbWUgdGltZS4KCjIwMTAtMTItMjIgMTQ6NDI6MjcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHVzZSAtcHRocmVhZCBmb3IgeHZpZCBjb25maWd1cmUgY2hlY2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNzgyMwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM3MzA4CgoyMDEwLTEyLTI4IDE3OjE2OjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogbW9kZSBjYW4gYmUgb25seSBpbWFnZSBvciB2aWRlbwoJICBObyBuZWVkIHRvIGNoZWNrIGlmIGNhbWVyYWJpbiBpcyBvbiB2aWRlbyBtb2RlIGlmIGl0IGlzbid0IG9uCgkgIGltYWdlIG1vZGUgYXMgdGhvc2UgYXJlIHRoZSBvbmx5IDIgbW9kZXMgYXZhaWxhYmxlLgoJICBBZGRpdGlvbmFsbHksIGlmIG1vZGUgZ2V0cyBjb3JydXB0ZWQgc29tZWhvdyBhbmQgd291bGQgYmUgbmVpdGhlcgoJICBpbWFnZSBvciB2aWRlbyBpdCB3b3VsZCBjYXVzZSBhIG51bGwgcG9pbnRlciBkZXJlZmVyZW5jaW5nIHNvbWUKCSAgbGluZXMgb2YgY29kZSBiZWxvdywgc28gdGhpcyBpcyBzYWZlci4KCjIwMTAtMTItMjggMTY6NTU6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDEwLTEyLTI3IDE2OjU4OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmLmM6CgkgIGFzZm11eDogRml4IHBsdWdpbiBwYWNrYWdlIG5hbWUvb3JpZ2luCgoyMDEwLTEyLTI3IDEzOjIwOjI4ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogZml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEwLTEyLTI3IDExOjEwOjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5oOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGNsZWFuLXVwOiBhbGxvY2F0ZSBmbGF0IGFycmF5IG9mIHJlY3RhbmdsZXMKCSAgaW5zdGVhZCBvZiBhbiBhcnJheSBvZiBwb2ludGVycyB0byBpbmRpdmlkdWFsbHktYWxsb2NhdGVkIHJlY3RhbmdsZXMuCgoyMDEwLTEyLTIzIDE4OjE4OjUwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuaDoKCSAgdGlnZXI6IGZhbGxiYWNrIG9uIGhlYWRlcnMgaW4gY2FwcyB0byBpbml0aWFsaXplIGlmIGhlYWRlcnMgYXJlIGFic2VudAoJICBXaGVuIFRvdGVtIHN3aXRjaGVzIHN0cmVhbXMsIHRpZ2VyIHdpbGwgYmUgcmVzZXQsIGFuZCBzdGFydCByZWNlaXZpbmcKCSAgYnVmZmVycyBmcm9tIHRoZSBtaWRkbGUgb2YgdGhlIHN0cmVhbSwgd2l0aG91dCBiZWluZyBzZW50IGhlYWRlcnMuCgkgIElmIHRoaXMgaGFwcGVucywgdHJ5IHRvIGdldCBoZWFkZXJzIGZyb20gdGhlIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzgwMDQKCjIwMTAtMTItMjYgMTc6MTk6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSAgcGhvdG9ncmFwaHk6IGZpeCB0eXBvIGluIHByb3BlcnR5IGRlc2NyaXB0aW9uCgoyMDEwLTEyLTI2IDE3OjA3OjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkgIGV4YW1wbGVzOiBmaXggZ3RrMyBjb2RlIHBhdGggaW4gY2FtZXJhYmluIGV4YW1wbGUgYXBwCgkgIEp1c3QgYWRkIHJvd3MgdmlhIHRoZSBjb21ib2JveCdzIG1vZGVsLCB3aGljaCBzaG91bGQgd29yayB3aXRoCgkgIGJvdGggZ3RrMiBhbmQgZ3RrMywgaW5zdGVhZCBvZiB1c2luZyB0aGUgZ3RrX2NvbWJvX2JveF9hcHBlbmRfdGV4dCgpCgkgIGNvbnZlbmllbmNlIEFQSSAod2hpY2ggd2FzIHJlbmFtZWQgdG8gZ3RrX2NvbWJvX2JveF90ZXh0X2FwcGVuZF90ZXh0KCkpLgoJICBGaXhlcyBjb21waWxhdGlvbiBhZ2FpbnN0IGd0azMgKHRoZXJlIHdhcyBhIHR5cG8gaW4gdGhlIGxpc3Qgc3RvcmUKCSAgdmFyaWFibGUgbmFtZSwgc3BvdHRlZCBieSBNYXJrdXMgVmFydGlhaW5lbikuCgoyMDEwLTEyLTI1IDE3OjAxOjExICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJICBrYXRlOiBpZiBzZWVraW5nIHdpdGggR1NUX1NFRUtfVFlQRV9DVVIsIGZsdXNoIGV2ZXJ5dGhpbmcKCSAgV2UgZG9uJ3Qga25vdyBob3cgdG8gY2FsY3VsYXRlIHRoZSB0YXJnZXQsIHNvIGJlIHNhZmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDA5MjkKCjIwMTAtMTItMjUgMTY6NDQ6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIHRpZ2VyOiBtb3ZlICNpZiAjZWxzZSBiaXRzIG91dHNpZGUgb2YgbWFjcm8KCSAgU29tZSBjb21waWxlcnMvcHJlcHJvY2Vzc29ycyBkb24ndCBsaWtlIGlmL2Vsc2UvZW5kaWYgcHJlcHJvY2Vzc29yCgkgIGRpcmVjdGl2ZXMgaW4gdGhlIG1pZGRsZSBvZiBtYWNyb3MuCgoyMDEwLTEyLTI0IDE0OjQ0OjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSAgZHZic3Vib3ZlcmxheTogY2xlYW4tdXA6IG1lcmdlIHByaXZhdGUgZGF0YSBzdHJ1Y3QgaW50byBtYWluIHN0cnVjdAoKMjAxMC0xMi0yNCAxNDoyNDoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuaDoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBjbGVhbi11cDogZHZiIHN1YiBwYXJzZXIgaGVscGVyIGRvZXNuJ3QgbmVlZCB0byBiZSBhIEdPYmplY3QKCjIwMTAtMDEtMjUgMTg6MjY6MjUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRlLmM6CgkgIHRpZ2VyOiBHaXZlIHRpZ2VyIHByaW1hcnkgcmFuawoKMjAxMC0wMS0yNSAxODo1ODozOCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL01ha2VmaWxlLmFtOgoJKiBleHQva2F0ZS9nc3RrYXRlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5oOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmg6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmg6CgkgIGthdGU6IGFkZCBzZWdtZW50IHRyYWNraW5nLCBhbmQgdmFyaW91cyBvdGhlciBpbXByb3ZlbWVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwMDkyOQoKMjAxMC0xMi0yNCAxMDoxNTo0NiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6CgkgIG12ZTogZG8gbm90IHVzZSB0aGUgcGFkIGJ1ZmZlciBhbGxvY2F0aW9uIGZ1bmN0aW9ucyBpbiBkZW11eGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM3OTI5CgoyMDEwLTEyLTI0IDA5OjUwOjAwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBkbyBub3QgdXNlIHRoZSBwYWQgYnVmZmVyIGFsbG9jYXRpb24gZnVuY3Rpb25zIGluIGRlbXV4ZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzc5MzEKCjIwMTAtMTItMjMgMjI6MDE6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiB0cnkgaGFyZGVyIHRvIG1ha2UgYnVmZmVyIG1ldGFkYXRhIHdyaXRhYmxlIGJlZm9yZSBtb2RpZnlpbmcKCSAgQWxzbywgY2hlY2sgYnVmZmVyIGZvciBOVUxMLW5lc3MgYmVmb3JlIGRlcmVmZXJlbmNpbmcgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzc4MjQKCjIwMTAtMTItMjIgMTE6NDQ6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJICBiYXNlY2FtZXJhc3JjOiBOb3RpZnkgZWFybGllcgoJICBOb3RpZnkgYWJvdXQgcmVhZHktZm9yLWNhcHR1cmUgY2hhbmdlcyBlYXJsaWVyIHRvIGFsbG93IGNhbWVyYWJpbjIKCSAgdG8gZG8gdGhlIHZpZGVvYmluIHN0YXRlIHN3aXRjaGluZyBiZWZvcmUgdGhlIGNhcHR1cmUgc3RhcnRzLgoKMjAxMC0xMi0yMSAxOToyMjozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5jOgoJICB2aWRlb3JlY29yZGluZ2JpbjogRml4IGxlYWtzCgoyMDEwLTEyLTIxIDExOjA0OjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogUmVmYWN0b3IgdGVzdHMKCSAgUmVmYWN0b3IgdGVzdHMgY2FzZSBzbyB0aGF0IHRoZSBzYW1lIHRlc3RzIGNhbiBiZSBydW4gZm9yIGRpZmZlcmVudAoJICBjYW1lcmEgc291cmNlcy4KCjIwMTAtMTItMjAgMTg6MzA6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IGdpdGlnbm9yZSBjYW1lcmFiaW4yIHRlc3RzCgkgIEFkZHMgbW9yZSBjYW1lcmFiaW4yIGVsZW1lbnRzIHRlc3RzIHRvIGdpdGlnbm9yZQoKMjAxMC0xMi0yMCAxODowOToyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IEFkZCBjb252ZXJ0ZXJzIGZvciB2aWV3ZmluZGVyIGJyYW5jaAoJICBWaWV3ZmluZGVyIGJyYW5jaCBzaG91bGQgaGF2ZSBjb252ZXJ0ZXJzIGFzIGl0IGhhcyB0byB3b3JrCgkgIGFsd2F5cyBhbnl3YXkuCgoyMDEwLTEyLTIwIDE0OjIwOjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWNhcHR1cmViaW4uYzoKCSAgaW1hZ2VjYXB0dXJlYmluOiBBZGQgYW5vdGhlciB0ZXN0IGNhc2UKCSAgQWRkcyBhIHRlc3QgY2FzZSB0byBjaGVjayBpZiBhIHNlcXVlbmNlIG9mIGJ1ZmZlcnMgd2l0aCBkaWZmZXJlbnQKCSAgY2FwcyBjYW4gYmUgcHVzaGVkIHRvIGltYWdlY2FwdHVyZWJpbiBhbmQgc2F2ZWQgY29ycmVjdGx5CgoyMDEwLTEyLTIwIDAyOjU5OjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWV3ZmluZGVyYmluLmM6CgkgIHZpZXdmaW5kZXJiaW46IEFkZCBiYXNpYyBjaGVjayB0ZXN0CgkgIEFkZHMgbWluaW11bSBjaGVjayB0ZXN0LiBJdCdzIG5vdCBhIHZlcnkgdXNlZnVsIHRlc3QsIGJ1dCBhdCBsZWFzdAoJICBpdCBhbGxvd3MgdXMgdG8gcnVuIGl0IHVuZGVyIHZhbGdyaW5kIGFuZCBjaGVjayBmb3IgbGVha3MgYXV0b21hdGljYWxseQoKMjAxMC0xMi0yMCAwMjo1ODo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkgIHZpZXdmaW5kZXJiaW46IFJlbW92ZSBsZWFrcwoJICBSZW1vdmluZyB2YXJpb3VzIGxlYWtzIGZyb20gdmlld2ZpbmRlcmJpbgoKMjAxMC0xMi0xNyAyMzowNjo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IG1vcmUgbG9ncwoKMjAxMC0xMi0xNyAyMzowNjoyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFNtYWxsIHRlc3RzIHVwZGF0ZQoJICBJbmNyZWFzZXMgdGltZW91dCB2YWx1ZSBzbyB0aGF0IHRlc3RzIHdvbid0IGZhaWwgd2l0aCBmdWxsCgkgIGRlYnVnIG91dHB1dC4KCSAgQWxzbyByZW1vdmVzIGJ1ZmZlciBhbGxvYyBmcm9tIHZpZGVvdGVzdHNyYyBhcyB0aGlzIGZlYXR1cmUKCSAgaXNuJ3QgcmVhZHkgb24gY2FtZXJhYmluMgoKMjAxMC0xMi0xNCAyMjowNjozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZHMgdGVzdHMgZm9yIGltYWdlIGNhcHR1cmUgd2l0aCBkaWZmZXJlbnQgY2FwcwoJICBBZGRzIGEgdGVzdCB0aGF0IHRyaWVzIHN1Y2Vzc2l2ZSBjYXB0dXJlcyB3aXRoIGRpZmZlcmVudCBjYXBzCgoyMDEwLTEyLTE2IDAwOjQwOjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBIYW5kbGUgY2FtZXJhYmluMiBjdXN0b20gcmVuZWdvdGlhdGUgZXZlbnRzCgoyMDEwLTEyLTE1IDE0OjA1OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogVXNlIGN1c3RvbSByZW5lZ290aWF0ZSBldmVudAoJICBBZGRzIGEgY3VzdG9tIHJlbmVnb3RpYXRlIGV2ZW50IHRoYXQgaXMgcHVzaGVkIHRvIHRoZSBjYW1lcmFzcmMgcGFkCgkgIHRoYXQgbmVlZHMgcmVuZWdvdGlhdGlvbiBkdWUgdG8gdGhlIHVzZXIgc2VsZWN0aW5nIGEgbmV3IGNhcHR1cmUKCSAgY2FwcyBmb3IgdGhhdCBwYWQuCgkgIFRoaXMgaXMgYSB3YXkgb2Ygbm90aWZ5aW5nIHRoZSBzb3VyY2UgdGhhdCBpdCBzaG91bGQgdXBkYXRlIGl0cyBjYXBzLCBldmVuCgkgIGlmIGl0IGRvZXNuJ3QgdXNlIHBhZCBhbGxvY3MuCgoyMDEwLTEyLTE2IDIyOjQ5OjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBBZGQgbG9jYWwgbW9kZQoKMjAxMC0xMi0xNCAxODo0Mjo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZHMgcHJvcGVydGllcyBmb3IgY2FwdHVyZSBjYXBzCgkgIEFkZHMgcHJvcGVydGllcyBmb3Igc2VsZWN0aW5nIGNhcHMgZm9yIHZpZGVvIGFuZCBpbWFnZSBjYXB0dXJlcwoKMjAxMC0xMi0xOSAxOTo0MDo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkgIGJhc2VjYW1lcmFiaW5zcmM6IEZpeCBtYWtlZmlsZSBidWlsZGluZyBvcmRlcgoJICBiYXNlY2FtZXJhYmluc3JjIG11c3QgYmUgYnVpbHQgYWZ0ZXIgcGhvdG9ncmFwaHkgaW50ZXJmYWNlCgkgIGFzIGl0IGRlcGVuZHMgb24gaXQuCgoyMDEwLTEyLTEwIDE3OjQ1OjQwICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSAgY2FtZXJhYmluMjogcmVtb3ZlIGFicmV2aWF0aW9ucyBmcm9tIGltYWdlY2FwdHVyZWJpbgoKMjAxMC0xMi0xNiAwODo0Nzo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IEFkZCBzb21lIG1vcmUgbG9nZ2luZwoJICBBZGRzIHNvbWUgbW9yZSBsb2dnaW5nIGFuZCBhbHdheXMgYXNzdW1lIGNhcHR1cmUgaGFzIHN0YXJ0ZWQgYmVmb3JlCgkgIHN0YXJ0X2NhcHR1cmUgaXMgY2FsbGVkLiBUaGlzIGhlbHBzIG9uIGltYWdlIGNhcHR1cmVzIHRoYXQgbWlnaHQKCSAgY2FsbCBmaW5pc2hfY2FwdHVyZSBkaXJlY3RseSBmcm9tIHN0YXJ0X2NhcHR1cmUgb3IgYmVmb3JlIHN0YXJ0X2NhcHR1cmUKCSAgZmluaXNoZXMuCgoyMDEwLTEyLTE1IDIyOjM1OjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IE1vcmUgY2xlYW51cAoJICBSZW1vdmUgb2xkIGxlZ2FjeSBjb2RlIGNvcGllZCBmcm9tIGNhbWVyYWJpbigxKSB0aGF0IHNob3VsZCBiZSBoYW5kbGVkCgkgIGJ5IGNhcHMgbmVnb3RpYXRpb24gb24gY2FtZXJhYmluMgoKMjAxMC0xMi0xNSAxNDowNzoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCSAgUmVtb3ZlIHdhaXRfZm9yX3ByZXBhcmEgdmFyaWFibGUgdGhhdCB3YXNuJ3QgYmVpbmcgdXNlZAoKMjAxMC0xMi0xNCAxNzoyMzoxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RwbHVnaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFJlbmFtZSB2NGwyY2FtZXJhc3JjIHRvIHdyYXBwZXJjYW1lcmFiaW5zcmMKCSAgVXNlIGEgYmV0dGVyIG5hbWUgZm9yIHRoZSBlbGVtZW50IHRoYXQgd3JhcHMgc2luZ2xlIHBhZCBzcmMgZWxlbWVudAoJICBpbnRvIGEgM3BhZCBzb3VyY2UgcmVxdWlyZWQgYnkgY2FtZXJhYmluMi4KCjIwMTAtMTItMTQgMTY6NTk6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmg6CgkgIHY0bDJjYW1lcmFzcmM6IHJlbW92ZSB2aWRlbyBmaWx0ZXIgcHJvcGVydHkgY29kZQoJICBSZW1vdmVzIHNvbWUgdW51c2VkIGN1c3RvbSB2aWRlbyBmaWx0ZXIgZWxlbWVudCBwcm9wZXJ0eSBjb2RlCgoyMDEwLTEyLTE2IDEwOjUxOjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSAgdmlld2ZpbmRlcmJpbjogRml4IHZpZGVvLXNpbmsgcHJvcGVydHkgYWdhaW4KCSAgQXZvaWQgc3dpdGNoaW5nIHRoZSBlbGVtZW50IG9uIHRoZSBzZXRfcHJvcGVydHkgZnVuY3Rpb24sIGluc3RlYWQgd2FpdAoJICBmb3IgdGhlIG5leHQgTlVMTCAtPiBSRUFEWSB0cmFuc2l0aW9uLgoKMjAxMC0xMi0xNCAxNDo0ODoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFVzZSB2aWRlb3Rlc3RzcmMgb24gdGhlIHRlc3RzCgkgIFVzZSB2aWRlb3Rlc3RzcmMgdG8gYXZvaWQgb3Blbm5pbmcgdGhlIGNhbWVyYSBkZXZpY2Ugb24gdGhlIHRlc3RzLgoKMjAxMC0xMi0xNCAxNDo0Mzo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkgIHY0bDJjYW1lcmFzcmM6IGFkZCB2aWRlby1zcmMgcHJvcGVydHkKCSAgQWRkcyBhIHByb3BlcnR5IHRvIHNlbGVjdCB0aGUgc3JjIGVsZW1lbnQgdG8gYmUgdXNlZCBpbnRlcm5hbGx5CgkgIG9uIHY0bDJjYW1lcmFzcmMuIFllYWgsIEkga25vdywgdGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgYmV0dGVyCgkgIG5hbWUuCgoyMDEwLTEyLTEzIDE3OjU2OjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkIHRlc3QgZm9yIHN1cHBvcnRlZCBjYXBzIHByb3BlcnRpZXMKCSAgQWRkcyB0ZXN0cyBmb3IgY2hlY2tpbmcgdGhhdCB0aGUgc3VwcG9ydGVkIGNhcHMgcHJvcGVydGllcyB3b3JrCgkgIGFzIGV4cGVjdGVkICh1c2luZyB0aGUgcmVzcGVjdGl2ZSBwYWRzIGdldCBjYXBzIGZ1bmN0aW9uKQoKMjAxMC0xMi0xNCAwODo0NDozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9QT1JUSU5HOgoJICBjYW1lcmFiaW4yOiBhZGRzIFBPUlRJTkcgZG9jdW1lbnQKCSAgQWRkcyBhIFBPUlRJTkcgZG9jdW1lbnQgdG8gZXhwbGFpbiB0aGUgZGlmZmVyZW5jZXMgZnJvbQoJICBjYW1lcmFiaW4gdG8gY2FtZXJhYmluMiBhbmQgaGVscCBhcHBsaWNhdGlvbiBkZXZlbG9wZXJzIG9uCgkgIHBvcnRpbmcgZnJvbSBvbmUgdG8gYW5vdGhlci4KCjIwMTAtMTItMTMgMTk6MzY6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmluLWVudW0uYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4tZW51bS5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBNb3ZlIGJhc2VjYW1lcmFzcmMgdG8gZ3N0LWxpYnMKCSAgTW92ZSB0aGUgYmFzZSBjYW1lcmEgc3JjIGNsYXNzIHRvIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjIHRvCgkgIGFsbG93IGl0IHRvIGJlIGluY2x1ZGVkIGZyb20gdGhlIHRlc3RzLgoKMjAxMC0xMi0xNCAxNDoyODo0OSArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlkZW9yZWNvcmRpbmdiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlkZW9yZWNvcmRpbmdiaW4uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9yZWNvcmRpbmdiaW4uYzoKCSAgY2FtZXJhYmluMjogYWRkIHZpZGVvcmVjb3JkaW5nYmluOjp2aWRlby1tdXhlciBwcm9wZXJ0eQoKMjAxMC0xMi0xNCAxMjoyMTo1NyArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlkZW9yZWNvcmRpbmdiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlkZW9yZWNvcmRpbmdiaW4uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9yZWNvcmRpbmdiaW4uYzoKCSAgY2FtZXJhYmluMjogYWRkIHZpZGVvcmVjb3JkaW5nYmluOjp2aWRlby1lbmNvZGVyIHByb3BlcnR5CgoyMDEwLTEyLTE0IDA5OjU4OjM1ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5jOgoJICBjYW1lcmFiaW4yOiByZW1vdmUgYWJicmV2aWF0aW9ucyBmcm9tIHZpZGVvcmVjb3JkaW5nYmluCgoyMDEwLTEyLTE0IDEwOjQ4OjU2ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSAgY2FtZXJhYmluMjogaW1hZ2VjYXB0dXJlYmluOiByZWxlYXNlIG9iamVjdHMgYW5kIG1lbW9yeSBhbGxvY2F0aW9ucwoKMjAxMC0xMi0xMyAxNjozNjoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogQWRkIGNhbWVyYS1zcmMgcHJvcGVydHkKCSAgQWRkcyBhIHByb3BlcnR5IHRvIHNlbGVjdCB0aGUgY2FtZXJhIHNvdXJjZSBlbGVtZW50IHRvIGJlIHVzZWQuCgkgIENoYW5naW5nIG9ubHkgaGFwcGVucyBvbiB0aGUgbmV4dCBOVUxMLT5SRUFEWSB0cmFuc2l0aW9uCgoyMDEwLTEyLTEzIDExOjUzOjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBSZW5hbWUgdmFyaWFibGVzCgkgIFVzZSBiZXR0ZXIgbmFtZSBmb3IgdGhlIHZhcmlhYmxlcywgbWFraW5nIHRoZSBjb2RlIGNsZWFyZXIuIEFsc28KCSAga2VlcCBhIHJlZiBmb3Igc29tZSBpbnRlcm5hbCBlbGVtZW50cyB0byBhdm9pZCBmZXRjaGluZyB0aGVtCgkgIGJ5IG5hbWUgd2hlbiBuZWVkZWQgbGF0ZXIuCgoyMDEwLTEyLTEyIDIzOjAzOjIxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGQgcHJvcGVydGllcyBmb3Igc3VwcG9ydGVkIGNhcHR1cmUgY2FwcwoJICBBZGRzIDIgcHJvcGVydHkgZm9yIGdldHRpbmcgdGhlIHN1cHBvcnRlZCBpbWFnZS92aWRlbyBjYXB0dXJlCgkgIGNhcHMgZnJvbSB0aGUgY2FtZXJhIHNvdXJjZS4KCjIwMTAtMTItMTIgMjA6NDY6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkgIGNhbWVyYWJpbjI6IFB1dCBlbnVtcyBpbnNpZGUgdGhlaXIgY2xhc3NlcyAuYwoJICBSZW1vdmUgZ2xvYmFsIGxpc3Qgb2YgcHJvcGVydGllcycgZW51bXMgYW5kIHB1dCB0aGVtCgkgIGluc2lkZSB0aGVpciBjbGFzc2VzIC5jCgoyMDEwLTEyLTEyIDE5OjMzOjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdmlld2ZpbmRlcmJpbjogRml4ZXMgdG8gdmlkZW8tc2luayBoYW5kbGluZwoJICBIYW5kbGUgdmlkZW8tc2luayBtb3JlIGNhcmVmdWxseSwgY2hlY2tpbmcgaWYgaXQgc2hvdWxkCgkgIGJlIGFscmVhZHkgYWRkZWQgdG8gdGhlIGJpbiwgYW5kIHJlbW92aW5nIG9sZCBvbmVzIHdoZW4KCSAgcmVwbGFjaW5nLgoKMjAxMC0xMi0xMyAxNjoyODo1OCArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWNhcHR1cmViaW4uYzoKCSAgY2FtZXJhYmluMjogYWRkIGltYWdlY2FwdHVyZWJpbjo6aW1hZ2UtbXV4ZXIgcHJvcGVydHkKCjIwMTAtMTItMTMgMTI6MDg6MjIgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VjYXB0dXJlYmluLmM6CgkgIGNhbWVyYWJpbjI6IGFkZCBpbWFnZWNhcHR1cmViaW46OmltYWdlLWVuY29kZXIgcHJvcGVydHkKCjIwMTAtMTItMTAgMTc6NDU6NDAgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJICBjYW1lcmFiaW4yOiByZW1vdmUgYWJyZXZpYXRpb25zIGZyb20gaW1hZ2VjYXB0dXJlYmluCgoyMDEwLTEyLTEwIDEyOjA4OjQ4IC0wMzAwICBBbmRyw6kgRGllYiBNYXJ0aW5zIDxhbmRyZS5kaWViQGdtYWlsLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBpbXBsZW1lbnQgdmlld2ZpbmRlcmJpbjo6dmlkZW8tc2luayBwcm9wZXJ0eSB0byBvdmVycmlkZSBkZWZhdWx0IHZpZGVvIG91dHB1dAoKMjAxMC0xMi0wOSAxNDoxMzoxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IE1ha2UgY29uc3RydWN0X3BpcGVsaW5lIG9wdGlvbmFsCgkgIENvbnN0cnVjdCBwaXBlbGluZSBzaG91bGQgYmUgb3B0aW9uYWwuIFN1YmNsYXNzZXMgdGhhdCBkb24ndAoJICBoYXZlIGludGVybmFsIGVsZW1lbnRzIGRvbid0IG5lZWQgaXQuCgoyMDEwLTEyLTA5IDEyOjIzOjAxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSAgYmFzZWNhbWVyYXNyYzogd3JpdGUgbW9yZSBkZXRhaWxzIG9uIHRoZSBhcGkgZG9jcwoKMjAxMC0xMi0wOSAxMjoyMjoyNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJICBiYXNlY2FtZXJhc3JjOiB1c2UgdGhlIGVudW0gdHlwZSBmb3IgbW9kZQoKMjAxMC0xMi0wOSAxMjoyMToxNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJICBiYXNlY2FtZXJhc3JjOiBjb21tZW50IGNsZWFudXBzCgoyMDEwLTEyLTIyIDIxOjQ0OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogZW5zdXJlIGJ1ZmZlciBtZXRhZGF0YSBpcyB3cml0YWJsZSBiZWZvcmUgbW9kaWZ5aW5nIGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzc4MjQKCjIwMTAtMTItMjIgMTg6MTM6MDQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguYzoKCSAgaWQzbXV4OiBTZXQgdG8gR1NUX1JBTktfUFJJTUFSWQoJICBXZSB3YW50IGl0IHRvIHRha2UgcHJlY2VkZW5jZSBvdmVyIGFueSBvdGhlciBpZDMgZm9ybWF0dGVyLgoKMjAxMC0xMi0yMSAxODowMToyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IEZpeCBzb21lIG1vcmUgbGVha3MgYW5kIHJlb3JnYW5pemUgdW5yZWYgY29kZQoKMjAxMC0xMi0yMCAxNTozMzoyOCArMDEwMCAgYmVuamFtaW4gZ2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQHN0ZXJpY3Nzb24+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IEF2b2lkIHNvbWUgbGVha3MgaW4gYXV0b2NvbnZlcnQKCSAgdW5yZWYgc2luayBhbmQgc3JjIHBhZCBhZnRlciBnc3RfcGFkX2J5X2RpcmVjdGlvbiBjYWxscyB1bnJlZgoJICBlbGVtZW50IGlmIGdzdF9hdXRvX2NvbnZlcnRfYWN0aXZhdGVfZWxlbWVudCBmYWlsZWQuCgkgIFNlZSBidWcgIzYzNzU1My4KCjIwMTAtMTItMjEgMTc6MDM6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNmbXV4LmM6CgkgIGFzZm11eDogRml4IGJ1ZmZlciBsZWFrIGluIHRoZSB1bml0IHRlc3QKCjIwMTAtMTItMjAgMDc6MTk6MDQgLTA4MDAgIFNhbGVlbSBBYmR1bHJhc29vbCA8Y29tcG5lcmRAY29tcG5lcmQub3JnPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSAgY2FtZXJhYmluOiBmaXggZm9yIGxhdGVzdCBHVEsrIEFQSSBjaGFuZ2VzCgoyMDEwLTEyLTIwIDE3OjQ3OjI5ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMTY5NDYyYSB0byA0NjQ0NWFkCgoyMDEwLTEyLTIwIDExOjA2OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEZpeCBjYXBzIGxlYWtzCgkgIEZpeCBzb21lIGNhcHMgbGVha3Mgb24gdW5pdCB0ZXN0cwoKMjAxMC0xMi0yMCAwOTozNzoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgamlmbXV4OiBGaXggbGVha3Mgb24gY2hlY2sgdGVzdAoJICBGaXggbGVha3MgaW4gamlmbXV4IGNoZWNrIHRlc3QKCjIwMTAtMTItMjAgMTM6NTE6MDMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkgIHBob3RvZ3JhcGh5OiB1c2UgYSBmbGFncyB0eXBlIGluc3RlYWQgb2YgdGhlIHVpbnQKCSAgQWxzbyB1c2UgMCBhcyBkZWZhdWx0IGFuZCBsZXQgdGhlIGltcGxlbWVudGF0aW9uIHNldCBzb21ldGhpbmcgdGhhdCB0aGV5IHN1cHBvcnQuCgoyMDEwLTEyLTIwIDExOjE0OjQ5ICswMjAwICBIdSBHYW5nIDxnYW5nLmEuaHVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSAgcGhvdG9ncmFwaHk6IGFkZCBtaXNzaW5nIHByb3BlcnR5IGFuZCBjYWJhYmlsaXR5IGZsYWcgZm9yIG5vaXNlIHJlZHVjdGlvbgoKMjAxMC0xMi0xOSAxNzoyMzoyNCArMDUzMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2NvbnZlcnQuYzoKCSAgdGVzdHM6IEZpeCBsZWFrIGluIGF1dG9jb252ZXJ0IHRlc3QKCjIwMTAtMTItMTkgMTc6MTY6MTAgKzA1MzAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogVXNlIGdzdF9jYXBzX2Nhbl9pbnRlcnNlY3QoKQoKMjAxMC0xMi0xOSAxMjo1MzozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZyZWUgQXRvbUluZm8gc3RydWN0cwoKMjAxMC0xMi0xOSAxMjo1MDozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZyZWUgdGFnIHN0cmluZyBhZnRlciB1c2UKCjIwMTAtMTItMTkgMTI6MTI6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICB0YWdzY2hlY2tpbmc6IEZpeCBzb21lIG1vcmUgbWVtb3J5IGxlYWtzCgoyMDEwLTEyLTE5IDEyOjEyOjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlY2FwdHVyZWJpbi5jOgoJICBpbWFnZWNhcHR1cmViaW46IERvbid0IGxlYWsgbWVzc2FnZSBpbiB0aGUgdW5pdCB0ZXN0CgoyMDEwLTEyLTE5IDEyOjA5OjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJICBpbWFnZWNhcHR1cmViaW46IERvbid0IGxlYWsgcGFkIGFuZCBzaW5rCgoyMDEwLTEyLTE5IDEyOjA1OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJICBpbWFnZWNhcHR1cmViaW46IERvbid0IGxlYWsgcGFkIHRlbXBsYXRlIGNyZWF0ZWQgZnJvbSBzdGF0aWMgcGFkIHRlbXBsYXRlCgoyMDEwLTEyLTE5IDEyOjAzOjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJICBpbWFnZWNhcHR1cmViaW46IERvbid0IGxlYWsgbG9jYXRpb24gc3RyaW5nCgoyMDEwLTEyLTE5IDEyOjAwOjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBqaWZtdXg6IERvbid0IGxlYWsgdGFnbGlzdAoKMjAxMC0xMi0xOSAxMTozODowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b3ZpZGVvY29udmVydC5jOgoJICBhdXRvdmlkZW9jb252ZXJ0OiBEb24ndCBsZWFrIHBhZCB0ZW1wbGF0ZXMgY3JlYXRlZCBmcm9tIHN0YXRpYyBwYWQgdGVtcGxhdGVzCgoyMDEwLTEyLTE5IDExOjIwOjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvdmlkZW9jb252ZXJ0LmM6CgkgIGF1dG92aWRlb2NvbnZlcnQ6IEFkZCBhdXRvY29udmVydCBjaGlsZCBiZWZvcmUgY2hhaW5pbmcgdXAgdG8gcGFyZW50IHN0YXRlIGNoYW5nZSBmdW5jdGlvbgoJICAuLi5hbmQgcmVtb3ZlL3VubGluayBhdXRvY29udmVydCBjaGlsZCB3aGVuIGdvaW5nIGJhY2sgdG8gTlVMTC4KCjIwMTAtMTItMTkgMTE6MTk6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHN0YXRlczogSWdub3JlIG1vcmUgdmRwYXUgZWxlbWVudHMgaW4gdGhlIGdlbmVyaWMgc3RhdGVzIHRlc3QKCjIwMTAtMTItMTkgMTE6MTc6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvY29sb3JzcGFjZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvdmlkZW9jb252ZXJ0LmM6CgkgIGF1dG92aWRlb2NvbnZlcnQ6IFJlbmFtZSBhbmQgYWRqdXN0IHVuaXQgdGVzdCB0b28KCjIwMTAtMTItMTggMTI6NDg6NDIgLTA4MDAgIExlbyBTaW5nZXIgPGxlby5zaW5nZXJAbGlnby5vcmc+CgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkgIGFwcGxlbWVkaWE6IGZpeCBjb21waWxlciB3YXJuaW5nOiByZWR1bmRhbnQgZGVjbGFyYXRpb24gb2YgJ3BhcmVudF9jbGFzcycKCSAgR1NUX0JPSUxFUlBMQVRFX0ZVTEwgZGVjbGFyZXMgcGFyZW50X2NsYXNzIGFzIHdlbGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzc1MzIKCjIwMTAtMTItMTcgMTk6NDE6MjUgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogYWxsb3cgemVybyBkdXJhdGlvbiB0cmFja3MKCjIwMTAtMTItMTYgMTU6MzE6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmg6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogdXNlIEdTVF9MT0cgZXRjLiBmb3IgbG9nZ2luZwoJICBUaGUgZHZic3ViIHJvdXRpbmVzIHdlcmUgb3JpZ2luYWxseSBkZXNpZ25lZCBhcyBhIG1pbmkgbGliIHdpdGggYQoJICBsb2cgY2FsbGJhY2sgKHdoaWNoIGZyb20gdGhlIGxvb2tzIG9mIGl0IGluIG91ciBjYXNlIHdvdWxkIGFsd2F5cwoJICBiZSBjYWxsZWQgYW5kIGFsd2F5cyBhc3NlbWJsZSB0aGUgc3RyaW5nIGV2ZW4gd2l0aCBkZWJ1ZyBvdXRwdXQKCSAgZGlzYWJsZWQpLiBTb21lIG9mIHRoZXNlIGRlYnVnIHN0YXRlbWVudHMgY2FuIHByb2JhYmx5IGJlIHJlbW92ZWQKCSAgb3IgY2xlYW5lZCB1cCBzb21lIG1vcmUuCgoyMDEwLTEyLTE2IDAwOjE5OjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2ZmbXBlZy1jb2xvcnNwYWNlLmg6CgkgIGR2YnN1Ym92ZXJsYXk6IHJlbW92ZSBzb21lIHVudXNlZCBkZWZpbmVzCgoyMDEwLTEyLTE2IDAwOjEzOjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogZml4IGF0b21pYyBhY2Nlc3MKCjIwMTAtMTItMTYgMTU6MzM6NDUgKzAwMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogZml4IHJlbmRlcmluZyBhcnRlZmFjdHMKCSAgSW5pdGlhbGl6ZSBzb3VyY2UgeCBwb3NpdGlvbiBmb3Igb2RkIGhlaWdodCBzcGVjaWFsIGNhc2UuCgoyMDEwLTEyLTE2IDExOjI5OjA3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogVGhlIGVuYWJsZSBwcm9wZXJ0eSBpcyBhIGJvb2xlYW4gYW5kIG5vdCBhbiBpbnRlZ2VyCgoyMDEwLTEyLTE2IDA5OjU2OjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvY29udmVydC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb2xvcnNwYWNlLmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29sb3JzcGFjZS5oOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b3ZpZGVvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b3ZpZGVvY29udmVydC5oOgoJKiBnc3QvYXV0b2NvbnZlcnQvcGx1Z2luLmM6CgkgIGF1dG9jb252ZXJ0OiBSZW5hbWUgYXV0b2NvbG9yc3BhY2UgdG8gYXV0b3ZpZGVvY29udmVydAoJICBUaGlzIGRvZXNuJ3QganVzdCBjb252ZXJ0IGJldHdlZW4gY29sb3Igc3BhY2VzLgoKMjAxMC0xMi0xNSAxMjo0NTozOCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9NYWtlZmlsZS5hbToKCSogdG9vbHMvYmFzZS5jOgoJKiB0b29scy9lbGVtZW50LW1ha2VyOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9hdWRpb2ZpbHRlcjoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYXVkaW9zaW5rOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9hdWRpb3NyYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZWF1ZGlvc2luazoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZWF1ZGlvc3JjOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlcnRwZGVwYXlsb2FkOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlcnRwcGF5bG9hZDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXNpbms6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VzcmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2V0cmFuc2Zvcm06CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2NkZGFiYXNlc3JjOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9lbGVtZW50OgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9nb2JqZWN0OgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9wdXNoc3JjOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkLXNpbXBsZToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQtc2ltcGxlOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy90YWdkZW11eDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvdmlkZW9zaW5rOgoJKiB0b29scy9nb2JqZWN0LmM6CgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJKiB0b29scy9nc3RhdWRpb2ZpbHRlci5jOgoJKiB0b29scy9nc3RhdWRpb3NpbmsuYzoKCSogdG9vbHMvZ3N0YXVkaW9zcmMuYzoKCSogdG9vbHMvZ3N0YmFzZWF1ZGlvc2luay5jOgoJKiB0b29scy9nc3RiYXNlYXVkaW9zcmMuYzoKCSogdG9vbHMvZ3N0YmFzZXJ0cGRlcGF5bG9hZC5jOgoJKiB0b29scy9nc3RiYXNlcnRwcGF5bG9hZC5jOgoJKiB0b29scy9nc3RiYXNlc2luay5jOgoJKiB0b29scy9nc3RiYXNlc3JjLmM6CgkqIHRvb2xzL2dzdGJhc2V0cmFuc2Zvcm0uYzoKCSogdG9vbHMvZ3N0Y2RkYWJhc2VzcmMuYzoKCSogdG9vbHMvZ3N0ZWxlbWVudC5jOgoJKiB0b29scy9nc3RwdXNoc3JjLmM6CgkqIHRvb2xzL2dzdHRhZ2RlbXV4LmM6CgkqIHRvb2xzL2dzdHZpZGVvc2luay5jOgoJKiB0b29scy9zaW5rcGFkLXNpbXBsZS5jOgoJKiB0b29scy9zaW5rcGFkLmM6CgkqIHRvb2xzL3NyY3BhZC1zaW1wbGUuYzoKCSogdG9vbHMvc3JjcGFkLmM6CgkgIGVsZW1lbnQtbWFrZXI6IENsZWFuIHVwIGRpcmVjdG9yeQoKMjAxMC0xMi0xNSAyMToyODowNiArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQHN0ZXJpY3Nzb24uY29tPgoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICBiYXllcjJyZ2I6IEFkZCBmcmFtZXJhdGUgdG8gdGhlIHNpbmsgY2FwcwoJICBGaXhlcyBidWcgIzYzNzIyNC4KCjIwMTAtMTItMTUgMjE6MTk6NTUgKzAxMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBzdGVyaWNzc29uLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvY29sb3JzcGFjZS5jOgoJICBhdXRvY29sb3JzcGFjZTogQWRkIHVuaXQgdGVzdAoKMjAxMC0xMi0xNSAyMToxNDozOCArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQHN0ZXJpY3Nzb24uY29tPgoKCSogZ3N0L2F1dG9jb252ZXJ0L01ha2VmaWxlLmFtOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbG9yc3BhY2UuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb2xvcnNwYWNlLmg6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvcGx1Z2luLmM6CgkgIGF1dG9jb2xvcnNwYWNlOiBBZGQgYXV0b2NvbnZlcnQgYmFzZWQgdmlkZW8gZm9ybWF0IGNvbnZlcnQgZWxlbWVudAoJICBGaXhlcyBidWcgIzYzNjEwNi4KCjIwMTAtMTItMTUgMjE6MTE6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBSZW5hbWUgRFZCIHN1YnRpdGxpbmcgbWVkaWEgdHlwZSB0byBzdWJwaWN0dXJlL3gtZHZiCgoyMDEwLTEyLTE1IDIxOjExOjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IFJlbmFtZSBEVkIgc3VidGl0bGluZyBtZWRpYSB0eXBlIHRvIHN1YnBpY3R1cmUveC1kdmIKCjIwMTAtMTItMTUgMjA6NTQ6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBEb24ndCBkcmF3IGFueXRoaW5nIG9uIHRoZSB2aWRlbyBpZiB0aGUgZW5hYmxlIHByb3BlcnR5IGlzIHNldCB0byBGQUxTRQoKMjAxMC0xMi0xNSAyMDo1MzoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IEFkZCAjZGVmaW5lcyBmb3IgdGhlIHByb3BlcnR5IGRlZmF1bHQgdmFsdWVzCgoyMDEwLTEyLTE1IDIwOjUxOjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogVXNlIGdfYXRvbWljX2ludF9nZXQoKSBmb3IgcmVhZGluZyB0aGUgbWF4X3BhZ2VfdGltZW91dCBmaWVsZAoKMjAxMC0xMi0xNSAyMDo0OTo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBNYXJrIGFycmF5IHN0YXRpYyBjb25zdCBhbmQgdXNlIEdfTl9FTEVNRU5UUyBpbnN0ZWFkIG9mIHNpemVvZgoKMjAxMC0xMi0xNSAxNDozOTo1NiArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogYWRkIERFU0NfRFZCX1NVQlRJVExJTkcgZGVzY3JpcHRvciBmb3IgbGFuZ3VhZ2UgcGFyc2luZwoKMjAxMC0xMi0xNSAxNDoyMzo1OCArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZW5hYmxlIGdhdGhlcl9wZXMgb25seSBmb3IgRFZCIHN1YnRpdGxlIHByaXZhdGUgc3RyZWFtcwoKMjAxMC0xMi0xNCAxNDozNDo1NiArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiB1c2UgYXRvbWljIGluc3RydWN0aW9ucyB0byBzZXQvZ2V0IGVuYWJsZSBwcm9wZXJ0eQoKMjAxMC0xMi0xNCAxNDoyODo0NSArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5Lmg6CgkgIGR2YnN1Ym92ZXJsYXk6IGFkZCBwcm9wZXJ0eSB0byBsaW1pdCBwYWdlX3RpbWVfb3V0IHRvIGEgc2V0YWJsZSBtYXhpbXVtCgoyMDEwLTEyLTE0IDExOjExOjA4ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGltcGxlbWVudCBkaXNwbGF5IGRlZmluaXRpb24gc2VnbWVudCBzdWJ0aXRsZSB3aW5kb3dzCgkgIHNpbXBsaWZpZXMgc3VidGl0bGUgc2NhbGluZyBpbiBibGl0X2k0MjAoKQoKMjAxMC0xMi0xMSAxNzoyNToyOSArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBzY2FsZSBzdWJ0aXRsZXMgYWNjb3JkaW5nIHRvIHRoZSBkaXNwbGF5IHNpemUKCSAgRGlzcGxheSBzaXplIGlzIGVpdGhlciB0cmFuc21pdHRlZCBpbiB0aGUgZGlzcGxheSBkZWZpbml0aW9uIHNlZ21lbnQgb3IKCSAgaW1wbGljaXRseSBkZWZpbmVkIHRvIDcyMHg1NzYuIFRoZSBzdWJ0aXRsZSB3aW5kb3cgaW5mb3JtYXRpb24gYWxzbyBwcmVzZW50IGluCgkgIHRoZSBkaXNwbGF5IGRlZmluaXRpb24gc2VnbWVudCBpcyBub3QgeWV0IHVzZWQuCgoyMDEwLTEyLTExIDE3OjEwOjI1ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuaDoKCSAgZHZic3Vib3ZlcmxheTogaW1wbGVtZW50IGRpc3BsYXkgZGVmaW5pdGlvbiBzZWdtZW50IHBhcnNpbmcKCjIwMTAtMTItMTAgMTI6Mjc6NTQgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogZml4IGx1bWEgc3RyaWRlIGZvciBzY2FsZWQgc3VidGl0bGVzIChkaXNwbGF5IHdpZHRoICE9IHdpZHRoKQoKMjAxMC0xMi0xNSAxNjo0ODoxNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJICByc3Znb3ZlcmxheTogRG9uJ3Qgc2V0IHVpbnQgb24gYW4gaW50IHByb3BlcnR5CgoyMDEwLTEyLTE1IDE0OjU2OjE5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDIwNzQyYWUgdG8gMTY5NDYyYQoKMjAxMC0xMi0xNCAxOTowMzowOSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9NYWtlZmlsZS5hbToKCSogdG9vbHMvZWxlbWVudC1tYWtlcjoKCSogdG9vbHMvZ3N0YXVkaW9maWx0ZXIuYzoKCSogdG9vbHMvZ3N0YXVkaW9zaW5rLmM6CgkqIHRvb2xzL2dzdGF1ZGlvc3JjLmM6CgkqIHRvb2xzL2dzdGJhc2VhdWRpb3NpbmsuYzoKCSogdG9vbHMvZ3N0YmFzZWF1ZGlvc3JjLmM6CgkqIHRvb2xzL2dzdGJhc2VydHBkZXBheWxvYWQuYzoKCSogdG9vbHMvZ3N0YmFzZXJ0cHBheWxvYWQuYzoKCSogdG9vbHMvZ3N0YmFzZXNpbmsuYzoKCSogdG9vbHMvZ3N0YmFzZXNyYy5jOgoJKiB0b29scy9nc3RiYXNldHJhbnNmb3JtLmM6CgkqIHRvb2xzL2dzdGNkZGFiYXNlc3JjLmM6CgkqIHRvb2xzL2dzdGVsZW1lbnQuYzoKCSogdG9vbHMvZ3N0cHVzaHNyYy5jOgoJKiB0b29scy9nc3R0YWdkZW11eC5jOgoJKiB0b29scy9nc3R2aWRlb3NpbmsuYzoKCSogdG9vbHMvc2lua3BhZC1zaW1wbGUuYzoKCSogdG9vbHMvc2lua3BhZC5jOgoJKiB0b29scy9zcmNwYWQtc2ltcGxlLmM6CgkqIHRvb2xzL3NyY3BhZC5jOgoJICBlbGVtZW50LW1ha2VyOiBpbXByb3ZlIGdlbmVyYXRpb24gb2Ygc2V2ZXJhbCBjbGFzc2VzCgkgIEJldHRlciBjcmVhdGlvbiBvZiBwYWRzLCB0ZXN0IGFuZCBmaXggbWFueSBvdGhlciBjbGFzc2VzLiAgTW9zdAoJICBjbGFzc2VzIHdvcmsgbm93LCBhbHRob3VnaCBtaWdodCBub3QgY3JlYXRlIGZ1bmN0aW9uYWwgZWxlbWVudHMuCgoyMDEwLTEyLTEzIDIzOjMyOjMwIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuaDoKCSAgeTRtZGVjOiBBZGQgeTRtZGVjCgkgIEZlZWwgdGhlIHk0bSBsb3ZlLiAgSXQgc2Vla3MuICBJdCB3b3JrcyBpbiBwaXRpdmkuCgoyMDEwLTEyLTEzIDIzOjE1OjA1ICswMDAwICBGcmFuY2lzIFJhbW1lbG9vIDxmcmFuY2lzLnJhbW1lbG9vQGdtYWlsLmNvbT4KCgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmM6CgkgIGdkaXNjcmVlbmNhcHNyYzogZml4IG1lbW9yeSBsZWFrCgkgIFN0cnVjdHVyZSBtZW1iZXJzIG9mIElDT05JTkZPIHN0cnVjdCBmaWxsZWQgYnkgR2V0SWNvbkluZm8oKSBtdXN0CgkgIGJlIGRlbGV0ZWQgd2hlbiBubyBsb25nZXIgbmVlZGVkIGFjY29yZGluZyB0byB0aGUgQVBJIHJlZmVyZW5jZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMTQyOAoKMjAxMC0xMi0xMyAxNjoyMzozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBhdm9pZCBsZWFraW5nIHRhZyBldmVudAoKMjAxMC0xMi0xMyAxNToxNzoyOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiByZWxheCBic2lkIGNoZWNraW5nCgkgIC4uLiB0byB0aGUgd2lkZXN0IHBvc3NpYmxlIHNwZWMgaW50ZXJwcmV0YXRpb24uCgkgIEZpeGVzICM2MzcwNjIuCgoyMDEwLTEyLTEzIDE2OjIzOjQ1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDAxMWJjYzggdG8gMjA3NDJhZQoKMjAxMC0xMi0xMiAyMzozNDowMiArMDAwMCAgTWF0dGhldyBJZmUgPG1hdHRoZXcuaWZlQHVrZmFzdC5jby51az4KCgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgcmZic3JjOiBmYWlsIG1vcmUgZ3JhY2VmdWxseSBpZiBzb3VyY2UgZ2V0cyBkaXNjb25uZWN0ZWQgb3IgZ2VvbWV0cnkgY2hhbmdlcwoJICBEb24ndCBnZXQgY2F1Z2h0IGluIGFuIGluZmluaXRlIGxvb3AgaWYgdGhlIHNvdXJjZSBnZXRzIGRpc2Nvbm5lY3RlZCBhbmQgYWxzbwoJICBzdXBwb3J0IGdyYWNlZnVsbHkgZmFpbGluZyB1cG9uIGRldGVjdGluZyB0aGUgZnJhbWUgZ2VvbWV0cnkgaGFzIGluY3JlYXNlZAoJICAocmF0aGVyIHRoYW4gc2VnZmF1bHRpbmcpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM1Mzk3CgoyMDEwLTEyLTEyIDIyOjEzOjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGF2b2lkIGxlYWtpbmcgY29udmVydGVkIGNvbW1lbnQgc3RyaW5nCgoyMDEwLTEyLTEyIDEyOjAxOjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSAgc3NpbTogU2V0IGNsYXNzaWZpY2F0aW9uIHRvIEZpbHRlci9BbmFseXplci9WaWRlbyBpbnN0ZWFkIG9mIEZpbHRlci9Db252ZXJ0ZXIvVmlkZW8KCSAgRml4ZXMgYnVnICM2MzYxMDkuCgoyMDEwLTEyLTEyIDAyOjI0OjAwICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2J1cm4tZXhhbXBsZS5weToKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkgIGdhdWRpZWZmZWN0czogQXZvaWQgZGl2aWRlIGJ5IDAgaW4gYnVybiBlbGVtZW50CgoyMDEwLTEyLTEyIDAyOjE2OjQ5ICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIHJlc2luZHZkOiBEZWZlciBwdXNoaW5nIHRhZyB1cGRhdGVzIHVudGlsIHN0cmVhbWluZy4KCSAgUHVzaCB0YWcvdGl0bGUgaW5mbyB1cGRhdGVzIGluIHRoZSBzdHJlYW1pbmcgdGhyZWFkLCBhdm9pZGluZwoJICBzcHVyaW91cyBsb3NzZXMgb2YgdGhlIGRvd25zdHJlYW0gZXZlbnRzIHdoZW4gZmx1c2hpbmcuCgkgIFNlZTogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5NDIyMgoKMjAxMC0xMS0xNiAxNzoxODozMyArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBBdHRlbXB0IHRvIHVzZSBnbGliIGxhbmd1YWdlIHNldHRpbmcgZm9yIERWRCBtZW51cy9hdWRpbwoKMjAxMC0xMS0xNiAxNzowOTowNiArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBGaXggc2lsbHkgdHlwbyBpbiBidXR0b24gc3RhdGUgdHJhY2tpbmcuCgoyMDEwLTEyLTEwIDAwOjU4OjU4ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgYXBwbGVtZWRpYTogb25seSBlbnF1ZXVlIGJ1ZmZlcnMgaW4gdGhlIFZpZGVvVG9vbGJveCBjYWxsYmFja3MKCSAgVGhlc2UgY2FsbGJhY2tzIG1heSBmaXJlIGZyb20gYW55IHRocmVhZCwgaGVuY2Ugd2Ugc2hvdWxkIG9ubHkgZW5xdWV1ZQoJICBidWZmZXJzIGFuZCBsZXQgdGhlIHN0cmVhbWluZyB0aHJlYWQgdGFrZSBjYXJlIG9mIHRoZSByZXN0IGFzIHNvb24gYXMKCSAgdGhlIGJsb2NraW5nIGVuY29kZSBvciBkZWNvZGUgb3BlcmF0aW9uIGhhcyBmaW5pc2hlZC4KCjIwMTAtMTEtMTkgMTU6NTM6NTUgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFjdHguaDoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvZHluYXBpLWludGVybmFsLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2R5bmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9keW5hcGkuaDoKCSAgYXBwbGVtZWRpYTogYnJpbmcgYmFjayBMZW9wYXJkIGNvbXBhdGliaWxpdHkKCSAgQXQgbGVhc3QgYXMgZmFyIGFzIG1pb3ZpZGVvc3JjIGlzIGNvbmNlcm5lZC4gVHVybnMgb3V0IHRoYXQgQ29yZVZpZGVvJ3MKCSAgQ1ZQaXhlbEJ1ZmZlckdldElPU3VyZmFjZSBpcyBub3QgcHJlc2VudCBpbiBMZW9wYXJkJ3MgdmVyc2lvbiBvZiBDb3JlVmlkZW8uCgkgIFdlIHNvbHZlIHRoaXMgYnkgbWFraW5nIGl0IHBvc3NpYmxlIGZvciBzeW1ib2xzIHRvIGJlIG1hcmtlZCBhcyBvcHRpb25hbC4KCjIwMTAtMTEtMjkgMTM6NDc6MTEgKzAxMDAgIENocmlzdGlhbiBCZXJlbnRzZW4gPGNocmlzdGlhbi5iZXJlbnRzZW5AY2lzY28uY29tPgoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkgIHdpbmtzOiBmaXggZnJhbWVyYXRlIGZyYWN0aW9uIHJhbmdlIG1hcHBpbmcKCSAgTWluIGFuZCBtYXggbWF5IGJlIHNsaWdodGx5IGRpZmZlcmVudCBidXQgY29tcHJlc3MgdG8gdGhlIHNhbWUgZnJhY3Rpb24uCgoyMDEwLTEyLTA5IDE4OjA2OjM4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6CgkgIGphc3BlcmRlYzogZG9uJ3QgZmFpbCBoYXJkIG9uIGRlY29kaW5nIGVycm9yCgkgIGRvbid0IHBvc3QgYW4gZXJyb3IgYW5kIHJldHVybiBHU1RfRkxPV19FUlJPUiBvbiBhIHNpbXBsZSBkZWNvZGluZyBlcnJvci4gV2UgY2FuCgkgIGp1c3QgcmVzdW1lIGFuZCBjb250aW51ZSBkZWNvZGluZyB0aGUgbmV4dCBpbWFnZS4KCjIwMTAtMTItMDkgMTE6NTQ6MTcgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkgIHF0a2l0dmlkZW9zcmM6IHJlc2V0IHRoZSBxdWV1ZSBjb25kaXRpb24gdG8gTk9fRlJBTUVTIGluIHVubG9ja1N0b3AuCgkgIEZpeGVzIGEgc2VnZmF1bHQgaW4gY3JlYXRlOiB3aGVuIGdvaW5nIFBMQVlJTkcgLT4gUEFVU0VEIC0+IFBMQVlJTkcuCgoyMDEwLTEyLTA5IDExOjA0OjE5ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJICBxdGtpdHZpZGVvc3JjOiBydW4gdGhlIG1haW5SdW5Mb29wIGZvciBhIHdoaWxlIGlmIG5vdCBydW5uaW5nLgoJICBRVENhcHR1cmVTZXNzaW9uOjphZGRJbnB1dCBhbmQgUVRDYXB0dXJlU2Vzc2lvbjo6YWRkT3V0cHV0IGNhbGwKCSAgTlNPYmplY3Q6OnBlcmZvcm1TZWxlY3Rvck9uTWFpblRocmVhZCBpbnRlcm5hbGx5IHNvIHRoZXkgbmVlZCB0aGUgbWFpblJ1bkxvb3AgdG8KCSAgcnVuIGF0IGxlYXN0IGZvciBhIHdoaWxlIHRvIGNvbXBsZXRlLgoKMjAxMC0xMi0wNyAxOTo0MDoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmg6CgkgIGJhc2VjYW1lcmFzcmM6IFJlbW92ZSBnaG9zdHBhZHMKCSAgUmVtb3ZlIGdob3N0IHBhZHMgZnJvbSBiYXNlY2FtZXJhc3JjLiBEaWZmZXJlbnQgaW1wbGVtZW50YXRpb25zCgkgIG9mIGNhbWVyYSBzb3VyY2VzIG1pZ2h0IG5vdCB1c2UgZ2hvc3RwYWRzIGFuZCB1c2UgZGVmYXVsdCBwYWRzLgoKMjAxMC0xMi0wNyAxOToxMjo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJICBiYXNlY2FtZXJhc3JjOiBSZW1vdmluZyB1bnVuc2VkIG1ldGhvZHMKCSAgUmVtb3ZlIG9uZSB1bnVzZWQgbWV0aG9kIF9maW5pc2hfaW1hZ2VfY2FwdHVyZSgpCgoyMDEwLTEyLTA2IDExOjA1OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgY2FtZXJhYmluMjogT25seSBydW4gdGVzdHMgaWYgZXhwZXJpbWVudGFsIGlzIGVuYWJsZWQKCSAgT25seSBydW4gY2FtZXJhYmluMiB0ZXN0cyBhbmQgYnVpbGQgZXhhbXBsZXMgaWYgZXhwZXJpbWVudGFsCgkgIHBsdWdpbnMgYXJlIGVuYWJsZWQKCjIwMTAtMTItMDYgMTA6MDY6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkgIGNhbWVyYWJpbjI6IENsZWFudXAKCSAgUmVtb3ZpbmcgY29tbWVudGVkIGNvZGUKCjIwMTAtMTItMDUgMTE6MTg6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5oOgoJICBiYXNlY2FtZXJhc3JjOiBNb3ZlIHN0YXJ0L3N0b3AgY2FwdHVyZSBzaWduYWxzIHRvIGJhc2VjYW1lcmFzcmMKCSAgTW92ZSBzdGFydC9zdG9wIHNpZ25hbHMgYW5kIHJlYWR5LWZvci1jYXB0dXJlIHRvIGJhc2VjYW1lcmFzcmMKCSAgYXMgdGhpcyBzaG91bGQgYmUgcHJlc2VudCBvbiBhbGwgY2FtZXJhIHNvdXJjZXMKCjIwMTAtMTItMDQgMTA6MTU6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5oOgoJICBiYXNlY2FtZXJhc3JjOiBBZGQgbW9kZSBwcm9wZXJ0eQoJICBNb3ZlIG1vZGUgcHJvcGVydHkgZnJvbSB2NGwyY2FtZXJhc3JjIHRvIGJhc2VjYW1lcmFzcmMsIGFzIGFsbAoJICBjYW1lcmEgc291cmNlcyBzaG91bGQgaGFuZGxlIGl0LgoKMjAxMC0xMi0wNCAwMDoyNzoxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogUmVzZXQgYWxsIGVsZW1lbnRzIG9uIHZpZGVvIHJlY29yZGluZyBicmFuY2ggYmVmb3JlIGNhcHR1cmUKCSAgV2UgbmVlZCB0byByZXNldCB0aGUgZWxlbWVudHMgZnJvbSB0aGUgdmlkZW8gcmVjb3JkaW5nIGJyYW5jaCwgaW5jbHVkaW5nCgkgIHRoZSBxdWV1ZSBhbmQgY2Fwc2ZpbHRlciBpbiBvcmRlciB0byBjbGVhciB0aGUgZW9zIHN0YXRlIGFuZCBhY3RpdmF0ZQoJICB0aGUgcGFkcy4KCSAgVGhpcyBtYWtlcyBpdCBwb3NzaWJsZSB0byByZWNvcmQgbXVsdGlwbGUgdmlkZW9zIHdpdGggY2FtZXJhYmluMiBpbiBhCgkgIHNlcXVlbmNlLCBvdGhlcndpc2UgdGhlIHNvdXJjZSB3b3VsZCBnZXQgYSB1bmV4cGVjdGVkIHJldHVybiBhbmQKCSAgcHVzaCBFT1MsIHN0b3BwaW5nIHRoZSB3aG9sZSBwaXBlbGluZS4KCjIwMTAtMTItMDMgMTI6MTM6MDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBGaXggdGVzdHMgY2FwdHVyZSBsb2NhdGlvbiBjcmVhdGlvbgoJICBGaXhlcyBjYXB0dXJlIGxvY2F0aW9uIGNyZWF0aW9uIHRvIHVzZSBtdWx0aWZpbGVzaW5rIGxvY2F0aW9uCgkgIGxpa2Ugc3RyaW5ncy4gRS5nLiB1c2luZyBjYXB0dXJlXyVkIGluc3RlYWQgb2YgY2FwdHVyZV8wIHRvIGxldAoJICBjYW1lcmFiaW4yIGhhbmRsZSB0aGUgJWQgcmVwbGFjaW5nCgoyMDEwLTEyLTAzIDEyOjEyOjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJICBjYW1lcmFiaW4yOiBNb3JlIGRlYnVnIGxvZ3MKCSAgU3ByaW5rbGUgc29tZSBtb3JlIGRlYnVnZ2luZyBsb2dzCgoyMDEwLTEyLTAzIDEyOjExOjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjI6IFByaW50IG1vcmUgaW5mbwoJICBBZGQgc29tZSBwcmludGluZyBmb3IgZXJyb3IvZW9zIGNhc2VzLgoKMjAxMC0xMi0wMiAwMzo0NDozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZGVvcmVjb3JkaW5nYmluLmM6CgkgIGNhbWVyYWJpbjI6IFZhcmlvdXMgZml4ZXMKCSAgQXMgdmlkZW8gcmVjb3JkaW5nIGJpbidzIHN0YXRlIGlzIGxvY2tlZCwgd2Ugc2hvdWxkIGFsd2F5cwoJICByZW1lbWJlciBvZiBzZXR0aW5nIGl0IHRvIE5VTEwgd2hlbiBjYW1lcmFiaW4yIGdvZXMgdG8gTlVMTAoJICBCZSBtb3JlIGNhcmVmdWwgd2hlbiB1c2luZyBlbGVtZW50cyB0aGF0IG1pZ2h0IG5vdAoJICBoYXZlIGJlZW4gY3JlYXRlZCB5ZXQKCSAgQW5kIGRvIG5vdCBzZXQgbG9jYXRpb24gcHJvcGVydHkgcmVjdXJzaXZlbHkgb24gdmlkZW9yZWNvcmRpbmdiaW4KCjIwMTAtMTItMDIgMDM6MDg6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkaW5nIHRlc3RzIGZvciBjYW1lcmFiaW4yCgkgIEFkZHMgc29tZSBiYXNpYyB0ZXN0cyBmb3IgY2FtZXJhYmluMgoKMjAxMC0xMi0wMiAwMjoyMTo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VjYXB0dXJlYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvcmVjb3JkaW5nYmluLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBhZGRzIHRlc3RzIGZvciBlbGVtZW50cwoJICBBZGRzIGJhc2ljIHRlc3RzIGZvciBib3RoIGltYWdlY2FwdHVyZWJpbiBhbmQgZm9yCgkgIHZpZGVvcmVjb3JkaW5nYmluIGVsZW1lbnRzCgoyMDEwLTEyLTAyIDAxOjMzOjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSAgdmlld2ZpbmRlcmJpbjogSW1wcm92ZSBlbGVtZW50cyBjcmVhdGlvbgoJICBCZSBtb3JlIGNhcmVmdWwgd2l0aCBjbGVhbnVwIG9mIGVsZW1lbnRzLiBBbHNvIGFkZCBzb21lIGxvZ3MgYW5kCgkgIGltcHJvdmUgZG9jcyBhIGxpdHRsZS4KCjIwMTAtMTItMDIgMDA6MTk6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluLWVudW0uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSAgY2FtZXJhYmluMjogcmVtb3ZlIHVudXNlZCBjb2RlCgkgIEdlbmVyYWwgY2xlYW51cCwgcmVtb3ZpbmcgdW51c2VkIGJpdHMKCjIwMTAtMTEtMzAgMjA6MTM6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5oOgoJICBjYW1lcmFiaW4yOiBhZGRzIGxvY2F0aW9uIHByb3BlcnR5CgkgIEFkZHMgYSBsb2NhdGlvbiBwcm9wZXJ0eSB0byBlbmFibGUgYXBwbGljYXRpb25zIHRvIHNlbGVjdAoJICB0aGUgY2FwdHVyZWQgZmlsZXMgbmFtZXMuIExvY2F0aW9ucyBhcmUgaGFuZGxlZCBqdXN0IGxpa2UKCSAgbXVsdGlmaWxlc2luayBvbmVzCgkgIEFsc28gZGlzYWJsZXMgLVdmb3JtYXQtbm9ubGl0ZXJhbCB0byBhbGxvdyB0byB1c2Ugbm9uLWxpdGVyYWxzCgkgIG9uIGdfc3RyZHVwX3ByaW50ZiBvbiBjYW1lcmFiaW4gYW5kIGdlbmVyYXRlIGEgc2VxdWVuY2Ugb2YKCSAgbG9jYXRpb25zIGZvciBjYXB0dXJlcy4KCjIwMTAtMTEtMzAgMjA6MTU6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBGaXggc2V0L2dldCBwcm9wZXJ0eSBmdW5jdGlvbiBuYW1lcwoJICBBZGQgbW9yZSBjb25zaXN0ZW5jeSB0byB0aGUgZnVuY3Rpb24gbmFtZXMgYnkgdXNpbmcKCSAgZ3N0X2NhbWVyYV9iaW4gYXMgdGhlIG90aGVyIGZ1bmN0aW9ucy4KCjIwMTAtMTEtMzAgMTg6MTk6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IEhhbmRsZSB2aWRiaW4gc3RhdGUgY2hhbmdlIGluZGl2aWR1YWxseQoJICBLZWVwIHZpZGJpbiBzdGF0ZSBsb2NrZWQgdG8gYXZvaWQgaXQgZ29pbmcgdG8gcGxheWluZyB3aXRob3V0CgkgIGJlaW5nIHVzZWQgYW5kIGxlYXZpbmcgYW4gZW1wdHkgZmlsZSBjcmVhdGVkLgoJICBDaGVjayB0aGUgZG9jcyBvbiB0aGUgY29kZSBmb3IgZGV0YWlscyBvbiB0aGUgaGFuZGxpbmcuCgoyMDEwLTExLTMwIDExOjQwOjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBLZWVwIGl0IHVuZGVyIC0tZW5hYmxlLWV4cGVyaW1lbnRhbAoJICBjYW1lcmFiaW4yIGlzIHN0aWxsIHVuZGVyIGhlYXZ5IGRldmVsb3BtZW50LCBhY3RpdmF0ZSBpdCBvbmx5IGlmCgkgIHRoZSAtLWVuYWJsZS1leHBlcmltZW50YWwgZmxhZyBpcyBvbi4KCSAgQWxzbyBhZGQgYSBub3RlIHRvIHRoZSBkb2NzLgoKMjAxMC0xMS0zMCAxMTowNjozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkgIHY0bDJjYW1lcmFzcmM6IEFkZCByZWFkeS1mb3ItY2FwdHVyZSBwcm9wZXJ0eQoJICBBZGRzIHByb3BlcnR5IHRoYXQgaW5mb3JtcyBpZiB2NGwyY2FtZXJhc3JjIGlzIGF2YWlsYWJsZQoJICBmb3Igc3RhcnRpbmcgYSBuZXcgY2FwdHVyZS4KCSAgSXQgaXMgdXNlZnVsIGZvciBhcHBsaWNhdGlvbnMgdG8ga25vdyAodmlhIGRlZXAtbm90aWZ5KSB3aGVuIHRoZQoJICBwcm9wZXJ0eSBjaGFuZ2VzIGFuZCBhIG5ldyBjYXB0dXJlIGlzIHBvc3NpYmxlLiBOb3RlLCBob3dldmVyLCB0aGF0CgkgIHN0YXJ0aW5nIGEgbmV3IGNhcHR1cmUgZnJvbSB0aGUgbm90aWZ5IGNhbGxiYWNrIHdpbGwgY2F1c2UgYSBkZWFkbG9jay4KCjIwMTAtMTEtMzAgMDk6Mjg6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluLWVudW0uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5oOgoJICBjYW1lcmFiaW4yOiBVcGRhdGUgdjRsMmNhbWVyYXNyYyB0byB1c2Ugc3RhcnQvc3RvcCBzaWduYWxzCgkgIFJlbW92ZXMgdGhlIG9sZCBsb2dpYyBmb3IgdjRsMmNhbWVyYXNyYyB0aGF0IHVzZWQgdGhlIG1vZGUKCSAgcHJvcGVydHkgc3dpdGNoaW5nIHRvIHN0YXJ0L3N0b3AgY2FwdHVyZXMgdG8gbWFrZSBpdCBpZGVudGljYWwKCSAgdG8gY2FtZXJhYmluMiBiZWhhdmlvciBhbmQgdG8gYWxsb3cgdGhlIGZ1dHVyZSBhZGRpdGlvbiBvZgoJICBwYXVzaW5nIGEgdmlkZW8gcmVjb3JkaW5nLgoJICBUaGlzIGFsc28gcmVtb3ZlcyB0aGUgTU9ERV9QUkVWSUVXIGFzIGl0IGJlY2FtZSB1c2VsZXNzLgoKMjAxMC0xMS0yOSAxODo1MzozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogQ2xlYW51cCBjYXB0dXJpbmcgZmxhZwoJICBDbGVhbnVwIGNhcHR1cmluZyBmbGFnIHdoZW4gdGhlIHNvdXJjZSBzd2l0Y2hlcyBiYWNrIHRvIHRoZQoJICB2aWV3ZmluZGVyIG1vZGUKCjIwMTAtMTEtMjkgMTg6MjQ6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5oOgoJICB2NGwyY2FtZXJhc3JjOiBSZW1vdmUgdW5uZWNlc3NhcnkgcGFkZGluZwoKMjAxMC0xMS0yOSAxNTo0OToyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuaDoKCSAgdjRsMmNhbWVyYXNyYzogSW1wbGVtZW50IHZpZGVvIGNhcHR1cmUKCSAgSW1wbGVtZW50cyB2aWRlbyBjYXB0dXJlIG9uIHY0bDJjYW1lcmFzcmMgYnkgdXNpbmcgdGhlIG1vZGUgcHJvcGVydHksCgkgIHdoZW4gbW9kZSBpcyBzZXQgdG8gdmlkZW8sIHRoZSBwYWQgcHJvYmUgcHVzaGVzIGEgbmV3IHNlZ21lbnQKCSAgYW5kIHN0YXJ0cyBwdXNoaW5nIGJ1ZmZlcnMgb24gdGhlIHBhZCwgd2hlbiBpdCB0aGUgcHJvcGVydHkgaXMKCSAgc2VudCBiYWNrIHRvIHByZXZpZXcsIHRoZSBwYWQgcHJvYmUgcHVzaGVzIGFuIEVPUyBhbmQgc3RvcHMKCSAgcHVzaGluZyBidWZmZXJzLgoJICBUaGlzIGlzIGNvbnRyb2xsZWQgYnkgYSBSZWNvcmRpbmcgU3RhdGUgdmFyaWFibGUsIHRoYXQgaXMgcHJvdGVjdGVkCgkgIGJ5IHRoZSBHU1RfT0JKRUNUX0xPQ0suIEkgZG9uJ3QgdGhpbmsgbG9ja2luZyBmb3IgZXZlcnkgYnVmZmVyIGlzCgkgIG5pY2UsIHNvIHdlIGNvdWxkIGZpbmQgYW4gYWx0ZXJuYXRpdmUgbG9ja2xlc3Mgd2F5IGhlcmUuCgoyMDEwLTExLTI5IDEyOjU3OjIxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSAgdjRsMmNhbWVyYXNyYzogRml4IGltYWdlIGNhcHR1cmUKCSAgT25jZSBhIGltYWdlIGlzIGNhcHR1cmVkLCB2NGwyY2FtZXJhc3JjIHNob3VsZCByZXR1cm4gdG8gdGhlCgkgIHByZXZpZXcgbW9kZSBhbmQgc3RvcCBjYXB0dXJpbmcuCgoyMDEwLTExLTI5IDExOjMxOjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbi1lbnVtLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogS2VlcCBtb2RlIGRlZmluaXRpb24gYXQgLWVudW0gZmlsZQoJICBVc2UgJ21vZGUnIGVudW0gZGVmaW5pdGlvbiBmcm9tIGdzdGNhbWVyYWJpbi1lbnVtIGZpbGUgdG8gYXZvaWQKCSAgY29uZmxpY3RzIGJldHdlZW4gdjRsMmNhbWVyYXNyYyBhbmQgZ3N0Y2FtZXJhYmluMiBtb2Rlcy4KCSAgRm9yIG5vdyB0aGVyZSBpcyBhIE1PREVfUFJFVklFVyB0aGVyZSB0aGF0IGlzIG9ubHkgdXNlZCBvbiB0aGUKCSAgY2FtZXJhc3JjLCBub3Qgc3VyZSBpZiB3ZSBhcmUga2VlcGluZyBpdCBhdCB0aGUgZnV0dXJlLCBidXQgZm9yCgkgIG5vdyB0aGlzIHdvcmtzLgoKMjAxMC0xMS0yOSAxMDo0NjozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkgIHY0bDJjYW1lcmFzcmM6IEFkZHMgbW9kZSBwcm9wZXJ0eQoJICBBZGRzIG1vZGUgcHJvcGVydHkgdG8gdjRsMmNhbWVyYXNyYwoKMjAxMC0xMS0yOSAxMDo0NTozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkgIGNhbWVyYWJpbjI6IEFkZGluZyBkZWJ1ZyBjYXRlZ29yaWVzCgkgIEFkZGluZyBkZWJ1ZyBjYXRlZ29yaWVzIHRvIHY0bDJjYW1lcmFzcmMgYW5kIGNhbWVyYWJpbjIsIGFsc28KCSAgcmVtb3ZpbmcgZ2VuZXJpYyBjYXRlZ29yeSBmcm9tIGNhbWVyYWJpbmdlbmVyYWwuCgoyMDEwLTExLTI2IDIzOjU1OjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIudWk6CgkgIGV4YW1wbGVzOiBBZGRzIGNhbWVyYWJpbjIgZXhhbXBsZQoJICBBZGRzIGd0ayBjYW1lcmFiaW4yIGV4YW1wbGUgYXBwCgoyMDEwLTExLTI2IDE3OjI0OjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBBZGRpbmcgYmFzaWMgcHJvcGVydHkgYW5kIHNpZ25hbHMKCSAgQWRkcyBtb2RlIHByb3BlcnR5IHRvIGNhbWVyYWJpbjIsIGFsbG93aW5nIHVzZXJzIHRvCgkgIHNlbGVjdCBiZXR3ZWVuIHZpZGVvIGFuZCBzdGlsbHMgY2FwdHVyZS4gQWxzbyBhZGRzCgkgIHN0YXJ0L3N0b3AgY2FwdHVyZSBhY3Rpb25zIHRvIHRyaWdnZXIgYW5kIHN0b3AKCSAgY2FwdHVyaW5nCgoyMDEwLTExLTI2IDE1OjU1OjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5jOgoJICBjYW1lcmFiaW4yOiBTZXQgZmlsZXNpbmsncyBhc3luYyB0byBGQUxTRQoJICBJbiBvcmRlciB0byBwcmVyb2xsLCBjYW1lcmFiaW4yIHNob3VsZCBoYXZlIGl0cyBmaWxlc2lua3MgaW4KCSAgdGhlIGltYWdlY2FwdHVyZWJpbiBhbmQgdmlkZW9yZWNvcmRpbmdiaW4gd2l0aCBhc3luYz1GQUxTRS4KCjIwMTAtMTEtMjYgMTQ6NTE6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGRpbmcgYmFzaWMgZWxlbWVudHMKCSAgSW5zdGFudGlhdGluZyBhbmQgbGlua2luZyBiYXNpYyBlbGVtZW50cyBvbiBjYW1lcmFiaW4yCgkgIHNvIGl0IGF0IGxlYXN0IHNob3dzIHRoZSB2aWV3ZmluZGVyIHdoZW4gcnVubmluZy4KCjIwMTAtMTEtMjYgMTA6MTQ6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RwbHVnaW4uYzoKCSAgY2FtZXJhYmluMjogQWRkcyBhIHN0dWIgZWxlbWVudCBmb3IgY2FtZXJhYmluMgoJICBBZGRzIGNhbWVyYWJpbjIgZWxlbWVudCwgaXQgaXMgbm93IGEgcGlsZSBvZiBzdHVicy4KCjIwMTAtMTEtMjUgMjI6MDU6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJICBjYW1lcmFiaW4yOiB2NGwyY2FtZXJhc3JjOiBSZW1vdmUgcGxhdGZvcm0gc3BlY2lmaWMgY29kZQoJICBSZW1vdmUgcGxhdGZvcm0gc3BlY2lmaWMgY29kZQoKMjAxMC0xMS0yNSAyMTo0OTo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSAgY2FtZXJhYmluMjogUmVtb3ZpbmcgdW5lZWRlZCBwcm9wZXJ0aWVzCgkgIFJlbW92aW5nIHVuZWVkZWQgYW5kIHVucmVnaXN0ZXJlZCBwcm9wZXJ0aWVzLgoKMjAxMC0xMS0yNSAyMDo1NTozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkgIGNhbWVyYWJpbjI6IHY0bDJjYW1lcmFzcmM6IEZpeCBwcm9wZXJ0eSB3YXJuaW5nCgkgIEF2b2lkIHNldHRpbmcgYSBwcm9wZXJ0eSB0aGF0IGRvZXNuJ3QgZXhpc3QuCgoyMDEwLTExLTI1IDIwOjUzOjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5oOgoJICBjYW1lcmFiaW4yOiB2NGwyY2FtZXJhc3JjOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgkgIFJlbW92ZWQgdW51c2VkIGxlZnRvdmVyIHZhcmlhYmxlCgoyMDEwLTExLTI1IDE0OjU3OjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RwbHVnaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlkZW9yZWNvcmRpbmdiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlkZW9yZWNvcmRpbmdiaW4uaDoKCSAgY2FtZXJhYmluMjogQWRkcyB2aWRlbyByZWNvcmRpbmcgYmluCgkgIEFkZHMgYW4gYmluIHRoYXQgaXMgcmVzcG9uc2libGUgZm9yIGVuY29kaW5nIGFuZCBzYXZpbmcgdmlkZW8KCSAgc3RyZWFtcyB0byBmaWxlcy4KCSAgRm9yIG5vdyBpdCBpcyBzaW1wbHkgYSBmZm1wZWdjb2xvcnNwYWNlICEgdGhlb3JhZW5jICEgb2dnbXV4ICEKCSAgZmlsZXNpbmsgYmluLgoJICBTdGlsbCB1bmNhcGFibGUgb2YgcmVjb3JkaW5nIGF1ZGlvLgoKMjAxMC0xMS0yNSAxMzowMDo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4tZW51bS5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RwbHVnaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmg6CgkgIGNhbWVyYWJpbjI6IEFkZGluZyB2NGwyY2FtZXJhc3JjIGZyb20gcm9iY2xhcmsncyBicmFuY2gKCSAgQWRkcyAzLXBhZCB2NGwyIGNhbWVyYSBzb3VyY2UgZnJvbSBSb2IgQ2xhcmsncyBjYW1lcmFiaW4KCSAgYnJhbmNoIG9uIGh0dHA6Ly9naXRvcmlvdXMub3JnL3JvYmNsYXJrLWdzdHJlYW1lci9nc3QtcGx1Z2lucy1iYWQKCjIwMTAtMTEtMjQgMjA6MzE6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0cGx1Z2luLmM6CgkgIGNhbWVyYWJpbjI6IEFkZHMgbmV3IGltYWdlY2FwdHVyZWJpbgoJICBBZGRzIGFuIGJpbiB0aGF0IGlzIHJlc3BvbnNpYmxlIGZvciBpbWFnZSBjYXB0dXJlcy4KCSAgSXQgaXMgYSBzaW1wbGUgZmZtcGVnY29sb3JzcGFjZSAhIGpwZWdlbmMgISBqaWZtdXggISBtdWx0aWZpbGVzaW5rCgkgIGZvciBub3cuCgoyMDEwLTExLTI0IDIwOjE1OjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RwbHVnaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmg6CgkgIGNhbWVyYWJpbjI6IE1vdmUgcGx1Z2luIGluaXQgdG8gYSBzZXBhcmF0ZSBmaWxlCgkgIE1vdmVzIHBsdWdpbiBpbml0IHRvIGdzdHBsdWdpbi5jIHRvIGFsbG93IG11bHRpcGxlCgkgIGVsZW1lbnRzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMuCgoyMDEwLTExLTI0IDE3OjI4OjU3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5oOgoJICBjYW1lcmFiaW4yOiB2aWV3ZmluZGVyYmluOiBBZGRzIHZpZXdmaW5kZXJiaW4gZWxlbWVudAoJICBBZGRzIHZpZXdmaW5kZXIgYmluIGVsZW1lbnQsIG9uZSBvZiB0aGUgbW9kdWxlcyBvZiBjYW1lcmFiaW4yCgkgIHRoYXQgaXMgcmVzcG9uc2libGUgZm9yIGRpc3BsYXlpbmcgdGhlIHZpZGVvIGZyb20gdGhlIGNhbWVyYS4KCSAgRm9yIG5vdyBpdCBpcyBvbmx5IGEgYmluIHdpdGggZmZtcGVnY29sb3JzcGFjZSAhIHZpZGVvc2NhbGUgIQoJICBhdXRvdmlkZW9zaW5rCgoyMDEwLTEyLTA4IDE5OjM2OjQ4ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogZml4IGNvbXBpbGVyIHdhcm5pbmdzIG9uIE9TWC4KCjIwMTAtMTEtMjQgMTI6MjI6MDEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2ljbGVzL291dHB1dC1zZWxlY3Rvci10ZXN0LmM6CgkgIG91dHB1dC1zZWxlY3Rvci10ZXN0OiBkb24ndCBoYXJkY29kZSB2aWRlb3NpbmtzIGFuZCB1c2UgbW9yZSBjb2xvcnNwYWNlIGNvbnYuCgkgIFVzZSBhdXRvdmlkZW9zaW5rIGluc3RlYWQgb2YgaGFyZGNvZGVkIHNpbmtzLiBVc2UgYW4gYWRkaXRpb25hbCBjb2xvcnNwYWNlCgkgIGNvbnZlcnRlciBiZXR3ZWVuIHZpZGVvdGVzdHNyYyBhbmQgdGltZW92ZXJsYXkuCgoyMDEwLTEyLTA4IDE1OjE4OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZXF1aXJlIHJlbGVhc2VkIHZlcnNpb25zIG9mIGNvcmUvYmFzZSBpbnN0ZWFkIG9mIG9sZCBnaXQKCjIwMTAtMTItMDcgMTU6NDQ6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiByZS11c2UgY2xlYW51cCgpIGluIGZpbmFsaXplKCkKCSAgLi4uIGFuZCBhbHNvIGZhdm9yIGZpbmFsaXplKCkgcmF0aGVyIHRoYW4gZGlzcG9zZSgpLgoKMjAxMC0xMS0xOCAxMzozOToyMyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5oOgoJICBtcGVnNHZpZGVvcGFyc2U6IFNldCBzcmNwYWQgY2FwcyBiZWZvcmUgZm9yd2FyZGluZyBuZXdzZWdtZW50CgkgIFRoaXMgaG9sZHMgYWxsIG5ld3NlZ2VtZW50IGFuZCBtb3N0IG90aGVyIGV2ZW50cyB0aWxsIHRoZXJlIGlzIGVub3VnaAoJICBkYXRhIHRvIHNldCBzcmNwYWQgY2Fwcywgc28gdGhhdCB0aGUgZG93bnN0cmVhbSBsaW5rIGlzIHByb3Blcmx5CgkgIG5lZ290aWF0ZWQgYmVmb3JlIGRhdGEgc3RhcnRzIGZsb3dpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzUyMDQKCjIwMTAtMTEtMTggMjM6Mjk6NTEgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuaDoKCSAgbXBlZzR2aWRlb3BhcnNlOiBVc2Ugc2lua3BhZCBjYXBzIGFzIGJhc2UgZm9yIHNyY3BhZCBjYXBzCgkgIFRoaXMgd2F5LCB3ZSBkb24ndCBsb3NlIGFkZGl0aW9uYWwgZmllbGRzIHRoYXQgY29tZSBmcm9tIHVwc3RyZWFtIChsaWtlCgkgIHByb2ZpbGUvbGV2ZWwgZm9yIG5vdykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzUyMDIKCjIwMTAtMTItMDcgMTU6MjA6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBtaW5vciBmaXggdG8gZXJyb3IgaGFuZGxpbmcKCSAgV2Ugd2VyZW4ndCBoYW5kbGluZyB1bnBhcnNlYWJsZSBjb2RlY19kYXRhIGluIHNvbWUgY2FzZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzUyMDIKCjIwMTAtMTItMDcgMTc6MTc6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBJbXBsZW1lbnQgbmVhcmVzdCBuZWlnaGJvdXIgc2NhbGluZyBmb3IgdGhlIHN1YnBpY3R1cmVzCgkgIFRoaXMgYmVjb21lcyBuZWNlc3Nhcnkgd2hlbiBTRFRWIHN1YnRpdGxlcyBhcmUgdXNlZCBmb3IgSERUViB2aWRlb3MuCgoyMDEwLTEyLTA3IDE0OjU1OjI4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogYWxpZ24gY29kZSB3aXRoIGNvbW1lbnQKCjIwMTAtMTItMDcgMTQ6NTU6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiByZS11c2UgcmVzZXQoKSBpbiBmaW5hbGl6ZSgpCgoyMDEwLTExLTE3IDE5OjE2OjEyICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogU2V0IHNyY3BhZCBjYXBzIGJlZm9yZSBmb3J3YXJkaW5nIG5ld3NlZ21lbnQKCSAgVGhpcyBob2xkcyBhbGwgbmV3c2VnZW1lbnQgYW5kIG1vc3Qgb3RoZXIgZXZlbnRzIHRpbGwgdGhlcmUgaXMgZW5vdWdoCgkgIGRhdGEgdG8gc2V0IHNyY3BhZCBjYXBzLCBzbyB0aGF0IHRoZSBkb3duc3RyZWFtIGxpbmsgaXMgcHJvcGVybHkKCSAgbmVnb3RpYXRlZCBiZWZvcmUgZGF0YSBzdGFydHMgZmxvd2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNTIwNQoKMjAxMC0xMi0wNiAxOTowMDoyOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiB0cnkgdG8gY29udmVydCBjb21tZW50IHRhZyB0byBVVEYtOAoKMjAxMC0xMi0wNiAxODoxOToyMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBkaXNjYXJkIGluY29tcGxldGUgaW1hZ2UKCSAgLi4uIGFzIGRldGVybWluZWQgd2hlbiBmaW5kaW5nIFNPSSBuZXh0IGltYWdlIGJlZm9yZSBhbiBFT0kuCgoyMDEwLTEyLTA2IDE4OjE4OjExICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGF2b2lkIGluZmluaXRlIGxvb3Agd2hlbiByZXN5bmNpbmcKCjIwMTAtMTItMDYgMjI6NDg6MDkgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSAgYXVkaW9wYXJzZTogQWxsb3cgaW1wbGljaXQgY2hhbm5lbCBtYXAgZm9yIDEtLzItY2hhbm5lbCBhdWRpbwoJICBUaGlzIG1ha2VzIHN1cmUgd2UgZG9uJ3Qgc2V0IGFuIGVtcHR5IGNoYW5uZWwgbWFwIGFycmF5IGZvciAxLS8yLWNoYW5uZWwKCSAgYXVkaW8sIGNhdXNpbmcgYW4gYXNzZXJ0IGxhdGVyIG9uLgoKMjAxMC0xMi0wNiAxNzowODo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IFJldmVydCBzb21lIHBhcnRzIG9mIGxhc3QgY29tbWl0IHRoYXQgc2hvdWxkbid0IGJlIGNvbW1pdHRlZAoKMjAxMC0xMi0wNiAxNzowNToyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IFJlYWxseSBjaG9vc2UgdGhlIGxhdGVzdCBwb3NzaWJsZSBzdWJwaWN0dXJlcwoJICBBbmQgbm90IHRoZSBmaXJzdCBzdWJwaWN0dXJlcyB0aGF0IGFyZSBzdGlsbCB2YWxpZCBhY2NvcmRpbmcgdG8gdGhlCgkgIHBhZ2UgdGltZW91dC4KCjIwMTAtMTItMDYgMTY6NDQ6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBSZWZhY3RvciBibGVuZGluZyBmdW5jdGlvbiBhbmQgdGFrZSBhdmVyYWdlIG9mIGFsbCBjaHJvbWEgdmFsdWVzCgoyMDEwLTEyLTAzIDE3OjM1OjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogSW1wcm92ZSBzZWxlY3Rpb24gb2YgY3VycmVudCB0byBiZSBkaXNwbGF5ZWQgc3VicGljdHVyZXMKCSAgRHJvcCBhbGwgc3VicGljdHVyZXMgdGhhdCBhcmUgdG9vIG9sZCBhbnl3YXkgYW5kIGNsZWFyIHRoZSBjdXJyZW50bHkKCSAgZGlzcGxheWVkIHN1YnBpY3R1cmVzIGlmIG51bV9yZWN0cz09MCBoYXBwZW5zLgoKMjAxMC0xMi0wMyAxNjoyMToxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IEltcGxlbWVudCBjbGlwcGluZyBvZiB2aWRlbyBidWZmZXJzCgkgIEFsc28gZG9uJ3QgY2xpcCBzdWJwaWN0dXJlIGJ1ZmZlcnMsIHRoZXkgaGF2ZSBubyBkdXJhdGlvbiBhbmQKCSAgY2xpcHBpbmcgdGhlbSBkb2Vzbid0IG1ha2UgbXVjaCBzZW5zZSBoZXJlLgoKMjAxMC0xMi0wMyAxNjowODoxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuaDoKCSAgZHZic3Vib3ZlcmxheTogQ2xlYW4gdXAgbG9ja2luZyBzb21lIG1vcmUKCjIwMTAtMTItMDMgMTY6MDU6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBGbHVzaCBzdWJ0aXRsZXMgYW5kIGFsbCBpbnRlcm5hbCBzdGF0ZSB3aGVuIG5lZWRlZAoKMjAxMC0xMi0wMyAxNTo1MjoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IFNldCB0aGUgZ2xvYmFsIGxpYnJhcnkgbG9nIGZ1bmN0aW9uIGV4YWN0bHkgb25jZQoJICBBbmQgZG9uJ3QgdXNlIG9uZSBvZiB0aGUgcG9zc2libHkgbWFueSByZW5kZXJlciBpbnN0YW5jZXMsIHRoaXMgaXMgb25seQoJICBjYWxsaW5nIGZvciBjcmFzaGVzLgoKMjAxMC0xMi0wMyAxNTo0Njo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuaDoKCSAgZHZic3Vib3ZlcmxheTogUmVtb3ZlIGxvdHMgb2YgY29tbWVudGVkIG91dCBhbmQgdW51c2VkIGNvZGUgYW5kIGNsZWFuIHVwIGxvY2tpbmcKCjIwMTAtMTItMDEgMDk6NTk6MTQgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBGaXggbW9yZSBvZiB0aGUgYmxlbmRpbmcsIHNvIGl0IGxvb2tzIHF1aXRlIGdvb2Qgbm93CgkgICogbGliZHZic3ViIGdpdmVzIHVzIGFscGhhIGNoYW5uZWwgYWxyZWFkeSwgbm90IHRyYW5zcGFyZW5jeSBsZXZlbCwgc28KCSAgZG9uJ3QgZG8gYW5vdGhlciAiYWxwaGEgPSAyNTUgLSBhbHBoYSIsIHRoaXMgaXMgZG9uZSBieSBsaWJkdmJzdWIuCgkgICogRml4IGFscGhhIGNoYW5uZWwgaGFuZGxpbmcgaW4gaW50ZXJwb2xhdGlvbiAtIGFzc3JlbmRlciBoYWQgYW4gYWRkaXRpb25hbAoJICAxYnBwIGFscGhhIGJpdG1hcCBhcyBhIHBvc3NpYmxlIG1hc2ssIHdlIGRvbid0LiBTbyBkb24ndCB1c2UgdGhlIHBhbGV0dGUKCSAgaW5kZXggYXJyYXkgYXMgYWxwaGEgdmFsdWVzOyBidWcgZnJvbSBxdWljayBjb2RlIHBvcnRpbmcgbG9uZyBhZ28gdG8KCSAgY2hhbmdpbmcgcGl4ZWwgY29sb3JzIChhc3NyZW5kZXIgaGFzIGEgc2luZ2xlIHBpeGVsIGNvbG9yIGZvciB3aG9sZQoJICByZWdpb25zIG9yIHNvbWV0aGluZywgdW5saWtlIGR2YnN1Yiwgd2hpY2ggaGFzIGluZGV4ZWQgY29sb3JzKS4KCSAgKiBEb24ndCBmb3JnZXQgdG8gcmVhc3NpZ24gb3VyIFlVViBhbmQgb3RoZXIgbG9jYWwgcGl4ZWwgY29sb3IgdmFyaWFibGVzCgkgIGFmdGVyIHNoaWZ0aW5nIHRvIHdvcmsgb24gdGhlIGJvdHRvbSBwYXJ0IG9mIGEgMngyIHN1YnNhbXBsZSBibG9jaywgb3IKCSAgaXQncyBvYnZpb3VzbHkgdmVyeSBibG9ja3kuCgkgIFJlbWFpbmluZyBpc3N1ZXMgaW4gYmxlbmRpbmc6CgkgICogU2hvdWxkIHByb2JhYmx5IGJlIGludGVycG9sYXRpbmcgb3IgZG9pbmcgc29tZXRoaW5nIGVsc2UgdXNlZnVsIHdpdGggdGhlCgkgIHJlc3VsdGluZyBVIGFuZCBWIGNoYW5uZWxzLCBzbyB0aGF0IG1vc3Qgb2YgdGhlIHNvdXJjZSBwaXhlbCBVViB2YWx1ZXMgd291bGQKCSAgYWN0dWFsbHkgYmUgYWN0dWFsbHkgY2FyZWQgYWJvdXQsIGV4Y2VwdCBmb3IganVzdCBvbmUgb3V0IG9mIHBvc3NpYmx5IGZvdXIuCgkgICogRG9uJ3QgY29udmVydCBBWVVWIHRvIEFSR0IgaW4gbGliZHZic3ViLCBhbmQgdGhlbiBiYWNrIGZyb20gQVJHQiB0byBBWVVWIGluCgkgIGR2YnN1Ym92ZXJsYXkgZm9yIG5vIHJlYXNvbgoJICAqIFJlLWZhY3RvciB0aGUgd2hvbGUgdGhpbmcgdG8gc29tZXRoaW5nIG1vcmUgbGlrZSB0ZXh0b3ZlcmxheSBibGVuZGluZwoJICAqIFJlbGF0ZWQgdG8gdGhhdCwgcGVyaGFwcyBjYWNoZSB0aGUgY3VycmVudCBzcHUgaW4gYSBnb29kIGZvcm1hdCBmb3IgcXVpY2sKCSAgYmxlbmRpbmcgb24gZWFjaCBmcmFtZSwgYWZ0ZXIgd2hpY2ggdGhlIG1vcmUgb2Z0ZW4gY2FsbGVkIGJsZW5kaW5nIHBhcnRzCgkgIG1pZ2h0IGJlY29tZSBtb3JlIHN0cmFpZ2h0Zm9yd2FyZAoKMjAxMC0xMi0wMSAwNzoyNjowMyArMDIwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IEZpeCBibGVuZGluZyBidWcgcmVnYXJkaW5nIGNvbG9yIGNoYW5uZWwgYWRkcmVzc2luZy4KCSAgbGliZHZic3ViIGdpdmVzIHVzIEFSR0Igb3JkZXJlZCBwaXhlbHMgcmlnaHQgbm93LCBub3QgUkdCQS4KCjIwMTAtMTItMDEgMDc6MjA6MDcgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBEbyBibGVuZGluZyBjYWxscyB3aGVuIGFwcHJvcHJpYXRlCgkgIFRoaXMgZ2l2ZXMgdXMgYWN0dWFsbHkgc2hvd24gc3VidGl0bGVzLCBob3dldmVyIHdpdGggYnVncyBpbiB0aGUKCSAgY3VycmVudCBibGl0dGluZyBjb2RlLCByZXN1bHRpbmcgaW4gdmVyeSB0cmFuc3BhcmVudCBzdWJ0aXRsZXMuCgoyMDEwLTEyLTAxIDA3OjA2OjM1ICswMjAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogSW1wbGVtZW50IGZhbGxiYWNrIHBhZ2VfdGltZV9vdXQgaG9ub3JpbmcKCSAgVGhlIHNwZWMgaGFzIGEgcGFnZV90aW1lX291dCBpbiB0aGUgcGFnZSBjb21wb3NpdGlvbiBzZWdtZW50IHRvIGVuc3VyZQoJICBzdWJ0aXRsZXMgZG9uJ3QgZ2V0IHN0dWNrIG9uIHNjcmVlbiBmb3IgdG9vIG11Y2ggbG9uZ2VyIHRoYW4gaW50ZW5kZWQsCgkgIHdoZW4gZnV0dXJlIHBhZ2UgY29tcG9zaXRpb24gc2VnbWVudHMgZ2V0IGxvc3Qgb24gYmFkIHJlY2VwdGlvbiwgb3Igb3RoZXIKCSAgcHJvYmxlbXMuIEhvbm9yIGl0IGluIHRoZSBnc3QgcGx1Z2luIHNpZGUuCgoyMDEwLTEyLTAxIDA2OjAxOjE1ICswMjAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5oOgoJICBkdmJzdWJvdmVybGF5OiBJbXBsZW1lbnQgc3VidGl0bGUgcXVldWVpbmcgYW5kIHN5bmNpbmcgd2l0aCB2aWRlbwoJICBQdXNoIGluY29taW5nIHN1YnRpdGxlIHBhZ2VzIGluIGEgRklGTyBxdWV1ZSAocGVuZGluZ19zdWJ0aXRsZXMpCgkgIGFuZCBkZXF1ZXVlIHRoZSBoZWFkIHdoZW4gaXQncyB0aW1lIHRvIHNob3cgaXQgKHdoZW4gdmlkZW8gcnVubmluZwoJICB0aW1lIHJlYWNoZXMgdGhlIHN1YnRpdGxlIHBhZ2UgcnVubmluZyB0aW1lKS4KCSAgS2VlcCB0aGUgc3VidGl0bGUgcGFnZSwgdGhhdCBpcyBzdXBwb3NlZCB0byBiZSBibGVuZGVkIG9uIHRvcCBvZiB2aWRlbwoJICBjdXJyZW50bHksIGluIGEgc2VwYXJhdGUgb2JqZWN0IHZhcmlhYmxlIChjdXJyZW50X3N1YnRpdGxlKS4gQXMgYQoJICBuZXh0IHN0ZXAgd2UgY2FuIHRoZW4gcHJlLXJlbmRlciBjdXJyZW50X3N1YnRpdGxlIHRvIGEgYmV0dGVyIHRvIGJsZW5kCgkgIGZvcm1hdC4KCjIwMTAtMTItMDEgMDU6NDk6MjIgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJICBkdmJzdWJvdmVybGF5OiBNYWtlIHRoZSBuZXcgZHZiX3N1YnRpdGxlc19mcmVlKCkgYWNjZXB0IE5VTEwKCSAgRG9uJ3QgY3Jhc2ggaWYgZHZiX3N1YnRpdGxlc19mcmVlKE5VTEwpIGdldHMgcGFzc2VkLCBsaWtlIG1vc3Qgb3RoZXIKCSAgKl9mcmVlIGZ1bmN0aW9ucyBhcmUgaGFwcHkgd2l0aC4KCjIwMTAtMTItMDEgMDU6MjY6MDIgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmg6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogUGFzcyBwYWdlX3RpbWVfb3V0IGFuZCBwdHMgd2l0aCB0aGUgRFZCU3VidGl0bGVzIHN0cnVjdHVyZQoJICBFYXNlcyBob2xkaW5nIG9udG8gdGhlIGluZm9ybWF0aW9uIGluIGdzdCBwbHVnaW5zIHNpZGUgcXVldWUgb2YKCSAgRFZCU3VidGl0bGVzLCBzbyB3ZSB3b24ndCBuZWVkIHRvIGNyZWF0ZSB5ZXQgYW5vdGhlciB0ZW1wb3Jhcnkgc3RydWN0CgkgIHRvIGtlZXAgdGhlIHB0cyBhbmQgcGFnZV90aW1lX291dCB0b28uCgkgIEFuZCB0aGlzIHJlYWxseSBsb2dpY2FsbHkgYmVsb25ncyBhdCB0aGUgdG9wbGV2ZWwgaW5mb3JtYXRpb24gc2V0IGFueXdheQoJICBhbmQgaW4gdGhhdCBzdHJ1Y3QuLi4KCjIwMTAtMTItMDEgMDQ6Mjg6MDIgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmg6CgkgIGR2YnN1Ym92ZXJsYXk6IE1ha2UgdGhlIGxpYmR2YnN1YiBjYWxsYmFjayBoYW5kbGVyIHJlc3BvbnNpYmxlIGZvciBtZW1vcnkgY2xlYW51cAoJICBXZSB3YW50IHRvIGFsbG93IHF1ZXVlaW5nIG9mIHJhdyByZWdpb24gaW1hZ2UgZGF0YSBpbiB0aGUgZ3N0IHBsdWdpbiBzaWRlLAoJICBhbmQga2VlcCB0aGUgZGF0YSBhcm91bmQgdW50aWwgd2UgcG9wIHRoZSBpdGVtIGZyb20gdGhlIHF1ZXVlLiBTbyBtYWtlCgkgIHRoZSBjYWxsYmFjayBoYW5kbGVyIHJlc3BvbnNpYmxlIGZvciBtZW1vcnkgY2xlYW51cCwgaWYgb25lIGlzIGluc3RhbGxlZC4KCjIwMTAtMTEtMzAgMDQ6NDU6NTQgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBXb3JrIHdpdGggR3N0Q2xvY2tUaW1lIGluc3RlYWQgb2YgUFRTIGZvciBzdWJ0aXRsZSB0aW1pbmcKCSAgQWJ1c2UgbGliZHZic3ViIFBUUyB0cmFja2luZyB0byBqdXN0IHN0b3JlIG91ciBydW5uaW5nIHRpbWUgaW4gaXQsIHRvIGdldAoJICBpdCBiYWNrIGluIHRoZSBjYWxsYmFja3MuIEFzIEdTdHJlYW1lciBkb2VzIGl0cyBvd24gUFRTIGhhbmRsaW5nIGJlaGluZCBvdXIKCSAgYmFjayAoZXNwZWNpYWxseSBmb3IgdmlkZW8pLCB3ZSBzaG91bGQganVzdCBzeW5jIHdpdGggdmlkZW8gcGVyIHJ1bm5pbmcgdGltZSwKCSAgbm90IHRyeSB0byBkbyBpdCB3aXRoIFBUUywgd2hpY2ggZG9lc24ndCBzZWVtIHdlbGwgYWNjZXNzaWJsZSBmb3IgdmlkZW8gY2hhaW4uCgkgIFdlIGNhbiBsYXRlciByZWxhYmVsIGR2Yi1zdWIuYyBwdHMgbmFtaW5nIGNvbnZlbnRpb24gaWYgd2FudGVkLCBpdCdzIGp1c3QKCSAgcGFzc2luZyBhbG9uZyBndWludDY0IHZhbHVlcywgd2hpY2ggR3N0Q2xvY2tUaW1lIGZvcnR1bmF0ZWx5IGlzIHRvby4KCSAgVGhlIGN1cnJlbnQgaWRlYSBpcyB0byBjb2xsZWN0IHRoZSByZWdpb25zIHJldHVybmVkIGJ5IHRoZSBjYWxsYmFjayBpbnRvCgkgIGEgRklGTyBidWZmZXIgYW5kIHBvcCBhbmQgcHJlLXJlbmRlciB0aGUgdG9wIG9uZSBpbnRvIGEgc2VwYXJhdGUKCSAgcXVpY2stdG8tYmxlbmQgY2FjaGVkIGZvcm1hdCwgd2hpY2ggaXMgdGhlbiBhcHByb3ByaWF0ZWx5IGJsZW5kZWQgaW4gdGhlCgkgIHZpZGVvIGNoYWluIHVudGlsIHRoZSBuZXh0IG9uZSBvbiB0b3Agb2YgdGhlIHN0YWNrIHJlYWNoZXMgdGhlIHZpZGVvIGNoYWlucwoJICBydW5uaW5nIHRpbWUgKG9yIHRoZSBmYWxsYmFjayB0aW1lciBoaXRzKS4KCjIwMTAtMTEtMzAgMDM6NTY6MzIgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJICBkdmJzdWJvdmVybGF5OiBBZGQgRklYTUUgbm90ZSBhYm91dCBub24tY29uc3RhbnQgUFRTIGZvciBhIGRpc3BsYXkgc2V0IGhhbmRsaW5nLgoKMjAxMC0xMS0zMCAwMzo0Nzo0NiArMDIwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuaDoKCSAgZHZic3Vib3ZlcmxheTogUmVtb3ZlIGR2Yl9zdWJfZmVlZCgpIEFQSQoJICBHU3RyZWFtZXIgd2lsbCBvbmx5IHVzZSBkdmJfc3ViX2ZlZWRfd2l0aF9wdHMsIGFzIGl0IGhhcyBpdHMgb3duIFBFUyBmaWx0ZXIKCSAgdG8gZG8gdGhlIGhlYWRlciBwYXJzaW5nLgoKMjAxMC0xMS0yOSAyMDo1NTozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9UT0RPOgoJICBkdmJzdWJvdmVybGF5OiBtb3JlIFRPRE8KCjIwMTAtMTEtMjkgMjA6MTA6MTcgKzAwMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBnc3RtcGVndHNkZW11eDogYWRkIHRlbXBvcmFyeSAqKkhBQ0sqKiBmb3IgZHZiIHN1YnMgdGVzdGluZyBzbyBkdmJzdWJvdmVybGF5IGdldHMgd2hvbGUgcGFja2V0cwoJICA8dHBtPiBsZWlvLCB3aGF0J3MgdGhlIG1wZWd0cyBkZW11eCBoYWNrIGFib3V0PwoJICA8bGVpbz4gbXkgbGliZHZic3ViIGNvZGUgY2FuJ3QgaGFuZGxlIGN1dCBwYWNrZXRzCgkgIDxsZWlvPiBzbyB0aGUgaGFjayBpbnN0cnVjdHMgdGhlIGRlbXV4ZXIgdG8gZ2F0aGVyIGZ1bGwgcGFja2V0cyBiZWZvcmUgcHVzaGluZyBkb3duLCBidXQgaXQgYXBwbGllcyB0aGF0IHRvIG1vcmUgUEVTIHBhY2tldCB0eXBlcyB0aGFuIGp1c3QgZHZic3ViLCBidXQgSSdtIG5vdCBzdXJlIGlmIHRoYXQncyBhIGJhZCB0aGluZwoJICA8bGVpbz4gZWl0aGVyIHdheSwgbmVlZHMgYSBjbGVhbmVyIHNvbHV0aW9uLCBlaXRoZXIgaW4gZGVtdXhlciwgb3IgSSBuZWVkIHRvIGhhbmRsZSBjdXQgcGFja2V0cwoJICA8dHBtPiBvaywgYnV0IHJlYWxseSBpdCBzaG91bGQgYmUgZml4ZWQgaW4gdGhlIG92ZXJsYXksIHJpZ2h0PwoJICA8dHBtPiBvciBhIHBhcnNlciBiZSBpbnNlcnRlZAoJICA8bGVpbz4gdGhlIHByb2JsZW0gaXMgdGhhdCBJIGRvbid0IGtub3cgZnJvbSB0aGUgZmlyc3QgcGFja2V0IGJlZm9yZWhhbmQgaWYgaXQgaXMgYSBjdXQgb25lIG9yIG5vCgkgIDxsZWlvPiBub3QKCSAgPGxlaW8+IGVyciwgZmlyc3QgYnVmZmVyCgkgIDxsZWlvPiBqdXN0IHdoZW4gSSByZWNlaXZlIHRoZSBuZXh0IG9uZSBJIHNlZSBpZiBpdCBoYXMgYSB2YWxpZCB0aW1lc3RhbXAgb24gaXQgb3Igbm90CgkgIDxsZWlvPiBzbyBJIGNhbid0IHZlcnkgd2VsbCBxdWV1ZSBpdCB1cCBpbiB0aGUgY2hhaW4gZWl0aGVyLCBJIG1pZ2h0IGJlIGJsb2NraW5nIHRoZSB2ZXJ5IGxhc3Qgc3VidGl0bGUgZm9yIG5vIHJlYXNvbiBvciBzb21ldGhpbmcKCSAgPHRwbT4gYnV0IHlvdSBjb3VsZCBqdXN0IGRyb3AvaWdub3JlIHBhY2tldHMgdW50aWwgeW91IGZpbmQgb25lLCByaWdodD8KCSAgPGxlaW8+IGZpbmQgd2hhdD8KCSAgPHRwbT4gYSBjb21wbGV0ZSBwYWNrZXQ/CgkgIDxsZWlvPiB0aGUgcHJvYmxlbSBpc24ndCB0aGF0IHRoZXkgYXJlbid0IGNvbXBsZXRlCgkgIDxsZWlvPiB0aGUgcHJvYmxlbSBpcyB0aGF0IHRoZXkgYXJlIGN1dCBhY3Jvc3MgbXVsdGlwbGUgR3N0QnVmZmVycyBieSB0aGUgZGVtdXhlciB3aXRob3V0IHRoZSBoYWNrCgkgIDx0cG0+IHN1cmUsIEkgdW5kZXJzdGFuZCB0aGF0CgkgIDx0cG0+IGJ1dCB5b3UgY2FuJ3QgZWFzaWx5IGRldGVybWluZSBpZiBhIEdzdEJ1ZmZlciBjb250YWlucyBoZSBzdGFydCBmcmFnbWVudCBvZiBhIHBhY2tldCBvciBub3Q/CgkgIDxsZWlvPiBJIGd1ZXNzIEkgY291bGQgcGFyc2UgdGhlIHBhY2tldCBhbmQgc2VlIGlmIGl0cyBsZW5ndGggaXMgZW5vdWdoLCBqdXN0IGxpa2UgdGhlIGxpYmR2YnN1YiBjb2RlIGV2ZW50dWFsbHkgZG9lcyB0b28KCSAgPGxlaW8+IEkgY2FuLCBpdCBoYXMgYSB0aW1lc3RhbXAgaWYgaXQncyB0aGUgZmlyc3QgY2h1bmsKCSAgPGxlaW8+IEkganVzdCBuZXZlciBrbm93IGlmIEkgbmVlZCB0byB3YWl0IGZvciBtb3JlLCB3aXRob3V0IHNvbWUgcGFyc2luZwoJICA8dHBtPiBhaCBvawoJICA8bGVpbz4gd2hpbGUgdGhlIGRlbXV4ZXIgY291bGQganVzdCBnaXZlIG1lIGFuIHVuY3V0IG9uZSBpbiB0aGUgZmlyc3QgcGxhY2UKCSAgPGxlaW8+IGxpa2UgaXQgYWx3YXlzIGRvZXMgZm9yIHByb2dyYW0gc3RyZWFtcwoJICA8bGVpbz4gdGhhdCBnYXRoZXJfcGVzIGlzIGFsd2F5cyBzZXQgaW4gZ3N0bXBlZ2RlbXV4LCBidXQgbm90IGluIGdzdG1wZWd0c2RlbXV4CgoyMDEwLTExLTI5IDIwOjA2OjA3ICswMDAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmJzdWJvdmVybGF5L1RPRE86CgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5oOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9mZm1wZWctY29sb3JzcGFjZS5oOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuaDoKCSAgZHZic3Vib3ZlcmxheTogaW5pdGlhbCB2ZXJzaW9uLCB3b3JrIGluIHByb2dyZXNzCgoyMDEwLTEyLTA2IDE4OjAxOjM4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogYW5kcm9pZC9hYWNwYXJzZS5tazoKCSogYW5kcm9pZC9hbXJwYXJzZS5tazoKCSogYW5kcm9pZC9oMjY0cGFyc2UubWs6CgkqIGFuZHJvaWQvbWV0YWRhdGEubWs6CgkqIGFuZHJvaWQvcXRtdXgubWs6CgkqIGFuZHJvaWQvc2RwZWxlbS5tazoKCSAgYW5kcm9pZDogdXBkYXRlIGZvciAwLjExCgoyMDEwLTEyLTA2IDE3OjU0OjA0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBjb25maWc6IHVwZGF0ZSBjb25maWcKCjIwMTAtMTItMDYgMTI6MjU6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogb3BlbiAwLjExIGJyYW5jaAoKMjAxMC0xMi0wMyAxODoxMTo1NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IHVwZGF0ZSBzb21lIGRvY3VtZW50YXRpb24KCjIwMTAtMTItMDMgMTg6MTE6MzggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBhZGQgdG8gZG9jdW1lbnRhdGlvbgoKMjAxMC0xMi0wMyAxODoxMTowOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSAgZGNhcGFyc2U6IGFkZCB0byBkb2N1bWVudGF0aW9uCgoyMDEwLTEyLTAzIDE4OjA5OjQxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhZGQgZG9jdW1lbnRhdGlvbgoKMjAxMC0xMS0wOCAxOTo1ODozMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGluY3JlYXNlIGtleWZyYW1lIGF3YXJlbmVzcwoJICAuLi4gd2hpY2ggaXMgbm90IHBhcnRpY3VsYXIgcmVsZXZhbnQgZm9yIGF1ZGlvIHBhcnNpbmcsIGJ1dCBtb3JlIHNvCgkgIGluIHZpZGVvIGNhc2VzLiAgSW4gcGFydGljdWxhciwgYXV0by1kZXRlcm1pbmUgaWYgZGVhbGluZyB3aXRoIHZpZGVvIChjYXBzKS4KCjIwMTAtMTItMDMgMTc6NDY6MjcgKzAxMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBzdGVyaWNzc29uLmNvbT4KCgkqIEFuZHJvaWQubWs6CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL0FuZHJvaWQubWs6CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL0dzdEFuZHJvaWQuY3BwOgoJKiBzeXMvYXVkaW9mbGluZ2Vyc2luay9hdWRpb2ZsaW5nZXJfd3JhcHBlci5jcHA6CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL2F1ZGlvZmxpbmdlcl93cmFwcGVyLmg6CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL2dzdGF1ZGlvZmxpbmdlcnJpbmdidWZmZXIuaDoKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvZ3N0YXVkaW9mbGluZ2Vyc2luay5jOgoJKiBzeXMvYXVkaW9mbGluZ2Vyc2luay9nc3RhdWRpb2ZsaW5nZXJzaW5rLmg6CgkgIHN5czogQWRkIGFuZHJvaWQgYXVkaW9mbGluZ2Vyc2luawoKMjAxMC0xMi0wMyAxNzo0Mjo0NiArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQHN0ZXJpY3Nzb24uY29tPgoKCSogQW5kcm9pZC5tazoKCSogYW5kcm9pZC9OT1RJQ0U6CgkqIGFuZHJvaWQvYWFjcGFyc2UubWs6CgkqIGFuZHJvaWQvYW1ycGFyc2UubWs6CgkqIGFuZHJvaWQvaDI2NHBhcnNlLm1rOgoJKiBhbmRyb2lkL21ldGFkYXRhLm1rOgoJKiBhbmRyb2lkL3F0bXV4Lm1rOgoJKiBhbmRyb2lkL3NkcGVsZW0ubWs6CgkgIEFkZCBidWlsZCBzeXN0ZW0gZm9yIEFuZHJvaWQKCjIwMTAtMTItMDIgMTU6NDU6MDIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogc21hbCBhcGkgZG9jIHVwZGF0ZQoKMjAxMC0xMi0wMiAwNTozOToxNCAtMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBBdm9pZCBhc3NlcnRpb24gb24gaW1hZ2UgZmluaXNoaW5nCgkgIEFzIGltZ2Jpbl9maW5pc2hlZCgpIGlzIHNjaGVkdWxlZCBmcm9tIGdfaWRsZV9hZGQsIGl0IG1pZ2h0CgkgIGJlIHJ1biBhIGxpdHRsZSBsYXRlciB0aGFuIGV4cGVjdGVkLCB0aGlzIGNhbiBsZWFkIHRvIHRoZSBhcHBsaWNhdGlvbgoJICBzZXR0aW5nIGNhbWVyYWJpbiB0byByZWFkeSBiZWZvcmUgaW1nYmluX2ZpbmlzaGVkKCkgcnVucy4gSW4gdGhpcyBjYXNlLAoJICB0aGUgcHJvY2Vzc2luZyBjb3VudGVyIGdvZXMgdG8gMCBhbmQgYW4gYXNzZXJ0aW9uIGhhcHBlbnMuCgkgIFRoaXMgcGF0Y2ggcmVsYXhlcyB0aGUgaW1nYmluX2ZpbmlzaGVkKCkgY2hlY2sgb24gdGhlIHByb2Nlc3NpbmcKCSAgY291bnRlci4KCjIwMTAtMTItMDEgMjM6MTQ6NTYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogSGFuZGxlIG5hbWVzIHdpdGggbXVsdGlwbGUgdW5kZXJzY29yZXMKCjIwMTAtMTItMDEgMjM6MDQ6NTcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVndXRpbHNiYWQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hvcG15ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaG9wbXlkYXRhLmg6CgkgIGNob3BteWRhdGE6IEFkZCBuZXcgZWxlbWVudAoJICBUaGlzIGVsZW1lbnQgc3BsaXRzIHVwIGEgc3RyZWFtIGludG8gcmFuZG9tbHktc2l6ZWQgYnVmZmVycy4KCSAgVXNlZnVsIChtYXliZSkgZm9yIHRlc3RpbmcgcGFyc2Vycy4KCjIwMTAtMTItMDIgMDM6MDk6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBSZW1vdmUgbGVmdG92ZXIgY29tbWVudAoJICBSZW1vdmUgY29tbWVudCB0aGF0IGRvZXNuJ3QgbWFrZSBzZW5zZSBhbnltb3JlCgoyMDEwLTEyLTAxIDIzOjIxOjMzICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmM6CgkgIGFwcGxlbWVkaWE6IGRvbid0IHVzZSB0aGUgZGVwcmVjYXRlZCBnX3N0cmNhc2VjbXAgZnVuY3Rpb24uCgkgIFJlcGxhY2UgZ19zdHJjYXNlY21wIHdpdGggZ19hc2NpaV9zdHJjYXNlY21wLgoKMjAxMC0xMi0wMSAyMzoyMDozNiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW9hcGkuYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzIHdpdGggZ2NjIDQuMi4xIG9uIE9TWC4KCjIwMTAtMTItMDEgMTU6Mjg6NTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmg6CgkgIGFjM3BhcnNlOiB1c2UgcHJvcGVyIEVBQy0zIGNhcHMKCjIwMTAtMTItMDEgMTA6NDU6NDkgKzAxMDAgIERhdmlkIEhveXQgPGRob3l0QGxsbmwuZ292PgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBoYW5kbGUgbXN2YyBmdHJ1bmNhdGUgaW5jb21wYXRpYmlsaXR5CgkgIEZpeGVzICM2MzYxODUuCgoyMDEwLTEwLTA5IDE3OjM5OjM2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zY2hyb2VuYy5jOgoJICBBZGQgYSBzY2hyb2VuYyB0ZXN0CgoyMDEwLTExLTI3IDIwOjEzOjM4IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2RlYy5jYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSAgRml4IHBhZCB0ZW1wbGF0ZSBtZW1sZWFrcwoJICBQYWQgdGVtcGxhdGVzIHJldHVybmVkIGJ5IGdzdF9zdGF0aWNfcGFkX3RlbXBsYXRlX2dldCgpIHdlcmUgbm90CgkgIGJlaW5nIHVucmVmZmVkLgoKMjAxMC0xMS0zMCAxODo0MzoyNCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFJlYWRkIHNldHRpbmcgb2YgZ3JhbnVsZXBvcwoJICBSZXZlcnQgcGFydHMgb2YgbGFzdCBwYXRjaCB0aGF0IHJlbW92ZWQgc2V0dGluZyBvZiBncmFudWxlcG9zLgoJICBvZ2dtdXggc3RpbGwgcmVxdWlyZXMgY29ycmVjdCBncmFudWxlcG9zIGluIGluY29taW5nIHBhY2tldC4KCjIwMTAtMTEtMjkgMjA6MjE6MzEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBEb24ndCBvdmVycmlkZSB0aW1lc3RhbXBzIHNldCBieSBiYXNlIGNsYXNzCgkgIEJlY2F1c2UgdGhlIGJhc2UgY2xhc3MgZG9lcyBpdCBjb3JyZWN0bHkuCgkgIEZpeGVzOiAjNjM1NzIwLCAjNjI1NTU4LgoKMjAxMC0xMS0zMCAxNTo0MTowMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGF2b2lkIHVuZXhwZWN0ZWQgc3RyYXkgbWV0YWRhdGEKCjIwMTAtMTEtMzAgMTU6NDA6MjggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB1c2UgcHJvcGVyIF9OT05FIG91dHB1dCB2YWx1ZSB3aGVuIGFwcGxpY2FibGUKCjIwMTAtMTEtMTUgMjA6MDM6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvanAya2RlY2ltYXRvci9NYWtlZmlsZS5hbToKCSogZ3N0L2pwMmtkZWNpbWF0b3IvZ3N0anAya2RlY2ltYXRvci5jOgoJKiBnc3QvanAya2RlY2ltYXRvci9nc3RqcDJrZGVjaW1hdG9yLmg6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2pwMmtjb2Rlc3RyZWFtLmM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2pwMmtjb2Rlc3RyZWFtLmg6CgkgIGpwMmtkZWNpbWF0b3I6IEFkZCBhIEpQRUcyMDAwIGRlY2ltYXRvciBlbGVtZW50CgkgIFRoaXMgZWxlbWVudCBkcm9wcyBpbmZvcm1hdGlvbiBmcm9tIEpQRUcyMDAwIGltYWdlcyB3aXRob3V0IHJlZW5jb2RpbmcuCgoyMDEwLTExLTIzIDIxOjQ1OjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOgoJICBqcDJrZW5jOiBFbWl0IFNPUCBtYXJrZXJzIGluIGV2ZXJ5IGNvZGVzdHJlYW0gcGFja2V0CgkgIFRoaXMgbWFrZXMgcGFyc2luZyBtdWNoIGVhc2llciwgZmFzdGVyIGFuZCBtb3JlIHJlbGlhYmxlLgoKMjAxMC0xMS0yNyAxNjowNzoxOSAtMDYwMCAgQWxlamFuZHJvIEdvbnphbGV6IDxhZ29uemFsZXpAZGV4dHJhdGVjaC5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGdzdF9xdG11eF9jaGVja19kaWZmZXJlbmNlIHZlcmlmeSBiZWZvcmUgc3VidHJhY3QKCSAgQXZvaWQgbmVnYXRpdmUgb3ZlcmZsb3cgYnkgY2hlY2tpbmcgdGhlIG9yZGVyIG9mIG9wZXJhbmRzCgkgIG9uIHN1YnRyYWN0aW9uIG9mIHVuc2lnbmVkIGludGVnZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM1ODc4CgoyMDEwLTExLTI3IDE4OjU4OjA3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogRml4IHNvbWUgbWVtbGVha3MKCjIwMTAtMTEtMTUgMTE6Mzc6MzkgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogbWlub3IgbWVtbGVhayBmaXgKCjIwMTAtMTEtMjUgMTk6MzE6MzUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE5OjMxOjAzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSAgdmlkZW9tZWFzdXJlOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxOToyNToyNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC90dGEvZ3N0dHRhZGVjLmM6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSAgdHRhOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cyBhbmQgdXNlbGVzcyB2YXJpYWJsZQoKMjAxMC0xMS0yNSAxOToyNDo1NiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkgIHN0ZXJlbzogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTk6MjE6MjMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcDogUmVtb3ZlIHVzZWxlc3MgdmFyaWFibGVzCgoyMDEwLTExLTI1IDE5OjIxOjExICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxOToyMTowMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzoKCSAgcmVhbDogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTk6MjA6NTEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSAgaXZmcGFyc2U6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE5OjA2OjQ5ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSAgZnJlZXplOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxOTowNjozOCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTk6MDY6MjcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgZHRtZjogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTk6MDE6NDIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkgIGRjY3A6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE4OjU2OjQyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTg6NTI6NDcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDg6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE4OjQ5OjIzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSAgc2RsYXVkaW9zaW5rOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxODo0NzoxNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvcGFyc2UuYzoKCSAgc2Nocm9lZGluZ2VyOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxODo0MzozMCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltZW5jOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50CgoyMDEwLTExLTI1IDE4OjQzOjE4ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2NvZy9nc3Rjb2dkb3duc2FtcGxlLmM6CgkgIGNvZ2Rvd25zYW1wbGU6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnQKCjIwMTAtMTEtMjUgMTg6NDI6MzMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlZXJvZGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuYzoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuYzoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z2aWRlb2ZpbHRlci5jOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L2dzdHRleHR3cml0ZS5jOgoJICBvcGVuY3Y6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgkgIC4uLiBhbmQgZml4IGluZGVudGF0aW9uCgoyMDEwLTExLTI1IDE4OjMzOjM3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkgIGNvZ2NvbG9yc3BhY2U6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnQKCjIwMTAtMTEtMjUgMTg6MzA6NTYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvY29nL2NvZ2ZyYW1lLmM6CgkgIGNvZ2ZyYW1lOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxODoyOTozMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGVuYzogSW5pdGlhbGl6ZSB2YXJpYWJsZQoJICBJbiB0aGUgY2FzZSB0aGUgdGFnX3NldHRlciByZXR1cm5zIHNvbWV0aGluZywgZW1wdHlfdGFncyB3b3VsZCBiZQoJICBnYXJiYWdlIHZhbHVlLgoKMjAxMC0xMS0yNSAxODoyOToyMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGVuYzogUmVtb3ZlIGRlYWQgYXNzaWdubWVudAoKMjAxMC0xMS0yNSAxODoyNjoyMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTc6MTQ6MjMgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2U6IGZpeCBwb3NzaWJsZSBkaXZpc2lvbi1ieS16ZXJvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzU3ODYKCjIwMTAtMTAtMjMgMDE6NTY6MDQgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IERvbid0IHBhc3MgdGhlIFNobVBpcGUgdG8gdGhlIGZ1bmN0aW9uIGNsb3NpbmcgdGhlIHNobSBhcmVhCgoyMDEwLTEwLTIzIDAxOjIyOjQzICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBVc2UgdGhlIHJpZ2h0IGNvdW50ZXIgd2hlbiBmcmVlaW5nIGJ1ZmZlcnMKCjIwMTAtMTAtMjMgMDE6MTI6NDkgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vTWFrZWZpbGUuYW06CgkqIHN5cy9zaG0vc2htYWxsb2MuaDoKCSAgc2htYWxsb2M6IE1hbnVhbGx5IGRlY2lkZSB0byB1c2UgR0xpYiBvciBub3QgaW4gdGhlIHNobWFsbG9jCgkgIFNvIG1ha2UgaXQgZWFzaWVyIGZvciBlbWJlZGRlcnMgdG8gdXNlIGl0IHdpdGggb3Igd2l0aG91dCBHbGliCgoyMDEwLTEwLTIwIDIyOjQ5OjU5ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBSZW1vdmUgZHVwbGljYXRlZCBhcmd1ZW1lbnQKCjIwMTAtMTAtMjAgMjI6Mzk6MjEgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IEZpeCBzb2NrZXQgbGVhayBvbiBjb25uZWN0KCkgZXJyb3IKCjIwMTAtMTAtMjAgMjI6Mjg6MTMgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJKiBzeXMvc2htL3NobXBpcGUuaDoKCSAgc2htOiBzcF9jbGllbnRfcmVjdiByZXR1cm5zIG5lZ2F0aXZlIG9uIGVycm9yLCBzbyBtYWtlIHRoZSByZXR2YWwgc2lnbmVkCgoyMDEwLTEwLTIwIDIyOjE3OjMwICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBSZW5hbWUgY29uZnVzaW5nbHkgbmFtZWQgdmFyaWFibGUKCjIwMTAtMTAtMjAgMjI6MTQ6MDkgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IENoYW5nZSBwZXJtaXNzaW9ucyBvbiBvbGQgc2htIGFyZWFzIHRvbwoJICBDaGFuZ2UgdGhlIHBlcm1pc3Npb25zIG9uIG9sZCBzaG0gYXJlYXMKCjIwMTAtMTAtMjAgMjI6MDE6MzYgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IFVzZSB0aGUgbWFjcm8gZm9yIHRoZSBsYXN0IGVycm9yIHRvbwoKMjAxMC0xMC0yMCAyMTo1MjozMSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogVXNlICJhYmxvY2siIGZvciBhbGwgU2htQWxsb2NCbG9jayB2YXJpYWJsZXMKCSAgVXNlIHRoZSBhYmxvY2sgdmFyaWFibGUgbmFtZSBmb3IgU2htQWxsb2NCbG9ja3MgYW5kIGJsb2NrIGZvcgoJICBTaG1CbG9jawoKMjAxMC0xMC0yMCAyMTo1MjoyNCArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmg6CgkgIHNobTogQWRkIG1vcmUgY29tbWVudHMKCjIwMTAtMTAtMjAgMjE6NDE6MTUgKzAyMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBzdHlsaXN0IGltcHJvdmVtZW50cwoKMjAxMC0xMC0yMCAyMTozMzoyNCArMDIwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htYWxsb2MuYzoKCSAgc2htOiBFeHBsYWluIHNvbWUgZmllbGRzCgkgIEV4cGxhaW4gd2hhdCBzb21lIG9mIHRoZSBmaWVsZHMgaW4gdGhlIGFsbG9jYXRvciBhY3R1YWxseSBtZWFuCgoyMDEwLTExLTIyIDE1OjI2OjA2ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IEZpeCBidWZmZXIgdGltZXN0YW1wIGFuZCBkdXJhdGlvbgoJICBUaGUgZmllbGQgcmF0ZSBpcyB0d2ljZSB0aGUgZnJhbWUgcmF0ZSBvZiB0aGUgc3JjIHBhZCBhbmQgc28gdGhlIGR1cmF0aW9uIG9mCgkgIG9uZSBvdXRwdXQgYnVmZmVyIGlzIHNyY19mcHNfZCAvICgyICogc3JjX2Zwc19uKS4KCjIwMTAtMTEtMjIgMTA6Mjk6NTYgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogUmVuYW1lIHBhdHRlcm4gcHJvcGVydHkgdG8gZmllbGQtcGF0dGVybgoJICBUaGlzIGlzIG1vc3RseSBmb3IgY2xhcml0eSBvZiB3aGF0IHRoZSBwcm9wZXJ0eSBtZWFucyBhbmQsIEkgYmVsaWV2ZSwgbWFrZXMgdGhlCgkgIHBhdHRlcm4tb2Zmc2V0IHByb3BlcnR5IG1vcmUgY29tcHJlaGVuc2libGUuCgoyMDEwLTExLTIyIDEwOjI3OjIyICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IEFkZCBwYXR0ZXJuIG9mZnNldCBwcm9wZXJ0eQoJICBUaGlzIHByb3BlcnR5IGFsbG93cyBvbmUgdG8gc3RhcnQgYXQgYW55IHBvaW50IHdpdGhpbiB0aGUgZmllbGQgcGF0dGVybiBhZnRlcgoJICBhIGRpc2NvbnRpbnVpdHkgKHdoZW5ldmVyIGdzdF9pbnRlcmxhY2VfcmVzZXQgKCkgaXMgY2FsbGVkKS4gVGh1cyB3aXRoIHRoZQoJICAyOjM6MzoyIHBhdHRlcm4sIGZvciBleGFtcGxlLCBvbmUgY2FuIHN0YXJ0IGF0IG9mZnNldCAyIGFuZCBhY2hpZXZlIDM6MjoyOjMKCSAgb3Igb2Zmc2V0IDEgYW5kIGFjaGlldmUgMzozOjI6Mi4KCjIwMTAtMTEtMTkgMTc6MDE6NDEgLTAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IENyZWF0ZSBpbWFnZWJpbiBlbGVtZW50cyB3aGVuIGltYWdlIG1vZGUgaXMgc2V0IGluIGNhbWVyYWJpbiBOVUxMIHN0YXRlCgkgIFRoaXMgcGF0Y2ggcmVmYWN0b3JzIGltYWdlYmluIGVsZW1lbnQgY3JlYXRpb24gYW5kIGxpbmtpbmcgaW50byBzZXBhcmF0ZSBmdW5jdGlvbnMsCgkgIGFuZCBhZGRzIHJlLXVzaW5nIGFsc28gZm9yIGltYWdlYmluIGludGVybmFsbHkgY3JlYXRlZCBlbGVtZW50cy4KCSAgU28gdGhpcyByZWZhY3RvcmluZyBhbGxvd3MgY3JlYXRpbmcgaW1hZ2ViaW4gZWxlbWVudHMgYWxyZWFkeSBpbiBOVUxMIHN0YXRlIHdoZW4KCSAgYXBwbGljYXRpb24gc2V0cyB0aGUgaW1hZ2UgbW9kZSwgYW5kIG5leHQgc3RhdGUgY2hhbmdlIGZyb20gTlVMTCB0byBSRUFEWSB3aWxsIGJlIGZhc3Rlci4KCSAgVGhpcyByZWR1Y2VzIGZpcnN0IGNhcHR1cmUgbGF0ZW5jeS4KCSAgRWFybGllciB0aGUgZWxlbWVudHMgd2VyZSBib3RoIGNyZWF0ZWQgYW5kIGxpbmtlZCBpbiBOVUxMIHRvIFJFQURZIHN0YXRlIGNoYW5nZS4KCjIwMTAtMTEtMjIgMTI6MjM6MzAgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogQ3JlYXRlIGEgc3ViLWJ1ZmZlciB3aXRoIHRoZSBzZWN0aW9uIGxlbmd0aAoKMjAxMC0xMS0xOSAxNToyMzo0MSAtMDUwMCAgSm9zaCBEb2UgPGpvc2hAam9zaGRvZS5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlZXJvZGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuaDoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi9nc3R0ZXh0d3JpdGUuYzoKCSAgb3BlbmN2OiBmaXggY2FwcyBpc3N1ZXMgYW5kIGV4dGVuZCBzdXBwb3J0ZWQgY2FwcyBmb3Igc29tZSBlbGVtZW50cwoJICBTb21lIGVsZW1lbnRzIGhhZCB2YWd1ZSBjYXBzLCBzdWNoIGFzICJ2aWRlby94LXJhdy1yZ2IiLCB3aGljaCBjYXVzZWQgcHJvYmxlbXMKCSAgYXQgbGVhc3Qgd2l0aCB0ZXh0d3JpdGUuIEZvciBvdGhlciBlbGVtZW50cywgdGhlIHVuZGVybHlpbmcgT3BlbkNWIGZ1bmN0aW9ucwoJICBzdXBwb3J0IG1vcmUgdGhhbiBqdXN0IG9uZSBpbWFnZSB0eXBlLCBzbyBJIGluY3JlYXNlZCB0aGUgbnVtYmVyIG9mIHN1cHBvcnRlZAoJICBjYXBzLgoJICBJIGNyZWF0ZWQgYSB1dGlsaXR5IGZ1bmN0aW9uICJnc3Rfb3BlbmN2X2NhcHNfZnJvbV9jdl9pbWFnZV90eXBlIiwgc28gZWFjaAoJICBlbGVtZW50IGNyZWF0ZXMgY2FwcyBkaXJlY3RseSBmcm9tIE9wZW5DViBpbWFnZSB0eXBlcywgc3VjaCBhcyBDVl84VUMxIGZvcgoJICA4LWJpdCBncmF5c2NhbGUuIFRoaXMgZnVuY3Rpb24gdXNlcyBnc3R2aWRlbyB0byBjcmVhdGUgdW5pZm9ybSBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM1MzA0CgoyMDEwLTExLTIyIDE3OjQzOjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IFNtYWxsIG9wdGltaXphdGlvbiBvbiB0YWdzIHBhcnNpbmcKCSAgT3B0aW1pemUgYSBsaXR0bGUgYXZvaWRpbmcgY29weWluZyBhIHRhZ2xpc3Qgd2hlbiBwYXJzaW5nIHhtcC9leGlmCgkgIGRhdGEuCgoyMDEwLTA5LTE3IDA5OjUyOjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICBvdXRwdXRzZWxlY3RvcjogQXZvaWQgbG9zaW5nIHRoZSBsYXN0X2J1ZmZlciB3aGVuIHN3aXRjaGluZwoJICBUaGlzIHBhdGNoIG1ha2VzIG91dHB1dHNlbGVjdG9yIHRha2UgYW4gZXh0cmEgcmVmIHdoZW4gcHVzaGluZwoJICB0aGUgbGFzdF9idWZmZXIgdG8gYXZvaWQgaXQgbG9zaW5nIGl0IGR1cmluZyB0aGUgc3dpdGNoIGZ1bmN0aW9uLgoJICBUaGlzIG1ha2VzIHJlc2VuZC1sYXRlc3QgcHJvcGVybHkgd29yayBpZiB0aGUgYWN0aXZlLXBhZCBpcyBjaGFuZ2VkCgkgIGR1cmluZyB0aGUgc3dpdGNoIGZ1bmN0aW9uIGJ1ZmZlciBwdXNoaW5nIChvbiBhIHBhZCBwcm9iZSwgZm9yIGV4YW1wbGUpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI5OTE3CgoyMDEwLTA5LTE3IDA5OjQ0OjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICBvdXRwdXRzZWxlY3RvcjogUmVjaGVjayBwZW5kaW5nIHN3aXRjaCBhZnRlciBwdXNoaW5nIGJ1ZmZlcgoJICBUaGlzIHBhdGNoIG1ha2VzIG91dHB1dC1zZWxlY3RvciBhbHdheXMgcmVjaGVjayBpZiB0aGVyZSdzIGEKCSAgcGVuZGluZyBwYWQgc3dpdGNoIGFmdGVyIHB1c2hpbmcgYSBidWZmZXIsIHByZXZlbnRpbmcgdGhhdAoJICBpdCBwdXNoZXMgYSBidWZmZXIgb24gdGhlICd3cm9uZycgcGFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI5OTE3CgoyMDEwLTExLTIyIDE1OjEwOjI2ICswMjAwICBPbGl2aWVyIEF1YmVydCA8b2xpdmllci5hdWJlcnQlNDBsaXJpcy5jbnJzLmZyPgoKCSogZXh0L3JzdmcvTWFrZWZpbGUuYW06CgkqIGV4dC9yc3ZnL2dzdHJzdmcuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuaDoKCSAgcnN2Z292ZXJsYXk6IHNjYWxhYmxlIGFuZCByZWxhdGl2ZSBzdmcgb3ZlcmxheSB3aXRoIGNhaXJvCgkgIEFkZCBhIGNhaXJvK2xpYnJzdmcgYmFzZWQgb3ZlcmxheSBlbGVtZW50IHRvIHRoZSByc3ZnIHBsdWdpbi4KCjIwMTAtMTEtMjIgMTc6MDY6MDUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBtYWtlOiByZW1vdmUgdHJhY2VzIG9yIG1vdmVkL3JlbW92ZWQgcGx1Z2lucwoKMjAxMC0xMS0yMiAxNzowNToyMyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogTWFrZWZpbGUuYW06CgkgIG1ha2U6IGFkZCBtaXNzaW5mIHRyYWlsaW5nIFwgdG8gZml4IHRoZSBidWlsZAoKMjAxMC0xMS0yMSAyMzoxMToxOSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IHJlbW92ZSBpbmNvcnJlY3QgY2hlY2sKCjIwMTAtMTEtMTkgMTc6NTU6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZW1vdmUgcmVtbmFudCBvZiBvYnNvbGV0ZSBwcm9wZXJ0eQoKMjAxMC0xMS0xOSAxNToxODo1OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogcXRtdXg6IGFsc28gdW5pdCB0ZXN0IGZyYWdtZW50ZWQgZmlsZSBjYXNlcwoKMjAxMC0wNy0zMCAxMjo0ODoyOSArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBhbGxvdyBzcGVjaWZ5aW5nIHRyYWsgdGltZXNjYWxlCgkgIFRoaXMgaXMgbWFpbmx5IGJlY2F1c2UgU21vb3Roc3RyZWFtaW5nIGNsaWVudCBhcmUgYnJva2VuIGFuZCBkb24ndAoJICB0YWtlIHRoZSBUaW1lU2NhbGUgcHJvcGVydHkgaW50byBhY2NvdW50LgoKMjAxMC0xMS0xOSAxNzo0MTo0MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogaW5jbHVkZSBzZHRwIGF0b21zIGZvciBpc212IGZyYWdtZW50ZWQgZmlsZXMKCSAgQmFzZWQgb24gcGF0Y2ggYnkgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoyMDEwLTExLTE5IDE5OjE3OjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZW5hYmxlIGRlZmF1bHQgZnJhZ21lbnRlZCBmaWxlIGZvciBpc21sbXV4CgoyMDEwLTA5LTAyIDEzOjU4OjA1ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZnR5cGNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuaDoKCSAgcXRtdXg6IGFkZCBpc21sbXV4LCBmb3IgZnJhZ21lbnRlZCBpc21sIG1ham9yIGJyYW5kCgoyMDEwLTExLTE5IDE0OjQ0OjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZmluYWxpemUgc2lua3BhZHMgbGlzdAoKMjAxMC0wNy0yMiAxOTo0MDowNyArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGFkZCBtb292IGluIHN0cmVhbWhlYWRlcgoKMjAxMC0wOC0wNiAxMzoyNjoyNyArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBhZGQgc3RyZWFtYWJsZSBwcm9wZXJ0eSB0byBhdm9pZCBidWlsZGluZyBmcmFnbWVudGVkIG1mcmEgaW5kZXgKCjIwMTAtMTEtMTggMTY6NDg6MDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBhZGQgbWZyYSB0byBmcmFnbWVudGVkIGZpbGUKCSAgQmFzZWQgb24gcGF0Y2ggYnkgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoyMDEwLTExLTE1IDE1OjE3OjU5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICBxdG11eDogb3B0aW9uYWxseSBjcmVhdGUgZnJhZ21lbnRlZCBmaWxlCgkgIEluIHRoaXMgbW9kZSwgYW4gaW5pdGlhbCBlbXB0eSBtb292IChjb250YWluaW5nIG9ubHkgc3RyZWFtIG1ldGFkYXRhKSBpcyB3cml0dGVuLAoJICBmb2xsb3dlZCBieSBmcmFnbWVudHMgY29udGFpbmluZyBhY3R1YWwgZGF0YSAoYWxvbmcgd2l0aCByZXF1aXJlZCBtZXRhZGF0YSkuCgkgIE5ldyBmcmFnbWVudHMgYXJlIHN0YXJ0ZWQgZWl0aGVyIGF0IGtleWZyYW1lIChpZiBzdWNoIGFyZSBzcGFyc2UpIG9yIHdoZW4KCSAgcHJvcGVydHkgY29uZmlndXJlZCBkdXJhdGlvbiBleGNlZWRlZC4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgkgIEZpeGVzICM2MzI5MTEuCgoyMDEwLTExLTE1IDE1OjEyOjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJICBxdG11eDogdXNlIGhlbHBlciB0byBzZXQgYXRvbSBmbGFncyBmcm9tIGdpdmVuIHVpbnQKCjIwMTAtMTEtMDkgMTY6NDk6MDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZWZhY3RvciBjb25maWd1cmluZyBhbmQgc2VuZGluZyBvZiBtb292CgkgIEJhc2VkIG9uIHBhdGNoIGJ5IE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKMjAxMC0xMS0wOSAxNTo1NDo0NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlZmFjdG9yIGV4dHJhIHRvcC1sZXZlbCBhdG9tIGhhbmRsaW5nCgkgIEFsc28gY2hlY2sgYSBiaXQgbW9yZSBmb3IgcG9zc2libGUgZXJyb3JzLCBhbmQgZnJlZSBwcm9wZXIgaXRlbXMgaW4gc3VjaCBjYXNlLgoKMjAxMC0xMS0wOSAxNTowMToxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlZmFjdG9yIHNsaWdodGx5IHVzaW5nIGJ1ZmZlciBoZWxwZXIKCjIwMTAtMTEtMDUgMTM6NDg6NTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaXggbWlzaW5mb3JtaW5nIGNvbW1lbnQKCjIwMTAtMTEtMDUgMTI6MDg6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGRlbGVnYXRlIG12ZXggaGFuZGxpbmcgdG8gYXRvbXMKCSAgLi4uIHdoaWNoIGtlZXBzIHF0bXV4IHNpbXBsZXIuCgoyMDA5LTA5LTI4IDE2OjExOjM1ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhZGQgbXZleC90cmV4IGluIGhlYWRlciBpZiBmcmFnbWVudGVkCgkgIE9uZSAidHJleCIgaXMgYWRkZWQgcGVyICJ0cmFrIi4gV2UgZG9uJ3Qgc3VwcG9ydCBkZWZhdWx0IHZhbHVlcywKCSAgYnV0IHRoZSAidHJleCIgYm94IGlzIG1hbmRhdG9yeS4KCjIwMDktMDktMjggMTM6MDE6MzAgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJICBxdG11eDogYWRkIGEgY291cGxlIG9mIGZvdXJjYyBmb3IgZnJhZ21lbnRlZCBtcDQKCjIwMTAtMTEtMDUgMTE6MDg6MDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhdm9pZCByZW1vdmluZyB0ZW1wIGZpbGUgd2hlbiBlcnJvciBvY2N1cnJlZAoKMjAwOS0wOS0zMCAxNzoxNjozMCArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHRydW5jYXRlIGJ1ZmZlciBmaWxlIGFmdGVyIGVhY2ggc2VuZAoKMjAwOS0wOS0yOCAxNjo1Mzo1MSArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlbW92ZSB0ZW1wIGZpbGUgd2hlbiByZXNldC9maW5hbGl6ZQoKMjAxMC0wOC0xOCAwMjowMDoxMCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ2Zvcm1hdDogUHVzaCB0YWdzIGFmdGVyIHNldHRpbmcgc3JjcGFkIGNhcHMKCSAgVGhpcyBwYXRjaCBkZWZlcnMgZW1pc3Npb24gb2YgdGFnIGV2ZW50cyB0aWxsIGNhcHMgYXJlIHNldCBvbiB0aGUgc291cmNlCgkgIHBhZCBvZiBqcGVncGFyc2UsIHNvIHRoYXQgdGhlc2UgdGFncyBjYW4gYmUgc2VlbiBkb3duc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI3MjExCgoyMDEwLTExLTE5IDE4OjUxOjMyICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDEwLTExLTE5IDE4OjI2OjU5ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IGZpeCB0aGlua28KCjIwMTAtMTEtMTkgMTc6MjU6MDEgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogZml4IGhhbmRsaW5nIG9mIFRPVCBhbmQgVERUIHNlY3Rpb25zLiBGaXhlcyAjNjM1MjgxLgoJICBURFQgYW5kIFRPVCBzZWN0aW9ucywgd2l0aCBQSUQ9MHgxNCwgZG9lc24ndCBleHRlbmQgdG8gc2V2ZXJhbCBwYWNrZXRzCgkgIGFuZCB0aGUgc2VjdGlvbiBmaWx0ZXIgaXMgbm90IG5lZWRlZCBoZXJlIGFuZCBzaG91bGRuJ3QgYmUgdXNlZCBhdCBhbGwKCSAgZm9yIHRoZXNlIHRhYmxlcyBiZWNhdXNlIHRoZSBoYXZlIGEgZGlmZmVyZW50IHN0cnVjdHVyZS4KCSAgRm9yIGV4YW1wbGUsIFREVCB0YWJsZXMgd2VyZSBub3QgcGFyc2VkIGZvciBvZGQgaG91cnMgYmVjYXVzZSB0aGlzIGJpdAoJICBpcyB0aGUgJ2N1cnJlbnRfbmV4dF9pbmRpY2F0b3InIGJpdCBmb3IgdGhlIG90aGVyIHNlY3Rpb25zLCBhbmQgdGhlIHRhYmxlCgkgIHdhcyBkaXNjYXJkZWQuCgoyMDEwLTExLTE5IDE3OjIyOjA2ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBkb24ndCBjYWxjdWxhdGUgdGhlIENSQyBmb3IgVE9UIHRhYmxlcy4gRml4ZXMgIzYzNTI4MS4KCSAgVE9UIHRhYmxlcywgd2l0aCB0YWJsZV9pZD0weDczLCBkb24ndCBoYXZlIGEgQ1JDLCBzbyBkb24ndCBjYWxjdXRlIGl0CgoyMDEwLTExLTE4IDE4OjQyOjM4ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiYmFzZWJpbjogQWRkIFREVCB0byB0aGUgaW5pdGlhbCBwaWRzIGZpbHRlciBmb3IgZHZic3JjLiBGaXhlcyAjNjM1MjAwLgoKMjAxMC0xMS0xNiAxNzozNTozNiArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBhZGQgZ3N0X2pwZWdfcGFyc2Vfc2tpcF9tYXJrZXIgKCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNjYxOAoKMjAxMC0wOC0xMyAxMzoxNDozMCArMDIwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiB1c2UgYnl0ZSByZWFkZXIgYWNjZXNzb3JzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjY2MTgKCjIwMTAtMTEtMTcgMTA6NDk6MzAgKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogaW5saW5lIGdzdF9qcGVnX3BhcnNlX3NvZiAoKQoJICBObyBmdW5jdGlvbmFsIGNoYW5nZXMgKGhvcGVmdWxseSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjY2MTgKCjIwMTAtMTEtMTYgMTc6MjM6MzUgKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogZml4IHR5cG8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNjYxOAoKMjAxMC0xMS0xOCAxMDo1ODowNiAtMDMwMCAgQWxla3NleSBMaW0gPGFsc3Jvb3RAbWVtYmVyLmZzZi5vcmc+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRG8gbm90IHVzZSBhdWRpbyBjbG9jayBhZnRlciBzdG9wcGluZyB2aWRlbyBjYXB0dXJlCgkgIEFkZGEgcHJvdmlkZSBjbG9jayBmdW5jdGlvbiB0byBjYW1lcmFiaW4gdG8gbWFrZSBpdCBub3QKCSAgcHJvdmlkZSB0aGUgYXVkaW8gY2xvY2sgb2YgdGhlIHJlY29yZCBiaW4gd2hlbiBubyB2aWRlbwoJICByZWNvcmRpbmcgaXMgaGFwcGVuaW5nCgkgIEZpeGVzICM2MTMzNzkKCjIwMTAtMTEtMTcgMTY6MjM6NDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB1c2UgY29ycmVjdCBvZmZzZXQgd2hlbiBhZGRpbmcgaW5kZXggZW50cnkKCSAgLi4uIGJlYXJpbmcgaW4gbWluZCB0aGF0IEJVRkZFUl9PRkZTRVQgaXMgbWVkaWEgc3BlY2lmaWMgYW5kIG1heSBub3QKCSAgcmVmbGVjdCB0aGUgYmFzaWMgb2Zmc2V0IGFmdGVyIGhhdmluZyBiZWVuIHBhcnNlZC4KCjIwMTAtMTEtMTcgMTQ6MzA6MDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBlbmhhbmNlbWVudHMgZm9yIHRpbWVzdGFtcCBtYXJrZWQgZnJhbWVkIGZvcm1hdHMKCSAgVGhhdCBpcywgYXMgc3VjaCBmb3JtYXRzIGFsbG93IHN1YmNsYXNzIHRvIGV4dHJhY3QgcG9zaXRpb24gZnJvbSBmcmFtZSwKCSAgaXQgaXMgcG9zc2libGUgdG8gZXh0cmFjdCBkdXJhdGlvbiAoaWYgbm90IG90aGVyd2lzZSBwcm92aWRlZCkKCSAgZnJvbSAobmVhcikgbGFzdCBmcmFtZSwgYW5kIGEgc2VlayBjYW4gZmFpcmx5IGFjY3VyYXRlbHkgdGFyZ2V0IHRoZSByZXF1aXJlZAoJICBwb3NpdGlvbi4KCSAgRml4ZXMgIzYzMTM4OS4KCjIwMTAtMTEtMTYgMTc6MDY6MTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZWZhY3RvciBmcmFtZSBzY2FubmluZyBwZWZvcm1lZCBieSBfbG9vcAoKMjAxMC0xMS0xNiAxODowNDowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHNsaWdodGx5IG9wdGltaXplIHNlbmRpbmcgb2YgcGVuZGluZyBuZXdzZWdtZW50IGV2ZW50cwoKMjAxMC0xMS0xNiAxNzowNDozNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IG1pbm9yIGZpeGVzIGFuZCBlbmhhbmNlbWVudHMKCSAgQXJyYW5nZSBmb3IgdXBzdHJlYW0gYXMgd2VsbCBhcyBkb3duc3RyZWFtIGZsdXNoaW5nIHdoZW4gc2Vla2luZy4KCSAgQWxzbyBkZXRlcm1pbmUgdXBzdHJlYW0gc2l6ZSBhcyB3ZWxsIGFzIHNlZWthYmlsaXR5LiAgQWRqdXN0IHNvbWUgY29tbWVudHMKCSAgdG8gcmVhbGl0eSBhbmQgZW1wbG95IGRlYnVnIHN0YXRlbWVudCBpbiBwcm9wZXIgb3JkZXIuCgoyMDEwLTExLTE3IDE1OjMzOjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IG1pbm9yIGNsZWFudXBzCgoyMDEwLTExLTE3IDE1OjI0OjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGZpeCByZWdyZXNzaW9uIGluIEFESUYgc3JjIGNhcHMgc2V0dGluZwoKMjAxMC0xMS0xNiAxMjoxMTo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IHBhcnNlIHNlZWt0YWJsZQoJICBGaXhlcyAjNjMxMzg5IChwYXJ0aWFsbHkpLgoKMjAxMC0xMS0xNiAxMjowODo1NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IG1pbm9yIHJlZmFjdG9yIGFuZCBlbmFibGUgZGVmYXVsdCBiYXNlcGFyc2Ugc2VnbWVudCBjbGlwcGluZwoKMjAxMC0xMS0xMiAwMDo0MDozMyArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmg6CgkgIGNlbHZpZGVvc3JjOiBmaXggbmFzdHkgZGVhZGxvY2sKCSAgV2UgY2Fubm90IGNhbGwgYW55IENNQnVmZmVyUXVldWUgZnVuY3Rpb25zIHdoaWxlIGhvbGRpbmcgdGhlIGxvY2sgdGhhdAoJICBvdXIgY2FsbGJhY2sgYWxzbyBkZXBlbmRzIG9uLiBTbyBub3cgd2UgbWFrZSB1c2Ugb2YgQ01CdWZmZXJRdWV1ZSdzCgkgIHRyaWdnZXIgQVBJIGluIG9yZGVyIHRvIGdldCBub3RpZmllZCB3aGVuIHRoZSBxdWV1ZSBoYXMgZGF0YS4KCjIwMTAtMTEtMTEgMjM6NDE6NDQgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jbWFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jbWFwaS5oOgoJICBjbWFwaTogY292ZXIgQ01CdWZmZXJRdWV1ZSdzIHRyaWdnZXIgQVBJCgoyMDEwLTExLTExIDIxOjQyOjAzICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSAgY2VsdmlkZW9zcmM6IHVubG9jayBzaG91bGQgYWxzbyBub3RpZnkKCSAgT3RoZXJ3aXNlIHdlIGRlcGVuZCBvbiBiZWluZyB3b2tlbiB1cCBieSB0aGUgQ29yZU1lZGlhIHF1ZXVlIGdldHRpbmcKCSAgaXRzIG5leHQgYnVmZmVyLgoKMjAxMC0xMS0xMCAyMzoxNjo1MSArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkgIGFwcGxlbWVkaWE6IGRvbid0IHB1c2ggc3luY2hyb25vdXNseSBmcm9tIGNhbGxiYWNrCgkgIFRoZSBjb2RlYyB0aGF0IGNhbGxlZCB1cyBtaWdodCBiZSBob2xkaW5nIGxvY2tzIHRvIHNoYXJlZCByZXNvdXJjZXMsIHNvCgkgIHdlIHNob3VsZCBuZXZlciBwdXNoIGRvd25zdHJlYW0gZnJvbSB3aXRoaW4gaXRzIGJ1ZmZlciBjYWxsYmFjay4KCSAgTm90ZSB0aGF0IGEgR3N0QnVmZmVyTGlzdCBpcyBub3QgdXNlZCBoZXJlIGJlY2F1c2Ugd2UgbmVlZCB0byBwcmVzZXJ2ZQoJICB0aGUgYnVmZmVyIG1ldGFkYXRhIGhlbGQgYnkgb3VyIEdzdEJ1ZmZlciBzdWJjbGFzc2VzLgoKMjAxMC0xMS0xMCAyMDo1Mjo0NyArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBidW1wIEguMjY0IGxldmVsIGZyb20gMS4zIHRvIDMuMAoJICBUaGlzIHNob3VsZCBiZSB0dXJuZWQgaW50byBhIHByb3BlcnR5LgoKMjAxMC0xMS0xMCAyMDo0NDoxNSArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmg6CgkgIGNlbHZpZGVvc3JjOiBhZGQgYmFzaWMgZGV2aWNlIHNlbGVjdGlvbiBzdXBwb3J0CgoyMDEwLTExLTEwIDIwOjUxOjI3ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuaDoKCSAgY3ZhcGk6IGFkZCB3cmFwcGVyIGZvciBJTyBzdXJmYWNlIGFjY2VzcwoJICBUbyBiZSB1c2VkIGluIGEgZnV0dXJlIHZpZGVvIHNpbmsgZm9yIHplcm8tY29weSByZW5kZXJpbmcuCgoyMDEwLTExLTEwIDIwOjI1OjI4ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY2VsYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbGFwaS5oOgoJICBjZWxhcGk6IGFkZCBjYXB0dXJlIHBvcnQgdHlwZSBjb25zdGFudHMKCjIwMTAtMTEtMDkgMjI6NDM6MTQgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBSZW1vdmUgdW51c2VkIHNyY19zdHJpZGUgdmFyaWFibGUgZnJvbSBibGl0IGZ1bmN0aW9ucwoKMjAxMC0xMS0wOSAxODoxMDo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogd2luMzIvY29tbW9uL2xpYmdzdHBob3RvZ3JhcGh5LmRlZjoKCSAgd2luMzI6IEFkZGluZyBwaG90b2dyYXBoeSBpbnRlcmZhY2UgLmRlZiBmaWxlCgkgIEFkZHMgY2hlY2stZXhwb3J0cyB0byAtYmFkIHRvIGhhdmUgcGhvdG9ncmFwaHkgaW50ZXJmYWNlCgkgIC5kZWYgZmlsZSBjcmVhdGVkCgkgIEZpeGVzICM1Nzg2MjkKCjIwMTAtMTEtMDkgMTk6Mzg6MjUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogZml4IHNpbGx5IGxlYWsgaW4gX3Jlc2V0CgoyMDEwLTExLTA4IDIzOjU0OjMxICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZGVjYmluLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGVuY2Jpbi5jOgoJICBhcHBsZW1lZGlhOiBiaXBsYW5hciBpcyBhY3R1YWxseSBOVjEyLCBub3QgSTQyMAoJICBEJ29oIQoKMjAxMC0xMS0wOCAyMToyMjoxMyArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkgIHZ0ZW5jOiByZW1vdmUga2V5ZnJhbWUgZW5mb3JjZW1lbnQgd29ya2Fyb3VuZAoJICBXYXMgb25seSBuZWVkZWQgZm9yIG9sZCBpT1Mgd2hlcmUgdGhlIEguMjY0IGVuY29kZXIgZGlkbid0IHN1cHBvcnQKCSAga1ZURW5jb2RlRnJhbWVPcHRpb25LZXlfRm9yY2VLZXlGcmFtZS4KCjIwMTAtMTEtMDggMTg6NTY6NTIgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5oOgoJICBjdmFwaTogYWRkIGEgZmV3IGV4dHJhIGJpdHMgb2Ygd3JhcHBpbmcKCjIwMTAtMTEtMDggMTU6MDg6MTkgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2N2YXBpLmg6CgkgIGFwcGxlbWVkaWE6IGxvY2sgQ1ZQaXhlbEJ1ZmZlciByZWFkLW9ubHkKCSAgQXMgcGVyIEFwcGxlJ3MgZG9jcywgdGhpcyBtYXkgaW1wcm92ZSBwZXJmb3JtYW5jZSBieSBhdm9pZGluZyByZWR1bmRhbnQKCSAgaW52YWxpZGF0aW9ucyBvZiBleGlzdGluZyBjYWNoZXMgb2YgdGhlIGJ1ZmZlciBjb250ZW50cy4KCjIwMTAtMTEtMDggMTA6MzM6NTggLTAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjogUmVtb3ZlIGdzdHJpbmcgbGVhawoJICBTaW1wbGlmeSBnc3QtY2FtZXJhYmluLXRlc3QgYnkgcmVtb3ZpbmcgR1N0cmluZyBhbmQgcmVwbGFjaW5nCgkgIHdpdGggZ2NoYXIgZm9yIHRoZSBmaWxlbmFtZSBoYW5kbGluZy4gQWxzbyByZW1vdmVzIGEgbGVhayBvZgoJICB0aGUgR1N0cmluZyBkYXRhLgoKMjAxMC0xMS0wOCAxNjowMDoyMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJICByc3ZnZGVjOiBhdm9pZCByZWZmaW5nIHRoZSBlbGVtZW50IGluIGNoYWluCgoyMDEwLTExLTA4IDE1OjQ1OjQ4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkgIHJzdmdkZWM6IGFkZCBzb21lIG1pbmltYWwgbG9nZ2luZyB0byB0cmFjayB3aGF0IGl0IGlzIGRvaW5nCgoyMDEwLTExLTA4IDEzOjUyOjQ5ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSAgY2VsdmlkZW9zcmM6IHB1dCBwbGFuYXIgZmlyc3QgaW4gdGVtcGxhdGUgY2FwcwoKMjAxMC0xMS0wOCAxMzo0OTowNCArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2N2YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGRlY2Jpbi5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRlbmNiaW4uYzoKCSAgYXBwbGVtZWRpYTogaW1wcm92ZSB2dGVuYy92dGRlYyBwZXJmb3JtYW5jZQoJICBQcm9maWxpbmcgb2YgSC4yNjQgZW5jb2RlIGFuZCBkZWNvZGUgcmV2ZWFsZWQgdGhhdCBjb252ZXJzaW9ucwoJICBiZXR3ZWVuIHBhY2tlZCBhbmQgcGxhbmFyIHdlcmUgaGFwcGVuaW5nIGJlaGluZCB0aGUgc2NlbmVzLgoJICBIZW5jZSB3ZSBub3cgY2hvb3NlIEk0MjAgaW5zdGVhZCBvZiBZVVkyLgoKMjAxMC0xMC0yMiAxODowNzowMCArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBleGFtcGxlczogYWRkIGFzeW5jIGJ1cyBoYW5kbGVyIHRvIGdzdC1jYW1lcmFiaW4tdGVzdAoJICBTcGxpdHMgdGhlIGJ1cyBoYW5kbGVyIGludG8gc3luYyBhbmQgYXN5bmMsIGtlZXBpbmcgdGhlCgkgIHByZXBhcmUteHdpbmRvdyBoYW5kbGluZyBhdCB0aGUgc3luYyBmb3IgZmFzdGVyIGhhbmRsaW5nIGFuZAoJICBtb3ZpbmcgdGhlIG90aGVycyB0byB0aGUgYXN5bmMgaGFuZGxlcgoKMjAxMC0xMS0wNiAxMjoyNzozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogd2Ugc3RpbGwgcmVxdWlyZSBHdGsrID49IDIuMTQuMCB3aGVuIGNvbXBpbGluZyBhZ2FpbnN0IDIuMAoJICBUaGUgY2hlY2sgZm9yIHRoZSBtaW5vciB2ZXJzaW9uIHdhcyBkcm9wcGVkIGluIG9uZSBvZiB0aGUgcHJldmlvdXMKCSAgY29tbWl0cy4KCjIwMTAtMTEtMDUgMTY6NTE6NTcgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5oOgoJICBjZWx2aWRlb3NyYzogbWVhc3VyZSBmcHMgd2hlbiBzdGF0aXN0aWNzIGlzIGVuYWJsZWQKCSAgQWxzbyByZWZhY3RvciB0aW1lc3RhbXBpbmcgc2xpZ2h0bHkuCgoyMDEwLTExLTA1IDE1OjE0OjA4ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuaDoKCSAgY2VsdmlkZW9zcmM6IHVwZGF0ZSB0byBuZXcgQ2VsZXN0aWFsIGFuZCBNZWRpYVRvb2xib3ggQVBJcwoJICBUaGlzIG1lYW5zIGNlbHZpZGVvc3JjIGlzIG5vIGxvbmdlciBjb21wYXRpYmxlIHdpdGggaU9TIDMueC4KCjIwMTAtMTEtMDUgMTU6MDg6NTYgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJICBjZWx2aWRlb3NyYzogZml4IGRlYnVnIGNhdGVnb3J5IGRlc2NyaXB0aW9uCgoyMDEwLTExLTA1IDE1OjA4OjAyICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY2VsYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbGFwaS5oOgoJICBjZWxhcGk6IHVwZGF0ZSB0byByZWZsZWN0IG5ldyBBUEkgb24gaU9TIDQueAoJICBBbHNvIGFkZCByZW1haW5pbmcgcHJvcGVydHkgY29uc3RhbnRzIGZvciBkZXZpY2UgYW5kIHN0cmVhbS4KCjIwMTAtMTEtMDUgMTU6MDc6MzggKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9tdGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9tdGFwaS5oOgoJICBtdGFwaTogdXBkYXRlIHRvIHJlZmxlY3QgbmV3IEFQSSBvbiBpT1MgNC54CgkgIEFsc28gYWRkIHJlbWFpbmluZyBwcm9wZXJ0eSBjb25zdGFudHMgZm9yIGRldmljZSBhbmQgc3RyZWFtLgoKMjAxMC0xMS0wNSAxMDo1Njo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLWRpc3QuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy1kaXN0Lmg6CgkgIGNvbG9yc3BhY2U6IFVwZGF0ZSBnZW5lcmF0ZWQgT1JDIHNvdXJjZXMKCjIwMTAtMDgtMjYgMTc6MDg6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBBZGRzICdpZGxlJyBwcm9wZXJ0eQoJICBBZGRzICdpZGxlJywgYSByZWFkLW9ubHkgYm9vbGVhbiBwcm9wZXJ0eSB0aGF0IHRlbGxzIGFwcGxpY2F0aW9ucwoJICBpZiB0aGVyZSBpcyBhbnkgY2FwdHVyaW5nL3NhdmluZy9lbmNvZGluZyBnb2luZyBvbiBpbiBjYW1lcmFiaW4uIElmCgkgIG5vdCwgaXQgaXMgc2FmZSB0byBzZXQgaXQgdG8gTlVMTCBhbmQgcmVsZWFzZSByZXNvdXJjZXMgd2l0aG91dAoJICBsb3NpbmcgZGF0YS4KCjIwMTAtMDUtMDUgMTM6NTg6MDcgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogQWRkICJyZWFkeS1mb3ItY2FwdHVyZSIgcHJvcGVydHkKCSAgQWRkICJyZWFkeS1mb3ItY2FwdHVyZSIgcHJvcGVydHkgdG8gaW5kaWNhdGUgaWYgcHJlcGFyaW5nIGEgbmV3CgkgIGNhcHR1cmUgaXMgcG9zc2libGUuCgkgICJyZWFkeS1mb3ItY2FwdHVyZSIgY2hhbmdlcyBiZWZvcmUgdGhlICdpbWFnZS1kb25lJyBzaWduYWwsIHNvCgkgIHRoZSBhcHBsaWNhdGlvbiBjYW4gYmUgbm90aWZpZWQgdGhhdCBpdCBjYW4gZG8gYSBuZXcgY2FwdHVyZQoJICBldmVuIGJlZm9yZSB0aGUgcHJldmlvdXMgb25lIGhhcyBmaW5pc2hlZCBlbmNvZGluZy9zYXZpbmcuCgoyMDEwLTExLTA1IDAwOjMyOjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBkb24ndCBldmVuIGNoZWNrIGZvciBHdGsrIGlmIC0tZGlzYWJsZS1leGFtcGxlcyBpcyBzcGVjaWZpZWQKCSAgVGhlcmUgYXJlIEd0aystYmFzZWQgZXhhbXBsZXMgaW4gcGx1Z2luIGRpcnMgYW5kIHRlc3RzL2ljbGVzLyB0b28sIGFuZAoJICB3ZSB3YW50IHRvIGRpc2FibGUgdGhvc2UgYXMgd2VsbCB0aGVuLgoKMjAxMC0xMS0wNSAwMDoyNDozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYWRkIC0td2l0aC1ndGsgb3B0aW9uIGFuZCBkZWZhdWx0IHRvIEd0aysgMi4wIHdoaWxlIHRoZSAzLjAgQVBJIGlzIHN0aWxsIGluIGZsdXgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNDAxNAoKMjAxMC0xMS0wMyAwMDowNDoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvemJhci5jOgoJKiB0ZXN0cy9maWxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZmlsZXMvYmFyY29kZS5wbmc6CgkgIHRlc3RzOiBhZGQgdmVyeSBzaW1wbGUgemJhciB1bml0IHRlc3QKCSAgTm90IHZhbGdyaW5kIGNsZWFuIHlldCAoY291bGQgYmUgemJhcidzIGZhdWx0IHRob3VnaCkuCgoyMDEwLTExLTA0IDE5OjI1OjI0ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJICBhcHBsZW1lZGlhOiBtYWtlIHZpZGVvIHNvdXJjZSBlbGVtZW50IGRldGFpbHMgY29uc2lzdGVudAoJICBJbnNwaXJlZCBieSB0aGUgdjRsMnNyYyBlbGVtZW50IGRldGFpbHMuCgoyMDEwLTExLTA0IDE5OjExOjA0ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJICBhcHBsZW1lZGlhOiBjb25zaXN0ZW50bHkgdXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZQoKMjAxMC0xMS0wNCAxOTowMjo1MCArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmg6CgkgIGNlbHZpZGVvc3JjOiB1cGRhdGUgZS1tYWlsIGFkZHJlc3MKCjIwMTAtMTEtMDQgMTg6NTk6NDQgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvaXBob25lY2FtZXJhc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2lwaG9uZWNhbWVyYXNyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYTogcmVuYW1lIGlwaG9uZWNhbWVyYXNyYyB0byBjZWx2aWRlb3NyYwoJICBUaGlzIGlzIGluIG9yZGVyIHRvIGltcHJvdmUgY29uc2lzdGVuY3kgd2l0aCB0aGUgb3RoZXIgdGhyZWUgc291cmNlcy4KCjIwMTAtMTEtMDQgMTc6NTg6MzYgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogZG9uJ3QgZXhwbGljaXRseSBlbXB0eSB0aGUgYnVmZmVyIHF1ZXVlCgkgIFdlJ3JlIGhvbGRpbmcgdGhlIG9ubHkgcmVmZXJlbmNlIHRvIGl0IHNvIHRoZXJlJ3Mgbm8gbmVlZCB0byBleHBsaWNpdGx5CgkgIGVtcHR5IGl0IHJpZ2h0IGJlZm9yZSBsZXR0aW5nIGdvIG9mIG91ciByZWZlcmVuY2UuCgoyMDEwLTExLTA0IDE3OjUwOjMzICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IG1ha2UgYnVmZmVyIG9mZnNldCBzdGFydCBmcm9tIHplcm8KCjIwMTAtMTEtMDQgMTc6NDc6MjUgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkgIHF0a2l0dmlkZW9zcmM6IGltcGxlbWVudCB6ZXJvLWNvcHkgYnkgdXNpbmcgYnVmZmVyLWZhY3RvcnkKCSAgVGhpcyBtZWFucyB3ZSdsbCB3cmFwIGVhY2ggQ29yZVZpZGVvIGJ1ZmZlciBpbnNpZGUgYSBHc3RCdWZmZXIgaW5zdGVhZCBvZgoJICBtYWtpbmcgYSBjb3B5LgoKMjAxMC0xMS0wNCAxNzo0NDoxMiArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2J1ZmZlcmZhY3RvcnkuaDoKCSogc3lzL2FwcGxlbWVkaWEvYnVmZmVyZmFjdG9yeS5tOgoJICBidWZmZXJmYWN0b3J5OiBhZGQgc3VwcG9ydCBmb3Igd3JhcHBpbmcgQ1ZCdWZmZXIKCjIwMTAtMTEtMDQgMTc6MjQ6MDMgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkgIHF0a2l0dmlkZW9zcmM6IGZpeCB1cCByZWZjb3VudGluZwoJICBTaG91bGQga2VlcCBhIHN0cm9uZyByZWZlcmVuY2UgdG8gdGhlIGRldmljZSwgYnV0IHdlIGRvbid0IG5lZWQgdG8gbWFuYWdlCgkgIHRoZSByZWZlcmVuY2UgY291bnQgb2YgZWxlbWVudHMgb2YgYW4gTlNNdXRhYmxlQXJyYXkgYXMgaXQgdGFrZXMgY2FyZSBvZgoJICB0aGF0IGZvciB1cy4KCjIwMTAtMTEtMDQgMTc6MTY6MDUgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkgIHF0a2l0dmlkZW9zcmM6IHNpbXBsaWZ5IHRpbWVzdGFtcGluZyBhbGdvcml0aG0KCSAgQWxpZ25pbmcgdGltZXN0YW1wcyBvbiBkdXJhdGlvbiBib3VuZGFyaWVzLCBza2lwcGluZyBmcmFtZXMgYW5kIHNvIGZvcnRoCgkgIGFyZSBjbGVhcmx5IHRoaW5ncyB0aGF0IGZhbGwgb3V0c2lkZSB0aGUgc2NvcGUgb2YgYSB2aWRlbyBzb3VyY2UuCgoyMDEwLTExLTA0IDE0OjE0OjA5ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2J1ZmZlcmZhY3RvcnkuaDoKCSogc3lzL2FwcGxlbWVkaWEvYnVmZmVyZmFjdG9yeS5tOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYTogYWRkIG5ldyBpT1MgdmlkZW8gc291cmNlIGJhc2VkIG9uIEFWRm91bmRhdGlvbgoJICBUaGlzIGVsZW1lbnQgbWFrZXMgdXNlIG9mIHRoZSBkb2N1bWVudGVkIEFWRm91bmRhdGlvbiBmcmFtZXdvcmsgbWFkZQoJICBhdmFpbGFibGUgc3RhcnRpbmcgd2l0aCBpT1MgNC4wLCBhbmQgaGVuY2UgdGhpcyBtZWFucyB3ZSBjYW4gZmluYWxseQoJICBjYXB0dXJlIHZpZGVvIHVzaW5nIGEgcHVibGljIEFQSS4KCjIwMTAtMTEtMDQgMTQ6MjQ6MzYgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRkZWNiaW4uYzoKCSAgYXBwbGVtZWRpYTogZml4IHN0cmVhbS1mb3JtYXQgY2FwcyB1c2VkIGZvciBILjI2NAoJICBUaGUgc3RyZWFtLWZvcm1hdCdzICJhdmMtc2FtcGxlIiBtZW1iZXIgaXMgbm93IGNhbGxlZCBqdXN0ICJhdmMiLgoKMjAxMC0xMS0wNCAxNDoyOTozNyArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkgIGFwcGxlbWVkaWE6IHVwZGF0ZSBlLW1haWwgYWRkcmVzc2VzCgoyMDEwLTExLTA0IDE0OjE4OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogSW52ZXJzZSAtYmFzZSB2ZXJzaW9uIGNoZWNrIGxvZ2ljIHRvIGFjdHVhbGx5IG1ha2Ugc2Vuc2UKCjIwMTAtMTEtMDMgMTg6MzQ6MjggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmg6CgkgIHBjYXBwYXJzZTogQWRkIHN1cHBvcnQgZm9yIExpbnV4IENvb2tlZCBDYXB0dXJlIChTTEwpIGZyYW1lcwoKMjAxMC0xMS0wMyAxODoyMzoyNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiBGYWlsIG9uIHVua25vd24gdmVyc2lvbiBvciBsaW5rdHlwZQoJICBUaGUgZWxlbWVudCBvbmx5IGtub3dzIGFib3V0IG1ham9yIHZlcnNpb24gMiBhbmQgb25seSBkZWNvZGVzIGxpbmt0eXBlIGV0aGVybmV0CgoyMDEwLTExLTAzIDE4OjAyOjQ5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IFNlbmQgZXJyb3IgR3N0TWVzc2FnZSBpZiBzdHJlYW0gZG9lc24ndCBoYXZlIHRoZSBleHBlY3RlZCBtYWdpYwoKMjAxMC0xMS0wMyAxNjoxNjoyNCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogc2VuZCBURFQgdGFibGVzIG1lc3NhZ2VzIGluIGEgc2VyaWFsaXplZCBldmVudCBkb3duc3RyZWFtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzM5MTcKCjIwMTAtMTEtMDMgMTU6Mzc6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBBZGQgc3VwcG9ydCBmb3IgSVlVMQoKMjAxMC0xMS0wMyAxNToxMjo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMub3JjOgoJICBjb2xvcnNwYWNlOiBGaXJzdCB2ZXJzaW9uIG9mIFlVVjkgYW5kIFlWVTkgaW1wbGVtZW50YXRpb24KCjIwMTAtMTEtMDMgMDk6MjA6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IFVzZSBHU1RfQ0hFQ0tfUExVR0lOU19CQVNFX1ZFUlNJT04oKSBpbnN0ZWFkIG9mIG90aGVyIGhhY2tzCgoyMDEwLTEwLTE4IDE1OjMyOjE0ICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5oOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmg6CgkgIG1wZWd2aWRlb3BhcnNlOiBmaXggdGltZXN0YW1wIGdlbmVyYXRpb24KCSAgVXNlIGluZm9ybWF0aW9uIGZyb20gdGhlIGdvcCBoZWFkZXIgYW5kIHBpY3R1cmUKCSAgaGVhZGVyIHRvIGNhbGN1bGF0ZSB0aGUgcGljdHVyZSB0aW1lc3RhbXAuICh0aW1lX2NvZGUKCSAgYW5kIHRlbXBvcmFsX3JlZmVyZW5jZSkgYW5kIGFkYXB0IHRvIHVwc3RyZWFtIHRpbWVzdGFtcHMgaWYKCSAgcHJvdmlkZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzIyMjIKCjIwMTAtMTEtMDIgMjM6MDg6MzAgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5oOgoJICBhcHBsZW1lZGlhOiBzd2l0Y2ggdnRhcGkgdG8gQ0ZUeXBlUmVmIHN0eWxlIHR5cGVkZWZzCgoyMDEwLTExLTAyIDIyOjUzOjMzICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY2VsYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NtYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NtYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvaXBob25lY2FtZXJhc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2lwaG9uZWNhbWVyYXNyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW9hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9kZXZpY2UuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9kZXZpY2UuaDoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvbXRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgYXBwbGVtZWRpYTogc3VwcG9ydCBwdWJsaWMgdmVyc2lvbiBvZiBDb3JlTWVkaWEKCSAgQWxzbyByZW5hbWUgdGhlIHJlbGV2YW50IEFQSSBzbyB3ZSBtaXJyb3IgdGhlIHB1YmxpYyBBUEkgbW9yZSBjbG9zZWx5LCBhbmQKCSAgc3dpdGNoIHRvIENvcmVGb3VuZGF0aW9uIENGVHlwZVJlZiBzdHlsZSB0eXBlZGVmcy4gV2Ugc3RpbGwgc3VwcG9ydCB0aGUgb2xkCgkgIHByaXZhdGUgQ29yZU1lZGlhIGluIG9yZGVyIHRvIG5vdCBicmVhayBPUyBYIHN1cHBvcnQuCgkgIFRoaXMgbWVhbnMgdGhhdCB2dGVuYyBhbmQgdnRkZWMgYXJlIG5vdyBjb21wYXRpYmxlIHdpdGggaU9TIDQueCwgYW5kIGluCgkgIHRoZW9yeSBhbHNvIGZ1dHVyZSB2ZXJzaW9ucyBvZiBPUyBYLCB3aGVyZSB0aGlzIEFQSSBtYXkgdHVybiBwdWJsaWMgbGlrZQoJICBpdCBoYXMgb24gaU9TLgoKMjAxMC0xMS0wMiAxNzo0NjoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkgIHpiYXI6IGhhbmRsZSBtb3JlIGZvcm1hdHMgdGhhdCBzdGFydCB3aXRoIGFuIDgtYml0IFkgcGxhbmUKCSAgV2UgY2FuIGhhbmRsZSBtb3N0IHBsYW5hciBZVVYgbGF5b3V0cyB0b28sIGFzIGxvbmcgYXMgd2UgZG9uJ3QKCSAgdGVsbCB6YmFyIGFib3V0IHRoZSBjaHJvbWEgcGxhbmVzLgoKMjAxMC0xMS0wMiAxNzoxODo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuaDoKCSAgemJhcjogdXNlIGNvcnJlY3Qgc3RyaWRlCgkgIEZpeGVzIGRldGVjdGlvbiBmb3IgaW1hZ2VzIHdpdGggYSB3aWR0aCB0aGF0J3Mgbm90IGEgbXVsdGlwbGUgb2YgZm91ci4KCSAgQmFzZWQgb24gcGF0Y2ggYnk6IEthai1NaWNoYWVsIExhbmcgPG1pbGFuZ0B0YWwub3JnPgoJICBCYXNlZCBvbiBwYXRjaCBieTogU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMwODMwCgoyMDEwLTExLTAyIDE2OjU0OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogZml4IGJ1aWxkIHdpdGggY3VycmVudCBnaXQgb2YgZ3N0LXBsdWdpbnMtYmFzZQoJICBpZmRlZiB0ZXN0cyBkb24ndCB3b3JrIHNvIHdlbGwgaWYgd2UgZGVmaW5lIHRoZW0gaW4gdGhlIGNvZGUKCSAgYWJvdmUgaW4gY2FzZSB0aGV5IGFyZW4ndCBkZWZpbmVkLgoKMjAxMC0xMS0wMiAxNjozNTo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkgIHpiYXI6IG1pbm9yIGNsZWFuLXVwCgkgIEZpeCB0eXBvIGFuZCB1c2UgREVGQVVMVF9GT08gZGVmaW5lIGZvciBwcm9wZXJ0eSBkZWZhdWx0LgoKMjAxMC0xMS0wMiAxNjozMjo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkgIHpiYXI6IGRpc2FibGUgY2FjaGUgYnkgZGVmYXVsdAoJICBTaW5jZSBpdCBicmVha3Mgc3RpbGwgaW1hZ2UgYmFyIGNvZGUgZGV0ZWN0aW9uLgoKMjAxMC0xMS0wMiAxNjowNTozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuaDoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmg6CgkgIGNvbG9yc3BhY2U6IEFkZCBzdXBwb3J0IGZvciA4IGJpdCBwYWxldHRlZCBSR0IKCSAgVGhpcyBuZWVkcyB0aGUgOCBiaXQgcGFsZXR0ZWQgc3VwcG9ydCBmcm9tIC1iYXNlCgkgIHdoaWNoIHdpbGwgYmUgY29tbWl0dGVkIGFmdGVyIHJlbGVhc2UuIFdpdGhvdXQgdGhpcwoJICB0aGUgOCBiaXQgcGFydHMgYXJlIGRpc2FibGVkLgoKMjAxMC0xMS0wMiAxMDoyNDo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuYzoKCSAgY2FtZXJhYmluOiBBZGQgbWlzc2luZyBjaGFuZ2UgdG8gcHJldmlvdXMgY29tbWl0cwoJICBGb3Jnb3QgdG8gYWRkIHRoaXMgY2hhbmdlIHRvIHRoZSBsYXRlc3QgY29tbWl0cy4gVGhpcyBmaXhlcyB0aGUgYnVpbGQuCgoyMDEwLTExLTAyIDA5OjM5OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5jOgoJICBjYW1lcmFiaW46IEZpeCBsZWFrcyBpbiB0aGUgcHJldmlldyBoYW5kbGluZwoJICBSZW1lbWJlciB0byB1bnJlZiB0aGUgYnVzIGFmdGVyIGFkZGluZyB0aGUgd2F0Y2guCgkgIFJlbWVtYmVyIHRvIHVucmVmIHRoZSBlbGVtZW50IGFmdGVyIGdldHRpbmcgaXQgd2l0aAoJICBnc3RfYmluX2dldF9ieV9uYW1lLgoKMjAxMC0xMS0wMiAwOTozODoyMCAtMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBEbyBub3QgbGVhayBhIGNhcHMKCSAgZ3N0X2NhcHNfcmVwbGFjZSBkb2Vzbid0IHRha2Ugb3duZXJzaGlwLCBidXQgcmVmcyB0aGUgY2Fwcy4gU28gd2UKCSAgdW5yZWYgdGhlIHJlbWFpbmluZyBjYXBzLgoKMjAxMC0wOS0yNCAxNjoyODoxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFJlc2V0IHByZS1uaWdodC1tb2RlIHN0b3JlZCBmcHMgd2hlbiBtb2RlIGNoYW5nZXMKCSAgV2hlbiBzd2l0Y2hpbmcgYmV0d2VlbiB2aWRlby9zdGlsbCBtb2RlcyB0aGUgcHJlLW5pZ2h0LW1vZGUgZnBzCgkgIHNob3VsZCBiZSByZXNldCB0byBwcmV2ZW50IGl0IGJlaW5nIHVzZWQgaW4gdGhlIGluY29ycmVjdCBtb2RlLCBjYXVzaW5nCgkgIHRoZSB2aWRlb3NvdXJjZSB0byBmYWlsIGNvbmZpZ3VyaW5nIGl0c2VsZgoKMjAxMC0wOS0yMSAxNjoyMzo0NyArMDMwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjogYWRkIHN1cHBvcnQgZm9yIHNldHRpbmcgbWFueSBwb3N0LXByb2Nlc3NpbmcgZWxlbWVudHMKCSAgSW5zdGVhZCBvZiB0YWtpbmcgYSBzaW5nbGUgZWxlbWVudCBhcyBpbnB1dCBmb3IgdGhlIGltYWdlIHBvc3QKCSAgcHJvY2Vzc2luZyBvcHRpb24sIHRha2UgYSBsaXN0IG9mIGNvbW1hIHNlcGFyYXRlZCBlbGVtZW50cwoJICB0aGF0IHdpbGwgYmUgdXNlZC4KCjIwMTAtMDktMjAgMTE6NTQ6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiBTdG9yZSBhcHAgcHJlZmVycmVkIGNhcHR1cmUgcGFyYW1ldGVycyBzZXBhcmF0ZWx5CgkgIFN0b3JlIHdpZHRoL2hlaWdodC9mcHMgZm9yIHZpZGVvIGNhcHR1cmVzIGluIGEgc2VwYXJhdGUgdmFyaWFibGUKCSAgdGhhbiB0aGUgb25lIHRoYXQgc3RvcmVzIHRoZSBjdXJyZW50bHkgdXNlZCB2YWx1ZS4KCSAgVGhpcyBwcmV2ZW50cyB0aGUgdXNlciBwcmVmZXJlbmNlcyB0byBiZSBsb3N0IHdoZW4gcmVzZXR0aW5nCgkgIHRoZSBjdXJyZW50bHkgdXNlZCBkaW1lbnNpb25zIGZvciBuaWdodCBtb2RlLCBmb3IgZXhhbXBsZQoKMjAxMC0wOS0yMCAwODo0Mjo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGNsZWFudXAgdXNlZCBjYXBzIHdoZW4gZ29pbmcgdG8gTlVMTAoJICBSZXNldHMgdXNlZCBjYXBzIHNvIHRoYXQgY2FtZXJhYmluIGRvZXNuJ3QgdHJ5IHRvIHVzZSB0aGVtCgkgIHdoZW4gcmVzdGFydGluZywgd2hlcmUgZWxlbWVudHMvcHJvcGVydGllcyBtaWdodCBoYXZlIGNoYW5nZWQKCSAgYW5kIHRoZSBvbGQgY2FwcyBiZSBpbmNvbXBhdGlibGUKCjIwMTAtMDktMDkgMTA6NTA6NTkgKzAzMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGZpeCBwcmlvcml0eSBmb3IgaWRsZV9hZGQgZnVuY3Rpb24KCSAgQWRkcyBhIGhpZ2hlciBwcmlvcml0eSB0byB0aGUgaWRsZV9hZGQgZnVuY3Rpb24gZm9yIHdoZW4KCSAgdGhlIGltYWdlIGJpbiBmaW5pc2hlZCB0aGUgaW1hZ2UgY2FwdHVyZS4gVGhpcyByZWR1Y2VzIHRoZQoJICBkZWxheSBmb3IgdGhlIGFwcGxpY2F0aW9uIHRvIGJlIG5vdGlmaWVkIGFib3V0IHRoaXMuCgoyMDEwLTExLTAxIDIzOjA0OjQ0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBsb2cgdGltZXMgaW4gaHVtYW4gcmVhZGFibGUgZm9ybQoKMjAxMC0xMS0wMSAyMjo0MDozNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogbW92ZSByZW9jY3VyaW5nIGxvZ3MgdG8gTE9HIGFuZCByZW1vdmUgYSBkb3VibGUgaW5mbwoJICBMZXNzIGRlYnVnIHNwZXcgaW4gREVCVUcgY2F0ZWdvcnkuIE5vIG5lZWQgdG8gbG9nIHBhZCBhZ2FpbiBpZiB3ZSB1c2UKCSAgR1NUX0xPR19PQkpFQ1QocGFkLC4uLikuCgoyMDEwLTExLTAxIDE1OjUzOjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy1kaXN0LmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMtZGlzdC5oOgoJICBjb2csIGNvbG9yc3BhY2U6IHVwZGF0ZSBvcmMgYmFja3VwIGZ1bmN0aW9ucyBmb3IgbGF0ZXN0IGNoYW5nZXMKCSAgU2hvdWxkIGZpeCBidWlsZCBvbiBzeXN0ZW1zIHdpdGhvdXQgdGhlIGxhdGVzdCBvcmMuCgoyMDEwLTExLTAxIDE1OjUzOjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IHVwZGF0ZSBmb3IgbmV3IHRyYW5zbGF0aW9ucwoKMjAxMC0xMC0zMSAyMzo0NjoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogQWRkIHN1cHBvcnQgZm9yIFJHQjE1IGFuZCBCR1IxNQoKMjAxMC0xMC0zMSAyMzo0NDoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogQWRkIHN1cHBvcnQgZm9yIFJHQjE2IGFuZCBCR1IxNgoKMjAxMC0xMC0zMSAyMzoyNTo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMub3JjOgoJICBjb2xvcnNwYWNlOiBBZGQgc3VwcG9ydCBmb3IgWTE2CgoyMDEwLTEwLTMxIDIzOjI1OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMub3JjOgoJICBjb2xvcnNwYWNlOiBGaXggWTgwMCBPUkMgZ2V0bGluZSBpbXBsZW1lbnRhdGlvbgoKMjAxMC0xMC0zMSAyMzowNzo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy5vcmM6CgkgIGNvbG9yc3BhY2U6IEFkZCBzdXBwb3J0IGZvciBBNDIwCgoyMDEwLTEwLTMxIDIzOjAwOjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogQWRkIHN1cHBvcnQgZm9yIFk0MUIKCjIwMTAtMTAtMzEgMjI6Mzk6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmg6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5oOgoJICBjb2xvcnNwYWNlOiBBZGQgc3VwcG9ydCBmb3IgU0RUVi9IRFRWIFlVViBjb252ZXJzaW9ucwoKMjAxMC0xMC0zMSAyMjoyMTozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IEFkZCBjb21tZW50IGZvciB0aGUgQTQyMCBnZXRsaW5lL3B1dGxpbmUgdGFibGUgcm93CgoyMDEwLTEwLTMxIDIwOjQwOjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5oOgoJICBjb2xvcnNwYWNlOiBBZGQgY29uc3QgdG8gdGhlIHNvdXJjZSBhcnJheXMgYW5kIHRoZSBnZXRsaW5lL3B1dGxpbmUgdGFibGUKCjIwMTAtMTAtMzEgMTk6NDI6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBNYWtlIGZhc3QtcGF0aCB0cmFuc2Zvcm0gdGFibGUgY29uc3QKCjIwMTAtMTAtMzEgMTk6Mzk6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBPbmx5IGRvIHRoZSBJNDIwLT5ZVVkyIGNvbnZlcnNpb24gb25jZSBwZXIgc2NhbmxpbmUgaW4gdGhlIGZhc3QgcGF0aAoKMjAxMC0xMC0yOSAxNDowODo1OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHVzZSBvbmx5IHVwc3RyZWFtIGR1cmF0aW9uIGlmIGl0IHByb3ZpZGVzIG9uZQoKMjAxMC0xMC0yNSAxNDoxNTo1MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJlZmxvdyB1cGRhdGVfYml0cmF0ZSBjb2RlCgkgIC4uLiB3aGljaCBtYWtlcyBsb2NhbCB2YXJpYWJsZXMgcmVwcmVzZW50IHJlYWwgc3RhdGUgYmV0dGVyLCBhbmQgYXZvaWRzCgkgIHRyaWdnZXJpbmcgdW5uZWVkZWQgdXBkYXRlcy9hY3Rpb25zLgoKMjAxMC0xMC0yNSAxNDoxMzo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGFkZCBzb21lIGRlYnVnIHN0YXRlbWVudHMKCjIwMTAtMTAtMjggMTg6NTE6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RwbHVnaW4uYzoKCSAgZ2F1ZGllZmZlY3RzOiBJbmNsdWRlIGdzdGNvbnRyb2xsZXIgaGVhZGVyIGFuZCBhZGQgdGhlIHJlcXVpcmVkIENGTEFHUwoKMjAxMC0xMC0yNyAxNDo1NzozNiArMDIwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RwbHVnaW4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmg6CgkgIGdhdWRpZWZmZWN0czogbWFkZSBmaWx0ZXIgcGFyYW1ldGVycyBkeW5hbWljIGFuZCBjb250cm9sbGFibGUKCjIwMTAtMDctMDEgMTU6MDc6NDEgKzAyMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJICB3aW5rczogd29yayBhcm91bmQgc2h1dGRvd24gZGVhZGxvY2sKCSAgR2V0T3ZlcmxhcHBlZFJlc3VsdCgpIG1pZ2h0IG5ldmVyIHJldHVybiB3aXRoIHNvbWUgZHJpdmVycy4gVGltZSBvdXQKCSAgYWZ0ZXIgMTAwMCBtcy4gV2UgY2Fubm90IHJlYWxseSBmaXggdGhpcyB3aXRob3V0IGVpdGhlcjoKCSAgMSkgQ29udHJvbGxpbmcgdGhlIHN0cmVhbWluZyB0aHJlYWQgc28gd2UgY2FuIGRvIENhbmNlbElvKCkgZnJvbSB0aGF0CgkgIHRocmVhZC4KCSAgMikgU3dpdGNoIHRvIHVzaW5nIElPIGNvbXBsZXRpb24gcG9ydHMuCgoyMDEwLTA2LTExIDE4OjA0OjU4ICswMjAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSAgd2lua3M6IHJlbW92ZSBKUEVHIHZhbGlkYXRpb24gaGFjawoJICBUaGlzIHNob3VsZCBjbGVhcmx5IG5vdCBiZSBkb25lIGluIGEgdmlkZW8gc291cmNlLgoKMjAxMC0wNC0yMCAxMjowNTo0NSArMDIwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJICB3aW5rczogc2V0IFByaW9yaXR5U3ViQ2xhc3MgdG8gS1NQUklPUklUWV9OT1JNQUwgaW5zdGVhZCBvZiAxCgkgIEluIG9yZGVyIHRvIG1hdGNoIHRoZSByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24uCgoyMDEwLTA0LTIwIDExOjU5OjIzICswMjAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSAgd2lua3M6IHJldHJ5IHdoZW4gS3NDcmVhdGVQaW4gZmFpbHMgd2l0aCBFUlJPUl9OT1RfUkVBRFkKCSAgVHVybnMgb3V0IHRoYXQgdGhlIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiBkb2VzIHRoaXMsIGhlbmNlIHdlIG5lZWQgdG8KCSAgbWlycm9yIHRoaXMgYmVoYXZpb3VyLiBUaGlzIHR5cGljYWxseSBoYXBwZW5zIHdpdGggaGFyZHdhcmUgdGhhdCB0YWtlcwoJICBzb21lIHRpbWUgdG8gaW5pdGlhbGl6ZS4KCjIwMDktMTAtMjYgMTY6MDk6MDAgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYzoKCSAgd2lua3M6IGltcHJvdmUgZnJhbWVyYXRlIGZyYWN0aW9uIGNvbnZlcnNpb25zCgkgICogRm9yIGluc3RhbmNlIDcuNSBmcHMgc2hvdWxkIGJlIHJlcHJlc2VudGVkIGFzIDE1LzIgaW5zdGVhZCBvZiA3LzEuCgkgICogQ2xhbXAgQXZnVGltZVBlckZyYW1lIGFuZCBkd0JpdFJhdGUgdG8gYWNjb3VudCBmb3Igcm91bmRpbmcgZXJyb3JzLgoKMjAwOS0xMC0xMiAxNzoyNjoxNSArMDIwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc2Nsb2NrLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmg6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkqIHN5cy93aW5rcy9rc2hlbHBlcnMuYzoKCSogc3lzL3dpbmtzL2tzaGVscGVycy5oOgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYzoKCSAgd2lua3M6IGltcHJvdmUgZXJyb3ItaGFuZGxpbmcKCSAgTW9zdCBpbXBvcnRhbnQgcGFydCBoZXJlIGlzIHNwZWNpYWwtY2FzaW5nICJkZXZpY2UgYnVzeSIgc28gdGhlIGFwcGxpY2F0aW9uCgkgIGlzIGFibGUgdG8gcHJvdmlkZSBiZXR0ZXIgZmVlZGJhY2sgd2hlbiBhbm90aGVyIGFwcGxpY2F0aW9uIGlzIHVzaW5nIHRoZQoJICBkZXZpY2UuCgoyMDA5LTA5LTA3IDE2OjQ1OjU3ICswMjAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuaDoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSAgd2lua3M6IHBlcmZvcm1hbmNlIGltcHJvdmVtZW50cwoJICAqIE1ha2UgdGhlIGRyaXZlciB3cml0ZSBkaXJlY3RseSBpbnRvIGVhY2ggR3N0QnVmZmVyIHRvIGF2b2lkIG1lbWNweSgpLgoJICAqIERvbid0IG1lbXNldCgpIHRoZSBidWZmZXIgYmVmb3JlIHJldXNpbmcgaXQuCgkgICogUmVjeWNsZSBtZW1vcnkgYnkga2VlcGluZyB0d28gc3BhcmUgYnVmZmVycy4gVHdvIGJlY2F1c2UgdGhlIHNpbmsKCSAgZG93bnN0cmVhbSBtYXkga2VlcCBhIHJlZiB0byB0aGUgcHJldmlvdXMgYnVmZmVyLgoJICBOb3RlIHRoYXQgd2UgYWxpZ24gYnVmZmVycyBvbiBoaWdoZXN0IHBvc3NpYmxlIGJ5dGUgYm91bmRhcnkgKDQwOTYpIHNvIHdlCgkgIGRvbid0IGhhdmUgdG8gdGFrZSBpbnRvIGFjY291bnQgd2hhdCBraW5kIG9mIGFsaWdubWVudCB0aGUgZHJpdmVyIHJlcXVpcmVzLgoKMjAwOS0wOS0wNyAxNjowOTozNCArMDIwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc2Nsb2NrLmM6CgkqIHN5cy93aW5rcy9nc3Rrc2Nsb2NrLmg6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmg6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmg6CgkgIHdpbmtzOiBzdG9yZSBwcml2IHBvaW50ZXIgaW5zdGVhZCBvZiBsb29raW5nIGl0IHVwCgoyMDA5LTA4LTMxIDE5OjMzOjMwICswMjAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSAgd2lua3M6IHBvc3QgZXJyb3IgbWVzc2FnZSBvbiBmbG93LXVuZXhwZWN0ZWQKCjIwMDktMDgtMzEgMTk6Mjg6NTAgKzAyMDAgIEFuZHJlcyBDb2x1YnJpIDxhbmRyZXMuY29sdWJyaUBnbWFpbC5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5oOgoJICB3aW5rczogYWRkIHByb3BlcnR5IHByb2Jpbmcgc3VwcG9ydAoKMjAwOS0wOC0zMSAxOToyNjozNiArMDIwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuaDoKCSAgd2lua3M6IHNvcnQgZGV2aWNlcyB0aGF0IGxvb2sgbGlrZSBjYW1lcmFzIGZpcnN0CgoyMDA5LTA4LTMxIDE5OjI1OjAyICswMjAwICBLbnV0IEluZ2UgSHZpZHN0ZW4gPGtudXQuaW5nZS5odmlkc3RlbkB0YW5kYmVyZy5jb20+CgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYzoKCSAgd2lua3M6IHByb3ZpZGUgZ3Vlc3NlZCBwaXhlbC1hc3BlY3QtcmF0aW8gaW4gY2FwcwoKMjAwOS0wOC0zMSAxOToyMzo0MCArMDIwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc2Nsb2NrLmM6CgkgIHdpbmtzOiBvbmx5IHRyeSB0byBjaGFuZ2Ugc3RhdGUgd2hlbiBhY3R1YWxseSBvcGVuCgoyMDA5LTA4LTMxIDE5OjIyOjQwICswMjAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL3dpbmtzL2tzaGVscGVycy5jOgoJKiBzeXMvd2lua3Mva3NoZWxwZXJzLmg6CgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJICB3aW5rczogaWdub3JlIHVuc3VwcG9ydGVkIGZvcm1hdHMKCjIwMTAtMTAtMjggMTY6MTQ6MzQgKzAyMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJICB3aW5rczogYWRqdXN0IGEgY291cGxlIG9mIGxvZ2dpbmcgc2V2ZXJpdGllcwoJICBTaG91bGQgY2xlYXJseSBub3QgYmUgY29uc2lkZXJlZCB3YXJuaW5ncywgYXMgdGhleSdyZSBxdWl0ZSBjb21tb24uCgoyMDEwLTEwLTI3IDE4OjMwOjExICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWxhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NtYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NtYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhY3R4LmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWN0eC5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2N2YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2N2YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2R5bmFwaS1pbnRlcm5hbC5oOgoJKiBzeXMvYXBwbGVtZWRpYS9keW5hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvZHluYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2lwaG9uZWNhbWVyYXNyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9pcGhvbmVjYW1lcmFzcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvbWlvYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb2FwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb2RldmljZS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb2RldmljZS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9tdGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9tdGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGRlY2Jpbi5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRkZWNiaW4uaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZW5jYmluLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGVuY2Jpbi5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dHV0aWwuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnR1dGlsLmg6CgkgIGFwcGxlbWVkaWE6IE5ldyBwbHVnaW4gZm9yIEFwcGxlIG11bHRpbWVkaWEgQVBJcwoJICBQcm92aWRlcyB0aGUgZm9sbG93aW5nIGVsZW1lbnRzOgoJICBxdGtpdHZpZGVvc3JjOiBPUyBYIHZpZGVvIHNvdXJjZSByZWx5aW5nIG9uIHRoZSBRVEtpdCBBUEkuIENvbWVzIHdpdGgKCSAgaGFyZC1jb2RlZCBjYXBzIGFzIHRoZSBBUEkgZG9lcyBub3QgcHJvdmlkZSBhbnkgd2F5IG9mIHF1ZXJ5aW5nIGZvcgoJICBmb3JtYXRzIHN1cHBvcnRlZCBieSB0aGUgaGFyZHdhcmUuIEhhc24ndCBiZWVuIHRlc3RlZCBhIGxvdCwgYnV0IHNlZW1zCgkgIHRvIHdvcmsuCgkgIG1pb3ZpZGVvc3JjOiBPUyBYIHZpZGVvIHNvdXJjZSB3aGljaCB1c2VzIHRoZSB1bmRvY3VtZW50ZWQvcHJpdmF0ZQoJICBDb3JlTWVkaWFJT1NlcnZpY2VzIEFQSSwgd2hpY2ggaXMgYWxzbyB0aGUgb25lIHVzZWQgYnkgaUNoYXQuCgkgIFByZXNlbnQgb24gbGF0ZXN0IHZlcnNpb24gb2YgTGVvcGFyZCBhbmQgYWxsIHZlcnNpb25zIG9mIFNub3cgTGVvcGFyZC4KCSAgSGFzIGJlZW4gdGVzdGVkIGV4dGVuc2l2ZWx5IHdpdGggYnVpbHQtaW4gY2FtZXJhcyBhbmQgVEFOREJFUkcncwoJICBQcmVjaXNpb25IRCBVU0IgY2FtZXJhLgoJICB2dGVuYywgdnRkZWM6IEdlbmVyaWMgY29kZWMgd3JhcHBlcnMgd2hpY2ggbWFrZSB1c2Ugb2YgdGhlIHVuZG9jdW1lbnRlZC8KCSAgcHJpdmF0ZSBWaWRlb1Rvb2xib3ggQVBJIG9uIE9TIFggYW5kIGlPUy4gTGlzdCBvZiBjb2RlY3MgYXJlIGN1cnJlbnRseQoJICBoYXJkLWNvZGVkIHRvIEguMjY0IGZvciB2dGVuYywgYW5kIEguMjY0ICsgSlBFRyBmb3IgdnRkZWMuIENhbiBlYXNpbHkgYmUKCSAgZXhwYW5kZWQgYnkgYWRkaW5nIG5ldyBlbnRyaWVzIHRvIHRoZSBsaXN0cywgYnV0IGhhdmVuJ3QgeWV0IGhhZCB0aW1lIHRvCgkgIGRvIHRoYXQuIFNob3VsZCBwcm9iYWJseSBhbHNvIGltcGxlbWVudCBwcm9iaW5nIGFzIGF2YWlsYWJsZSBjb2RlY3MgZGVwZW5kCgkgIG9uIHRoZSBPUyBhbmQgaXRzIHZlcnNpb24sIGFuZCB0aGVyZSBkb2Vzbid0IHNlZW0gdG8gYmUgYW55IHdheSB0bwoJICBlbnVtZXJhdGUgdGhlIGF2YWlsYWJsZSBjb2RlY3MuCgkgIHZ0aDI2NGRlY2JpbiwgdnRoMjY0ZW5jYmluOiBXcmFwcGVyIGJpbnMgdG8gbWFrZSBpdCBlYXNpZXIgdG8gdXNlCgkgIHZ0ZGVjX2gyNjQvdnRlbmNfaDI2NCBpbiBsaXZlIHNjZW5hcmlvcy4KCSAgaXBob25lY2FtZXJhc3JjOiBpUGhvbmUgY2FtZXJhIHNvdXJjZSByZWx5aW5nIG9uIHRoZSB1bmRvY3VtZW50ZWQvcHJpdmF0ZQoJICBDZWxlc3RpYWwgQVBJLiBUZXN0ZWQgb24gaU9TIDMuMSBydW5uaW5nIG9uIGFuIGlQaG9uZSAzR1MuIFN0b3BzIHdvcmtpbmcKCSAgYWZ0ZXIgYSBmZXcgbWludXRlcywgcHJlc3VtYWJseSBiZWNhdXNlIG9mIGEgcmVzb3VyY2UgbGVhay4gTmVlZHMgc29tZQoJICBsb3ZlLgoJICBOb3RlIHRoYXQgdGhlIGlPUyBwYXJ0cyBoYXZlbid0IHlldCBiZWVuIHBvcnRlZCB0byBpT1MgNC54LgoKMjAxMC0xMC0yOCAxMTo0MzozNCArMDEwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicEBrLWQtdy5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBBZGQgdGFnIGV2ZW50IGVtaXNzaW9uLiBGaXhlcyAjNjI3MjUzCgoyMDEwLTEwLTI3IDEzOjE3OjEwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDdiYmQ3MDggdG8gMDExYmNjOAoKMjAxMC0xMC0yMSAxNjowNjowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IENoZWNrIHRoZSBzb3VyY2Ugc2NlbmUgbW9kZSB3aGVuIGNyZWF0aW5nIGl0CgkgIEFzIGNhbWVyYWJpbiBvbmx5IGdldHMgbm90aWZpZWQgb2YgdGhlIGNoYW5nZXMgZnJvbSB0aGUKCSAgdmlkZW8gc291cmNlIGVsZW1lbnQsIGl0IHNob3VsZCBxdWVyeSB0aGUgaW5pdGlhbCB2YWx1ZQoJICBvbmNlIHRoZSBzb3VyY2UgaXMgY3JlYXRlZCBzbyBpdCBpbml0aWFsaXplcyBpdHNlbGYKCSAgY29ycmVjdGx5LgoKMjAxMC0xMC0yMCAwMDowNzowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGZpeCBkaXN0Y2hlY2sgYSBiaXQgbW9yZQoJICBEaXN0IGVsZW1lbnRzL3BhcnNlci5oIGhlYWRlciBmaWxlLCB3aGljaCBmaXhlcyB0aGUgJ21ha2UgY2hlY2snIGJ1aWxkLgoKMjAxMC0xMC0xOSAyMzo0MDozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92YWx2ZS5jOgoJICB0ZXN0czogZml4IHZhbHZlIHVuaXQgdGVzdAoJICBnc3RfYnVmZmVyX3BhZF9hbGxvYygpIG5lZWRzIHNpbXBsZSBjYXBzIG9yIE5VTEwgY2FwcywKCSAgQU5ZIGNhcHMgYXJlIG5vdCBhbGxvd2VkLgoKMjAxMC0xMC0xOSAyMzoyNTo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkgIGRjYXBhcnNlOiBpbml0IHZhcmlhYmxlIHRvIG1ha2Ugb3N4IGJ1aWxkIGJvdCBoYXBweQoJICBnc3RkY2FwYXJzZS5jOiBJbiBmdW5jdGlvbiAnZ3N0X2RjYV9wYXJzZV9jaGVja192YWxpZF9mcmFtZSc6CgkgIGdzdGRjYXBhcnNlLmM6MjQ2OiB3YXJuaW5nOiAnYmVzdF9zeW5jJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24KCjIwMTAtMTAtMTkgMDA6MTU6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogYWRkIHZlcnkgYmFzaWMgZHRzL2RjYSBwYXJzZXIKCSAgU3RpbGwgc29tZSBpc3N1ZXMsIGUuZy4gd2l0aCBzZWVrYWJsZSBxdWVyaWVzIGluIHRvdGVtLCBidXQgYWxzbwoJICBwcm9jZXNzaW5nIGFscmVhZHktY2h1bmtlZCBpbnB1dCAoY3JlYXRlZCB3aXRoIG1hdHJvc2thZGVtdXggISBnZHBwYXkpLgoKMjAxMC0xMC0xOSAxNjoyMzoyMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2FtcndiZW5jL2dzdGFtcndiZW5jLmM6CgkqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOgoJKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSogZXh0L2J6Mi9nc3RiejJkZWMuYzoKCSogZXh0L2J6Mi9nc3RiejJlbmMuYzoKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvcHRpb25zLmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXhqb2IuY2M6CgkqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSogZXh0L25hcy9uYXNzaW5rLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9vZmEvZ3N0b2ZhLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzaW5rLmM6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOgoJKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5jOgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSAgdmFyaW91cyAoZXh0KTogYWRkIG1pc3NpbmcgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBmbGFncwoJICBDYW5vbmljYWxpemUgcHJvcGVydHkgbmFtZXMgYXMgbmVlZGVkLgoKMjAxMC0xMC0xOSAxNjoyNDoxMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJICB2aWRlb2FuYWx5c2U6IGZpeCBjb3B5J24ncGFzdGUgb2ZmIGJ5IG9uZSBmb3IgcGFyYW0gc3BlYyBmbGFncyBjaGFuZ2UKCjIwMTAtMTAtMTkgMTM6NDM6MTQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2ZpbHRlci9nc3RpaXIuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguYzoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BhdGluZm8uYzoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BtdGluZm8uYzoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BtdHN0cmVhbWluZm8uYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tdmUvZ3N0bXZlbXV4LmM6CgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmM6CgkqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSAgdmFyaW91cyAoZ3N0KTogYWRkIG1pc3NpbmcgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBmbGFncwoJICBDYW5vbmljYWxpemUgcHJvcGVydHkgbmFtZXMgYXMgbmVlZGVkLgoKMjAxMC0xMC0xOSAxNTozMDowMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSAgdmFyaW91czogd3JhcCBwcm9wZXJ0eSByZWdpc3RyYXRpb24gYW5kIGFkZCBhIHNpbmdsZSBmaXhtZSBmb3IgbG9uZyBkZXNjLgoKMjAxMC0xMC0xOSAxNTowNjozNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSAgcG5tZW5jOiByZW1vdmUgc3RyYXkgIiBpbiBkb2MgY29tbWVudAoKMjAxMC0xMC0xOSAxMzo0NDoyNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBkdG1mc3JjOiByZW1vdmUgREVCVUdfRlVOQ1BUUiBmcm9tIGdvYmplY3Qgdm1ldGhvZHMKCjIwMTAtMTAtMDggMTk6MzM6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIHRlc3RzOiBqaWZtdXg6IEFkZHMgdGVzdHMgZm9yIHRoZSBuZXcgdGFncwoJICBBZGRzIHRlc3RzIGZvciB0aGUgbmV3IGV4aWYgdGFncyBpbiAtYmFzZQoKMjAxMC0xMC0wOSAxNzozNjowNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW86IE1vdmUgY29tbW9uIGZpZWxkcy9mdW5jdGlvbnMgdG8gYmFzZWNvZGVjCgoyMDEwLTA5LTI4IDE4OjIxOjU3ICswMzAwICBLYWotTWljaGFlbCBMYW5nIDxtaWxhbmdAdGFsLm9yZz4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSogZXh0L3piYXIvZ3N0emJhci5oOgoJICB6YmFyOiBNYWtlIHNjYW5uZXIgY2FjaGUgb3B0aW9uYWwKCjIwMTAtMTAtMTQgMjM6MDQ6MTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIHBob3RvZ3JhcGh5OiBhY3R1YWx5IHVzZSB0aGUgZW51bSBpbiB0aGUgdm1ldGhvZHMKCSAgSWYgd2UgaW50cm9kdWNlIGEgbmV3IEdzdFBob3RvZ3JhcGh5Tm9pc2VSZWR1Y3Rpb24sIGxldHMgYWxzbyB1c2UgaXQKCSAgaW4gdGhlIHZtZXRob2RzCgoyMDEwLTEwLTE0IDIzOjAzOjE5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBwaG90b2dyYXBoeTogcmV0YWIgaW50ZXJmYWNlIHN0cnVjdCBmaWVsZHMKCjIwMTAtMTAtMTQgMTI6MzI6MDUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1YTY2OGJmIHRvIDdiYmQ3MDgKCjIwMTAtMTAtMTQgMTQ6MDc6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJICBjYW1lcmFiaW46IFJlbW92ZSB1bnVzZWQgZW50cnkKCSAgUmVtb3ZlIGNhbWVyYWJpbiB1bnVzZWQgZW51bSBlbnRyeQoKMjAxMC0xMC0xNCAxMzo0MTowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBwaG90b2dyYXBoeTogQXZvaWQgYnJlYWtpbmcgQUJJCgkgIE1vdmUgdGhlIG5ld2x5IGFkZGVkIGZ1bmN0aW9ucy9maWVsZHMgdG8gdGhlIGVuZCBvZiB0aGUgc3RydWN0cwoKMjAxMC0xMC0xNCAxMTo0NTo1NSArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJICBtcGVndmlkZW9wYXJzZTogYWNjZWxlcmF0ZSBzZWFyY2ggZm9yIHN0YXJ0IGNvZGUKCSAgQXMgdGhlIHN0YXJ0Y29kZSBhbHdheXMgc3RhcnRzIHdpdGggMHgwMDAwMDEgc29tZSBpdGVyYXRpb25zCgkgIGNhbiBiZSBza2lwcGVkIGlmIHZhbHVlcyA+IDEgYXJlIGRldGVjdGVkLgoJICB+IDcwJSBmYXN0ZXIgb24gSEQgdmlkZW8gc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMyMTMwCgoyMDEwLTEwLTE0IDE2OjQ4OjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IHByb3Blcmx5IHBhcnNlIGUtYWMzIGZyYW1lIGhlYWRlcgoJICBBbHNvIGFkZCBhIGZldyBkZWJ1ZyBzdGF0ZW1lbnRzLgoKMjAxMC0xMC0xNCAxMToyNDo0MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IHJlZmxvdyBvcGVuaW5nIGFuZCBjbG9zaW5nIGRlY29kZXIKCSAgSW4gcGFydGljdWxhciwgdGhpcyByZWNvbmZpZ3VyZXMgcXVpdGUgZm9yY2VmdWxseSB3aGVuIHJlbmVnb3RpYXRpb24gaXMgbmVlZGVkLgoJICBGaXhlcyAjNjMxNTAxLgoKMjAxMC0xMC0xMyAxNzo0NzoyOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHByZXZlbnQgaW5maW5pdGUgbG9vcCB3aGVuIGFkanVzdGluZyBmcmFtZXJhdGUKCSAgRml4ZXMgIzYzMjA3MC4KCjIwMTAtMTAtMTIgMjE6NDY6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIHRlc3RzOiBqaWZtdXg6IHVwZGF0ZSB0ZXN0cyB0byB0aGUgbmV3IGRhdGV0aW1lIGFwaQoJICBVcGRhdGUgamlmbXV4IHRlc3RzIHRvIHVzZSBuZXcgZ3N0ZGF0ZXRpbWUgQVBJIGluIGNvcmUKCjIwMTAtMTAtMTIgMDk6Mzc6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3Ryb3RhdGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3Ryb3RhdGUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBBZGRzIHJvdGF0ZSBlbGVtZW50CgkgIEFkZHMgYSBuZXcgcm90YXRlIGVsZW1lbnQgdG8gZ2VvbWV0cmljdHJhbnNmb3JtLiBJdCBzdGlsbAoJICBuZWVkcyBzb21lIHdvcmsuIEJ1dCB0aGlzIGlzIGEgZ29vZCBzdGFydGluZyBwb2ludC4KCSAgQmFzZWQgb24gcGF0Y2ggZnJvbSBCZXJ0IERvdWdsYXMgPGJlcnRkIHRwbG9naWMgY29tPgoKMjAxMC0xMC0xMyAxMTowMDowMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHR3ZWFrIHNldHRpbmcgYnVmZmVyIG1ldGFkYXRhOyBhdm9pZCB0aW1lc3RhbXAgaml0dGVyCgkgIEZpeGVzICM2MzE5OTMuCgoyMDEwLTEwLTEyIDE4OjE3OjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJICBmYWFkOiBjYXRlciBmb3IgcmVuZWdvdGlhdGlvbgoJICBBdCBsZWFzdCwgd2hlbmV2ZXIgZWl0aGVyIHN0cmVhbSAoZS5nLiBBRFRTKSBvciB1cHN0cmVhbSBwcm92aWRlcyBuZWNlc3NhcnkKCSAgaW5mbyBmb3IgZG9pbmcgc28uCgkgIEZpeGVzICM2MzE1MDEuCgoyMDEwLTEwLTEyIDE4OjA3OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5oOgoJICBhYWNwYXJzZTogc3RyZWFtbGluZSBzcmMgY2FwcyBzZXR0aW5nCgkgIEluIHBhcnRpY3VsYXIsIGFsc28gc2V0IHNyYyBjYXBzIHdoZW5ldmVyIGNoYW5nZXMgaW4gc3RyZWFtIHdhcnJhbnQgZG9pbmcgc28uCgoyMDEwLTEwLTEyIDE2OjEzOjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIGRpcmVjdGRyYXdzaW5rOiBwb3J0IEdzdFhPdmVybGF5IGJpdHMgdG8gbmV3IEFQSQoJICBEb24ndCB1c2UgZGVwcmVjYXRlZCBBUEkuCgoyMDEwLTEwLTEyIDE2OjM1OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWMuYzoKCSAgZmFhYzogYWRqdXN0IHVuaXQgdGVzdCB0byBmYWFjIG1vZGlmaWVkIG91dHB1dAoKMjAxMC0xMC0xMCAxMjozMjozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2hlY2tzOiByZW1vdmUgdmFyaWFibGVzIGZyb20gTWFrZWZpbGUuYW0gdGhhdCBhcmVuJ3Qgc2V0CgkgIFJlbW92ZSBzb21lIHN0dWZmIHRoYXQgd2FzIGNvcHknbidwYXN0ZWQgZnJvbSBjb3JlIGJ1dAoJICBkb2Vzbid0IGFwcGx5IGhlcmUuIFRoZSBmb2xsb3dpbmcgdmFycyBhcmVuJ3Qgc2V0OgoJICBDSEVDS19DRkxBR1MsIENIRUNLX0xJQlMsIEdTVF9PQkpfQ0ZMQUdTLCBHU1RfT0JKX0xJQlMsCgkgIHNvIHdlIG1heSBqdXN0IGFzIHdlbGwgcmVtb3ZlIHRoZW0uCgoyMDEwLTEwLTEyIDEyOjExOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkgIGV4YW1wbGVzOiBGaXggY29tcGlsYXRpb24gd2l0aCBHVEsrIDMuMAoKMjAxMC0xMC0xMiAxMDoyODozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBBZGp1c3QgdW5pdCB0ZXN0cyB0byBuZXcgZmxhY3BhcnNlIGJlaGF2aW91cgoJICBHYXJiYWdlIGFmdGVyIGZyYW1lcyBpcyBub3cgaW5jbHVkZWQgaW4gdGhlIGZyYW1lcyBiZWNhdXNlIGZsYWNwYXJzZQoJICBoYXMgbm8gZWFzeSB3YXkgdG8gZGV0ZWN0IHRoZSByZWFsIGVuZCBvZiBhIGZyYW1lLiBEZWNvZGVycyBhcmUKCSAgZXhwZWN0ZWQgdG8gZXZlcnl0aGluZyBhZnRlciB0aGUgZnJhbWUgYmVjYXVzZSBvbmx5IGRlY29kaW5nIHRoZQoJICBiaXRzdHJlYW0gd2lsbCByZXZlYWwgdGhlIHJlYWwgZW5kIG9mIHRoZSBmcmFtZS4KCSAgRml4ZXMgYnVnICM2MzE4MTQuCgoyMDEwLTEwLTEyIDEwOjI3OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogRG9uJ3QgZHJvcCB0aGUgbGFzdCBmcmFtZSBpZiBpdCBpcyBmb2xsb3dlZCBieSBnYXJiYWdlCgkgIFNlZSBidWcgIzYzMTgxNC4KCjIwMTAtMTAtMTEgMTc6NDk6NDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwZXJmb3JtIGJpdHJhdGUgaGFuZGxpbmcgYW5kIHBvc3RpbmcgYWZ0ZXIgbmV3c2VnbWVudCBzZW5kaW5nCgoyMDEwLTEwLTExIDE3OjM2OjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogaW1tZWRpYXRlbHkgcG9zdCBzdWJjbGFzcyBwcm92aWRlZCBiaXRyYXRlCgoyMDEwLTEwLTExIDE3OjA2OjQ4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZml4IHBhcnNpbmcgd2l0aCB1bmtub3duIGZyYW1lc2l6ZXMKCSAgRml4ZXMgIzYzMTgxNCAobW9zdGx5KS4KCjIwMTAtMTAtMTEgMTc6MDU6MjggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkgIGZhYWM6IGhhbmRsZSB0cmFpbGluZyBlbmNvZGVyIG91dHB1dAoKMjAxMC0xMC0xMSAxNDoyNTo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ3NldHRpbmdzL2dzdHN3aXRjaHNyYy5jOgoJICBzd2l0Y2hzcmM6IFNldCB0aGUgR1NUX0VMRU1FTlRfSVNfU09VUkNFIGZsYWcKCjIwMTAtMDktMTMgMTk6MDc6NTUgKzAxMDAgIERhbWllbiBMZXNwaWF1IDxkYW1pZW4ubGVzcGlhdUBpbnRlbC5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IEZpeCBleGFtcGxlIHVzYWdlLCBiYW5kd2lkdGg9OCBub3QgOE1IegoJICBUaGUgYmFuZHdpZHRoIHByb3BlcnR5IGlzIGVudW0gdGhhdCB0YWtlcyB0aGUgdmFsdWVzIDgsIDcsIDYsIEFVVE8gbm90CgkgIDhNSHouCgoyMDEwLTEwLTA4IDE3OjAxOjI5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobWFsbG9jLmg6CgkgIHNobTogQWRkIEMrKyBwcm90ZWN0aW9uCgkgIEFkZCBjKysgcHJvdGVjdGlvbiBpbiB0aGUgcmVsZXZhbnQgcGxhY2VzCgoyMDEwLTEwLTA4IDEyOjQ0OjQ1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYzRhOGFkYyB0byA1YTY2OGJmCgoyMDEwLTEwLTA4IDEyOjU1OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNWUzYzliZiB0byBjNGE4YWRjCgoyMDEwLTEwLTA3IDIzOjM3OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogU2ltcGxpZnkgZnJhbWUgaGVhZGVyIHBhcnNpbmcgYnkgdXNpbmcgbG9va3VwIHRhYmxlcwoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5IEZlbGlwZSBDb250cmVyYXMuCgkgIFNlZSBidWcgIzYzMTIwMC4KCjIwMTAtMTAtMDcgMjM6Mjg6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSAgZmxhY3BhcnNlOiBEb24ndCBwYXJzZSB0aGUgY29tcGxldGUgRkxBQyBmcmFtZXMgYnV0IG9ubHkgbG9vayBmb3IgdmFsaWQgZnJhbWUgaGVhZGVycwoJICBUaGFua3MgdG8gRmVsaXBlIENvbnRyZXJhcyBmb3IgdGhlIHN1Z2dlc3Rpb24uIFRoaXMgaXMgcGFydGlhbGx5CgkgIGJhc2VkIG9uIGhpcyBwYXRjaGVzIGFuZCBtYWtlcyBmbGFjcGFyc2UgbW9yZSB0aGFuIDMuNSB0aW1lcyBmYXN0ZXIuCgkgIExvb2tpbmcgZm9yIHZhbGlkIGZyYW1lIGhlYWRlcnMgaXMgdW5saWtlbHkgdG8gZ2l2ZSBmYWxzZSBwb3NpdGl2ZXMKCSAgYmVjYXVzZSBldmVyeSBmcmFtZSBoZWFkZXIgaXMgYXQgbGVhc3QgOSBieXRlcyBsb25nLCBjb250YWlucyBhCgkgIDE0IGJpdCBzeW5jIGNvZGUgYW5kIGEgOCBiaXQgY2hlY2tzdW0gb3ZlciB0aGUgZmlyc3QgOCBieXRlcy4KCSAgRml4ZXMgYnVnICM2MzEyMDAuCgoyMDEwLTEwLTA3IDExOjU5OjMwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IHdvcmthcm91bmQgaW50ZXJuYWwgcnRzcHNyYyBmYWlsaW5nIHN0YXRlIGNoYW5nZQoJICBGaXhlcyAjNjMwMDQ2LgoKMjAxMC0xMC0wNyAxMDozNDo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmg6CgkgIGF1ZGlvcGFyc2U6IEFkZCBzdXBwb3J0IGZvciBzZXR0aW5nIHRoZSBjaGFubmVsLXBvc2l0aW9ucwoKMjAxMC0xMC0wNiAxODozMjo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IFJlYWxseSBwb3N0IHRhZ3Mgb25seSBhZnRlciB0aGUgaW5pdGlhbCBuZXdzZWdtZW50IGV2ZW50CgkgIFRoZSBmaXJzdCBuZXdzZWdtZW50IGV2ZW50IHdpbGwgYmUgc2VuZCBieSB0aGUgZmlyc3QgY2FsbCB0bwoJICBnc3RfYmFzZV9wYXJzZV9wdXNoX2J1ZmZlcigpIGlmIG5lY2Vzc2FyeSwgcG9zdGluZyB0aGUgdGFncwoJICBiZWZvcmUgdGhhdCBpcyBub3QgYSBnb29kIGlkZWEuIEluc3RlYWQgZG8gaXQgZnJvbSB0aGUKCSAgR3N0QmFzZVBhcnNlOjpwcmVfcHVzaF9idWZmZXIgdmZ1bmMuCgoyMDEwLTEwLTA2IDE2OjU0OjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJICBjaHJvbWFob2xkOiBGaXggaHVlIGNhbGN1bGF0aW9uIGZvciByZWQgY29sb3JzCgkgIEFsc28gbWFrZSB0aGUgY2FsY3VsYXRpb24gbXVjaCBtb3JlIGFjY3VyYXRlLi4uCgoyMDEwLTEwLTA2IDE1OjIxOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJICBjaHJvbWFob2xkOiBNYWtlIGV2ZXJ5dGhpbmcgZ3JleXNjYWxlIGlmIHRoZSB0YXJnZXQgY29sb3IgaXMgZ3JleQoKMjAxMC0xMC0wNiAxMTo1NTozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JlZmZlY3RzL01ha2VmaWxlLmFtOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmg6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0cGx1Z2luLmM6CgkgIGNocm9tYWhvbGQ6IEFkZCBjaHJvbWFob2xkIGNvbG9yIGVmZmVjdAoJICBUaGlzIGVmZmVjdCBjb252ZXJ0cyBhbGwgY29sb3JzIGV4Y2VwdCBhIHNpbmdsZSBvbmUgdG8KCSAgZ3JleS4gVGhlIGNvbG9yIGlzIHNlbGVjdGVkIGJ5IGFuIFJHQiB0cmlwbGUgYW5kIGEKCSAgdG9sZXJhbmNlIGZvciB0aGUgY29sb3IgbWF0Y2hpbmcgaW4gaHVlIGRlZ3JlZSBjYW4gYmUgc3BlY2lmaWVkLgoKMjAxMC0xMC0wNSAxNzowNDoxMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiBmaXggYW5kIHJlZmxvdyBzb21lIGV4aXRzCgoyMDEwLTEwLTA1IDE2OjU2OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IGVycm9yIG91dCBpZiBubyBzdHJlYW1zIGZvdW5kIGluIHNkcCBtZXNzYWdlCgoyMDEwLTEwLTA1IDE2OjQ3OjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IHVuYnJlYWsgc3RhbmRhcmQgbWFuYWdlciBzZXR1cAoKMjAxMC0xMC0wNSAxMTo0NDo0OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBpZ25vcmUgbW9yZSB1bml0IHRlc3QgYmluYXJpZXMKCjIwMTAtMTAtMDUgMTE6NDI6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2Fsc2FzcGRpZi9NYWtlZmlsZS5hbToKCSogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6CgkqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5oOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogbTQvTWFrZWZpbGUuYW06CgkqIG00L2dzdC1hbHNhLm00OgoJICBhbHNhc3BkaWY6IHJlbW92ZSBhbHNhc3BkaWZzaW5rIGVsZW1lbnQKCSAgUmVtb3ZlIGFsc2FzcGRpZnNpbmssIGl0J3Mgbm90IG5lZWRlZCBhbnkgbG9uZ2VyLiBhbHNhc2luayBpbiAtYmFzZQoJICBoYXMgYmVlbiBhYmxlIHRvIGhhbmRsZSBTUERJRiBmb3IgYSB3aGlsZSBub3cuCgoyMDEwLTEwLTA1IDExOjE3OjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIFJldmVydCAiYmFzZXBhcnNlOiBhZGQgc2tpcCBwcm9wZXJ0eSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBiNWEzZDYwMzYzZDgzN2ExMGYwNTMzYzE0MWVjOTNkMTBiNzQyMzEyLgoJICBSZXZlcnRpbmcgdGhpcyBmb3Igbm93LCBzaW5jZSBubyBvbmUgcmVhbGx5IHNlZW1zIHRvIHJlbWVtYmVyIHdoeSB0aGlzCgkgIHByb3BlcnR5IGV4aXN0cyBvciB3aGF0IGl0IGNvdWxkIHBvc3NpYmx5IGJlIGdvb2QgZm9yLiBJdCBzZWVtcyB0byBoYXZlCgkgIGJlZW4gaW4gdGhlIG9yaWdpbmFsIG1wM3BhcnNlIHNpbmNlIHRoZSBiZWdpbm5pbmcgb2YgdGltZSBhbmQgd2FzIGJhY2stCgkgIHBvcnRlZCBmcm9tIHRoZXJlLgoKMjAxMC0xMC0wNCAxMDo0MTo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmdzCgkgIFRoZXNlIHdhcm5pbmdzIGFyZSB3cm9uZywgdGhlIHZhcmlhYmxlcyBhcmUgb25seSB1c2VkIGlmIHRoZXkgd2VyZQoJICBpbml0aWFsaXplZCBieSB0aGUgYml0IHJlYWRlci4KCjIwMTAtMDktMTQgMDI6NDg6NTggKzAzMDAgIEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBmaXggcGljdHVyZSBwYXJzaW5nCgkgIFNpZ25lZC1vZmYtYnk6IEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAZ21haWwuY29tPgoKMjAxMC0xMC0wMyAyMzo1NDo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IFB1c2ggdGFncyBiZWZvcmUgdGhlIGhlYWRlciBidWZmZXJzIGFyZSBwdXNoZWQKCjIwMTAtMDgtMDIgMjA6NTA6MjEgKzAzMDAgIEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiB0cml2aWFsIGNhcHMgZml4CgkgIFNpZ25lZC1vZmYtYnk6IEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAZ21haWwuY29tPgoKMjAxMC0xMC0wMyAyMzo0NTo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEFkZCBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTCgkgIEFkZCBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIHRvIHF0bXV4IHByb3BlcnRpZXMKCjIwMTAtMTAtMDMgMjM6MTQ6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiB2YWx2ZTogRml4IHRlc3RzIGJ1aWxkCgkgIEFkZHMgbWlzc2luZyBjZmxhZ3MvbGlicyB0byB2YWx2ZSBjaGVjayB0ZXN0IHRvCgkgIGZpeCBidWlsZAoKMjAxMC0xMC0wMyAyMzo1MDoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlcjogTGV0IHRoZSBmb3JtYXQgc3RyaW5nIGFncmVlIHdpdGggdGhlIHBhcmFtZXRlcnMgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTAtMTAtMDMgMTU6NTU6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdTogQ2hlY2sgcmV0dXJuIHZhbHVlcyBvZiB0aGUgYml0cmVhZGVyIGZ1bmN0aW9ucwoKMjAxMC0xMC0wMyAxNTo0MToyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBVc2UgdW5jaGVja2VkIHZlcnNpb25zIG9mIHRoZSBiaXRyZWFkZXIgZ2V0IGZ1bmN0aW9ucwoJICBXZSBkaWRuJ3QgY2hlY2sgdGhlIHJldHVybiB2YWx1ZXMgYW55d2F5Li4uCgoyMDEwLTA5LTI4IDEzOjUyOjI5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgdmFsdmU6IG5vIG5lZWQgdG8gcmVmIHRoZSBvYmplY3QgaW4gX2NoYWluCgkgIERvbid0IHJlZiB0aGUgcGFkIGluIGNoYWluLCBsaWtlIGVsc2V3aGVyZQoKMjAxMC0wOS0yMiAxNTo0NDo0MyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IEZpeCBkZWJ1ZyBvdXRwdXQKCSAgV2UgbG9zZSB0aGUgcmVmZXJlbmNlIHRvIHRoZSBidWZmZXIgYWZ0ZXIgZ3N0X3BhZF9wdXNoKCksIHNvIHRoZSBkZWJ1ZwoJICBwcmludCBzaG91bGQgaGFwcGVuIGJlZm9yZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjI3NgoKMjAxMC0xMC0wMSAxMjozNDo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmxhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuaDoKCSAgYXVkaW9wYXJzZXJzOiBhZGQgZmxhY3BhcnNlIHVuaXQgdGVzdAoJICAuLi4gYW5kIHR3ZWFrIHBhcnNlciB0ZXN0IGhlbHBlciBpbiB0aGUgcHJvY2Vzcy4KCjIwMTAtMDktMjkgMTY6MTI6NDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBzdXBwb3J0IHJldmVyc2UgcGxheWJhY2sKCSAgLi4uIGluIHB1bGwgbW9kZSBvciB1cHN0cmVhbSBkcml2ZW4uCgoyMDEwLTA5LTI3IDEyOjE2OjQzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVtb3ZlIGRvbmUgVE9ET3MgYW5kIHVwZGF0ZSBkb2N1bWVudGF0aW9uCgoyMDEwLTA5LTI1IDE0OjQwOjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdXNlIGRldGVybWluZWQgc2Vla2FiaWxpdHkgaW4gYW5zd2VyaW5nIFNFRUtJTkcgcXVlcnkKCjIwMTAtMDktMjUgMTQ6MzI6MDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhZGQgc2tpcCBwcm9wZXJ0eQoKMjAxMC0wOS0yNSAxMzo1OTozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWMzcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ2F1ZGlvcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBhZGQgYWMzcGFyc2UgYW5kIG1wZWdhdWRpb3BhcnNlIHVuaXQgdGVzdAoKMjAxMC0wOS0yNSAxMzo1OToxOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IGluaXRpYWwgdmVyc2lvbgoJICAuLi4gYWRlcXVhdGVseSBlcXVpdmFsZW50IHRvIG1wM3BhcnNlLCBzbyBsZXRzIGJvbGRseSBzZXQgaXQKCSAgdG8gaGlnaGVyIHJhbmsuCgoyMDEwLTA5LTI1IDE0OjAxOjA3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IHNldCBtaW5pbXVtIGZyYW1lIHNpemUgYXQgX3N0YXJ0CgkgIC4uLiByYXRoZXIgdGhhbiBvbmUgdGltZSBhdCBfaW5pdC4KCjIwMTAtMDktMjUgMTM6NTA6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlX2RhdGEuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYW1ycGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYW1ycGFyc2VfZGF0YS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmg6CgkgIGF1ZGlvcGFyc2VyczogcmVmYWN0b3IgZXhpc3RpbmcgdW5pdCB0ZXN0cyB1c2luZyBjb21tb24gaGVscGVyCgoyMDEwLTA5LTIyIDE1OjA3OjA5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogdXNlIF9zZXRfZnJhbWVfcHJvcHMgdG8gY29uZmlndXJlIGZyYW1lIGxlYWRfaW4gYW5kIGxlYWRfb3V0CgkgIC4uLiBwcm92aWRlZCBhIGNvcnJlc3BvbmRpbmcgZGVjb2RlciB3aXRoIHN1ZmZpY2llbnQgbGVhZGluZyBhbmQgZm9sbG93aW5nCgkgIGZyYW1lcyB0byBjYXJyeSBvdXQgZnVsbCBkZWNvZGluZyBmb3IgYSBwYXJ0aWN1bGFyIHNlZ21lbnQuCgoyMDEwLTA5LTIyIDE0OjEzOjE3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGJhc2VwYXJzZTogdXNlIF9zZXRfZHVyYXRpb24gdG8gY29uZmlndXJlIGR1cmF0aW9uIHVwZGF0ZSBpbnRlcnZhbAoJICAuLi4gYXMgaXQgbG9naWNhbGx5IGJlbG9uZ3MgdGhlcmUgYXMgb25lIG9yIHRoZSBvdGhlcjsgZWl0aGVyIHN1YmNsYXNzCgkgIGNhbiBwcm92aWRlIGEgZHVyYXRpb24sIG9yIGFuIGVzdGltYXRlIG11c3QgYmUgbWFkZSAocmVndWFybHkgdXBkYXRlZCkuCgoyMDEwLTA5LTIyIDEzOjU1OjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogbG9jYWxpemUgdXNlIG9mIHByb3ZpZGVkIGZwcyBpbmZvcm1hdGlvbgoKMjAxMC0wOS0yMiAxMjoxMzoxMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHNlZWsgdGFibGUgYW5kIGFjY3VyYXRlIHNlZWsgc3VwcG9ydAoKMjAxMC0wOS0yMSAxMzo1NzoxMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByb3BlciBhbmQgbW9yZSBleHRlbmRlZCBzZWdtZW50IGFuZCBzZWVrIGhhbmRsaW5nCgkgIFRoYXQgaXMsIGxvb3AgcGF1c2UgaGFuZGxpbmcsIHNlZ21lbnQgc2VlayBzdXBwb3J0LCBuZXdzZWdtZW50IGZvciBnYXBzLCBldGMKCjIwMTAtMDktMjEgMTA6NTc6MDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBhZGQgaW5kZXggc3VwcG9ydAoKMjAxMC0wOS0yMSAwOTo1OTo1NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJlZmFjdG9yIHN0YXRlIHJlc2V0CgoyMDEwLTA5LTIwIDE2OjM5OjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJldmVudCBpbmRlZmluaXRlIHJlc3luY2luZwoKMjAxMC0wOS0yMCAxMzo1Nzo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHNwZWNpZmljIEVPUyBoYW5kbGluZyBpZiBubyBvdXRwdXQgc28gZmFyCgoyMDEwLTA5LTIwIDEzOjMxOjU3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYWRqdXN0IF9zZXRfZnJhbWVfcHJvcCBkb2N1bWVudGF0aW9uIGFuZCBzZXQgZGVmYXVsdCBhcyBjbGFpbWVkCgoyMDEwLTA5LTIwIDEzOjMwOjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZml4IGJpdHJhdGUgY29weS1hbmQtcGFzdGUgYW5kIHVwZGF0ZSBoZXVyaXN0aWMKCjIwMTAtMDktMTcgMTg6MzM6MjkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwb3N0IGR1cmF0aW9uIG1lc3NhZ2UgaWYgYXZlcmFnZSBiaXRyYXRlcyBpcyB1cGRhdGVkCgoyMDEwLTA5LTE3IDE4OjI0OjIyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiByZW1vdmUgaXNfc2Vla2FibGUgdm1ldGhvZCBhbmQgdXNlIGEgc2V0X3NlZWsgaW5zdGVhZAoJICBTZWVrYWJpbGl0eSwgbGlrZSBkdXJhdGlvbiwgZXRjIGlzIHVubGlrZWx5IHRvIGNoYW5nZSAoZnJlcXVlbnRseSksIGFuZAoJICB0aGUgZGVmYXVsdCBhc3N1bXB0aW9uIGNvdmVycyBtb3N0IGNhc2VzLCBzbyBsZXQgc3ViY2xhc3Mgc2V0IHdoZW4gbmVlZGVkLgoJICBBdCB0aGUgc2FtZSB0aW1lLCBhbGxvdyBzdWJjbGFzcyB0byBpbmRpY2F0ZSBpZiBpdCBoYXMgc2Vlay1tZXRhZGF0YSAodGFibGUpCgkgIGF2YWlsYWJsZSwgYW5kIHBvc3NpYmx5IGhhdmUgaXQgcHJvdmlkZSBhbiBhdmVyYWdlIGJpdHJhdGUuCgoyMDEwLTA5LTE3IDE3OjM1OjQwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IHJlbW92ZSByZWR1bmRhbnQgZGVmYXVsdCBpc19zZWVrYWJsZQoKMjAxMC0wOS0xNyAxNzoyMTo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IGFkZCBhbm90aGVyIGhvb2sgZm9yIHN1YmNsYXNzIHByaW9yIHRvIHB1c2hpbmcgYnVmZmVyCgkgIC4uLiBhbmQgYWxsb3cgc3ViY2xhc3MgdG8gcGVyZm9ybSBjdXN0b20gc2VnbWVudCBjbGlwcGluZywgb3IgdG8KCSAgZW1pdCB0YWdzIG9yIG1lc3NhZ2VzIGF0IHRoaXMgdGltZS4KCjIwMTAtMDktMTcgMTc6MTk6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiAwIGNvbnZlcnRzIHRvIDAgYnkgZGVmYXVsdAoKMjAxMC0wOS0xNiAxODo1Njo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFzZTogcmVmYWN0b3IgY29udmVyc2lvbiB1c2luZyBoZWxwZXIgZnVuY3Rpb24gYW5kIGV4cG9ydCBkZWZhdWx0IGNvbnZlcnQKCjIwMTAtMDktMTYgMTg6MzU6NDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBzdHJlYW1saW5lIHF1ZXJ5IGhhbmRsaW5nCgoyMDEwLTA5LTE2IDExOjUxOjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogY2xlYW51cCBzdHJ1Y3QgYW5kIHJlbW92ZSB1bnVzZWQgbWVtYmVyCgoyMDEwLTA4LTE2IDExOjA0OjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogaW5jcmVhc2UgcmFua3MgdG8gZW5hYmxlIGF1dG8tcGx1Z2dpbmcKCSAgQmVjYXVzZSB3ZSBjYW4sIGFuZCBzaG91bGQsIGhhdmUgc29tZSBzaGFrZWRvd24gdGVzdGluZyBiZWZvcmUgaGF2aW5nCgkgIHRoZXNlIG1ha2UgaXQgaW50byAtZ29vZCBsYXRlciBvbiAuLi4KCjIwMTAtMDktMjIgMTY6MDc6MjQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBBbGxvdyBjaGFpbmluZyBvZiBzdWJjbGFzcyBldmVudCBoYW5kbGVycwoJICBUaGlzIGFsbG93cyB0aGUgY2hpbGQgY2xhc3MgdG8gY2hhaW4gaXRzIGV2ZW50IGhhbmRsZXIgd2l0aAoJICBHc3RCYXNlUGFyc2UsIHNvIHRoYXQgc3ViY2xhc3NlcyBkb24ndCBoYXZlIHRvIGR1cGxpY2F0ZSBhbGwgdGhlIGRlZmF1bHQKCSAgZXZlbnQgaGFuZGxpbmcgbG9naWMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjIyNzYKCjIwMTAtMDktMzAgMTc6NDg6MzUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZhbHZlLmM6CgkgIHRlc3RzOiBGaXggY2FwcyBsZWFrIGluIHRoZSB2YWx2ZSB0ZXN0CgoyMDEwLTA5LTMwIDE3OjI0OjI5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmFsdmUuYzoKCSAgdmFsdmU6IEFkZCB1bml0IHRlc3RzCgkgIEFkZCBhIHVuaXQgdGVzdCBmb3IgdGhlIHZhbHZlIGVsZW1lbnQuCgoyMDEwLTA5LTMwIDE2OjI2OjE5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmg6CgkgIHZhbHZlOiBNYWtlIHRoZSBkcm9wIHZhcmlhYmxlIGludG8gYW4gYXRvbWljLgoJICBVc2luZyBhbiBhdG9taWMgYWxsb3dzIHVzIHRvIGF2b2lkIGxvY2tpbmcgdGhlIHdob2xlIG9iamVjdCBhbGwgdGltZSB0aW1lLgoJICBBcyBzdWdnZXN0ZWQgYnkgU3RlZmFuIEtvc3QuCgoyMDEwLTA5LTMwIDE2OjIyOjA0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgdmFsdmU6IENvcnJlY3RseSBzZXQgdGhlIERJU0NPTlQgZmxhZyBhZnRlciBkcm9wcGluZyBidWZmZXJzCgoyMDEwLTA5LTMwIDE2OjE2OjQ3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgdmFsdmU6IFJlbW92ZSBzdXBlcmZsb3VzIGNoZWNraW5nIGNhc3RzCgoyMDEwLTA5LTMwIDE2OjEzOjIzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgdmFsdmU6IEZpeCBzdHlsZSwgaW1wcm92ZSBjb21tZW50cwoJICBNaW5vciBpbXByb3ZlbWVudHMgdG8gdGhlIGNvbW1lbnRzIGFuZCBicmVhayBhIGZldyBvdmVybHkgbG9uZyBsaW5lcwoKMjAxMC0wOS0zMCAxNjowNzoyOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogSW1wcm92ZSBkb2N1bWVudGF0aW9uCgkgIEFkZCBhbiBleGFtcGxlIHBpcGVsaW5lLCBhbmQgdHJ5IHRvIGV4cGxhaW4gYSBiaXQgbW9yZSB3aGF0IGl0IGRvZXMuCgoyMDEwLTA5LTI5IDE3OjM0OjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRG8gbm90IHdyb25nbHkgZmFpbCB3aGVuIHN0YXJ0aW5nIGEgY2FwdHVyZQoJICBJZiB0aGUgZWxlbWVudHMgYXJlIGluIE5VTEwvUkVBRFkgYW5kIGNoYW5naW5nIHN0YXRlIHRvCgkgIFBBVVNFRC9QTEFZSU5HIHdoaWxlIGEgY2FwdHVyZSBpcyBzdGFydGVkCgkgIGNhbWVyYWJpbiBtaWdodCBub3Qgc2V0IHRoZSBhY3RpdmVfYmluIHByb3Blcmx5IGNhdXNpbmcgdGhlCgkgIGNhcHR1cmUgc3RhcnQgdG8gZmFpbC4KCSAgVGhpcyBwYXRjaCBmaXhlcyBpdCBieSBjaGVja2luZyB0aGUgY3VycmVudCBhbmQgcGVuZGluZyBzdGF0ZQoJICBvZiB0aGUgYnJhbmNoZXMgaW5zdGVhZCBvZiBvbmx5IHRoZSBjdXJyZW50IG9uZQoKMjAxMC0wOS0yOSAxMDoxMzowNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IHJldmVyc2UgcGxheWJhY2s7IGNhdGVyIGZvciBkZWNvZGVyIGRlbGF5CgkgIC4uLiB0aGVyZWJ5IGFjdHVhbGx5IHVzaW5nIHRoZSBnYXRoZXIgYW5kIGRlY29kZSBxdWV1ZXMuCgoyMDEwLTA5LTI5IDEwOjA4OjE3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogdHdlYWsgb3V0cHV0IGJ1ZmZlciB0aW1lc3RhbXBpbmcKCSAgSW4gcGFydGljdWxhciwgYXZvaWQgcGFja2V0aXNlZCBpbnB1dCBsZWFkaW5nIHRvIGluaXRpYWwgdG8gbm9uLTAgb3V0cHV0IHRzLgoKMjAxMC0wOS0yOCAxNjoyMDo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IFVzZSBzdGF0aWMgY2FwcyBpbnN0ZWFkIG9mIGNvbnZlcnRpbmcgc3RyaW5ncyB0byBjYXBzIGFsbCB0aGUgdGltZQoKMjAxMC0wOS0yOCAxNjoxNDoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IEZpeCBjcmFzaGVzIGlmIHBsdWdpbnMgZG9uJ3QgcHJvdmlkZSBjb3JyZWN0IHByb3BlcnR5IGluZm9ybWF0aW9uCgkgIFRoZSB2ZXJ0aWdvIHBsdWdpbiBmb3IgZXhhbXBsZSBjbGFpbXMgdG8gaGF2ZSAzIHByb3BlcnRpZXMgYnV0CgkgIHRoZSAzcmQgcHJvcGVydHkgZG9lcyBub3RoaW5nIGFuZCBoYXMgYSBOVUxMIG5hbWUuCgkgIEZpeGVzIGJ1ZyAjNjMwNzgzLgoJICBUaGFua3MgdG8gTWFydHRpIEvDvGhuZSBmb3IgZGVidWdnaW5nIHRoaXMuCgoyMDEwLTA5LTI4IDE0OjI2OjExICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgdmFsdmU6IG1vdmUgZGVmYXVsdDogcGFyc3QgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQgdG8gdGhlIGVuZAoJICBOb3cgc3VyZSBpZiBpdCBtYXR0ZXJzLCBidXQgdGhlIHByZXZpb3VzIGZvcm0gbG9va3Mgd2VpcmVkLgoKMjAxMC0wOS0yOCAxNDoyMzowMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIHZhbHZlOiBtb3ZlIGRlYnVnLWNhdGVnb3J5IHJlZ2lzdHJhdGlvbiB0byB0eXBlIGluaXQKCjIwMTAtMDktMjggMTQ6MjI6MTggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGxpdmVhZGRlcjogbW92ZSBkZWJ1Zy1jYXRlZ29yeSByZWdpc3RyYXRpb24gdG8gdHlwZSBpbml0CgoyMDEwLTA5LTI4IDE0OjE3OjQ1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBsaXZlYWRkZXI6IEdTVF9CT0lMRVJQTEFURSBhbHJlYWR5IHNldHMgcGFyZW50X2NsYXNzCgoyMDEwLTA5LTI4IDE0OjE2OjU4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBsaXZlYWRkZXI6IHVzZSBiYXNlX2luaXQgZm9yIHBhZF90ZW1wbGF0ZXMgYW5kIGVsZW1lbnRfZGV0YWlscwoKMjAxMC0wOS0yOCAxNDoxNTo1NyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiB1c2UgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBvbiBwcm9wZXJ0aWVzCgoyMDEwLTA5LTI4IDE0OjE1OjEzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgdmFsdmU6IHVzZSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIG9uIHByb3BlcnRpZXMKCjIwMTAtMDktMjggMTQ6MDc6MzkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICB2YWx2ZTogR1NUX0JPSUxFUlBMQVRFIGFscmVhZHkgc2V0cyBwYXJlbnRfY2xhc3MKCjIwMTAtMDktMjggMTQ6MDg6MjkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5jOgoJICB2aWRlb21lYXNzdXJlOiBHU1RfQk9JTEVSUExBVEUgYWxyZWFkeSBzZXRzIHBhcmVudF9jbGFzcwoKMjAxMC0wOS0yOCAxMTozNTo1MyArMDMwMCAgSHUgR2FuZyA8Z2FuZy5hLmh1QGludGVsLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSAgcGhvdG9ncmFwaHk6IGV4dGVuZCBwaG90b2dyYXBoeSBpZmFjZQoJICBBZGQgbW9yZSBjb2xvciB0b25lIG1vZGVzIGFuZCBhZGQgTm9zZVJlZHVjdGlvbiBzZXR0aW5ncy4KCSAgRml4ZXMgIzYxNjgxNC4KCjIwMTAtMDktMjYgMjA6NDE6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkc3JjOiBpbXByb3ZlIGVycm9yIG1lc3NhZ2VzIG9uIHJlYWQgZXJyb3MKCSAgUHJvdmlkZSBpMThuLWVkIGVycm9yIG1lc3NhZ2VzIHdoZW4gYSByZWFkIGVycm9yIGhhcHBlbnMsCgkgIGFuZCBwb2ludCBvdXQgdGhhdCB0aGUgZXJyb3IgY291bGQgYmUgaGFwcGVuaW5nIGJlY2F1c2UgdGhlCgkgIERWRCBpcyBzY3JhbWJsZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTM2MzMKCjIwMTAtMDktMjQgMDA6MDU6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHNldCBwbHVnaW4gcmVsZWFzZSBkYXRldGltZQoKMjAxMC0wOS0yNSAxMjozMzo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb2ZhL2dzdG9mYS5jOgoJICBvZmE6IENhbGwgZ19vYmplY3Rfbm90aWZ5KCkgYWZ0ZXIgdGhlIGZpbmdlcnByaW50IHdhcyBjcmVhdGVkCgoyMDEwLTA5LTI1IDEwOjQ2OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5oOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5oOgoJICBmcmVpMHI6IEZpeCBzY2FubmluZyBvZiBwbHVnaW4gc3ViZGlyZWN0b3JpZXMgYW5kIHN1cHBvcnQgZGlmZmVyZW50IHZlbmRvcnMKCSAgVGhlIGZyZWkwciBzcGVjIHNwZWNpZmllcywgdGhhdCBwbHVnaW5zIGNhbiBiZSBpbiBzdWJkaXJlY3RvcmllcyBpbnNpZGUKCSAgdGhlIG1haW4gcGx1Z2luIGRpcmVjdG9yaWVzIHRvIGludHJvZHVjZSBuZXcgbmFtZXNwYWNlcyBjYWxsZWQgdmVuZG9ycy4KCjIwMTAtMDktMjQgMjI6NDc6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9mcmVpMHIuaDoKCSAgZnJlaTByOiBVcGRhdGUgZnJlaTByIGludGVyZmFjZSBzcGVjaWZpY2F0aW9uIHRvIDEuMgoKMjAxMC0wOS0yNCAyMjo0Mzo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IEFkZCBzdXBwb3J0IGZvciB0aGUgRlJFSTBSX1BBVEggZW52aXJvbm1lbnQgdmFyaWFibGUKCSAgVGhpcyB3YXMgYWRkZWQgaW4gdmVyc2lvbiAxLjIgb2YgdGhlIHNwZWMgYW5kIHJlcGxhY2VzIHRoZSBkZWZhdWx0CgkgIGxpc3Qgb2YgZGlyZWN0b3JpZXMuCgoyMDEwLTA5LTIzIDE0OjE1OjA4ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazogaW5pdGlhbGl6ZSBpbnRlcnZhbF90cyBhbmQgbGFzdF9mcmFtZXNfKiBjb3VudGVycwoJICBJbml0aWFsaXplIGludGVydmFsX3RzIHRvIGZpcnN0IFFPUyBldmVudCB0aW1lc3RhbXAsIG90aGVyd2lzZSB0aGUKCSAgZnBzIHN0YXRpc3RpY3MgYXJlIHByaW50ZWQgYWx3YXlzIGFmdGVyIG9uZSByZW5kZXJlZCBmcmFtZS4KCSAgQWxzbywgaW5pdGlhbGl6ZSBsYXN0X2ZyYW1lc18qIGNvdW50ZXJzLCB0aGUgdmFsdWVzIGFyZSBib2d1cyBlLmcuIGFmdGVyCgkgIFBMQVlJTkctTlVMTC1QTEFZSU5HIHN0YXRlIGNoYW5nZS4KCjIwMTAtMDktMjQgMTM6Mjk6NTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiByZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDEwLTA5LTI0IDEzOjI1OjIyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogcmVtb3ZlIHVudXNlZCBzaWduYWwgYm9pbGVycGxhdGUKCjIwMTAtMDktMjQgMTM6MjQ6NDggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogbm8gbmVlZCB0byByZWYgcGFkIGluIF9jaGFpbigpCgoyMDEwLTA5LTIyIDIzOjQxOjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkgIGNhbWVyYWJpbjogZXhhbXBsZTogbWFrZSBnc3QtY2FtZXJhIHVzZSBmbGFncwoJICBFbmFibGUgYWxsIGNvbnZlcnRpb24gZmxhZ3MgaW4gZ3N0LWNhbWVyYSBleGFtcGxlIGFwcAoJICBmb3Igc2FmZXR5LgoJICBGaXhlcyAjNjAzMDYzCgoyMDEwLTA5LTIyIDIzOjM5OjA3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkgIGNhbWVyYWJpbjogQWRkcyBuZXcgdmlkZW8tY29sb3JzcGFjZS1mbGFnIHRvIGZsYWdzCgkgIEFkZHMgYSBuZXcgZmxhZyB0byBhbGxvdyBhIGNvbG9yc3BhY2UgY29udmVydGlvbiBiZWZvcmUKCSAgdGhlIHZpZGVvIGVuY29kZXIgZWxlbWVudC4KCSAgRml4ZXMgIzYwMzA2MwoKMjAxMC0wOS0yMiAyMjozOTo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBVc2UgbGlua19mdWxsIHZlcnNpb24gZm9yIGRpc2FibGluZyBoaWVyYXJjaHkgY2hlY2sKCSAgRGlzYWJsZSBoaWVyYXJjaHkgY2hlY2tzIHdoZW4gbGlua2luZyBiZWNhdXNlIHdlIGFyZSBhbHJlYWR5CgkgIGhhbmRsaW5nIHRoZSBlbGVtZW50IGFkZGluZyB0byBiaW5zIGFuZCBpdCBzaG91bGQgYmUgZG9uZQoJICBjb3JyZWN0bHkuCgoyMDEwLTA5LTIyIDIxOjAzOjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBTZXQgcXVldWVzIHRvIHNpbGVudAoJICBXZSBjdXJyZW50bHkgZG9uJ3QgdXNlIHF1ZXVlcycgc2lnbmFscywgc28gc2V0IHRoZW0KCSAgdG8gc2lsZW50LgoKMjAxMC0wOS0yMiAxMTo1NzoyOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkgIHNjaHJvZGVjOiBGaXggY2xhc3MgZGVmaW5pdGlvbgoJICBDbGFzcyBzdHJ1Y3R1cmVzIHNob3VsZCBpbmNsdWRlIHBhcmVudCBjbGFzcywgbm90IHRoZSBwYXJlbnQKCSAgaW5zdGFuY2Ugc3RydWN0dXJlLgoKMjAxMC0wOS0yMiAxNjo0MTozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmg6CgkgIHBjYXBwYXJzZTogZml4IHdlaXJkIGNhcHMgY29kZQoJICBSZW1vdmUgdGhlIHdlaXJkIChmYWlsaW5nKSBjb2RlIHRvIGZpZ3VyZSBvdXQgY2FwcyBvbiB0aGUgc3JjcGFkLgoJICBBZGQgYSBjYXBzIHByb3BlcnR5IHRvIGRlY2lkZSB3aGF0IGNhcHMgdG8gcHV0IG9uIHRoZSBvdXRnb2luZyBidWZmZXJzLgoJICBGaXggYW4gZXZlbnQgbGVhay4KCjIwMTAtMDktMjEgMTg6MTM6MzcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBxdWlldCBhIEdTVF9FUlJPUgoKMjAxMC0wOS0yMSAxOTowNzowNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5oOgoJICBzZHBkZW11eDogYWRkIHByb3BlcnR5IHRvIGRpc2FibGUgcmVkaXJlY3QKCSAgQWRkIGEgcHJvcGVydHkgdG8gYXZvaWQgcmVkaXJlY3Rpb24gdG8gdGhlIHJ0c3Atc2RwOi8vIHVybCBidXQgaW5zdGVhZCBlbWJlZHMgYW4KCSAgcnRzcHNyYyBlbGVtZW50IGluc2lkZSBzZHBkZW11eCBhcyB0aGUgc2Vzc2lvbiBtYW5hZ2VyLgoJICBCYXNlZCBvbiBwYXRjaCBieSBNYXJjbyBCYWxsZXNpby4KCSAgRml4ZXMgIzYzMDA0NgoKMjAxMC0wOS0yMSAxODo0NTowMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkgIHNkbHZpZGVvc2luazogRml4IGZ1bmN0aW9uIHByb3RvdHlwZSBmb3IgdG91Y2h5IGNvbXBpbGVycwoKMjAxMC0wOS0yMSAxODozNDoxOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDgwZTAyNSB0byA1ZTNjOWJmCgoyMDEwLTA5LTIxIDE2OjMxOjA3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgc2RsOiBQb3J0IHRvIG5ldyBYT3ZlcmxheSBBUEkKCSAgRml4ZXMgIzYzMDI1MwoKMjAxMC0wOS0yMSAxNjoyNjozNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkgIHZkcGF1OiBVc2UgdGhlIG5ldyBYT3ZlcmxheSBBUEkKCSAgRml4ZXMgIzYzMDI1NAoKMjAxMC0wOS0yMSAxMDo1OTo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIGNhbWVyYWJpbjogZXhhbXBsZXM6IGRvIG5vdCB1c2UgZGVwcmVjYXRlZCBHc3RYT3ZlcmxheSBmdW5jdGlvbnMKCSAgUmVwbGFjZSB0aGUgZGVwcmVjYXRlZCBnc3RfeF9vdmVybGF5X3NldF94d2luZG93X2lkIHdpdGgKCSAgZ3N0X3hfb3ZlcmxheV9zZXRfd2luZG93X2hhbmRsZQoJICBGaXhlcyAjNjMwMjU1CgoyMDEwLTA5LTIxIDEyOjMzOjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVc2UgLURHU1RfRElTQUJMRV9ERVBSRUNBVEVEIGFnYWluIGZvciBHSVQgdmVyc2lvbnMKCjIwMTAtMDktMjEgMTI6Mjk6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSAgZHNob3dkZWN3cmFwcGVyOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoJICBBbmQgZG9uJ3QgZXJyb3Igb3V0IG9uIFVORVhQRUNURUQKCjIwMTAtMDktMjEgMTI6Mjc6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSAgc3BjOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOS0yMSAxMjoyNzoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkgIG1wbGV4OiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfU1VDQ0VTUygpCgoyMDEwLTA4LTI3IDE5OjE3OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL3BpdGNoLXRlc3QuYzoKCSAgcGl0Y2gtdGVzdDogRG9uJ3QgdXNlIGRlcHJlY2F0ZWQgR3N0Q29udHJvbGxlciBBUEkKCjIwMTAtMDgtMjcgMTk6MDA6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkgIHRpbWlkaXR5OiBEb24ndCBwb3N0IGFuIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBmb3IgVU5FWFBFQ1RFRAoJICBBbHNvIGRvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA4LTI3IDE5OjAwOjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTg6NTg6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSAgZ21lOiBQb3N0IGFuIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBmb3IgZmF0YWwgZXJyb3JzCgkgIEFsc28gZG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkuCgoyMDEwLTA4LTI3IDE4OjU2OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbmRmaWxlL2dzdHNmc2luay5jOgoJICBzZnNpbms6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA4LTI3IDE4OjUyOjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSAgdHRhcGFyc2U6IERvbid0IHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiBVTkVYUEVDVEVECgkgIEFsc28gZG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTg6NTE6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX1NVQ0NFU1MoKQoKMjAxMC0wOC0yNyAxODo1MToyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSAgcmF3cGFyc2U6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA4LTI3IDE4OjUwOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJICBudXZkZW11eDogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCSAgQW5kIGRvbid0IHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBmb3IgV1JPTkdfU1RBVEUgb3IgVU5FWFBFQ1RFRC4KCjIwMTAtMDgtMjcgMTg6NDk6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L25zZi9nc3Ruc2YuYzoKCSogZ3N0L25zZi9uZXNfYXB1LmM6CgkgIG5zZjogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTg6NDg6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTg6NDc6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L212ZS9nc3RtdmVkZW11eC5jOgoJKiBnc3QvbXZlL2dzdG12ZWRlbXV4Lmg6CgkgIG12ZWRlbXV4OiBBZGQgcHJvcGVyIGZsb3cgcmV0dXJuIGFnZ3JlZ2F0aW9uCgkgIE5PVF9MSU5LRUQgc2hvdWxkIG9ubHkgYmUgcmV0dXJuZWQgaWYgYWxsIHN0cmVhbXMgcmV0dXJuZWQgTk9UX0xJTktFRC4KCjIwMTAtMDgtMjcgMTg6NDE6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWdkZW11eDogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCSAgQW5kIGZpeCBzb21lIG1pbm9yIGlzc3VlcyByZWxhdGVkIHRvIGl0cyB1c2FnZS4KCjIwMTAtMDgtMjcgMTg6MzY6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOC0yNyAxODozNToxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgkgIEFsc28gZG9uJ3QgcG9zdCBhbiBlcnJvciBtZXNzYWdlIGZvciBVTkVYUEVDVEVEIGFuZCBkbyBpdAoJICBmb3IgTk9UX0xJTktFRC4KCjIwMTAtMDgtMjcgMTg6MzM6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJICBhc2ZwYXJzZTogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCSAgQWxzbyBkb24ndCBwdXNoIEVPUyBkb3duc3RyZWFtIG9uIFdST05HX1NUQVRFLCBpdCB3aWxsIGJlIGRyb3BwZWQgYW55d2F5LgoKMjAxMC0wOC0yNyAxODozMjo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfU1VDQ0VTUygpCgoyMDEwLTA4LTI3IDE4OjMyOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA5LTIwIDIxOjQ2OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogTWVudGlvbiBwaG90b2dyYXBoeSBpbnRlcmZhY2UgaW4gZG9jcwoJICBBZGQgYSBub3RlIHRvIGRvY3MgYWJvdXQgZ2V0dGluZyB0aGUgdmlkZW9zb3VyY2UgYW5kIGFjY2Vzc2luZwoJICBpdHMgcGhvdG9ncmFwaHkgaW50ZXJmYWNlIChpbiBjYXNlIGl0IGhhcyBpdCkKCSAgRml4ZXMgIzYxNjkyMwoKMjAxMC0wOC0yNSAxNDowNDo1OSArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBBZGRzIG1pc3NpbmcgdmFyaWFibGUgaW5pdGlhbGl6YXRpb24KCSAgQWRkcyBtaXNzaW5nIGFwcF9zcmNfdmlkIGluaXRpYWxpemF0aW9uCgoyMDEwLTA4LTI2IDE1OjMzOjU5ICswMzAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBjaGVjayBzdGF0ZSBjaGFuZ2UgdG8gcGxheWluZyBmb3IgaW1hZ2ViaW4gYW5kIHZpZGVvYmluCgkgIFByb3Blcmx5IGNoZWNrIGFuZCBoYW5kbGUgZXJyb3IgY2FzZXMgcmVsYXRlZCB0byBpbWFnZWJpbiBhbmQKCSAgdmlkZW9iaW4gc3RhdGUgY2hhbmdlcy4KCjIwMTAtMDYtMjggMjE6NDg6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJICBjYW1lcmFiaW46IFJlbW92ZSB1c2VsZXNzIHNyYyB0ZW1wbGF0ZSBwYWQKCSAgY2FtZXJhYmluIGltYWdlYmluIGRvZXNuJ3QgbmVlZCBhIHNyYyB0ZW1wbGF0ZSBwYWQuCgoyMDEwLTA2LTIxIDA5OjM0OjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBGb3J3YXJkIHRhZyBldmVudHMgdG8gcHJldmlldyBwaXBlbGluZQoJICBGb3J3YXJkIHRhZyBldmVudHMgZnJvbSBpbWFnZSBwaXBlbGluZSB0byBwcmV2aWV3IHBpcGVsaW5lIHNvCgkgIHRoYXQgcHJldmlldyBlbGVtZW50cyBjYW4gdXNlIGNhcHR1cmUgdGFncyBpbmZvcm1hdGlvbgoKMjAxMC0wNi0yMSAxNjoxNzoyNCArMDMwMCAgSG9zZW9rIENoYW5nIDxob3Nlb2suY2hhbmdAbm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkgIGNhbWVyYWJpbjogYWRkICJwcmV2aWV3LXNvdXJjZS1maWx0ZXIiIHByb3BlcnR5CgkgIEFkZHMgJ3ByZXZpZXctc291cmNlLWZpbHRlcicgZm9yIGFkZGluZyBhbiBlbGVtZW50IHRvIHByb2NjZXNzCgkgIHRoZSBwcmV2aWV3IGltYWdlcyBiZWZvcmUgcG9zdGluZyB0aGVtIHRvIHRoZSBidXMuCgoyMDEwLTA1LTI1IDE1OjM5OjQzICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIGNhbWVyYWJpbjogdXBkYXRlIHRhZyBuYW1lcyBpbiB0ZXN0IGFwcGxpY2F0aW9uIHRvIGxhdGVzdCBnc3QgZGVmaW5pdGlvbnMKCjIwMTAtMDUtMTcgMTM6NDQ6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiBNYWtlIGJsb2NrLWFmdGVyLWNhcHR1cmUgcmVzZXR0aW5nIG1vcmUgY29uc2lzdGVudAoJICBBZGRzIGFub3RoZXIgYm9vbGVhbiB0byBoZWxwIGNvbnRyb2xsaW5nIHZpZXdmaW5kZXIgYmxvY2tpbmcsCgkgIG1ha2luZyBpdCBwb3NzaWJsZSBmb3IgdGhlIGFwcGxpY2F0aW9ucyB0byByZXNldCB0aGUgdmlld2ZpbmRlcgoJICBibG9ja2luZyBhZnRlciBjYXB0dXJlIHdhcyBzdGFydGVkIGJ1dCBiZWZvcmUgdGhlIGJsb2NraW5nCgkgIGFjdHVhbGx5IGhhcHBlbnMuCgoyMDEwLTA1LTEyIDIxOjExOjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogVW5ibG9jayB0aGUgdmlld2ZpbmRlciB3aGVuIGdvaW5nIHRvIFJFQURZCgkgIFVuYmxvY2sgdGhlIHZpZXdmaW5kZXIgd2hlbiBnb2luZyB0byByZWFkeSB0byBhdm9pZAoJICBibG9ja2luZyB3aGVuIHNldHRpbmcgY2FtZXJhYmluIHRvIHBsYXlpbmcgYWdhaW4gYW5kCgkgIGF0dGVtcGluZyB0byBjYXB0dXJlLiBLZWVwIHRoZSBwcm9wZXJ0eSBhcyBpcy4KCjIwMTAtMDktMjAgMTc6MTk6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBhZGQgbW9uaXRvcmluZyBhbmQgc3VwcG9ydCBmb3IgcGhvdG9pZmFjZSB6b29tIGZvciB2aWRlby1zb3VyY2UKCSAgTWFrZXMgY2FtZXJhYmluIGF3YXJlIG9mIGNoYW5nZXMgaW4gaXRzIHZpZGVvc291cmNlIHpvb20gcHJvcGVydHkuCgoyMDEwLTA5LTIwIDE2OjIyOjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIGNhbWVyYWJpbjogQ2hhbmdlIHpvb20gcHJvcGVydHkgZnJvbSBpbnQgdG8gZmxvYXQKCSAgVXBkYXRlcyB6b29tIHByb3BlcnR5IGZvciBhIG1vcmUgbmF0dXJhbCB0eXBlIGFuZAoJICBtYWtlcyBpdCBjb25zaXN0ZW50IHdpdGggdGhlIHBob3RvZ3JhcGh5IEFQSQoKMjAxMC0wOS0xOSAxODo1MTozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBwaG90b2dyYXBoeTogQWRkIHpvb20gcHJvcGVydHkKCSAgQWRkcyBhIHByb3BlcnR5IHRvIHNldC9nZXQgdGhlIHpvb20gYXMgYSBmbG9hdAoKMjAxMC0wNi0wOCAxMDowNDo1MiArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiByZW1vdmUgY2FjaGluZyBwaG90b2dyYXBoeSBpbnRlcmZhY2Ugc2V0dGluZ3MKCSAgQ2FtZXJhYmluIGRvZXNuJ3QgaW1wbGVtZW50IHBob3RvZ3JhcGh5IGludGVyZmFjZSwgc28gd2UKCSAgZG9uJ3QgbmVlZCBjYWNoaW5nIHRoZSB2aWRlbyBzb3VyY2UgcHJvcGVydGllcyBhbnltb3JlLgoKMjAxMC0wNC0yMiAxNzo0Njo1OSArMDMwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluOiB1c2UgcGhvdG9pZmFjZSBwcm9wZXJ0aWVzIHRocm91Z2ggdmlkZW8tc291cmNlCgkgIEZpeGVzICM2MTY5MjMKCjIwMTAtMDQtMjIgMTQ6MDM6MzQgKzAzMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjogcmVtb3ZlIHBob3RvaWZhY2UgcHJvcGVydHkvc2V0dGluZ3MgdGVzdHMKCSAgRml4ZXMgIzYxNjkyMwoKMjAxMC0wOC0zMSAxODowNjoxNSAtMDMwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlucGhvdG9ncmFwaHkuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5waG90b2dyYXBoeS5oOgoJICBjYW1lcmFiaW46IHJlbW92ZSBwaG90b2dyYXBoeSBpbnRlcmZhY2UgaW1wbGVtZW50YXRpb24gZnJvbSBjYW1lcmFiaW4KCSAgUmVtb3ZlIG5vdGlmeSBzaWduYWwgcHJveHkgZm9yIHZpZGVvLXNvdXJjZS4gQXBwbGljYXRpb24gY2FuIHVzZQoJICB2aWRlby1zb3VyY2UgZGlyZWN0bHkgZnJvbSBub3cgb24gdG8gZ2V0IG5vdGlmaWVkIG9mIHByb3BlcnR5IGNoYW5nZXMuCgkgIEFkZCBtb25pdG9yaW5nIHNjZW5lLW1vZGUgcHJvcGVydHkgY2hhbmdlIHRvIHNlbGVjdCBsb3dlc3QgcG9zc2libGUKCSAgZnJhbWVyYXRlIGZvciB2aWRlbyBjYXB0dXJlIHdoZW4gbmlnaHQgbW9kZSBpcyBzZWxlY3RlZC4KCSAgRml4ZXMgIzYxNjkyMwoKMjAxMC0wNC0yOSAxMjo0NDoyOSArMDMwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjogYWRkIC0tbm8teHdpbmRvdyBvcHRpb24gYW5kIGZpeCBvcHRpb24gaGFuZGxpbmcKCSAgQWRkIC0tbm8teHdpbmRvdyBvcHRpb24gdG8gbm90IHRvIGNyZWF0ZSB4d2luZG93LiBBbHNvIGZpeCB6b29tIGFuZAoJICBtdXRlIG9wdGlvbiB0eXBlcyBhbmQgZmlsZW5hbWUgc3RyaW5nIGhhbmRsaW5nLgoKMjAxMC0wNC0yOSAxMzoyNDoxOCArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSAgcGhvdG9ncmFwaHk6IEFkZCBpbWFnZS1wcmV2aWV3LXN1cHBvcnRlZC1jYXBzIGludGVyZmFjZSBwcm9wZXJ0eQoJICBBZGRzIGEgcmVhZGFibGUgcHJvcGVydHkgdG8gZ3N0cGhvdG9ncmFwaHkgaW50ZXJmYWNlIHRvIHF1ZXJ5CgkgIHdoYXQgYXJlIHRoZSBhbGxvd2VkIHByZXZpZXcgY2FwcyBzdXBwb3J0ZWQuCgkgIFBhdGNoIGJ5IFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCjIwMTAtMDktMjAgMTI6MzQ6MDYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSAgYmFzZXZpZGVvOiBSZW1vdmUgdW51c2VkIGNvZGUKCjIwMTAtMDktMjAgMTE6MjY6NTkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBSZW1vdmUgY2hlY2sgZm9yIG9sZCAtYmFzZQoKMjAxMC0wOS0xOSAxOTozMzo0MCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSAgYmFzZXZpZGVvOiBBZGQgaGFuZGxpbmcgb2YgR3N0Rm9yY2VLZXlVbml0IGV2ZW50cwoKMjAxMC0wOS0xOCAxOToyNTo0OSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSAgaW52dGVsZWNpbmU6IEZpeCBuYW1lIG9mIDMwcC82MGkgcGF0dGVybgoKMjAxMC0wOS0xOCAxOToyMTo0NyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGFkZCBjYXB0dXJlIHBhdHRlcm4gaGFuZGxpbmcKCSAgTW92ZSB0eXBpY2FsIHNjYW5fZm9yX3N5bmMoKSB1c2FnZSBpbnRvIGJhc2UgY2xhc3MsIHdoaWNoIGp1c3QKCSAgY2FsbHMgZ3N0X2FkYXB0ZXJfbWFza2VkX3NjYW5fdWludDMyKCkuCgoyMDEwLTA5LTE4IDE5OjE0OjM2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IERvbid0IGJsb3cgYXdheSBmaWVsZCBpbmZvcm1hdGlvbgoJICBBbHNvLCBzZXQgZmllbGQgZmxhZ3MgY29ycmVjdGx5LgoKMjAxMC0wOS0xOCAxNzoyODo0OCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJICBiYXNldmlkZW86IE1vdmUgZGVhZGxpbmUgdG8gZnJhbWUgc3RydWN0dXJlCgoyMDEwLTA5LTE4IDE0OjU3OjMyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogQWRkIGFsbG93LXJmZiBwcm9wZXJ0eS4gIEZpeCB0aW1lc3RhbXBpbmcKCjIwMTAtMDktMTggMTM6MzI6MDcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBtZXJnZSB0ZWxlY2luZSBpbnRvIG5vcm1hbCBvcGVyYXRpb24KCjIwMTAtMDktMDggMTU6MDg6NTAgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogQWRkIHRlbGVjaW5lIHN1cHBvcnQKCjIwMTAtMDktMTcgMDg6NDM6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2dzdGNvZy5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJICBjb2c6IEFsbG93IGNvbXBpbGF0aW9uIHdpdGhvdXQgb3JjCgkgIEFsc28gZG9uJ3QgaWdub3JlIC0tZGlzYWJsZS1vcmMuIEZpeGVzIGJ1ZyAjNjI5ODk3LgoKMjAxMC0wOS0xNCAxNjoxNzo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBBZGRzIGEgbmV3IHRlc3QgdG8gY2hlY2sgc2VxdWVudGlhbCBjYXB0dXJlIG9mIGltYWdlcwoJICBBZGRzIGEgbmV3IHRlc3QgY2FzZSB0aGF0IHNob290cyBhIHNlcXVlbmNlIG9mIGltYWdlIGNhcHR1cmUKCSAgYW5kIGNoZWNrIHRoYXQgdGhlIGZpbGVzIGFyZSB2YWxpZC4KCSAgQWxzbyBhZGRzIHRhZ2xpc3QgY2hlY2tpbmcgY2FwYWJpbGl0aWVzIHRvIHRlc3RzLgoKMjAxMC0wOS0xNSAxNzo1NDo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICBxdG11eDogRm9sbG93IHhtcCBzZXJpYWxpemF0aW9uIGd1aWRlbGluZXMgY2xvc2VyCgkgIHF0IGFuZCBpc29tIHZhcmlhbnRzIGhhdmUgZGlmZmVyZW50IHdheXMgb2Ygc2VyaWFsaXppbmcKCSAgeG1wLCBmb2xsb3cgdGhlc2UgZ3VpZGVsaW5lcy4KCSAgVGhvc2UgY2FuIGJlIGZvdW5kIGluIEFkb2JlJ3MgeG1wIGRvY3MuCgoyMDEwLTA5LTE1IDIxOjQ3OjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMtZGlzdC5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLWRpc3QuaDoKCSAgY29sb3JzcGFjZTogYWRkIG9yYy1kaXN0IGZpbGVzCgkgIFNob3VsZCBmaXggYnVpbGQgd2l0aG91dCBvcmMgb3IgdG9vIG9sZCBvcmMuCgoyMDEwLTA5LTE1IDE3OjUxOjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNoZWNrc3Vtc2luay5oOgoJICBjaGVja3N1bXNpbms6IGZpeCB1cCBjb3B5cmlnaHQgaW4gaGVhZGVyIGZpbGUKCjIwMTAtMDktMTIgMTQ6NTk6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1saWJzLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWxpYnMucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLnBjLmluOgoJICBwa2djb25maWc6IHJlbW92ZSBzb21lIG9sZCB1bnVzZWQgZmlsZXMgZnJvbSAwLjggZGF5cwoKMjAxMC0wOS0xNSAxODozODowMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogTWFrZWZpbGUuYW06CgkgIG1ldGFkYXRhOiBhZGQgcmVtb3ZlZCBmaWxlcyB0byBjcnVmdCB2YXJzCgoyMDEwLTA5LTE1IDE4OjEzOjU1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgdGVzdHM6IGFkZCBtaXNzaW5nIHN0ZGlvIGluY2x1ZGUKCjIwMTAtMDktMTUgMTg6MTA6MzMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXRhZGF0YS8uZ2l0aWdub3JlOgoJKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXRhZGF0YS9SRUFETUU6CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFfbWFwcGluZy5odG06CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0eXBlcy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0eXBlcy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL21ldGFkYXRhLmM6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBtZXRhZGF0YTogcmVtb3ZlIG1ldGFkYXRhIHBsdWdpbgoJICBUaGlzIHBsdWdpbnMgZnVuY3Rpb25hbGl0eSBpcyByZXBsYWNlZCBieSB1dGlsaXR5IGxpYnJhcmllcyBpbiBiYXNlIGZvciBleGlmCgkgIGFuZCB4bXAuIEpwZWcgaW1hZ2VzIGNhbiB1c2UgdGhpcyB2aWEganBlZ2Zvcm1hdCBwbHVnaW4uCgkgIEZpeGVzICM0ODY2NTkKCjIwMTAtMDktMTQgMTE6Mjg6NTYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICBiYXllcjJyZ2I6IEFkZCBmb3JtYXQ9Ymdnci9ldGMuIHRvIGNhcHMKCjIwMTAtMDktMTMgMTg6NDk6NDMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5oOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuaDoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy5vcmM6CgkgIGNvbG9yc3BhY2U6IEFkZCBjb252ZXJzaW9uIGNvZGUKCSAgV29yayBpbiBwcm9ncmVzcy4gIENvbG9yc3BhY2UgaGFuZGxlcyBtb3N0IGZvcm1hdCBjb252ZXJzaW9uIHVzaW5nCgkgIDMtc3RhZ2UgZ2V0bGluZS9tYXRyaXgvcHV0bGluZSBwcm9jZXNzIHVzaW5nIGFuIEFZVVYgb3IgQVJHQgoJICBpbnRlcm1lZGlhdGUsIHdpdGggbW9zdCBmdW5jdGlvbnMgaGFuZGxlZCBieSBPcmMuICBUaGVyZSBpcyBhbHNvCgkgIGEgdGFibGUgb2Ygc2luZ2xlLXBhc3MgY29udmVyc2lvbnMsIGFsbCBoYW5kbGVkIGJ5IE9yYy4gIFRoZSBwbGFuCgkgIGlzIHRvIGFkZCBvcHRpb25hbCBzdGFnZXMgZm9yIHZhcmlvdXMgY2hyb21hIHVwc2FtcGxpbmcvZG93bnNhbXBsaW5nCgkgIGFsZ29yaXRobXMsIGRpdGhlcmluZywgYW5kIGZsb2F0L2ludDE2IGludGVybWVkaWF0ZXMsIGFuZCB0aGVuIGhhdmUKCSAgT3JjIGNyZWF0ZSBtdWx0aS1zdGFnZSBmdW5jdGlvbnMgYXQgcnVudGltZS4KCjIwMTAtMDktMTMgMTI6NDg6NTAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvY29sb3JzcGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmg6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMub3JjOgoJKiBnc3QvY29sb3JzcGFjZS95dXYycmdiLmM6CgkqIGdzdC9jb2xvcnNwYWNlL3l1djJyZ2IuaDoKCSAgY29sb3JzcGFjZTogUmV2aXZlIGVsZW1lbnQKCSAgTm93IGJhc2VkIG9uIE9yYy4KCjIwMTAtMDktMDkgMTQ6NDk6MDYgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPGxlLmJ1c2luZXNzbWFuQGdtYWlsLmNvbT4KCgkqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBhZGRlZCB0cmFuc2xhdGFibGUgdGV4dCBmb3Igc2VydmVyIG5vdCBmb3VuZCBlcnJvcgoKMjAxMC0wOC0wOSAxNDozMjo1NyArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBDaGFuZ2UgYml0cmF0ZSB0byBiaXRzL3NlYwoKMjAxMC0wOS0xMCAxMzozNjoyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgamlmbXV4OiBSZXNldCB0YWdzIHdoZW4gZ29pbmcgdG8gUkVBRFkKCSAgUmVzZXQgdGhlIHRhZ3NldHRlciB0YWdzIHdoZW4gZ29pbmcgdG8gUkVBRFkgc3RhdGUKCjIwMTAtMDktMTAgMTM6MzM6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVnZm9ybWF0OiBGaXggZWxlbWVudCBkZXNjcmlwdGlvbgoJICBVc2Ugc2FuZXIgY2F0ZWdvcmllcyBmb3IgamlmbXV4L2pwZWdwYXJzZSBlbGVtZW50cwoKMjAxMC0wOS0xMCAxMTozMTo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFNldCB0YWdzIHRvIG1vcmUgZWxlbWVudHMKCSAgUmVtb3ZlIGNoZWNrIGZvciAnTXV4ZXInIGNhdGVnb3J5IHdoZW4gc2V0dGluZyB0YWdzCgkgIGZvciB0YWdzZXR0ZXJzLiBTZXQgdGhlbSB0byBhbGwgdGFnc2V0dGVycyBpbiB0aGUKCSAgcGlwZWxpbmVzLgoKMjAxMC0wOS0xMCAxODozNToyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiByZWRpcmVjdCBTRFAgd2l0aCBhbiBydHNwIGNvbnRyb2wgVVJMCgkgIFdoZW4gd2UgZmluZCBhbiBTRFAgd2l0aCBhbiBydHNwOi8vIHVybCBhcyB0aGUgZ2xvYmFsIGNvbnRyb2wgYXR0cmlidXRlIG9yIHdoZW4KCSAgYWxsIHN0cmVhbXMgaGF2ZSBhbiBydHNwOi8vIGNvbnRyb2wgYXR0cmlidXRlLCBwb3N0IGFuIHJlZGlyZWN0IG1lc3NhZ2Ugd2l0aCBhbgoJICBydHNwLXNkcDovLyB1cmwgY29udGFpbmluZyB0aGUgU0RQLgoJICBGaXhlcyAjNjI4MjE0CgoyMDEwLTA5LTEwIDEwOjI5OjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR1bm5lbC5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IEZpeCBidWlsZCB3aXRoIGRlYnVnZ2luZyBkaXNhYmxlZAoJICBBZGQgc29tZSBpZmRlZnMgdG8gcHJldmVudCBidWlsZCBmYWlsdXJlcyBkdWUgdG8gdW51c2VkCgkgIHZhcmlhYmxlcwoKMjAxMC0wOS0wOSAyMzo1OToxNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkgIHRlc3RzOiBhbGxvdyBydW5uaW5nIHN0YXRlIHRlc3RzIGZvciBhbGwgZWxlbWVudHMKCSAgTm93IG9uZSBjYW4gdXNlIEdTVF9OT19TVEFURV9JR05PUkVfRUxFTUVOVFM9MSBtYWtlIGdlbmVyaWMvc3RhdGVzLmNoZWNrCgkgIHRvIHRyeSBlbGVtZW50cyB0aGF0IHdvdWxkIG5vcm1hbHkgYmUgc2tpcHBlZC4KCjIwMTAtMDktMDkgMTc6MTg6MDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogUmVtb3ZlIGRlcGVuZGVuY3kgb24gbGlic3dzY2FsZQoJICBJdCdzIG5vdCB1c2VkIGluIHRoZSBnc3Qgb3BlbmN2IHBsdWdpbi4KCjIwMTAtMDktMDkgMTU6MDM6MjQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJICBvcGVuY3Y6IGRlZmluZSBDVl9OT19CQUNLV0FSRF9DT01QQVRJQklMSVRZIHRvIHN1cHByZXNzIHdhcm5pbmdzIGNhdXNlZCBieSBjb21wYXQgaGVhZGVyCgkgIENvbXBpbGUgd2l0aCAtRENWX05PX0JBQ0tXQVJEX0NPTVBBVElCSUxJVFkgZm9yIG5vdywgc28gdGhhdCB0aGUgY29tcGF0IGhlYWRlcgoJICBkb2Vzbid0IGdldCBpbmNsdWRlZCwgd2hpY2ggY2F1c2VzIGNvbXBpbGVyIHdhcm5pbmdzIHRoYXQgKGl0IHNlZW1zKSBjYW4ndCBiZQoJICBzd2l0Y2hlZCBvZmYgZWFzaWx5LiBBcyBhIHJlc3VsdCwgd2UgYWxzbyBzcGVjaWZ5IGEgbWF4LiB2ZXJzaW9uIGluIGNvbmZpZ3VyZSwKCSAgc28gdGhlIGJ1aWxkIGRvZXNuJ3QgYnJlYWsgaWYgb3VyIGNvZGUgZG9lc24ndCBjb21waWxlIGFnYWluc3QgbmV3ZXIgb3BlbmN2CgkgIHZlcnNpb25zIGFueSBtb3JlIHdpdGggdGhhdCBmbGFnLgoKMjAxMC0wOS0wOSAxMTowNzo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJICBvcGVuY3Y6IGF2b2lkICd1bnVzZWQnIGNvbXBpbGVyIHdhcm5pbmdzIHdpdGggaW5saW5lIGZ1bmN0aW9ucyBpbiBvcGVuY3YgaGVhZGVycwoJICBPdmVycmlkZSBDVl9JTkxJTkUgdG8gYXZvaWQgJ3VudXNlZCcgZ2NjIHdhcm5pbmdzLiBHTGliIHdpbGwgdGFrZSBjYXJlIG9mIGRlZmluaW5nCgkgICdpbmxpbmUnIHN1ZmZpY2llbnRseSBhbmQgT3BlbkNWJ3MgZGVmaW5lIGlzbid0IGdvb2QgZW5vdWdoIHRvIGF2b2lkICd1bnVzZWQnCgkgIGNvbXBpbGVyIHdhcm5pbmdzIChhdCBsZWFzdCBpbiB2ZXJzaW9uIDIuMS4wKS4KCjIwMTAtMDktMDkgMTA6Mjc6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSAgb3BlbmN2OiB1cGRhdGUgcGx1Z2luIHNvdXJjZSBwYWNrYWdlIG5hbWUgYW5kIG9yaWdpbgoKMjAxMC0wOS0wOCAyMzo1OTozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0Lmg6CgkgIGZhY2VkZXRlY3Q6IEFkZCBtb3JlIHBhcmFtZXRlcnMKCSAgRXhwb3NlIHRoZSBwYXJhbWV0ZXJzIG9mIGN2SGFhckRldGVjdE9iamVjdHMgaW4gZmFjZWRldGVjdAoJICBlbGVtZW50LgoKMjAxMC0wOS0wOCAxNDo1OTo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZkaWxhdGUuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZkaWxhdGUuaDoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZkaWxhdGVlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmRpbGF0ZWVyb2RlLmg6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZXF1YWxpemVoaXN0LmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZXF1YWxpemVoaXN0Lmg6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZXJvZGUuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3Zlcm9kZS5oOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmxhcGxhY2UuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZsYXBsYWNlLmg6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2c21vb3RoLmg6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2c29iZWwuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3Zzb2JlbC5oOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9nc3RlZGdlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZmFjZWJsdXIvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZmFjZWJsdXIvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9mYWNlYmx1ci9nc3RmYWNlYmx1ci5oOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZS5oOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlZXJvZGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZWVyb2RlLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5oOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXJvZGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVyb2RlLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5oOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuYzoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5jOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuaDoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5oOgoJKiBleHQvb3BlbmN2L2dzdHRleHR3cml0ZS5jOgoJKiBleHQvb3BlbmN2L2dzdHRleHR3cml0ZS5oOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvZ3N0cHlyYW1pZHNlZ21lbnQuaDoKCSogZXh0L29wZW5jdi90ZW1wbGF0ZW1hdGNoL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L3RlbXBsYXRlbWF0Y2gvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L3RlbXBsYXRlbWF0Y2gvZ3N0dGVtcGxhdGVtYXRjaC5oOgoJKiBleHQvb3BlbmN2L3RleHR3cml0ZS9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmM6CgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5oOgoJICBvcGVuY3Y6IFJlZmFjdG9yIGZpbGVzIHN0cnVjdHVyZQoJICBSZW1vdmUgaW50ZXJuYWwgZm9sZGVycyBhbmQgcHV0IGFsbCBjb2RlIGluc2lkZSB0aGUgbWFpbiBwbHVnaW4KCSAgZm9sZGVyLiBBbHNvIGZpeGVzIHNvbWUgYnVpbGRpbmcgd2FybmluZ3MuCgoyMDEwLTA5LTA4IDAwOjA4OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJICBvcGVuY3Y6IEFkZHMgbmV3IHBsdWdpbiBvcGVuY3YKCSAgTW92ZXMgb3BlbmN2IHBsdWdpbiBmcm9tIGh0dHA6Ly9naXRodWIuY29tL0VsbGVvL2dzdC1vcGVuY3YKCSAgaW50byAtYmFkIG1vZHVsZS4KCjIwMTAtMDktMDUgMjM6MDk6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuYzoKCSAgZmFjZWRldGVjdDogUG9zdCBhbiB1c2VmdWwgbWVzc2FnZQoJICBBZGQgYSBtZXNzYWdlIHRvIGJlIHBvc3Qgd2hlbiBmYWNlcyBhcmUgZm91bmQgb24gYSBmcmFtZSB0aGF0CgkgIGNvbnRhaW5zIGFsbCBmYWNlcyBvbiBhIHNpbmdsZSBtZXNzYWdlIGFuZCBhbHNvIGhhcwoJICB0aW1lc3RhbXAvcnVubmluZy9zZWdtZW50IHRpbWVzIGZvciB0aGF0IGJ1ZmZlciBzbyBpdAoJICBjYW4gYmUgaWRlbnRpZmllZC4KCSAgVGhpcyBtZXNzYWdlIGlzIGNhbGxlZCAnZmFjZWRldGVjdCcgYW5kIGhhcyBhICdmYWNlcycgbGlzdAoJICBvZiBzdHJ1Y3R1cmVzIHdpdGggYWxsIGZhY2VzLgoJICBUaGUgb2xkICdmYWNlJyBtZXNzYWdlIGlzIHN0aWxsIHBvc3RlZCBmb3IgZWFjaCBmYWNlIGZvdW5kLCBidXQKCSAgaXQgaXMgbm90IHJlYWxseSB1c2VmdWwgYXMgaXQgZG9lc24ndCBoYXZlIGFueSByZWZlcmVuY2UgdG8gdGhlCgkgIGJ1ZmZlciB0aGF0IGdlbmVyYXRlZCBpdC4KCjIwMTAtMDktMDUgMTc6NTM6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5oOgoJICBmYWNlZGV0ZWN0OiBVc2UgR3N0T3BlbmN2VmlkZW9GaWx0ZXIgYXMgdGhlIGJhc2UgY2xhc3MKCSAgUG9ydCBmYWNlZGV0ZWN0IHRvIHVzZSBHc3RPcGVuY3ZWaWRlb0ZpbHRlciBhcyB0aGUgYmFzZSBjbGFzcwoJICB0byBpbmhlcml0IGFsbCB0aGUgZ29vZG5lc3MgdGhhdCBHc3RCYXNlVHJhbnNmb3JtL0dzdFZpZGVvRmlsdGVyCgkgIGFscmVhZHkgaGFuZGxlcy4KCjIwMTAtMDktMDMgMjA6Mjc6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZGlsYXRlLmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZGlsYXRlZXJvZGUuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZkaWxhdGVlcm9kZS5oOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmVxdWFsaXplaGlzdC5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmVxdWFsaXplaGlzdC5oOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2bGFwbGFjZS5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmxhcGxhY2UuaDoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZzbW9vdGguaDoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3Zzb2JlbC5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdnNvYmVsLmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2YmFzZXRyYW5zLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2YmFzZXRyYW5zLmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dmlkZW9maWx0ZXIuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z2aWRlb2ZpbHRlci5oOgoJICBvcGVuY3ZiYXNldHJhbnM6IFVzZSBHc3RWaWRlb0ZpbHRlciBhcyB0aGUgYmFzZSBjbGFzcwoJICBQb3J0IGZyb20gR3N0QmFzZVRyYW5zZm9ybSB0byBHc3RWaWRlb0ZpbHRlciBhcyB0aGUgYmFzZSBjbGFzcy4KCjIwMTAtMDUtMjQgMTk6Mjg6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2bGFwbGFjZS5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmxhcGxhY2UuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3ZiYXNldHJhbnMuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3ZiYXNldHJhbnMuaDoKCSAgY3ZsYXBsYWNlOiBhZGRzIG5ldyBjdmxhcGxhY2UgZWxlbWVudAoJICBBZGRzIG5ldyBjdmxhcGxhY2UgZWxlbWVudC4KCSAgQWxzbyBhZGRzIGEgbmV3IG9wZW5jdmJhc2V0cmFuc2Zvcm0gZnVuY3Rpb24gdG8gYmUgb3ZlcnJpZGVuCgkgIGJ5IGNoaWxkcmVuIGNsYXNzZXM6IHRoZSBjdl9zZXRfY2FwcywgaXQgYWxsb3dzIGNoaWxkcmVuIGNsYXNzZXMKCSAgdG8ga25vdyB3aGF0IGFyZSB0aGV5IGdvaW5nIHRvIGhhbmRsZSBhbmQgcHJlcGFyZSBwcm9wZXJseS4KCjIwMTAtMDUtMTkgMjA6MTE6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2c29iZWwuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3Zzb2JlbC5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmM6CgkgIEFkZHMgbmV3IGVsZW1lbnQgY3Zzb2JlbAoKMjAxMC0wNS0xNyAxOTowNDo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZlcXVhbGl6ZWhpc3QuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZlcXVhbGl6ZWhpc3QuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSAgQWRkcyBuZXcgZWxlbWVudCBjdmVxdWFsaXplaGlzdAoKMjAxMC0wNS0xNiAxOToxNDo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZkaWxhdGUuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZkaWxhdGUuaDoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZkaWxhdGVlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmRpbGF0ZWVyb2RlLmg6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZXJvZGUuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3Zlcm9kZS5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJICBBZGRzIG5ldyBlbGVtZW50cyBjdmRpbGF0ZSBhbmQgY3Zlcm9kZQoJICBBZGRzIDIgc2ltaWxhciBlbGVtZW50cyAoc28gc2ltaWxhciB0aGV5IGhhdmUgdGhlaXIgb3duIGJhc2VjbGFzcyksCgkgIGN2ZGlsYXRlIGFuZCBjdmVyb2RlLgoKMjAxMC0wNS0xNiAxNzowMzo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdmJhc2V0cmFucy5jOgoJICBjdnNtb290aDogSW1wcm92ZSBwYXJhbWV0ZXJzIGRvY3MKCjIwMTAtMDUtMTYgMTY6Mzc6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZzbW9vdGguYzoKCSAgY3ZzbW9vdGg6IERlYWN0aXZhdGluZyBibHVyLW5vLXNjYWxlCgkgIERlYWN0aXZhdGUgYmx1ci1uby1zY2FsZSBiZWNhdXNlIGJhc2V0cmFuc2Zvcm0gZG9lc24ndCBwcm92aWRlIGEgd2F5CgkgIHRvIG92ZXJyaWRlIGdldGNhcHMgZm9yIHBhZHMsIGFsd2F5cyB1c2luZyB0ZW1wbGF0ZWNhcHMgaW5kZXBlbmRlbnQKCSAgb2YgcHJvcGVydGllcy4KCjIwMTAtMDUtMTYgMTE6NDI6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3ZiYXNldHJhbnMuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmg6CgkgIGN2c21vb3RoOiBBZGQgc3VwcG9ydCBmb3IgdmlkZW8veC1yYXctZ3JheQoKMjAxMC0wNS0xNiAwMDo0NjowMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdmJhc2V0cmFucy5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuaDoKCSAgQWRkaW5nIGdzdG9wZW5jdnV0aWxzCgkgIEFkZHMgYSBmaWxlIHRvIGtlZXAgdXRpbGl0YXJ5IGZ1bmN0aW9ucyB0b2dldGhlcgoKMjAxMC0wNS0xMSAyMDoxMTo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdnNtb290aC5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJICBjdnNtb290aDogQWRkcyBuZXcgZWxlbWVudCBjdnNtb290aAoJICBBZGRzIG5ldyBjdnNtb290aCBlbGVtZW50CgoyMDEwLTA1LTA1IDAxOjI0OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdmJhc2V0cmFucy5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdmJhc2V0cmFucy5oOgoJICBnc3RvcGVuY3ZiYXNldHJhbnM6IEFkZHMgdGhpcyBuZXcgYmFzZSBjbGFzcwoJICBBZGRzIEdzdE9wZW5jdkJhc2VUcmFuc2Zvcm0gYXMgYmFzZSBjbGFzcyBmb3Igc2ltcGxlIDE6MQoJICBvcGVuY3YgZmlsdGVycwoKMjAxMC0wNC0yNiAxNzoxODo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkgIHB5cmFtaWRzZWdtZW50OiBBbGxvY2F0ZSBhIG5ldyBidWZmZXIgZm9yIG91dHB1dAoJICBVc2UgYSBuZXdseSBhbGxvY2F0ZWQgYnVmZmVyIGZvciBvdXRwdXQsIGFuZCByZWxlYXNlIHRoZSBpbnRlcm1lZGlhcnkKCSAgaW1hZ2UgdXNlZC4KCSAgQWxzbyBhZGQgYSBUT0RPIGZvciBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudAoKMjAxMC0wNC0yNiAxNzozNDoxMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2ZhY2VibHVyL2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvdGVtcGxhdGVtYXRjaC9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5jOgoJICBmYWNlYmx1cjogZmFjZWRldGVjdDogdGVtcGxhdGVtYXRjaDogdGV4dHdyaXRlOiBTZXQgYnVmZmVyIHRvIHdyaXRhYmxlCgkgIFRoZXNlIGVsZW1lbnRzIG9wZXJhdGVzIGluIHBsYWNlLCBzZXQgYnVmZmVyIHRvIHdyaXRhYmxlIGJlZm9yZQoJICBvcGVyYXRpbmcuCgoyMDEwLTA0LTI2IDE2OjE3OjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9nc3RlZGdlZGV0ZWN0LmM6CgkgIGVkZ2VkZXRlY3Q6IEZpeCBjaGFpbiBidWZmZXIgaGFuZGxpbmcKCSAgQWxsb2NhdGUgYSBuZXcgb3V0cHV0IGJ1ZmZlciBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBpbnB1dCBidWZmZXIKCSAgcG9pbnRpbmcgdG8gdGhlIGludGVybmFsIGN2Q0VkZ2Ugb3BlbmN2J3MgSXBsSW1hZ2UgZGF0YSwgd2hpY2gKCSAgbWlnaHQgY2hhbmdlLCBjb25zZXF1ZW50bHkgY2hhbmdpbmcgdGhlIGJ1ZmZlci4KCjIwMTAtMDQtMjUgMTY6Mjc6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9mYWNlYmx1ci9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvdGVtcGxhdGVtYXRjaC9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5jOgoJICBjb25maWd1cmU6IGVuYWJsZSAtV2Vycm9yIHRvIGltcHJvdmUgY29kZQoJICAtV2Vycm9yIG9uIGdpdCB2ZXJzaW9uIGlzIHVzZWZ1bCB0byBrZWVwIGNvZGUgY2xlYW4uCgoyMDEwLTAzLTAyIDEzOjU1OjA1ICswNTMwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPGJzcmVlcmVuakBnbWFpbGNvbT4KCgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5jOgoJKiBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuaDoKCSAgQWRkZWQgdGhlIHByb3BlcnR5IGZvciBzZXR0aW5nIHRoZSBSR0IgY29sb3Vycy4gCW1vZGlmaWVkOiAgIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5jIAltb2RpZmllZDogICBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuaAoKMjAxMC0wMy0wMiAxMzoxODoxOSArMDUzMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxic3JlZXJlbmpAZ21haWxjb20+CgoJKiBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuYzoKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmg6CgkgIEFkZGVkIHRoZSBwcm9wZXJ0eSBmb3Igc2V0dGluZyB0aGUgInRoaWNrbmVzcyIgb2YgZm9udCAJbW9kaWZpZWQ6ICAgZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmMgCW1vZGlmaWVkOiAgIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5oCgoyMDEwLTAzLTAyIDEyOjQ1OjU4ICswNTMwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPGJzcmVlcmVuakBnbWFpbGNvbT4KCgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5jOgoJKiBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuaDoKCSAgQWRkZWQgdGhlIHByb3BlcnR5IGZvciBzZXR0aW5nIHggYW5kIHkgY28tb3JkaW5hdGVzIAltb2RpZmllZDogICBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuYyAJbW9kaWZpZWQ6ICAgZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmgKCjIwMTAtMDMtMDIgMTI6NDE6MjUgKzA1MzAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8YnNyZWVyZW5qQGdtYWlsY29tPgoKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmM6CgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5oOgoJICBhZGRlZCB0aGUgcHJvcGVyeSBmb3Igc2V0dGluZyB4IGFuZCB5IGNvLW9yZGluYXRlcyAJbW9kaWZpZWQ6ICAgZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmMgCW1vZGlmaWVkOiAgIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5oCgoyMDEwLTAyLTI4IDE0OjM2OjM1ICswMDAwICBNaWtlIFNoZWxkb24gPG1pa2VAbWlrZWFzb2Z0LmNvbT4KCgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0LmM6CgkgIEFwcGx5IFN0ZWZhbidzIGZhY2VibHVyIGZpeGVzIHRvIGZhY2VkZXRlY3QKCjIwMTAtMDItMjggMTQ6MzI6MDAgKzAwMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8YnNyZWVyZW5qQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuYzoKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmg6CgkgIEFkZCBzaW1wbGUgdGV4dCBvdmVybGF5IHBsdWdpbgoKMjAxMC0wMi0xOSAyMjo1MDoxOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9mYWNlYmx1ci9nc3RmYWNlYmx1ci5jOgoJICBmYWNlYmx1cjogZml4IGhhbmRsaW5nIG9mIHByb2ZpbGUgcHJvcGVydHkuCgkgIER1cCBhbmQgZnJlZSB0aGUgc3RyaW5nLiBGaXhlcyBsZWFraW5nIG5ldyB2YWx1ZXMgYW5kIGF2b2lkcyBjcmFzaGluZwoJICBnc3QtaW5zcGVjdC4KCjIwMDktMTItMTggMTE6MjM6NTkgKzAwMDAgIE1pa2UgU2hlbGRvbiA8bWlrZUBtaWtlYXNvZnQuY29tPgoKCSogZXh0L29wZW5jdi90ZW1wbGF0ZW1hdGNoL2dzdHRlbXBsYXRlbWF0Y2guaDoKCSAgRml4IGluY2x1ZGVzIGluIHRlbXBsYXRlIG1hdGNoaW5nIGVsZW1lbnQKCjIwMDktMDUtMjYgMTI6NTk6MDQgKzAxMDAgIE1pa2UgU2hlbGRvbiA8bWlrZUBtaWtlYXNvZnQuY29tPgoKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L2dzdGVkZ2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9mYWNlYmx1ci9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2ZhY2VibHVyL2dzdGZhY2VibHVyLmg6CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9nc3RweXJhbWlkc2VnbWVudC5oOgoJKiBleHQvb3BlbmN2L3RlbXBsYXRlbWF0Y2gvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L3RlbXBsYXRlbWF0Y2gvZ3N0dGVtcGxhdGVtYXRjaC5oOgoJICBCcmluZyBjb2RlIGluIHRvIGxpbmUgd2l0aCBnZW5lcmFsIEdzdHJlYW1lciBzdGFuZGFyZHMKCjIwMDktMDUtMjUgMTI6NTc6MTEgKzAxMDAgIE1pa2UgU2hlbGRvbiA8bWlrZUBtaWtlYXNvZnQuY29tPgoKCSogZXh0L29wZW5jdi90ZW1wbGF0ZW1hdGNoL2dzdHRlbXBsYXRlbWF0Y2guYzoKCSAgRml4IHNlZ2ZhdWx0IGluIHRlbXBsYXRlIG1hdGNoIGVsZW1lbnQgaWYgbm8gdGVtcGxhdGUgaGFzIGJlZW4gc2V0IEFkZCB0ZW1wbGF0ZSBtYXRjaGluZyBweXRob24gZXhhbXBsZSBBZGQgYXV0b3Rvb2wsIGxpYnRvb2wgYW5kIHBrZ2NvbmZpZyBkZXBlbmRlbmNpZXMgdG8gZGViaWFuIGNvbnRyb2wgZmlsZQoKMjAwOS0wNS0yNSAxMToyNjoyOCArMDEwMCAgTWlrZSBTaGVsZG9uIDxtaWtlQG1pa2Vhc29mdC5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2ZhY2VibHVyL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2ZhY2VibHVyL2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZmFjZWJsdXIvZ3N0ZmFjZWJsdXIuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSAgQWRkIGEgcGx1Z2luIGZvciBhdXRvbWF0aWNhbGx5IGJsdXJyaW5nIGZhY2VzIGluIHZpZGVvcyBhbmQgaW1hZ2VzCgoyMDA5LTA1LTEzIDEyOjE5OjQzICswMzAwICBOb2FtIDxub2FtQGR1YXBvdi4obm9uZSk+CgoJKiBleHQvb3BlbmN2L3RlbXBsYXRlbWF0Y2gvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L3RlbXBsYXRlbWF0Y2gvZ3N0dGVtcGxhdGVtYXRjaC5oOgoJICBBZGRlZCBjb250cm9sIGZvciBjaGFuZ2luZyBtZXRob2QKCjIwMDktMDUtMTMgMTE6NTU6MzEgKzAzMDAgIE5vYW0gPG5vYW1AZHVhcG92Lihub25lKT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIGV4dC9vcGVuY3YvdGVtcGxhdGVtYXRjaC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi90ZW1wbGF0ZW1hdGNoL2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi90ZW1wbGF0ZW1hdGNoL2dzdHRlbXBsYXRlbWF0Y2guaDoKCSAgQWRkZWQgdGVtcGxhdGVtYXRjaCBlbGVtZW50CgoyMDA5LTA1LTA4IDExOjU1OjIwICswNTMwICBrYXBpbCA8a2FwaWxAa2FwaWwtbGFwdG9wLihub25lKT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L2dzdGVkZ2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvZ3N0cHlyYW1pZHNlZ21lbnQuaDoKCSAgUmVnaXN0ZXJpbmcgYWxsIGVsZW1lbnRzIHVuZGVyIG9wZW5jdiBwbHVnaW4KCjIwMDktMDUtMDYgMTU6NDk6NDIgKzAxMDAgIE1pa2UgU2hlbGRvbiA8bWlrZUBtaWtlYXNvZnQuY29tPgoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuYzoKCSAgRml4IHRoZSBwcm9maWxlIHBhcmFtZXRlciBpbiB0aGUgZmFjZWRldGVjdCBlbGVtZW50IHRvIGFjY2VwdCBhIHN0cmluZyBjb3JyZWN0bHkKCjIwMDktMDUtMDYgMTU6MzM6NDggKzAxMDAgIE1pa2UgU2hlbGRvbiA8bWlrZUBtaWtlYXNvZnQuY29tPgoKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9nc3RweXJhbWlkc2VnbWVudC5jOgoJICBSZWxlYXNlIE9wZW5DViBpbWFnZXMgd2hlbiBmaW5hbGl6aW5nIGVsZW1lbnRzCgoyMDA5LTA1LTA2IDE2OjM4OjE1ICswNTMwICBrYXBpbCA8a2FwaWxAa2FwaWwtbGFwdG9wLihub25lKT4KCgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9nc3RlZGdlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvZ3N0cHlyYW1pZHNlZ21lbnQuaDoKCSAgRml4ZWQgY29tcGlsZSBlcnJvcnMKCjIwMDktMDQtMjAgMTg6NDA6MTMgKzAzMDAgIE1pa2UgU2hlbGRvbiA8bWlrZUBtaWtlYXNvZnQuY29tPgoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuYzoKCSAgTWFrZSBmYWNlIGRldGVjdCBzZW5kIGEgYnVzIG1lc3NhZ2Ugd2hlbiBhIGZhY2UgaXMgZGV0ZWN0ZWQgV3JpdGUgYSBzaW1wbGUgcHl0aG9uIGV4YW1wbGUgZm9yIGZhY2UgZGV0ZWN0aW9uCgoyMDA5LTA0LTE4IDIzOjQzOjM3ICswMzAwICBNaWtlIFNoZWxkb24gPG1pa2VAbWlrZWFzb2Z0LmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9nc3RlZGdlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9nc3RweXJhbWlkc2VnbWVudC5jOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L2dzdHB5cmFtaWRzZWdtZW50Lmg6CgkgIEFkZCBmYWNlIGRldGVjdGlvbiBlbGVtZW50IENsZWFuIHVwIHNvbWUgZ2VuZXJhdGVkIGZpbGVzIFVwZGF0ZSBhIGZldyBvbGQgY29tbWVudHMKCjIwMDgtMTItMTggMjM6NDg6NDAgKzAwMDAgIE1pa2UgU2hlbGRvbiA8bWlrZUBtaWtlYXNvZnQuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZToKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5pbjoKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L01ha2VmaWxlOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvTWFrZWZpbGUuaW46CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvTWFrZWZpbGU6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvTWFrZWZpbGUuaW46CgkgICogUmVtb3ZlIHNvbWUgYXV0b3Rvb2xzIGdlbmVyYXRlZCBmaWxlcwoKMjAwOC0xMi0xOCAyMzo0MzozNiArMDAwMCAgTWlrZSBTaGVsZG9uIDxtaWtlQG1pa2Vhc29mdC5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlOgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmluOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvTWFrZWZpbGU6CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L01ha2VmaWxlLmluOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvZ3N0ZWRnZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L01ha2VmaWxlOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L01ha2VmaWxlLmluOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvZ3N0cHlyYW1pZHNlZ21lbnQuaDoKCSAgKiBNYWtlIGl0IHBvc3NpYmxlIHRvIHNldCB0aHJlc2hvbGQyIGF0IHJ1bnRpbWUgKiBJbXBsZW1lbnQgcHlyYW1pZCBzZWdtZW50YXRpb24gZWxlbWVudCAqIE1ha2UgbWFza2luZyBvcHRpb25hbCBvbiBlZGdlZGV0ZWN0ICogQ2xlYW4gdXAgZWRnZWRldGVjdCwgYWRkIGVsZW1lbnQgZGV0YWlscyAqIEltcGxlbWVudGVkIGVkZ2UgZGV0ZWN0IGVsZW1lbnQKCjIwMTAtMDktMDggMTY6NTc6NTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzbXV4OiBNYXAgR1NUX1RBR19BTEJVTV9BUlRJU1QKCSAgTWFwIEdTVF9UQUdfQUxCVU1fQVJUSVNUIHRvIFRQRTIgYXMgaXQgaXMgZG9uZSBpbgoJICAtYmFzZSBpZDN0YWcgbWFwcGluZ3MuCgoyMDEwLTA4LTA5IDAwOjE1OjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgVXNlIEFHX0dTVF9DSEVDS19HU1RfUExVR0lOU197R09PRCxVR0xZLEJBRCxGRk1QRUd9IG1hY3JvcyBmcm9tIGNvbW1vbgoJICB0byBmaW5kIHBsdWdpbiBkaXJlY3RvcmllcyBmb3IgdGhlIHZhcmlvdXMgbW9kdWxlcyBvdXIgdW5pdCB0ZXN0cyBkZXBlbmQKCSAgb24gaW4gYW4gdW5pbnN0YWxsZWQgZW52aXJvbm1lbnQuIFRoaXMgbWFrZXMgc3VyZSB0aGVzZSBwbHVnaW5zIGFyZSBmb3VuZAoJICBldmVuIHdoZW4gZGlzdGNoZWNraW5nICh3aGljaCBoYXBwZW5zIGZyb20gYSBzdWJkaXJlY3RvcnksIHdoaWNoIG1lYW5zCgkgIHRoYXQgdGhlIGN1cnJlbnRseSB1c2VkIHRyaWNrIHRvIGZpbmQgdGhlIHVuaW5zdGFsbGVkIGRpcmVjdG9yaWVzIG9mCgkgIHRoZXNlIG1vZHVsZXMgZG9lc24ndCB3b3JrIGluIHRoYXQgY2FzZSkuCgoyMDEwLTA5LTA3IDE5OjE2OjI0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgIGRvY3M6IHVwZGF0ZSBwbHVnaW4gZG9jcyBzZ21sIGZpbGUgYSBiaXQKCjIwMTAtMDktMDcgMTU6MjI6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zLy5naXRpZ25vcmU6CgkgIGRvY3M6IGFkZCAyIG5ldyBmaWxlcyB0byBnaXRpZ25vcmUKCSAgQWRkcyBnc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzLm5ldyBhbmQKCSAgZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFscy5uZXcgdG8gLmdpdGlnbm9yZQoKMjAxMC0wOS0wNyAxNDo0NToxMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgamlmbXV4OiBNYWtlIGl0IG1vcmUgY29sb3JzcGFjZSBzbWFydAoJICBUaGlzIG1ha2VzIGl0IGFibGUgdG8gcmVjb21iaW5lIHJnYiBpbWFnZXMsIG1ha2luZyBpdCBwb3NzaWJsZQoJICB0byBhZGQgdGFncyB0byByZ2IganBlZ3MgYXMgd2VsbC4KCSAgVXNlcyBhIHNpbXBsZSBzdHJhdGVneSB0byBjaGVjayB3aGF0IGFyZSB0aGUgcG9zc2libGUgY29sb3JzcGFjZXMKCSAgYW5kIGF2b2lkIGFkZGluZyBqZmlmIHRvIG9uZXMgdGhhdCBhcmVuJ3QgWVVWL0dyYXkuCgoyMDEwLTA5LTA3IDEwOjI2OjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICB0ZXN0czogamlmbXV4OiBBZGRzIHRlc3RzIGZvciBuZXcgcHBpIHRhZ3MKCSAgQWRkcyB0ZXN0cyB0byBjaGVjayBpZiBsaWJleGlmIGNhbiByZWFkIG91cgoJICBFWElGX1RBR19YL1lfUkVTT0xVVElPTiB0YWdzLgoKMjAxMC0wOS0wNyAxMzoyODoyMCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBGaXggZWxlbWVudCBkZXRhaWxzCgoyMDEwLTA5LTA3IDExOjQyOjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYzJlMTBiZiB0byBhYTBkMWQwCgoyMDEwLTA5LTA3IDExOjM0OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICBkb2NzOiB1cGRhdGUgcGx1Z2luIGludHJvc3BlY3Rpb24gZGF0YSBmb3IgcmVjZW50IGNoYW5nZXMKCjIwMTAtMDktMDcgMTE6Mjg6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkgIGRvY3M6IHJlbW92ZSBpbnRyb3NwZWN0aW9uIGZpbGVzIGZvciBwbHVnaW5zIHRoYXQgaGF2ZSBiZWVuIG1lcmdlZCwgbW92ZWQgb3IgcmVuYW1lZAoJICBUaGUgYWFjcGFyc2UsIGFtcnBhcnNlLCBmbGFjcGFyc2UgcGx1Z2lucyBoYXZlIGJlZW4gbWVyZ2VkIGludG8gdGhlIGF1ZGlvcGFyc2Vyc2JhZAoJICBwbHVnaW4uIFRoZSBhaWZmcGFyc2UgcGx1Z2luIGhhcyBiZWVuIHJlbmFtZWQgdG8gYWlmZiBzaW5jZSBpdCBhbHNvIGNvbnRhaW5zIGFuCgkgIGFpZmYgbXV4ZXIgbm93LiBUaGUgYW1yd2IgcGx1Z2luIGhhcyBiZWVuIHJlbmFtZWQgdG8gYW1yd2JlbmMuIFRoZSBkdmJzcmMgcGx1Z2luCgkgIGhhcyBiZWVuIHJlbmFtZWQgdG8gZHZiLiBUaGUgZ3N0cnRwbWFuYWdlciBwbHVnaW4gaGFzIG1vdmVkIHRvIC1nb29kLiBUaGUgeDI2NAoJICBwbHVnaW4gaGFzIG1vdmVkIHRvIC11Z2x5LiBBbmQgdGhlIG1wZWd0c3BhcnNlIHBsdWdpbiBoYXMgYmVlbiBtZXJnZWQgaW50byB0aGUKCSAgbXBlZ2RlbXV4MiBwbHVnaW4uCgoyMDEwLTA5LTA3IDAwOjE2OjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIC5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZml4IGRpc3RjaGVjayBieSBkaXN0aW5nIG5ldyBqYWNrIGV4YW1wbGUgZGlyZWN0b3J5CgkgIEFsc28gYWRkIHRlc3QgYmluYXJ5IHRvIGlnbm9yZXMuCgoyMDEwLTA5LTA2IDE3OjE3OjU0IC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDxsZS5idXNpbmVzc21hbkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9qYWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9qYWNrL2phY2tfY2xpZW50LmM6CgkgIGV4YW1wbGVzOiBhZGQgdGVzdCB0byBkZW1vbnN0cmF0ZSBqYWNrX2NsaWVudF90IHVzYWdlCgoyMDEwLTA5LTA2IDE2OjExOjMxIC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDxsZS5idXNpbmVzc21hbkBnbWFpbC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5oOgoJICBqYWNrOiBhZGRlZCBjbGllbnQgcHJvcGVydHkKCjIwMTAtMDYtMTcgMTY6MjY6MDcgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBqYWNrOiByZW1vdmVkIHVudXNlZCBmaWxlIGdzdGphY2tiaW4uYwoJICBUaGlzIGlzIGEgMC44IGxlZnRvdmVyLgoKMjAxMC0wOS0wNiAxNDoxMjowMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IG5vbi1USU1FIHNlZWsgZXZlbnQgaXMgc2ltcGx5IG5vdCBoYW5kbGVkCgoyMDEwLTA5LTA2IDA5OjI4OjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBCdW1wIC1jb3JlLy1iYXNlIHJlcXVpcmVtZW50cyB0byAwLjEwLjMwLjEKCSAgV2UgbmVlZCAwLjEwLjMwLjEgdG8gaGF2ZSBsYXRlc3QgdGFncyBpbiBjb3JlL2Jhc2UgZm9yIGppZm11eAoJICB0ZXN0cy4KCjIwMTAtMDgtMjYgMDI6NTQ6NTUgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIGR0bWZzcmM6IE1ha2UgdGhlIGR0bWZzcmMgYWNjZXB0IGV2ZW50cyBzZW50IHdpdGggZ3N0X2VsZW1lbnRfc2VuZF9ldmVudAoJICBUaGUgZG9jIHNheXMgdG8gdXNlIGdzdF9lbGVtZW50X3NlbmRfZXZlbnQgb24gdGhlIHBpcGVsaW5lLCBidXQgaWYKCSAgd2UgYXJlIHRvIGNhbGwgaXQgb24gdGhlIGVsZW1lbnQgaXRzZWxmLCBpdCdzIGEgbm9vcC4gVGhpcyBzaG91bGQgbWFrZSBpdAoJICBoYW5kbGUgdGhlIGV2ZW50IHByb3Blcmx5IGJlZm9yZSBkZWxlZ2F0aW5nIGl0IHRvIGJhc2VzcmMuCgoyMDEwLTA5LTA1IDE2OjMwOjA1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBzZXQgbmV3IGZyYW1lcmF0ZSBvbiBvdXRwdXQgY2FwcyBpbnN0ZWFkIG9mIGlucHV0IGNhcHMKCSAgSXQncyBub3QgYWxsb3dlZCB0byBjaGFuZ2UgdGhlIGNhcHMgcHJvdmlkZWQgYnkgdGhlIHNldGNhcHMgZnVuY3Rpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjgzMjYKCjIwMTAtMDktMDYgMDM6MjM6MjYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogVGFrZSBwYXJhbWV0ZXJzIG9uIGNvbW1hbmQgbGluZQoJICBOb3cgaXQncyBhY3R1YWxseSB1c2VmdWwuCgoyMDEwLTA5LTA2IDAzOjA0OjEzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogQWRkIGRvY3VtZW50YXRpb24KCjIwMTAtMDktMDYgMTA6Mjk6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheTogVXNlIEdfR1VJTlQ2NF9GT1JNQVQgaW5zdGVhZCBvZiAlbGx1CgkgIEZpeGVzIGNvbXBpbGVyIHdhcm5pbmdzIG9uIDY0IGJpdCBhcmNoaXRlY3R1cmVzLgoKMjAxMC0wOS0wNiAxMTowMzowNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3Rvcjogc3luYyB3aXRoIGNvcHkgaW4gLWJhc2UKCSAgVXNlIF9nZXRfY2Fwc19yZWZmZWQgdG8gYXZvaWQgY29waWVzLgoKMjAxMC0wOC0yNCAxMTo1MDo0NyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIG91dHB1dHNlbGVjdG9yOiBtb3ZlIHRoZSBkZWJ1ZyBpbml0IHRvIHRoZSBib2lsZXJwbGF0ZSBtYWNybwoKMjAxMC0wOC0yNCAxMTo1MDowOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogdXNlIEdTVF9CT0lMRVJQTEFURSBtYWNybwoKMjAxMC0wOC0yNCAxMToyNjo1MiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuaDoKCSAgZnBzZGlzcGxheXNpbms6IGRvbid0IGFkZCBhIGdfbWFpbmxvb3AgZGVwZW5kZW5jeQoJICBKdXN0IHVwZGF0ZSB0aGUgZnBzLW1lc3NhZ2UgZnJvbSB0aGUgcHJvYmUgaGFuZGxlci4KCjIwMTAtMDgtMTggMTE6MzU6NDQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiBzbWFsbCBjbGVhbnVwCgkgIEFkZCBvbmUgb25lIGV4YW1wbGUgYW5kIGxvd2VyIHRoZSBmb24ndCBzaXplIGZvciB0aGUgb3ZlcmxheS4KCjIwMTAtMDgtMjMgMDk6NTE6MjUgLTA1MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmg6CgkgIGZwc2Rpc3BsYXlzaW5rOiBtZWFzdXJlIGZwcyBpbiB0ZXJtcyBvZiB3YWxsIGNsb2NrIHRpbWUKCSAgTWVhc3VyZSBmcHMgaW4gdGVybXMgb2Ygc3lzdGVtIGNsb2NrLCByYXRoZXIgdGhhbiBwaXBlbGluZSBjbG9jaywgdG8gZ2V0CgkgIGFuIGFjY3VyYXRlIG1lYXVyZSBvZiBmcHMuCgoyMDEwLTA5LTA1IDIyOjQxOjI0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzYmFkLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNoZWNrc3Vtc2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaGVja3N1bXNpbmsuaDoKCSAgY2hlY2tzdW1zaW5rOiBBZGQgbmV3IGVsZW1lbnQKCjIwMTAtMDktMDUgMjI6MzA6NTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJICBzc2ltOiBBZGQgSTQyMCBzdXBwb3J0CgoyMDEwLTA5LTA1IDIxOjM0OjMwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogQWRkIG1vcmUgZm9ybWF0cwoKMjAxMC0wOS0wNSAxODo1ODozNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGQzZDlhY2YgdG8gYzJlMTBiZgoKMjAxMC0wOS0wNSAyMzo0MDowOCArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3MubmV3OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFscy5uZXc6CgkgIFJlbW92ZSAubmV3IGRvY3MgZmlsZXMgZnJvbSB0aGUgcmVwb3NpdG9yeQoKMjAxMC0wOS0wNSAxNTozNDoxMyAtMDcwMCAgSm9uYXRoYW4gUm9zc2VyIDxqb25hdGhhbi5yb3NzZXJAcmQuYmJjLmNvLnVrPgoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSAgY29nOiBGaXggY29nX3ZpcnRfZnJhbWVfbmV3X2NvbnZlcnRfdTgoKQoJICBDb252ZXJzaW9uIHdhcyB1c2luZyB1bmluaXRpYWxpemVkIGRhdGEgaW5zdGVhZCBvZiBzb3VyY2UgZnJhbWUuCgkgIEZpeGVzICM2MjY0MjUuCgoyMDEwLTA5LTA1IDEyOjA2OjMxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJICBjb2c6IEZpeCBnZW5lcmF0ZWQgT3JjIGNvZGUKCSAgQWxzbyBkcm9wIHJlcXVpcmVkIE9yYyBiYWNrIGRvd24gdG8gMC40LjcuCgoyMDEwLTA4LTMwIDIxOjIyOjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBVc2UgamlmbXV4IGluc3RlYWQgb2YgbWV0YWRhdGFtdXgKCSAgVXNlIGppZm11eCBlbGVtZW50IHRvIHdyaXRlIGV4aWYveG1wIHRhZ3MgaW5zdGVhZCBvZiBtZXRhZGF0YW11eAoKMjAxMC0wOC0zMCAyMToyMTo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFVzZSBuZXcgdGFncyBmcm9tIC1iYXNlCgkgIFJlcGxhY2UgcHJpdmF0ZSB0YWdzIGZyb20gbWV0YWRhdGEgcGx1Z2luIHdpdGggdGhlIG5ldyBnZW5lcmljIHRhZ3MKCSAgZnJvbSAtYmFzZS4KCjIwMTAtMDktMDMgMTQ6MTI6MjMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogUmVmYWN0b3IgdGVzdHMKCSAgVGhlIHRlc3RzIHdlcmUgZG9uZSBpbiAyIHN0ZXBzLCBmaXJzdCB0aGVyZSB3YXMgYSBzdWl0ZQoJICB0aGF0IGdlbmVyYXRlZCB0aGUgZmlsZXMgKHdoaWxlIGNoZWNraW5nIHRoYXQgY2FtZXJhYmluCgkgIHdhcyBvcGVyYXRpbmcgY29ycmVjdGx5KS4gVGhlbiB0aGVyZSB3YXMgYSBzZWNvbmQgc3VpdGUKCSAgdGhhdCB3YXMgcnVuIHRvIGNoZWNrIHRoYXQgYWxsIGZpbGVzIHdlcmUgcGxheWFibGUgd2l0aAoJICBwbGF5YmluMi4gVGhvc2Ugc2Vjb25kIHRlc3RzIHdlcmUgbm90IGJlaW5nIHJ1biBiZWNhdXNlCgkgIHRoZXkgd2VyZSBjaGVja2luZyBpZiBjYW1lcmFiaW4gd2FzIGluaXRpYWxpemVkLCBhbmQgaXQKCSAgbmV2ZXIgd2FzIGFzIHRob3NlIHRlc3RzIGRpZG4ndCB1c2UgYSAnc2V0dXAnIGZ1bmN0aW9uLgoJICBUaGlzIGNvbW1pdCByZWZhY3RvcnMgdGhlIHRlc3RzIGJ5IHJlbW92aW5nIHRoaXMgc2Vjb25kCgkgIHN1aXRlIGFuZCBtZXJnaW5nIGl0cyB2YWxpZGF0aW9uIHdpdGggdGhlIGZpcnN0IHN1aXRlJ3MKCSAgZnVuY3Rpb25zLgoKMjAxMC0wOC0yNCAxNDo0Mzo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgdGVzdHM6IGppZm11eDogQWRkcyBnZW8gbG9jYXRpb24gdGFncyB0ZXN0cwoJICBBZGRzIHNvbWUgbW9yZSB0ZXN0cyBmb3IgZ2VvIGxvY2F0aW9uIHRhZ3MuCgkgIEFsc28gdXNlIGxpYmV4aWYgY29uc3RhbnRzIGZvciB0aGUgZXhpZiB0YWdzJyBpZHMuCgoyMDEwLTA4LTI0IDA5OjAyOjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICB0ZXN0czogamlmbXV4OiBSZWZhY3RvciB0ZXN0aW5nIGNvZGUgYSBsaXR0bGUKCSAgUmVmYWN0b3IgdGVzdGluZyBjb2RlIHRvIGFsbG93IHRlc3RpbmcgZm9yIGNhc2VzIHdoZXJlIHRoZQoJICBzYW1lIGdzdHJlYW1lciB0YWcgaXMgbWFwcGVkIHRvIG11bHRpcGxlIGV4aWYgdGFncy4KCjIwMTAtMDgtMjMgMTE6NTc6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICBqaWZtdXg6IE1vcmUgdGVzdHMgZm9yIGV4aWYgdGFncwoJICBSZWZhY3RvcnMgc29tZSBjb2RlIGFuZCBhZGQgc29tZSBtb3JlIHRlc3RzIGZvciBleGlmIHRhZ3MKCjIwMTAtMDktMDIgMTE6MTg6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIGppZm11eDogRG8gbm90IGxpbWl0IHRoZSBzaXplIG9mIHRoZSBpbWFnZSBvbiAxNmJpdHMKCSAgVXNlIGd1aW50IGluc3RlYWQgb2YgZ3VpbnQxNiB0byByZXByZXNlbnQgdGhlIHNpemUgb2YgdGhlIGVuY29kZWQgaW1hZ2UsCgkgIHRoaXMgd291bGQgbWFrZSBzb21lIHJlY29tYmluZWQgaW1hZ2VzIGxvc2UgbW9zdCBvZiB0aGVpciBkYXRhIGFuZAoJICBzaG93IGxpa2UgYSBiaWcgYmxhY2sgaW1hZ2Ugd2l0aCBhIHNtYWxsIGxpbmUgb2YgY29udGVudCBvbiB0b3AuCgkgIEFsc28gYWRkcyBhIG1pbm9yIGxvZyBtZXNzYWdlLgoKMjAxMC0wOC0yMSAxNzowMToyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4Lmg6CgkgIGppZm11eDogU2V0IG91dHB1dCBwYWQgY2FwcwoJICBTZXQgb3V0cHV0IHBhZCBjYXBzIHRvIGd1YXJhbnRlZSBjYXBzIG9uIHRoZSBidWZmZXJzIGJlaW5nCgkgIHB1c2hlZCBkb3duc3RyZWFtLgoKMjAxMC0wOC0yMCAwODozNDozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgamlmbXV4OiBEZXRlY3QgRU9JIGNvcnJlY3RseQoJICBFT0kgYXJlIG5vdCBhbHdheXMgYXQgdGhlIGxhc3QgNCBieXRlcy4gV2UgbmVlZCB0byBzZWFyY2gKCSAgdGhlIGxhc3QgNSBieXRlcyB0byBmaW5kIHRoZSAweEZGRDkgc2VxdWVuY2UgYXMganBlZ2VuYyBzZWVtcwoJICB0byByb3VuZCB0aGUgYnVmZmVyIHNpemUgdG8gdGhlIG5leHQgNCBtdWx0aXBsZS4KCjIwMTAtMDgtMTkgMjI6NDM6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIGppZm11eDogUHV0IEFQUDAgZmlyc3QgYWx3YXlzCgkgIEZpeGVzIHRoZSBvcmRlciBvZiB0aGUgQVBQMC9BUFAxIG1hcmtlcnMuIEFQUDAgc2hvdWxkCgkgIGJlIGZpcnN0LgoKMjAxMC0wOS0wMiAwMTozMjoxMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSAgdmRwYXVoMjY0ZGVjOiBwYXJzZSAicGl4ZWwtYXNwZWN0LXJhdGlvIiBmcm9tIHN0cmVhbQoKMjAxMC0wOS0wMiAwMTowNDoxNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICB2ZHBhdTogcmVtb3ZlIG5vbiB3b3JraW5nIHVudXNlZCBjb2RlIGZyb20gR3N0QmFzZVZpZGVvRGVjb2RlcgoKMjAxMC0wOS0wMiAwMDoxNzo0OSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgdmRwYXU6IEdzdEJhc2VWaWRlb0RlY29kZXIgc2V0IGRlZmF1bHQgcGFyIHRvIDEvMQoKMjAxMC0wOS0wMSAyMzo0NzoyMSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2ZyYW1lLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdmcmFtZS5oOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0bXBlZzRmcmFtZS5oOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0dmRwbXBlZzRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdHZkcG1wZWc0ZGVjLmg6CgkqIHN5cy92ZHBhdS9tcGVnNC9tcGVnNHV0aWwuYzoKCSAgdmRwYXU6IHJlbW92ZSBnc3RfYmFzZV92aWRlb19kZWNvZGVyX2dldF9jdXJyZW50X2ZyYW1lCgkgIHdlIG5vdyBwYXNzIHRoZSBjdXJyZW50IGZyYW1lIHRvIEdzdEJhc2VWaWRlb0RlY29kZXI6OnBhcnNlX2RhdGEKCSAgYWxzbyBmaXh1cCBzb21lIGVycm9ycyBpbiB2ZHBhdW1wZWc0ZGVjIHNvIHRoYXQgaXQgbm93IGdpdmVzIGNvcnJlY3Qgb3V0cHV0CgoyMDEwLTA5LTAxIDIyOjAzOjA1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdHZpZGVvZnJhbWUuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0dmlkZW9mcmFtZS5oOgoJICB2ZHBhdTogcmV3b3JrIEdzdEJhc2VWaWRlb0RlY29kZXIgdGltZXN0YW1waW5nCgkgIHRpbWVzdGFtcHMgYXJlIG5vdyBjaG9zZW4gaW4gdGhlIGZvbGxvd2luZyBvcmRlcjoKCSAgdXBzdHJlYW0gLT4gcGFyc2VkIGJ5IGRlY29kZXIgLT4gY2FsY3VsYXRlZCBmcm9tIHRpbWVzdGFtcCBvZmZzZXQKCSAgd2UgYWxzbyBjaGVjayB0aGUgdGltZXN0YW1wcyBzdXBwbGllZCBmcm9tIHVwc3RyZWFtL2RlY29kZXIgdG8gc2VlIGlmIHRoZXkKCSAgYXRsZWFzdCBpcyBpbmNyZWFzaW5nLgoKMjAxMC0wOS0wMSAxNzo0NToxOSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5jOgoJICB2ZHBhdTogZml4IGludmFsaWQgdW5yZWYKCjIwMTAtMDktMDUgMTI6MTk6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBlYzYwMjE3IHRvIGQzZDlhY2YKCjIwMTAtMDktMDUgMTE6NDU6MzUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogQnVtcCBvcmMgcmVxdWlyZW1lbnQgdG8gMC40LjguMQoJICAwLjQuNyBjcmVhdGVzIGNvZGUgd2l0aCB1bmF2YWlsYWJsZSBzeW1ib2xzCgkgIDAuNC44IGNyZWF0ZXMgYnVnZ3kgY29kZQoJICBMZXQncyB1c2UgZ2l0IGhlYWQgb2Ygb3JjICh3aGljaCBzdGlsbCB3b24ndCB3b3JrIGJlY2F1c2UgZ2l0IGhlYWQKCSAgb2Ygb3JjIHN0aWxsIGNsYWltcyB0byBiZSAwLjQuOCkKCSAgVGhpcyBhbGxvd3MgYWxsIHRoZSByZXN0IG9mIC1iYWQgdG8gYnVpbGQgcHJvcGVybHkuCgoyMDEwLTA3LTE0IDIxOjAwOjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkgIHRpbWlkaXR5OiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGVzIChnY2MgNC40LjQpCgoyMDEwLTA5LTA0IDExOjM1OjE2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5oOgoJICBjb2c6IHVwZGF0ZSBkaXN0ZWQgT3JjIGZpbGVzCgoyMDEwLTA4LTI2IDIyOjAzOjIwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkgIHNkbHZpZGVvc2luazogUmUtZW5hYmxlIFlWWVUgYW5kIFVZVlkKCSAgWVZZVSBvbiBteSBtYWNoaW5lIGFwcGVhcnMgdG8gYmUgZG9pbmcgc29mdHdhcmUgY29udmVyc2lvbgoJICAoYW5kIGRvaW5nIGl0IGluY29ycmVjdGx5KS4KCjIwMTAtMDgtMjYgMjA6MTU6NDMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvYmFzZS5jOgoJKiB0b29scy9lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBjb25zdHJ1Y3QgZWxlbWVudCBuYW1lcwoKMjAxMC0wOC0yMiAyMTo0MzoyMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogbmV3IGVsZW1lbnQKCjIwMTAtMDgtMjAgMTc6MjQ6MjMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLm9yYzoKCSAgY29nOiBBZGQgZmFzdCBwYXRocyBmb3IgY29sb3JzcGFjZSBjb252ZXJzaW9uCgoyMDEwLTA4LTIwIDE3OjIzOjE3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZXF1aXJlIE9yYyAwLjQuNwoKMjAxMC0wOC0xMyAyMTo1ODowMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LW1ha2VyOgoJKiB0b29scy9nc3RlbGVtZW50LmM6CgkgIGVsZW1lbnQtbWFrZXI6IEZpeCB1cCBHc3RFbGVtZW50CgoyMDEwLTA4LTEzIDIxOjU0OjU0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJKiBleHQvY29nL2dzdGNvZ29yYy5vcmM6CgkgIGNvZzogSW1wcm92ZW1lbnRzIGluIGNvbG9yc3BhY2UgYW5kIHNjYWxlcgoJICBBZGQgZmFzdCBwYXRocyBmb3IgWVVWLT5ZVVYgY29udmVyc2lvbnMgYW5kIE9yYyBjb2RlIGZvciBhbGwuCgkgIFVzZSBPcmMgZm9yIGhvcml6b250YWwgcmVzYW1wbGluZy4KCjIwMTAtMDYtMTEgMTQ6Mzk6MzAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9nc3Rjb2cuYzoKCSogZXh0L2NvZy9nc3Rjb2dkb3duc2FtcGxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nZmlsdGVyLmM6CgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nc2NhbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2xvcmNvbnZlcnQuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIGNvZzogbWlub3IgY2xlYW51cHMKCSAgSW1wcm92ZSBlbGVtZW50IGRlc2NyaXB0aW9ucywgcmVtb3ZlIHVudXNlZCBmaWxlcywgY29kZSBjbGVhbnVwLgoKMjAxMC0wOS0wMyAxMDowMzowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJncy5uZXc6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzLm5ldzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXhzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc2V0dGluZ3MueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCSAgVGVtcG9yYXJpbHkgZGlzYWJsZSAtREdTVF9ESVNBQkxFX0RFUFJFQ0FURUQgZm9yIGdpdCBidWlsZHMgdW50aWwKCSAgdGhlIGNvZGUgaXMgdXBkYXRlZCBmb3IgdGhlIEdTVF9GTE9XX0lTXyogbWFjcm8gZGVwcmVjYXRpb25zLgoKMjAxMC0wOS0wMSAyMjowNTo0MyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmg6CgkgIG1wZWd0c211eDogSW5pdGlhbGl6ZSBQRVMgcGFja2V0IGJlZm9yZSBnZXR0aW5nIHRoZSBoZWFkZXIgc2l6ZS4KCSAgVGhlIFBFUyBoZWFkZXIgbGVuZ3RoIGlzIGNhbGN1bGF0ZWQgYmVmb3JlIHNldHRpbmcgdGhlIGR5bmFtaWMgZmxhZ3MsIHJldHVybmluZwoJICBhIHdyb25nIHZhbHVlLiBTbWFsbCBmcmFtZXMgdGhhdCBzaG91bGQgYmUgc2VudCBpbiBhIHNpbmdsZSBUUyBwYWNrZXQgYXJlCgkgIHNwYXduZWQgdG8gYSBuZXcgcGFja2V0IGJlY2F1c2Ugb2YgdGhhdCBlcnJvci4gRm9yIGF1ZGlvIHN0cmVhbXMgd2hlcmUgYSBzaW5nbGUKCSAgZnJhbWUgY2FuIGNvcGUgaW4gb25lIFRTIHBhY2tldCBpdCBpbnRyb2R1Y2VzIGEgaHVnZSBvdmVyaGVhZC4KCSAgRm9yIGEgMTAwQiBwYWNrZXQsIHdlIHByZXBhcmUgYSBUUyBwYWNrZXQgd2l0aCBhIHBheWxvYWQgb2YoMTAwKzkpQi4gVGhlbiwgd2UKCSAgd3JpdGUgdGhlIFRTIGhlYWRlciB1c2luZyB0aGlzIHZhbHVlIGluIHRzbXV4X3dyaXRlX3RzX2hlYWRlciwgYW5kIGNhbGwKCSAgdHNtdXhfc3RyZWFtX2dldF9kYXRhKCkuIFRoZSBkeW5hbWljIGZsYWdzIHdoZXJlIG5vdCBzZXQgeWV0IGFuZCBub3cKCSAgdHNtdXhfc3RyZWFtX3Blc19oZWFkZXJfbGVuZ3RoKCkgcmV0dXJucyAxNEIgaW5zdGVhZCBvZiA5Qi4gVGhlIHBheWxvYWQgb2YgdGhlCgkgIFRTIHBhY2tldCBpcyAxMTRCLCA1QiBtb3JlIHRoYW4gd2hhdCB3YXMgY2FsY3VsYXRlZC4gMTA5QiBhcmUgc2VudCBpbiBhIGZpcnN0CgkgIHBhY2tldCBhbmQgdGhlIHJlbWFpbmluZyA1QiBhcmUgc2VudCBpbiBhbm90aGVyIG9uZS4KCSAgRml4ZXMgYnVnICM2Mjg1NDguCgoyMDEwLTA5LTAyIDEwOjIzOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJICBjb2djb2xvcnNwYWNlOiBDbGFzc2lmeSBhcyBGaWx0ZXIvQ29udmVydGVyL1ZpZGVvIGluc3RlYWQgb2YgZWZmZWN0CgkgIEZpeGVzIGJ1ZyAjNjI4NTcwLgoKMjAxMC0wOS0wMSAxODozMDoxNyArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJICB2aWRlb2FuYWx5c2U6IFVzZSBjb3JyZWN0IGVsZW1lbnQgY2xhc3NpZmljYXRpb24KCSAgVGhpcyBpcyBubyBlZmZlY3QgYnV0IGFuIGFuYWx5emVyLiBGaXhlcyBidWcgIzYyODUyNy4KCj09PSByZWxlYXNlIDAuMTAuMjAgPT09CgoyMDEwLTA5LTAzIDAwOjIzOjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuaDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjIwCgoyMDEwLTA5LTAzIDAwOjIxOjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NldHRpbmdzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSAgZG9jczogdXBkYXRlIGZvciByZWxlYXNlCgoyMDEwLTA5LTAzIDAwOjE5OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL0xJTkdVQVM6CgkqIHBvL2VsLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3NsLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMC0wOS0wMyAwMDowMToyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSAgZG9hcDogcmVmZXJlbmNlIGdpdCByZXBvc2l0b3J5IGluc3RlYWQgb2YgQ1ZTIHJlcG9zaXRvcnkKCjIwMTAtMDktMDIgMjI6Mzk6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBmaXggd3JvbmcgdXNlIG9mIEdTVF9FTEVNRU5UX0VSUk9SCgoyMDEwLTA4LTMwIDE2OjAxOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xOS41IHByZS1yZWxlYXNlCgoyMDEwLTA4LTMwIDE1OjIwOjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSAgY2FtZXJhYmluOiBEb24ndCBpbnN0YWxsIGdzdC1jYW1lcmEudWkKCSAgVGhlIGV4YW1wbGVzIGFyZSBub3QgbWVhbnQgdG8gYmUgaW5zdGFsbGVkIGFuZCB0aGUgZXhlY3V0YWJsZXMgb2YKCSAgdGhlbSBhcmUgbm90IGluc3RhbGxlZCBhbnl3YXkuCgkgIEZpeGVzIGJ1ZyAjNjI3OTE4LgoKMjAxMC0wOC0yNSAyMjo1NjowMyAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogVW5sb2NrIHRoZSByaWdodCBtdXRleAoJICBUaGUgbXV0ZXggbG9ja2VkIGlzIGZvciB0aGUgJ211eCcgb2JqZWN0LCBidXQgd2UgdW5sb2NrIHRoZQoJICBwYWQsIHdoaWNoIG1lYW5zIHRoYXQgaWYgdGhlIHJ0cG11eCBnZXRzIGEgZmx1c2gsIHRoZW4gdGhlCgkgIG9iamVjdCBsb2NrIHdpbGwgc3RheSBsb2NrZWQgZm9yZXZlciwgY2F1c2luZyBpdCB0byBmcmVlemUKCSAgdGhlIG5leHQgdGltZSBpdCB0cmllcyB0byB0YWtlIGl0LgoJICBGaXhlcyBidWcgIzYyNzk5MQoKMjAxMC0wOC0yNyAxNTo0OTozOSArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEJ1bXAgbmVvbiByZXF1aXJlbWVudCB0byAwLjI3LjAKCSAgTmVlZGVkIGluIG9yZGVyIHRvIGhhdmUgbmVfc2V0X2Nvbm5lY3RfdGltZW91dAoJICBGaXhlcyBidWcgIzYyNTA3NgoKMjAxMC0wOC0yMSAyMTo0MjowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5oOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE5LjQgcHJlLXJlbGVhc2UKCjIwMTAtMDgtMTYgMTI6MzY6MjQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhdXRvZGV0ZWN0IG91dC1vZi1vcmRlciBpbnB1dCB0aW1lc3RhbXBzIGFuZCBkZXRlcm1pbmUgRFRTIGFjY29yZGluZ2x5CgkgIEZhdm91ciB1c2luZyBpbnB1dCBidWZmZXIgdGltZXN0YW1wcyBmb3IgRFRTLCBidXQgZmFsbGJhY2sgdG8gdXNpbmcgYnVmZmVyCgkgIGR1cmF0aW9uIChhY2N1bXVsYXRpb24pIGlmIGlucHV0IHRzIGRldGVjdGVkIG91dC1vZi1vcmRlci4KCSAgRml4ZXMgIzYyNDIxMi4KCjIwMTAtMDgtMjAgMTE6MDk6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIGppZm11eDogQXZvaWQgcmVjb21iaW5pbmcgUkdCIGpwZWdzCgkgIEpGSUYgb25seSBhbGxvd3MgWVVWIGFzIGNvbG9yc3BhY2UsIHdoZW4gd2UgcmVjZWl2ZSBhbiBSR0IganBlZywKCSAgd2Ugc2hvdWxkIGp1c3QgcHVzaCBpdCBmb3J3YXJkIHdpdGhvdXQgYWRkaW5nIHRoZSBKRklGIG1hcmtlci4KCSAgRml4ZXMgIzYyNzQxMwoKMjAxMC0wOC0xMyAxNDozNDoyMSArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogU2V0IEdzdEJhc2VWaWRlb0RlY29kZXI6OnBhY2tldGl6ZWQgdG8gVFJVRSBhcyBzb29uIGFzIHBvc3NpYmxlCgkgIFRoaXMgZml4ZXMgYW4gaW5maW5pdGUgbG9vcCBpZiBhbiBFT1MgZXZlbnQgaXMgcmVjZWl2ZWQgYmVmb3JlCgkgIEdzdEJhc2VWaWRlb0RlY29kZXI6OnN0YXJ0KCkgaXMgY2FsbGVkLCBlLmcuIGltbWVkaWF0ZWx5IHdoZW4gdGhlCgkgIHBhZHMgYXJlIGFjdGl2YXRlZC4KCSAgRml4ZXMgYnVnICM2MjY4MTUuCgoyMDEwLTA4LTEzIDE3OjI0OjI1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDNlOGRiMWQgdG8gZWM2MDIxNwoKMjAxMC0wOC0xMSAyMjowMzowNyArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJICBnYXVkaWVmZmVjdHM6IE1hcmsgaW5saW5lIGZ1bmN0aW9ucyBhcyBzdGF0aWMgaW5saW5lCgkgIE90aGVyd2lzZSBpdCBmYWlscyB0byBjb3JyZWN0bHkgbGluayB0aGVtIGluIHNvbWUgY2FzZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjY2NzAKCjIwMTAtMDgtMTEgMTc6MTk6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogLmdpdGlnbm9yZToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzZXR0aW5ncy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xOS4zIHByZS1yZWxlYXNlCgoyMDEwLTA4LTExIDE3OjE5OjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nc2V0dGluZ3MvTWFrZWZpbGUuYW06CgkgIGdzZXR0aW5nczogZml4IG1ha2UgZGlzdGNoZWNrCgkgIENsZWFuIHVwIGZpbGUgd2UgZ2VuZXJhdGVkIGF0IGJ1aWxkIHRpbWUuCgoyMDEwLTA4LTExIDEyOjA5OjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBjaGVja3M6IGJsYWNrbGlzdCBnc2V0dGluZ3MqIGVsZW1lbnRzIGZvciBnZW5lcmljL3N0YXRlcyB0ZXN0CgkgIFdoZW4gdGhlIHRlc3QgaXMgcnVuLCB0aGUgc2NoZW1hIGZpbGUgd29uJ3QgYmUgaW5zdGFsbGVkIHlldCwKCSAgYW5kIHRoZXJlIGRvZXNuJ3Qgc2VlbSB0byBiZSBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byBzZXQKCSAgdG8gZm9yY2UgR1NldHRpbmdzIHRvIGxvb2sgaW4gYSBkaWZmZXJlbnQgZGlyZWN0b3J5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI2NjAzCgoyMDEwLTA4LTExIDAwOjIzOjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXhzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xOS4yIHByZS1yZWxlYXNlCgkgIFRoaXMgY29tbWl0IGlzIG91dCBvZiBzZXF1ZW5jZSwgaXQgcmVhbGx5IGJlbG9uZ3MgYmV0d2VlbiBjb21taXRzCgkgIDE1MDk4MzMxNDEyY2ViOTgyYzI0Yjg5YmI0MzQ2MzU0ZmI1NjQzM2MgKEF1dG9tYXRpYyB1cGRhdGUgb2YKCSAgY29tbW9uIHN1Ym1vZHVsZSkgYW5kIGRkMjZmMzc4YjAxZDY3OTgzNGYxMjkzNWVmYzcwOTNmYjU4MDc5NTYKCSAgKGNvbmZpZ3VyZTogRml4IHRoZSBDRUxUIGNoZWNrcyB0byAuLi4pCgoyMDEwLTA4LTA5IDAwOjQyOjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBidW1wIGNvcmUvYmFzZSByZXF1aXJlbWVudCB0byByZWxlYXNlZCB2ZXJzaW9ucwoJICBUaGlzIGNvbW1pdCBpcyBvdXQgb2Ygc2VxdWVuY2UsIGl0IHJlYWxseSBiZWxvbmdzIGJldHdlZW4gY29tbWl0cwoJICAxNTA5ODMzMTQxMmNlYjk4MmMyNGI4OWJiNDM0NjM1NGZiNTY0MzNjIChBdXRvbWF0aWMgdXBkYXRlIG9mCgkgIGNvbW1vbiBzdWJtb2R1bGUpIGFuZCBkZDI2ZjM3OGIwMWQ2Nzk4MzRmMTI5MzVlZmM3MDkzZmI1ODA3OTU2CgkgIChjb25maWd1cmU6IEZpeCB0aGUgQ0VMVCBjaGVja3MgdG8gLi4uKQoKMjAxMC0wOC0wOSAwMDo0MjoyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IC0tZGlzYWJsZS1leHRlcm5hbAoJICBUaGlzIGNvbW1pdCBpcyBvdXQgb2Ygc2VxdWVuY2UsIGl0IHJlYWxseSBiZWxvbmdzIGJldHdlZW4gY29tbWl0cwoJICAxNTA5ODMzMTQxMmNlYjk4MmMyNGI4OWJiNDM0NjM1NGZiNTY0MzNjIChBdXRvbWF0aWMgdXBkYXRlIG9mCgkgIGNvbW1vbiBzdWJtb2R1bGUpIGFuZCBkZDI2ZjM3OGIwMWQ2Nzk4MzRmMTI5MzVlZmM3MDkzZmI1ODA3OTU2CgkgIChjb25maWd1cmU6IEZpeCB0aGUgQ0VMVCBjaGVja3MgdG8gLi4uKQoKMjAxMC0wOC0wOCAxNzowOToyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgY2hlY2tzOiBza2lwIGppZm11eCB0ZXN0cyBpZiByZXF1aXJlZCBlbGVtZW50cyBhcmVuJ3QgYXZhaWxhYmxlCgkgIFRoaXMgY29tbWl0IGlzIG91dCBvZiBzZXF1ZW5jZSwgaXQgcmVhbGx5IGJlbG9uZ3MgYmV0d2VlbiBjb21taXRzCgkgIDE1MDk4MzMxNDEyY2ViOTgyYzI0Yjg5YmI0MzQ2MzU0ZmI1NjQzM2MgKEF1dG9tYXRpYyB1cGRhdGUgb2YKCSAgY29tbW9uIHN1Ym1vZHVsZSkgYW5kIGRkMjZmMzc4YjAxZDY3OTgzNGYxMjkzNWVmYzcwOTNmYjU4MDc5NTYKCSAgKGNvbmZpZ3VyZTogRml4IHRoZSBDRUxUIGNoZWNrcyB0byAuLi4pCgoyMDEwLTA4LTExIDExOjUyOjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgbGVnYWN5cmVzYW1wbGU6IExpbmsgYWdhaW5zdCAkKExJQk0pIGZvciByaW50KCkgYW5kIGZyaWVuZHMKCjIwMTAtMDgtMTEgMTE6NTE6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogbTQvZ3NldHRpbmdzLm00OgoJICBnc2V0dGluZ3M6IEFkZCBnc2V0dGluZ3MubTQgZm9yIHRoZSBnc2V0dGluZ3MgbWFjcm9zCgoyMDEwLTA4LTExIDExOjUwOjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnZ0ZWxlY2luZS9NYWtlZmlsZS5hbToKCSAgaW52dGVsZWNpbmU6IExpbmsgYWdhaW5zdCAkKExJQk0pIGZvciBzcXJ0KCkgYW5kIGZyaWVuZHMKCjIwMTAtMDgtMTEgMTE6Mzk6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEZpeCB0aGUgQ0VMVCBjaGVjayB0byBhY3R1YWxseSBzdWNjZWVkIGlmIENFTFQgPj0gMC41IGlzIGF2YWlsYWJsZQoJICBBbHNvIHJlbW92ZSB0aGUgQUNfTVNHX1JFU1VMVFMoW25vXSksIHBrZy1jb25maWcgZG9lcyB0aGlzIGZvciB1cyBhbHJlYWR5LgoKMjAxMC0wOC0xMCAxMDo1ODo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGJkMjA1NGIgdG8gM2U4ZGIxZAoKMjAxMC0wOC0wOSAxNzoyMDoxMSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5oOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IGFkZCBhICJ6b29tIiBwYXJhbWV0ZXIgdG8gc3F1YXJlIGZpbHRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1OTA4CgoyMDEwLTA4LTA5IDE2OjU1OjQzICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmg6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogbWFrZSBzcXVhcmUgIndpZHRoIiBhbmQgImhlaWdodCIgY3VzdG9taXphYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU5MDgKCjIwMTAtMDgtMDkgMTA6MDM6MjAgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtaXJyb3IuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtaXJyb3IuaDoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBhZGQgYSAibW9kZSIgcHJvcGVydHkgdG8gbWlycm9yIGZpbHRlcgoJICBBZGQgYSAibW9kZSIgZW51bSBwcm9wZXJ0eSB0byBtaXJyb3IgdGhhdCBkZWZpbmVzIGhvdyB0byBzcGxpdCB0aGUgZnJhbWUKCSAgYW5kIHdpdGggc2lkZSByZWZsZWN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1OTA4CgoyMDEwLTA4LTA5IDA4OjUyOjUxICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0YnVsZ2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RidWxnZS5oOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IGFkZCBhICJ6b29tIiBwYXJhbWV0ZXIgdG8gYnVsZ2UgZmlsdGVyCgkgIFJld29yayBidWxnZSBtYXBwaW5nIGZ1bmN0aW9uIHRvIGdpdmUgbW9yZSBwcmVkaWN0YWJsZSByZXN1bHRzLgoJICBOb3cgdGhlIGJ1bGdlIGlzIGRvbmUgZGl2aWRpbmcgYnkgYSBzY2FsZSBmYWN0b3IgdGhhdCBzbW9vdGhzdGVwcyBmcm9tCgkgICJ6b29tIiBhdCB0aGUgY2VudGVyIHRvIDEuMCBhdCAicmFkaXVzIi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTkwOAoKMjAxMC0wOC0wNSAxNjoxNjozNyArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHN0cmV0Y2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzdHJldGNoLmg6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogYWRkIGFuICJpbnRlbnNpdHkiIHBhcmFtZXRlciB0byBzdHJldGNoIGZpbHRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1OTA4CgoyMDEwLTA4LTA1IDEyOjQzOjE1ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHVubmVsLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogbWFrZSB0dW5uZWwgInJhZGl1cyIgY3VzdG9taXphYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU5MDgKCjIwMTAtMDgtMDUgMTI6Mjk6MTYgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RidWxnZS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IG1ha2UgYnVsZ2UgInJhZGl1cyIgY3VzdG9taXphYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU5MDgKCjIwMTAtMDgtMDUgMTI6MjU6MDQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzdHJldGNoLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogbWFrZSBzdHJldGNoICJyYWRpdXMiIGN1c3RvbWl6YWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1OTA4CgoyMDEwLTA4LTA4IDIzOjU2OjQzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L21wZWc0L21wZWc0dXRpbC5jOgoJICB2ZHBhdW1wZWc0ZGVjOiBmaXggdHlwbyBpbiBkZWZhdWx0X25vbl9pbnRyYV9xdWFudF9tYXRyaXgKCjIwMTAtMDctMTQgMTE6MDM6MzUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdS5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0bXBlZzRmcmFtZS5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0bXBlZzRmcmFtZS5oOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0dmRwbXBlZzRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdHZkcG1wZWc0ZGVjLmg6CgkqIHN5cy92ZHBhdS9tcGVnNC9tcGVnNHV0aWwuYzoKCSogc3lzL3ZkcGF1L21wZWc0L21wZWc0dXRpbC5oOgoJICB2ZHBhdTogYWRkIG1wZWc0IHBhcnQyIGRlY29kZXIKCjIwMTAtMDgtMDggMTI6NDY6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzbXV4LmM6CgkgIGNoZWNrczogc2tpcCBpZDNtdXggdW5pdCB0ZXN0cyB0aGF0IG5lZWQgaWQzZGVtdXggaWYgaWQzZGVtdXggaXMgbm90IGF2YWlsYWJsZQoKMjAxMC0wOC0wOCAxMjoyNjo1NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVpbGQgYW5kIGRpc3QgbmV3IGNvbG9yZWZmZWN0cyBwbHVnaW4KCSAgRml4ZXMgbWFrZSBkaXN0Y2hlY2suCgoyMDEwLTA4LTA4IDEyOjAxOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogT25seSBjaGVjayB0aGUgcGx1Z2luIGZpbGVuYW1lcywgbm90IHRoZSBkaXJlY3RvcnkgbmFtZXMKCjIwMTAtMDgtMDggMTE6NTY6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBEb24ndCB0cnkgdG8gcmVnaXN0ZXIvbG9hZCB0aGUgc2FtZSBmcmVpMHIgcGx1Z2luIGF0IGRpZmZlcmVudCBsb2NhdGlvbnMgdHdpY2UKCSAgVGhpcyBjb3VsZCBoYXBwZW4gYmVjYXVzZSBmb3IgZXhhbXBsZSAvdXNyL2xpYiBpcyBsaW5rZWQKCSAgdG8gL3Vzci9saWI2NCBhbmQgYm90aCBhcmUgbG9hZGVkLiBUaGUgZnJlaTByIHNwZWNpZmljYXRpb24KCSAgc2F5cyB0aGF0IHRoZSBwbHVnaW4gaW5pdCBmdW5jdGlvbiBtdXN0IG9ubHkgYmUgY2FsbGVkIG9uY2UKCSAgYW5kIGZvciBzb21lIHBsdWdpbiB3ZWlyZCB0aGluZ3MgKGluY2x1ZGluZyBjcmFzaGVzKSBhcmUKCSAgaGFwcGVuaW5nLgoJICBGaXhlcyBidWcgIzYyMzcxMC4KCjIwMTAtMDgtMDYgMDE6NTY6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgZHZic3JjOiBhbGlnbiBhY3R1YWwgZGVmYXVsdCB2YWx1ZXMgZm9yIHByb3BlcnRpZXMgd2l0aCBkZWZhdWx0cyBpbiBwYXJhbSBzcGVjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjE0MDQKCjIwMTAtMDgtMDYgMTI6MTQ6MDQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRldmljZS5oOgoJICB2ZHBhdTogZml4IGRlc3RydWN0aW9uIG9mIEdzdFZkcERldmljZSB3aGVuIGl0IGZhaWxlZCB0byBvcGVuCgkgIG9ubHkgY2xvc2UgZGlzcGxheSBpbiBmaW5hbGl6ZSBhbmQgY2hlY2sgaWYgdmRwX2RlY29kZXJfZGVzdHJveSBpcyBhdmFpbGFibGUKCSAgYmVmb3JlIHdlIHVzZSBpdAoKMjAxMC0wOC0wNSAyMzo1NTowMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmg6CgkgIHZkcGF1c2luazogdXNlIHNlcGFyYXRlIG11dGV4IGZvciBkZXZpY2UgbG9ja2luZwoJICB3ZSBjYW4ndCB1c2UgR1NUX09CSkVDVF9MT0NLIHNpbmNlIHRoYXQgY2F1c2UgcHJvYmxlbXMgd2hlbiB3ZSB0cnkgdG8gcG9zdAoJICBlcnJvcnMsIGR1ZSB0byBnc3RfZWxlbWVudF9wb3N0X21lc3NhZ2UgYWxzbyB0YWtpbmcgdGhlIEdTVF9PQkpFQ1RfTE9DSwoKMjAxMC0wOC0wNiAxMTowNDo1NyArMDEwMCAgRGF2aWQgSG95dCA8ZGhveXRAbGxubC5nb3Y+CgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBuZW9uaHR0cHNyYzogYWRkIGNvbm5lY3QtdGltZW91dCBhbmQgcmVhZC10aW1lb3V0IHByb3BlcnRpZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTA3NgoKMjAxMC0wOC0wNiAxMDo0NDoyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9uZW9uaHR0cHNyYy5jOgoJICBuZW9uaHR0cHNyYzogYWRkICJjb29raWVzIiBwcm9wZXJ0eQoJICBCYXNlZCBvbiBwYXRjaCBieTogU2FtZWVyIE5haWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTE3NAoKMjAxMC0wNy0yNSAxNzowNDoxMiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkgIGRzaG93dmlkZW9zaW5rOiBjbG9zZSBvdXIgb3duIHdpbmRvdyB3aGVuIGNoYW5naW5nIHRoZSB3aW5kb3cgaWQKCSAgSWYgd2UgY3JlYXRlZCB0aGUgd2luZG93LCBpdCBuZWVkcyB0byBiZSBjbG9zZWQgYWZ0ZXIgc2V0dGluZyBhIG5ldwoJICB3aW5kb3cgaWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NzQyOTAKCjIwMTAtMDctMjUgMTc6MDE6MTkgKzAyMDAgIFJhaW1vIEphcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJICBkc2hvd3ZpZGVvc2luazogYWxsb3cgY2hhbmdpbmcgd2luZG93IElEIHdoaWxzdCBpbiBQTEFZSU5HIHN0YXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NzQyOTAKCjIwMTAtMDgtMDYgMDM6MTk6MTYgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogTG9hZCBwbHVnaW5zIGluIC91c3Ive2xvY2FsLyx9bGliezMyLDY0fS9mcmVpMHItMSB0b28KCSAgTG9hZHMgdGhlIHBsdWdpbnMgaW4gbW9yZSBwYXRocyB3aGVyZSB0aGV5IGNvdWxkIGJlIGluc3RhbGxlZCBieQoJICBtdWx0aWxpYiBkaXN0cmlidXRpb25zLgoJICBGaXhlcyAjNjIzNzEwCgoyMDEwLTA4LTA1IDEzOjU3OjExICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGE1MTk1NzEgdG8gYmQyMDU0YgoKMjAxMC0wOC0wMyAxMDowODozNCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZWdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZWdlb21ldHJpY3RyYW5zZm9ybS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0d2F0ZXJyaXBwbGUuYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBtYWtlIGNpY2xlZ3QgInJhZGl1cyIgcHJvcGVydHkgcmVsYXRpdmUKCSAgTWFrZSB0aGUgInJhZGl1cyIgcHJvcGVydHkgb2YgQ2lyY2xlR2VvbWV0cmljVHJhbnNmb3JtIHJlbGF0aXZlLgoJICBUaGlzIGlzIG1vcmUgY29oZXJlbnQgd2l0aCB0aGUgd2F5IFt4LHldLWNlbnRlciBwcm9wZXJ0aWVzIGFyZSBoYW5kbGVkCgkgIGFuZCBhbGxvdyB0byBzZXQgYSByYWRpdXMgd2l0aG91dCBrbm93aW5nIHRoZSB2aWRlbyBzaXplLgoJICBSYWRpdXMgaXMgZGVmaW5lZCB3aXRoIHJlc3BlY3QgdG8gdGhlIGNpcmNsZSBjaXJjdW1zY3JpYmVkIGFib3V0IHRoZQoJICB2aWRlbyByZWN0YW5nbGUgc28gdGhhdCBhIHBvaW50IGluIHRoZSBjZW50ZXIgaGFzIHJhZGl1cyAwLjAgYW5kIG9uZSBpbgoJICBhIHZlcnRleCBoYXMgcmFkaXVzIDEuMC4KCSAgTm90ZSB0aGF0IHRoaXMgaXMgbm90IGEgcmVncmVzc2lvbiBmcm9tIHRoZSBwcmV2aW91cyBhYnNvbHV0ZSB3YXkgb2YKCSAgZGVmaW5pbmcgdGhlIHJhZGl1cyBhcyBhIHVzZXIgd2hvIGtub3dzIHRoZSB2aWRlbyBzaXplIGNhbiBlYXNpbHkKCSAgY2FsY3VsYXRlIHRoZSByZWxhdGl2ZSByYWRpdXMgYW5kIHNldCB0aGF0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1OTU5CgoyMDEwLTA4LTA0IDIzOjUwOjUzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM211eDogbWlub3IgY29kZSBjbGVhbi11cAoJICBBZGQgaGVscGVyIGZ1bmN0aW9uIHRvIHdyaXRlIHRleHQgZnJhbWVzIHdpdGgganVzdCBvbmUgc3RyaW5nLgoKMjAxMC0wOC0wNCAyMzo0NDo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBpZ25vcmUgbW9yZSB1bml0IHRlc3QgYmluYXJpZXMKCjIwMTAtMDYtMTQgMjA6MDc6MzMgKzEwMDAgIEpvbmF0aGFuIE1hdHRoZXcgPGpvbmF0aGFuQGQxNG4ub3JnPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM211eC5jOgoJICBpZDNtdXg6IGFkZCBzdXBwb3J0IGZvciBiZWF0cy1wZXItbWludXRlIHRhZwoJICBXcml0ZSBiZWF0cyBwZXIgbWludXRlIGludG8gdGhlIFRCUE0gZnJhbWUsIGFuZCBhZGQgdW5pdAoJICB0ZXN0IGZvciBpZDNtdXgsIGJhc2VkIG9uIGlkM3YybXV4IHVuaXQgdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMTUyMwoKMjAxMC0wOC0wNCAxOToyNjo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSAgY29uZmlndXJlOiBDaGVjayBpZiB0aGUgY29tcGlsZXIgc3VwcG9ydHMgSVNPIEM4OSBvciBDOTkgYW5kIHdoaWNoIHBhcmFtZXRlcnMgYXJlIHJlcXVpcmVkCgkgIFRoaXMgZmlyc3QgY2hlY2tzIHdoYXQgaXMgcmVxdWlyZWQgZm9yIElTTyBDOTkgc3VwcG9ydCBhbmQgc2V0cyB0aGUgcmVsZXZhbnQKCSAgY29tcGlsZXIgcGFyYW1ldGVycyBhbmQgaWYgbm8gQzk5IGNvbXBpbGVyIGlzIGZvdW5kLCBpdCBjaGVja3MgZm9yIGEKCSAgQzg5IGNvbXBpbGVyLiBUaGlzIGVuYWJsZXMgdXMgdG8gY2hlY2sgZm9yIGFuZCB1c2UgQzg5L0M5OSBmdW5jdGlvbnMKCSAgdGhhdCBnY2MgaGlkZXMgZnJvbSB1cyB3aXRob3V0IHRoZSBjb3JyZWN0IGNvbXBpbGVyIHBhcmFtZXRlcnMuCgoyMDEwLTA4LTA0IDEwOjE1OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJICBjb2xvcmVmZmVjdHM6IEFkZCB0byB0aGUgZG9jdW1lbnRhdGlvbgoKMjAxMC0wOC0wNCAxMDoxMToxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdHBsdWdpbi5jOgoJICBjb2xvcmVmZmVjdHM6IE1pbm9yIGNsZWFudXAKCjIwMTAtMDgtMDQgMTA6MDk6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuYzoKCSAgY29sb3JlZmZlY3RzOiBJbXByb3ZlIHByb3BlcnR5IGRlc2NyaXB0aW9uIGEgYml0CgoyMDEwLTA4LTA0IDEwOjA4OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmM6CgkgIGNvbG9yZWZmZWN0czogRG9uJ3QgdXNlIHRoZSBmaXhlZF9jYXBzIGZ1bmMgb24gdGhlIHBhZHMKCSAgY29sb3JlZmZlY3RzIGNhbiByZW5lZ290aWF0ZSBkdXJpbmcgcGxheWJhY2sgd2l0aG91dCBhbnkgcHJvYmxlbXMuCgoyMDEwLTA4LTAzIDE0OjM5OjIyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmg6CgkgIGNvbG9yZWZmZWN0czogYWRkIGF5dXYgc3VwcG9ydAoJICBDdXJyZW50bHkgaW1wbGVtZW50ZWQgc3dpdGNoaW5nIGZyb20geXV2IHRvIHJnYiwgbG9va2luZyB1cCByZ2IgZnJvbSB0aGUKCSAgdGFibGUgaW4gdGhlIHVzdWFsIHdheSwgZ2V0dGluZyBiYWNrIHRvIHl1di4gV2l0aCBsdW1hIGxvb2t1cCBwcmVzZXRzCgkgIChzZXBpYSwgaGVhdCwgeHJheSkgYSBjb2xvciBzcGFjZSBjb252ZXJzaW9uIGlzIHNhdmVkIGRpcmVjdGx5IGxvb2tpbmcKCSAgdXAgcmdiIGZvciBhIGdpdmVuIFkgYW5kIGNvbnZlcnRpbmcgdG8geXV2LgoJICBQcm9iYWJseSB0aGlzIGxhdHRlciBzdGVwIGNhbiBldmVuIGJlIG1hZGUgZmFzdGVyIHByZWNhbGN1bGF0aW5nIGEgbHVtYQoJICB0byB5dXYgdGFibGUgaW4gYW4gb3V0ZXIgbG9vcC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTgxNwoKMjAxMC0wOC0wMSAyMzowMzoyNCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmg6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0cGx1Z2luLmM6CgkgIGNvbG9yZWZmZWN0czogbmV3IHBsdWdpbiBmb3IgbG9va3VwIHRhYmxlIGNvbG9yIG1hcHBpbmcKCSAgSW1wbGVtZW50cyBhIGNvbG9yIGxvb2t1cCB0YWJsZSBmaWx0ZXIgd2l0aCA0IHByZXNldHM6CgkgIC0gaGVhdDogZmFrZSBoZWF0IGNhbWVyYSBlZmZlY3QKCSAgLSBzZXBpYTogc2VwaWEgdG9uaW5nCgkgIC0geHJheTogaW52ZXJ0ICsgc2hhZGUgdG8gYmx1ZQoJICAtIHhwcm86IGNyb3NzIHByb2Nlc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTgxNwoKMjAxMC0wOC0wMyAxMDoyOTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgZG9jczogQWRkIGxvdHMgb2YgZ2F1ZGllZmZlY3RzL2dlb21ldHJpY3RyYW5zZm9ybSBzeW1ib2xzIHRvIHRoZSBkb2NzCgoyMDEwLTA4LTAyIDExOjMwOjUwICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGZpc2hleWUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBuZXcgZmlsdGVyICJmaXNoZXllIgoJICBQb3J0cyBnbGVmZmVjdHMgImZpc2hleWUiIGZpbHRlciB0byBnZW9tZXRyaWN0cmFuc2Zvcm0uCgkgIEZha2UgZmlzaGV5ZSBsZW5zIGZpbHRlci4gU29tZXdoYXQgZW1waXJpYyBpbXBsZW1lbnRhdGlvbiBiZWNhdXNlIEkKCSAgZGlkbid0IGZpbmQgYW55IGdvb2QgYWxnb3JpdGhtIHRoYXQgZG9lcyBpdCB3aXRoIG5pY2UgcmVzdWx0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTcyMgoKMjAxMC0wOC0wMiAxMToxMjo0MiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1pcnJvci5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1pcnJvci5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IG5ldyBmaWx0ZXIgIm1pcnJvciIKCSAgUG9ydHMgZ2xlZmZlY3RzICJtaXJyb3IiIGZpbHRlciB0byBnZW9tZXRyaWN0cmFuc2Zvcm0uCgkgIFNpbXBsZSB5ZXQgZWZmZWN0aXZlIG1pcnJvciBlZmZlY3QsIHNwbGl0cyB0aGUgaW1hZ2UgaW50byBoYWx2ZXMgYW5kCgkgIHJlZmxlY3QgdGhlIGZpcnN0IGludG8gdGhlIHNlY29uZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTcyMgoKMjAxMC0wOC0wMiAxMTowMTozMSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IG5ldyBmaWx0ZXIgInNxdWFyZSIKCSAgUG9ydHMgZ2xlZmZlY3RzICJzcXVhcmUiIGZpbHRlciB0byBnZW9tZXRyaWN0cmFuc2Zvcm0uCgkgIE1hcHMgYSByZWdpb24gYXJvdW5kIHRoZSBjZW50ZXIgaW50byBhIHpvb21lZCBzcXVhcmUgYW5kIHNtb290aGx5IGdldAoJICBiYWNrIHRvIG5vcm1hbCB6b29tLiBXaXRoIGZhY2VzIGl0IG1ha2VzIGEgZnVubnkgImN1YmUtZmFjZSIgZWZmZWN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1NzIyCgoyMDEwLTA4LTAyIDEwOjQ2OjQ0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHVubmVsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHVubmVsLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogbmV3IGZpbHRlciAidHVubmVsIgoJICBQb3J0cyBnbGVmZmVjdHMgInR1bm5lbCIgZmlsdGVyIHRvIGdlb21ldHJpY3RyYW5zZm9ybS4KCSAgRG8gbm90aGluZyBpbiBhIGNpcmNsZSBhcm91bmQgdGhlIGNlbnRlciBhbmQgem9vbSBvdXRzaWRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1NzIyCgoyMDEwLTA4LTAyIDA5OjM5OjUxICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0YnVsZ2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RidWxnZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IG5ldyBmaWx0ZXIgImJ1bGdlIgoJICBQb3J0cyBnbGVmZmVjdHMgImJ1bGdlIiBmaWx0ZXIgdG8gZ2VvbWV0cmljdHJhbnNmb3JtLgoJICBBZGRzIGEgcHJvdHViZXJhbmNlIGFyb3VuZCB0aGUgY2VudGVyIHBvaW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1NzIyCgoyMDEwLTA4LTAyIDA5OjE3OjAzICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ2VvbWV0cmljbWF0aC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dlb21ldHJpY21hdGguaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzdHJldGNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3RyZXRjaC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IG5ldyBmaWx0ZXIgInN0cmV0Y2giCgkgIFBvcnRzIGdsZWZmZWN0cyAic3RyZXRjaCIgZmlsdGVyIHRvIGdlb21ldHJpY3RyYW5zZm9ybS4KCSAgU2hyaW5rcyB0aGUgaW1hZ2UgYXJvdW5kIHRoZSBjZW50ZXIgYW5kIGdyYWR1YWxseSByZXR1cm4gdG8gbm9ybWFsIHpvb20KCSAgY3JlYXRpbmcgZnVubnkgY2FyaWNhdHVyZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU3MjIKCjIwMTAtMDgtMDIgMTg6MzM6NDYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXUuYzoKCSAgdmRwYXU6IHNldCBiYWNrIHBsdWdpbiByYW5rcyB0byBHU1RfUkFOS19OT05FCgkgIHRoZSBwcmV2aW91cyBjaGFuZ2Ugd2FzIG5vdCBtZWFudCB0byBzbGlwIGluCgoyMDEwLTA4LTAyIDE4OjIzOjExICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdTogc2xpZ2h0bHkgZml4IEdzdEJhc2VWaWRlb0RlY29kZXIgdGltZXN0YW1waW5nCgkgIGNsZWFyIHRpbWVzdGFtcHMgb24gZmx1c2ggYW5kIHByb3Blcmx5IGNhbGN1bGF0ZSB0aGUgZnJhbWUncyBlbmQgb2Zmc2V0CgoyMDEwLTA4LTAxIDEyOjMyOjMxICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJICB2ZHBhdTogaW5pdCBkZWJ1ZyBjYXRlZ29yeSBpbiBnc3RfdmRwX3ZpZGVvX2J1ZmZlcl9nZXRfdHlwZQoKMjAxMC0wOC0wMiAyMDo0MToxMiArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGdzdC9nYXVkaWVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9nYXVkaWVmZmVjdHMvYmx1ci1leGFtcGxlLnB5OgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHBsdWdpbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHBsdWdpbi5oOgoJICBnYXVkaWVmZmVjdHM6IEFkZCBHYXVzc2lhbiBCbHVyIGVmZmVjdCwgYW5kIGJyaWVmIGV4YW1wbGUuCgoyMDEwLTA3LTMwIDIzOjU5OjEwICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogZml4IHdhcm5pbmcgb24gb3N4LgoKMjAxMC0wNy0zMCAyMjoyNzo0OSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXUuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXU6IGFkZCBlcnJvciByZXBvcnRpbmcgdG8gZGV2aWNlIGNyZWF0aW9uCgoyMDEwLTA3LTMwIDE2OjU0OjQwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICB2ZHBhdTogZml4IHNtYWxsIHR5cG8gaW4gR3N0QmFzZVZpZGVvRGVjb2RlcgoKMjAxMC0wNy0zMCAxNDo0Nzo0MyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSAgdmRwYXU6IHVzZSBnc3RfdmRwX3l1dl90b192aWRlb19jYXBzIGluIEdzdFZkcFZpZGVvU3JjUGFkIHRvIHRyYW5zZm9ybSBzZXQgY2FwcwoJICB0aGlzIHdheSB3ZSdsbCBrZWVwIG90aGVyIGFsbCBvdGhlciBmaWVsZHMgaW4gdGhlIGNhcHMgd2hpY2ggd2UgZGlkbid0IHRha2UgaW4KCSAgYWNjb3VudCB3aGVuIHdlIG1hbnVhbGx5IGNyZWF0ZWQgdGhlICJ2aWRlby94LXZkcGF1LXZpZGVvIiBjYXBzCgoyMDEwLTA3LTMwIDE0OjQ0OjA5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHV0aWxzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdTogcmVuYW1lIGdzdF92ZHBfdmlkZW9fYnVmZmVyX3BhcnNlX3l1dl9jYXBzIGFuZCBtb3ZlIGl0IHRvIGdzdHZkcHV0aWxzLmgKCjIwMTAtMDctMzAgMTQ6MDc6MjIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dHNyY3BhZC5jOgoJICB2ZHBhdTogR3N0VmRwT3V0cHV0U3JjUGFkIHVzZSBnc3RfcGFkX2FsbG9jIHdoZW4gb3V0cHV0dGluZyB2aWRlby94LXJhdy1yZ2IKCSAgd2UgaW1wbGVtZW50ICJhY2NlcHRjYXBzIiB0byBwcmV2ZW50IHVzIGZyb20gZ2V0dGluZyBhIGJ1ZmZlciB3aXRoIGRpZmZlcmVudAoJICB3aWR0aCBhbmQgaGVpZ2h0IGZyb20gd2hhdCB3ZSByZXF1ZXN0ZWQuCgoyMDEwLTA3LTMwIDExOjI5OjE2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB1dGlscy5jOgoJICB2ZHBhdTogcHJvcGVybHkgcmVtb3ZlICJjaHJvbWEtdHlwZSIgZmllbGQgZnJvbSB0cmFuc2Zvcm1lZCBjYXBzCgoyMDEwLTA3LTMwIDExOjI3OjI3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiB1c2UgR3N0VmRwW1ZpZGVvfE91dHB1dF1CdWZmZXJQb29sIHRvIGNhY2hlIG91ciBidWZmZXJzCgkgIFRoaXMgd2F5IHdlJ2xsIHJldXNlIHRoZSBHc3RWZHBbVmlkZW98T3V0cHV0XUJ1ZmZlcnMgaWYgdGhleSdyZSBvZiB0aGUgc2FtZQoJICBzaXplIGFuZCBjaHJvbWEtdHlwZS9yZ2JhLWZvcm1hdC4KCSAgQWxzbyByZW1vdmUgZ3N0X3ZkcF9vdXRwdXRfc3JjX3BhZF9uZWdvdGlhdGUgYW5kIHNldCBhICJzZXRjYXBzIiBmdW5jdGlvbiBvbgoJICBHc3RWZHBPdXRwdXRTcmNQYWQgaW5zdGVhZCwgbGVhdmluZyBuZWdvdGlhdGlvbiB0byBHc3RWZHBWaWRlb1Bvc3RQcm9jZXNzLgoKMjAxMC0wNy0zMCAxMToyMDozNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmg6CgkgIHZkcGF1c2luazogdXNlIEdzdFZkcE91dHB1dEJ1ZmZlclBvb2wgdG8gYWxsb2Mgb3VyIGJ1ZmZlcnMKCSAgVGhpcyB3YXkgd2UnbGwgcmV1c2Ugb3VyIEdzdFZkcE91dHB1dEJ1ZmZlcnMgaWYgdGhleSdyZSBvZiB0aGUgc2FtZSBzaXplIGFuZAoJICByZ2JhLWZvcm1hdAoKMjAxMC0wNy0zMCAxMToxNjowOSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSAgdmRwYXU6IHVzZSBHc3RWZHBWaWRlb0J1ZmZlclBvb2wgaW4gR3N0VmRwVmlkZW9TcmNQYWQKCSAgV2UgYWxzbyBkb24ndCBwYWRfYWxsb2Mgb3VyIEdzdFZkcFZpZGVvQnVmZmVycyBhbnltb3JlIHNpbmNlIHdlIGRvbid0IHN1cHBvcnQKCSAgZG93bnN0cmVhbSBuZWdvdGF0aW9uIGFueXdheS4KCjIwMTAtMDctMzAgMTE6MDY6MTcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlcnBvb2wuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRidWZmZXJwb29sLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0c3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkgIHZkcGF1OiBhZGQgR3N0VmRwT3V0cHV0QnVmZmVyUG9vbAoJICBHc3RWZHBWaWRlb091dHB1dFBvb2wgaXMgYSBzdWJjbGFzcyBvZiBHc3RWZHBCdWZmZXJQb29sIHRoYXQgY2FjaGVzCgkgIEdzdFZkcE91dHB1dEJ1ZmZlcnMKCjIwMTAtMDctMzAgMTE6MDE6MTUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlcnBvb2wuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlcnBvb2wuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdTogYWRkIEdzdFZkcFZpZGVvQnVmZmVyUG9vbAoJICBHc3RWZHBWaWRlb0J1ZmZlclBvb2wgaXMgYSBzdWJjbGFzcyBvZiBHc3RWZHBCdWZmZXIgdGhhdCBjYWNoZXMKCSAgR3N0VmRwVmlkZW9CdWZmZXJzCgoyMDEwLTA3LTMwIDEwOjU1OjU2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBidWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBidWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBidWZmZXJwb29sLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwYnVmZmVycG9vbC5oOgoJICB2ZHBhdTogYWRkIEdzdFZkcEJ1ZmZlclBvb2wgYmFzZSBjbGFzcwoJICBHc3RWZHBCdWZmZXJQb29sIHdpbGwgYmUgdXNlZCB0byBjYWNoZSBHc3RWZHBbVmlkZW98T3V0cHV0XUJ1ZmZlcnMgc2luY2UKCSAgY3JlYXRpbmcgdGhlc2UgY2FuIGJlIGEgY29zdGx5IG9wZXJhdGlvbiBvbiBzb21lIGhhcmR3YXJlLgoKMjAxMC0wNy0yOCAyMTozOToxMiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0c3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0c3JjcGFkLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXU6IHJlbW92ZSBHc3RWZHBPdXRwdXRTcmNQYWQgInRlbXBsYXRlLWNhcHMiIHByb3BlcnR5CgkgIGluc3RlYWQgd2UgZG8gYXMgR3N0VmRwVmlkZW9TcmNQYWQgYW5kIHVzZSB0aGUgInRlbXBsIiBwcm9wZXJ0eSBvZiBHc3RQYWQsCgkgIHdoaWNoIGVuYWJsZSB1cyB0byBjaGFuZ2UgdGhlIHNpZ25hdHVyZSBvZiBnc3RfdmRwX291dHB1dF9zcmNfcGFkX25ldyB0byBtYXRjaAoJICBnc3RfcGFkX25ld19mcm9tX3RlbXBsYXRlCgoyMDEwLTA3LTI4IDIxOjE1OjQ2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXU6IHJlbW92ZSBHc3RWZHBPdXRwdXRTcmNQYWQgY29kZSB0byByZXRyaWV2ZSB0aGUgZGV2aWNlIGZyb20gZG93bnN0cmVhbQoJICB3ZSBub3cgbm8gbG9uZ2VyIHRyeSB0byBnZXQgdGhlIEdzdFZkcERldmljZSBmcm9tIGRvd25zdHJlYW0gc2luY2UgaXQgaW4KCSAgcHJhY3RpY2UgZGlkbid0IGdpdmUgdXMgYW55dGhpbmcgYW5kIGNvbXBsaWNhdGVzIHRoZSBjb2RlIGFsb3QuIE5ldmVydGhlbGVzcyBpZiBkZXZpY2UKCSAgZGlzdHJpYnV0aW9uIHNob3VsZCBiZSBkb25lIHRoZXJlJ3MgcHJvYmFibHkgYSBsb3QgYmV0dGVyIHdheXMgdG8gZG8gaXQuCgkgIEluc3RlYWQgd2Ugbm93IHNpbXBseSBhcXVpcmUgdGhlIGRldmljZSBpbiB2ZHBhdXZpZGVvcG9zdHByb2Nlc3Mgd2hlbiB3ZSdyZQoJICBnb2luZyBpbnRvIFBBVVNFRC4KCjIwMTAtMDctMjcgMjM6MjQ6NDMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXU6IGNsZWFudXAgR3N0VmRwRGVjb2RlciBvcGVuaW5nIG9mIGl0J3MgR3N0VmRwRGV2aWNlCgkgIHdlIG5vdyBubyBsb25nZXIgdHJ5IHRvIGdldCB0aGUgR3N0VmRwRGV2aWNlIGZyb20gZG93bnN0cmVhbSBzaW5jZSBpdCBpbgoJICBwcmFjdGljZSBkaWRuJ3QgZ2l2ZSB1cyBhbnl0aGluZyBhbmQgY29tcGxpY2F0ZXMgdGhlIGNvZGUgYWxvdC4gTmV2ZXJ0aGVsZXNzIGlmIGRldmljZQoJICBkaXN0cmlidXRpb24gc2hvdWxkIGJlIGRvbmUgdGhlcmUncyBwcm9iYWJseSBhIGxvdCBiZXR0ZXIgd2F5cyB0byBkbyBpdC4KCjIwMTAtMDctMjcgMjM6MTc6MDkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIHZkcGF1OiBmaXggR3N0QmFzZVZpZGVvRGVjb2RlciByZXR1cm5pbmcgd3JvbmcgR3N0U3RhdGVDaGFuZ2VSZXR1cm4KCSAgd2hlbiBnc3RfYmFzZV92aWRlb19kZWNvZGVyX1tzdGFydHxzdG9wXSBmYWlscyB3ZSBub3cgcmV0dXJuCgkgIEdTVF9TVEFURV9DSEFOR0VfRkFJTFVSRSBpbnN0ZWFkIG9mIHJldHVybmluZyB3aGF0IHRoZSBwYXJlbnQgY2xhc3MgcmV0dXJucwoKMjAxMC0wNy0yNyAxNTozMzowMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXVtcGVnZGVjOiByZW1vdmUgdW5uZWVkZWQgc2V0dGluZyBvZiBidWZmZXIgZmxhZ3MKCSAgR3N0QmFzZVZpZGVvRGVjb2RlciBzZXRzIEdTVF9WSURFT19CVUZGRVJfVEZGIGZvciB1cyBhbmQKCSAgR1NUX0JVRkZFUl9GTEFHX0RFTFRBX1VOSVQgZG9lc24ndCBtYWtlIHNlbnNlIGZvciBkZWNvZGVkIGZyYW1lcy4KCjIwMTAtMDctMjkgMTY6MDg6MDMgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJICBkc2hvd3ZpZGVvc3JjOiBkb24ndCBtYWtlIGEgcmFuZ2UgaWYgbWluPT1tYXgKCSAgRml4ZXMgYnVnICM2MjUxMzgKCjIwMTAtMDctMjkgMTA6Mzg6NTggKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IGFjdHVhbGx5IHdvcmsgd2hlbiB3ZSBoYXZlIHNtYWxsIGJ1ZmZlcnMgY29taW5nIGluCgkgIGF2YWlsYWJsZV9mYXN0IGlzIG5vdCB3aGF0IHdlIHdhbnQgYW5kIGl0IHdpbGwgbmV2ZXIgZ2V0IHRvIGRpc2NvdmVyIHBhY2tldAoJICBzaXplIGlmIDE4OCBieXRlIGJ1ZmZlcnMgYXJlIGJlaW5nIHBpY2tlZCB1cC4KCjIwMTAtMDctMjggMTg6MzY6NTMgKzAyMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogaWdub3JlIGdzZXR0aW5ncyB4bWwgc2NoZW1hIGZpbGUKCjIwMTAtMDctMjggMTg6MzQ6MTUgKzAyMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSAgZG9jczogYWRkIG1vcmUgcGx1Z2lucyBhbmQgZWxlbWVudHMgdG8gdGhlIGRvY3MKCjIwMTAtMDctMjggMTc6NDY6NTMgKzAyMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5oOgoJICBpdmZwYXJzZTogZml4IHVwIG1hY3JvcyBhbmQgZnVuY3Rpb24gbmFtZXMgdG8gbWF0Y2ggZ3VpZGVsaW5lcwoKMjAxMC0wNy0yOCAxNzozNDowMiArMDIwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmg6CgkgIGdhdWRpZWZmZWN0czogZml4IHN0cnVjdHVyZSBuYW1lcyB0byBjb21wbHkgd2l0aCB0aGUgcGx1Z2luIG1vdmluZyBndWlkZWxpbmVzCgoyMDEwLTA3LTI4IDE2OjE1OjUzICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogdXNlIGNhcHMgYml0cmF0ZSBhdCBsYXN0IGNoYW5jZQoJICBJZiB3ZSBkaWRuJ3QgZ2V0IHRoZSBzdHJlYW0ncyBiaXRyYXRlIGZyb20gb25lIG9mIHRoZSBhdG9tcywKCSAgdHJ5IGdldHRpbmcgaXQgZnJvbSB0aGUgY2FwcyBhcyBhIGxhc3QgcmVzb3J0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1NDk2CgoyMDEwLTA3LTI4IDE2OjEyOjExICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJICBxdG11eDogYnRydCAtIG1heCBiaXRyYXRlIGJlZm9yZSBhdmVyYWdlCgkgIEFjY29yZGluZyB0byBpc28gYmFzZSBtZWRpYSBmaWxlIGZvcm1hdCwgdGhlIG1heCBiaXRyYXRlCgkgIGlzIGJlZm9yZSB0aGUgYXZnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU0OTYKCjIwMTAtMDctMjcgMTg6MjM6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogUmVzZXQgdGhlIHNlZ21lbnQgb24gRkxVU0hfU1RPUCBhbmQgd2hlbiBnb2luZyBiYWNrIHRvIFJFQURZCgoyMDEwLTA3LTI3IDE4OjA3OjAwICswMjAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvTWFrZWZpbGUuYW06CgkgIHZkcGF1OiBkaXN0IG5ldyBoZWFkZXIgZmlsZQoJICBGaXggbWFrZSBkaXN0Y2hlY2suCgoyMDEwLTA3LTIzIDE5OjQxOjI5ICswMjAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AZmx1ZW5kby5jb20+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb2Zha2VzcmMuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuaDoKCSAgZHNob3d2aWRlb3Npbms6IEltcHJvdmVtZW50cyBjb250cmlidXRlZCBmcm9tIHRoZSBNb292aWRhIHByb2pldC4KCSAgKiBJbmhlcml0IGZyb20gR3N0VmlkZW9TaW5rCgkgICogSW1wbGVtZW50IEdzdE5hdmlnYXRpb24gaW50ZXJmYWNlCgkgICogUHJvcGVyIENPTSBpbml0aWFsaXphdGlvbiBmb3IgdGhyZWFkZWQgZW52aXJvbm1lbnRzCgkgICogRml4IFdpbmRvdyByZXNvdXJjZSBsZWFrCgkgICogQWRkIEVWUiBzdXBwb3J0IGZvciBiZXR0ZXIgdmlkZW8gc2NhbGluZyBvbiBXaW5kb3dzIFZpc3RhIGFuZCBhYm92ZQoJICAqIE9ubHkgYXBwbHkgUEFSIHNjYWxpbmcgd2hlbiB0aGUga2VlcF9hc3BlY3RfcmF0aW8gcHJvcGVydHkgaXMgc2V0IHRvIHN0YXkKCSAgY29uc2lzdGVudCB3aXRoIHRoZSBvdGhlciBMaW51eCBzaW5rcwoJICAqIFByZXZlbnQgYW4gaW5maW5pdGUgbG9vcCB3aXRoIHRoZSB3bmRwcm9jIGNoYWluCgkgICogRml4IGRlYnVnZ2luZyBtZXNzYWdlcyB0byB1c2UgdGhlIG9iamVjdCBpbnN0YW5jZQoKMjAxMC0wNy0yMyAwMDoyODo0OSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1OiBhZGQgZ3N0X3ZkcF9kZWNvZGVyX3JlbmRlciBhbmQgZ3N0X3ZkcF9kZWNvZGVyX2luaXRfZGVjb2RlcgoKMjAxMC0wNy0yMiAwOToyMTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgZXhhbXBsZXM6IFVzZSBjYWlybyBpbnN0ZWFkIG9mIGdka19kcmF3XyogQVBJCgkgIEZpeGVzIGJ1ZyAjNjI1MDAzLgoKMjAxMC0wNy0xMiAyMjozNzo0NyAtMDMwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0cGx1Z2luLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0cGx1Z2luLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5oOgoJICBnYXVkaWVmZmVjdHM6IEFkZHMgbmV3IHBsdWdpbiAnZ2F1ZGllZmZlY3RzJwoJICBBZGRzIHRoZSBuZXcgJ2dhdWRpZWZmZWN0cycgcGx1Z2luLCBvcmlnaW5hbGx5IGZvdW5kCgkgIGhlcmU6IGh0dHA6Ly9naXRodWIuY29tL2x1aXNiZy9nYXVkaV9lZmZlY3RzCgkgIENvbnRhaW5zIHRoZSBmb2xsb3dpbmcgdmlkZW8gZWZmZWN0IGVsZW1lbnRzOiBidXJuLCBjaHJvbWl1bSwgZGlsYXRlLAoJICBkb2RnZSwgZXhjbHVzaW9uIGFuZCBzb2xhcml6ZS4KCSAgVGhhbmtzIHRvIEphbiBTY2htaWR0IGZvciB0aGUgcmV2aWV3aW5nIGFuZCByZWZhY3RvcmluZwoKMjAxMC0wNy0xOSAyMTo1MzozMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJICB2ZHBhdWgyNjRkZWM6IHRyeSB0byBjYWxjdWxhdGUgZnJhbWVyYXRlIGlmIHdlIGRvbid0IGdldCBvbmUgZnJvbSB1cHN0cmVhbQoKMjAxMC0wNy0xOSAxMTozNDozOSArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGV2aWNlLmM6CgkgIHZkcGF1OiBmaXggc2VnZmF1bHQgd2hlbiB2ZHBhdSBkZXZpY2UgY291bGQgbm90IGJlIGNyZWF0ZWQKCjIwMTAtMDctMTggMjE6MTU6MzQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkgIHZkcGF1aDI2NGRlYzogZml4IHByb2JsZW0gd2hlbiBlbmNvdW50ZXJpbmcgR1NUX05BTF9BVV9ERUxJTUlURVIKCjIwMTAtMDctMDggMDk6NTY6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSAgd2FzYXBpc3JjOiBVc2UgbmV3IGdzdF9hdWRpb19jbG9ja19uZXdfZnVsbCgpCgoyMDEwLTA3LTA4IDA5OjU1OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOgoJICBhbHNhc3BkaWZzaW5rOiBVc2UgbmV3IGdzdF9hdWRpb19jbG9ja19uZXdfZnVsbCgpCgoyMDEwLTA3LTE1IDEzOjIzOjUyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJICB2ZHBhdWgyNjRkZWM6IGNhbGN1bGF0ZSB3aWR0aCBhbmQgaGVpZ2h0IGZyb20gYml0c3RyZWFtIGluZm8KCjIwMTAtMDctMTUgMTE6MTA6MDMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmM6CgkgIHZkcGF1aDI2NGRlYzogZml4IHVzYWdlIG9mIGdfYml0X3N0b3JhZ2UKCjIwMTAtMDctMTQgMTE6MTk6MDUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvbXBlZy9tcGVndXRpbC5jOgoJICB2ZHBhdW1wZWdkZWM6IHJlbmFtZSB6aWd6YWcgbWF0cml4CgoyMDEwLTA3LTE0IDExOjE3OjQ5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmM6CgkgIHZkcGF1aDI2NGRlYzogdXNlIGdfYml0X3N0b3JhZ2UgaW5zdGVhZCBvZiBsb2cyCgkgIGxvZzIgY2F1c2VkIGNvbXBpbGUgaXNzdWVzIG9uIGNlcnRhaW4gcGxhdGZvcm1zCgoyMDEwLTA3LTEzIDAwOjQwOjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nc2V0dGluZ3MvTWFrZWZpbGUuYW06CgkgIGdzZXR0aW5nczogRml4IG1haW50YWluZXItY2xlYW4gd2hlbiBpdCBpcyBub3QgYXZhaWxhYmxlCgkgIERvIG5vdCB1c2UgQEdTRVRUSU5HU19SVUxFU0AgaWYgZ3NldHRpbmdzIGlzIG5vdCBhdmFpbGFibGUKCSAgdG8gYXZvaWQgbWFpbnRhaW5lci1jbGVhbiBmYWlsaW5nLgoKMjAxMC0wNy0xMSAxMDo0NzozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5oOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5oOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuaDoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuaDoKCSAgZnJlaTByOiBVc2UgY29ycmVjdCBvcmRlciBvZiBkaXJlY3RvcmllcyB0byBzZWFyY2ggZm9yIHBsdWdpbnMKCSAgQW5kIGRvbid0IGZhaWwgaWYgYSBwbHVnaW4gd2FzIGFscmVhZHkgcmVnaXN0ZXJlZC4gRnJlaTByIGFsbG93cwoJICBwbHVnaW5zIGluIGRpcmVjdG9yaWVzIHdpdGggaGlnaGVyIGltcG9ydGFuY2UgdG8gb3ZlcnJpZGUgcGx1Z2lucwoJICBmcm9tIGRpcmVjdG9yaWVzIHdpdGggbG93ZXIgaW1wb3J0YW5jZS4KCjIwMTAtMDctMTAgMTY6NTI6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgdnA4ZW5jOiBBZGQgc3VwcG9ydCBmb3IgZW5hYmxpbmcgYXV0b21hdGljIGluc2VydGlvbiBvZiBhbHQtcmVmIGZyYW1lcyBieSB0aGUgZW5jb2RlcgoKMjAxMC0wNy0xMCAxNjo1MTo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEZpeCBoYW5kbGluZyBvZiBpbnZpc2libGUvYWx0IHJlZiBmcmFtZXMKCjIwMTAtMDctMTAgMTU6NTA6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogRml4IG1lbW9yeSBsZWFrCgkgIFRoZSB0aW1lc3RhbXBzIGFyZSBvbmx5IHVzZWQgaWYgdGhlIG91dHB1dCBhZGFwdGVyIGlzIHVzZWQsIG5vdAoJICBpZiBjb21wbGV0ZSBmcmFtZXMgYXJlIHByb3ZpZGVkIGJ5IHRoZSBkZWNvZGVyIGFuZCBmaW5pc2hfZnJhbWUoKSBpcwoJICBjYWxsZWQgYW5kIGV2ZW4gaW4gdGhlIGNhc2Ugd2hlcmUgdGhlIG91dHB1dCBhZGFwdGVyIGlzIHVzZWQgdGhleQoJICBtaWdodCBub3QgYmUgdXNlZCBhbmQgYXJlIGxlYWtlZC4KCjIwMTAtMDctMTAgMTU6NDY6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGRlYy5jOgoJICB2cDhkZWM6IEFkZCBzaW1wbGUgdW5pdCB0ZXN0IGZvciB2cDhkZWMKCjIwMTAtMDctMTAgMTU6NDY6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZW5jLmM6CgkgIHZwOGVuYzogSW1wcm92ZSB1bml0IHRlc3QgYSBiaXQKCjIwMTAtMDctMTAgMTU6MzI6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZW5jLmM6CgkgIHZwOGVuYzogQWxzbyBjaGVjayB0aGUgb3V0cHV0IGNhcHMgaW4gdGhlIHVuaXQgdGVzdAoKMjAxMC0wNy0xMCAxNToyOTo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZW5jLmM6CgkgIHZwOGVuYzogQWRkIHNpbXBsZSB1bml0IHRlc3QKCjIwMTAtMDctMDkgMTc6NDQ6NTYgKzAzMDAgIERhdmlkIEhveXQgPGRob3l0QGxsbmwuZ292PgoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJICBhaWZtbXV4OiB1c2UgYWx0ZXJuYXRpdmUgd2F5IHRvIGNoZWNrIGZvciBpbmYKCSAgTVNWQyBlbWl0cyBhIGRpdmlkZS1ieS16ZXJvIGVycm9yIHdoZW4gY29tcGlsaW5nIGFpZmZtdXguYyBvbiBsaW5lIDIwNS4KCSAgRml4ZXMgIzYyMzg4MS4KCjIwMTAtMDctMDggMjE6NTM6MzUgKzAxMDAgIERhdmlkIEhveXQgPGRob3l0QGxsbmwuZ292PgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSAgd2lua3M6IGZpeCBjb21waWxhdGlvbiBieSB1c2luZyB0aGUgcmlnaHQgZnVuY3Rpb24KCSAgRml4ZXMgIzYyMzg4My4KCjIwMTAtMDctMDggMTc6NTg6MTYgKzAyMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogZml4IGV4aWYgZnJhbWUgc2l6ZQoJICBTa2lwIHRoZSBjb3JyZWN0IG51bWJlciBvZiBieXRlcyB3aGVuIHJlYWRpbmcgZXhpZgoJICBkYXRhCgkgIEZpeGVzICM2MjM4NTQKCjIwMTAtMDctMDggMTU6MDc6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiBDb3JyZWN0bHkgaW5pdGlhbGl6ZSBwcm9wZXJ0aWVzIHdpdGggdGhlIGRlZmF1bHQgdmFsdWVzIGFnYWluCgoyMDEwLTA3LTA4IDA3OjU3OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogVXNlIFBST1BfIGluc3RlYWQgb2YgQVJHXyBmb3IgcHJvcGVydHkgZW51bXMgYW5kIHVzZSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTCgkgIEFsc28gZG9uJ3QgdXNlIEdfUEFSQU1fQ09OU1RSVUNULCBpdCBkb2VzIG5vdCBtYWtlIHNlbnNlIGZvciBlbGVtZW50cy4KCjIwMTAtMDctMDcgMjM6MDY6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBGaXggdmlld2ZpbmVyLXNpbmsgcHJvcGVydHkgZm9yIGJpbnMKCSAgQ29ycmVjdGx5IGl0ZXJhdGUgdmlld2ZpbmRlci1zaW5rIGNoaWxkcmVuIHdoZW4KCSAgaXQgaXMgYSBiaW4uCgkgIEZpeGVzICM2MjM4MDIKCjIwMTAtMDctMDYgMTQ6NDg6MDggKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFdyaXRlICdidHJ0JyBhdG9tIGZvciBILjI2NCBtZWRpYSBpZiBwb3NzaWJsZQoJICBUaGlzIHdyaXRlcyBvdXQgdGhlIG9wdGlvbmFsICdidHJ0JyBhdG9tIChNUEVHNEJpdHJhdGVCb3gpIGZvciBILjI2NAoJICBtZWRpYSBpZiBlaXRoZXIgb3IgYm90aCBvZiBhdmVyYWdlIGFuZCBtYXhpbXVtIGJpdHJhdGUgYXJlIGF2YWlsYWJsZSBmb3IKCSAgdGhlIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMzY3OAoKMjAxMC0wNy0wNSAxNDowOTo1MCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IFdyaXRlIGF2Zy9tYXggYml0cmF0ZSB0byBFU0RTIGlmIGF2YWlsYWJsZQoJICBUaGlzIGNvbGxlY3RzIHRoZSAnYml0cmF0ZScgYW5kICdtYXhpbXVtLWJpdHJhdGUnIHRhZ3Mgb24gdGhlCgkgIGNvcnJlc3BvbmRpbmcgcGFkIGFuZCB1c2VzIHRoZXNlIHRvIHBvcHVsYXRlIHRoZXNlIGZpZWxkcyBpbiB0aGUgRVNEUwoJICB3aGVyZSBhcHBsaWNhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzNjc4CgoyMDEwLTA3LTA3IDEwOjMzOjE4IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkgIGRzaG93ZGVjd3JhcHBlcjogcmVzZXQgZmxvdyByZXR1cm4gc3RhdGUgdHJhY2tlciBhZnRlciBmbHVzaCB0byBhdm9pZCBzcHVyaW91cyBlcnJvcnMgYWZ0ZXIgZmx1c2hpbmcgaW4gc29tZSBjYXNlcy4KCjIwMTAtMDctMDcgMDg6Mzc6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGk6IEFkZCBzdXBwb3J0IGZvciB3aWxkbWlkaSAwLjIuMwoJICBGaXhlcyBidWcgIzYyMzcyMi4KCjIwMTAtMDctMDEgMTA6NTY6MTkgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBub3JtYW5kQGlnYWxpYS5jb20+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuaDoKCSAgZHNob3d2aWRlb3Npbms6IFVwZGF0ZSByZW5kZXJlciBhc3BlY3QgcmF0aW8gYWZ0ZXIgZm9yY2UtYXNwZWN0LXJhdGlvIHByb3BlcnR5IHVwZGF0ZS4KCSAgQSBuZXcgdmlydHVhbCBtZXRob2QgaGFzIGJlZW4gYWRkZWQgdG8gdGhlIFJlbmRlcmVyU3VwcG9ydCBjbGFzcy4gSXQKCSAgaXMgY2FsbGVkIGR1cmluZyB0aGUgaW5pdGlhbCByZW5kZXJlciBjb25maWd1cmF0aW9uIGFuZCBlYWNoIHRpbWUgdGhlCgkgIGZvcmNlLWFzcGVjdC1yYXRpbyBwcm9wZXJ0eSBvZiB0aGUgc2luayBpcyB1cGRhdGVkLgoJICBGaXhlcyBidWcgIzYyMzI3Mi4KCjIwMTAtMDctMDcgMDA6MTU6MjIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJICBkc2hvd2F1ZGlvZGVjOiBGaXggY29tcGlsYXRpb24gZXJyb3IKCSAgQ2xvc2VzICM2MjM3MTMKCjIwMTAtMDctMDYgMTM6MTU6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBvbmx5IHVzZSBnX3dhcm5pbmcoKSB3aGVuIHNldHRpbmcgdGhlIG9sZCBpcy1saXZlIHByb3BlcnR5LCBub3Qgd2hlbiByZWFkaW5nIGl0CgkgIERvbid0IHdhbnQgd2FybmluZ3MgaW4gZS5nLiBnc3QtaW5zcGVjdC4KCjIwMTAtMDctMDYgMTA6NTM6MDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcG86IFVzZSBwcm9wZXIgZ3NldHRpbmdzIHNjaGVtYSBmaWxlCgoyMDEwLTA3LTA1IDExOjUyOjU2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdwYXJzZS5jOgoJICB0ZXN0czogZml4IGNhcHMgbGVhayBpbiBqcGVncGFyc2UgdW5pdCB0ZXN0CgoyMDEwLTA3LTA1IDExOjQ4OjA4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGZpeCBza2lwcGluZyBleHRyYSAweGZmIG1hcmtlcnMKCSAgSW4gcGFydGljdWxhciwgdGhpcyBtYWtlcyB0aGUganBlZ3BhcnNlIHVuaXQgdGVzdCBwYXNzIGFnYWluLgoJICBBbHNvIGFkZCBhIGRlYnVnIHN0YXRlbWVudC4KCSAgRml4ZXMgIzYyMjY5MC4KCjIwMTAtMDctMDUgMTA6MDk6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHQ6IEltcHJvdmUgZGVidWdnaW5nCgoyMDEwLTA3LTA1IDEwOjA4OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5oOgoJICBjZWx0ZW5jOiBBZGQgc3VwcG9ydCBmb3Igc2V0dGluZyB0aGUgcHJlZGljdGlvbiBtb2RlIGFuZCB0aGUgc3RhcnQgYmFuZAoKMjAxMC0wNy0wNSAwOTo1MzozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNlbHQ6IEFkZCBjaGVjayBmb3IgY2VsdCAwLjgKCjIwMTAtMDctMDUgMDk6NTI6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHQ6IFJlbW92ZSBzdXBwb3J0IGZvciBjZWx0IDwgMC41CgkgIGNlbHQgMC41IHdhcyByZWxlYXNlZCBtb3JlIHRoYW4gYSB5ZWFyIGFnbyBhbmQgdGhlIGJpdHN0cmVhbSBpcwoJICBpbmNvbXBhdGlibGUgd2l0aCB0aGUgY3VycmVudCBvbmUgYW55d2F5LgoKMjAxMC0wNy0wNSAwOTo0NzozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdDogRml4IGNvbXBpbGF0aW9uIHdpdGggY2VsdCAwLjgKCSAgRml4ZXMgYnVnICM2MjM1NTAuCgoyMDEwLTA3LTA1IDA5OjMyOjMwICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zcmMuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NyYy5jOgoJICBnc2V0dGluZ3M6IGZpeCBzb21lIG1vcmUgd2FybmluZ3MKCjIwMTAtMDctMDUgMDk6Mjg6NDkgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NpbmsuYzoKCSAgZ3NldHRpbmdzOiBmaXggYSBjb21waWxlciB3YXJuaW5nCgoyMDEwLTA3LTAzIDE2OjE1OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZ3NldHRpbmdzL01ha2VmaWxlLmFtOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5ncy5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc2luay5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc3JjLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zcmMuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NpbmsuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NyYy5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc3JjLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0c3dpdGNoc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdHN3aXRjaHNpbmsuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rzd2l0Y2hzcmMuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rzd2l0Y2hzcmMuaDoKCSogZXh0L2dzZXR0aW5ncy9vcmcuZnJlZWRlc2t0b3AuZ3N0cmVhbWVyLmRlZmF1bHQtZWxlbWVudHMuZ3NjaGVtYS54bWwuaW46CgkqIGV4dC9nc2V0dGluZ3MvcGx1Z2luLmM6CgkqIHBvL1BPVEZJTEVTLmluOgoJICBnc2V0dGluZ3M6IEluaXRpYWwgdmVyc2lvbiBvZiBHU2V0dGluZ3MgcGx1Z2luCgkgIFRoaXMgcHJvdmlkZXMgYXVkaW8vdmlkZW8gc291cmNlcyBhbmQgc2lua3MuCgkgIEZpeGVzIGJ1ZyAjNjE2MjY1LgoKMjAxMC0wNy0wMyAxNzo0ODoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWx2Mi54bWw6CgkgIGRvY3M6IEludGVncmF0ZSBWUDggZG9jdW1lbnRhdGlvbgoKMjAxMC0wNy0wMyAxNzo0NzoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5oOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICB2cDg6IEFkZCBpbml0aWFsIGRvY3VtZW50YXRpb24sIGJhc2VkIG9uIHRoZSB0aGVvcmFkZWMvdGhlb3JhZW5jIGRvY3VtZW50YXRpb24KCjIwMTAtMDctMDMgMTc6MzQ6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuaDoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSogZXh0L3ZwOC9wbHVnaW4uYzoKCSAgdnA4OiBNb3ZlIHN0cnVjdHVyZSBkZWZpbml0aW9ucywgZXRjIHRvIHB1YmxpYyBoZWFkZXIgZmlsZXMgZm9yIGd0ay1kb2MKCjIwMTAtMDctMDIgMTI6NDU6MjAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IERvbid0IHVzZSBib2d1cyBjb2RlYy9mb3JtYXQgdGFncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzMzY1CgoyMDEwLTA3LTAxIDE1OjE5OjEyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSAgcnRwbXV4OiBBZGQgc3VwcG9ydCBmb3IgR3N0QnVmZmVyTGlzdAoJICBGYWN0b3Igb3V0IG1vc3Qgb2YgdGhlIGJ1ZmZlciBoYW5kbGluZyBhbmQgaW1wbGVtZW50IGEgY2hhaW5fbGlzdAoJICBmdW5jdGlvbi4gQWxzbywgdGhlIERUTUYgbXV4ZXIgaGFzIGJlZW4gbW9kaWZpZWQgdG8ganVzdCBoYXZlIGEKCSAgZnVuY3Rpb24gdG8gYWNjZXB0IG9yIHJlamVjdCBhIGJ1ZmZlciBpbnN0ZWFkIG9mIGhhdmluZyB0byBzdWJjbGFzcwoJICBib3RoIGNoYWluIGFuZCBjaGFpbl9saXN0LgoKMjAxMC0wNy0wMSAxNToxNTo0OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBEb24ndCBsZWFrIGludmFsaWQgYnVmZmVycwoKMjAxMC0wNi0xNCAxNToxNTowOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvdmlkZW9tYXhyYXRlL3ZpZGVvbWF4cmF0ZS5jOgoJKiBnc3QvdmlkZW9tYXhyYXRlL3ZpZGVvbWF4cmF0ZS5oOgoJICB2aWRlb21heHJhdGU6IEFkZCB0byBkb2NzCgoyMDEwLTA2LTExIDE4OjMxOjA1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9tYXhyYXRlL3ZpZGVvbWF4cmF0ZS5jOgoJICB2aWRlb21heHJhdGU6IEFkZCBmaXhhdGVzX2NhcHMKCjIwMTAtMDYtMTAgMjA6MzY6MjkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmM6CgkgIHZpZGVvbWF4cmF0ZTogQWNjZXB0IHdpZGVyIGNhcHMKCjIwMTAtMDYtMTAgMjA6MjU6MDEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmM6CgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmg6CgkgIHZpZGVvbWF4cmF0ZTogTWFrZSBwZXJpb2Qgb3ZlciB3aGljaCB0byBhdmVyYWdlIGNvbmZpZ3VyYWJsZQoKMjAxMC0wNi0xMCAyMDo0MzoxNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWF4cmF0ZS92aWRlb21heHJhdGUuYzoKCSAgdmlkZW9tYXhyYXRlOiBTaW1wbGlmeSB0cmFuc2Zvcm1fY2FwcwoKMjAxMC0wNi0xMCAyMDoxNDowMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWF4cmF0ZS92aWRlb21heHJhdGUuYzoKCSAgdmlkZW9tYXhyYXRlOiBVc2UgYmFzZXRyYW5zZm9ybSBjb3JyZWN0bHkKCjIwMTAtMDYtMTAgMjA6MDg6MTQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmM6CgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmg6CgkgIHZpZGVvbWF4cmF0ZTogTWFrZSBwbHVnaW4gYWN0dWFsbHkgd29yayBieSB1c2luZyBhbiBhdmVyYWdlCgoyMDEwLTA2LTEwIDE5OjE3OjAwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC92aWRlb21heHJhdGUvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmM6CgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmg6CgkgIHZpZGVvbWF4cmF0ZTogSW1wb3J0IHBsdWdpbgoJICBJbXBvcnQgcGx1Z2luIGZyb20gUHNpTWVkaWEsIGJhc2VkIG9uIG15IHdvcmsKCjIwMTAtMDctMDEgMTY6Mjg6NTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6IHNpZ25hbC1mcHMtbWVhc3VyZW1lbnRzIGlzIHdyaXRhYmxlCgkgIHNpZ25hbC1mcHMtbWVhc3VyZW1lbnRzIGlzIGEgcmVhZHdyaXRlIHByb3BlcnR5LCBub3QgcmVhZC1vbmx5LgoJICBBbHNvIGFkZHMgc29tZSBtb3JlIGRlYnVnZ2luZyBsb2dzLgoKMjAxMC0wNi0zMCAxODo1OToyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGFkZCBnc3QtZmZtcGVnIHRvIHdoaXRlbGlzdCBhcyB3ZWxsCgkgIFRoZSBteGYgdGVzdHMgdXNlIHNvbWUgZmZtcGVnIGVsZW1lbnRzIGlmIHRoZXkncmUgYXZhaWxhYmxlLgoKMjAxMC0wNi0zMCAxODo1MjoxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGFkZCBwbHVnaW4gbG9hZGluZyB3aGl0ZWxpc3QgdG8gdGVzdCBlbnZpcm9ubWVudAoJICBPbmx5IHdhbnQgdG8gbG9hZCBjb3JlLy1iYXNlLy1nb29kLy11Z2x5Ly1iYWQgcGx1Z2lucyBoZXJlLgoKMjAxMC0wNi0zMCAxODoyMDoxMyArMDEwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicEBrLWQtdy5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBkb24ndCBmcmVlIFBBVCBzdHJ1Y3R1cmUgd2hpY2ggbWF5IHN0aWxsIGJlIG5lZWRlZCBsYXRlcgoJICBUaGlzIGlzIGEgcHJvYmxlbSBpZiB5b3UgdHVuZSB0byBhIGNoYW5uZWwgd2hpY2ggdXNlcyBwaWQgWCBhbmQgbGF0ZXIgdHVuZSB0bwoJICBhbm90aGVyIGNoYW5uZWwgd2hlcmUgWCBpcyB1c2VkIGZvciBhbm90aGVyIHRhYmxlIChlLmcuIFBNVCkuCgkgIFRoZSBjb2RlIHRoYXQgZG9lcyB0aGF0IHdhcyBhY3R1YWxseSBhbHJlYWR5IHRoZXJlIGJ1dCBuZXZlciB1c2VkIGJlY2F1c2UgdGhlCgkgIHBhdCBzdHJ1Y3R1cmUgd2FzIGZyZWVkIGJlZm9yZS4gVGhlIGNvbW1pdCB0aGF0IGludHJvZHVjZWQgdGhvc2UgbGluZXMgaW50ZW5kZWQKCSAgdG8gZml4IGEgbWVtb3J5IGxlYWssIGJ1dCB3ZSBjbGVhbiB0aGluZ3MgdXAgZWxzZXdoZXJlLgoJICBGaXhlcyAjNjIyNzI1LgoKMjAxMC0wNi0zMCAxODoxOTowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSAgZG9jczogdXBkYXRlIGluc3BlY3QgaW5mbywgbm93IHNvcnRlZCBhbmQgZXNjYXBlZAoKMjAxMC0wNi0zMCAxNzo1NDo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiAuZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBpZ25vcmUgdGVtcG9yYXJ5IG9yYyBmaWxlcwoKMjAxMC0wNi0yOSAxMToyMTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuYzoKCSAgdmRwYXU6IENoZWNrIGZvciBsb2cyIGFuZCBvbmx5IHVzZSBpdCBpZiBpdCdzIGF2YWlsYWJsZQoKMjAxMC0wNi0yOCAxNjoyMDowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgYXV0b21ha2UgcmVxdWlyZW1lbnQgdG8gMS4xMCBhbmQgYXV0b2NvbmYgdG8gMi42MAoJICBGb3IgbWFpbnRhaW5hYmlsaXR5IHJlYXNvbnMsICQoYnVpbGRkaXIpIGFuZCBvdGhlciB0aGluZ3MuCgkgIFNlZSAjNjIyOTQ0IGFuZCAjNTcwNDI4LgoKMjAxMC0wNi0yOCAxMjowMDo1NSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRmcmFtZS5jOgoJICB2ZHBhdWgyNjRkZWM6IGRvbid0IHVzZSBkZXByZWNhdGVkIGdfcHRyX2FycmF5X2ZyZWUgaW5jYXNlIGdsaWIgPj0gMi4yMgoKMjAxMC0wNi0yOCAxMToxOToyNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0c3JjcGFkLmM6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogZml4IHJlc2l6aW5nIG9mIG91dHB1dAoKMjAxMC0wNi0yOCAxMTowODo1NiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRmcmFtZS5jOgoJICB2ZHBhdWgyNjRkZWM6IGRvbid0IHVzZSBnbGliIDIuMjIgZnVuY3Rpb25zCgoyMDEwLTA2LTI3IDIwOjI5OjA2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdTogY2hhbmdlIEdzdEJhc2VWaWRlb0RlY29kZXIgc3RhdGUgYXBpCgoyMDEwLTA2LTI3IDEwOjUyOjMzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5jOgoJICB2ZHBhdWgyNjRkZWM6IGZyZWUgZnJhbWVzIG9uIGZpbmFsaXplIGluIEdzdEgyNjREUEIKCjIwMTAtMDYtMjcgMDk6NTU6MjIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXU6IGFkZCBkaXNwbGF5IHByb3BlcnR5IHRvIEdzdFZkcERlY29kZXIKCjIwMTAtMDYtMjcgMDE6Mjc6MjggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZnJhbWUuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGZyYW1lLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGZyYW1lLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRmcmFtZS5oOgoJICB2ZHBhdWgyNjRkZWM6IHJlbmFtZSBHc3RWZHBIMjY0RnJhbWUgdG8gR3N0SDI2NEZyYW1lCgoyMDEwLTA2LTI3IDAwOjM2OjI1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXU6IGZpeCBlcnJvciBoYW5kbGluZyB3aGVuIHBsdWdnaW5nICJ2ZHBhdXZpZGVvcG9zdHByb2Nlc3MgISBmYWtlc2luayIKCjIwMTAtMDYtMjcgMDA6MzU6MTEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXU6IGFkZCBlcnJvciBwYXJhbWV0ZXIgdG8gZ3N0X3ZkcF92aWRlb19zcmNfcGFkX2dldF9kZXZpY2UKCjIwMTAtMDYtMjggMTA6NDc6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJICB2ZHBhdTogTGluayB0byAkKExJQk0pIGZvciBsb2cyIGFuZCBmcmllbmRzCgoyMDEwLTA2LTI3IDE5OjIyOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZV9mdW5jdGFibGUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlX3JlZi5jOgoJICBsZWdhY3lyZXNhbXBsZTogSW5jbHVkZSBfc3RkaW50LmggZm9yIGludDE2X3QgYW5kIGZyaWVuZHMKCjIwMTAtMDYtMjcgMTc6NDY6NDQgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvY29nZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSAgY29nOiBVc2UgZ19tYWxsb2MoKSBpbnN0ZWFkIG9mIG1hbGxvYygpCgkgIG1hbGxvYygpIG5lZWRzIHN0ZGxpYi5oLCB3aGljaCBpc24ndCBpbmNsdWRlZCBoZXJlIGFuZCB0aGUKCSAgbWVtb3J5IGlzIGZyZWVkIGxhdGVyIHdpdGggZ19mcmVlKCkgYW55d2F5LgoKMjAxMC0wNi0yNyAxMToyNDozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIGFzc3JlbmRlciwgaXZmcGFyc2UsIGpwZWdmb3JtYXQ6IGZpeCBjb21waWxlciB3YXJuaW5ncyB3aXRoIGRlYnVnZ2luZyBkaXNhYmxlZCBpbiBjb3JlCgoyMDEwLTA2LTI3IDEwOjQxOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICB0ZXN0czogRml4IGJ1aWxkIHdpdGggR1RLKyA8IDIuMTcuNwoJICBndGtfd2lkZ2V0X2dldF9hbGxvY2F0aW9uKCkgd2FzIGFkZGVkIGluIHRoYXQgdmVyc2lvbi4KCjIwMTAtMDYtMjcgMTA6MzY6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmM6CgkgIGNvbmZpZ3VyZTogUmVxdWlyZSBHVEsrID49IDIuMTQgZm9yIHRoZSBleGFtcGxlCgoyMDEwLTA2LTI3IDA3OjQwOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICB0ZXN0czogRG9uJ3QgdXNlIGRlcHJlY2F0ZWQgR1RLIEFQSSB0byBmaXggdGhlIGJ1aWxkIHdpdGggR1RLKyAzLjAKCjIwMTAtMDYtMjYgMjE6MDI6NTMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHAvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmg6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5oOgoJICB2ZHBhdTogYWRkIEdzdFZkcERlY29kZXIgYmFzZSBjbGFzcwoKMjAxMC0wNi0yNiAxOTowMjowMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkgIHZkcGF1aDI2NGRlYzogYWRkIGdzdF9oMjY0X2RwYl9zZXRfb3V0cHV0X2Z1bmMgZnVuY3Rpb24KCjIwMTAtMDYtMjUgMjA6MTk6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBXcml0ZSB1aW50IHRhZ3MgdGhhdCBkb24ndCBoYXZlIGEgY29tcGxlbWVudAoJICBXcml0ZSB1aW50IHRhZ3MgdGhhdCBoYXZlIGNvbXBsZW1lbnRzIChlLmcuIHRyYWNrLW51bWJlci8KCSAgdHJhY2stY291bnQpIGV2ZW4gd2hlbiB3ZSBvbmx5IGhhdmUgb25lIG9mIHRoZW0gYXZhaWxhYmxlCgkgIGFuZCBzZXQgdGhlIG90aGVyIG9uZSB0byAwLgoJICBGaXhlcyAjNjIyNDg0CgoyMDEwLTA2LTI1IDExOjAyOjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdHlwZXMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkgIG1ldGFkYXRhOiBJbmNsdWRlIGNvbmZpZy5oIGluIG1ldGFkYXRhKi5jIGZpbGVzCgkgIEluY2x1ZGUgY29uZmlnLmggaW4gbWV0YWRhdGFleGlmLmMgaW4gbWV0YWRhdGEgcGx1Z2luIHNvCgkgIHRoYXQgSEFWRV9FWElGIGdldHMgZGVmaW5lZCBhbmQgZXhpZiBtZXRhZGF0YSBpcyBwcm9wZXJseQoJICBnZW5lcmF0ZWQuCgkgIEFsc28gYWRkcyBjb25maWcuaCB0byBhbGwgLmMgZmlsZXMgbWlzc2luZyBpdCBpbiBtZXRhZGF0YSBwbHVnaW4KCSAgRml4ZXMgIzYyMjY5MgoKMjAxMC0wNi0yNCAyMDoyMToxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IFdhcm4gaWYgcHJlcm9sbCB2YWx1ZSBpcyB0b28gYmlnCgkgIFBvc3QgYSB3YXJuaW5nIHdoZW4gdGhlIHByZXJvbGwgdmFsdWUgaXMgZ3JlYXRlciB0aGFuCgkgIHRoZSBzdHJlYW1zIGR1cmF0aW9uCgoyMDEwLTA2LTI0IDIzOjU3OjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL01ha2VmaWxlLmFtOgoJICB2ZHBheTogZml4IGJ1aWxkIGluIHVuaW5zdGFsbGVkIHNldHVwCgkgIEFkZCBHU1RfUExVR0lOU19CQVNFX0NGTEFHUyB0byBDRkxBR1Mgc28gaXQgZmluZHMgdGhlIGdzdC92aWRlby92aWRlby5oCgkgIGhlYWRlcnMgaW4gYW4gdW5pbnN0YWxsZWQgc2V0dXAuIEFsc28gcmVzaHVmZmxlIG9yZGVyLgoKMjAxMC0wNi0yNCAxODozMjo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSAgYXNmbXV4OiBNYWtlIG1ldGFkYXRhIHdyaXRhYmxlIGJlZm9yZSBzZXR0aW5nIGl0CgkgIEJlZm9yZSBjb3B5aW5nIG1ldGFkYXRhIGZyb20gb25lIGJ1ZmZlciB0byBhbm90aGVyLCBtYWtlIHN1cmUKCSAgdGhlIGRlc3RpbmF0aW9uIGlzIG1ldGFkYXRhLXdyaXRhYmxlLgoKMjAxMC0wNi0yNCAyMjoxNDozOCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSAgdmRwYXVoMjY0ZGVjOiBmaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUKCjIwMTAtMDYtMjQgMjI6MDY6NTYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RuYWxyZWFkZXIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0bmFscmVhZGVyLmg6CgkgIHZkcGF1aDI2NGRlYzogZml4IGluaXRhbGl6YXRpb24gb2YgR3N0TmFsUmVhZGVyIGNhY2hlCgoyMDEwLTA2LTI0IDEyOjM3OjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzLy5naXRpZ25vcmU6CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzLW1hcnNoYWwubGlzdDoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuaDoKCSAgZnBzZGlzcGxheXNpbms6IEFkZHMgYSBzaWduYWwgdG8gaW5mb3JtIG1lYXN1cmVtZW50cyB0byBhcHBzCgkgIEFkZHMgYSBzaWduYWwgZm9yIGFwcGxpY2F0aW9ucyB0byByZWNlaXZlIHRoZSBmcHMgbWVhc3VyZW1lbnRzIG1hZGUKCSAgaW5zdGVhZCBvZiBvbmx5IHByaW50aW5nIHRoZW0gdG8gdGhlIGZyYW1lL3N0ZG91dC4KCSAgVGhpcyBzaWduYWwgaXMgb25seSBlbWl0ZWQgaWYgdGhlIHNpZ25hbC1mcHMtbWVhc3VyZW1lbnRzIHByb3BlcnR5CgkgIGlzIHNldCB0byBUUlVFCgoyMDEwLTA2LTI0IDEwOjU5OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmg6CgkgIGZwc2Rpc3BsYXlzaW5rOiBBZGRzIG1heC1mcHMgYW5kIG1pbi1mcHMgcHJvcGVydHkKCSAgQWRkcyAyIHByb3BlcnRpZXMgZm9yIGdldHRpbmcgdGhlIG1heGltdW0gYW5kIG1pbmltdW0gZnBzCgkgIHZhbHVlcyBtZWFzdXJlZAoKMjAxMC0wNi0yNCAxMDoyNDoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazogVXNlIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgaW4gYWxsIHByb3BlcnRpZXMKCSAgQWRkIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgdG8gdGhlIHByb3BlcnRpZXMgdGhhdCBhcmUKCSAgbWlzc2luZyBpdAoKMjAxMC0wNi0yNCAxMDoyMzowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5oOgoJICBmcHNkaXNwbGF5c2luazogQWRkIGZwcy11cGRhdGUtaW50ZXJ2YWwgcHJvcGVydHkKCSAgVXNlIGEgcHJvcGVydHkgdG8gc2V0L2dldCB0aGUgZnBzIHVwZGF0ZSBpbnRlcnZhbCBpbnN0ZWFkCgkgIG9mIGhhdmluZyBhIGhhcmRjb2RlZCB2YWx1ZS4KCjIwMTAtMDYtMjQgMTY6MjA6MjMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9NYWtlZmlsZS5hbToKCSAgdmRwYXU6IHJlbmFtZSBHc3RCYXNlVmlkZW9EZWNvZGVyIHRvIFNhdEJhc2VWaWRlb0RlY29kZXIgdXNpbmcgQ0ZMQUdTCgoyMDEwLTA2LTI0IDE1OjIzOjMzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdHZpZGVvZnJhbWUuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0dmlkZW9mcmFtZS5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9zYXRiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL3NhdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvc2F0YmFzZXZpZGVvdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvc2F0dmlkZW9mcmFtZS5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9zYXR2aWRlb2ZyYW1lLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRmcmFtZS5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZnJhbWUuaDoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmg6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdmcmFtZS5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZnJhbWUuaDoKCSAgUmV2ZXJ0ICJ2ZHBhdTogcmVuYW1lIEdzdEJhc2VWaWRlb0RlY29kZXIgdG8gU2F0QmFzZVZpZGVvRGVjb2RlciIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBhYTA0NDRmMjA0MTU3YzIyYzExYTc0MjU0N2M5ZTY4YTllYWVjYzgwLgoKMjAxMC0wNi0yNCAxNTowOTozMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzNTYxN2MyIHRvIGE1MTk1NzEKCjIwMTAtMDYtMjQgMTM6MTg6NTUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0dmlkZW9mcmFtZS5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3R2aWRlb2ZyYW1lLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL3NhdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvc2F0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9zYXRiYXNldmlkZW91dGlscy5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9zYXR2aWRlb2ZyYW1lLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL3NhdHZpZGVvZnJhbWUuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGZyYW1lLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRmcmFtZS5oOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuaDoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2ZyYW1lLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdmcmFtZS5oOgoJICB2ZHBhdTogcmVuYW1lIEdzdEJhc2VWaWRlb0RlY29kZXIgdG8gU2F0QmFzZVZpZGVvRGVjb2RlcgoKMjAxMC0wNi0yMyAyMjozMzowNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuYzoKCSAgdmRwYXVoMjY0ZGVjOiB1c2UgYml0c2hpZnRzIGluc3RlYWQgb2YgcG93CgoyMDEwLTA2LTIzIDIyOjIxOjE4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJICB2ZHBhdWgyNjRkZWM6IGFkZCBpbnRlcmxhY2VkID0gZmFsc2UgdG8gc2luayBjYXBzCgkgIHdlIGRvbid0IHN1cHBvcnQgaW50ZXJsYWNlZCBjb250ZW50IHlldAoKMjAxMC0wNi0yMyAyMjoxODo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXA6IEFsbCByZWFkIHJldHVybiB2YWx1ZXMgc21hbGxlciB0aGFuIHplcm8gYXJlIGZhaWx1cmVzCgoyMDEwLTA2LTIzIDIxOjEwOjAzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5jOgoJICB2ZHBhdWgyNjRkZWM6IGZpeCBwYXJzaW5nIG9mIHNjYWxpbmcgbGlzdHMKCjIwMTAtMDYtMjMgMjE6MDk6NDIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RuYWxyZWFkZXIuYzoKCSAgdmRwYXVoMjY0ZGVjOiBmaXggcmVhZGluZyBvZiBzaWduZWQgZXhwIGdvbG9tYgoKMjAxMC0wNi0yMiAxNTo0OToxNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXU6IGZpeHVwIGRlY29kZXIgdGltZXN0YW1waW5nCgoyMDEwLTA2LTIyIDE0OjUyOjAwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIHZkcGF1OiByZW1vdmUgcGFyc2VfY29kZWNfZGF0YSBmcm9tIEdzdEJhc2VWaWRlb0RlY29kZXIKCjIwMTAtMDYtMjIgMTQ6MjU6MTcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmM6CgkgIHZkcGF1aDI2NGRlYzogZml4IGluaXRpYWxpemF0aW9uIG9mIGZhbGxiYWNrIHNjYWxpbmcgbWF0cml4CgoyMDEwLTA2LTIyIDE0OjE3OjI4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRmcmFtZS5oOgoJICB2ZHBhdWgyNjRkZWM6IGltcHJvdmUgZnVydGhlcgoKMjAxMC0wNi0xNyAxNToyMDo1MSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkgIHZkcGF1aDI2NGRlYzogbm93IHdvcmtzIGZvciBzaW1wbGUgc3RyZWFtcwoKMjAxMC0wNi0xNyAxNToyMDowMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1OiBjaGFuZ2UgZ3N0X3ZkcF92aWRlb19zcmNfcGFkX2dldF9kZXZpY2UgYmVoYXZpb3VyCgkgIGl0IG5vdyBjcmVhdGVzIHRoZSBkZXZpY2UgaWYgaXQncyBub3QgYXZhaWxhYmxlCgoyMDEwLTA2LTE2IDIzOjEyOjQzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGZyYW1lLmg6CgkgIHZkcGF1OiBtb3JlIHdvcmsgb24gaDI2NCBkZWNvZGVyCgoyMDEwLTA2LTEwIDEyOjEzOjUwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3R2aWRlb2ZyYW1lLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RuYWxyZWFkZXIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0bmFscmVhZGVyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZnJhbWUuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGZyYW1lLmg6CgkgIHZkcGF1OiBhZGQgYmVnaW5uaW5nIG9mIGgyNjQgZGVjb2RlcgoKMjAxMC0wNi0wOSAxNTo0Mzo0MyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdHZpZGVvZnJhbWUuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0dmlkZW9mcmFtZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHAuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRidWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRidWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHV0aWxzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0YnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRidWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dHNyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0c3JjcGFkLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmg6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5oOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZnJhbWUuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2ZyYW1lLmg6CgkqIHN5cy92ZHBhdS9tcGVnL21wZWd1dGlsLmM6CgkqIHN5cy92ZHBhdS9tcGVnL21wZWd1dGlsLmg6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuaDoKCSAgdmRwYXU6IGJhc2UgdmRwYXVtcGVnZGVjIG9uIEdzdEJhc2VWaWRlb0RlY29kZXIKCjIwMTAtMDYtMDggMTM6MzY6NTMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGZpeCBzbWFsbCBidWcKCjIwMTAtMDUtMTUgMjI6NDc6NDEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSAgdmRwYXVtcGVnZGVjOiB1c2UgUkVBRF9VSU5UWzh8MTZ8MzJdIG1hY3JvcwoKMjAxMC0wNi0wNCAxMjoyNDoxNiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuaDoKCSAgdmRwYXU6IHJlbW92ZSBnc3RfdmRwX3ZpZGVvX3NyY19wYWRfc2V0X2NhcHMKCjIwMTAtMDYtMjMgMjE6NDY6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBEbyBzb21lIHNhbml0eSBjaGVja3MgYmVmb3JlIGFjY2VwdGluZyBhbiBVUkkKCSAgRml4ZXMgYnVnICM2MjIzNjkuCgoyMDEwLTA2LTE3IDEwOjU4OjU1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICBqaWZtdXg6IEFkZHMgaW1hZ2Ugb3JpZW50YXRpb24gdGFncyB0ZXN0cwoJICBBZGRzIHRlc3RzIGZvciBpbWFnZSBvcmllbnRhdGlvbiB0YWdzIHRvIGppZm11eAoKMjAxMC0wNi0yMyAxMDozODo1NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IG9idGFpbiBjb3JyZWN0IHVwc3RyZWFtIHRpbWVzdGFtcAoJICAuLi4gZm9yIG9wdGlvbmFsIGRvd25zdHJlYW0gdXNlLgoKMjAxMC0wNi0yMiAxMjoyODozOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGFkZCBuZXcgaDI2NCBjYXBzIGF0dHJpYnV0ZSBhbGlnbm1lbnQKCSAgU2VlICM2MDY2NjIuCgoyMDEwLTA2LTIxIDIzOjQ4OjU5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGk6IGZpeCBwcmV2aW91cyBjb21taXQKCSAgV2Ugd2VyZSBsZWFraW5nIHRoZSBlbGVtZW50IHJlZmNvdW50IGFuZCBub3QgdGhlIHBhZCBvbmUuCgoyMDEwLTA2LTIxIDIyOjMzOjU0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGk6IGRvbid0IGxlYWsgdGhlIGVsZW1lbnQgcmVmY291bnQKCjIwMTAtMDYtMjEgMTk6Mzk6NTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFJlbW92ZSB0aGUgcGFkIGZyb20gb3VyIGludGVybmFsIGxpc3QgYmVmb3JlIGNhbGxpbmcgY29sbGVjdHBhZHMKCSAgUHJldmlvdXNseSB3ZSB3b3VsZCBlbmQgdXAgd2l0aCB0aGUgY29sbGVjdHBhZGRhdGEgc3RydWN0dXJlIGFscmVhZHkgZnJlZWQuCgkgIFRoaXMgd291bGQgcmVzdWx0IGluIGEgYm9ndXMgaXRlcmF0aW9uIG9mIG11eC0+c2lua3BhZHMgKGFsbCB0aGUKCSAgR3N0UVRQYWQgYmVpbmcgZnJlZWQpIGFuZCBpdCB3b3VsZG4ndCBiZSByZW1vdmVkIGZyb20gdGhhdCBsaXN0LgoJICBGaW5hbGx5LCBkdWUgdG8gaXQgbm90IGJlaW5nIHJlbW92ZWQgZnJvbSB0aGF0IGxpc3QsIHdlIHdvdWxkIGVuZCB1cAoJICBjYWxsaW5nIGEgYm9ndXMgZ3N0X3F0X211eF9wYWRfcmVzZXQgb24gdGhvc2Ugc3RydWN0dXJlcyA9PiBTRUdGQVVMVAoKMjAxMC0wNi0yMSAxMDoyMTowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmRlYnVnLmg6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogTW92ZSBkZWJ1ZyBjYXRlZ29yeSBkZWNsYXJhdGlvbiB0byBhIHNlcGFyYXRlIGZpbGUKCSAgSGF2aW5nIEdTVF9ERUJVR19DQVRFR09SWSBhbmQgR1NUX0RFQlVHX0NBVEVHT1JZX0VYVEVSTiB0b2dldGhlcgoJICBtaWdodCBsZWFkIHRvICd1bmRlZmluZWQgc3ltYm9sJyBwcm9ibGVtcy4gVGhpcyBjb21taXQgbW92ZXMKCSAgdGhlIF9FWFRFUk4gdG8gYSBzZXBhcmF0ZSBuZXcgZmlsZS4KCjIwMTAtMDYtMjEgMTE6MTM6MjAgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBSZXZlcnQgImgyNjRwYXJzZTogYWRkIHBhcnNlZCBmaWVsZCB0byBzcmMgY2FwcyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA1NGVkYWU0ZjFmMjExOWNmNDkyZmZlNDRmOTM2Zjk5ZTEzM2FmN2RjLgoJICBTZWUgdGhpcyBidWcgZm9yIG1vcmUgaW5mb3JtYXRpb246CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY2NjIKCjIwMTAtMDYtMTcgMDg6NDI6NTMgKzEwMDAgIEF1c3RpbiBMdW5kIDxhdXN0aW4ubHVuZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IFJlbW92ZSByZWR1bmRhbnQgbG9nIG1lc3NhZ2UKCjIwMTAtMDYtMjAgMTA6Mzk6MzkgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGFkZCBwYXJzZWQgZmllbGQgdG8gc3JjIGNhcHMKCjIwMTAtMDYtMTggMTQ6Mzc6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzdGFnOiBVc2UgZ3N0X3RhZ19saXN0X3BlZWtfc3RyaW5nX2luZGV4CgkgIFJlcGxhY2UgX2dldF9zdHJpbmdfaW5kZXggd2l0aCBfcGVla19zdHJpbmdfaW5kZXggdG8gYXZvaWQKCSAgYSBzdHJpbmcgY29weQoKMjAxMC0wNi0xOCAxODo0MTo1OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGFsc28gaGFuZGxlIDMtYnl0ZSBieXRlc3RyZWFtIHN5bmMgY29kZQoKMjAxMC0wNi0xNyAxMDo1MjozMSArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0c2VjdGlvbmZpbHRlci5jOgoJICBtcGVnZGVtdXg6IGltcHJvdmUgZGVidWcgb3V0cHV0CgoyMDEwLTA2LTE2IDEwOjMxOjE5ICswMjAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJICBwbm1kZWM6IERvbid0IGNyYXNoIGlmIG5vIHZhbGlkIGlucHV0IHdhcyBwYXJzZWQgeWV0CgkgIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9NjAzNzcxCgoyMDEwLTA2LTExIDEwOjUzOjI2ICsxMDAwICBBdXN0aW4gTHVuZCA8YXVzdGluLmx1bmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogQWRkZWQgZGVidWdnaW5nIG91dHB1dCBmb3IgbXBlZ3BhY2tldGlzZXIKCjIwMTAtMDYtMTUgMTY6NTA6MDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDkzMzljY2MgdG8gMzU2MTdjMgoKMjAxMC0wNi0xNSAxNjo1NDoyOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1YWRiMWNhIHRvIDkzMzljY2MKCjIwMTAtMDYtMTUgMTU6MzQ6MDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggc2VlayBldmVudCByZWYgaGFuZGxpbmcKCjIwMTAtMDYtMTUgMTU6MzM6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcmV2ZW50IGFyaXRobWV0aWMgb3ZlcmZsb3dzIGluIHB1bGwgbW9kZSBidWZmZXIgY2FjaGUgaGFuZGxpbmcKCjIwMTAtMDYtMTUgMTU6MzI6MzQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggc2VlayBoYW5kbGluZwoJICBBbGxvdyBhIGZldyBtb3JlIHNlZWsgZXZlbnQgdHlwZSBjb21iaW5hdGlvbnMsIGFuZCByZWFsbHkgdXNlIHRoZSByZXN1bHQKCSAgb2YgZ3N0X3NlZ21lbnRfc2V0X3NlZWsgdG8gcGVyZm9ybSB0aGUgc2Vlay4gIEFsc28gYWRkIHNvbWUgZGVidWcuCgoyMDEwLTA2LTE1IDE2OjM1OjM1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDU3Yzg5YjcgdG8gNWFkYjFjYQoKMjAxMC0wNi0xNSAxNTo0OToyNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjODA0OTg4IHRvIDU3Yzg5YjcKCjIwMTAtMDYtMTIgMDk6MDI6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBJbXBsZW1lbnQgbXVsdGlwYXNzIGVuY29kaW5nCgkgIEZpeGVzIGJ1ZyAjNjIxMzQ4LgoKMjAxMC0wNi0xNSAxMToyMDoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IHNwcmlua2xlIHNvbWUgYnJhbmNoIHByZWRpY3Rpb24KCjIwMTAtMDYtMTUgMTE6MTY6NDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBoYW5kbGUgRkxVU0hfU1RPUCBldmVudAoKMjAxMC0wNi0xNSAxMToxNjozNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5oOgoJICBtcGVnNHZpZGVvcGFyc2U6IGFkZCBjb25maWctaW50ZXJ2YWwgcGFyYW1ldGVyIHRvIHJlLWluc2VydCBjb25maWcgaW4gc3RyZWFtCgkgIEFkZCBhIG5ldyBjb25maWctaW50ZXJ2YWwgcHJvcGVydHkgdG8gaW5zdHJ1Y3QgdGhlIHBhcnNlciB0byBpbnNlcnQKCSAgY29uZmlnIChWT1NILCBWT1MsIGV0YykgYXQgcGVyaW9kaWMgaW50ZXJ2YWxzIGluIHRoZSBzdHJlYW0KCSAgKHdoZW4gYSBHT1Agb3IgVk9QLUkgaXMgZW5jb3VudGVyZWQpLgoJICBCYXNlZCBvbiBwYXRjaCBieSA8bWFyYy5sZWVtYW4gYXQgZ21haWwuY29tPgoJICBGaXhlcyAjNjIxMjA1LgoKMjAxMC0wNi0xNSAxNzoxNjoxMiArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBBcHBseSBwcmV2aW91cyB0aW1lc3RhbXAgd2hlbiB0aGVyZSBpc24ndCBhbnkgbmV3ZXIuCgkgIElmIHRoZSBjdXJyZW50IGluY29taW5nIHBhY2tldCBkaWRuJ3QgY2FycnkgYSB0aW1lc3RhbXAsIGJ1dCBhCgkgIHByZXZpb3VzIHBhY2tldCBoYWQgb25lIHdlIGRpZG4ndCB5ZXQgdXNlLCB0aGVuIGFwcGx5IHRoYXQgdGltZXN0YW1wCgkgIHRvIHRoZSBuZXh0IHBpY3R1cmUuCgkgIEZpeGVzOiAjNjE4MzM2CgoyMDEwLTA2LTE0IDE3OjAxOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJICBjb25maWd1cmU6IFJlcXVpcmUgR0xpYiAyLjIwCgoyMDEwLTA2LTE0IDE1OjU2OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogU2V0IFZQOEVfU0VUX0NQVVVTRUQgdG8gMAoJICBUaGlzIHNldHRpbmcgY29udHJvbHMgaG93IG11Y2ggQ1BVIGNhbiBiZSB1c2VkIGJ5IHRoZSBlbmNvZGVyLCBzcGVjaWZpZWQKCSAgaW4gZnJhY3Rpb25zIG9mIDE2LiBOZWdhdGl2ZSB2YWx1ZXMgbWVhbiBzdHJpY3QgZW5mb3JjZW1lbnQgb2YgdGhpcwoJICB3aGlsZSBwb3NpdGl2ZSB2YWx1ZXMgYXJlIGFkYXB0aXZlLgoJICBUaGUgZGVmYXVsdCB2YWx1ZSBpcyAtNCwgd2hpY2ggbWVhbnMgdGhhdCB3ZSdyZSBub3QgcnVubmluZyBhcyBmYXN0CgkgIGFzIHBvc3NpYmxlIGFuZCBwcm9iYWJseSBhcmUgd2FzdGluZyBzb21lIHF1YWxpdHkuIDAgaXMgdGhlIHJlY29tbWVuZGVkCgkgIGRlZmF1bHQgYnkgbGlidnB4IHVwc3RyZWFtLgoKMjAxMC0wNi0xNCAxNTo1MTozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFVzZSBWUFggZGVmaW5lcyBmb3IgUkVBTFRJTUUsIEdPT0QvQkVTVCBxdWFsaXR5IGRlYWRsaW5lcyBpbnN0ZWFkIG9mIG91ciBvd24KCSAgVGhlc2UgYXJlIHRoZSB2YWx1ZXMgdXNlZCBmb3IgdGhlIHNwZWVkIHByb3BlcnR5LgoKMjAxMC0wNi0xNCAxNTo0Njo1OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJICBkdHNkZWM6IHByZXZlbnQgY29tcGlsZXIgd2FybmluZyBpZiBvcmMgbm90IHByZXNlbnQKCjIwMTAtMDUtMzEgMTg6MzA6MzYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogaGFuZGxlIEZMVVNIX1NUT1Agc2luayBldmVudAoKMjAxMC0wNS0zMSAxODozMDoxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBvcHRpbWl6ZSBpbWFnZSBwYXJzaW5nCgkgIFVzZSBhZGFwdGVyIEFQSSBmb3Igc2Nhbm5pbmcgYW5kIHBlZWtpbmcgdG8gcmVkdWNlIGJ1ZmZlciBjb3B5aW5nLgoJICBTZWUgIzU4MzA0Ny4KCjIwMTAtMDYtMTQgMTU6MzI6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSAgZHRzZGVjOiBDYWxsIG9yY19pbml0KCkgYmVmb3JlIHRyeWluZyB0byBnZXQgdGFyZ2V0IGZsYWdzCgoyMDEwLTA2LTE0IDE0OjUzOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBDaGVjayBmb3Igb3JjIGluc3RlYWQgb2YgbGlib2lsCgoyMDEwLTA2LTE0IDE0OjUxOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdHMvTWFrZWZpbGUuYW06CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkgIGR0c2RlYzogVXNlIG9yYyBmb3IgQ1BVIGZlYXR1cmUgZGV0ZWN0aW9uCgoyMDEwLTA2LTE0IDE0OjQ4OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IERvbid0IHVzZSBsaWJvaWwgZnVuY3Rpb25zCgkgIGdsaWJjIG1lbWNweSgpIHdpbGwgYmUgZmFzdGVyIHRoYW4gbGlib2lsJ3Mvb3JjJ3MgZm9yIG5vdyBhbnl3YXkKCSAgYW5kIHdlIGNhbiB1c2Ugb3JjJ3MgbGF0ZXIsIGFmdGVyIG9yYyBoYXMgc3VwcG9ydCBmb3IgbG9vcCB1bnJvbGxpbmcuCgoyMDEwLTA2LTE0IDE0OjQ3OjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZV9mdW5jdGFibGUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlX3JlZi5jOgoJICBsZWdhY3lyZXNhbXBsZTogRG9uJ3QgaW5jbHVkZSBsaWJvaWwgaGVhZGVycywgdGhleSdyZSBub3QgdXNlZCBhbnl3YXkKCjIwMTAtMDYtMTQgMTM6MjY6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFVzZSBHTElCX0VYVFJBX0NGTEFHUwoKMjAxMC0wNi0xNCAxMzowNDo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDdhMGZkZjUgdG8gYzgwNDk4OAoKMjAxMC0wNi0xNCAxMjo0OTo0MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IGFkZCBvcHRpb24gdG8gaW5zZXJ0IFNQUy9QUFMgaW4gc3RyZWFtCgkgIEFkZCBhIG5ldyBjb25maWctaW50ZXJ2YWwgcHJvcGVydHkgdG8gaW5zZXJ0IFNQUyBhbmQgUFBTIGF0IHBlcmlvZGljIGludGVydmFscwoJICBpbiB0aGUgc3RyZWFtICh3aGVuIGFuIElEUiBpcyBlbmNvdW50ZXJlZCkuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IDxtYXJjLmxlZW1hbiBhdCBnbWFpbC5jb20+CgkgIEZpeGVzICM2MjA5NzguCgoyMDEwLTA2LTA5IDE1OjMyOjE0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogYWxzbyBjb2xsZWN0IFNQUyBhbmQgUFBTIG5hbHUgaW4gY29kZWNfZGF0YQoKMjAxMC0wNi0xNCAxMTozNDoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZkYTNiYWIgdG8gN2EwZmRmNQoKMjAxMC0wNi0xMyAwODoyODowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveHZpZC9nc3R4dmlkLmM6CgkgIHh2aWQ6IERvbid0IHVzZSBkZXByZWNhdGVkIDE1LzE2IGJpdCBSR0IgbWFza3MKCjIwMTAtMDYtMTIgMDg6Mjg6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3MzNmY2E5IHRvIDZkYTNiYWIKCjIwMTAtMDUtMjIgMTA6MzU6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZjZC92Y2RzcmMuYzoKCSAgdmNkc3JjOiBtaW5vciBjbGVhbi11cAoJICBVc2UgZ3N0X3VyaV9oYXNfcHJvdG9jb2woKS4KCjIwMTAtMDYtMTEgMTU6Mjk6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIGppZm11eDogRml4IHRlc3RzIGJ1aWxkaW5nCgkgIE9ubHkgYnVpbGQgamlmbXV4IHRlc3RzIGlmIGxpYmV4aWYgaGVhZGVycyBhcmUgcHJlc2VudAoKMjAxMC0wNi0wOSAxOToxNjowMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuaDoKCSogZXh0L2NvZy9nc3Rjb2dvcmMub3JjOgoJICBjb2c6IHVzZSBnbGliIGluc3RlYWQgb2Ygc3RkaW50IHR5cGVzCgoyMDEwLTA2LTA5IDE4OjM5OjM4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB1c2UgbTQgbWFjcm8gZm9yIE9yYyBjaGVjawoKMjAxMC0wNi0wNSAxNjowMjo0MSArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IHJlbW92ZSBzcHVyaW91cyB3YXJuaW5nCgoyMDEwLTA2LTEwIDE0OjE3OjI0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZXF1aXJlIGNvcmUvYmFzZSBnaXQgZm9yIHRoZSBuZXcgaW1hZ2UgdGFncyBhbmQgaGVscGVyIGZ1bmN0aW9ucwoKMjAxMC0wNS0xMCAxMDo0NzowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIHRlc3RzOiBqaWZtdXg6IEFkZHMgamlmbXV4IGV4aWYgdGFncyB0ZXN0cwoJICBBZGRzIGEgYmFzaWMgdW5pdCB0ZXN0IGZvciBqaWZtdXggdG8gdGVzdCB0aGF0IGV4aWYgdGFncwoJICBhcmUgd3JpdGVuIHByb3Blcmx5LgoJICBUaGlzIHRlc3QgdXNlcyBsaWJleGlmLgoJICBGaXhlcyAjNjE0ODcyCgoyMDEwLTA0LTI4IDIzOjUyOjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ2Zvcm1hdDogQWRkIGV4aWYgc3VwcG9ydAoJICBBZGRzIGV4aWYgd3JpdGluZyBzdXBwb3J0IHRvIGppZm11eC4KCSAgQWRkcyBwYXJzaW5nIHN1cHBvcnQgdG8ganBlZ3BhcnNlLgoJICBGaXhlcyAjNjE0ODcyCgoyMDEwLTA2LTA5IDEyOjQwOjIxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZmFkMTQ1YiB0byA3MzNmY2E5CgoyMDEwLTA2LTA5IDEyOjM0OjEwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNDc2ODNjMSB0byBmYWQxNDViCgoyMDEwLTA2LTA5IDIwOjQ5OjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogRml4IHRpbWVzdGFtcHMgYWZ0ZXIgYSBzZWVrCgoyMDEwLTA2LTA4IDE0OjMzOjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4Lmg6CgkgIGFzZm11eDogRGVwcmVjYXRlICdpcy1saXZlJyBhbmQgYWRkICdzdHJlYW1hYmxlJyBwcm9wZXJ0eQoJICBGb2xsb3dpbmcgdGhlIHNpbWlsYXIgY2hhbmdlIGluIGZsdm11eCwgdGhpcyBjb21taXQgYWRkcwoJICAnc3RyZWFtYWJsZScgcHJvcGVydHkgYW5kIGRlcHJlY2F0ZWQgJ2lzLWxpdmUnIGZvciBhIGJldHRlci9sZXNzIHdyb25nCgkgIG5hbWUuCgoyMDEwLTA1LTEzIDEyOjE1OjI3ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IGRvbid0IHNldCB0aGUgJ3NlZWthYmxlJyBmbGFnIGlmIHdlIGFyZSBzdHJlYW1pbmcKCSAgRml4ZXMgIzYxODUyMgoKMjAxMC0wNC0yOSAxMDo0Njo0OSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiB3cml0ZSBwcmVyb2xsIGluZm8gaW4gdGhlIGhlYWRlciBhdCBpbml0aWFsaXphdGlvbgoJICBUaGlzIHZhbHVlIGRvZXNuJ3QgbmVlZCB0byBiZSB1cGRhdGVkIGFuZCBpcyB1c2VmdWxsIGluIGEgc3RyZWFtaW5nIGNvbnRleHQKCSAgRml4ZXMgIzYxODUyMgoKMjAxMC0wNC0yNiAxMzozMzo0OCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBwdXQgaGVhZGVycyBpbiBzdHJlYW1oZWFkZXIgZm9yIHN0cmVhbWluZwoJICBGaXhlcyAjNjE4NTIyCgoyMDEwLTA2LTA4IDEzOjU5OjQ1ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBzdGFydCBwbXQgYXQgMHgwMjAgYXMgc3VnZ2VzdGVkIGJ5IFphaGVlcgoKMjAxMC0wNi0wOCAxMzo1OTowOCArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSAgbXBlZ3RzbXV4OiB0YWtlIGFsbCB0aGUgcG10IGluIHRoZSBzdHJlYW1oZWFkZXJzCgoyMDEwLTA2LTA4IDA5OjE0OjAxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRG8gbm90IGFzc2VydCBvbiBzZXRfcHJvcGVydHkgdG8gTlVMTCBmb3IgZWxlbWVudHMKCSAgQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIE5VTEwgYmVmb3JlIHJlZmZpbmcgdGhlbSBpbiBzZXRfcHJvcGVydHkKCSAgZm9yICdHc3RFbGVtZW50JyBwcm9wZXJ0aWVzCgoyMDEwLTA2LTA4IDA4OjQxOjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRG8gbm90IGFzc2VydCBvbiBudWxsIGNhcHMgcHJvcGVydHkKCSAgSWYgY2FtZXJhYmluIHJlY2VpdmVzIGEgbnVsbCBjYXBzIGFzICdmaWx0ZXItY2FwcycgYXJndW1lbnQsCgkgIHVzZSB0aGUgZGVmYXVsdCB2YWx1ZQoKMjAxMC0wNi0wNyAyMjo1NjoxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IFVzZSBfQ0FTVCBtYWNybwoJICBSZXBsYWNlIGRlZmF1bHQgdHlwZSBjYXN0aW5nIG1hY3JvIHdpdGggdGhlIGZhc3RlciBkaXJlY3QgX0NBU1QgbWFjcm8KCjIwMTAtMDYtMDcgMjI6MjE6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGVnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RkaWZmdXNlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWFyYmxlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcGhlcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHdhdGVycmlwcGxlLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogTWFrZSBwcm9wZXJ0aWVzIGNvbnRyb2xsYWJsZQoJICBNYWtlcyB0aGUgZWxlbWVudCdzIHByb3BlcnRpZXMgY29udHJvbGxhYmxlIGFuZCB0aHJlYWRzYWZlLgoJICBGaXhlcyAjNjIwODI1CgoyMDEwLTA2LTA3IDE3OjM5OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogUmVtb3ZlIHBhZ2UtdXJsIGFuZCBzd2YtdXJsIHByb3BlcnRpZXMKCSAgSXQncyBwb3NzaWJsZSB0byBpbmNsdWRlIGFsbCB0aG9zZSBvcHRpb25zIGluIHRoZSBVUkwgYWxyZWFkeQoJICBieSBhcHBlbmRpbmcgdGhlIG9wdGlvbnMgYW5kIHNlcGFyYXRpbmcgdGhlbSBieSBzcGFjZXMsIGUuZy4KCSAgcnRtcDovL3NvbWV3aGVyZS9zb21ldGhpbmcgb3B0MT12YWwxIG9wdDI9dmFsMgoKMjAxMC0wNi0wNyAxNzozMDo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IEZpeCBtZW1vcnkgbGVha3MKCjIwMTAtMDYtMDcgMTE6MTU6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0Lmg6CgkgIGR0bWZkZXRlY3Q6IE9ubHkgd29ya3Mgd2l0aCByYXRlPTgwMDAsIGZpeCBpbiBjYXBzCgoyMDEwLTA2LTA3IDA3OjU4OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRml4IGNyYXNoIGluICdmaWxlbmFtZScgcHJvcGVydHkKCSAgRG8gbm90IGNyYXNoIHdoZW4gZmlsZW5hbWUgcHJvcGVydHkgaXMgc2V0IHRvIE5VTEwsIHVzZSBhbgoJICBlbXB0eSBzdHJpbmcgaW5zdGVhZC4KCjIwMTAtMDYtMDcgMDc6Mzg6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkgIGthdGU6IFJ1biBnc3QtaW5kZW50IG9uIC5jIGZpbGVzCgkgIGthdGUgcGx1Z2luIGhhcyBzb21lIGluZGVudGF0aW9uIHByb2JsZW1zLCBydW4gZ3N0LWluZGVudCBvbiB0aGVtCgkgIGFuZCBmaXggaXQKCjIwMTAtMDYtMDYgMjI6MzQ6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nZW9tZXRyaWNtYXRoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ2VvbWV0cmljbWF0aC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1hcmJsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1hcmJsZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBtYXJibGU6IEFkZHMgJ21hcmJsZScgZWxlbWVudCB0byBnZW9tZXRyaWN0cmFuc2Zvcm0KCSAgQWRkcyBhIG5ldyBlbGVtZW50IHRoYXQgZG9lcyBhIG1hcmJsaW5nIGVmZmVjdCB0bwoJICBnZW9tZXRyaWN0cmFuc2Zvcm0gcGx1Z2luCgoyMDEwLTA2LTA2IDE0OjM1OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogVXNlIGV4cGxpY2l0IGZvcm1hdHMgZnJvbSBnc3R2aWRlbwoJICBVc2UgZXhwbGljaXQgZm9ybWF0IG1hY3JvcyBmcm9tIGdzdHZpZGVvIHRvIGF2b2lkIGV4cG9zaW5nCgkgIHVuc3VwcG9ydGVkIGZvcm1hdHMgb24gdGVtcGxhdGUgcGFkcy4gVXNpbmcgdGhlIG1hY3JvcwoJICBhbHNvIGdpdmUgdXMgY29tcGxldGUgY2FwcyAod2lkdGgvaGVpZ2h0L2ZyYW1lcmF0ZSkuCgkgIEFuZCBhZGQgc3VwcG9ydCBmb3IgQVlVVi4KCSAgRml4ZXMgIzYyMDcxNwoKMjAxMC0wNi0wNSAxOTozODo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGRpZmZ1c2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RkaWZmdXNlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIGRpZmZ1c2U6IEFkZHMgZGlmZnVzZSBlbGVtZW50IHRvIGdlb21ldHJpY3RyYW5zZm9ybQoJICBBZGRzIHRoZSAnZGlmZnVzZScgZWxlbWVudCB0byBnZW9tZXRyaWN0cmFuc2Zvcm0uIEl0IG1vdmVzCgkgIHRoZSBwaXhlbHMgb2YgdGhlIGltYWdlIGluIHJhbmRvbSBkaXJlY3Rpb25zCgoyMDEwLTA2LTA1IDE5OjIwOjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmg6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogTWFrZSBtYXAgcHJlY2FsY3VsYXRpb24gb3B0aW9uYWwKCSAgQWRkcyBhIHZhcmlhYmxlIHRvIGJlIHNldCB0byBhbGxvdyBzdWJjbGFzc2VzIHRvIGVuYWJsZQoJICBvciBkaXNhYmxlIHByZWNhbGN1bGF0aW9uIG9mIHRoZSBwaXhlbHMgbWFwcGluZwoKMjAxMC0wNi0wNiAxNTozMjozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IEFkZCBzb21lIGJyYWNlcyB0byBpbXByb3ZlIHJlYWRhYmlsaXR5CgoyMDEwLTA2LTA2IDE1OjI5OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogSW1wcm92ZSB0aW1lc3RhbXAgaGFuZGxpbmcgYSBiaXQKCjIwMTAtMDYtMDYgMTU6MjQ6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmg6CgkgIHJ0bXBzcmM6IEFkZCBzdXBwb3J0IGZvciBzZWVraW5nCgoyMDEwLTA2LTA2IDEzOjU3OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5oOgoJICBydG1wc3JjOiBIYW5kbGUgdGltZXN0YW1wcyBhbmQgdGhlIHBvc2l0aW9uIHF1ZXJ5CgkgIFRoaXMgaXMgbm90IHZlcnkgYWNjdXJhdGUgYnV0IGJldHRlciB0aGFuIG5vdGhpbmcuIFRoZSBkZW11eGVyCgkgIGFmdGVyIHRoZSBzb3VyY2Uga25vd3MgbW9yZSBhY2N1cmF0ZSB0aW1lc3RhbXBzLgoKMjAxMC0wNi0wNiAwODozMDowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IEFsbG9jYXRlIGFuZCBmcmVlIHRoZSBSVE1QIGluc3RhbmNlIGluIHN0YXJ0L3N0b3AKCjIwMTAtMDYtMDQgMjI6MzY6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmg6CgkgIHJ0bXBzcmM6IEFkZCBwcm9wZXJ0aWVzIGZvciBzZXR0aW5nIHRoZSBzd2ZVcmwgYW5kIHBhZ2VVcmwgcHJvcGVydGllcwoJICBUaGVzZSBhcmUgcmVxdWlyZWQgZm9yIHNvbWUgc3RyZWFtcyB1bmZvcnR1bmF0ZWx5LgoKMjAxMC0wNi0wNCAyMjowNDo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuaDoKCSAgcnRtcHNyYzogTWFqb3IgY2xlYW51cCBhbmQgcmVvcmdhbml6YXRpb24KCjIwMTAtMDYtMDQgMDg6MTQ6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9ydG1wL01ha2VmaWxlLmFtOgoJKiBleHQvcnRtcC9SRUFETUU6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5oOgoJKiBnc3QvcnRtcC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0bXAvYW1mLmM6CgkqIGdzdC9ydG1wL2FtZi5oOgoJKiBnc3QvcnRtcC9ieXRlcy5oOgoJKiBnc3QvcnRtcC9kaC5oOgoJKiBnc3QvcnRtcC9kaGdyb3Vwcy5oOgoJKiBnc3QvcnRtcC9nc3RydG1wc3JjLmM6CgkqIGdzdC9ydG1wL2dzdHJ0bXBzcmMuaDoKCSogZ3N0L3J0bXAvaGFuZHNoYWtlLmg6CgkqIGdzdC9ydG1wL2hhc2hzd2YuYzoKCSogZ3N0L3J0bXAvaHR0cC5oOgoJKiBnc3QvcnRtcC9sb2cuYzoKCSogZ3N0L3J0bXAvbG9nLmg6CgkqIGdzdC9ydG1wL3BhcnNldXJsLmM6CgkqIGdzdC9ydG1wL3J0bXAuYzoKCSogZ3N0L3J0bXAvcnRtcC5oOgoJKiBnc3QvcnRtcC9ydG1wX3N5cy5oOgoJICBydG1wOiBNb3ZlIHRvIGV4dCBhbmQgZHJvcCBpbnRlcm5hbCBsaWJydG1wIGNvcHkKCSAgV2UgcmVhbGx5IGRvbid0IHdhbnQgdGhpcyBpbiBnc3QtcGx1Z2lucy1iYWQgYmVjYXVzZSBvZgoJICBsZWdhbCBjb21wbGV4aXRpZXMgYXJvdW5kIFJUTVAgYW5kIHBvc3NpYmxlIHByb2JsZW1zCgkgIGZvciBkaXN0cmlidXRpb25zLgoJICBBZGQgUkVBRE1FIHRoYXQgZXhwbGFpbnMgaG93IHRvIGJ1aWxkIGxpYnJ0bXAgdG8gYmUgc3VpdGFibGUKCSAgZm9yIGxpbmtpbmcgdG8gdGhlIEdTdHJlYW1lciBwbHVnaW4uCgoyMDEwLTA2LTAyIDAwOjQ1OjA2ICswMTAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9ydG1wL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRtcC9hbWYuYzoKCSogZ3N0L3J0bXAvYW1mLmg6CgkqIGdzdC9ydG1wL2J5dGVzLmg6CgkqIGdzdC9ydG1wL2RoLmg6CgkqIGdzdC9ydG1wL2RoZ3JvdXBzLmg6CgkqIGdzdC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZ3N0L3J0bXAvZ3N0cnRtcHNyYy5oOgoJKiBnc3QvcnRtcC9oYW5kc2hha2UuaDoKCSogZ3N0L3J0bXAvaGFzaHN3Zi5jOgoJKiBnc3QvcnRtcC9odHRwLmg6CgkqIGdzdC9ydG1wL2xvZy5jOgoJKiBnc3QvcnRtcC9sb2cuaDoKCSogZ3N0L3J0bXAvcGFyc2V1cmwuYzoKCSogZ3N0L3J0bXAvcnRtcC5jOgoJKiBnc3QvcnRtcC9ydG1wLmg6CgkqIGdzdC9ydG1wL3J0bXBfc3lzLmg6CgkgIHJ0bXA6IEFkZCBSVE1QIHNvdXJjZSBwbHVnaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU2NjYwNAoKMjAxMC0wNi0wNSAxMTowNDo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IFNldCBvdXRwdXQgYnVmZmVyIGRhdGEgdG8gMAoJICBJbml0aWFsaXplIG91dHB1dCBidWZmZXIgZGF0YSB0byAwIGJlZm9yZSBkb2luZyB0aGUKCSAgdHJhbnNmb3JtLgoKMjAxMC0wNi0wNSAxMDo1ODowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3BoZXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R3YXRlcnJpcHBsZS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IERlc2NyaXB0aW9ucyBhbmQgZGVmYXVsdCB2YWx1ZXMKCSAgSW1wcm92ZSBzb21lIHByb3BlcnRpZXMgYW5kIGVsZW1lbnQgZGVzY3JpcHRpb25zIGFuZCBjaGFuZ2VzCgkgIHNvbWUgZGVmYXVsdCBwcm9wZXJ0aWVzIHZhbHVlcy4KCjIwMTAtMDYtMDQgMTY6MTQ6MDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJICBzaG1zaW5rOiBWZXJpZnkgdGhhdCBwaXBlIGV4aXN0cyBiZWZvcmUgcmVzaXppbmcgaXQKCjIwMTAtMDYtMDQgMTU6NTQ6MzMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htYWxsb2MuYzoKCSogc3lzL3NobS9zaG1hbGxvYy5oOgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSogc3lzL3NobS9zaG1waXBlLmg6CgkgIHNobTogQWRkIGNvcHlyaWdodCBub3RpY2VzIHRvIHNobWFsbG9jLltjaF0gYW5kIHNobXBpcGUuW2NoXQoKMjAxMC0wNi0wNCAxNTo1MzoyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dlb21ldHJpY21hdGguYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nZW9tZXRyaWNtYXRoLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlZ2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlZ2VvbWV0cmljdHJhbnNmb3JtLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNwaGVyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNwaGVyZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R3YXRlcnJpcHBsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHdhdGVycmlwcGxlLmg6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogUmVtb3ZlIHRyYWlsaW5nIHdoaXRlc3BhY2UKCSAgUmVtb3ZlIHRyYWlsaW5nIHdoaXRlc3BhY2UgZnJvbSBnZW9tZXRyaWN0cmFuc2Zvcm0gZmlsZXMKCjIwMTAtMDYtMDMgMDA6MjQ6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R3YXRlcnJpcHBsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHdhdGVycmlwcGxlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIHdhdGVycmlwcGxlOiBBZGRzIG5ldyB3YXRlcnJpcHBsZSBlbGVtZW50IHRvIGdlb21ldHJpY3RyYW5zb2ZtcgoJICBBZGRzIGFuIHdhdGVyIHJpcHBsZSBkaXN0b3J0aW9uIGVsZW1lbnQgdG8gZ2VvbWV0cmljdHJhbnNmb3JtCgoyMDEwLTA2LTAyIDIzOjU1OjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3BoZXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3BoZXJlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIHNwaGVyZTogQWRkcyBuZXcgJ3NwaGVyZScgZWxlbWVudCB0byBnZW9tZXRyaWN0cmFuc2Zvcm0KCSAgQWRkcyBhIG5ldyBlbGVtZW50IHRvIGRvICdzcGhlcmUnIGVmZmVjdCBpbnRvIGdlb21ldHJpY3RyYW5zZm9ybQoJICBwbHVnaW4KCjIwMTAtMDYtMDIgMjI6MDE6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogYWRkcyBzb21lIHByb3BlcnRpZXMgdG8gYmFzZSBjbGFzcwoJICBBZGRzIGEgcHJvcGVydHkgdG8gc2VsZWN0IHdoYXQgdG8gZG8gd2l0aCBwaXhlbHMgdGhhdCBhcmUgbWFwcGVkIG91dCBvZgoJICBlZGdlczogaWdub3JlLCBjbGFtcCBvciB3cmFwLgoKMjAxMC0wNi0wMiAxODo1ODo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dlb21ldHJpY21hdGguYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nZW9tZXRyaWNtYXRoLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIGNpcmNsZTogQWRkcyBjaXJjbGUgZWxlbWVudCB0byBnZW9tZXRyaWN0cmFuc2Zvcm0gcGx1Z2luCgkgIEFkZHMgdGhlIG5ldyAnY2lyY2xlJyBlbGVtZW50IHRvIGdlb21ldHJpY3RyYW5zZm9ybSBwbHVnaW4KCjIwMTAtMDYtMDIgMDE6MjE6MjMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nZW9tZXRyaWNtYXRoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ2VvbWV0cmljbWF0aC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBrYWxlaWRvc2NvcGU6IEFkZHMgbmV3IGVsZW1lbnQgJ2thbGVpZG9zY29wZScKCSAgQWRkcyBuZXcga2FsZWlkb3Njb3BlIGVsZW1lbnQgdG8gZ2VvbWV0cmljdHJhbnNmb3JtIHBsdWdpbgoKMjAxMC0wNi0wMiAwMDo0ODoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgZ3N0dHdpcmw6IEFkZHMgbmV3IGVsZW1lbnQgdHdpcmwKCSAgQWRkcyBhIG5ldyBlbGVtZW50IHRvIGdlb21ldHJpY3RyYW5zZm9ybSBwbHVnaW46IHR3aXJsCgoyMDEwLTA2LTAyIDAwOjM0OjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlZ2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlZ2VvbWV0cmljdHJhbnNmb3JtLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5oOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IEFkZHMgYSBpbnRlcm1lZGlhcnkgYmFzZWNsYXNzIGNpcmNsZWdlb21ldHJpY3RyYW5zZm9ybQoJICBBZGRzIGFuIGludGVybWVkaWFyeSBiYXNlY2xhc3MgbmFtZWQgZ3N0Y2lyY2xlZ2VvbWV0cmljdHJhbnNmb3JtCgkgIHRvIGtlZXAgY29tbW9uIHByb3BlcnRpZXMgY29kZSBmb3IgZmlsdGVycyB0aGF0IG9wZXJhdGUgb24KCSAgYSBjaXJjdWxhciBhcmVhLgoKMjAxMC0wNS0zMCAxMjo1MDo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guaDoKCSAgcGluY2g6IFNvbWUgb3B0aW1pemF0aW9uIHVzaW5nIHRoZSBwcmVwYXJlIGZ1bmMKCSAgU21hbGwgb3B0aW1pemF0aW9uIGJ5IHByZWNhbGN1bGF0aW5nIHRoZSBjZW50ZXIgb2YgdGhlIGVmZmVjdCwKCSAgYWxzbyB1c2UgbmV3bHkgYWRkZWQgX0NBU1QgbWFjcm8uCgoyMDEwLTA1LTMwIDEyOjM2OjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmg6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogQWRkcyBwcmVwYXJlIGZ1bmN0aW9uIGFuZCBjbGVhbnVwCgkgIEFkZHMgYSBwcmVwYXJlIGZ1bmN0aW9uIHRvIG1ha2Ugc3ViY2xhc3NlcyBwcmVjYWxjdWxhdGUgdmFsdWVzCgkgIHRoYXQgd2lsbCBiZSB1c2VkIHRocm91Z2hvdXQgdGhlIG1hcHBpbmcgZnVuY3Rpb25zLgoJICBBbHNvIGFkZHMgYSBtaXNzaW5nIGNsZWFudXAgdG8gZml4IGEgbWVtbGVhawoKMjAxMC0wNS0yNiAyMTozOToyMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5oOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IFByZWNhbGN1bGF0ZSBtYXBwaW5nIGFycmF5CgkgIFByZWNhbGN1bGF0ZSB3aGVuIHNldHRpbmcgY2FwcyB0aGUgd2FycGluZyBtYXAgdG8gYXZvaWQKCSAgcmVjYWxjdWxhdGluZyBpdCBldmVyeSBidWZmZXIKCjIwMTAtMDUtMjYgMTg6Mjk6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBBY2NlcHQgYW55IHJnYiBvciBncmF5CgkgIFVzaW5nIGdzdHZpZGVvIGZ1bmN0aW9ucyBnZW9tZXRyaWN0cmFuc2Zvcm0gY2FuIGhhbmRsZQoJICByZ2Igb3IgZ3JheSwgcHV0IHRoYXQgb24gdGVtcGxhdGUgY2FwcwoKMjAxMC0wNS0yNiAxODoyMjowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogUmVuYW1lIHNvbWUgdmFyaWFibGVzIGZvciBjbGFyaXR5CgkgIFJlbmFtZXMgc29tZSB2YXJpYWJsZXMgYW5kIGFkZHMgYSBtaW5pbXVtIGRvYyB0byB0aGUKCSAgbWFwcGluZyBmdW5jdGlvbiBmb3IgYSBsaXR0bGUgY2xhcml0eS4KCSAgQWxzbyB1c2VzIGdzdHZpZGVvIGZ1bmN0aW9ucyBmb3IgdGhlIHJvdyBhbmQgcGl4ZWwgc3RyaWRlcwoJICBpbnN0ZWFkIG9mIGhhcmRjb2RlZCB2YWx1ZXMKCjIwMTAtMDUtMjQgMjM6NTc6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBOZXcgcGx1Z2luIGZvciBnZW9tZXRyaWMgdHJhbnNmb3JtcwoJICBBZGRzIGEgbmV3IHBsdWdpbiB0aGF0IGhhcyBlbGVtZW50cyB0aGF0IHBlcmZvcm0gZ2VvbWV0cmljCgkgIHRyYW5zZm9ybWF0aW9ucyB0byBpbWFnZXMuIEJ5IGdlb21ldHJpYyB0cmFuc2Zvcm1hdGlvbnMgSSBtZWFuCgkgIHRoYXQgdGhlIG9wZXJhdGlvbnMgYXJlIGZ1bmN0aW9ucyB0aGF0IGdpdmVuIHRoZSBvdXRwdXQgcGl4ZWwKCSAgcG9zaXRpb24sIGdldCB0aGUgcGl4ZWwgcG9zaXRpb24gaW4gdGhlIGlucHV0IGltYWdlLiBUaGlzIHBpeGVsCgkgIGlzIHRoZW4gY29waWVkIGZyb20gaW5wdXQgdG8gb3V0cHV0LgoJICBUaGUgZ3N0Z2VvbWV0cmljdHJhbnNmb3JtIGJhc2VjbGFzcyBtYWtlcyBpdCBlYXN5IHRvIHdyaXRlCgkgIHN1Y2ggZWxlbWVudHMuIEl0IGJvaWxzIGRvd24gdG8gd3JpdGUgdGhlIG1hcHBpbmcgZnVuY3Rpb24KCSAgYW5kIGV4cG9zaW5nIHByb3BlcnRpZXMKCSAgQWxyZWFkeSBhZGRlZCB0aGUgZmlyc3Qgb2YgdGhlIGVsZW1lbnRzLCAncGluY2gnLiBJdCdzIGEgY29tbW9uCgkgIGVmZmVjdCBpbiBpbWFnZSBlZGl0b3JzLCBsaWtlIGdpbXAgKGRpc3RvcnQgLT4gcGluY2gpCgoyMDEwLTA2LTAzIDIzOjE5OjM1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtbWFrZXI6CgkqIHRvb2xzL2dvYmplY3QuYzoKCSogdG9vbHMvZ3N0YmFzZXNpbmsuYzoKCSogdG9vbHMvZ3N0YmFzZXNyYy5jOgoJICB0b29sczogZmxlc2ggb3V0IGVsZW1lbnQtbWFrZXIgdGVtcGxhdGVzCgoyMDEwLTA2LTAzIDE4OjE0OjA1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSAgYmF5ZXIycmdiOiBoYW5kbGUgb3RoZXIgYmF5ZXIgZm9ybWF0cwoKMjAxMC0wNi0wMyAxODoxNDo1NyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuaDoKCSAgcmdiMmJheWVyOiBoYW5kbGUgbXVsdGlwbGUgYmF5ZXIgZm9ybWF0cwoKMjAxMC0wNi0wMyAxNTo1MzowNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9iYXllci9nc3RiYXllci5jOgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuaDoKCSAgYmF5ZXI6IEFkZCByZ2IyYmF5ZXIgZWxlbWVudAoJICBNb3N0bHkgZm9yIHRlc3RpbmcvY29tcGxldGVuZXNzLgoKMjAxMC0wNi0wMyAyMDo1MTo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSAgc2htOiBmaXggZGVidWcgbWVzc2FnZXMKCSAgTWlzYy4gcHJpbnRmIGZvcm1hdCBmaXhlcyBhbmQgbWlzc2luZyBhcmd1bWVudHMuCgoyMDEwLTA2LTAzIDE1OjI3OjAzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htc2luazogTWFrZSBzdGF0aWMgZnVuY3Rpb24gc3RhdGljCgoyMDEwLTA2LTAzIDE1OjI2OjUyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSAgc2htOiBVc2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlCgoyMDEwLTA2LTAzIDE0OjQyOjA2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zaG0vTWFrZWZpbGUuYW06CgkqIGdzdC9zaG0vZ3N0c2htLmM6CgkqIGdzdC9zaG0vZ3N0c2htc2luay5jOgoJKiBnc3Qvc2htL2dzdHNobXNpbmsuaDoKCSogZ3N0L3NobS9nc3RzaG1zcmMuYzoKCSogZ3N0L3NobS9nc3RzaG1zcmMuaDoKCSogZ3N0L3NobS9zaG1hbGxvYy5jOgoJKiBnc3Qvc2htL3NobWFsbG9jLmg6CgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJKiBnc3Qvc2htL3NobXBpcGUuaDoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvc2htL01ha2VmaWxlLmFtOgoJKiBzeXMvc2htL2dzdHNobS5jOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmg6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmg6CgkqIHN5cy9zaG0vc2htYWxsb2MuYzoKCSogc3lzL3NobS9zaG1hbGxvYy5oOgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSogc3lzL3NobS9zaG1waXBlLmg6CgkgIHNobTogTW92ZSB0byBzeXMvIHNpbmNlIGl0IGRvZXNuJ3QgZXhpc3Qgb24gd2luZG93cwoKMjAxMC0wNi0wMyAxNDo0MTo1NSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9nc3RzaG1zcmMuYzoKCSAgc2htc3JjOiBGaXggaW5kZW50YXRpb24KCjIwMTAtMDYtMDMgMTQ6MjI6MzYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vZ3N0c2htc2luay5jOgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSogZ3N0L3NobS9zaG1waXBlLmg6CgkgIHNobXNpbms6IFByaW50IGVycm9ycyBpZiBmY2htb2QgZmFpbHMKCjIwMTAtMDQtMDcgMTk6MDU6MzcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJICBzaG1waXBlOiBGaXggY3Jhc2ggd2hlbiBzcF9jbG9zZV9zaG0gaXMgY2FsbGVkIHdpdGggc2VsZiA9PSBOVUxMLgoJICBJZiBzcF9vcGVuX3NobSBlcnJvcnMgb3V0IHRyeWluZyB0byBvcGVuIGEgc2htIGFyZWEsIGl0IHdvdWxkIGNyYXNoCgkgIHdoZW4gdHJ5aW5nIHRvIGZyZWUgdGhlIGFyZWEuIFRoZSBSRVRVUk5fRVJST1IgbWFjcm8gY2FsbHMKCSAgc3Bfc2htX2FyZWFfZGVjIHdpdGggc2VsZiA9PSBOVUxMLiBzcF9zaG1fYXJlYV9kZWMgY2FsbHMKCSAgc3Bfc2htX2Nsb3NlLCB3aXRoIHNlbGYgPT0gTlVMTCwgd2hpY2ggaXQgdGhlbiB0cmllcyB0byBhY2Nlc3MgYQoJICBwYXJhbWV0ZXIgb2Ygd2l0aG91dCBjaGVja2luZy4gVGhpcyBwYXRjaCBjaGVja3MgdG8gbWFrZSBzdXJlCgkgIHNlbGYgIT0gTlVMTCBiZWZvcmUgYWNjZXNzaW5nIHRoYXQgcGFyYW1ldGVyLgoKMjAxMC0wNC0wNyAxOTowNToxNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkgIHNobXBpcGU6IFVwZGF0ZSBjb2RlIHN0YW5kYXJkCgoyMDEwLTAyLTAzIDEzOjUwOjEzICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL2dzdHNobXNyYy5jOgoJICBzaG1zcmM6IEFkZCBzb2NrZXQgcGF0aCB0byBlcnJvciBtZXNzYWdlCgoyMDEwLTAyLTAyIDE3OjQwOjA5ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSAgc2htcGlwZTogUmVtb3ZlIHdyb25nIHRlc3QgaW52ZXJzaW9uCgoyMDEwLTAyLTAyIDE3OjM1OjI2ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSAgc2htcGlwZTogVmVyaWZ5IHRoYXQgYWNjZXB0IHN1Y2NlZWRzCgoyMDEwLTAyLTAyIDE3OjM1OjE1ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSAgc2htcGlwZTogRml4IG9uZSBieXRlIG92ZXJmbG93CgoyMDEwLTAyLTAyIDExOjExOjA2ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL2dzdHNobXNpbmsuYzoKCSogZ3N0L3NobS9nc3RzaG1zcmMuYzoKCSAgc2htc3JjOiBJbXByb3ZlIGRlYnVnIHByaW50cwoKMjAxMC0wMS0yNiAxMjozNDozNCArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobXNpbms6IEdldCBwb3RlbnRpYWxseSBtb2RpZmllZCBhZnRlciBvcGVuaW5nIHNobXBpcGUKCjIwMTAtMDEtMjYgMTI6MzI6NTYgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJKiBnc3Qvc2htL3NobXBpcGUuaDoKCSAgc2htOiBUcnkgYWx0ZXJuYXRlIHBhdGhzIGZvciB0aGUgc29ja2V0CgoyMDEwLTAxLTI5IDExOjA2OjQ0ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSAgc2htcGlwZTogRG9uJ3QgcHJldGVuZCB0aGUgcGF0aCBpcyByYW5kb20KCjIwMTAtMDEtMjkgMTA6NTc6MjcgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJICBzaG1waXBlOiBDcmVhdGUgc2htIGFyZWEgZXhjbHVzaXZlbHkKCjIwMTAtMDEtMjggMTU6MzQ6NDQgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htYWxsb2MuaDoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkqIGdzdC9zaG0vc2htcGlwZS5oOgoJICBzaG1hbGxvYzogTWFrZSBpdCBidWlsZCBpbiBub24tZ2xpYiB3b3JsZAoKMjAxMC0wMS0yOCAxMjoxOTowNyArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9nc3RzaG1zcmMuYzoKCSogZ3N0L3NobS9nc3RzaG1zcmMuaDoKCSAgc2htc3JjOiBNYWtlIHRoZSBzaG1waXBlIGxpZmUgaW5kZXBlbmRhbnQgb2YgdGhlIGVsZW1lbnQgc3RhdGVzCgoyMDEwLTAxLTI4IDExOjU3OjM0ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSAgc2htcGlwZTogU2ltcGxpZnkgaGFuZGxpbmcgb2YgcmFuZG9tIHBhdGhzCgoyMDEwLTAxLTI4IDExOjM2OjAxICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL2dzdHNobXNyYy5jOgoJICBzaG1waXBlOiBSZW1vdmUgdXNlbGVzcyBhdHRyaWIKCjIwMTAtMDEtMjggMTE6MzE6MTEgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJICBzaG1waXBlOiBSZWYgY2xpZW50IHNobWFyZWEgd2hlbiBhIGJ1ZmZlciBpcyByZWNlaXZlZCBpbiBpdAoKMjAxMC0wMS0yOCAxMTozMDoxMSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkgIHNobXBpcGU6IERvbid0IGRlYyBvbGQgc2htIGFyZWEgd2hlbiBuZXcgb25lIGlzIGFkZGVkCgkgIEl0cyByZWYgd2lsbCBiZSBkcm9wcGVkIHdoZW4gdGhlICJjbG9zZSIgbWVzc2FnZSBhcnJpdmVzCgoyMDEwLTAxLTI3IDExOjQ5OjM0ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL2dzdHNobXNyYy5jOgoJICBzaG1zcmM6IExvY2sgdXNlcyBvZiBzaG1waXBlCgoyMDEwLTAxLTI2IDE0OjIwOjM1ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL2dzdHNobXNyYy5jOgoJICBzaG1zcmM6IEFkZCBpcy1saXZlIHByb3BlcnR5CgoyMDA5LTExLTAzIDIwOjAzOjI0IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSAgc2htOiBQcmludCBkZXRhaWxzIG9uIGVycm9ycwoKMjAwOS0xMS0wMyAxODozMzozNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9nc3RzaG1zaW5rLmM6CgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJICBzaG06IE1ha2UgdmFsZ3JpbmQgaGFwcHkKCjIwMDktMTEtMDMgMTY6MzE6MzcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vZ3N0c2htc2luay5jOgoJICBzaG1zaW5rOiBEb24ndCBibG9jayBvbiBFT1MgaW4gbm9uLWJsb2NraW5nIG1vZGUKCjIwMDktMTEtMDMgMTY6MDk6MzUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJICBzaG06IEJsb2NrIGlmIHJlcXVpcmVkCgoyMDA5LTEwLTMwIDE4OjI0OjU4ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL2dzdHNobS5oOgoJKiBnc3Qvc2htL2dzdHNobXNpbmsuYzoKCSogZ3N0L3NobS9nc3RzaG1zaW5rLmg6CgkgIHNobXNpbms6IFBvcnQgdG8gU2htUGlwZQoKMjAwOS0xMC0zMCAxMjozNzo1MCArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9nc3RzaG1zcmMuYzoKCSogZ3N0L3NobS9nc3RzaG1zcmMuaDoKCSAgc2htc3JjOiBQb3J0IHRvIFNobVBpcGUKCjIwMDktMTAtMjkgMTk6MTg6MjUgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vTWFrZWZpbGUuYW06CgkqIGdzdC9zaG0vc2htYWxsb2MuYzoKCSogZ3N0L3NobS9zaG1hbGxvYy5oOgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSogZ3N0L3NobS9zaG1waXBlLmg6CgkgIHNobTogQWRkIHNobXBpcGUgaW1wbGVtZW50YXRpb24KCjIwMDktMDQtMjkgMTY6MzM6NDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3NobS9NYWtlZmlsZS5hbToKCSogZ3N0L3NobS9nc3RzaG0uYzoKCSogZ3N0L3NobS9nc3RzaG0uaDoKCSogZ3N0L3NobS9nc3RzaG1zaW5rLmM6CgkqIGdzdC9zaG0vZ3N0c2htc2luay5oOgoJKiBnc3Qvc2htL2dzdHNobXNyYy5jOgoJKiBnc3Qvc2htL2dzdHNobXNyYy5oOgoJICBzaG06IEFkZCBzaG0gYmFzZWQgc2luayBhbmQgc3JjCgkgIFRoZXNlIHR3byBlbGVtZW50cyAoc2htc2luayBhbmQgc2htc3JjKSBjb21tdW5pY2F0ZSBidWZmZXJzIHVzaW5nIFBPU0lYCgkgIHNoYXJlZCBtZW1vcnkuIFRoZXkgYWxzbyBjb21tdW5pY2F0ZSB0aGUgY2Fwcy4gVGhlIHNvdXJjZSBjdXJyZW50bHkgYWN0cyBhcwoJICBhIGxpdmUgc291cmNlIGFuZCBpZ25vcmVzIHRoZSB0aW1lc3RhbXBzIGNvbWluZyBmcm9tIHRoZSBzaW5rLiBJdCBhbHNvIGRvZXMKCSAgbm90IHRyYW5zZmVyIHRoZSB0YWdzLgoKMjAxMC0wNi0wMyAxNTo1MToxOCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBTb21lIGNoZWNrcyB0byBhdm9pZCBhc3NlcnRzCgkgIGdzdF9tcGVnX2Rlc2NyaXB0b3JfZmluZCgpIGV4cGVjdHMgdGhlIGRlc2NyaXB0aW9uIGZpZWxkIHRvIGJlIG5vbi1OVUxMLgoJICBUaGlzIGZpeGVzIGEgY291cGxlIG9mIGNhbGxzIHdoZXJlIHRoZSB2YWx1ZSBiZWluZyBwYXNzZWQgaXMgbm90CgkgIHZlcmlmaWVkIHRvIGJlIG5vbi1OVUxMIGZpcnN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIwNDU2CgoyMDEwLTA2LTAzIDEwOjQ5OjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogZml4IHByaW50ZiBmb3JtYXQgd2FybmluZyBpbiBsb2cgbWVzc2FnZQoJICBnc3R2cDhlbmMuYzo1NjQ6IGVycm9yOiBmb3JtYXQg4oCYJWTigJkgZXhwZWN0cyB0eXBlIOKAmGludOKAmSwgYnV0IGFyZ3VtZW50IDggaGFzIHR5cGUg4oCYc2l6ZV904oCZCgkgIGdzdHZwOGVuYy5jOjc0NDogZXJyb3I6IGZvcm1hdCDigJglZOKAmSBleHBlY3RzIHR5cGUg4oCYaW504oCZLCBidXQgYXJndW1lbnQgOCBoYXMgdHlwZSDigJhzaXplX3TigJkKCjIwMTAtMDYtMDMgMTA6NDM6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cG11eDogZml4IG1pc3NpbmcgZGVidWcgbG9nIG1lc3NhZ2UgYXJndW1lbnQKCjIwMTAtMDYtMDIgMjI6MDc6MzEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkgIGludnRlbGVjaW5lOiBhZGQgYW4gYXNzZXJ0IHRvIHBsYWNhdGUgZ2NjLTQuNQoKMjAxMC0wNi0wMiAxOTo0Njo1MCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuYzoKCSAgYmFzZXZpZGVvcGFyc2U6IGZpeCB3YXJuaW5nCgoyMDEwLTA2LTAyIDE5OjM4OjM1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5jOgoJICBiYXNldmlkZW9wYXJzZTogcmVtb3ZlIGJvZ3VzIGFwaQoKMjAxMC0wNi0wMiAxNzo1NDo0MiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkgIGJhc2V2aWRlbzogcmVtb3ZlIGdzdF9iYXNlX3ZpZGVvX3N0YXRlX2Zyb21fY2FwcwoKMjAxMC0wNi0wMiAxNzo0MDoxNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSAgYmFzZXZpZGVvOiByZW1vdmUgY29tcGF0aWJpbGl0eSBjb2RlCgoyMDEwLTA2LTAyIDE2OjA2OjIwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBPcmMgaXMgbm90IHJlcXVpcmVkCgoyMDEwLTA2LTAyIDE2OjAxOjI4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkgIGJhc2V2aWRlbzogdXNlIGRlYnVnIGNhdGVnb3J5IGZvciBlYWNoIGNsYXNzCgoyMDA5LTEwLTA1IDE1OjQ3OjU4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSAgYmFzZXZpZGVvOiBGYWlsIGlmIGNhcHMgZG9uJ3QgY29udGFpbiBhIGZyYW1lcmF0ZSBmaWVsZAoJICBSZXR1cm4gZmFsc2UgZnJvbSB0aGUgY2FwcyBwYXJzaW5nIGZ1bmN0aW9uIGlmIHRoZXJlIGlzIG5vIGZyYW1lcmF0ZQoJICBmaWVsZCBpbiB0aGUgcHJvdmlkZWQgY2FwcwoJICBNZXJnaW5nIHByZXZpb3VzIGNvbW1pdCBpbnRvIGN1cnJlbnQgY29kZWJhc2UuCgoyMDEwLTA2LTAyIDEzOjMxOjQ2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGNyZWF0ZSBuZXcgc2VnbWVudHMgaWYgbWlzc2luZwoKMjAwOS0wOS0xNyAxMDo1MDo0MCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW86IEFkZCBhIHdhcm5pbmcKCSAgTWVyZ2luZyBwcmV2aW91cyBjb21taXQgaW50byBjdXJyZW50IGNvZGViYXNlLgoKMjAwOS0wNy0wMyAxNjowODozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkgIGJhc2V2aWRlbywgdnA4OiBndWFyZCB1bnN0YWJsZSBBUEkgd2l0aCBHU1RfVVNFX1VOU1RBQkxFX0FQSQoJICBBZGQgc29tZSBndWFyZHMgYW5kIGZhdCB3YXJuaW5ncyB0byB0aGUgaGVhZGVyIGZpbGVzIHdpdGggc3RpbGwgdW5zdGFibGUKCSAgQVBJLCBzbyBwZW9wbGUgd2hvIGp1c3QgbG9vayBhdCB0aGUgaW5zdGFsbGVkIGhlYWRlcnMga25vdyB0aGF0IGl0CgkgIGFjdHVhbGx5IGlzIHVuc3RhYmxlIEFQSS4KCSAgTWVyZ2luZyBwcmV2aW91cyBjb21taXQgaW50byBjdXJyZW50IGNvZGViYXNlLgoKMjAxMC0wNi0wMiAxOTo1MjowNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IENsZWFyIGFkYXB0ZXIgd2hlbiBmbHVzaGluZwoKMjAxMC0wNi0wMiAxOTo0NToyOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IFN0b3AgZGVjb2RpbmcgaWYgY2FuJ3QgcHVzaAoKMjAxMC0wNi0wMiAxOTo0NDozMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IEZsdXNoIGFkYXB0ZXIgcmlnaHQgYXRlciB1c2luZyBpdAoKMjAwOS0xMS0xOCAxMToxNDoyOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IE5vIG5lZWQgdG8gZG8gYSB0cnkgYWxsb2NhdGlvbgoKMjAwOS0xMS0xOCAxMTowODoyNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IERvY3VtZW50IHBhdXNlZC1tb2RlIHByb3BlcnR5CgoyMDA5LTEwLTEyIDIwOjE5OjM4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltaWM6IFVzZSBsb2cgbG9nbGV2ZWwgZm9yIG1lc3NhZ2VzIHRoYXQgYXJlIHNob3duIG9uIGV2ZXJ5IGZyYW1lCgoyMDA5LTEwLTEyIDIwOjA5OjM0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSAgbWltZGVjOiBSZW1vdmUgb2JqZWN0IGxvY2sgdXNhZ2UsIHN0cmVhbSBsb2NrIGlzIGVub3VnaAoKMjAwOS0xMC0xMiAyMDowODoxMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IE91dHB1dCBmcmFtZXJhdGUgaXMgdW5rbm93bgoKMjAwOS0xMC0xMiAyMDowNjoxMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkgIG1pbWRlYzogUmVtb3ZlIGxvY2FsIHN0YXRlIHZhcmlhYmxlIGZyb20gaW5zdGFuY2UKCjIwMDktMTAtMTIgMTk6NTc6NTAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltZGVjOiBSZW1vdmUgdXNlbGVzcyB2YXJpYWJsZQoKMjAwOS0xMC0xMiAxOTo1Njo1NCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IE1ha2UgY2FwcyBhIGxvdCBzdHJpY3RlcgoKMjAwOS0xMC0xMiAxOTo1MjozNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IFNldCBkZWx0YV91bml0IGZsYWcgb24gaW50cmEgZnJhbWVzCgoyMDA5LTEwLTEyIDE5OjUwOjUyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltaWM6IEluaXRpYWxpemUgZW5jb2Rlci9kZWNvZGVycyBpbiBzdGF0ZSBjaGFuZ2UgYW5kIHNldGNhcHMgd2hlcmUgcG9zc2libGUKCjIwMDktMTAtMTIgMTk6MzY6MjkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1pYzogRml4IGVsZW1lbnQgZGV0YWlscwoKMjAwOS0xMC0xMiAxOTozMTozOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1pYzogSG9sZCBlbGVtZW50IGxvY2sgd2hpbGUgYWNjZXNzaW5nIHRoZSBjbG9jawoKMjAwOS0xMC0xMiAxOToyOToxNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1pYzogUmVmYWN0b3IgdGNwIGhlYWRlciBjcmVhdGlvbiB0byBub3QgbWFrZSBhIHNlcGFyYXRlIGJ1ZmZlcgoKMjAwOS0xMC0xMiAxOToxODoyMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1pYzogRnVuY3Rpb24gY2FuJ3QgZmFpbAoKMjAwOS0xMC0xMiAxOToxNzozMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWljOiBSZW1vdmUgQysrIHN0eWxlIGNvbW1lbnRzCgoyMDA5LTEwLTEyIDE5OjE2OjI2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltaWM6IFVzZSBHU1RfRUxFTUVOVF9FUlJPUiB3aGVuIHJldHVybmluZyBhIGZsb3cgZXJyb3IKCjIwMDktMTAtMTIgMTg6NTQ6NTkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5oOgoJICBtaW1pYzogRml4IEdTVF9NSU1fKl9DTEFTUyBtYWNyb3MKCjIwMDktMTAtMTIgMTg6NDc6MzUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltaWM6IFdhcm4gaWYgcGF1c2VkLW1vZGUgaXMgdG9nZ2xlZCB3aGlsZSBwbGF5aW5nCgoyMDA5LTEwLTEyIDE4OjM5OjA2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltaWM6IEFkZCBHU1RfREVCVUdfRlVOQ1BUUiB3aGVyZSBhcHByb3ByaWF0ZQoKMjAwOS0xMC0xMiAxODozNjo1OCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5oOgoJKiBleHQvbWltaWMvZ3N0bWltaWMuYzoKCSAgbWltaWM6IFJlbmFtZSBmdW5jdGlvbnMvbWFjcm9zIHRvIG1hdGNoIGNsYXNzIG5hbWVzCgoyMDEwLTA1LTEwIDE4OjM3OjU1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogQWRkIHNvbWUgZGVidWcgbWVzc2FnZXMKCjIwMTAtMDUtMDcgMTg6NTY6NTcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguaDoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSAgcnRwZHRtZm11eDogUmVtb3ZlIHN0cmVhbS1sb2NrIGV2ZW50IGhhbmRsaW5nCgoyMDEwLTA1LTA3IDE4OjU0OjQ5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogVXBkYXRlIGRvYyBmb3Igc2ltcGxpZmljYXRpb24KCjIwMTAtMDUtMDcgMTg6NDI6MDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBSZW1vdmUgcnRwZHRtZm11eCBzdHJlYW0tbG9jayBjb2RlCgoyMDEwLTA1LTA3IDE4OjQwOjMwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgdGVzdHM6IENoYW5nZSB0ZXN0cyB0byBub3QgdXNlIHRoZSBwcmlvcml0eSBwYWRzIGluc3RlYWQgb2YgdGhlIGV2ZW50cwoKMjAxMC0wNS0wNiAxOTo1MTo1OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5oOgoJICBydHBkdG1mbXV4OiBEcm9wIGJ1ZmZlcnMgb24gbm9uLXByaW9yaXR5IHNpbmtzIHdoZW4gc29tZXRoaW5nIGlzIGluY29taW5nIG9uIHRoZSBwcmlvcml0eSBzaW5rCgoyMDEwLTA1LTA2IDE4OjExOjQwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSAgcnRwZHRtZm11eDogQWRkIHByaW9yaXR5IHNpbmsgcGFkcwoKMjAxMC0wNS0wNyAxNzoxNTo0NyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IENsZWFudXAgZXZlbnQgZnVuY3Rpb24KCjIwMTAtMDUtMDcgMTY6NDI6MjIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICBydHBtdXg6IEFnZ3JlZ2F0ZSBpbmNvbWluZyBzZWdtZW50cwoKMjAxMC0wNS0wNiAxOTowOTo0OCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IFVwZGF0ZSBkb2N1bWVudGF0aW9uCgoyMDEwLTA1LTA2IDE4OjEwOjQ1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBydHBtdXg6IFNpbXBsaWZ5IHJlcXVlc3QgcGFkIGNyZWF0aW9uCgoyMDEwLTA2LTAyIDEyOjE2OjU2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuYzoKCSAgYmFzZXZpZGVvOiBtYWtlIHByaW50ZiBmb3JtYXRzIHBvcnRhYmxlCgoyMDEwLTA2LTAyIDExOjQxOjI1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgVXBkYXRlIE9yYyByZXF1aXJlbWVudCB0byAwLjQuNC4xCgoyMDEwLTA2LTAyIDExOjMxOjI2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIE1lcmdlIGJyYW5jaCAnaGFja2luZycKCjIwMTAtMDUtMjIgMTg6MTQ6MDkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkgIGludnRlbGVjaW5lOiBBZGQgdmVyaWZ5LWZpZWxkLWZsYWdzIHByb3BlcnR5CgkgIFdoZW4gZW5hYmxlZCwgY2hlY2sgdGhhdCB0aGUgdmlkZW8gbWF0Y2hlcyB0aGUgZmllbGQgZmxhZ3Mgb24gdGhlCgkgIGluY29taW5nIGJ1ZmZlcnMuCgoyMDEwLTA1LTIyIDExOjM2OjM3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJICBpbnZ0ZWxlY2luZTogcmVtb3ZlIG9sZCBjb2RlCgoyMDEwLTA1LTIyIDExOjMwOjU0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJICBpbnZ0ZWxlY2luZTogQWRkIDQ6MjoyIGZvcm1hdHMKCjIwMTAtMDUtMjIgMDA6NDQ6NDAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkgIGludnRlbGVjaW5lOiBDaGFuZ2UgZm9ybWF0IHRhYmxlCgkgIEFkZCBmb3JtYXQgbmFtZSwgcGhhc2UgdGFibGUuCgoyMDEwLTAzLTA5IDEyOjMyOjQyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJICBpbnZ0ZWxlY2luZTogQWRkIG11bHRpcGxlIHB1bGxkb3duIGZvcm1hdHMKCjIwMTAtMDUtMjEgMjM6Mzk6MDYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludnRlbGVjaW5lL01ha2VmaWxlLmFtOgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSAgaW52dGVsZWNpbmU6IGhhbmRsZSBkaWZmZXJlbnQgZnJhbWUgc2l6ZXMKCjIwMTAtMDUtMjQgMTI6NTU6MTYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogKGluIHZwOCkgTWFyayBkaXNjb250IGJ1ZmZlcnMKCjIwMTAtMDYtMDIgMDU6NTE6NDEgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkgIGl2ZnBhcnNlOiBGaXggZm9ybWF0IHN0cmluZyB3YXJuaW5nCgkgIEZpeGVzICM2MjAzMjQKCjIwMTAtMDYtMDEgMjM6NTA6MDMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIGNvZzogcmVtb3ZlIG9sZCB0ZXN0cwoKMjAxMC0wNi0wMSAyMzozNDowNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IEFkZCBvcmMgdGVzdHMgdG8gY2hlY2sgTWFrZWZpbGUKCjIwMTAtMDYtMDEgMTY6NTU6MTcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvY29nL2NvZy5vcmM6CgkqIGV4dC9jb2cvY29nZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0Lmg6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLm9yYzoKCSAgY29nOiB1c2UgY29tbW9uL29yYy5tYWsKCjIwMTAtMDUtMTYgMTA6MjQ6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hybzogRml4IHNlZ2ZhdWx0IG9uIEVPUwoKMjAxMC0wNS0xNCAwMToyMTowOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3BhcnNlLmM6CgkgIHNjaHJvOiBmaXggZm9yIGJhc2UgdmlkZW8gdXBkYXRlcwoKMjAxMC0wNS0xNiAxMDoxNTo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIGRpcmFjOiBGaXhlcyBmb3IgYmFzZSB2aWRlbyBlbmNvZGVyIGNoYW5nZXMKCjIwMTAtMDYtMDEgMTU6NTQ6NTEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3R2aWRlb2NvbXBhdC5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3R2aWRlb2NvbXBhdC5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJICBiYXNldmlkZW86IE1vdmUgYmFzZSB2aWRlbyBmcm9tIHZwOCB0byBnc3QtbGlicwoKMjAxMC0wNi0wMSAyMzo0OTozMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDE3Zjg5ZTUgdG8gNDc2ODNjMQoKMjAxMC0wNi0wMSAyMjo1NToxMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGZkN2NhMDQgdG8gMTdmODllNQoKMjAxMC0wNS0yNiAwNjo1MjoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOHV0aWxzLmg6CgkgIHZwODogVXNlIFZQWF9QTEFORV8qIGluc3RlYWQgb2YgUExBTkVfKgoKMjAxMC0wNS0yNCAxMTowNDowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOHV0aWxzLmg6CgkgIHZwODogQWRkIGNvbXBhdGlsaWJpdHkgZGVmaW5lcyB0byB3b3JrIHdpdGggb2xkZXIgdmVyc2lvbnMgb2YgbGlidnB4IHRvbwoKMjAxMC0wNS0yMyAwOToyODoxMyArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGRlYzogcy9JTUdfRk1UX0k0MjAvVlBYX0lNR19GTVRfSTQyMC8KCSAgVGhpcyBjb3JyZXNwb25kcyB0byB1cHN0cmVhbSBsaWJ2cHggY29tbWl0IDZjZDRhMTBlMTY3MjAzZDFkZWI3OWFiZjYwZWU3MjU5OWU5Nzg5MWIKCjIwMTAtMDUtMjIgMTI6NTU6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBBbGxvdyBhIG1heGltdW0ga2V5ZnJhbWUgZGlzdGFuY2Ugb2YgMCwgaS5lLiBhbGwgZnJhbWVzIGFyZSBrZXlmcmFtZXMKCjIwMTAtMDUtMjIgMDk6MDg6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkgIGl2ZnBhcnNlOiBTZW5kIGFuIGluaXRpYWwgTkVXU0VHTUVOVCBldmVudAoKMjAxMC0wNS0yMiAwOTowMjoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pdmZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkgIGl2ZnBhcnNlOiBJbnRlZ3JhdGUgaW50byB0aGUgYnVpbGQgc3lzdGVtCgoyMDEwLTA1LTIyIDA4OjU2OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuaDoKCSAgaXZmcGFyc2U6IEFkZCBzaW1wbGUgSVZGIHBhcnNlcgoJICBUaGlzIG9ubHkgc3VwcG9ydHMgVlA4IHNvIGZhci4KCSAgRml4ZXMgYnVnICM2MTkxNTguCgoyMDEwLTA1LTIyIDA4OjQ1OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogU2V0IGRlY29kZXIgZGVhZGxpbmUgZnJvbSB0aGUgUW9TIGluZm9ybWF0aW9uCgoyMDEwLTA2LTAxIDEwOjE4OjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXhzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTAuMTkgPT09CgoyMDEwLTA1LTMxIDAyOjEwOjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4xOQoKMjAxMC0wNS0zMSAwMjoxMDowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMC0wNS0zMSAwMTo1MjoxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IGFkZCBzb21lIGRpc3RjbGVhbiBydWxlcyB0byBmaXggZGlzdGNoZWNrCgkgIFN0b2xlbiBmcm9tIGd0ay1kb2MubTQgYW5kIG5vdCBmb3VuZCBpbiBndGstZG9jLXBsdWdpbi5tNC4gV2UgbmVlZAoJICB0aGVtIGJlY2F1c2Ugd2UgZG8gaGF2ZSBsaWJzL2ludGVyZmFjZXMgc3R1ZmYgYXMgd2VsbCBub3cgKG5hbWVseQoJICBHc3RQaG90b2dyYXBoeSkuCgoyMDEwLTA1LTMxIDAwOjMzOjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogZml4IGJ1aWxkIG9mIGd0ay1kb2Mgc2Nhbm5lcgoKMjAxMC0wNS0yOCAxNjozNToxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IE1vdmUgZGVidWcgb3V0cHV0IG9uZSBsaW5lIGFib3ZlIHdoZXJlIHRoZSBwYWNrZXQgaXMgc3RpbGwgdmFsaWQKCjIwMTAtMDUtMjggMTU6NTM6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBDb3JyZWN0bHkgaWdub3JlIG5vbi1mcmFtZSBwYWNrZXRzIGZyb20gdGhlIGVuY29kZXIKCSAgRml4ZXMgYnVnICM2MTk5MTYuCgoyMDEwLTA1LTIxIDE0OjAxOjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogY2hhbmdlIHByb2ZpbGUgYW5kIGxldmVsIHN0cmluZ3MgdG8gc29tZXRoaW5nIG5pY2VyLWxvb2tpbmcKCSAgVGhpcyBpcyBtb3JlIGluIGxpbmUgd2l0aCB3aGF0IHdlIGRvIGVsc2V3aGVyZSwgZXZlbiBpZiBpdCBkb2Vzbid0CgkgIHJlc2VtYmxlIHRoZSBvZmZpY2FsIGFiYnJldmlhdGlvbnMgZXhhY3RseS4KCSAgU2VlICM2MTYwNzguCgoyMDEwLTA1LTI1IDE2OjM3OjU4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcGx1ZyBhIGZldyBtZW1vcnkgbGVha3MKCSAgRml4ZXMgIzYxOTYxNy4KCjIwMTAtMDUtMjYgMTQ6MTE6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTguMyBwcmUtcmVsZWFzZQoKMjAxMC0wNS0yNiAxNDowMzoyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2NhbWVyYWJpbi5kb3Q6CgkqIGRvY3MvcGx1Z2lucy9jYW1lcmFiaW4ucG5nOgoJKiBkb2NzL3BsdWdpbnMvZmlndXJlcy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2ZpZ3VyZXMvY2FtZXJhYmluLmRvdDoKCSogZG9jcy9wbHVnaW5zL2ZpZ3VyZXMvY2FtZXJhYmluLnBuZzoKCSAgZG9jczogZml4IGRpc3QvZGlzdGNoZWNrIGlzc3VlcyB3aXRoIGNhbWVyYWJpbiBmaWd1cmVzCgkgIE1vdmUgZmlndXJlcyBpbnRvIGRvY3MvcGx1Z2lucyBhcyB3ZWxsLCB0byBhdm9pZCBpc3N1ZXMgd2l0aAoJICBtYWtlIGRpc3QgYW5kIG1ha2UgZGlzdGNoZWNrIChtYWtlIGRpc3RkaXIgd2lsbCBub3QgZmlyc3QgZGVzY2VuZAoJICBpbnRvIGNoaWxkIGRpcmVjdG9yaWVzKS4gT3V0LW9mLXNvdXJjZSBidWlsZCBzZWVtcyB0byBzdGlsbCB3b3JrCgkgIGFzIHdlbGwuCgoyMDEwLTA1LTI2IDEyOjM2OjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMC0wNS0yNiAxMTo1NTo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDM1N2IwZGIgdG8gZmQ3Y2EwNAoKMjAxMC0wNS0wNyAxNjo0MjoxMiArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9tcGxleC9NYWtlZmlsZS5hbToKCSAgbXBsZXg6IGFkZCBNUExFWF9MREZMQUdTIHZhcmlhYmxlCgkgIFNvIG1pbmd3MzIgdXNlcnMgY2FuIGhhY2sgYXJvdW5kIGEgY29tcGlsZXIvbGlua2VyIGJ1Zy4KCSAgRml4ZXMgIzYxNzE0NQoKMjAxMC0wNS0yNSAwMDoyNzoxNyArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGZpeCBjcmFzaCBpZiBkb3duc3RyZWFtIGlzIHVubGlrZWQKCSAgbXBlZ19wYWNrZXRpemVyX2dldF9ibG9jaygpIGluIHNvbWUgY2lyY3Vtc3RhbmNlcyAoaGVyZTogaWYKCSAgZG93bnN0cmVhbSB3YXMgdW5saW5rZWQpIHJldHVybnMgYSBibG9jayBidXQgZG9lcyBub3Qgc2V0IHRoZQoJICBidWZmZXIgY2F1c2luZyBtcGVndmlkZW9wYXJzZV9kcmFpbl9hdmFpbCgpIHRvIGNhdXNlIGludmFsaWQgbWVtb3J5CgkgIGFjY2Vzcy4KCSAgRml4ZXMgIzYxOTUwMi4KCjIwMTAtMDUtMjQgMTc6NDE6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcHAueG1sOgoJKiBnc3QtbGlicy9nc3QvYXBwLy5naXRpZ25vcmU6CgkqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwLW1hcnNoYWwubGlzdDoKCSogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5oOgoJKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5oOgoJKiBnc3QvYXBwL01ha2VmaWxlLmFtOgoJKiBnc3QvYXBwL2dzdGFwcC5jOgoJICBSZW1vdmluZyByZW1haW5pbmcgZ3N0YXBwKgoJICBUaGVyZSBhcmUgc29tZSByZW1haW5pbmcgZ3N0YXBwKiBsaXZpbmcgdW5saW5rZWQgZnJvbSB0aGUgYnVpbGQgc2NyaXB0cy4KCSAgUmVtb3ZlIHRoZW0uCgoyMDEwLTA1LTI0IDE5OjIxOjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBjYW1lcmFiaW46IEZpeCB0ZXN0IGJ1aWxkCgkgIEFkZHMgbWlzc2luZyAtYmFkIGNmbGFncyB0byBjYW1lcmFiaW4gdGVzdHMuCgoyMDEwLTA1LTIzIDE5OjE3OjQxICswMTAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwQGstZC13Lm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBmaXggbWlub3IgbWVtb3J5IGxlYWsKCSAgRG9uJ3QgbGVhayBsYW5ndWFnZSBjb2RlLgoJICBGaXhlcyAjNjE5NDQ0LgoKMjAxMC0wNS0yMSAyMDo0ODozNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSAgY29nY29sb3JzcGFjZTogcmVzYW1wbGUgWVVWLT5ZVVYgY29udmVyc2lvbnMKCSAgRml4ZXMgYSBzZWdmYXVsdCAoYnVnICM2MTgwNDQpLgoKMjAxMC0wNC0wOCAxNjowNToxMSArMDEwMCAgQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRlc3MubmV0PgoKCSogc3lzL3ZjZC92Y2RzcmMuYzoKCSAgdmNkc3JjOiBjaGFuZ2UgVkNEIFVSSSBoYW5kbGVyIHRvIHRoZSBEVkQgc2NoZW1lCgkgIFRoZSBjdXJyZW50IFVSSSBwYXJzaW5nIGNvZGUgZG9lc24ndCBhbGxvdyBzZXR0aW5nIHRoZSAiZGV2aWNlIgoJICBmcm9tIHdoaWNoIHRoZSBWQ0Qgc2hvdWxkIGJlIHJlYWQuCgkgIFVzZSB0aGUgc2FtZSBzdHJ1Y3R1cmUgYXMgdGhlIERWRCBVUkkgaGFuZGxpbmcgaW5zdGVhZCwgc28gdGhhdAoJICBkZXZpY2VzIGNhbiBiZSBwYXNzZWQgaW4gdGhlIFVSSSwgYXMgd2VsbCBhcyB0cmFjayBudW1iZXIuCgkgIFVwIHRoZSByYW5rIG9mIHRoZSBWQ0QgcGx1Z2luIHNvIHRoYXQgaXQgY2FuIGJlIGF1dG8tcGx1Z2dlZCBhbmQKCSAgdXNlZCBieSBUb3RlbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTM0MDk4NgoKMjAxMC0wNS0yMiAwNzo0NDoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IFRha2UgdGhlIGZyYW1lIGR1cmF0aW9uIGludG8gYWNjb3VudCB3aGVuIGNhbGN1bGF0aW5nIHRoZSBlYXJsaWVzdCB0aW1lCgkgIFRoaXMgZm9ybXVsYSBpcyB1c2VkIGluIG1hbnkgb3RoZXIgZWxlbWVudHMgdG9vLgoJICBGaXhlcyBidWcgIzYxOTMxOC4KCjIwMTAtMDUtMjIgMDc6MzU6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBSZXNldCBRb1MgdmFsdWVzIHdoZW4gbmVjZXNzYXJ5CgoyMDEwLTA1LTIyIDA5OjM1OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogVXNlIEdTVF9WSURFT19DQVBTX1lVVihJNDIwKSBpbnN0ZWFkIG9mIGhhbmR3cml0dGVuIEk0MjAgY2FwcyBmb3IgdGhlIHBhZCB0ZW1wbGF0ZQoJICBGaXhlcyBidWcgIzYxOTM0NC4KCjIwMTAtMDUtMjEgMjA6NTM6MzYgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBkcm9wIGxhdGUgZnJhbWVzIGFmdGVyIGRlY29kaW5nIHRoZW0KCSAgVGhpcyBzYXZlcyBhIG1lbWNweSwgd2hpY2ggaXMgYWx3YXlzIHNvbWV0aGluZy4KCjIwMTAtMDUtMjEgMjE6Mjg6MjkgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IHRocmVhZHMgcHJvcGVydHkKCSAgSW5jcmVhc2luZyBmcm9tIDEgdG8gMiB0aHJlYWRzIG9uIGFuIFRoaW5rcGFkIFg2MHMgZGVjcmVhc2VkIGVuY29kZSB0aW1lCgkgIGluIGEgdGVzdCBmcm9tIH4yNCBzIHRvIH4xOSBzLCBzbyB0aGlzIGlzIHF1aXRlIHVzZWZ1bC4KCSAgSWRlYWxseSB3ZSBzaG91bGQgbGV0IDAgYmUgdGhlIGRlZmF1bHQgYW5kIGF1dG9tYXRpY2FsbHkgbWF0Y2ggdGhlIG51bWJlcgoJICBvZiBDUFUgY29yZXMgKG9yIHNvbWV0aGluZykuCgoyMDEwLTA1LTIxIDE1OjE3OjQ2ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBhZGQgbW9kZSBwcm9wZXJ0eSB0byBzd2l0Y2ggYmV0d2VlbiBDQlIvVkJSCgkgIEFsd2F5cyB1c2luZyBDQlIgd2hlbiBiaXRyYXRlIGlzIHVzZWQgaXNuJ3QgdGhhdCBncmVhdCwgVkJSIG1vZGUKCSAgY2FuIHByb2R1Y2UgbWVhbmluZ2Z1bCByZXN1bHRzIHRvby4KCjIwMTAtMDUtMjEgMTA6NTQ6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBPbmx5IGVuYWJsZSBwb3N0cHJvY2Vzc2luZyBpZiB0aGUgZGVjb2RlciBzdXBwb3J0cyBpdAoKMjAxMC0wNS0yMSAwODoyMzo1OCArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvcGx1Z2luLmM6CgkgIHZwODogdHlwbzogcy9IQVZFX1ZQOF9ERUNPREVSL0hBVkVfVlA4X0VOQ09ERVIvCgkgIEZpeHVwIGZvciBidWcgIzYxOTE3Mi4KCjIwMTAtMDUtMjEgMDg6MTM6MDYgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDg6IG1vdmUgI2lmZGVmIEhBVkVfVlA4X0VOQ09ERVIvREVDT0RFUgoJICBPdGhlcndpc2Ugd2UnbGwgdHJ5IGluY2x1ZGluZyBlLmcuIDx2cHgvdnA4Y3guaD4gd2hpY2ggZG9lc24ndCBleGlzdC4KCjIwMTAtMDUtMjAgMTY6NDk6MDMgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIHZwODogbGluayB3aXRoIC1sbSAtbHB0aHJlYWQgd2hlbiB0ZXN0aW5nIGZvciB2cDggZW5jb2Rlci9kZWNvZGVyCgkgIEZpeHVwIGZvciBidWcgIzYxOTE3Mi4KCjIwMTAtMDUtMjAgMjA6MDY6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBXcml0ZSBHU3RyZWFtZXIgZWxlbWVudCBhbmQgdmVyc2lvbiBpbiB0aGUgdm9yYmlzY29tbWVudCB2ZW5kb3Igc3RyaW5nCgoyMDEwLTA1LTIwIDE2OjQ5OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9wbHVnaW4uYzoKCSAgdnA4OiBPbmx5IGVuYWJsZSB0aGUgZW5jb2RlciBvciBkZWNvZGVyIGlmIGl0J3MgYXZhaWxhYmxlIGluIGxpYnZweAoJICBGaXhlcyBidWcgIzYxOTE3Mi4KCjIwMTAtMDUtMjAgMTA6MTk6NTQgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L3BsdWdpbi5jOgoJICB2cDg6IGV4bGN1ZGUgZGVjL2VuYyBiYXNlZCBvbiBDT05GSUdfVlA4X0RFQ09ERVIvRU5DT0RFUgoJICBUaGlzIG1heSBub3QgYmUgdmVyeSBhdXRvdG9vbGlzaCwgYnV0IHdvcmtzIHdpdGggbGlidnB4IGluIHRoZSBzdGF0ZQoJICB0aGF0IGxpYnZweCBpcyBhY3R1YWxseSBpbi4gTW92ZWQgdGhlIGRlYnVnIGluaXQgdG8gdGhlIGVsZW1lbnRzCgkgIHRoZW1zZWx2ZXMgdG8gbWluaW1pemUgYW1vdW50IG9mICNpZmRlZnMKCjIwMTAtMDUtMjAgMTU6NTk6NTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBkb2NzOiBmaXggaHRtbCBpbWFnZSBsb2NhdGlvbiBmb3Igb3V0LW9mLXNvdXJjZSBidWlsZAoKMjAxMC0wNS0yMCAwOToyNDo1MyArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogTGltaXQgbWF4LWxhdGVuY3kgdG8gMjUgdG8gbWF0Y2ggbGlidnB4CgkgIEZyb20gbGlidnB4L3ZwOC9lbmNvZGVyL29ueXhfaW50Lmg6CgkgICNkZWZpbmUgTUFYX0xBR19CVUZGRVJTIChDT05GSUdfUkVBTFRJTUVfT05MWT8gMSA6IDI1KQoJICBXaGlsZSB3ZSBkb24ndCBuZWVkIHRvIGJlIHRpZWQgdG8gd2hhdCBsaWJ2cHggZG9lcyBpbnRlcm5hbGx5LCBpdAoJICBkb2Vzbid0IG1ha2Ugc2Vuc2UgdG8gcHJldGVuZCB0byBzdXBwb3J0IGxvbmdlciBmcmFtZSBsYWdzIHRoYW4gYXJlCgkgIGFjdHVhbGx5IHBvc3NpYmxlLgoKMjAxMC0wNS0yMCAwOTo1NjoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOHV0aWxzLmM6CgkgIHZwODogVW5kZWYgSEFWRV9DT05GSUdfSCBiZWZvcmUgaW5jbHVkaW5nIGxpYnZweCBoZWFkZXJzCgkgIEEgcHVibGljIGxpYnZweCBoZWFkZXIgaW5jbHVkZXMgcHJpdmF0ZSBoZWFkZXJzIGlmIHRoaXMgaXMKCSAgZGVmaW5lZCwgY2F1c2luZyBjb21waWxhdGlvbiBmYWlsdXJlcyBiZWNhdXNlIHRoZSBwcml2YXRlIGhlYWRlcnMKCSAgYXJlIG5vdCBpbnN0YWxsZWQgb2YgY291cnNlLgoKMjAxMC0wNS0yMCAwODo1MzoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFNvbWUgbW9yZSBtaW5vciBhZGp1c3RtZW50cyBmb3IgdGhlIE9nZyBtYXBwaW5nCgoyMDEwLTA1LTE5IDE3OjEyOjU1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2F1ZGlvZmlsZS9NYWtlZmlsZS5hbToKCSogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGV4dC9zY2hyb2VkaW5nZXIvTWFrZWZpbGUuYW06CgkqIGV4dC9zbmRmaWxlL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBnc3QvYWlmZi9NYWtlZmlsZS5hbToKCSogZ3N0L2FzZm11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvYnVmZmVyL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJKiBnc3QvbnV2ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21lYXN1cmUvTWFrZWZpbGUuYW06CgkqIHN5cy9kdmIvTWFrZWZpbGUuYW06CgkqIHN5cy9keHIzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkgIFNwbGl0IG91dCBHU1RfUExVR0lOU19CQURfQ0ZMQUdTIGZyb20gR1NUX0NGTEFHUwoJICBNb3ZlIGluY2x1ZGUgZGlyZWN0aXZlcyBmb3IgZ3N0LWxpYnMgaW50byBHU1RfUExVR0lOU19CQURfQ0ZMQUdTLAoJICBhbmQgZml4IGFsbCB0aGUgTWFrZWZpbGVzIHRoYXQgdXNlIGl0LiAgVGhpcyBpcyBzbyB0aGF0IGFsbCB0aGUKCSAgaW5jbHVkZSBkaXJlY3RvcmllcyBhcmUgYWRkZWQgaW4gdGhlIHByb3BlciBvcmRlcjogZmlyc3QgdGhlCgkgIGRpcmVjdG9yaWVzIGluIHNyY2Rpci9idWlsZGRpciwgdGhlbiBnc3QtcGx1Z2lucy1iYXNlIGRpcnMsIHRoZW4KCSAgZ3N0cmVhbWVyIGRpcnMuICBJZiB0aGUgb3JkZXIgaXMgd3JvbmcsIGluc3RhbGxlZCBoZWFkZXJzIG1heSBiZQoJICB1c2VkIGluc3RlYWQgb2YgbG9jYWwgaGVhZGVycyBhbmQvb3IgdW5pbnN0YWxsZWQgaGVhZGVycyBmcm9tIC1iYXNlLgoKMjAxMC0wNS0xOSAyMzowMjoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IEZpeCBtZW1vcnkgbGVhawoKMjAxMC0wNS0xOSAyMTozNDo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEFkanVzdCBPZ2cgbWFwcGluZyBmb3IgdGhlIGNoYW5nZXMKCjIwMTAtMDUtMTIgMTg6NTA6MzQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBBZGQgVlA4CgoyMDEwLTA1LTE5IDE4OjEyOjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogQWRkIHByb3BlcnRpZXMgdG8gY29udHJvbCB0aGUgVlA4IGRlY29kZXIgcG9zdCBwcm9jZXNzaW5nIGZlYXR1cmUKCSAgVGhpcyBpcyBkaXNhYmxlZCBieSBkZWZhdWx0IGZvciBub3cuCgoyMDEwLTA1LTE5IDE3OjE2OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogUmVuYW1lIGtleWZyYW1lLWludGVydmFsIHRvIG1heC1rZXlmcmFtZS1kaXN0YW5jZQoJICBBbmQgdXNlIGRlZmF1bHQgc2V0dGluZ3MgZm9yIGJ1ZmZlciBzaXplcyB1bnRpbCB3ZSBleHBvc2UgdGhpcwoJICBzb21laG93LgoKMjAxMC0wNS0xOSAxNzoxMzoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOHV0aWxzLmM6CgkqIGV4dC92cDgvZ3N0dnA4dXRpbHMuaDoKCSAgdnA4OiBJbXByb3ZlIGVycm9yIGhhbmRsaW5nIGFuZCBkZWJ1ZyBvdXRwdXQKCjIwMTAtMDUtMTkgMTQ6NDY6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4OiBVc2UgY29ycmVjdCBzdHJpZGVzIGFuZCBwbGFuZSBvZmZzZXRzIGZvciBHU3RyZWFtZXIKCjIwMTAtMDUtMTggMTQ6NDc6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBJbXBsZW1lbnQgR3N0VGFnU2V0dGVyIGludGVyZmFjZQoKMjAxMC0wNS0xOCAxNDozMzo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEZpeCBzZXR0aW5nIG9mIHRoZSBrZXlmcmFtZSBmbGFnIG9uIGVuY29kZWQgZnJhbWVzCgoyMDEwLTA1LTE4IDE0OjMwOjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogUG9zdCBhbiBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMgaWYgZW5jb2RlciBpbml0aWFsaXphdGlvbiBmYWlscwoKMjAxMC0wNS0xOCAxNDoyODo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IEZpeCBtZW1vcnkgbGVha3MgYW5kIGZhaWwgaWYgaW5pdGlhbGl6aW5nIHRoZSBkZWNvZGVyIGZhaWxzCgoyMDEwLTA1LTE4IDAyOjQ0OjU0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogU2V0IHRpbWViYXNlCgkgIEFsc28gbWlzYyBjbGVhbnVwLgoKMjAxMC0wNS0xNiAxMDozNjoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IEZpeCBkZWNvZGluZyBvZiBpbnZpc2libGUgZnJhbWVzCgoyMDEwLTA1LTE0IDE0OjI2OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogVXBkYXRlIHRoZSBsYXRlbmN5IHdoZW4gaW5pdGlhbGl6aW5nIHRoZSBlbmNvZGVyCgoyMDEwLTA1LTE0IDE0OjAyOjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogQ29ycmVjdGx5IGluaXRpYWxpemUgc3RyZWFtIGluZm8gYmVmb3JlIHBlZWtpbmcgYXQgdGhlIHN0cmVhbQoJICBPdGhlcndpc2UgcGVla2luZyB3aWxsIGZhaWwgYW5kIHdlJ2xsIGdldCBpbnZhbGlkIHZhbHVlcwoKMjAxMC0wNS0xNCAxMTowMToyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IE1ha2Ugc3VyZSB0byBwYXNzIGEga2V5ZnJhbWUgYXMgZmlyc3QgZnJhbWUgdG8gdGhlIGRlY29kZXIsIGNvcHkgb3V0cHV0IGZyYW1lcyBvbmx5IG9uY2UgYW5kIHJlcXVpcmUgd2lkdGgvaGVpZ2h0L2V0YyBvbiB0aGUgaW5wdXQgY2FwcwoKMjAxMC0wNS0xNCAxMDozMDoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEFkZCBzdXBwb3J0IGZvciBpbnZpc2libGUgZnJhbWVzIGFuZCB0aGUgT2dnIG1hcHBpbmcKCjIwMTAtMDUtMTQgMDE6MTQ6NDYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBGaXggcmVzZXQgYWZ0ZXIgc2Vla2luZwoJICBBbHNvIHJlbW92ZSBzb21lIHVudXNlZCBjb2RlLgoKMjAxMC0wNS0xMyAyMToxOTozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFNldCBmcmFtZSBudW1iZXJzIGFzIGJ1ZmZlciBvZmZzZXRzCgoyMDEwLTA1LTEzIDIxOjE4OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogQWx3YXlzIGdldCBhcyBtYW55IGZyYW1lcyBhcyBwb3NzaWJsZSBmcm9tIHRoZSBlbmNvZGVyCgoyMDEwLTA1LTEzIDIxOjA4OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogRmlsbCB0aGUgb2xkZXN0IHBlbmRpbmcgZnJhbWUgaW5zdGVhZCBvZiB0aGUgbmV3ZXN0CgoyMDEwLTA1LTEzIDIwOjIwOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogQ29ycmVjdGx5IHNldCBkZWx0YSB1bml0IGZsYWcgZm9yIG5vbi1rZXlmcmFtZXMKCjIwMTAtMDUtMTMgMDE6MDQ6MDQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0dmlkZW9jb21wYXQuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0dmlkZW9jb21wYXQuaDoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9wbHVnaW4uYzoKCSAgdnA4OiBBZGQgZW5jb2Rlci9kZWNvZGVyCgoyMDEwLTA1LTE4IDIxOjMyOjIyICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZml4IHdyb25nIHRpbWVzdGFtcHMgaW4gc29tZSBjYXNlcyBhZnRlciBzZWVraW5nLgoJICBSZXNldCAtPmxhc3Rfb3V0YnVmX2R0cyBvbiBmbHVzaC1zdG9wLiBGaXhlcyAjNjE5MDY0LgoKMjAxMC0wNS0xNyAxNjoyNjowMyArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBtZW1vcnkgY29ycnVwdGlvbiB3aGVuIHBhcnNpbmcgYWRhcHRhdGlvbiBmaWVsZAoKMjAxMC0wNS0xNyAxMTo1Mjo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9wb2x5cC9NYWtlZmlsZS5hbToKCSogZXh0L3BvbHlwL3BsdWdpbi5jOgoJKiBleHQvcG9seXAvcG9seXBzaW5rLmM6CgkqIGV4dC9wb2x5cC9wb2x5cHNpbmsuaDoKCSAgUmVtb3ZlIHVudXNlZCBwb2x5cCBhdWRpbyBwbHVnaW4gY29kZQoJICBwb2x5cGF1ZGlvIHdhcyByZW5hbWVkIHRvIHB1bHNlYXVkaW8gYWdlcyBhZ28uCgkgIEZpeGVzICM2MTg4NjcuCgoyMDEwLTA1LTE1IDE1OjM3OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJICByZXNpbmR2ZDogQ2hlY2sgZm9yIGR2ZG5hdiBhbmQgZHZkcmVhZCBsaWJyYXJpZXMKCjIwMTAtMDUtMTUgMDE6MTg6NTIgKzAyMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IERvbid0IGluc3RhbGwgY2FtZXJhYmluIGV4YW1wbGVzCgoyMDEwLTA1LTE1IDAwOjE5OjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE4LjIgcHJlLXJlbGVhc2UKCjIwMTAtMDUtMTQgMTg6MzE6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICBkb2NzOiByZW1vdmUgbW9yZSBjcnVmdCByZWxhdGVkIHRvIHBsdWdpbnMgdGhhdCBoYXZlIGJlZW4gbW92ZWQgdG8gLWdvb2QKCjIwMTAtMDUtMTQgMTg6MjU6MTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0ZDY3YmQ2IHRvIDM1N2IwZGIKCjIwMTAtMDUtMTQgMTY6NTM6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCAtLWRpc2FibGUtZXh0ZXJuYWwKCjIwMTAtMDUtMTQgMDE6NTU6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBhZGQgb2xkIHNoYXZlIGZpbGVzIGluIGNvbW1vbiB0byAnY3J1ZnQnIGZpbGVzCgoyMDEwLTA1LTEzIDE0OjQyOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICBmZXN0aXZhbDogT25seSBjbG9zZSB0aGUgY29ubmVjdGlvbiBpZiBpdCdzIG9wZW5lZAoKMjAxMC0wNS0xMyAxNDo0MTowOCArMDIwMCAgSXZhbiBaZGVyYWRpY2thIDxpdmFuLnpkZXJhZGlja2FAZ21haWwuY29tPgoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgIGZlc3RpdmFsOiBEb24ndCBvcGVuIGFuIGluZmluaXRlIG51bWJlciBvZiBjb25uZWN0aW9ucyB0byB0aGUgc2VydmVyIGFuZCBjbG9zZSBjb25uZWN0aW9ucwoJICBGaXhlcyBidWcgIzYxODUyNy4KCjIwMTAtMDUtMTMgMTI6NTU6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFja3NyYzogbWFrZSBzdXJlIHdlIGFsd2F5cyByZWFkIG5mcmFtZXMKCSAgRXJyb3Igb3V0IHdoZW4gd2UgYXJlIGFza2VkIHRvIHJlYWQgYSBkaWZmZXJlbnQgc2l6ZSB0aGF0IHdoYXQgd2FzIGNvbmZpZ3VyZWQgYXMKCSAgdGhlIGphY2sgcGVyaW9kIHNpemUgYmVjYXVzZSB0aGF0IHdvdWxkIG1lYW4gc29tZXRoaW5nIGVsc2UgaXMgd3JvbmcuCgkgIEZpeGVzICM2MTg0MDkKCjIwMTAtMDUtMTEgMTc6NTY6MzEgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5oOgoJICBqYWNrOiBpbXByb3ZlIHByb2Nlc3NfY2IKCjIwMTAtMDUtMTEgMTM6NTI6NTEgLTA0MDAgIEpvc2h1YSBNLiBEb2UgPGpvc2h1YS5kb2VAdXMuYXJteS5taWw+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5oOgoJICBmcmVpMHI6IEZpeCBzZXR0aW5nIG9mIGJvb2xlYW4gdmFsdWVzCgkgIFNldHRpbmcgYm9vbGVhbiB0eXBlIHBhcmFtZXRlcnMgZnJvbSBnc3QtbGF1bmNoIGZhaWxlZCBiZWNhdXNlIG9mIGltcHJvcGVyIGhhbmRsaW5nIG9mIHR5cGUgY29udmVyc2lvbnMuCgkgIEZpeGVzIGJ1ZyAjNjE4Mzg4LgoKMjAxMC0wNS0xMiAxMzowMDoxNiArMDIwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogcGFyc2UgVERUIHRhYmxlIGluIG1wZWd0cy4KCSAgU29tZSB0YWJsZXMgaW4gTVBFRy1UUyBkbyBub3QgaGF2ZSBhIGNyYyBpbiB0aGUgc3BlYywgc28gYWxzbyBtcGVndHNwYXJzZQoJICBpcyBub3QgY2FsY3VsYXRpbmcgY3JjIGZvciBzZWN0aW9ucyB3aXRoIHRhYmxlX2lkIDB4NzAgLSAweDcyIGJlY2F1c2UgdGhleQoJICBkbyBub3QgaGF2ZSBhIENSQyBpbiB0aGUgc3BlYy4gU2VlIEVOMzAwNDY4LiBQYXJzZSBUaW1lIGFuZCBEYXRlIHRhYmxlIGFuZAoJICBvdXRwdXQgYnVzIG1lc3NhZ2UuCgoyMDEwLTA1LTExIDE2OjAzOjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogcmVtb3ZlIG9zczQgc3RyaW5ncwoKMjAxMC0wNS0xMSAxNTozMzo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBwby9QT1RGSUxFUy5pbjoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvb3NzNC9NYWtlZmlsZS5hbToKCSogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmg6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItZW51bS5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLWVudW0uaDoKCSogc3lzL29zczQvb3NzNC1taXhlci1zbGlkZXIuYzoKCSogc3lzL29zczQvb3NzNC1taXhlci1zbGlkZXIuaDoKCSogc3lzL29zczQvb3NzNC1taXhlci1zd2l0Y2guYzoKCSogc3lzL29zczQvb3NzNC1taXhlci1zd2l0Y2guaDoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmg6CgkqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuYzoKCSogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5oOgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSogc3lzL29zczQvb3NzNC1zaW5rLmg6CgkqIHN5cy9vc3M0L29zczQtc291bmRjYXJkLmg6CgkqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkqIHN5cy9vc3M0L29zczQtc291cmNlLmg6CgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzoKCSAgUmVtb3ZlIG9zczQgcGx1Z2luCgkgIEl0IGhhcyBiZWVuIG1vdmVkIHRvIGdzdC1wbHVnaW5zLWdvb2QuCgkgIFNlZSAjNjE0MzA1LgoKMjAxMC0wNS0xMSAxNDowMjozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGdzdC9pbWFnZWZyZWV6ZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VmcmVlemUuYzoKCSAgUmVtb3ZlIGltYWdlZnJlZXplIHBsdWdpbi9lbGVtZW50LgoJICBJdCBoYXMgYmVlbiBtb3ZlZCB0byBnc3QtcGx1Z2lucy1nb29kLgoJICBTZWUgIzYxMzc4Ni4KCjIwMTAtMDUtMTEgMTM6MTU6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICB0ZXN0czogZG9uJ3QgZmFpbCB0YWdzY2hlY2tpbmcgdGVzdCBpZiBxdGRlbXV4IGlzIG5vdCBhdmFpbGFibGUgb3IgdG9vIG9sZAoKMjAxMC0wNS0xMSAxMzowODo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzYmFkLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2Fwc3NldHRlci5jOgoJICBSZW1vdmUgY2Fwc3NldHRlciBlbGVtZW50CgkgIEl0IGhhcyBiZWVuIG1vdmVkIHRvIGdzdC1wbHVnaW5zLWdvb2QuCgkgIFNlZSAjNjE3NzM5LgoKMjAxMC0wNS0xMSAxMDowNDo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQ2hlY2sgZm9yIEdUSysgMy4wIGFuZCBpZiBpdCdzIG5vdCBhdmFpbGFibGUgZm9yIEdUSysgMi4wCgoyMDEwLTA1LTExIDEwOjAxOjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuYzoKCSAgc2NhbGV0ZW1wbzogRG9uJ3QgdXNlIGRlcHJlY2F0ZWQgR1RLIHN5bWJvbHMgaW4gdGhlIGRlbW8KCjIwMTAtMDUtMDcgMTk6MTU6MzEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltZGVjOiBEb24ndCB0cnkgdG8gcmUtc2VuZCB0aGUgc2FtZSBldmVudCBtb3JlIHRoYW4gb25jZQoKMjAxMC0wNS0wNyAyMjo1MzoxNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVnZm9ybWF0OiBtYWtlIHRoZSBpbnRlbnRpb24gb2YgdGhlIGVsZW1lbnRzIG1vcmUgY2xlYXIKCjIwMTAtMDUtMDcgMTM6NTc6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIFJldmVydCAiamlmbXV4OiBNZXJnZSB4bXAgYW5kIHRhZ3NldHRlciB0YWdzLiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA0ZTVjNDEyMjM0OTAzMTI2NGJmNDdlNmFmOTMzOGY4YWUwMjM2ZDVmLgoJICBqaWZtdXggc2hvdWxkbid0IGJlIGFibGUgdG8gaGFuZGxlIGppZiBhbmQgc2hvdWxkbid0IGV4cGVjdAoJICBhbnkgeG1wIG9uIGl0cyBkYXRhLiBTbywgbm8gbmVlZCB0byBoYW5kbGUgdGhlbS4KCjIwMTAtMDUtMDcgMTI6NDI6MjMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIGppZm11eDogTWVyZ2UgeG1wIGFuZCB0YWdzZXR0ZXIgdGFncy4KCSAgV2hlbiB0aGUgY3VycmVudCBmaWxlIGFscmVhZHkgaGFzIHRhZ3MsIHRoZXkgc2hvdWxkbid0IGJlIGlnbm9yZWQsCgkgIHBhcnNlIHRoZW0gYW5kIG1lcmdlIHdpdGggdGhlIHRhZ3NldHRlciBvbmVzLgoKMjAxMC0wNS0wNyAxMTowNzozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgamlmbXV4OiBSZWplY3QgYnVmZmVycyB3aXRob3V0IGNhcHMKCSAgamlmbXV4IGV4cGVjdHMgd2hvbGUganBlZyBwaWN0dXJlcyBpbiBidWZmZXJzLCBzbyBpdCBzaG91bGQKCSAgcmVqZWN0IGJ1ZmZlcnMgd2l0aG91dCBjYXBzLgoKMjAxMC0wNS0wNyAxMDo1OToyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgamlmbXV4OiBCZSBzYWZlIGFuZCBjaGVjayBieXRld3JpdGVyIHJldHVybnMKCSAgQ2hlY2sgR3N0Qnl0ZVdyaXRlciByZXR1cm5zIHRvIGtub3cgd2hlbiByZWNvbWJpbmluZyB0aGUgaW1hZ2UKCSAgZmFpbGVkIGFuZCBsb2cgYSB3YXJuaW5nLgoKMjAxMC0wNS0wNyAxMDoxMzo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgamlmbXV4OiBBdm9pZCBhZGRpbmcgMiB4bXAgcGFja2V0cwoJICBqaWZtdXggd2FzIG9ubHkgYXBwZW5kaW5nIGEgbmV3IHhtcCBwYWNrZXQgdG8gdGhlIHN0cmVhbSwKCSAgaXQgc2hvdWxkIHJlcGxhY2UgaWYgdGhlcmUgaXMgYWxyZWFkeSBvbmUuCgoyMDEwLTA1LTA3IDEwOjU4OjQ5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGFkZCBmcmVlemUgdG8gcGx1Z2luIGRvY3MKCjIwMTAtMDUtMDcgMDg6MTI6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXhhbXBsZXMvbXB0c190ZXN0Mi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHNtdXgvbXB0c190ZXN0Mi5jOgoJICBtcGVndHNtdXg6IE1vdmUgbXVsdGktcHJvZ3JhbSBtdXhpbmcgZXhhbXBsZSBhdCBsZWFzdCB0byB0aGUgY29ycmVjdCBkaXJlY3RvcnkKCSAgQnV0IGl0IGRvZXNuJ3Qgd29yayBvdXQgb2YgdGhlIGJveCBiZWNhdXNlIG9mIGhhcmRjb2RlZCBwYXRocy4KCjIwMTAtMDUtMDYgMTM6NTE6MjIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltaWM6IFB1c2ggb3V0IG5ld3NlZ21lbnQgZnJvbSBjdXJyZW50IHRpbWVzdGFtcCBpZiB0aGUgaW5jb21pbmcgdHMgaXMgdmFsaWQKCSAgUHVzaCBvdXQgbmV3c2VnbWVudCBldmVudCB3aXRoIHRoZSB0aW1lc3RhbXAgZnJvbSB0aGUgaW5jb21pbmcgYnVmZmVyIGlmCgkgIHRoZSBpbmNvbWluZyBidWZmZXJzIGhhdmUgYSB2YWxpZCB0aW1lc3RhbXAgYnV0IG5vIHZhbGlkIG5ld3NlZ21lbnQgZXZlbnQKCSAgaGFzIGJlZW4gdGhyb3VnaC4KCjIwMTAtMDUtMDYgMjI6Mzg6MjIgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogQXBwbHkgY2FwcyB0byBnZW5lcmF0ZWQgYnVmZmVycwoJICBBdm9pZCB0aGUgbmV3IHdhcm5pbmcgZnJvbSB0aGUgY29yZSBhYm91dCBub3QgYmVpbmcgYWJsZSB0byBhcHBseSBjYXBzCgkgIHRvIE5BViBwYWNrZXQgYnVmZmVycywgd2hlcmUgcmVzaW5kdmRzcmMgaG9sZHMgYSByZWYuCgoyMDEwLTA1LTA2IDEzOjEyOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5oOgoJICBjYXBzc2V0dGVyOiBTb21lIG1pbm9yIGNsZWFudXAKCjIwMTAtMDUtMDYgMDk6NTE6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgbW1zc3JjOiBVc2UgdGhlIGVzY2FwZWQgbG9jYXRpb24gZm9yIHRoZSBSVFNQIHJlZGlyZWN0IG1lc3NhZ2UKCSAgZ3N0X3VyaV9nZXRfbG9jYXRpb24oKSB1bmVzY2FwZXMgdGhlIGxvY2F0aW9uLCB3aGljaCBjb3VsZCByZXN1bHQgaW4KCSAgYW4gaW52YWxpZCBSVFNQIFVSSS4KCjIwMTAtMDUtMDYgMDk6NDg6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgbW1zc3JjOiBDaGVjayBVUkkgZm9yIHZhbGlkaXR5IGFuZCB3b3JrIGFyb3VuZCBVUkkgcGFyc2luZyBidWdzIGluIGxpYm1tcwoJICBGaXhlcyBidWcgIzYxNzY1MC4KCjIwMTAtMDUtMDYgMDg6MDg6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgbW1zc3JjOiBTb21lIHJhbmRvbSBjbGVhbnVwCgoyMDEwLTA1LTA1IDEyOjIzOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogU2V0IGZpeGVkIGNhcHMgb24gdGhlIGNvcnJlY3QgcGFkCgkgIFRoaXMgbWFrZXMgdGhlIHNpbmsgZ2V0Y2FwcyBmdW5jdGlvbiBhY3R1YWxseSB1c2VkIGluc3RlYWQgb2YgdXNpbmcKCSAgdGhlIGZpeGVkIGNhcHMgZnVuY3Rpb24gZm9yIGl0LgoKMjAxMC0wNS0wMSAxMjozMTo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vLmdpdGlnbm9yZToKCSAgQWRkIG5ldyBjYW1lcmFiaW4gdGVzdCBiaW5hcnkgdG8gLmdpdGlnbm9yZQoKMjAxMC0wNS0wMSAxNTowMDoyNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAuaDoKCSAgdmRwYXU6IGZpeCBzbWFsbCB0eXBvCgoyMDEwLTA1LTAxIDE0OjU4OjMwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmg6CgkgIHZkcGF1OiBhZGQgbGVmdG92ZXIgZ3N0dmRwLmgKCjIwMTAtMDUtMDEgMTQ6NDU6MDQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGZpeCBjcmFzaGVyIG9uIHNldHRpbmcgcHJvcGVydGllcyBiZWZvcmUgd2UncmUgaW4gUkVBRFkKCjIwMTAtMDQtMjkgMjI6NDM6NTkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0c3JjcGFkLmM6CgkgIHZkcGF1OiByZW1vdmUgZGVidWcgY29kZQoKMjAxMC0wNC0yOSAyMjoyNDozNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkgIHZkcGF1OiBzbWFsbCBhcGkgY2xlYW51cAoJICBtZXJnZSBnc3RfdmRwX3ZpZGVvX2J1ZmZlcl9nZXRfYWxsb3dlZF9bdmlkZW98eXV2XV9jYXBzIGludG8KCSAgZ3N0X3ZkcF92aWRlb19idWZmZXJfZ2V0X2FsbG93ZWRfY2FwcwoKMjAxMC0wNC0yMiAxMjo1NzozMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dHNyY3BhZC5oOgoJICB2ZHBhdTogc21hbGwgZml4ZXMKCjIwMTAtMDQtMjIgMTI6NTI6NDIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXUuYzoKCSAgdmRwYXU6IGFkZCBiYWNrIGdzdHZkcGF1LmMKCjIwMTAtMDMtMTcgMjE6MDI6MDcgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJICB2ZHBhdTogYWRkIGdzdF92ZHBfaW5pdCBmdW5jdGlvbiB3aGVyZSB3ZSByZWdpc3RlciB0eXBlcwoKMjAxMC0wMy0xNyAyMDo1OTowOCArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dGJ1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0YnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRzcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dHNyY3BhZC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJICB2ZHBhdTogYWRkIGJldHRlciBlcnJvciBoYW5kbGluZyB0byBHc3RWZHBPdXRwdXRTcmNQYWQKCSAgZ3N0X3ZkcF9vdXRwdXRfc3JjX3BhZF9wdXNoLCBnc3RfdmRwX291dHB1dF9zcmNfcGFkX2FsbG9jX2J1ZmZlciBhbmQKCSAgZ3N0X3ZkcF9vdXRwdXRfc3JjX3BhZF9nZXRfZGV2aWNlIG5vdyB0YWtlIGEgR0Vycm9yIHBhcmFtZXRlciB0byBiZSBhYmxlIHRvCgkgIHNpZ25hbCBlcnJvcnMgdG8gdGhlIGNhbGxlcgoKMjAwOS0xMS0yOCAyMzo1ODo1NyArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuaDoKCSAgdmRwYXU6IG1ha2UgR3N0VmRwVmlkZW9TcmNQYWQoQ2xhc3MpPyBwcml2YXRlCgoyMDA5LTExLTI4IDIzOjU1OjA5ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXVtcGVnZGVjOiBmb2xsb3cgR3N0VmRwVmlkZW9TcmNQYWQgY2hhbmdlcwoKMjAwOS0xMS0yOCAyMzo1MjoxNSArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuaDoKCSAgdmRwYXU6IHJlbW92ZSB0ZW1wbGF0ZS1jYXBzIHByb3BlcnkgZm9ybSBHc3RWZHBWaWRlb1NyY1BhZAoJICBHc3RWZHBWaWRlb1NyY1BhZCBub3cgdXNlIHRoZSB0ZW1wbGF0ZSBwcm9wZXJ0eSBvZiBHc3RQYWQgaW5zdGVhZC4gQWxzbyBjaGFuZ2VkCgkgIHRoZSBfbmV3IGZ1bmN0aW9uIHRvIGJlIGxpa2UgZ3N0X3BhZF9uZXdfZnJvbV90ZW1wbGF0ZS4KCjIwMTAtMDUtMDEgMDE6MTY6NTAgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkgIEZpeCB3YXJuaW5ncyBpbiBkaXJlY3RkcmF3c2luayBhbmQgZGlyZWN0c291bmRzcmMKCSAgRml4ZXMgIzYxNzMzMQoKMjAxMC0wNC0zMCAxOTowMzo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50cyB0byByZWxlYXNlZCB2ZXJzaW9ucwoKMjAxMC0wNC0yOSAxNjozMzo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBpbXByb3ZlIGJ1ZmZlciBzY2FubmluZwoJICBTcGVjaWZpY2FsbHksIHdoZW4gc2Nhbm5pbmcgZm9yIGVudHJvcHkgZGF0YSBzZWdtZW50IGxlbmd0aCBhbmQgbmVlZGluZwoJICBtb3JlIGRhdGEsIGRvIG5vdCByZXNjYW4gZnJvbSBzdGFydCBuZXh0IHRpbWUgYXJvdW5kLCBidXQgcmVzdW1lIGF0CgkgIGxhc3QgcG9zaXRpb24uCgkgIFNlZSBhbHNvICM1ODMwNDcuCgoyMDEwLTA0LTI3IDEwOjQ4OjMyIC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHRyaXN0YW4tbGFwdG9wLihub25lKT4KCgkqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja3V0aWwuYzoKCSogZXh0L2phY2svZ3N0amFja3V0aWwuaDoKCSAgamFjazogaW1wbGVtZW50IG11bHRpY2hhbm5lbCBzdXBwb3J0IGNvcnJlY3RseSBmb3IgamFja2F1ZGlvc3JjCgkgIEZpeGVzIHBhcnRzIG9mIGJ1ZyAjNjE2NTQxLgoKMjAxMC0wNC0yOSAxMzoxODo1OCArMDEwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBvcmFjbGUuY29tPgoKCSogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkqIHN5cy9vc3M0L29zczQtc2luay5oOgoJICBvc3M0c2luazogaW1wbGVtZW50IEdzdFN0cmVhbVZvbHVtZSBpbnRlcmZhY2UgYW5kIGFkZCBtdXRlIGFuZCB2b2x1bWUgcHJvcGVydGllcwoJICBPU1M0IHN1cHBvcnRzIHBlci1zdHJlYW0gdm9sdW1lIGNvbnRyb2wsIHNvIGV4cG9zZSB0aGlzIHVzaW5nIHRoZSByaWdodAoJICBBUEksIHNvIHRoYXQgcGxheWJpbjIgYW5kIGFwcGxpY2F0aW9ucyBsaWtlIHRvdGVtIGNhbiBtYWtlIHVzZSBvZiBpdAoJICAoaW5zdGVhZCBvZiB1c2luZyBhIHZvbHVtZSBlbGVtZW50IGZvciB2b2x1bWUgY29udHJvbCkuCgkgIEZpeGVzICM2MTQzMDUuCgoyMDEwLTA0LTI5IDA0OjQyOjIxICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvcHRpb25zLmNjOgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJKiBzeXMvYWNtbXAzZGVjL2FjbW1wM2RlYy5jOgoJKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmM6CgkgIEZpeCBwcmludGYgZm9ybWF0IHN0cmluZ3MgZm9yIGdjYyA0LjUKCSAgRG9uZSBvbiBXaW5kb3dzL01pbkdXLgoJICBGaXhlcyAjNjE3MTQ2CgoyMDEwLTA0LTI3IDExOjIxOjE2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrcmluZ2J1ZmZlci5oOgoJICBqYWNrOiByZW1vdmUgZW1wdHkgZGlzcG9zZSBhbmQgZmluYWxpemUgbWV0aG9kcwoKMjAxMC0wNC0yNyAxMDo1OTowMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogZG9uJ3QgbGVhayBjYXBzCgkgIEFkZCBkaXNwb3NlIG1ldGhvZHMgdG8gY2xlYXIgY2Fwcy4KCjIwMTAtMDQtMjcgMTA6MzQ6MjQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGRvbid0IHVzZSBHU1RfREVCVUdfRlVOQ1BUUiBmb3IgZ29iamVjdCB2bWV0aG9kcwoKMjAxMC0wNC0yNiAxNTowNjowOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbGFkc3BhLGx2MjogZG9uJ3QgZmFpbCBpbiBwbHVnaW5faW5pdCB3aGVuIGhhdmluZyAwIGVsZW1lbnRzCgkgIElmIHdlIGZhaWwsIHRoZSBwbHVnaW4gc2Nhbm5lciB3aWxsIGJsYWNrbGlzdCB1cy4KCjIwMTAtMDQtMjMgMTQ6NDE6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmYzg1ODY3IHRvIDRkNjdiZDYKCjIwMTAtMDQtMjAgMTY6NTg6MzMgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBhZGQgbWVhbmluZ2Z1bCBuYW1lcyBmb3IgcXVldWUgZWxlbWVudHMgaW5zaWRlIGNhbWVyYWJpbgoKMjAxMC0wNC0yMCAxNTozNzowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGFsc28gc2V0IHNob3J0IGNvbmZpZ3VyYXRpb24gZGF0YSBpbiBjb2RlY19kYXRhCgkgIFRoYXQgaXMsIGhlYWRlciBjb25maWd1cmF0aW9uIG1heSBzdGFydCBhdCBWaWRlbyBPYmplY3QgKHN0YXJ0Y29kZSksCgkgIHJhdGhlciB0aGFuIGF0IFZpc3VhbCBPYmplY3QgU2VxdWVuY2UsIHdoaWNoIGlzIGNhdGVyZWQgZm9yIGFuZCBwYXJzZWQsCgkgIHNvIGxldCdzIGFsc28gdGFrZSBpdCBhcyBjb2RlY19kYXRhIGlmIG5vIG1vcmUgYXZhaWxhYmxlLgoJICBGaXhlcyAocmVtYWluZGVyIG9mKSAjNTcyNTUxLgoKMjAxMC0wNC0xOSAxOTowNDoyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEF2b2lkIGNyYXNoaW5nIHdoZW4gc2V0dGluZyB6b29tIGluIE5VTEwKCSAgQXZvaWQgc2V0dGluZyB6b29tIGluIE5VTEwgc3RhdGUgYmVjYXVzZSB0aGUgc291cmNlIGlzIG5vdAoJICBzZXQgeWV0IGFuZCB0aGlzIGxlYWRzIHRvIGEgY3Jhc2guIEl0IGlzIHNldCBvbiBSRUFEWSA+IFBBVVNFRAoJICBhbnl3YXkuCgoyMDEwLTA0LTE4IDE0OjUxOjM1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuaDoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBFeHBvcnQgcHJvZmlsZSBhbmQgbGV2ZWwgaW4gY2FwcwoJICBUaGlzIGV4cG9ydHMgcHJvZmlsZSBhbmQgbGV2ZWwgaW4gY2FwcyBmb3IgTVBFRyAyIHN0cmVhbXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTYwNzgKCjIwMTAtMDQtMTYgMTk6NDU6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZWZzLmg6CgkgIHJlc2luZHZkYmluOiBVc2UgR1NUX0ZMT1dfQ1VTVE9NX1NVQ0NFU1MgaW5zdGVhZCBvZiBzb21lIGludGVnZXIKCSAgRml4ZXMgY29tcGlsZXIgd2FybmluZ3Mgd2l0aCBnY2MgNC41LgoJICBUaGlzIGlzIHRoZSBzYW1lIGFzIGNvbW1pdCA1YTUxZGJkLgoKMjAxMC0wNC0xNiAxOTo0Mzo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkgIG1wZWdkZW11eDogVXNlIEdTVF9GTE9XX0NVU1RPTV9TVUNDRVNTIGluc3RlYWQgb2Ygc29tZSBpbnRlZ2VyCgkgIEZpeGVzIGNvbXBpbGVyIHdhcm5pbmcgd2l0aCBnY2MgNC41LgoKMjAxMC0wNC0xNiAxOTo0MjowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBSZXZlcnQgIm1wZWdwc2RlbXV4OiBXb3JrYXJvdW5kIG5ldyBnY2MgNC41IGNvbXBpbGVyIHdhcm5pbmciCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYTMzMTIyOGVjY2ZiOGM2NjQ5M2ZhM2M4YzQ5MzM4Yzc5Y2Y0NjQyYy4KCjIwMTAtMDQtMTYgMTk6NDE6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICBSZXZlcnQgInJlc2luZHZkYmluOiBBcHBseSBnY2MgNC41IGNvbXBpbGVyIHdhcm5pbmcgd29ya2Fyb3VuZCB0byB0aGUgbXBlZ3BzZGVtdXggY29weSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA2NWIwZjc1ZDFiMzExOTMxNmIyZGNhZjViZmY0ZGZkMmJkODI0Y2MxLgoKMjAxMC0wNC0xNSAyMTo0NDoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkgIG1ldGFkYXRhOiBBbm90aGVyIHdvcmthcm91bmQgZm9yIGVudW0gdmFsdWVzIHRoYXQgYXJlIG5vdCBhY3R1YWxseSBtZW1iZXIgb2YgdGhlIGVudW0KCjIwMTAtMDQtMTUgMjE6NDA6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZGJpbjogQXBwbHkgZ2NjIDQuNSBjb21waWxlciB3YXJuaW5nIHdvcmthcm91bmQgdG8gdGhlIG1wZWdwc2RlbXV4IGNvcHkKCSAgU2FtZSBhcyBhMzMxMjI4ZWNjZmI4YzY2NDkzZmEzYzhjNDkzMzhjNzljZjQ2NDJjLgoKMjAxMC0wNC0xNSAyMTozODo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdTogSW5pdGlhbGl6ZSBwb3NzaWJseSB1bmluaXRpYWxpemVkIHZhcmlhYmxlCgoyMDEwLTA0LTE1IDIxOjM1OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogQWN0dWFsbHkgY29tcGFyZSB0aGUgc3RhdGUgYW5kIG5vdCB0aGUgc3RhdGUgY2hhbmdlIHJldHVybiBmcm9tIF9nZXRfc3RhdGUoKQoKMjAxMC0wNC0xNSAyMToyNjo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogV29ya2Fyb3VuZCBuZXcgZ2NjIDQuNSBjb21waWxlciB3YXJuaW5nCgkgIGdjYyA0LjUgd2FybnMgd2hlbiBjb21wYXJpbmcgc29tZSBpbnRlZ2VyIHdpdGggYW4gZW51bSB2YWx1ZSwgaW4KCSAgdGhlIGNhc2Ugb2YgR3N0Rmxvd1JldHVybiB0aGlzIGlzIHZhbGlkIHRob3VnaC4gV2Ugc2hvdWxkIGxhdGVyCgkgIGFkZCBHU1RfRkxPV19DVVNUT01fT0sxLCBHU1RfRkxPV19DVVNUT01fT0syLCBldGMuIGFmdGVyIG5ldyBjb3JlCgkgIGlzIHJlbGVhc2VkLgoKMjAxMC0wNC0xNSAyMDo1MDo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJICBjZHhhcGFyc2U6IENvbXBhcmUgdGhlIGNvcnJlY3QgdmFyaWFibGUgdG8gR1NUX1NFRUtfVFlQRV9TRVQKCjIwMTAtMDQtMTUgMDc6MjQ6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IERyb3AgLVdjYXN0LWFsaWduCgkgIENvbW1pdCBtZXNzYWdlIGNvcGllZCBmcm9tIGNvcmUncyBjb21taXQgZnJvbSBCZW5qYW1pbiBPdHRlOgoJICAyNDZmNWRiYTk2YTViNTBiYjc0NjIxYWY2N2IzMDk0MmNjYTcyYWY1CgkgIEFwcGFyZW50bHkgZ2NjIHdhcm5zIHRoYXQgR3N0TWluaU9iamVjdCBpcyBub3QgY2FzdGFibGUgdG8KCSAgR3N0RXZlbnQvTWVzc2FnZS9CdWZmZXIgZHVlIHRvIHRoZW0gY29udGFpbmluZyA2NGJpdCB2YXJpYWJsZXMsIGV2ZW4KCSAgdGhvdWdoIEFSTSBoYWNrZXJzIGNsYWltIHRoYXQgdGhvc2Ugb25seSBuZWVkIDRieXRlIGFsaWdubWVudC4gQW5kIGFzCgkgIGxvbmcgYXMgZ2NjIGJlaGF2ZXMgdGhhdCB3YXksIHRoaXMgd2FybmluZyBpcyBub3QgdmVyeSB1c2VmdWwuCgkgIFNvIHdlJ2xsIHJlbW92ZSB0aGUgd2FybmluZyB1bnRpbCB0aGlzIHByb2JsZW0gaXMgZml4ZWQuCgkgIEZpeGVzICM2MTU2OTgKCjIwMTAtMDQtMTUgMTM6MjA6NDIgKzAzMDAgIEFkYW0gRW5kcm9kaSA8YWRhbS5lbmRyb2RpQGJsdW1zb2Z0LmV1PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiByZXNldCBzb2Z0d2FyZSB6b29taW5nIGlmIG5vdCBzZXQgYnkgdGhlIHBob3RvIGludGVyZmFjZQoJICBPdGhlcndpc2UgYm90aCBzb2Z0d2FyZSAodmlkZW9zY2FsK3ZpZGVvY3JvcCkgYW5kIGhhcmR3YXJlIHpvb21pbmcgd291bGQgYmUgdXNlZC4KCjIwMTAtMDQtMTQgMTY6NDI6NTcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkgIGludnRlbGVjaW5lOiBGaXggdXAgZWxlbWVudCBkZXRhaWxzCgoyMDEwLTA0LTE0IDE2OjMyOjM0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIHRvb2xzL01ha2VmaWxlLmFtOgoJKiB0b29scy9iYXNlLmM6CgkqIHRvb2xzL2VsZW1lbnQtbWFrZXI6CgkqIHRvb2xzL2dvYmplY3QuYzoKCSogdG9vbHMvZ3N0YXVkaW9maWx0ZXIuYzoKCSogdG9vbHMvZ3N0YXVkaW9zaW5rLmM6CgkqIHRvb2xzL2dzdGF1ZGlvc3JjLmM6CgkqIHRvb2xzL2dzdGJhc2VhdWRpb3NpbmsuYzoKCSogdG9vbHMvZ3N0YmFzZWF1ZGlvc3JjLmM6CgkqIHRvb2xzL2dzdGJhc2VydHBkZXBheWxvYWQuYzoKCSogdG9vbHMvZ3N0YmFzZXJ0cHBheWxvYWQuYzoKCSogdG9vbHMvZ3N0YmFzZXNpbmsuYzoKCSogdG9vbHMvZ3N0YmFzZXNyYy5jOgoJKiB0b29scy9nc3RiYXNldHJhbnNmb3JtLmM6CgkqIHRvb2xzL2dzdGNkZGFiYXNlc3JjLmM6CgkqIHRvb2xzL2dzdGVsZW1lbnQuYzoKCSogdG9vbHMvZ3N0cHVzaHNyYy5jOgoJKiB0b29scy9nc3R0YWdkZW11eC5jOgoJKiB0b29scy9nc3R2aWRlb3NpbmsuYzoKCSAgdG9vbHM6IEFkZCBlbGVtZW50LW1ha2VyCgkgIEFkZCBhIHNjcmlwdCB0aGF0IGNyZWF0ZXMgZWxlbWVudHMgYmFzZWQgb24gYW55IG9mIHRoZSBHU3RyZWFtZXIKCSAgYmFzZSBjbGFzc2VzLiAgSXQgaXNuJ3QgdmVyeSB1c2VyIGZyaWVuZGx5IGF0IHRoZSBtb21lbnQsIG9uZQoJICBuZWVkcyB0byBlZGl0IHRoZSBzY3JpcHQgdG8gbWFrZSBpdCB3b3JrIHByb3Blcmx5LiAgRWFjaCBiYXNlIGNsYXNzCgkgIGhhcyBhIHRlbXBsYXRlIGZpbGUgZGVzY3JpYmluZyB3aGF0IHRvIHB1dCBpbnRvIHRoZSBjb25zdHJ1Y3RlZAoJICBlbGVtZW50LiAgRXZlbnR1YWxseSwgdGhlc2UgdGVtcGxhdGVzIHNob3VsZCBiZSBtb3ZlZCB0byByZXNpZGUKCSAgd2l0aCB0aGUgYmFzZSBjbGFzcyBzb3VyY2UgYW5kIGluc3RhbGxlZCB0byBhIHdlbGwta25vd24gZGlyZWN0b3J5LAoJICB3aGVyZSBhbiBpbnN0YWxsZWQgc2NyaXB0IGNvdWxkIGZpbmQgdGhlbS4KCSAgVGhlIHRlbXBsYXRlIGZpbGVzIHVzZSB0aGUgLmMgZW5kaW5nIHNvIGVkaXRvcnMga25vdyB0aGV5IGFyZSBDCgkgIHNvdXJjZSwgYnV0IGdzdC1pbmRlbnQgZG9lc24ndCBoYW5kbGUgdGhlbSBjb3JyZWN0bHkuICBTbyB0aGV5CgkgIG5lZWQgdG8gYmUgY29tbWl0dGVkIHdpdGggLW4uICBVZ2guICBJJ2xsIHRyeSB0byBmaWd1cmUgb3V0IGEgZml4CgkgIGZvciB0aGF0IHNvb24uCgoyMDEwLTA0LTEzIDIwOjMyOjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5waG90b2dyYXBoeS5jOgoJICBjYW1lcmFiaW46IEFkZCB2aWRlby1jYXB0dXJlLXdpZHRoL2hlaWdodC9mcmFtZXJhdGUgcHJvcGVydGllcwoJICBBZGRzIHZpZGVvLWNhcHR1cmUtd2lkdGgsIHZpZGVvLWNhcHR1cmUtaGVpZ2h0IGFuZAoJICB2aWRlby1jYXB0dXJlLWZyYW1lcmF0ZSBwcm9wZXJ0aWVzIHRvIGFsbG93IGFwcGxpY2F0aW9ucyB0bwoJICBnZXQvc2V0IHRob3NlIHZhbHVlcy4gR2V0dGluZyB3YXMgbm90IHBvc3NpYmxlIGJlZm9yZSB0aGlzIHBhdGNoLAoJICBhbmQgc2V0dGluZyB3YXMgZG9uZSB0aHJvdWdoIHRoZSBzZXQtdmlkZW8tcmVzb2x1dGlvbi1mcHMKCSAgYWN0aW9uLCB3aGljaCBzZXRzIHRoZSBwcm9wZXJ0aWVzIGFuZCBwcm9tcHRseSByZXNldHMgdGhlCgkgIHZpZGVvIHNvdXJjZSB0byB1c2UgdGhlbS4KCSAgRml4ZXMgIzYxNDk1OAoKMjAxMC0wNC0xMyAxODozMzo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkgIGNhbWVyYWJpbjogQWRkcyBpbWFnZS1jYXB0dXJlLXdpZHRoL2hlaWdodCBwcm9wZXJ0aWVzCgkgIEFkZHMgaW1hZ2UtY2FwdHVyZS13aWR0aCBhbmQgaW1hZ2UtY2FwdHVyZS1oZWlnaHQgcHJvcGVydGllcwoJICB0byBjYW1lcmFiaW4sIGFsbG93aW5nIHRoZSB1c2VyIHRvIGdldC9zZXQgdGhlbS4gR2V0dGluZyB3YXMKCSAgbm90IHBvc3NpYmxlIGJlZm9yZSBhbmQgc2V0dGluZyB3YXMgZG9uZSB0aHJvdWdoIHRoZQoJICBzZXQtaW1hZ2UtcmVzb2x1dGlvbiBhY3Rpb24sIHdoaWNoIHNob3VsZG4ndCBub3cganVzdCBzZXQKCSAgdGhlIHByb3BlcnRpZXMuCgkgIEZpeGVzICM2MTQ5NTgKCjIwMTAtMDQtMTMgMTU6NTk6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBwaG90b2dyYXBoeTogU3ByaW5nIEdfUEFSQU1fU1RBVElDX1NUUklOR1MKCSAgU3ByaW5rbGUgc29tZSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIG92ZXIgdGhlIHByb3BlcnRpZXMKCSAgaW4gR3N0UGhvdG9ncmFwaHkgaW50ZXJmYWNlIGFuZCBpbiBjYW1lcmFiaW4KCjIwMTAtMDMtMDIgMTQ6MDQ6NDQgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogYWRkIGJsb2NrLWFmdGVyLWNhcHR1cmUgcHJvcGVydHkgZm9yIHZpZXdmaW5kZXIgYmxvY2tpbmcKCSAgQWRkcyBibG9jay1hZnRlci1jYXB0dXJlIHByb3BlcnR5IHRvIGJsb2NrIHJ1bm5pbmcgdmlld2ZpbmRlciBhZnRlciBjYXB0dXJpbmcuCgkgIFRoaXMgcHJvcGVydHkgaXMgdXNlZnVsIGlmIGFwcGxpY2F0aW9uIHdhbnRzIHRvIGRpc3BsYXkgY2FwdHVyZSBwcmV2aWV3IGFuZCBhdm9pZAoJICBydW5uaW5nIHZpZXdmaW5kZXIgb24gYmFja2dyb3VuZC4KCSAgQmFzZWQgb24gYSBwYXRjaCBieSBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoyMDEwLTAyLTA5IDE0OjUyOjQ5ICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW46IGFkZCB2aWV3ZmluZGVyLWZpbHRlciBhbmQgZmlsdGVyIGNhcHMgcHJvcGVydGllcwoJICBBZGRzIHN1cHBvcnQgZm9yIHNldHRpbmcgZmlsdGVyLWNhcHMgYW5kIHZpZXdmaW5kZXItZmlsdGVyCgkgIHByb3BlcnRpZXMgaW4gdGhlIGdzdC1jYW1lcmFiaW4tdGVzdCBhcHBsaWNhdGlvbgoKMjAxMC0wMS0yNiAxNToxODoyNCArMDIwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnBob3RvZ3JhcGh5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBHc3RQaG90b2dyYXBoeTogQWRkIGZsaWNrZXIgYW5kIGZvY3VzIG1vZGUgc2V0dGluZ3MgdG8gcGhvdG9ncmFwaHkgQVBJCgkgIEFkZHMgZmxpY2tlciBhbmQgZm9jdXMgbW9kZSBzZXR0aW5ncyB0byBwaG90b2dyYXBoeSBBUEkgYW5kIGFsc28KCSAgaW1wbGVtZW50IGl0IGluIGNhbWVyYWJpbi4KCjIwMDktMTEtMjYgMTI6MTI6MDYgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgY2FtZXJhYmluOiBhZGQgZ3N0LWNhbWVyYWJpbi10ZXN0IGNvbW1hbmQgbGluZSB0ZXN0IHRvb2wKCSAgZ3N0LWNhbWVyYWJpbi10ZXN0IHRvb2wgY2FuIGJlIHVzZWQgdG8gY2FwdHVyZSBzdGlsbCBpbWFnZXMgYW5kCgkgIHZpZGVvIGNsaXBzIHVzaW5nIGNhbWVyYWJpbiBlbGVtZW50LgoKMjAwOS0xMS0xNiAxNTowMjowMyArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSAgY2FtZXJhYmluOiBkbyBub3Qgc2V0IGltYWdlYmluIHNpbmtwYWQgdHdpY2UKCSAgSWYgd2UgYWxyZWFkeSBoYXZlIGEgc2lua3BhZCwgZG8gbm90IGdldCBhIG5ldyBvbmUKCjIwMDktMTEtMTYgMTU6MTM6MzEgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiB1cGRhdGUgdW5pdCB0ZXN0cwoJICBBZGQgdGVzdGluZyBvZiBzZXR0aW5nIGFuZCBnZXR0aW5nIG9mIGNhbWVyYWJpbiBwcm9wZXJ0eSBlbGVtZW50cyBhbmQKCSAgYWRkIHBvc3QtcHJvY2Vzc2luZyBlbGVtZW50cyB0byBwaXBlbGluZS4KCjIwMDktMTEtMTMgMTY6NDI6NDQgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBhZGQgdW5pdCB0ZXN0cyBmb3Igc2V0dGluZyBkaWZmZXJlbnQgZmxhZ3Mgd2hlbiBjYXB0dXJpbmcKCSAgQWRkcyBzb21lIHRlc3RzIHRoYXQgdXNlIGZsYWdzIGZvciBjYXB0dXJpbmcgdG8gYXN1cmUgaXQgd29ya3MKCSAgd2l0aCBmbGFncyBzZXQgb3Igbm90LgoKMjAwOS0xMC0yOCAxNzozNzo1NiArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGFkZCBwYXVzZWQgdmlkZW8gY2FwdHVyZSBmaWxlIHZhbGlkaXR5IGNoZWNrIGluIHVuaXQgdGVzdAoJICBBbHNvIGNoZWNrIHRoYXQgdGhlIGZpbGUgY2FwdHVyZWQgaW4gdGhlIHBhdXNlZCBjYXB0dXJlIHVuaXQgdGVzdCBpcwoJICBwbGF5YWJsZS4KCjIwMDktMTAtMTkgMTQ6MzE6NTQgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogYWRkIHZpZXdmaW5kZXItZmlsdGVyIHByb3BlcnR5CgkgIEFkZHMgYSBuZXcgcHJvcGVydHkgY2FsbGVkIHZpZXdmaW5kZXItZmlsdGVyIHRvIGNhbWVyYWJpbi4KCSAgVGhpcyBwcm9wZXJ0eSBpcyB1c2VkIHRvIGFkZCBhIGZpbHRlciB0byBwcm9jZXNzIHRoZSB2aWRlbwoJICBmbG93IHJpZ2h0IGJlZm9yZSB0aGUgdmlld2ZpbmRlciBzaW5rLgoJICBBbHNvIHVwZGF0ZXMgdGVzdCB0byBjaGVjayBwcm9wZXJ0eSBleGlzdHMuCgoyMDA5LTEwLTIxIDE4OjAyOjI3ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBzZXQgdmlkZW90ZXN0c3JjIHBhdHRlcm4gdG8gd2hpdGUgaW4gdW5pdCB0ZXN0CgkgIExvd2VyIGNvbXBsZXhpdHkgb2YgZW5jb2RpbmcgYW5kIHZpZGVvdGVzdHNyYyByZWRyYXdpbmcgaW4gb3JkZXIKCSAgdG8gcHJldmVudCB1bml0IHRlc3QgdGltZW91dHMuCgoyMDA5LTEwLTE0IDE0OjAxOjM0ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHByb3h5IHZpZGVvIHNvdXJjZSBwaG90b2dyYXBoeSBpbnRlcmZhY2UgcHJvcGVydHkgbm90aWZ5IHNpZ25hbHMKCSAgSWYgcGhvdG9ncmFwaHkgaW50ZXJmYWNlIHByb3BlcnRpZXMgY2hhbmdlIGluIHZpZGVvIHNvdXJjZSwgbm90aWZ5IHRoZQoJICBhcHBsaWNhdGlvbiBieSBlbWl0dGluZyBub3RpZnkgZm9yIHJlc3BlY3RpdmUgY2FtZXJhYmluIHByb3BlcnRpZXMuCgoyMDA5LTEwLTE0IDE0OjQyOjAxICswMzAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogTmV3IHVuaXQgdGVzdHMKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIGNhbWVyYWJpbiBwcm9wZXJ0aWVzIHNldHRpbmcgYW5kIGdldHRpbmcsCgkgIGFkZHMgb25lIGZvciB2aWRlbyBjYXB0dXJpbmcgd2l0aCBwYXVzZS4KCSAgQWxzbyBkb2VzIHNvbWUgYzk5IHZhcmlhYmxlIGRlY2xhcmF0aW9uIGZpeGVzLgoKMjAwOS0xMC0xNCAxNDowMTowNSArMDMwMCAgU2hlbmdodWEgTGl1IDxFWFQtTGl1LnNoZW5naHVhQG5va2lhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHVwZGF0ZSB1bml0IHRlc3QgdG8gaGF2ZSB0ZXN0IG9uIHJlY29yZGluZyBzbmFwc2hvdCBwcmV2aWV3CgkgIEFkZHMgYSBzbWFsbCBjaGVjayB0byB2ZXJpZnkgdGhhdCB0aGUgcHJldmlldyBpbWFnZSBtZXNzYWdlIGlzCgkgIGJlaW5nIHNlbnQgb24gdmlkZW8gcmVjb3JkaW5nLgoKMjAwOS0wOS0yMSAxNzo0NzoyMCArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnBob3RvZ3JhcGh5LmM6CgkgIGNhbWVyYWJpbjogYWRkIGFwaSB0byBxdWVyeSBzdXBwb3J0ZWQgaW1hZ2UgY2FwdHVyZSByZXNvbHV0aW9uCgkgIEFkZHMgbmV3IHByb3BlcnR5ICdpbWFnZS1jYXB0dXJlLXN1cHBvcnRlZC1jYXBzJyB0byBHc3RQaG90b2dyYXBoeQoJICB0byBxdWVyeSB0aGUgc3VwcG9ydGVkIGltYWdlIGNhcHR1cmUgY2Fwcy4KCSAgQWxzbyBpbXBsZW1lbnQgaXQgaW4gY2FtZXJhYmluLgoKMjAwOS0wNy0wMiAxODowMzo1NyArMDMwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiByZW5hbWUgZnVuY3Rpb24gYW5kIHZhcmlhYmxlIG5hbWVzLCB1cGRhdGUgZG9jdW1lbnRhdGlvbgoJICBHZXQgcmlkIG9mIHVzZXJfKiBwcmVmaXggaW50ZXJuYWxseSwgdXNlIGFwcF8qIGluc3RlYWQuCgoyMDA5LTA5LTE2IDE1OjExOjQ5ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkgIGNhbWVyYWJpbjogYWRkIHZpZGVvLXNvdXJjZS1maWx0ZXIgcHJvcGVydHkKCSAgQWRkIHZpZGVvLXNvdXJjZS1maWx0ZXIgcHJvcGVydHkgdGhhdCBjYW4gYmUgdXNlZCB0byBpbmplY3QgYXBwbGljYXRpb24KCSAgc3BlY2lmaWMgZ3N0cmVhbWVyIGVsZW1lbnQgdG8gY2FtZXJhYmluIHBpcGVsaW5lLiBUaGUgdmlkZW8tc291cmNlLWZpbHRlcgoJICBlbGVtZW50IHdpbGwgcHJvY2VzcyBhbGwgZnJhbWVzIGNvbWluZyBmcm9tIHZpZGVvIHNvdXJjZS4KCSAgT25lIGNvdWxkIGFkZCBpbWFnZSBhbmFseXplcnMgdG8gY29sbGVjdCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc3RyZWFtLAoJICBvciBhZGQgaW1hZ2UgZW5oYW5jZXJzIHRvIGltcHJvdmUgY2FwdHVyZSBxdWFsaXR5LCBmb3IgZXhhbXBsZS4KCjIwMTAtMDQtMTIgMTg6MDc6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZS5jOgoJICBjaGVjazogRG9uJ3QgcmUtZGVjbGFyZSAnR0xpc3QgKmJ1ZmZlcnMnIGluIHRoZSB0ZXN0cwoJICBJdCdzIGFuIGV4dGVybmFsIHdoaWNoIGxpdmVzIGluIGdzdGNoZWNrLmMuIFJlZGVjbGFyaW5nIGl0IG1ha2VzIHNvbWUKCSAgY29tcGlsZXJzL2FyY2hpdGVjdHVyZXMgdGhpbmsgdGhlICdidWZmZXJzJyBpbiB0aGUgaW5kaXZpZHVhbCB0ZXN0cyBhcmUKCSAgYSBkaWZmZXJlbnQgc3ltYm9sLi4uIGFuZCB0aGVyZWZvcmUgd2UgZW5kIHVwIGNvbXBhcmluZyBob2xvZGVja3Mgd2l0aAoJICBvcmFuZ2VzLgoKMjAxMC0wMi0xOCAxODoxOTo1MCArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBkb24ndCB0cnkgYWRhcHRpbmcgaW1hZ2UgY2FwdHVyZSByZXNvbHV0aW9uIGlmIG5vIHNvdXJjZS1yZXNpemUgZmxhZwoJICBJZiBzb3VyY2UtcmVzaXplIGZsYWcgaXMgZGlzYWJsZWQgdGhlbiBzZXQgcmVzb2x1dGlvbiB0byBpbWFnZSBjYXB0dXJlIGNhcHMKCSAgYWNjb3JkaW5nIHRvIGNhcHR1cmUgcmVzb2x1dGlvbiB2aWRlbyBzb3VyY2UgZWxlbWVudCBwcm9kdWNlcy4gT3RoZXJ3aXNlIHdlCgkgIHdyaXRlIHdyb25nIHJlc29sdXRpb24gdG8gaW1hZ2UgbWV0YWRhdGEuCgoyMDEwLTAxLTA1IDE1OjEzOjAyICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEZpeCBjYXB0dXJpbmcgZmxhZyBoYW5kbGluZyBhZnRlciBpbWFnZSBoYXMgYmVlbiBjYXB0dXJlZAoJICBNYWtlIHN1cmUgY2FwdHVyaW5nIGZsYWcgaXMgdW5zZXQgYW5kIGltYWdlLWNhcHR1cmVkIG1lc3NhZ2UgaXMgc2VudAoJICBiZWZvcmUgc2VuZGluZyBlb3MgZXZlbnQgdG8gaW1hZ2UgYmluIGFuZCBzYXZpbmcgdGhlIGltYWdlIHRvIGEgZmlsZS4KCjIwMDktMTEtMDQgMTM6MjQ6MTMgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZml4IHNldHRpbmcgZmlsdGVyLWNhcHMgcHJvcGVydHkgaW4gTlVMTCBzdGF0ZQoJICBTcGxpdCBfc2V0X2NhcHNmaWx0ZXJfY2FwcygpIGludG8gdHdvIHBhcnRzIHNvIHRoYXQgd2UgY2FuIGNhbGwgb25lIHBhcnQKCSAgcmVnYXJkbGVzcyBvZiB0aGUgZWxlbWVudCBzdGF0ZS4KCjIwMDktMDktMTEgMDk6Mzg6NTEgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogaW1wcm92ZSBpbWFnZSBkb25lIHNpZ25hbCBlbWlzc2lvbgoJICBVc2UgZ19pZGxlX2FkZF9mdWxsKCkgd2l0aCBHX1BSSU9SSVRZX0hJR0ggdG8gZW1pdCBpbWFnZSBkb25lIHNpZ25hbCwKCSAgZ19pZGxlX2FkZCgpIGlzIG1vcmUgbGlrZWx5IHRvIHN0YXJ2ZSB3aXRoIGhpZ2hlciBwcmlvcml0eSBldmVudHMuCgoyMDEwLTA0LTEyIDEyOjQyOjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFJlbW92ZSAtV3VuZGVmIGZsYWcKCSAgU2FtZSBmaXggYXMgZm9yICM2MTUxNjEKCjIwMTAtMDQtMTIgMDk6MTY6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJICB2ZHBhdTogQ29ycmVjdGx5IGxpbmsgdG8gdGhlIGxvY2FsIGxpYmdzdHZkcC0wLjEwIGJ5IHVzaW5nIHRoZSBsaWJ0b29sIGFyY2hpdmUKCjIwMTAtMDQtMDkgMDk6MTQ6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBjYW1lcmFiaW46IGVuYWJsZSBjYW1lcmFiaW4gdGVzdHMKCSAgUmUtZW5hYmxpbmcgY2FtZXJhYmluIHRlc3RzLCB0aGV5IGFyZSBwYXNzaW5nLgoKMjAxMC0wNC0wOSAxMToyMjo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGZkZjAyM2QgdG8gZmM4NTg2NwoKMjAxMC0wNC0wOCAxMjowMDoxMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdwYXJzZS5jOgoJICB0ZXN0czogRml4IGNvbXBpbGF0aW9uIGVycm9yIG9uIG1hY29zeAoKMjAxMC0wNC0wOCAxMDo0NTozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkgIG9zczQ6IDgtYml0IFBDTSBhdWRpbyBjYXBzIGRvbid0IG5lZWQgYW4gZW5kaWFubmVzcyBmaWVsZAoKMjAxMC0wNC0wOCAxMDo0MDowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkgIG9zczQ6IGRvbid0IGl0ZXJhdGUgdGhlIGZvcm1hdHMgdGFibGUgdHdpY2UgZm9yIGVhY2ggZW50cnkKCSAgV2hlbiBpdGVyYXRpbmcgdGhlIGZvcm1hdHMgdGFibGUsIHdlIGNhbiBqdXN0IHBhc3MgdGhlIHdob2xlCgkgIGVudHJ5IHRvIG91ciBoZWxwZXIgZnVuY3Rpb24sIHdoaWNoIGF2b2lkcyBpdGVyYXRpbmcgdGhlIHRhYmxlCgkgIGFnYWluIHRvIGZpbmQgdGhlIGVudHJ5IHN0cnVjdHVyZSBmcm9tIHRoZSBwYXNzZWQgZm9ybWF0IGlkLgoKMjAxMC0wMy0zMCAxMTo0MzowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkgIG9zczQ6IGFsc28gYWNjZXB0IGZvcm1hdHMgbm90IG5hdGl2ZWx5IHN1cHBvcnRlZAoJICBBbHNvIGFjY2VwdCBmb3JtYXRzIHRoYXQgYXJlIG5vdCBuYXRpdmVseSBzdXBwb3J0ZWQgYnkgdGhlCgkgIGhhcmR3YXJlLCBPU1M0IGNhbiBjb252ZXJ0IHRoZW0gaW50ZXJuYWxseS4gTGlzdCB0aGUgbmF0aXZlCgkgIGZvcm1hdHMgZmlyc3QgaW4gdGhlIGNhcHMgdGhvdWdoLCB0byBleHByZXNzIG91ciBwcmVmZXJlbmNlCgkgIGZvciB0aGUgbmF0aXZlIGZvcm1hdHMuIFdlIG5lZWQgdGhpcyBpbiBvcmRlciB0byBzdXBwb3J0IHRoZQoJICBjYXNlIHByb3Blcmx5IHdoZXJlIHRoZSBhdWRpbyBoYXJkd2FyZSBzdXBwb3J0cyBvbmx5IGUuZy4KCSAgbGl0dGxlIGVuZGlhbiBQQ00sIGJ1dCB0aGUgaG9zdCBpcyBiaWcgZW5kaWFuLCBzaW5jZSBtYW55CgkgIGF1ZGlvIGVsZW1lbnRzIG9ubHkgc3VwcG9ydCBuYXRpdmUgZW5kaWFubmVzcyBhbmQgbWFrZSB0aGUKCSAgcmVhc29uYWJsZSBhc3N1bXB0aW9uIHRoYXQgYW55IGF1ZGlvc2luayB3aWxsIGJlIGFibGUgdG8KCSAgaGFuZGxlIGF1ZGlvIGluIG5hdGl2ZSBlbmRpYW5uZXNzLgoJICBCYXNlZCBvbiBwYXRjaCBieSBKZXJyeSBUYW4gPGplcnJ5LnRhbkBzdW4uY29tPgoJICBGaXhlcyAjNjE0MzE3LgoKMjAxMC0wNC0wOCAwODo0ODozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSAgc291bmR0b3VjaDogdXNlICQoTElCTSkgaW4gTWFrZWZpbGUuYW0gaW5zdGVhZCBvZiAtbG0KCjIwMTAtMDQtMDggMDE6NDI6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkgIGludnRlbGVjaW5lOiBmaXggcHJpbnQgZm9ybWF0IGluIGRlYnVnIG1lc3NhZ2UKCjIwMTAtMDQtMDggMDE6NDE6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBwYXNzIGNvbnN0YW50IHN0cmluZyBhcyBmb3JtYXQgc3RyaW5nIHRvIHByaW50ZgoJICBGaXggY29tcGlsZXIgd2FybmluZyBhYm91dCBub24tc3RyaW5nIGxpdGVyYWwgYmVpbmcgcGFzc2VkIGFzCgkgIGZpcnN0IGFyZ3VtZW50IHRvIHByaW50LgoKMjAxMC0wMy0yNiAxODo1Njo0OSArMDAwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IERvbid0IGVtaXQgYml0cmF0ZSB0YWdzIHRvbyBlYXJseQoJICBXZSB3YWl0IHRvIHBhcnNlIGEgbWluaW11bSBudW1iZXIgb2YgZnJhbWVzICgxMCwgYXJiaXRyYXJpbHkpIGJlZm9yZQoJICBlbWl0aW5nIGJpdHJhdGUgdGFncyBzbyB0aGF0IG91ciBlYXJseSBlc3RpbWF0ZXMgYXJlIG5vdCB3aWxkbHkKCSAgaW5hY2N1cmF0ZSBmb3Igc3RyZWFtcyB0aGF0IHN0YXJ0IHdpdGggYSBzaWxlbmNlLiBJZiB0aGUgc3RyZWFtIGVuZHMKCSAgYmVmb3JlIHRoYXQsIHdlIGp1c3QgZW1pdCB0aGUgdGFncyBhbnl3YXkuCgkgIFdoaWxlIGl0IF93b3VsZF8gYmUgbmljZXIgdG8gYmUgc3BlY2lmeSB0aGUgdGhyZXNob2xkIHRvIHN0YXJ0IHB1c2hpbmcKCSAgdGhlIHRhZ3MgaW4gdGVybXMgb2YgZHVyYXRpb24sIHRoaXMgd291bGQgaW50cm9kdWNlIG1vcmUgY29tcGxleGl0eSB0aGFuCgkgIHRoaXMgbWVyaXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE0OTkxCgoyMDEwLTA0LTA3IDExOjIyOjQzICswMjAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkgIG1ldGFkYXRhOiBmaXggY3Jhc2ggd2hlbiBjb252ZXJ0aW5nIHVuaXRzCgkgIHgveS1yZXNvbHV0aW9uIGFyZSBmcmFjdGlvbnMsIHNvIHNldHRpbmcgdGhlbSB1c2luZyBmbG9hdCB2YWx1ZXMgaXMgbm90CgkgIGEgZ29vZCBpZGVhLgoJICBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTU3NzY1NQoKMjAxMC0wNC0wNSAxMDozMzoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBBZGQgc3VwcG9ydCBmb3IgQmx1ZVJheSBzdHlsZSBEVFMKCSAgRml4ZXMgYnVnICM2MTQyNTkuCgoyMDEwLTA0LTA0IDIwOjIzOjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogQWRkIHN1cHBvcnQgZm9yIHRoZSB0d28gRFRTIEhEIHN0cmVhbSB0eXBlcwoJICBGaXhlcyBidWcgIzYxNDI1OS4KCjIwMTAtMDQtMDIgMTk6NTI6MjUgKzAyMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPHNlYnBAay1kLXcub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYWNrZXRpemVyOiBBZGRpdGlvbmFsbHkgdXNlIHRoZSBDUkMgdG8gY2hlY2sgaWYgdGFibGVzIGFyZSBkdXBsaWNhdGVzCgkgIFRoZSBjdXJyZW50IGNvZGUganVzdCB1c2VzIHRhYmxlIGlkLCBzdWJ0YWJsZSBleHRlbnNpb24gYW5kIHZlcnNpb24gbnVtYmVyIHRvCgkgIGNoZWNrIGlmIHRoZSBzZWN0aW9uIGhhcyBiZWVuIHNlZW4gYmVmb3JlLiBIb3dldmVyLCB0aGlzIGNvbXBhcmlzb24gaXMgbm90CgkgIHN1ZmZpY2llbnQsIGNhdXNpbmcgYWN0dWFsbHkgbmV3IHRhYmxlcyBiZWluZyBkaXNtaXNzZWQuCgkgIEZpeGVzIGJ1ZyAjNjE0NDc5LgoKMjAxMC0wNC0wMiAxOTo0ODo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IENvcnJlY3RseSBjbGVhbiB1cCBpbnRlcm5hbCBzdGF0ZSBmb3IgcmV1c2UKCSAgRml4ZXMgYnVnICM2MTQ1OTEuCgoyMDEwLTA0LTAyIDE5OjE5OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IE1ha2Ugc3VyZSB0aGF0IHRoZSBidWZmZXIgbWV0YWRhdGEgaXMgd3JpdGFibGUgYmVmb3JlIHNldHRpbmcgY2FwcwoJICBGaXhlcyBidWcgIzYxNDM0OS4KCjIwMTAtMDQtMDIgMTk6MDk6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBVc2UgdWludCBpbnN0ZWFkIG9mIGludCBmb3IgZnJlcXVlbmN5IGFuZCBzeW1ib2wtcmF0ZSBwcm9wZXJ0aWVzCgkgIFRoZSBrZXJuZWwgQVBJIHNwZWNpZmllcyB0aGVtIGFzIHVpbnQzMiBhbmQgZnJlcXVlbmNpZXMvc3ltYm9sLXJhdGVzIGdyZWF0ZXIKCSAgdGhhbiAyXjMxIGFyZSBhY3R1YWxseSBuZWVkZWQgc29tZXRpbWVzLgoJICBGaXhlcyBidWcgIzYxNDQ3NS4KCjIwMTAtMDMtMzAgMDE6MTc6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGdzdC9NYWtlZmlsZS5hbToKCSogc3lzL01ha2VmaWxlLmFtOgoJICBidWlsZDogYnVpbGQgcGx1Z2lucyBhbmQgZXhhbXBsZXMgaW4gcGFyYWxsZWwgd2hlcmUgcG9zc2libGUsIGlmIG1ha2UgLWpOIGlzIHVzZWQKCjIwMTAtMDMtMzAgMDE6MTY6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiB1cGRhdGUgZm9yIHN0cmluZyBjaGFuZ2VzIGFuZCBuZXcgY29tbWVudAoKMjAxMC0wMy0zMCAwMToxNDo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIG9zczQ6IGFkZCBjb21tZW50IGZvciB0cmFuc2xhdG9ycwoJICBOb3QgdGhhdCB0aGF0IHdpbGwgbWFrZSB0aGVzZSBzdHJpbmdzIG11Y2ggYmV0dGVyLiBBbHNvIHJlbW92ZSBpMThuCgkgIG1hcmtlciB3aGVyZSBpdCBkb2Vzbid0IG1ha2Ugc2Vuc2UuCgoyMDEwLTAzLTI3IDA5OjQ2OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eHBsdWdpbi5jOgoJICBxdG11eDogdXNlIEdTdHJlYW1lciBwYWNrYWdlIG5hbWUgYW5kIG9yaWdpbiBpbiB0aGUgcGx1Z2luIGluZm8KCjIwMTAtMDMtMjkgMTQ6NDk6MDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggd3JpdGluZyBOQUxVIHByZWZpeCBmb3IgYnl0ZS1zdHJlYW0gb3V0cHV0IGZvcm1hdAoJICBTcGVjaWZpY2FsbHksIGlucHV0IG1heSBhbHJlYWR5IGJlIGluIGJ5dGUtc3RyZWFtIGZvcm1hdCwgc28gc3luYwoJICBieXRlcyBzaG91bGQgbm90IGJlIG1pc2ludGVycHJldGVkIGFzIE5BTFUgc2l6ZS4KCjIwMTAtMDMtMjkgMTA6MDA6NTcgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9zcGMvZ3N0c3BjLmg6CgkgIG9wZW5zcGM6IEZpeCBidWlsZCB3YXJuaW5nCgkgIEFkZCBhIHByb3RvdHlwZSBmb3IgZ3N0X3NwY19kZWNfZ2V0X3R5cGUKCjIwMTAtMDMtMjYgMTg6NTg6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSAgZmxhY3BhcnNlOiBPcHRpb25hbGx5IGNoZWNrIHRoZSBvdmVyYWxsIGZyYW1lIGNoZWNrc3VtcyB0b28gYmVmb3JlIGFjY2VwdGluZyBhIGZyYW1lIGFzIHZhbGlkCgkgIFRoaXMgaXMgb3B0aW9uYWwgYmVjYXVzZSBpdCdzIGEgcXVpdGUgZXhwZW5zaXZlIG9wZXJhdGlvbiBhbmQgaXQncyB2ZXJ5CgkgIHVubGlrZWx5IHRoYXQgYSBub24tZnJhbWUgaXMgZGV0ZWN0ZWQgYXMgZnJhbWUgYWZ0ZXIgdGhlIGhlYWRlciBDUkMgY2hlY2sKCSAgYW5kIGNoZWNraW5nIGFsbCBiaXRzIGZvciB2YWxpZCB2YWx1ZXMuIFRoZSBvdmVyYWxsIGZyYW1lIGNoZWNrc3VtcyBhcmUKCSAgbWFpbmx5IHVzZWZ1bCB0byBkZXRlY3QgaW5jb25zaXN0ZW5jaWVzIGluIHRoZSBlbmNvZGVkIHBheWxvYWQuCgoyMDEwLTAzLTI2IDE4OjQyOjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogQ2hlY2sgdGhlIENSQy04IG9mIHRoZSBoZWFkZXJzIGJlZm9yZSBhY2NlcHRpbmcgYSBmcmFtZSBhcyB2YWxpZAoJICBUaGlzIG1ha2VzIGZhbHNlLXBvc2l0aXZlcyBkdXJpbmcgc2Vla2luZyBtdWNoIGxlc3MgbGlrZWx5IGFuZCBkZXRlY3Rpb24gb2YKCSAgdGhlbSBtdWNoIGZhc3Rlci4KCjIwMTAtMDMtMjYgMTg6MjA6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBTZXQgdGhlIGxhc3Qgc3RvcCB0byB0aGUgYnVmZmVyIHN0YXJ0dGltZSBpZiB0aGUgZHVyYXRpb24gaXMgaW52YWxpZAoJICAuLi5pbnN0ZWFkIG9mIG5vdCBzZXR0aW5nIGl0IGF0IGFsbC4KCjIwMTAtMDMtMjYgMTg6MTk6MDAgKzAxMDAgIEpvc2h1YSBNLiBEb2UgPGpvc2hAam9zaGRvZS5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IFNlbmQgTkVXU0VHTUVOVCBldmVudCB3aXRoIGNvcnJlY3Qgc3RhcnQgYW5kIHBvc2l0aW9uCgkgIEluc3RlYWQgb2YgdGFraW5nIHRoZSBsYXN0IHN0b3AgKHdoaWNoIGNvdWxkIGJlIGJ1ZmZlciBlbmR0aW1lIGluc3RlYWQKCSAgb2Ygc3RhcnR0aW1lKSBhbHdheXMgdGFrZSB0aGUgYnVmZmVyIHN0YXJ0dGltZS4KCSAgRml4ZXMgYnVnICM2MTQwMTYuCgoyMDEwLTAzLTI2IDE2OjQ5OjAxICswMDAwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogRml4IGJ1ZmZlciByZWZjb3VudCBpc3N1ZQoJICBXaGVuIGNhbGxlZCBmcm9tIHRoZSBHU1RfRkxBQ19QQVJTRV9TVEFURV9IRUFERVJTIGNhc2UsCgkgIGdzdF9mbGFjX3BhcnNlX2hhbmRfaGVhZGVycygpIGRvZXMgYSBnc3RfYnVmZmVyX3NldF9jYXBzKCkgb24gYSBidWZmZXIKCSAgd2l0aCByZWZjb3VudCA+IDEuIFRoaXMgY2hhbmdlIGhhbmRsZXMgdGhpcyBjYXNlIGJ5IG1ha2luZyB0aGUgYnVmZmVyCgkgIG1ldGFkYXRhX1dyaXRhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE0MDM3CgoyMDEwLTAzLTI2IDEyOjA0OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGFkZCBtaXNzaW5nIHNwYWNlIHRvIGRlYnVnIG1lc3NhZ2UKCjIwMTAtMDMtMjYgMDg6NDE6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29yOiBkb24ndCB1c2UgZnVuY3Rpb24gdGhhdCBkb2Vzbid0IGV4aXN0CgkgIEZpeGVzIHRoZSBidWlsZC4KCjIwMTAtMDMtMjUgMjM6NDg6MDkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzoKCSogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJICBkaXZ4OiBhZGQgY29uc3QgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEwLTAzLTI1IDIzOjMwOjI5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IGFkZCBib29sZWFuIHJldHVybiB0byBfcHJvY2VzcwoJICBBdm9pZCB0cnlpbmcgdG8gcHVzaCByZXN1bHRzIGlmIHByb2Nlc3NpbmcgZmFpbGVkIGFueXdheS4KCjIwMTAtMDMtMjUgMjM6Mjg6MjUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcjogcmVtb3ZlIHVzZWxlc3MgZ19hc3NlcnQKCSAgZ19tYWxsb2MgYW5kIGNvIHdvdWxkIHRlcm1pbmF0ZSB3aGVuIG91dCBvZiBtZW1vcnkuIE5vIG5lZWQgdG8gY2hlY2sgYWZ0ZXIgaXQuCgoyMDEwLTAzLTI1IDIzOjI0OjM2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IGFkZCBtb3JlIGxvZ2dpbmcKCjIwMTAtMDMtMjUgMjM6MTI6MzcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcjogcmVnaXN0ZXIgZnVuY3Rpb24gcG9pbnRlcnMganVzdCBvbmNlCgkgIEF2b2lkIHJlLXJlZ2lzdGVyaW5nIHRob3NlIGZvciBlYWNoIHdyYXBwZWQgbGFkcHNhL2x2MiBlbGVtZW50LgoKMjAxMC0wMy0yNSAyMzowNzo0NiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29yOiBhZGQgcmF0ZSB0byBjYXBzCgoyMDEwLTAzLTI1IDIzOjA0OjQxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IHJlbmFtZSBsb2cgY2F0ZWdvcnkgdG8gYmUgbGVzcyBhbWJpZ291cwoKMjAxMC0wMy0yNSAyMjo1OToxOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9SRUFETUU6CgkgIGx2MjogYWRkIG1vcmUgZXhhbXBsZXMKCjIwMTAtMDMtMjUgMjI6NTg6NDcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSAgZHRtZmRldGVjdDogaWYgd2UgdGVsbCB0aGF0IHdlIGhhbmRsZSBnYXAgZmxhZ3MsIHRoZW4gZG8gc28KCjIwMTAtMDMtMjUgMjI6NTU6MzIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSAgZHRtZmRldGVjdDogdXNlIGdsaWIgdHlwZXMKCjIwMTAtMDMtMjUgMjI6NTQ6NDkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSAgZHRtZmRldGVjdDogZml4IGNsYXNzaWZpY2F0aW9uCgoyMDEwLTAzLTI1IDIyOjUzOjIwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkgIGR0bWZkZXRlY3Q6IHJlZm9ybWF0IG1lc3NhZ2UgZG9jcwoJICBVc2UgYSBsaXN0IGxpa2UgaW4gb3RoZXIgZWxlbWVudCBkb2NzIGFzIGFuIHVudHdlYWtlZCBkb2Nib29rIHRhYmxlIGxvb2sgdWdseS4KCjIwMTAtMDMtMjUgMTc6MDk6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYXVkaW9wYXJzZXJzOiByZW1vdmUgdW51c2VkIEdzdEJhc2VQYXJzZUNsYXNzUHJpdmF0ZSBzdHJ1Y3R1cmUKCjIwMTAtMDMtMjUgMTI6NTU6MDIgKzAwMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBNYWtlIGJpdHJhdGUgZXN0aW1hdGlvbiBtb3JlIGFjY3VyYXRlCgkgIFRoaXMgaW1wbGVtZW50cyB0aGUgZ2V0X2ZyYW1lX292ZXJoZWFkKCkgdmZ1bmMgc28gdGhhdCBiYXNlcGFyc2UgY2FuCgkgIG1ha2UgbW9yZSBhY2N1cmF0ZSBiaXRyYXRlIGVzdGltYXRlcy4KCjIwMTAtMDMtMjUgMTE6NDg6NDYgKzAwMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogRml4IGJpdHJhdGUgY2FsY3VsYXRpb24KCSAgVGhpcyBwYXRjaCBhZGRzIHRoZSBnZXRfZnJhbWVfb3ZlcmhlYWQoKSB2ZnVuYyBzbyB0aGF0IGJhc2VwYXJzZSBjYW4KCSAgYWNjdXJhdGVseSBjYWxjdWxhdGUgdGhlIG1pbi9hdmcvbWF4IGJpdHJhdGVzIGZvciBhYWNwYXJzZS4KCSAgTm90ZTogVGhlIGJpdHJhdGUgd2FzIGJlaW5nIGluY29ycmVjdGx5IGNhbGN1bGF0ZWQgZm9yIEFEVFMgc3RyZWFtcwoJICAoaXQncyBub3QgaW4gdGhlIGhlYWRlciBhcyB0aGUgY29kZSBzdWdnZXN0cykuCgoyMDEwLTAzLTI1IDExOjIyOjU4ICswMDAwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGF1ZGlvcGFyc2VyczogQWRkIGJpdHJhdGUgY2FsY3VsYXRpb24gdG8gYmFzZXBhcnNlCgkgIFRoaXMgbWFrZXMgYmFzZXBhcnNlIGtlZXAgYSBydW5uaW5nIGF2ZXJhZ2Ugb2YgdGhlIHN0cmVhbSBiaXRyYXRlLCBhcwoJICB3ZWxsIGFzIHRoZSBtaW5pbXVtIGFuZCBtYXhpbXVtIGJpdHJhdGVzLiBTdWJjbGFzc2VzIGNhbiBvdmVycmlkZSBhCgkgIHZmdW5jIHRvIG1ha2Ugc3VyZSB0aGF0IHBlci1mcmFtZSBvdmVyaGVhZCBmcm9tIHRoZSBjb250YWluZXIgaXMgbm90CgkgIGFjY291bnRlZCBmb3IgaW4gdGhlIGJpdHJhdGUgY2FsY3VsYXRpb24uCgkgIFdlIHRha2UgY2FyZSBub3QgdG8gb3ZlcnJpZGUgdGhlIGJpdHJhdGUsIG1pbmltdW0tYml0cmF0ZSwgYW5kCgkgIG1heGltdW0tYml0cmF0ZSB0YWdzIGlmIHRoZXkgaGF2ZSBiZWVuIHBvc3RlZCB1cHN0cmVhbS4gV2UgYWxzbwoJICByYXRlLWxpbWl0IHRoZSBlbWlzc2lvbiBvZiBiaXRyYXRlIHNvIHRoYXQgaXQgaXMgb25seSB0cmlnZ2VyZWQgYnkgYQoJICBjaGFuZ2Ugb2YgPjEwIGticHMuCgoyMDEwLTAzLTIzIDE3OjM0OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgdGVzdHM6IHRhZ3NjaGVja2luZzogTmV3IHRhZ3MgdGVzdHMKCSAgQWRkcyBuZXcgdGFncyBjaGVja2luZyB0ZXN0cy4KCjIwMTAtMDMtMjUgMDA6MjA6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBpbml0IGRlYnVnIGNhdGVnb3J5IGJlZm9yZSB1c2luZyBpdAoKMjAxMC0wMy0yNCAxODo1NDo1NyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNTVjZDUxNCB0byBjMWQwN2RkCgoyMDEwLTAzLTI0IDE3OjA1OjE0ICswMTAwICBBbmRvbmkgTW9yYWxlcyA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSAgZHNob3d2aWRlb3NyYzogQWRkIHN1cHBvcnQgZm9yIFlVWTIgaW5wdXQgZm9ybWF0CgkgIEZpeCBidWcgIzYxMzcwOAoKMjAxMC0wMy0yNCAxNjoxNTozNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMudHlwZXM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkgIGRvY3M6IGFkZCBwaG90b2dyYXBoeSBpZmFjZSB0byBkb2NzCgkgIFdlIG5vcm1hbHkgaGF2ZSBzZXBhcmF0ZSBsaWJzIGRvY3MsIG5vdCBkb25lIGJlY2FzdWUgb2YgbGF6eW5lc3MgaGVyZSB5ZXQuCgoyMDEwLTAzLTI0IDE2OjA1OjIwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ2Zvcm1hdDogYWRkIGJsYW5rIGxpbmUgdG8gZml4IGdlbmVyYXRlZCB4bWwKCjIwMTAtMDMtMjQgMTU6NTk6NTMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBmaXggZWxlbWVudCBuYW1lIGluIHNlY3Rpb24gZG9jIGJsb2IKCjIwMTAtMDMtMjQgMTU6MDU6NTAgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIG1vZHBsdWc6IERlZmluZSBXT1JEU19CSUdFTkRJQU4gdG8gYXZvaWQgdW5kZWZpbmVkIHdhcm5pbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMzc5NQoKMjAxMC0wMy0yNCAxMjoxNjowNyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBVc2UgcGtnY29uZmlnIHRvIGRldGVjdCBkdmRuYXYKCSAgVGhlIHByZXZpb3VzbHkgdXNlZCBkdmRuYXYtY29uZmlnIHNjcmlwdCB3YXMgYnJva2VuIGluIGEgbG90IG9mIGRpc3Ryb3MuCgoyMDEwLTAzLTI0IDAwOjI3OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJICBrYXRlOiBmaXggeWV0IGFub3RoZXIgY29tcGlsZXIgd2FybmluZwoKMjAxMC0wMy0yMyAxOTo1Njo0OCAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zcmMuYzoKCSogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkqIHN5cy9xdHdyYXBwZXIvY29kZWNtYXBwaW5nLmM6CgkqIHN5cy9xdHdyYXBwZXIvcXR1dGlscy5jOgoJKiBzeXMvcXR3cmFwcGVyL3F0dXRpbHMuaDoKCSAgb3N4OiBtb3JlIGNvbXBpbGVyIHdhcm5pbmcgZml4ZXMKCSAgQXZvaWQgbmV3IHdhcm5pbmdzLgoJICBGaXhlcyAjNjEzNzU4LgoKMjAxMC0wMy0yMyAxNDoxNTo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFjLmM6CgkgIHRlc3RzOiBmYWFjOiBGaXggYnVpbGQKCSAgRml4ZXMgYnVpbGQgb2YgZmFhYyBkdWUgdG8gZnVuY3Rpb25zIG5vdCBiZWluZyBzdGF0aWMgbm9yCgkgIGhhdmluZyBiZWluZyBkZWNsYXJlZCBpbiBoZWFkZXJzLiAoTm8gcHJldmlvdXMgcHJvdG90eXBlIGVycm9yKQoJICBQcm9iYWJseSBkdWUgdG8gYWRkZWQgLVdtaXNzaW5nLXByb3RvdHlwZXMKCjIwMTAtMDMtMjMgMTE6MTA6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FtcndiZW5jL2dzdGFtcndiZW5jLmM6CgkgIGFtcndiZW5jOiBGaXggY29tcGlsZXIgd2FybmluZwoKMjAxMC0wMy0yMyAwOToxNDowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2NvZy5vcmM6CgkgIGNvZzogdG91Y2ggY29nLm9yYyB0byBmb3JjZSByZWdlbmVyYXRpb24gb2YgY29nb3JjLltjaF0KCSAgLi4gd2l0aCBuZXcgTWFrZWZpbGUuYW0gcnVsZXMsIHdoaWNoIHNob3VsZCBmaXggdGhlIGJ1aWxkCgkgIHdpdGhvdXQgdGhlIG5lZWQgdG8gZG8gYSAnbWFudWFsJyBtYWtlIGNsZWFuIGFmdGVyIHVwZGF0aW5nLgoKMjAxMC0wMy0yMyAwMTo0MTozMSArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5jOgoJICB3aW5pbmV0OiBGaXggd2FybmluZ3MKCjIwMTAtMDMtMjMgMDE6MzA6NTQgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIGRpcmVjdGRyYXc6IEZpeCB3YXJuaW5ncwoKMjAxMC0wMy0yMyAwMToxNToyNyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBSZW1vdmUgLVd1bmRlZiBmb3IgV2luZG93cwoJICBXaW5kb3dzIGhlYWRlcnMgdGVuZCB0byBjaGVjayBfTVNDX1ZFUiB1bmNvbmR0aW9uYWxseSBpbiBzb21lIHBsYWNlcywKCSAgYnV0IHVzZSAjaWZkZWYgX01TQ19WRVIgaW4gb3RoZXIgcGxhY2VzLgoKMjAxMC0wMy0yMyAwMToxNDozMyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBBZGQgYSBidW5jaCBvZiB3YXJuaW5nIGZsYWdzCgkgIE5vbmUgb2YgdGhlbSB0cmlnZ2VyIGFueSB3YXJuaW5nCgoyMDEwLTAzLTIzIDAxOjExOjQyICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuaDoKCSogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJICBGaXhlcyBmb3IgLVdhZ2dyZWdhdGUtcmV0dXJuCgkgIFRoZSBmbGFnIHdhc24ndCBhZGRlZCBkdWUgdG8gbGliZXhpZiB1c2luZyBhZ2dyZWdhdGUgcmV0dXJuIHZhbHVlcy4KCjIwMTAtMDMtMjIgMTg6MDI6MzkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9nZXR0ZXh0Lmg6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlLmM6CgkgIGkxOG46IGJ1aWxkIGZpeGVzOiAjaWYgLT4gI2lmZGVmIGZvciBFTkFCTEVfTkxTCgoyMDEwLTAzLTIyIDE4OjAxOjI3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ3N0LWkxOG4tcGx1Z2luLmg6CgkgIGkxOG46IGZpeCB0aGUgYnVpbGQKCSAgRG9uJ3QgaW5jbHVkZSBsb2NhbGUuaCB3aGljaCB3ZSBpbmNsdWRlIGluIGdldHRleHQuaCBpZiBuZWVkZWQuIEd1YXJkIHRoZQoJICBpbmNsdWRlIGxpa2Ugd2UgZG8gaW4gdGhlIHNpbWlsbGFyIGhlYWRlcnMgaW4gY29yZS4KCjIwMTAtMDMtMjIgMTY6NTY6MDMgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBnc3QvbGlicmZiL2QzZGVzLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYW1ycGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2Fwc3NldHRlci5jOgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9kaXJlY3RmYi9nc3RkZmIuYzoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIEFkZCAtV29sZC1zdHlsZS1kZWZpbml0aW9uCgkgIGFuZCBmaXggdGhlIHdhcm5pbmdzCgoyMDEwLTAzLTIyIDE2OjIxOjMxICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIEFkZCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IGZsYWdzCgkgIGFuZCBmaXggdGhlIHdhcm5pbmdzCgoyMDEwLTAzLTIyIDE2OjEzOjEyICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIG9zczQ6IFJlZmFjdG9yIGNvZGUgdG8gbWFrZSBpdCBsb29rIG1vcmUgbW9kZXJuCgkgIEEgc2lkZSBlZmZlY3QgaXMgdGhhdCBpdCBwYXNzZXMgLVdmb3JtYXQtbm9ubGl0ZXJhbCBhbmQgZG9lc24ndCByZWFkCgkgIGludmFsaWQgbWVtb3J5IGluIHNvbWUgY2FzZXMsIGxpa2Ugd2hlbiB0aGUgbWl4ZXIgdHJhY2sgY29udGFpbnMKCSAgYSAlIHNpZ24gb3IgdGhlcmUgaXMgYSBudW1iZXIgYnV0IG5vdCBhIGtub3duIG1peGVyIG5hbWUuCgoyMDEwLTAzLTIyIDE0OjA5OjI0ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIG9zczQ6IEF2b2lkIGdfcXVhcmtfdG9fc3RyaW5nIChnX3F1YXJrX2Zyb21fc3RyaW5nICgpKSBtYWRuZXNzCgkgIFdlIHRvIHRoZSBzdHJkdXAgaW5zaWRlIGdzdF9vc3M0X21peGVyX2NvbnRyb2xfZ2V0X3RyYW5zbGF0ZWRfbmFtZSgpCgkgIGluc3RlYWQgb2YgaW4gdGhlIG9ubHkgY2FsbGVyLgoKMjAxMC0wMy0yMiAxMzo1MDozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBsYWRzcGE6IEZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMC0wMi0wMiAxNTo0OToyOSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmg6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogUGFyc2UgYml0cmF0ZSBhbmQgZW1pdCBhcyB0YWcKCSAgVGhpcyBwYXRjaCBwaWNrcyB1cCB0aGUgYml0cmF0ZSBmb3IgdGhlIHN0cmVhbSBmcm9tIHRoZSBNUEVHIHNlcXVlbmNlCgkgIGhlYWRlciBhbmQgZW1pdHMgaXQgYXMgYSB0YWcgb24gdGhlIHNvdXJjZSBwYWQuCgkgIEZpeGVzICM1OTkyOTguCgoyMDEwLTAzLTIyIDEyOjM4OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSAgc291bmR0b3VjaDogYnVpbGQgZml4ZXM6ICNpZiAtPiAjaWZkZWYKCjIwMTAtMDMtMjIgMTM6MTY6MzMgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOgoJKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBleHQveHZpZC9nc3R4dmlkLmM6CgkqIGV4dC94dmlkL2dzdHh2aWQuaDoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmg6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuaDoKCSogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSogc3lzL3ZjZC92Y2RzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNmbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9jb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wbGV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NlbGVjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmg6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLW1haW4uYzoKCSAgQWRkIC1Xd3JpdGUtc3RyaW5ncwoJICBhbmQgZml4IGl0cyB3YXJuaW5ncwoKMjAxMC0wMy0yMiAxMjozMDowMSArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvcHRpb25zLmNjOgoJKiBnc3QvbnNmL2Ztb3BsLmg6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9tZXRhZGF0YS5jOgoJICBBZGQgLVd1bmRlZgoJICBhbmQgZml4IHRoZSB3YXJuaW5ncwoKMjAxMC0wMy0yMiAxMjowMzo1NiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5naXRpZ25vcmU6CgkgIFVwZGF0ZSAuZ2l0aWdub3JlCgoyMDEwLTAzLTIyIDEyOjAyOjE2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOgoJKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmg6CgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmM6CgkgIEFkZCAtV3JlZHVuZGFudC1kZWNscyBmbGFnCgkgIGFuZCBmaXggd2FybmluZ3MgZnJvbSBpdAoKMjAxMC0wMy0yMiAwODo0Nzo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5oOgoJICBnbWU6IEZpeCBjb21waWxlciB3YXJuaW5nCgoyMDEwLTAzLTIyIDA4OjQ1OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dGJ1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0YnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRzcmNwYWQuaDoKCSAgdmRwYXU6IEZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMC0wMy0yMSAyMzoxMDowOCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9nZW5lcmF0ZV90YWJsZXMuYzoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSogZXh0L2NvZy9nc3Rjb2d1dGlscy5jOgoJICBvcmM6IEZpeCB3YXJuaW5ncwoKMjAxMC0wMy0yMSAyMzowMDo0OCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5jOgoJICBleGFtcGxlczogRml4IHdhcm5pbmdzCgoyMDEwLTAzLTIxIDIyOjQ4OjEzICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBkaXJlY3RkcmF3OiBGaXggd2FybmluZ3MKCjIwMTAtMDMtMjEgMjI6NDY6MDAgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuaDoKCSAgZ3N0LWNhbWVyYTogQWRkIGEgaGVhZGVyIGRlY2xhcmluZyB0aGUgZnVuY3Rpb25zIGZyb20gdGhlIHVpIGZpbGUKCjIwMTAtMDMtMjEgMjI6MTA6NDcgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuaDoKCSAgdGVzdHM6IEFkZCBmaWxlIEkgZm9yZ290IHRvIGNoZWNrIGluCgoyMDEwLTAzLTIxIDIyOjA5OjIwICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBzeXMvYWNtbXAzZGVjL2FjbW1wM2RlYy5jOgoJICBhY21tcDNkZWM6IGZpeCB3YXJuaW5ncwoKMjAxMC0wMy0yMSAyMTo1Mzo0NCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogc3lzL2FjbWVuYy9hY21lbmMuYzoKCSAgRml4IGFjbWVuYyBmb3Igd2FybmluZyBmbGFncwoKMjAxMC0wMy0yMSAyMTozOToxOCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguaDoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvcGFyc2UuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmM6CgkqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5oOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlLmg6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5oOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmg6CgkqIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzoKCSogZ3N0L212ZS9nc3RtdmVkZW11eC5oOgoJKiBnc3QvbXZlL2dzdG12ZW11eC5jOgoJKiBnc3QvbXZlL2dzdG12ZW11eC5oOgoJKiBnc3QvbXZlL212ZWF1ZGlvZGVjLmM6CgkqIGdzdC9tdmUvbXZlYXVkaW9lbmMuYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L25zZi9uZXNfYXB1LmM6CgkqIGdzdC9uc2YvbnNmLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2F0b21zcmVjb3ZlcnkuYzoKCSogZ3N0L3F0bXV4L2Rlc2NyaXB0b3JzLmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3NpcmVuL2NvbW1vbi5jOgoJKiBnc3Qvc2lyZW4vY29tbW9uLmg6CgkqIGdzdC9zaXJlbi9kY3Q0LmM6CgkqIGdzdC9zaXJlbi9kY3Q0Lmg6CgkqIGdzdC9zaXJlbi9odWZmbWFuLmM6CgkqIGdzdC9zaXJlbi9odWZmbWFuLmg6CgkqIGdzdC9zaXJlbi9ybWx0LmM6CgkqIGdzdC9zaXJlbi9ybWx0Lmg6CgkqIGdzdC90dGEvZ3N0dHRhZGVjLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJKiBzeXMvZHZiL2NhbS5jOgoJKiBzeXMvZHZiL2NhbS5oOgoJKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uaW5mby5jOgoJKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uaW5mby5oOgoJKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmM6CgkqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuaDoKCSogc3lzL2R2Yi9jYW1kZXZpY2UuYzoKCSogc3lzL2R2Yi9jYW1kZXZpY2UuaDoKCSogc3lzL2R2Yi9jYW1yZXNvdXJjZW1hbmFnZXIuYzoKCSogc3lzL2R2Yi9jYW1yZXNvdXJjZW1hbmFnZXIuaDoKCSogc3lzL2R2Yi9jYW1zZXNzaW9uLmM6CgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuYzoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5oOgoJKiBzeXMvZHZiL2NhbXRyYW5zcG9ydC5jOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uaDoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSogc3lzL3ZjZC92Y2RzcmMuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYW1ycGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNmbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Fzc3JlbmRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvY29udmVydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWZyZWV6ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVncGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBsZXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb2ZhLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zZWxlY3Rvci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90aW1pZGl0eS5jOgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbWV0YWRhdGEuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgQWRkIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgdG8gY29uZmlndXJlIGZsYWdzCgkgIEFuZCBmaXggYWxsIHdhcm5pbmdzCgoyMDEwLTAzLTIxIDIxOjM3OjM3ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3Qvc2lyZW4vY29tbW9uLmM6CgkqIGdzdC9zaXJlbi9kY3Q0LmM6CgkqIGdzdC9zaXJlbi9kZWNvZGVyLmM6CgkqIGdzdC9zaXJlbi9lbmNvZGVyLmM6CgkqIGdzdC9zaXJlbi9odWZmbWFuLmM6CgkqIGdzdC9zaXJlbi9ybWx0LmM6CgkgIHNpcmVuOiBSdW4gZ3N0LWluZGVudCBzY3JpcHQKCSAgSW5jbHVkZXMgcnVubmluZyBkb3MydW5peCBvbiBkZWNvZGVyLmMKCjIwMTAtMDMtMjEgMjE6Mjk6NDcgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSAgdGVzdHM6IEZpeCBrYXRlIHRlc3QKCSAgSXQgd2FzIGZhaWxpbmcgZHVlIHRvIHRoZSBuZXcgYnVmZmVyX21ldGFkYXRhX3dyaXRhYmxlIGNoZWNrcyBhZGRlZCB0bwoJICB0aGUgY29yZSByZWNlbnRseS4KCjIwMTAtMDMtMjEgMTg6NTk6MzAgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlX2NodW5rLmM6CgkgIGxlZ2FjeXJlc2FtcGxlOiByZW1vdmUgdW51c2VkIGZpbGUKCjIwMTAtMDMtMjEgMTc6NTQ6MjYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBzL0dTVF9DVlMvR1NUX0dJVC8KCjIwMTAtMDMtMTkgMTY6NDc6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9nZW5lcmF0ZV90YWJsZXMuYzoKCSAgY29nOiBHZW5lcmF0ZSBjb3JyZWN0IFlVVi0+UkdCIHRhYmxlcwoJICBGaXhlczogIzYxMzMzMi4KCjIwMTAtMDMtMTkgMTE6MTA6NDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiBkaXNhYmxlIGxvb3AgYW5kIGF1dG8gbXVsdGljYXN0IGpvaW4KCSAgRGlzYWJsZSBsb29wYmFjayBvZiBwYWNrZXRzLgoJICBEaXNhYmxlIGF1dG9qb2luIG9mIG11bHRpY2FzdCBncm91cHMgaW4gdGhlIHNpbmsgYmVjYXVzZSB0aGUgc291cmNlIGFscmVhZHkKCSAgZG9lcyB0aGF0IG9uIHRoZSBzaGFyZWQgc29ja2V0LgoKMjAxMC0wMy0xOCAxNzozMDoyNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6CgkqIGV4dC9hbXJ3YmVuYy9nc3RhbXJ3YmVuYy5jOgoJKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOgoJKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuaDoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuaDoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmg6CgkqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJKiBleHQvY29nL2dzdGNvZ2Rvd25zYW1wbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2dmaWx0ZXIuYzoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dzY2FsZS5jOgoJKiBleHQvY29nL2dzdGNvbG9yY29udmVydC5jOgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmNjOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkqIGV4dC9uYXMvbmFzc2luay5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvcG9seXAvcG9seXBzaW5rLmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3BhcnNlLmM6CgkqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzaW5rLmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc3JjLmM6CgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6CgkqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmM6CgkqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6CgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5jOgoJKiBnc3QvYXVkaW9idWZmZXIvZ3N0YXVkaW9yaW5nYnVmZmVyLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmM6CgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZ3N0bGVnYWN5cmVzYW1wbGUuYzoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L212ZS9nc3RtdmVkZW11eC5jOgoJKiBnc3QvbXZlL2dzdG12ZW11eC5jOgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bW9vdnJlY292ZXIuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJKiBnc3QvdHRhL2dzdHR0YWRlYy5jOgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6CgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkqIHN5cy9hY21lbmMvYWNtZW5jLmM6CgkqIHN5cy9hY21tcDNkZWMvYWNtbXAzZGVjLmM6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOgoJKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NyYy5jOgoJKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6CgkqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJKiBzeXMvcXR3cmFwcGVyL3ZpZGVvZGVjb2RlcnMuYzoKCSogc3lzL3ZjZC92Y2RzcmMuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmM6CgkgIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzID0+IGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZQoKMjAxMC0wMy0xOCAxNzoxMTo1OSArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L3ZpcnR1YWxkdWIvTElDRU5TRToKCSogZ3N0L3ZpcnR1YWxkdWIvTWFrZWZpbGUuYW06CgkqIGdzdC92aXJ0dWFsZHViL2dzdHZpcnR1YWxkdWIuYzoKCSogZ3N0L3ZpcnR1YWxkdWIvZ3N0dmlydHVhbGR1Yi5oOgoJKiBnc3QvdmlydHVhbGR1Yi9nc3R4c2hhcnBlbi5jOgoJKiBnc3QvdmlydHVhbGR1Yi92aXJ0dWFsZHViLnZjcHJvajoKCSAgdmlydHVhbGR1YjogUmVtb3ZlCgkgIFRIZSBwbHVnaW4gaXMgc28gaG9wZWxlc3NseSBvdXRkYXRlZCwgaXQncyBqdXN0IG5vdCB3b3J0aCBrZWVwaW5nLgoKMjAxMC0wMy0xOCAxNzowNDo1OSArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZXh0L3hpbmUvTWFrZWZpbGUuYW06CgkqIGV4dC94aW5lL2dzdHhpbmUuaDoKCSogZXh0L3hpbmUveGluZS5jOgoJKiBleHQveGluZS94aW5lYXVkaW9kZWMuYzoKCSogZXh0L3hpbmUveGluZWF1ZGlvc2luay5jOgoJKiBleHQveGluZS94aW5lY2Fwcy5jOgoJKiBleHQveGluZS94aW5laW5wdXQuYzoKCSAgUmVtb3ZlIHhpbmUgcGx1Z2luIGNvZGUKCSAgVGhlIHBsdWdpbiBpcyB1bm1haW50YWluZWQgKGV2ZW4gd29yc2UgdGhhbiBYaW5lIDspKQoKMjAxMC0wMy0xOCAxNjoxNzoxMCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ29iL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nb2IvZ3N0LWlkZW50aXR5Mi5nb2I6CgkgIFJlbW92ZSBnb2IgZXhhbXBsZXMKCSAgVGhleSB3ZXJlIG91dGRhdGVkIGFuZCB3b3VsZG4ndCBoYXZlIGNvbXBpbGVkIGFueW1vcmUuCgoyMDEwLTAzLTE3IDExOjMwOjM0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkgIGNvZzogRml4IG9mZi1ieS1vbmUgaW4gNDQ0LT40MjAgY29udmVyc2lvbgoJICBGaXhlcyAjNjEzMTYwLgoKMjAxMC0wMy0xNyAxNDoyOTozMSArMDMwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSAgY29nOiBVc2UgIihwbmdfaW5mb3BwKSBOVUxMIiBpbnN0ZWFkIG9mIHBuZ19pbmZvcHBfTlVMTAoKMjAxMC0wMy0xNyAxNDoyMzo0MSArMDMwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSAgY29nOiBVc2UgcG5nX2dldF9pb19wdHIoKSBpbnN0ZWFkIG9mIGFjY2Vzc2luZyBpb19wdHIgZGlyZWN0bHkKCjIwMTAtMDMtMTcgMTQ6MjE6NTMgKzAzMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb2c6IENoZWNrIGZvciBsaWJwbmcgPj0gMS4yIGluc3RlYWQgb2YgbGlicG5nMTIKCjIwMTAtMDMtMTYgMjM6NDY6MDQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14ZGdtaW1lLnhtbDoKCSAgZG9jczogdGhlIHhkZ21pbWUgcGx1Z2luIHdhcyBtZXJnZWQgaW50byB0eXBlZmluZGVycwoKMjAxMC0wMy0xNiAyMzo0MzowMiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgbmVvbixkdmQ6IGFsc28gdXNlIGdfdmFsdWVfc2V0X3N0YXRpY19zdHJpbmcoKSBoZXJlIGZvciBzdGF0aWMgc3RyaW5ncwoKMjAxMC0wMy0xNSAxMDoxMzoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggbWlub3IgbWVtb3J5IGxlYWsgaW4gcHJvcGVydHkgZ2V0dGVyCgkgIERvbid0IGxlYWsgdGhlIHN0cmluZyByZXR1cm5lZCBieSBnX3N0cmpvaW52KCkuIFdoaWxlIHdlJ3JlIGF0IGl0LAoJICB1c2UgR1N0cmluZyB0byBhc3NlbWJsZSB0aGUgc3RyaW5nIHRvIGJlIHJldHVybmVkLgoKMjAxMC0wMy0xNSAwOToyNDoxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IHVzZSBnX3ZhbHVlX3NldF9zdGF0aWNfc3RyaW5nKCkgd2hlcmUgcG9zc2libGUKCjIwMTAtMDMtMTUgMTI6MTc6MzcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2cub3JjOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJICBjb2c6IGRpc2FibGUgY29kZSB0aGF0IGNhdXNlcyBhbiBvcmNjIGNyYXNoCgkgIFJldmVydCB0aGlzIGFmdGVyIG9yYyByZWxlYXNlIGFuZCB2ZXJzaW9uIGJ1bXAuCgoyMDEwLTAzLTE1IDExOjU0OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogT25seSBzdGFydCB0aGUgdGFzayBhZnRlciBhIHNlZWsgaWYgYSBidWZmZXIgd2FzIHJlY2VpdmVkIGFscmVhZHkKCjIwMTAtMDMtMTUgMDE6NDY6NDUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIGNvZzogY29tbWVudCBvbiBwcmV2aW91cyBiYWQgY29tbWl0IG1lc3NhZ2UKCSAgVGhlIHJlY2VudCBjb21taXQgImxvZ29pbnNlcnQgY2hlY2twb2ludCBGSVhNRSIgc2hvdWxkCgkgIGFjdHVhbGx5IHJlYWQ6ICBGaXggbG9nb2luc2VydCB2YXJpYWJsZSBuYW1lcy4KCjIwMTAtMDMtMTUgMDE6MjY6MjUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2cub3JjOgoJKiBleHQvY29nL2NvZ2ZyYW1lLmM6CgkqIGV4dC9jb2cvY29nZnJhbWUuaDoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuaDoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29sb3Jjb252ZXJ0LmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBjb2c6IGltcGxlbWVudCBjaHJvbWEtc2l0ZQoJICBEZXRlcm1pbmUgY2hyb21hIHNpdGUgcG9zaXRpb24gZnJvbSB0aGUgY2FwcyBhbmQgdXNlIGl0IHdoZW4KCSAgdXBzYW1wbGluZy9kb3duc2FtcGxpbmcgY2hyb21hLgoKMjAxMC0wMy0xNCAxODo1NjowNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2NvZy5vcmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmg6CgkqIGV4dC9jb2cvZ2VuZXJhdGVfdGFibGVzLmM6CgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJICBjb2djb2xvcnNwYWNlOiBpbXBsZW1lbnQgY29sb3ItbWF0cml4IGhhbmRsaW5nCgoyMDA5LTEwLTA4IDE1OjE4OjQxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBjb2c6IGxvZ29pbnNlcnQgY2hlY2twb2ludCBGSVhNRQoKMjAwOS0xMC0zMCAxNTozNTozNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2NvZ2ZyYW1lLmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmg6CgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJKiBleHQvY29nL2dzdGNvbG9yY29udmVydC5jOgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSAgY29nOiBBZGQgbl90YXBzIHRvIGNocm9tYSB1cHNhbXBsaW5nCgoyMDEwLTAzLTEzIDE4OjU0OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogZml4IHR5cG8gaW4gcHJvcGVydHkgZGVzY3JpcHRpb24KCjIwMTAtMDMtMTMgMDY6MDM6MzIgKzAxMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBVcGRhdGUgY2FwcyB3aGVuIHRoZSBzZXF1ZW5jZSBoZWFkZXIgY2hhbmdlcwoJICBGaXhlcyBidWcgIzYxMjY4Ny4KCjIwMTAtMDMtMTIgMTk6MzA6NDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBhY3RpdmF0ZSB2aWRlbyBiaW4gYmVmb3JlIGZlZWRpbmcgZGF0YSB0byBpdAoJICBGaXhlcyAjNjEyNjE1LgoKMjAxMC0wMy0xMiAxMToyODo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHRlc3RzOiB0YWdzY2hlY2tpbmc6IEltcHJvdmVtZW50cyBhbmQgbmV3IGdlby1sb2NhdGlvbiB0ZXN0cwoJICBNYWtlcyBzb21lIGltcHJvdmVtZW50cyB0byB0YWdzY2hlY2tpbmcuYywgbWFraW5nIGl0IHVzZQoJICBmYWtlc3JjIGluc3RlYWQgb2YgdmlkZW90ZXN0c3JjIGFuZCBhbGxvd2luZyB0byBzZXQgaW5wdXQKCSAgY2FwcyBzbyB0aGF0IG1vcmUgbXV4ZXJzIGNhbiBiZSB1c2VkLiBQcmV2aW91c2x5IHdlIGNvdWxkCgkgIG9ubHkgdXNlIHRob3NlIHRoYXQgYWNjZXB0ZWQgcmF3IHZpZGVvIGNhcHMuCgkgIEFsc28gYWRkcyBzb21lIHRlc3RzIGZvciBnZW8tbG9jYXRpb24gdGFncwoKMjAxMC0wMy0xMiAxMDo1MzozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFVzZSB4bXAgb24gbXA0bXV4IGFuZCBncHBtdXggdG9vCgkgIERvIG5vdCByZXN0cmljdCB4bXAgdG8gcXRtdXgsIGJ1dCB1c2UgaXQgdG9vCgkgIG9uIG1wNG11eCBhbmQgZ3BwbXV4CgoyMDEwLTAzLTEyIDEzOjU5OjEyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBlMjcyZjcxIHRvIDU1Y2Q1MTQKCjIwMTAtMDMtMTIgMDk6NTI6NTcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUgb24gbWFjb3N4IDEwLjUKCjIwMTAtMDMtMTEgMjE6MzI6MjggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2pwZWdmb3JtYXQvTWFrZWZpbGUuYW06CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ2Zvcm1hdDogYWRkIHhtcCByZWFkaW5nIGFuZCB3cml0aW5nIHN1cHBvcnQKCSAgQnVtcCBuZWVkZWQgYmFzZSB2ZXJzaW9uIGZvciBuZXcgeG1wIGhlbHBlciBsaWJyYXJ5LiBVc2UgeG1wIGhlbHBlcnMgaW4KCSAganBlZ3BhcnNlIGFuZCBqaWZtdXguCgoyMDEwLTAzLTEyIDA4OjIzOjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBGaXggbWVyZ2UgbWlzdGFrZQoKMjAxMC0wMi0yOCAxOTo0MTowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zZWdtZW50Y2xpcC9NYWtlZmlsZS5hbToKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdGF1ZGlvc2VnbWVudGNsaXAuYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdGF1ZGlvc2VnbWVudGNsaXAuaDoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHNlZ21lbnRjbGlwLmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3RzZWdtZW50Y2xpcC5oOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0dmlkZW9zZWdtZW50Y2xpcC5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0dmlkZW9zZWdtZW50Y2xpcC5oOgoJKiBnc3Qvc2VnbWVudGNsaXAvcGx1Z2luLmM6CgkgIHNlZ21lbnRjbGlwOiBBZGQgYXVkaW8vdmlkZW8gYnVmZmVyIHNlZ21lbnQgY2xpcCBlbGVtZW50cwoJICBUaGVzZSBlbGVtZW50cyBjbGlwIHRoZSBhdWRpby92aWRlbyBidWZmZXJzIHRvIHRoZSBjb25maWd1cmVkIHNlZ21lbnQKCSAgZm9yIHRoZSBjYXNlIHdoZW4gdGhlIHVwc3RyZWFtIGVsZW1lbnRzIGRvbid0IGRvIHRoaXMgY29ycmVjdGx5LgoKMjAxMC0wMi0yOCAxNjowODoxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IEFkZCBzb21lIHVuaXQgdGVzdHMKCjIwMTAtMDItMjggMTY6MDQ6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBTZXQgdW5kZWZpbmVkIGZyYW1lcmF0ZSBpbiBzaW5rIGdldGNhcHMgZnVuY3Rpb24KCjIwMTAtMDItMjggMTU6MDI6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBJbXBsZW1lbnQgcmV2ZXJzZSBwbGF5YmFjayBhbmQgc2V0IGJ1ZmZlciBvZmZzZXRzCgoyMDEwLTAyLTI3IDE3OjM3OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSAgaW1hZ2VmcmVlemU6IEFkZCB0byB0aGUgZG9jcwoKMjAxMC0wMi0yNyAxNzozMzowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5oOgoJICBpbWFnZWZyZWV6ZTogQWRkIHN0aWxsIGZyYW1lIHN0cmVhbSBnZW5lcmF0b3IgZWxlbWVudAoKMjAxMC0wMy0wNSAxMzozMzozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICBjaGVjazogdGFnc2NoZWNraW5nOiB0ZXN0cyBmb3IgdGFncyBzZXJpYWxpemF0aW9uIGluIG11eGVycwoJICBBZGRzIGEgY2hlY2sgdW5pdCB0ZXN0IHRoYXQgYWltcyB0byB0ZXN0IHRhZ3Mgc2VyaWFsaXphdGlvbgoJICBhbmQgZGVzZXJpYWxpemF0aW9uIGNvbnNpc3RlbmN5IChpbiBtdXhlcnMpLiBJdCBwcm92aWRlcyBhCgkgIGJhc2ljIGZ1bmN0aW9uIHRoYXQgYWxsb3dzIG9uZSB0byBlYXNpbHkgc3BlY2lmeSB0YWdzLCBhCgkgIG11eGVyIGFuZCBhIGRlbXV4ZXIgYW5kIGEgdGVzdCB3aWxsIGJlIGRvbmUgdG8gY2hlY2sgaWYKCSAgdGhlIHRhZ3MgaGF2ZSBiZWVuIGNvbnNpc3RlbnRseSBtdXhlZCBhbmQgZGVtdXhlZAoKMjAxMC0wMi0yMiAxNjo0NTozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGFkZCB4bXAgc3VwcG9ydAoJICBBZGRzIHhtcCBtZXRhdGFncyBhZGRpbmcgdG8gcXRtdXguCgkgIEZpeGVzICM2MDk1MzkKCjIwMTAtMDMtMTEgMDk6Mjk6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkgIG1ldGFkYXRhOiBSZW1vdmUgX1hNUF9HRU9fKiB0YWdzCgkgIFJlbW92ZXMgR1NUX1RBR19YTVBfR0VPX0xPQ0FUSU9OX0NPVU5UUlksCgkgIEdTVF9UQUdfWE1QX0dFT19MT0NBVElPTl9DSVRZIGFuZAoJICBHU1RfVEFHX1hNUF9HRU9fTE9DQVRJT05fU1VCTE9DQVRJT04gZnJvbSBtZXRhZGF0YSdzCgkgIHByaXZhdGUgdGFncyBhcyB0aG9zZSBhcmUgbm93IHByZXNlbnQgYXQgLWNvcmUgdGFncy4KCSAgRml4ZXMgIzYxMjQxMAoKMjAxMC0wMy0xMSAxNzoxNzoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtb292cmVjb3Zlci5jOgoJICBxdG11eDogZml4IEdTVF9FTEVNRU5UX0VSUk9SIHVzYWdlCgkgIFdlIG5lZWQgdG8gcGFzcyAoTlVMTCkgcmF0aGVyIHRoYW4gTlVMTCBmb3IgZW1wdHkgYXJndW1lbnRzLgoKMjAxMC0wMy0xMSAxNzo1ODoyNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ2Zvcm1hdDogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlcwoKMjAxMC0wMy0xMCAxMTo1MDo0NyAtMDYwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJICBmaXggY29tcGlsZSBlcnJvciB3aXRoIHRyYWNlIG1hY3JvCgkgIE5vdGUgdGhhdCB0aGlzIG9uZSBpc24ndCBhIHByb2JsZW0gd2l0aCBub3JtYWwgdHJhY2UgbWFjcm9zLCBidXQgY2F1c2VzIHByb2JsZW1zIHdpdGgKCSAgc29tZSByZXBsYWNlbWVudCB0cmFjZSBtYWNyb3MgdGhhdCBJIHVzZSwgd2hpY2ggZXhwZWN0IHRoZSBmb3JtYXQgc3RyaW5nIHRvIGJlCgkgIGFwcGVuZGFibGUgKGllICJmb28gImZtdCBpbiB0aGUgbWFjcm8pCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTI0NTQKCjIwMTAtMDMtMTAgMTE6NDk6MjIgLTA2MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOgoJICBmaXggdHJhY2UgbWFjcm8gdHlwbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEyNDU0CgoyMDEwLTAzLTEwIDEwOjI2OjI3IC0wNjAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGZpeCBjb21waWxlIGVycm9yCgkgIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6Njg5OiB3YXJuaW5nOiBjb21wYXJpc29uIGlzIGFsd2F5cyB0cnVlIGR1ZSB0byBsaW1pdGVkIHJhbmdlIG9mIGRhdGEgdHlwZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEyNDU0CgoyMDEwLTAzLTEwIDEwOjIzOjIzIC0wNjAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtb292cmVjb3Zlci5jOgoJICBxdG11eDogZml4IGNvbXBpbGUgZXJyb3IKCSAgZ3N0L3F0bXV4L2dzdHF0bW9vdnJlY292ZXIuYzoyNjg6IHdhcm5pbmc6IGZvcm1hdCBub3QgYSBzdHJpbmcgbGl0ZXJhbCBhbmQgbm8gZm9ybWF0IGFyZ3VtZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEyNDU0CgoyMDEwLTAzLTExIDExOjIxOjEwICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGRmOGE3YzggdG8gZTI3MmY3MQoKMjAxMC0wMy0xMSAxMToyOToxNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXR5cGVzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJICBtZXRhZGF0YTogZG9uJ3QgY2hlY2sgZm9yIE5VTEwgd2hlbiBjYWxsaW5nIGdfZnJlZS4KCSAgZ19mcmVlIGRvZXMgdGhlIGNoZWNrIGFscmVhZHkuIEFsc28gc21hbGwgY29kZSBsb2dpYyBjbGVhbnVwIGFuZCB3aGl0ZXNwYWNlIGZpeC4KCjIwMTAtMDMtMTEgMTE6Mjg6MTQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJICBtZXRhZGF0YTogcmVtb3ZlIGVtcHR5IHNldHRlci9nZXR0ZXIgdm1ldGhvZCBpbXBsZW1lbnRhdGlvbnMKCjIwMTAtMDMtMTEgMTE6MTQ6NTMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJICBpbnZ0ZWxlY2luZTogaW5sY3VkZSBzdGRsaWIuaCBmb3IgYWJzKCkKCjIwMTAtMDItMTcgMTM6MTE6MTggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJICBtZXRhZGF0YTogdXBkYXRlIGJ1ZyBzdGF0dXMKCjIwMDktMDktMDggMDk6MTM6MDcgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkgIGNhbWVyYWJpbjogcmVmYWN0b3IgY3JvcHBpbmcgYW5kIGFkYXB0aW5nIGNhcHR1cmVkIGltYWdlcwoKMjAwOS0wOS0xMCAxMzo0MTo0MCArMDMwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGZpeCBOVUxMIC0+IFJFQURZIHN0YXRlIGNoYW5nZSBmYWlsdXJlIGhhbmRsaW5nLgoJICBJbiBzb21lIGVycm9yIHNpdHVhdGlvbnMgdGhlIE5VTEwgLT4gUkVBRFkgc3RhdGUgY2hhbmdlIGZhaWxlZAoJICBhbmQgY2FtZXJhYmluIGVsZW1lbnRzIHdlcmUgbm90IGRlc3Ryb3llZC4KCjIwMTAtMDItMTcgMTE6NTE6MjYgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5jOgoJICBjYW1lcmFiaW46IGRvbid0IHVzZSBnc3RfYnVzX3BvbGwoKSB3aGVuIGNyZWF0aW5nIHByZXZpZXcgaW1hZ2UKCSAgQXZvaWQgdXNpbmcgZ3N0X2J1c19wb2xsKCkgYXMgdGhlIGRvY3MgcmVjb21tZW5kLiBVc2UKCSAgZ3N0X2J1c190aW1lZF9wb3BfZmlsdGVyZWQoKSBpbnN0ZWFkLgoKMjAxMC0wMy0xMCAyMTowMToyMCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBVcGRhdGUgZm9yIHJlY2VudCBjaGFuZ2VzIHRvIGNvbW1vbiBzdWJtb2R1bGUKCSAgVGhpcyBqdXN0IHJlcGxhY2VzIGV2ZXJ5ICIkRVJST1JfQ0ZMQUdTIiB1c2FnZSB3aXRoIGEgdXNhZ2Ugb2YKCSAgIiRXQVJOSU5HX0NGTEFHUyAkRVJST1JfQ0ZMQUdTIiB0byBnZXQgdGhlIHNhbWUgZnVuY3Rpb25hbGl0eSBhcwoJICBwcmV2aW91c2x5LgoJICBBY3R1YWxseSB1c2luZyB0aGF0IHNlcGFyYXRpb24gd2lsbCBoYXBwZW4gbGF0ZXIuCgoyMDEwLTAzLTEwIDIxOjUyOjIwICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDk3MjBhN2QgdG8gZGY4YTdjOAoKMjAxMC0wMy0xMCAyMDo0NDowNyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwYjZlMDcyIHRvIDk3MjBhN2QKCjIwMTAtMDMtMTAgMTY6MTA6MDYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gN2NjNWViNCB0byAwYjZlMDcyCgoyMDEwLTAzLTEwIDExOjMzOjEwICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXhzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkgIGRvY3M6IFVwZGF0ZSB0byBtYXRjaCByZWNlbnQgY29tbWl0cwoKMjAxMC0wMy0xMCAwMToxMDoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDdhYTY1YjUgdG8gN2NjNWViNAoKMjAwOS0xMi0wOCAxNjozNjoxNiAtMDUwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJICBkYzEzOTQ6IGxpc3QgdmFsaWQgaXNvLXNwZWVkcyBpbiBoZWxwIGFuZCB2YWxpZGF0ZSBzcGVlZHMgaW4gc2V0X3Byb3BlcnR5LgoKMjAwOS0xMi0wOCAxNjowNToxNCAtMDUwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJICBkYzEzOTQ6IGNoZWNrIGlzby1zcGVlZCB2YWx1ZXMgaW4gc2V0X3Byb3BlcnR5LCBpZ25vcmUgaWYgaW52YWxpZAoKMjAwOS0xMi0wOCAxNTozNzowMyAtMDUwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5oOgoJICBkYzEzOTQ6IGFkZCBpc28tc3BlZWQgcHJvcGVydHkKCSAgQWRkIGlzby1zcGVlZCBwcm9wZXJ0eSB3aGljaCBhbGxvd3MgZm9yIGhpZ2hlciBiYW5kd2lkdGggZGMgdmlkZW8uCgkgIEF1dG9tYXRpY2FsbHkgc2V0IHRvIGItbW9kZSBhcyBuZWVkZWQuCgkgIEZpeGVzICM2MDM3NDUuCgoyMDEwLTAzLTA5IDE5OjQ4OjQ0ICswMTAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC9zZWxlY3Rvci9NYWtlZmlsZS5hbToKCSAgaW5wdXRzZWxlY3RvcjogZml4IHRoZSBMREZMQUdTCgoyMDEwLTAzLTA5IDIxOjM4OjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNDRlY2NlNyB0byA3YWE2NWI1CgoyMDEwLTAzLTA5IDIxOjI2OjE0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IE9ubHkgZW5hYmxlIGZyYW1lc3RhdHMgY29kZSB3aXRoIHNjaHJvID49IDEuMC45CgoyMDEwLTAyLTI4IDEwOjQyOjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSAgZnJlaTByOiBTeW5jIHByb3BlcnRpZXMgdG8gdGhlIGNvbnRyb2xsZXIgaWYgb25lIHdhcyBzZXQKCjIwMTAtMDItMjcgMTk6MDg6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJICBmcmVpMHI6IFByb3RlY3Qgc2V0L2dldCBwcm9wZXJ0eSBhbmQgcHJvY2Vzc2luZyBmdW5jdGlvbnMgZnJvbSBjb25jdXJyZW50IGFjY2VzcwoJICBUaGUgZnJlaTByIGRvY3VtZW50YXRpb24gc2F5cyB0aGF0IHRoZXNlIGZ1bmN0aW9ucyBtdXN0IG5vdCBiZSBjYWxsZWQKCSAgb24gdGhlIHNhbWUgaW5zdGFuY2UgZnJvbSBkaWZmZXJlbnQgdGhyZWFkcyBhdCB0aGUgc2FtZSB0aW1lLiBBbGwKCSAgb3RoZXIgZnVuY3Rpb25zIGFyZSBndWFyYW50ZWVkIHRvIGJlIHRocmVhZHNhZmUuCgoyMDEwLTAyLTI2IDE2OjQwOjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBNYWtlIHNvbWUgbW9yZSBydWxlcyBzaWxlbnQgaWYgcmVxdWVzdGVkCgoyMDEwLTAyLTI2IDE1OjQ1OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVc2UgYXV0b21ha2UgMS4xMSBzaWxlbnQgcnVsZXMgaW5zdGVhZCBvZiBzaGF2ZSBpZiBhdmFpbGFibGUKCSAgVGhpcyBtYWtlcyBzdXJlIHRoYXQgd2UgdXNlIHNvbWV0aGluZyB0aGF0IGlzIHN0aWxsIG1haW50YWluZWQgYW5kCgkgIGFsc28gYnJpbmdzIGJhY2sgbGlidG9vbCAxLjUgc3VwcG9ydC4KCjIwMTAtMDItMjYgMTU6MjU6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogQWRkIHRlc3QgZm9yIGNvcnJlY3QgSTQyMCByZW5kZXJpbmcKCjIwMTAtMDMtMDkgMTI6MzM6MzcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogQWRkIGZyYW1lLXN0YXRzIG1lc3NhZ2UKCjIwMTAtMDMtMDggMjE6MDA6MjEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaW52dGVsZWNpbmUvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJICBpbnZ0ZWxlY2luZTogQWRkIGludnRlbGVjaW5lIGVsZW1lbnQKCSAgQXV0b21hdGljIGludmVyc2UgdGVsZWNpbmUgZWxlbWVudC4gIFJpZ2h0IG5vdywgaXQgY2x1bXNpbHkgYXR0ZW1wdHMKCSAgdG8gcmVhcnJhbmdlIHZpZGVvIGZpZWxkcyBpbnRvIGZyYW1lcyB0aGF0IGRvbid0IGhhdmUgY29tYmluZyBlZmZlY3RzLAoJICBhbmQgb25seSB3b3JrcyB3aXRoIDYwaS8yNHAgY29udGVudCBhdCA3MjB4NDgwLiAgTGF0ZXIsIGl0IHdpbGwgaGFuZGxlCgkgIG90aGVyIHB1bGxkb3duIHZhcmlhdGlvbnMsIGNoYW5nZSBjYXBzIGFuZCBzbW9vdGggdGltZXN0YW1wcwoJICBhcHByb3ByaWF0ZWx5LgoKMjAxMC0wMy0wMSAxMzo0OTozOSArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhwbHVnaW4uYzoKCSAgYXBleHNpbms6IFVzZSAiYXBleHNpbmsiIGZvciBwbHVnaW4gbmFtZQoKMjAxMC0wMy0wMSAxMzo0NzozMiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJICB3bW5jOiBVcGRhdGUgZGVzY3JpcHRpb24KCjIwMTAtMDMtMDEgMTM6MjI6MDYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJICBudXZkZW11eDogVXBkYXRlIHBsdWdpbiBkZXNjcmlwdGlvbgoKMjAxMC0wMy0wMSAxMzoxODo1OSArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L25zZi9nc3Ruc2YuYzoKCSAgbnNmOiBOYW1lIHRoZSBwbHVnaW4gbnNmLCBub3QgbnNmZGVjCgkgIFRoZSBwbHVnaW4gaW4gZ3N0bnNmLnNvIHNob3VsZCBiZSBuYW1lZCBuc2YsIG5vdCBuc2ZkZWMuCgoyMDEwLTAzLTA4IDEyOjIzOjQ4IC0wMzAwICBUaWFnbyBLYXRjaXBpcyA8dGlhZ29rYXRjaXBpc0BnbWFpbC5jb20+CgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgc291bmR0b3VjaDogcmVtb3ZpbmcgdmVyeSBhbm5veWluZyBnX3ByaW50KCkgaW4gcGl0Y2ggZWxlbWVudAoJICBGaXhlcyAjNjEyMjA4LgoKMjAxMC0wMy0wOSAxNzo1MDoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMC4xOCA9PT0KCjIwMTAtMDMtMDYgMDE6NDk6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4xOAoKMjAxMC0wMy0wNiAwMTozOTo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMC0wMy0wMyAyMzo0MjoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xNy40IHByZS1yZWxlYXNlCgoyMDEwLTAyLTIyIDE5OjM4OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogUmVuYW1lICdhdmMtc2FtcGxlJyB0byAnYXZjJyBpbiBjYXBzCgkgIEZpeGVzICM2MDY2NjIKCjIwMTAtMDItMjIgMTk6MjQ6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBSZXBsYWNlICdhdmMtc2FtcGxlJyB3aXRoICdhdmMnIGluIGNhcHMKCSAgRml4ZXMgIzYwNjY2MgoKMjAxMC0wMi0yOCAyMzoxNDozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgZG9jczogcmVtb3ZlIGJpdHMgdGhhdCByZWZlciB0byBwbHVnaW5zIHRoYXQgaGF2ZSBiZWVuIG1vdmVkCgoyMDEwLTAyLTI2IDE4OjA2OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogRHJvcCB0ZXh0IGJ1ZmZlcnMgYmVmb3JlIHRoZSBzZWdtZW50IHN0YXJ0IGFuZCBjbGlwIHJ1bm5pbmcgdGltZSBlbmQgdG8gdGhlIHNlZ21lbnQgc3RvcAoKMjAxMC0wMi0yNyAxMToyMzoxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IENvbnN1bWUgdGV4dCBidWZmZXJzIGlmIHRoZXkncmUgdG8gYmUgZGlzcGxheWVkIGluIHRoZSBuZXh0IDUwMG1zCgkgIEluc3RlYWQgb2Ygb25seSBjb25zdW1pbmcgdGhlbSBpZiB0aGV5J3JlIHRvIGJlIGRpc3BsYXkgbm93LiBDb25zdW1pbmcKCSAgdGhlbSB0aGVuIG1pZ2h0IG1ha2UgZm9sbG93aW5nIGJ1ZmZlcnMgd2l0aCB0aGUgc2FtZSB0aW1lc3RhbXAgdG8KCSAgYmUgdG9vIGxhdGUuCgoyMDEwLTAyLTI2IDExOjUwOjI1IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogVGFrZSBsb2NrIGFyb3VuZCB1c2Ugb2YgKG5vbi10aHJlYWRzYWZlKSB0YWdzZXR0ZXIgaW50ZXJmYWNlLgoKMjAxMC0wMi0yNCAwMjowMzoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xNy4zIHByZS1yZWxlYXNlCgoyMDEwLTAyLTIzIDE4OjE2OjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogUHJvdGVjdCBsaWJhc3Mgc3RydWN0dXJlcyBmcm9tIGNvbmN1cnJlbnQgYWNjZXNzIGZyb20gbXVsdGlwbGUgdGhyZWFkcwoJICBGaXhlcyBidWcgIzYwODc1MS4KCjIwMTAtMDItMjMgMTc6Mjg6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IENhbGwgJFBLR19DT05GSUcgaW5zdGVhZCBvZiBwa2ctY29uZmlnIHRvIGZpeCBjcm9zcyBjb21waWxhdGlvbgoKMjAxMC0wMi0yMiAxNjo1MTowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgcXRtdXg6IHdyaXRlIGFsbCB1ZHRhIGNoaWxkcmVuIGF0b21zCgkgIFVEVEEgbWlnaHQgaGF2ZSBNRVRBIGFuZCBvdGhlciBjaGlsZHJlbiBhdG9tcwoJICB0b2dldGhlciwgd3JpdGUgdGhlbSBhbGwuCgoyMDEwLTAyLTIyIDEwOjQ4OjExIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IFVzZSBpbnRlcm5hbCBzaW5rIHBhZHMgbGlzdAoJICBEdWUgdG8gR3N0Q29sbGVjdFBhZHMgc2luayBwYWRzIGxpc3QgYmVpbmcgbm90IHJlbGlhYmx5CgkgIGl0ZXJhdGFibGUgKHdoZW4gbm90IGluc2lkZSB0aGUgY29sbGVjdGVkIGZ1bmN0aW9uKSB0aGlzCgkgIHBhdGNoIGFkZHMgYSBzaW5rIHBhZHMgbGlzdCB0byBxdG11eCB0byBiZSB1c2VkIHdoZW4gaXRlcmF0aW5nCgkgIHNpbmsgcGFkcyBvbiByZXNldCBmdW5jdGlvbi4KCSAgRml4ZXMgIzYwOTA1NQoKMjAxMC0wMi0yMSAxOTo1NzoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSAgZmFhZDogZml4IE1ha2VmaWxlLmFtIHNvbWUgbW9yZQoJICBGQUFEX0NGTEFHUyBhbmQgX0xJQlMgc2hvdWxkIGJlIGF0IHRoZSBlbmQsIGFuZCAtbGdzdGF1ZGlvLTAuMTAKCSAgc2hvdWxkIGdvIHJpZ2h0IGFmdGVyIEdTVF9QTFVHSU5TX0JBU0VfTElCUy4KCjIwMTAtMDItMTkgMTU6MTc6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvTWFrZWZpbGUuYW06CgkgIGZhYWQ6IExpbmsgd2l0aCBsaWJnc3RiYXNlIGZvciBHc3RBZGFwdGVyCgkgIEFsc28gZml4IG9yZGVyIG9mIENGTEFHUyBhbmQgTElCUwoKMjAxMC0wMi0xOSAwODo1ODozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE3LjIgcHJlLXJlbGVhc2UKCjIwMTAtMDItMTkgMDg6NTg6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogaWdub3JlIGdlbmVyYXRlZCBjb2cgZmlsZXMKCjIwMTAtMDItMTkgMTA6MzI6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6IGZpeCBOVUxMIHJlZiBhbmQgZXJyb3IgaGFuZGxpbmcgaWYgbm8gdmlkZW8gc2luayBpcyBmb3VuZAoJICBJZiBubyB2aWRlbyBzaW5rIGlzIHNldCBhbmQgYXV0b3ZpZGVvc2luayBpcyBub3QgYXZhaWxhYmxlIGZvciBzb21lCgkgIHJlYXNvbiwgcG9zdCBhIHByb3BlciBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMgd2hlbiBmYWlsaW5nIHRvCgkgIGNoYW5nZSBzdGF0ZSwgYW5kIGRvbid0IHRyeSB0byBnc3Rfb2JqZWN0X3JlZigpIE5VTEwgcG9pbnRlcnMuIEZpeGVzCgkgIGdlbmVyaWMvc3RhdGVzIHVuaXQgdGVzdCB3aGVuIGRpc3RjaGVja2luZy4KCjIwMDktMTItMTAgMTY6MzA6MjYgLTA1MDAgIFN0ZXBoZW4gRGVwb290ZXIgPHN0ZXBoZW5kQHhhbmRyb3MuY29tPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0OiBmaXggY29tcGlsZSBhZ2FpbnN0IGVhcmxpZXIgQ0VMVCB2ZXJzaW9ucwoJICBDaGVjayB0aGUgZXhpc3RlbmNlIG9mIHRoZSBDRUxUX1NFVF9DT01QTEVYSVRZIHN5bWJvbAoJICBiZWZvcmUgdHJ5aW5nIHRvIHVzZSBpdC4gRml4ZXMgY29tcGlsYXRpb24gYWdhaW5zdAoJICBsaWJjZWx0IDAuNC4wLgoJICBGaXhlcyAjNjA0MzExLgoKMjAxMC0wMi0xNyAxMjozNDozOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogcmV0dXJuIG9mZnNldCtsZW5ndGggZnJvbSBfZ2V0X2ltYWdlX2xlbmd0aCgpLgoJICBfZmluZF9lbmRfbWFya2VyKCkgZmluZCB0aGUgcG9zaXRpb24gb2YgdGhlIG1hcmtlci4gRU9JIGhhcyBhIGZpeGVkIGxlbmd0aCBvZiAyCgkgIGJ5dGVzIHRoYXQgd2hlcmUgbWlzc2luZy4gRml4ZXMgIzYwODk5OAoKMjAxMC0wMi0xNyAwMTozNDo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBpZ25vcmUgbmV3IGZhYWQgdW5pdCB0ZXN0CgoyMDEwLTAyLTE3IDAxOjI5OjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGZpeCBpbnZhbGlkIG1lbW9yeSBhY2Nlc3MKCSAgU2VlIGJ1ZyAjNjA4OTk4LgoKMjAxMC0wMi0xNiAyMjoyMzo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBGaXggdW5pdCB0ZXN0IHRvIGFjdHVhbGx5IGNoZWNrIGZvciBldmVyeXRoaW5nIHRvIHdvcmsgY29ycmVjdGx5CgoyMDEwLTAyLTE2IDIyOjIyOjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogSWYgbm8gY29kZWMgZGF0YSBpcyBzZXQsIHN0aWxsIGluaXRpYWxpemUgdGhlIGFzcyB0cmFjawoKMjAxMC0wMi0xNiAyMTo0MTozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogQWRkIHNpbXBsZSB1bml0IHRlc3QKCSAgVGhpcyByZW5kZXJzIGEgdGVzdCBzdHJpbmcgb24gdG9wIG9mIGEgcmVkIHZpZGVvIHN0cmVhbSBhbmQgY2hlY2tzCgkgIGlmIHRoZSB0ZXh0IGlzIG9ubHkgcmVuZGVyZWQgYXQgdGhlIGNvcnJlY3QgdGltZXN0YW1wcy4KCjIwMTAtMDItMTYgMjA6Mzg6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb2ZhLmM6CgkgIG9mYTogRml4IHdhcm5pbmcgbWVzc2FnZSBwYXJzaW5nCgoyMDEwLTAyLTE2IDE2OjQ5OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogZ3VhcmQgYWdhaW5zdCBjb2RlY19kYXRhIGZpZWxkIHdpdGggYSBOVUxMIGJ1ZmZlciBpbiBjYXBzCgkgIEZpeGVzICM2MDk0NzguCgoyMDEwLTAyLTE2IDE3OjEzOjA5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJICBxdG11eDogcHJldmVudCBsZWFraW5nIGhkbHIgbmFtZQoKMjAxMC0wMi0xNiAxNjoyNDoxMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IHN1cHBvcnQgZm9yIEFMQUMKCSAgRml4ZXMgIzU4MDczMS4KCjIwMTAtMDItMTYgMTQ6MTk6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkgIHF0bXV4OiByZWZhY3RvciBidWlsZGluZyBzdHNkIGVudHJ5ICd3YXZlJyBleHRlbnNpb24KCjIwMTAtMDItMTYgMTA6MDA6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSAuc3BlYyBmaWxlOiBzaGFwZXdpcGUgYW5kIGl2b3JiaXNkZWMgaGF2ZSBiZWVuIG1vdmVkIGVsc2V3aGVyZQoKMjAxMC0wMi0xNiAwOTo0OTowNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGRvY3M6IHVuaWZ5IGRvYyBzdHlsZQoJICBVc2UgZ3RrZG9jIHN5bnRheCBhbmQgYWRkIHNob3J0IGRlc2MgZm9yIHRoZSBleGFtcGxlcy4KCjIwMTAtMDItMTUgMjM6NDM6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCB1cCBHU1RfQ1hYRkxBR1MgcHJvcGVybHkKCSAgV2UgZG9uJ3Qgd2FudCBDIHNwZWNpZmljIGZsYWdzIGluIEdTVF9DWFhGTEFHUywgc28gYmFzZSBpdCBvbiB0aGUKCSAgR1NUX0NGTEFHUyB0aGF0IG9ubHkgY29udGFpbnMgdGhlIHBrZy1jb25maWcgQ0ZMQUdTIGJ1dCBub25lIG9mCgkgIHRoZSBHU1RfT1BUSU9OX0NGTEFHUy4gQWxzbywgd2Ugb25seSBuZWVkIHRoZSBsb2NhbCBpbmNsdWRlcyBvbmNlLgoKMjAxMC0wMi0xNSAyMzoxNzo1NyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJhc2UgR1NUX0NYWEZMQUdTIG9uIC0tY2ZsYWdzIGZyb20gcGtnLWNvbmZpZwoJICBwa2ctY29uZmlnIHNldHMgR1NUX0NGTEFHUyBhbmQgR1NUX0xJQlMuIFdlIG5lZWQgdG8gdXNlIENGTEFHUyBhcyBhIHN0YXJ0aW5nCgkgIHBvaW50IGZvciBmb3IgYm90aCBDIGFuZCBDWFggc2V0dGluZ3MuCgoyMDEwLTAyLTE1IDEyOjU3OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkgIGNvZ21zZTogZml4IHByaW50ZiBmb3JtYXQgYW5kIGEgZmV3IHJlZiBsZWFrcwoKMjAxMC0wMi0xNSAxMjo0NjoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIG00L01ha2VmaWxlLmFtOgoJKiBtNC9nc3QtaXZvcmJpcy5tNDoKCSAgYnVpbGQ6IHJlbW92ZSBzb21lbSBtb3JlIGl2b3JiaXMgY3J1ZnQKCjIwMTAtMDItMTUgMTE6NTU6MDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHJlbW9yLnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvaXZvcmJpcy9NYWtlZmlsZS5hbToKCSogZXh0L2l2b3JiaXMvdm9yYmlzLmM6CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuaDoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZW5jLmg6CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSAgTW92ZWQgJ2l2b3JiaXMoZGVjKScgZnJvbSAtYmFkIHRvIC1iYXNlLgoJICBGaXhlcyAjNjA5MDYzLgoKMjAxMC0wMi0xNSAwOTozNjowNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5jOgoJICBoZHZwYXJzZTogRml4IGZpZWxkIGVycm9yLgoJICBTcG90dGVkIGJ5IEJ1cmtoYXJkIFBsYXVtCgoyMDEwLTAyLTE1IDAxOjI2OjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdwYXJzZS5jOgoJICB0ZXN0czogZml4IGNhcHMgbGVhayBpbiBqcGVncGFyc2UgdW5pdCB0ZXN0CgoyMDEwLTAyLTEzIDE1OjI4OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RhdGF1cmlzcmMuYzoKCSAgdGVzdHM6IGFkZCB1bml0IHRlc3QgZm9yIGRhdGF1cmlzcmMKCSAgUmVxdWlyZXMgZml4ZXMgZnJvbSBjb3JlIGdpdCwgc28gYnVtcCBjb3JlIHJlcXVpcmVtZW50IHRvIGdpdCBhcyB3ZWxsLgoKMjAxMC0wMi0xNCAyMzoxODoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDk2ZGM3OTMgdG8gNDRlY2NlNwoKMjAxMC0wMi0xNCAxNToyMjowNSArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEudWk6CgkgIGV4YW1wbGVzOiBDYWxsIGdzdF9lbnN1cmVfbmF0aXZlX3dpbmRvdygpIGZvciBnc3QtY2FtZXJhCgkgIEZpeGVzIHNwdXJpb3VzIFNFR1ZzIGR1ZSB0byBtdWx0aXRocmVhZGluZyBjb25mbGljdHMgaW4KCSAgY2xpZW50LXNpZGUtd2luZG93IEd0ayB2ZXJzaW9ucy4KCjIwMTAtMDItMTQgMTM6NDM6MDQgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkgIGV4YW1wbGVzOiBVc2UgZ3RrIGZ1bmN0aW9ucyBpbnN0ZWFkIG9mIGxpYlgxMSBmdW5jdGlvbnMgaW4gY2FtZXJhYmluCgkgIEdldHMgYXJvdW5kIHRoZSBuZWVkIHRvIGxpbmsgdG8gbGliWDExIGRpcmVjdGx5IGFuZCBwcm92aWRlcyB0aGUgc2FtZQoJICBmdW5jdGlvbmFsaXR5LgoJICBUbyBib29zdCwgaXQncyBtb3JlIHBvcnRhYmxlLCB0b28hCgoyMDEwLTAyLTE0IDEzOjQxOjU3ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IFByb3Blcmx5IGxpbmsgdG8gbGlibQoKMjAxMC0wMi0xMyAxMTowMDowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSAgQWRkIHNoYXBld2lwZSBleGFtcGxlcyBkaXJlY3RvcnkgdG8gQ1JVRlRfRElSUwoKMjAxMC0wMi0xMiAxMTozNTowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sdjIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJICBkb2NzOiBVcGRhdGUgZG9jdW1lbnRhdGlvbgoKMjAxMC0wMi0xMiAxMToyMToyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBnc3Qvc2hhcGV3aXBlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2hhcGV3aXBlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJICBNb3ZlZCAnc2hhcGV3aXBlJyBmcm9tIC1iYWQgdG8gLWdvb2QKCSAgRml4ZXMgYnVnICM1ODQ1MzYuCgoyMDEwLTAyLTExIDIxOjU3OjQ5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBhZGQgZG9jdW1lbnRhdGlvbgoKMjAxMC0wMi0xMSAyMDozNzo1NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhZC5jOgoJICBmYWFkOiBhZGQgdW5pdCB0ZXN0CgoyMDEwLTAyLTExIDIwOjIxOjM4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogZml4IGRvY3VtZW50YXRpb24gdHlwbwoKMjAxMC0wMi0xMSAyMDoyMToxNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IHJlbW92ZSBzb21lIHJlZHVuZGFudCBjb2RlCgkgIC4uLiBhbmQgbW92ZSBhbmQgbW9kaWZ5IHNvbWUgZGVidWcgbG9nZ2luZy4KCjIwMTAtMDItMTAgMjM6Mjk6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBkcmFpbiBzeW5jIHBlbmRpbmcgZnJhbWVzIHdoZW4gYXBwcm9wcmlhdGUKCjIwMTAtMDItMTAgMjM6MTQ6NDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBzZW5kIHRhZ3MgZXhhY3RseSBvbmNlIHdoZW4gaW5pdCdlZAoKMjAxMC0wMi0xMCAyMzoxNDoyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IHJlZmFjdG9yIHNvbWUgcGFydGlhbCBzdHJlYW0gcmVzZXQKCjIwMTAtMDItMTAgMjI6MTQ6MDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBjb3JyZWN0bHkgZXN0aW1hdGUgYXZlcmFnZSBicHMKCSAgQ291bnQgY29uc3VtZWQgYnl0ZXMgYW5kIGNvcnJlc3BvbmRpbmcgZHVyYXRpb24gYXRvbWljYWxseSwKCSAgcmF0aGVyIHRoYW4gbGV0dGluZyBieXRlY291bnQgcnVuIGFoZWFkIG9mIHdoYXQgaGFzIGJlZW4gZGVjb2RlZC4KCSAgRml4ZXMgIzQ0MDQ3Ni4KCjIwMTAtMDItMTAgMjE6NDk6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBnaXZlIHVwIGFmdGVyIHNvbWUgbnVtYmVyIG9mIGRlY29kaW5nIGZhaWx1cmVzCgoyMDEwLTAyLTEwIDIxOjM3OjEyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJICBmYWFkOiBkbyBub3QgYXR0ZW1wdCB0byBzeW5jIGluZGVmaW5pdGVseQoKMjAxMC0wMi0xMCAyMToxMjowNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuaDoKCSAgZmFhZDogdXNlIGFkYXB0ZXIgcmF0aGVyIHRoYW4gdGVtcG9yYXJ5IGJ1ZmZlcgoKMjAxMC0wMi0xMCAxOToxNDoxOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IG9iamVjdGlmeSBkZWJ1ZyBzdGF0ZW1lbnRzIGFuZCBhZGp1c3Qgc29tZSBsZXZlbHMKCjIwMTAtMDItMTAgMTg6NDY6MTYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiByZWZhY3RvciBzcmMgY2FwcyAocmUpbmVnb3RpYXRpb24gYW5kIHJlZmxvdyBzb21lIGVycm9yIGV4aXRzCgoyMDEwLTAyLTA5IDIzOjM1OjIwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJICBmYWFkOiByZW1vdmUgZGVmdW5jdCBhbmQgb3RoZXJ3aXNlIG9ic29sZXRlIGNvZGUKCjIwMTAtMDItMDkgMjM6MjU6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiByZWZhY3RvciByZXNldAoKMjAxMC0wMi0wOSAyMjo0NjozMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuaDoKCSAgZmFhZDogdXNlIGFuIGluIHN0cnVjdCBzZWdtZW50IHJhdGhlciB0aGFuIGEgc2VwYXJhdGVseSBhbGxvY2F0ZWQgb25lCgoyMDEwLTAyLTEwIDEwOjUyOjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogUHJlc2VydmUgdGhlIGlucHV0IGNvbG9yIHZhbHVlcyBpbiBhbGwgY2FzZXMKCjIwMTAtMDItMTAgMTA6NTA6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBTY2FsZSBtYXNrIGFscGhhIHZhbHVlcyBieSB0aGUgc291cmNlIGFscGhhIHZhbHVlcwoKMjAxMC0wMi0xMCAxMDo0MjozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IEZpeCBBUkdCIHByb2Nlc3NpbmcKCjIwMTAtMDItMTAgMTA6MzQ6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkgIHNoYXBld2lwZTogUHJpbnQgc29tZSBtb3JlIGRldGFpbHMgb24gZXJyb3Ivd2FybmluZyBtZXNzYWdlcwoKMjAxMC0wMi0wOSAxNToyMDozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBOZXZlciBmbHVzaCBtb3JlIGJ5dGVzIHRoYW4gYXZhaWxhYmxlCgkgIFRoaXMgY291bGQgaGFwcGVuIGlmIHRoZSBpbnB1dCBkb2Vzbid0IGNvbnRhaW4gYW55IE1QRUcgVFMKCSAgZGF0YSBhbmQgdGhlIGNvbXBsZXRlIGFkYXB0ZXIgY29udGVudCBzaG91bGQgYmUgc2tpcHBlZC4KCjIwMTAtMDItMDggMTE6NTE6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zcmVjb3ZlcnkuYzoKCSAgcXRtdXg6IGF0b21zcmVjb3Zlcnk6IEZpeCBjb21waWxhdGlvbiBwcm9ibGVtCgkgIEZpeGVzIGEgY29tcGlsYXRpb24gZXJyb3IgZHVlIHRvIHVudXNlZCBmdW5jdGlvbiByZXN1bHQuCgoyMDEwLTAyLTA4IDA4OjI2OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogSW1wcm92ZS9hZGQgZGVidWcgb3V0cHV0CgoyMDEwLTAyLTA4IDA4OjIwOjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogQWx3YXlzIGhvbGQgdGhlIG1hc2sgbXV0ZXggYmVmb3JlIHNpZ25hbGxpbmcgdGhlIEdDb25kCgoyMDEwLTAyLTA4IDA4OjE5OjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogTW92ZSBjaGFpbiBmdW5jdGlvbiBlcnJvciBjYXNlcyBhdCB0aGUgZW5kIG9mIHRoZSBmdW5jdGlvbiBhbmQgYWRkIHVzZWZ1bCBkZWJ1ZyBvdXRwdXQKCjIwMTAtMDItMDggMDg6MTI6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSAgc2hhcGV3aXBlOiBGaXggcmFjZSBjb25kaXRpb24gZHVyaW5nIHNodXRkb3duIHRoYXQgY2FuIGxlYWQgdG8gYSBkZWFkbG9jawoKMjAxMC0wMi0wOCAwODoxMTozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IERyb3AgbWFzayBidWZmZXIgb24gRkxVU0ggZXZlbnRzCgoyMDEwLTAyLTA4IDA4OjA5OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkgIHNoYXBld2lwZTogVXBkYXRlIGNvcHlyaWdodCB5ZWFyCgoyMDEwLTAyLTA4IDA4OjA4OjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogRG9uJ3QgcmVzZXQgcHJvcGVydGllcyB3aGVuIGdvaW5nIFBBVVNFRC0+UkVBRFkKCSAgQWxzbyB1c2UgZGVmaW5lcyBmb3IgdGhlIGRlZmF1bHQgdmFsdWVzIG9mIHRoZSBwcm9wZXJ0aWVzLgoKMjAxMC0wMi0wNyAxMTowOTo0NSArMDEwMCAgRGF2aWQgSG95dCA8ZGhveXRAbGxubC5nb3Y+CgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkgIHJzdmdkZWM6IGZpeCBjb21waWxhdGlvbiB3aXRoIE1TVkMKCSAgTVNWQyBkb2Vzbid0IGxpa2UgI2lmICNlbHNlIHdpdGhpbiBzdGF0ZW1lbnRzLgoJICBGaXhlcyAjNjA5MjE1LgoKMjAxMC0wMS0yNiAxNzowODowNCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSAga2F0ZWRlYzogZG9uJ3QgZXNjYXBlIHNwZWNpYWwgY2hhcmFjdGVycwoJICBEb24ndCBlc2NhcGUgc3BlY2lhbCBjaGFyYWN0ZXJzLCBhcyB3ZSdsbCBzZW5kIHRoZSBidWZmZXIgYXMKCSAgdGV4dC9wbGFpbiByYXRoZXIgdGhhbiB0ZXh0L3gtcGFuZ28tbWFya3VwOyB0aGlzIGF2b2lkcyBlLmcuCgkgIHF1b3RlcyBmcm9tIGFwcGVhcmluZyBhcyAmcXVvdDsgaW4gdGhlIHJlbmRlcmVkIHN1YnRpdGxlcy4KCSAgU2VlIGJ1ZyAjNjAwOTI5LgoKMjAxMC0wMS0yNCAxMToxNDoxNSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJICBrYXRlOiByZW5hbWUgdGhlIHRpZ2VyIG92ZXJsYXkgZWxlbWVudCdzIHNpbmsgcGFkIHRvICdzdWJ0aXRsZV9zaW5rJwoJICBBcyB0aGlzIGlzIHdoYXQgcGxheWJpbjIgZXhwZWN0cy4gU2VlIGJ1ZyAjNjAwOTI5LgoKMjAxMC0wMi0wNyAxMDoxOTowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVnZm9ybWF0LmM6CgkgIGpwZWdwYXJzZTogbG93ZXIgcmFuayB0byBOT05FIHNvIGl0IGlzIG5vdCBhdXRvcGx1Z2dlZCBmb3IgZGVjb2RpbmcKCSAgVGhpcyBlbGVtZW50IGlzIHRvbyBuZXcgYW5kIHRvbyB1bnRlc3RlZCB0byBoYXZlIGl0IGF1dG9wbHVnZ2VkLgoKMjAxMC0wMi0wNSAxNzoyNTo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBGaXggdW5pdCB0ZXN0CgkgIFRoZSBwYXJzZWQgYnVmZmVycyBoYXZlIGEgZnJhbWVyYXRlIG9mIDEvMS4KCSAgRml4ZXMgYnVnICM2MDg5OTguCgoyMDEwLTAyLTA1IDEwOjE4OjM5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXR5cGVzLmM6CgkgIG1ldGFkYXRhOiBhcHBlbmRfc29ydGVkIHNob3VsZCByZWFsbHkgYXBwZW5kIHNvcnRlZAoJICAuLi4gd2hpY2ggbWVhbnMgdGhhdCBpZGVudGljYWwgb2Zmc2V0X29yaWcgc2hvdWxkIHByZXNlcnZlIHRoZSBvcmRlcgoJICBpbiB3aGljaCB0aGV5IGFyZSBhcHBlbmRlZC4KCjIwMTAtMDItMDUgMTA6MTY6MjcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuYzoKCSAgbWV0YWRhdGE6IHVzZSBhIG5vbi1ERUZBVUxUIHByb3BlciBkZWJ1ZyBjYXRlZ29yeSBpbiBoZWxwZXIgZmlsZXMKCjIwMTAtMDItMDQgMTk6NDU6NDIgKzAxMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBmbHVlbmRvLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2gyNjQuYzoKCSAgbXBlZ3RzbXV4OiBGaXggYSBwb3RlbnRpYWwgdW5yZWYgb2YgYSBOVUxMIHBvaW50ZXIuCgkgIEF0IGZpcnN0IGl0ZXJhdGlvbiB3ZSBkb24ndCBoYXZlIGFueSBjYWNoZWQgU1BTL1BQUyBidWZmZXIgdG8gZnJlZS4KCjIwMTAtMDItMDIgMTE6NDM6MjIgLTA1MDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBhZGQgUEFUL1BNVCBpbiBzdHJlYW1oZWFkZXIKCSAgVGhlIGNoZWNrIGZvciBQQVQvUE1UIGJ1ZmZlcnMgd2FzIHN1Z2dlc3RlZCBieQoJICBaYWhlZXIgQWJiYXMgTWVyYWxpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA4ODk2CgoyMDEwLTAyLTAzIDEzOjMxOjIyICswMTAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eGNvbW1vbi5oOgoJICBtcGVndHNtdXg6IGFkZCBwYXQtaW50ZXJ2YWwgYW5kIHBtdC1pbnRlcnZhbCBwcm9wZXJ0aWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDg4OTYKCjIwMTAtMDItMDMgMTM6NDE6MjcgKzAxMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkgIG1wZWd0c211eDogZml4IFBBVC9QTVQgaW5zZXJ0aW9uIGZyZXF1ZW5jeQoJICBUaGUgY3VycmVudCBjb2RlIGlzIGNvbXBhcmluZyB0aW1lc3RhbXBzIHdpdGggZGlmZmVyZW50IGNsb2NrLgoJICBMZXQncyB1c2Ugb25seSB0aGUgY2xvY2sgZm9yIFBUUyB2YWx1ZXMuCgkgIEFsc28gcmVuYW1lIGZyZXF1ZW5jeSB0byBpbnRlcnZhbCwgdG8gYXZvaWQgY29uZnVzaW9uLiBBbmQgcmVtb3ZlCgkgIGRvY3VtZW50YXRpb24gYWJvdXQgdmFsdWUgMCwgd2hpY2ggd29uJ3Qgd29yayBsaWtlIGRvY3VtZW50ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDg4OTYKCjIwMTAtMDEtMjcgMTY6Mjk6MDAgKzAxMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkgIG1wZWd0c211eDogbWFya2luZyBub24tZGVsdGEgdW5pdCwgaW5jbHVkaW5nIHByZS1zZWN0aW9ucwoJICBUaGlzIHBhdGNoIGFkZHJlc3MgdGhlIGlzc3VlIG9ic2VydmVkIHdpdGggS0YgdGltZXN0YW1wcwoJICBhbmQgZGVsdGEgZmxhZy4gV2hlbiBhIHNlY3Rpb24gaXMgYXBwZW5kZWQgYmVmb3JlIHRoZSBrZXlmcmFtZSwKCSAgaXQgaXMgbm90IG1hcmtlZCBhcyBub24tZGVsdGEuIEl0J3MgcHJlZmVyYWJsZSB0byBtYXJrIHRoZQoJICBmaXJzdCBidWZmZXIgbm9uLWRlbHRhLgoJICBUaGlzIHBhdGNoIGFsc28gc2ltcGxpZnkgdGhlIGluaXRpYWwgcGF0Y2ggd3JpdHRlbiBieSB0aG9tYXMsCgkgIHNpbmNlIGl0IGRvZXMgbm90IGNsdXR0ZXIgdHNtdXgvIHdpdGggYSBkZWx0YSBmbGFnIHBhc3NlZAoJICBhcm91bmQgb25seSBmb3IgR1N0cmVhbWVyIGNvbnZlbmllbmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA0OTA4CgoyMDEwLTAyLTAzIDE1OjA3OjA4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvanBlZ2Zvcm1hdC9NYWtlZmlsZS5hbToKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5oOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVnZm9ybWF0LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdmb3JtYXQuaDoKCSAganBlZ2Zvcm1hdDogYWRkIGEgYmFzaWMgamlmbXV4ZXIKCSAgVGhlIG5ldyBlbGVtZW50IGNhbiBjaG9wIGFuZCByZWFzc2VtYmxlIHRoZSBtYXJrZXJzLiBJIGltcGxlbWVudHMgdGhlIHRhZ3NldHRlcgoJICBhbmQgZm9yIG5vdyBjYW4gc2VyaWFsaXplIHNvbWUgdGFncyB0byBqcGVnIGNvbW1lbnRzLgoKMjAwOS0xMi0xMiAxNjowNzoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2F0b21zcmVjb3ZlcnkuYzoKCSogZ3N0L3F0bXV4L2F0b21zcmVjb3ZlcnkuaDoKCSogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtb292cmVjb3Zlci5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eHBsdWdpbi5jOgoJICBxdG11eDogQWRkcyBtb292IHJlY292ZXJ5IGZlYXR1cmUKCSAgQWRkcyBhIG5ldyBwcm9wZXJ0eSB0byBxdG11eCB0aGF0IHNldHMgYSBwYXRoIHRvIGEgZmlsZSB0byB3cml0ZQoJICBhbmQgdXBkYXRlIGRhdGEgYWJvdXQgdGhlIG1vb3YgYXRvbSAodGhhdCBpcyBub3Qgd3JpdGVuIHRpbGwgdGhlCgkgIGVuZCBvZiB0aGUgZmlsZSkuIElmIHRoZSBwaXBlbGluZS9hcHAgY3Jhc2hlcyBkdXJpbmcgZXhlY3V0aW9uIGl0CgkgIG1pZ2h0IGJlIHBvc3NpYmxlIHRvIHJlY292ZXIgdGhlIG1vdmllIHVzaW5nIHRoZSBxdG1vb3ZyZWNvdmVyIGVsZW1lbnQuCgkgIHF0bW9vdnJlY292ZXIgaXMgYW4gZWxlbWVudCB0aGF0IGlzIGFsc28gYSBwaXBlbGluZS4gSXQgaXMgbm90CgkgIG1lYW50IHRvIGJlIHVzZWQgd2l0aCBvdGhlciBlbGVtZW50cyAoaXQgaGFzIG5vIHBhZHMpLiBJdCBpcyBtZXJlbHkKCSAgYSB0b29sL3V0aWxpdGFyeSB0byByZWNvdmVyIHVuZmluaXNoZWQgcXRtdXggZmlsZXMuCgkgIEZpeGVzICM2MDE1NzYKCjIwMTAtMDItMDIgMTE6MjI6MDYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdmb3JtYXQuaDoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogaW1wcm92ZSBwYXJzaW5nCgkgIEhhbmRsZSBtb3JlIGFwcCBtYWtlci4gUHJpbnQgYXBwIG1hcmtlciBuYW1lcyB0byBkZWJ1ZyBsb2cuIFJlbWVtYmVyIGxhc3RfbWFya2VyCgkgIHdoZW4gcGFyc2luZyB0byBhdm9pZCByZXBhcnNpbmcgZnJvbSB0aGUgdmVyeSBiZWdpbi4KCjIwMTAtMDItMDIgMTI6MjM6MjQgKzAxMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBmbHVlbmRvLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2gyNjQuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfaDI2NC5oOgoJICBtcGVndHNtdXg6IGdlbmVyYXRlIFNQUy9QUFMgaGVhZGVyIG9uY2UgYW5kIGZpeCBvdmVyZmxvdwoJICBTb21lIEgyNjQgcGFja2V0cyBjYW4gYmUgYXMgc21hbGwgYXMgNSBieXRlcyBmb3IgcmVwZWF0ZWQgZnJhbWVzLgoJICBJbiBzdWNoIGEgc2l0dWF0aW9uIHRoZSBvdXRwdXQgYnVmZmVyIHNpemUgd2FzIG5vdCBiaWcgZW5vdWdoICg1KjIpIHRvIGZpdCB0aGUKCSAgU1BTL1BQUyBoZWFkZXIgYW5kIHRoZSBzdGFydCBjb2Rlcy4gVGhpcyBjb3JydXB0cyB0aGUgRVMgc3RyZWFtLgoJICBXZSBub3cgZ2VuZXJhdGUgdGhlIFNQUy9QUFMgb25seSBvbmNlIHdoaWNoIGlzIG11Y2ggbW9yZSBvcHRpbWFsIGFuZCB3ZSBub3cKCSAga25vdyB0aGUgc2l6ZSBvZiB0aGUgaGVhZGVyIHRvIGNhbGN1bGF0ZSB0aGUgb3V0cHV0IGJ1ZmZlciBzaXplIG1vcmUgc2FmZWx5LgoKMjAxMC0wMi0wMiAwMTo0NDoyMCArMDEwMCAgR3JpZ29yaSBHb3Jvbnp5IDxncmVnQGJsYWNrYm94PgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBpbnN0cnVjdCBsaWJhc3MgdG8gdXNlIGxpZ2h0IGF1dG9oaW50aW5nCgkgIEZpeGVzIGJ1ZyAjNjA4NzUzLgoKMjAxMC0wMi0wMiAwODo1Mzo1MyArMDEwMCAgRXJpYyBBcHBsZW1hbiA8ZXJhcHBsZW1hbkBnbWFpbC5jb20+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IERvbid0IHNjYW4gY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSByZWN1cnNpdmVseSBmb3IgZm9udHMKCSAgVGhpcyBjYW4gdGFrZSBhIHZlcnkgbG9uZyB0aW1lIGFuZCBhbHNvIGxpYmFzcyB3aWxsIG92ZXJ3cml0ZSBmaWxlcwoJICBpZiB0aGVyZSdzIGFuIGVtYmVkZGVkIGZvbnQgd2l0aCB0aGUgc2FtZSBmaWxlbmFtZSBhcyBhbiBleGlzdGluZyBmaWxlLgoJICBGaXhlcyBidWcgIzU3NTg3OCBhbmQgIzYwODcwNi4KCjIwMTAtMDItMDEgMTY6MjY6MzYgLTA4MDAgIERhdmlkIEhveXQgPGRob3l0QGxsbmwuZ292PgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSAgZHNob3d2aWRlb3Npbms6IGRvbid0IGNyYXNoIG9uIGludmFsaWQgQU1fTUVESUFfVFlQRQoKMjAxMC0wMS0yNyAxOTowNjo1MyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgcXRtdXg6IGZvciBmaXhlZC1zYW1wbGUgc2l6ZSBzdHJlYW1zIChQQ00gYXVkaW8sIGV0YykgZG9uJ3QgYWxsb2NhdGUgYW4gZW5vcm1vdXMgYnVmZmVyIHRoYXQgd2UgdGhlbiB3b24ndCB1c2UgYXQgYWxsLgoKMjAxMC0wMS0yNyAxNTozNzozNyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGhhbmRsZSBtdXhpbmcgYWRwY20gY29ycmVjdGx5LgoKMjAxMC0wMS0yMiAxMzozNjowNCAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgcXRtdXg6IFNldCB0aGUgbWRpYSBoZGxyIG5hbWUgZmllbGQgdG8gd2hhdCBxdWlja3RpbWUgdXNlcy4gRml4IHdyaXRpbmcgaXQgc2luY2UgaXQncyBub3QgbnVsbC10ZXJtaW5hdGVkLiBJbXByb3ZlcyBjb21wYXRpYmlsaXR5IHdpdGggc29tZSBoYXJkd2FyZSBwbGF5ZXJzLgoKMjAxMC0wMS0yMiAxMzozMDowNyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGVuZGlhbm5lc3MgaW4gZ3N0cmVhbWVyIGlzIGFuIGludCwgbm90IGJvb2xlYW4uCgoyMDEwLTAxLTE2IDEzOjE3OjA4IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogcGFyc2UgbW9yZSBmb3JtcyBvZiBjb2RlY19kYXRhCgoyMDEwLTAyLTAxIDIyOjM3OjM5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsdjI6IGNvZGUgY2xlYW51cHMKCSAgTW9yZSBsb2dnaW5nIGFuZCBjb21tZW50cy4gUmVuYW1lIHNvbWUgdmFycyBmb3IgY29uc2lzdGVuY3kuIEZ1bGx5IGluaXQgcG9ydAoJICBzdHJ1Y3QuCgoyMDEwLTAyLTAxIDIyOjMyOjMyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJICBzaWduYWxwcm9jZXNzb3IsbHYyLGxhZHNwYTogbW92ZSBzYW1wbGUtcmF0ZSB0byBiYXNlY2xhc3MKCSAgV2UgbmVlZCB0aGUgc2FtcGxlLXJhdGUgaW4gYmFzZWNsYXNzIGZvciB1cGNvbW1pbmcgdGltZXN0YW1wIGNoYW5nZXMuCgoyMDEwLTAyLTAxIDIyOjI0OjUyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL1JFQURNRToKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbHYyOiBzaG9ydGVyIGVsZW1lbnQgbmFtZXMKCSAgQ3V0IG9mZiB0aGUgcHJvdG9jb2wgcGFydCBmcm9tIHRoZSB1cmkuIEFsc28ganVzdCBnX1N0cmR1cCwgaW5zdGVhZCBvZiBwcmludGYKCSAgdGhlIG5hbWUuCgoyMDEwLTAyLTAxIDE3OjQ2OjI5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBwcm92aWRlIGEgZ2V0Y2FwcyBmdW5jdGlvbiBmb3Igc3JjIHBhZCBhbmQgaW1wcm92ZSBzZXRjYXBzCgkgIFByZXZpb3VzbHkganBlZ3BhcnNlIHdhcyBmYWlsaW5nIGluIGRlY29kZWJpbiBhcyB0aGUgY2FwcyB3ZSB3ZXJlIHNldHRpbmcgd2hlcmUgbm90CgkgIHNldHRpbmcgYWxsIGNhcHMgZmllbGRzLiBXZSBuZWVkIHRoZSBvd24gZ2V0Y2FwcyBmdW5jdGlvbiB0byByZXBvcnQgd2hhdCB3ZSBhY3R1YWx5CgkgIGFjY2VwdC4KCjIwMTAtMDItMDEgMTc6MTY6MTYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGV4dHJhY3QgY29tbWVudCBhbmQgcG9zdCBhcyBtZXRhZGF0YQoKMjAxMC0wMi0wMSAxNTowNDoyOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2pwZWdmb3JtYXQvTWFrZWZpbGUuYW06CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdmb3JtYXQuaDoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5oOgoJICBqcGVnZm9ybWF0OiBjb2RlIGNsZWFudXBzCgkgIE1vdmUgdGhlIGpwZWcgbWFya2VyIGRlZmluZXMgdG8gYSBoZWFkZXIgKHRvIGJlIHVzZWQgZm9yIGppZm11eCkuIFJld3JpdGUgc29tZQoJICBjb21tZW50cy4gVXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSgpLiBBZGQgbW9yZSBsb2dnaW5nLgoKMjAxMC0wMS0zMSAyMjoyMTo0MiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbHYyOiBzaW1waWZ5IHByb3BlcnR5IHJlZ2lzdHJhdGlvbgoJICBBdm9pZCB0eXBlIGNoZWtpbmcgY2FzdHMgZm9yIGVhY2ggcHJvcGVydHkuIFVzZSBhIHJ1bm5pbmcgaW5kZXguCgoyMDEwLTAxLTMxIDIyOjE2OjE4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IHVzZSB0aGUgZ3N0LWNvbnRyb2xsZXIsIGFkZCBzb21lIGJhc2ljIHRpbWVzdGFtcGluZwoJICBBdGxlYXN0IGZvciBGWCB3ZSBub3cgaGF2ZSB0aW1lc3RhbXBzIGFuZCBjYW4gc3luYyB0aGUgY29udHJvbGxlci4gU3RpbGwgbmVlZAoJICB0aW1lc3RhbXBzIGZvciBzb3VyY2VzLgoKMjAxMC0wMS0zMSAyMjoxNDowNCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgbGFkc3BhOiBzaW1wbGlmeSBwcm9wZXJ0eSByZWdpc3RyYXRpb24KCSAgRG9uJ3QgZG8gY2hlY2tpbmcgY2FzdCBmb3IgZWFjaCBwYXJhbWV0ZXIuIFVzZSBhIHJ1bm5pbmcgaW5kZXguCgoyMDEwLTAxLTMxIDIyOjEzOjA2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsdjI6IHVzZSBwbHVnaW4gZGVwZW5kZW5jeSByZWdpc3RyeSBhcGkKCjIwMTAtMDEtMzEgMjI6MTE6NDAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGx2MjogbG9va3VwIEdRdWFyayBqdXN0IG9uY2UgaW5zdGVhZCBmb3IgZWFjaCBwbHVnaW4rMQoKMjAxMC0wMS0zMSAyMjowODozMyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgbGFkc3BhOiBsb29rdXAgR1F1YXJrIGp1c3Qgb25jZSBhbmQgbm90IGZvciBlYWNoIHBsdWdpbisxCgoyMDEwLTAxLTMxIDIyOjA3OjA5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IHRoZXNlIGFyZSBub3QgZ3RrLWRvYyBjb21tZW50cwoKMjAxMC0wMS0zMSAyMjowNTozMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2x2Mi9NYWtlZmlsZS5hbToKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbGFkc3BhL2x2MjogbGluayBhbmQgaW5pdCB0byBnc3QtY29udHJvbGxlcgoKMjAxMC0wMS0zMSAxNTo1MzoyNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29yOiBuZXcgaXMgYSBjKysga2V5d29yZCwgYmV0dGVyIGxvZ2dpbmcKCSAgVXNlIHBhZCBpbnN0ZWFkIG9mIG5ldyBmb3IgdGhlIHBhZCB2YXIuIEFsc28gdXNlIHBhZCBhcyBvYmplY3QgaW4gdG8gZGVidWcKCSAgbG9nZ2luZy4KCjIwMTAtMDEtMzAgMTU6MTk6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxNWQ0N2E2IHRvIDk2ZGM3OTMKCjIwMTAtMDEtMjkgMTI6MjU6MDggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9qcGVnZm9ybWF0L01ha2VmaWxlLmFtOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVnZm9ybWF0LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVnZm9ybWF0OiBtb3ZlIHBsdWdpbiBwYXJ0IHRvIHNwZXBhcmF0ZSBmaWxlLCBzbyB0aGF0IHdlIGNhbiBhZGQgdGhlIGppZm11eAoKMjAxMC0wMS0yOSAxMTozOTo1MCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJICBkb2NzOiB1cGRhdGUgb2YgdGhlIHBsdWdpbiBkb2NzLCBhZGRpbmcgbmV3IGludHJvc3BlY3QgZGF0YQoKMjAwOS0wOC0xOSAxMjoyMjozMCArMDIwMCAgQXJub3V0IFZhbmRlY2FwcGVsbGUgPGFybm91dEBtaW5kLmJlPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9qcGVnZm9ybWF0L01ha2VmaWxlLmFtOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBuZXcganBlZyBwYXJzZXIgZWxlbWVudC4gRkl4ZXMgIzU4MzA5OAoJICBQYXJzZSBKUEVHIGltYWdlcywgZXh0cmFjdHMgaXRzIG1ldGFkYXRhLCBzZXQgY2FwcyBhbmQKCSAgcGFja2V0aXplIGFuIGltYWdlIHBlciBidWZmZXIuCgoyMDEwLTAxLTI4IDE1OjAwOjMyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJICBjYW1lcmFiaW4tZXhhbXBsZTogY2xlYW51cHMgZm9yIG1haW5sb29wIGFuZCBzdGF0ZS1jaGFuZ2VzLiBGaXhlcyAjNjA4MDQyCgkgIFN0YXJ0IGNhbWVyYWJpbiB2aWEgaWRsZSBoYW5kbGVyIHRvIGhhdmUgdGhlIG1haW5sb29wIGFscmVhZHkgcnVubmluZy4gQXZvaWQKCSAgc29tZSB1bm5lY2Vzc2FyeSBzdGF0ZSBjaGFuZ2VzLiBDbGVhbnVwIHRoZSBidXMgdXNhZ2Ugd2hlbiByZXN0YXJ0aW5nLgoKMjAxMC0wMS0yOCAxNDo1NzowNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBkb24ndCBsb2cgTlVMTCBjYXBzLCBhbHNvIGRvd25ncmFkZSB0byBERUJVRyBhcyBpdCBpcyB2ZXJ5IHZlcmJvc2UKCSAgVGhpcyBkZWJ1ZyBsb2cgZW50cnkgd2FzIGFsc28gbm90IG1lbnQgdG8gYmUgdXNlZCBpbiB0aGUgZmFpbHVyZSBjYXNlLgoKMjAxMC0wMS0yOCAwMDowNzoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkgIGRhdGF1cmlzcmM6IGFkZCBzdGFydCBmdW5jdGlvbiBzbyB3ZSBjYW4gZXJyb3Igb3V0IHByb3Blcmx5IGlmIG5vIHVyaSBpcyBzZXQKCSAgQWxzbyBzYXZlIGEgc2V0IFVSSSBhZnRlciBpdCBoYXMgYmVlbiBwYXJzZWQgc3VjY2Vzc2Z1bGx5LCBzbyB0aGF0IF9nZXRfdXJpKCkKCSAgYWN0dWFsbHkgd29ya3MuCgoyMDEwLTAxLTI3IDIzOjQ2OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSAgZGF0YXVyaXNyYzogZG9uJ3QgcG9zdCBlcnJvciBtZXNzYWdlIHdoZW4gc2V0dGluZyB0aGUgVVJJIGZhaWxlZAoJICBUaGVyZSdzIGEgZ2Jvb2xlYW4gcmV0dXJuIGZvciB0aGF0LCBhbmQgdGhlIG1lc3NhZ2VzIGRvbid0IHJlYWxseQoJICBhZGQgYW55dGhpbmcgdXNlZnVsLgoKMjAxMC0wMS0yNyAyMzozOToxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkgIGRhdGF1cmlzcmM6IG11c3QgcmVsZWFzZSB0aGUgb2JqZWN0IGxvY2sgYmVmb3JlIHVzaW5nIEdTVF9FTEVNRU5UX0VSUk9SCgoyMDEwLTAxLTI3IDIzOjM0OjM0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsdjI6IGFkZCBtb3JlIGRlYnVnIGFuZCByZW1vdmUgIlxuIiBmcm9tIGRlYnVnIGxvZ2dpbmcKCjIwMTAtMDEtMjcgMjM6Mjk6NDQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGx2MjogYmV0dGVyIGdvYmplY3QgcHJvcGVydGllcwoJICBVc2UgbHYyOnN5bWJvbCBhcyBhIGJhc2UgZm9yIHRoZSBwcm9wZXJ0eSBuYW1lIGFuZCBsdjI6bmFtZSBmb3IgbmljayBhbmQgYmx1cmIuCgoyMDEwLTAxLTI2IDE3OjU0OjI4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSAgcXRtdXg6IHN0cmVhbWxpbmUgbW9vdiBkYXRhIG1lbW9yeSBzdG9yYWdlCgkgIEluIHBhcnRpY3VsYXIsIHVzZSBhcnJheXMgcmF0aGVyIHRoYW4gKGRvdWJsZSkgbGlua2VkIGxpc3RzLgoKMjAxMC0wMS0xNCAxMTo1MDozMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IHJlbmFtZSBiYXNlcGFyc2UgR1R5cGUgbmFtZSB0byBhdm9pZCBwb3NzaWJsZSBjb25mbGljdHMKCjIwMTAtMDEtMTQgMTI6MDY6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiB1c2UgY29ycmVjdCBoMjY0X3BhcnNlIHByZWZpeCBpbiBmdW5jdGlvbiBuYW1lCgoyMDEwLTAxLTI3IDEyOjA4OjQ4ICswMTAwICBWaW5jZW50IEdFTklFVVggPHZnZW5pZXV4IGF0IGZyZWUuZnI+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBkdmJzcmM6IGZpeCBlbGVtZW50IHNodXRkb3duIG9uIGJhZCByZWNlcHRpb24KCSAgV2hlbiB3ZSBoYXZlIGEgYmFkIHJlY2VwdGlvbiwgYXZvaWQgZ29pbmcgaW50byBhbiBpbmZpbml0ZSBsb29wIGJ5IHNldHRpbmcgYQoJICBzaHV0ZG93biBmbGFnIHdoZW4gc2h1dHRpbmcgZG93bi4KCSAgRml4ZXMgIzYwNzc0NwoKMjAxMC0wMS0yNiAxMzo0NDowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGdfZnJlZSBpcyBOVUxMIHNhZmUKCjIwMTAtMDEtMjUgMTk6MDY6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5oOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkgIHJ0cGFzZnBheTogRml4IHBhY2tldCBsZW5ndGggc2VtYW50aWNzCgkgIEZvbGxvd2luZyB0aGUgZWQ0ZDA4MTg5ZWE2ZTE5YTUwZTAyOWU2MGRhNTJkMzU4M2MzOWZiYgoJICBjb21taXQsIHRoaXMgb25lIGZpeGVzIHJ0cGFzZnBheSB0byB1c2UgcGFja2V0IGxlbmd0aAoJICBhcyB0aGUgcGF5bG9hZGVkIGRhdGEgbGVuZ3RoLCBidXQgYWxzbyBhY2NlcHRpbmcgaXQKCSAgYXMgdGhlIGZ1bGwgcGFja2V0IHNpemUgZm9yIGNvbXBhdGliaWxpdHkgd2l0aAoJICBvdGhlciBpbXBsZW1lbnRhdGlvbnMgZHVlIHRvIHRoZSBsYWNrIG9mIGNsYXJpdHkgb2YgdGhlCgkgIHNwZWMgaW4gdGhpcyBwYXJ0LgoKMjAxMC0wMS0yMSAxMDo1MToxNiAtMDMwMCAgSMOla29uIFNramVsdGVuIDxza2plbHRlbkBwdnYub3JnPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguaDoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmg6CgkgIGFzZm11eDogQ29tcGF0aWJpbGl0eSB3aXRoIFdNU1AgaW4gV01QCgkgIE1ha2VzIHRoZSBhc2ZtdXggY29udGVudCBjb21wYXRpYmxlIHdpdGggV01TUCBhbmQgZG9lcwoJICBzb21lIGhhY2tzIHRvIG1ha2UgaXQgcGxheWFibGUgaW4gV01QLCBpdCBkb2Vzbid0IGFjY2VwdAoJICBkYXRhIG9iamVjdHMgd2l0aCAwIHNpemUgaW5kaWNhdGluZyB0aGF0IHdlIGRvbid0IGtub3cKCSAgaXRzIHNpemUsIHRob3VnaCB0aGUgc3BlYyBzYXlzIGl0IHNob3VsZCBiZSBwb3NzaWJsZS4KCSAgRml4ZXMgIzYwNzU1NQoKMjAxMC0wMS0yNSAyMzowNjo1OSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSAgY2FtZXJhYmluLWV4YW1wbGU6IHJlbW92ZSBtYWVtbyBjb21tZW50IGFuZCBsb2cgZmlsZW5hbWUKCSAgVGhlIG1hZW1vIGZpeG1lIGlzIG5vdCBuZWVkZWQgYW55bW9yZS4gTG9nIHRoZSBjaG9vc2VuIGZpbGVuYW1lIHRvIGhlbHAKCSAgcGVvcGxlIGZpbmRpbmcgdGhlIGZpbGVzLgoKMjAxMC0wMS0yNSAyMzowNDozOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkgIGNhbWVyYWJpbjogcmVmIGVsZW1lbnQgYmVmb3JlIHJlbW92aW5nIGZyb20gdGhlIGJpbiB0byByZXN1cnJlY3QKCSAgVGhpcyBmdW5jdGlvbiBpcyBub3Qgc3VwcG9zZWQgdG8gZGlzcG9zZSB0aGUgZWxlbWVudCBpbiB0aGUgY2FzZSBvZiBmYWlsdXJlCgkgIGFzIHRoZSBjYWxsZXIgaXMgdXNpbmcgdGhlIGVsZW1lbnRzIG5hbWUgaW4gdGhlIGVycm9yIG1lc3NhZ2UuIEFsc28gYWRkCgkgIHNvbWUgbW9yZSBpbnB1dCBwYXJhbWV0ZXIgY2hlY2tzIGluIHRoZSBmb3JtIG9mIGdfcmV0dXJuX3ZhbF9pZl9mYWlsCgoyMDEwLTAxLTI1IDEyOjIxOjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIFJldmVydCAiaW5wdXRzZWxlY3RvcjogUHJvdGVjdCBnX29iamVjdF9ub3RpZnkoKSB3aXRoIHRoZSBvYmplY3QncyBtdXRleCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA3ZTA2NzYxNWZmYjU2MTRmMDY4Zjc3NTNjMTBkZGU5OWFmZTQ5YzNjLCBpdCdzIGNhdXNpbmcKCSAgZGVhZGxvY2tzIHdpdGggcGxheWJpbjIuCgoyMDEwLTAxLTI1IDEyOjEyOjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSAgZGF0YXVyaXNyYzogUmVtb3ZlIHJvbGUgYXR0cmlidXRlIGZyb20gbGlua3MKCjIwMTAtMDEtMjUgMTE6NTY6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJICBkYXRhdXJpc3JjOiBBZGQgZG9jcyBhbmQgaW50ZWdyYXRlIGludG8gYnVpbGQgc3lzdGVtCgkgIEZpeGVzIGFnYWluIGJ1ZyAjNTk2ODg1LgoKMjAxMC0wMS0yNSAxMToxMjo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGF0YXVyaXNyYy9NYWtlZmlsZS5hbToKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmg6CgkgIGRhdGF1cmlzcmM6IEFkZCBkYXRhOiBVUkkgc291cmNlIGVsZW1lbnQKCSAgVGhpcyBpcyBzbGlnaHRseSBiYXNlZCBvbiB0aGUgV2ViS2l0IGRhdGE6IFVSSSBzb3VyY2UKCSAgYnV0IHN1cHBvcnRzIG1vcmUgcGFydHMgb2YgUkZDIDIzOTcuCgkgIEZpeGVzIGJ1ZyAjNTk2ODg1LgoKMjAxMC0wMS0yNSAwNzo0Mjo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9kYXRhdXJpc3JjL01ha2VmaWxlLmFtOgoJICBkYXRhdXJpc3JjOiBBZGQgZGlyZWN0b3J5IGZvciBkYXRhOiBVUkkgc291cmNlCgoyMDEwLTAxLTI1IDExOjM2OjQ4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsdjI6IGNyZWF0ZSB2YWxpZCBnb2JqZWN0IHByb3BlcnR5IG5hbWVzLiBGaXhlcyAjNjAyNTI4CgkgIFdlIGNhbm5vdCB1c2UgdGhlIG5hbWVzIGFzIHdlIGdldCB0aGVtIGZyb20gbHYyIGZvciB0aGUgZ3BhcmFtc3BlYyBuYW1lLCBvbmx5CgkgIGZvciBuaWNrL2JsdXJiLiBBcHBseSBzYW1lIGFsZ29yaXRobXMgbGlrZSBlbHNld2hlcmUgKGxhZHNwYSkgZm9yIG5hbWUuCgoyMDEwLTAxLTI1IDExOjQ5OjQ2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbXhmL214ZnVwLmM6CgkgIG14ZjogYWRkIGEgcmV0dXJuIHRvIGZpeCB0aGUgYnVpbGQgd2hlbiB0dXJuaW5nIGFzc2VydCBvZmYKCjIwMTAtMDEtMjUgMTE6NDg6MjkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJKiBnc3QvbXhmL214ZnVwLmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmV2ZXJ0ICJteGY6IGFkZCBhIHJldHVybiB0byBmaXggdGhlIGJ1aWxkIHdoZW4gdHVybmluZyBhc3NlcnQgb2ZmIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDY4Y2E2MmIzNjlmYzFiNzdhZGFlODVkOWQ4MDU0NTdmZTRlM2I1NjIuCgoyMDEwLTAxLTIyIDE3OjQ1OjIwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuYzoKCSogZ3N0L214Zi9teGZ1cC5jOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIG14ZjogYWRkIGEgcmV0dXJuIHRvIGZpeCB0aGUgYnVpbGQgd2hlbiB0dXJuaW5nIGFzc2VydCBvZmYKCjIwMTAtMDEtMjQgMjA6NTM6MDAgKzAxMDAgIEtpcHAgQ2Fubm9uIDxrY2Fubm9uQGxpZ28uY2FsdGVjaC5lZHU+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBQcm90ZWN0IGdfb2JqZWN0X25vdGlmeSgpIHdpdGggdGhlIG9iamVjdCdzIG11dGV4CgkgIFRoaXMgd29ya3MgYXJvdW5kIHRoZSB0aHJlYWQgdW5zYWZldHkgb2YgZ19vYmplY3Rfbm90aWZ5KCkKCSAgRml4ZXMgYnVnICM2MDc1MTMuCgoyMDEwLTAxLTIyIDEwOjQ4OjI2ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogZml4IHdhcm5pbmdzIHVuZGVyIE9TIFguLgoKMjAxMC0wMS0yMiAxMDo0Njo1MSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIERvbid0IGJ1aWxkIG9zeHZpZGVvc3JjIGFuZCBxdHdyYXBwZXIgaW4gU25vdyBMZW9wYXJkLgoJICBRdWlja1RpbWUgaXNuJ3QgYXZhaWxhYmxlIGFueW1vcmUgaW4gT1MgWCBTbm93IExlb3BhcmQuCgoyMDEwLTAxLTIyIDAyOjIzOjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wbm0vZ3N0cG5tdXRpbHMuaDoKCSAgcG5tOiB1c2Ugc2FtZSBtZWRpYSB0eXBlIGFzIG90aGVyIGVsZW1lbnRzCgkgIGdka3BpeGJ1ZiBhbmQgb3VyIG5ldyB0eXBlZmluZGVyIGluIC1iYXNlIHVzZSBpbWFnZS94LXBvcnRhYmxlLSouCgoyMDEwLTAxLTIyIDAyOjIyOjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkgIHBubTogbWFrZSBlbGVtZW50IGRldGFpbHMgYSBiaXQgbW9yZSBkZXNjcmlwdGl2ZQoKMjAxMC0wMS0yMiAwMjoxOToyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcG5tL2dzdHBubS5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5oOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5oOgoJKiBnc3QvcG5tL2dzdHBubXV0aWxzLmM6CgkqIGdzdC9wbm0vZ3N0cG5tdXRpbHMuaDoKCSAgcG5tOiBhZGQgY29weXJpZ2h0IG5vdGljZQoKMjAxMC0wMS0yMiAwMjoxMDowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcG5tL2dzdHBubS5jOgoJICBwbm06IG1vdmUgdHlwZWZpbmRpbmcgaW50byAtYmFzZQoKMjAxMC0wMS0xMSAwMToxODoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJICB0ZXN0czogcmVmYWN0b3Igd2VpcmQgYnVzIHN5bmMgaGFuZGxlciBjb2RlIGluIGNhbWVyYWJpbiBleGFtcGxlCgoyMDEwLTAxLTIxIDE4OjExOjM0ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJICBmbGl0ZTogYnVpbGQgYW5kIGRpc3QgZmxpdGUgcGx1Z2luCgkgIGZpeGluZyAibWFrZSBkaXN0IgoKMjAxMC0wMS0yMSAxNTo1ODoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkgIG14ZjogQ29ycmVjdGx5IGluaXRpYWxpemUgbWVtb3J5CgoyMDEwLTAxLTIwIDEzOjMwOjQ4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5oOgoJKiBleHQvemJhci9nc3R6YmFyLmg6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuaDoKCSogZ3N0L3F0bXV4L2Rlc2NyaXB0b3JzLmM6CgkqIGdzdC9xdG11eC9kZXNjcmlwdG9ycy5oOgoJKiBnc3QvcXRtdXgvcHJvcGVydGllcy5jOgoJICBbY2xlYW51cF0gVmFyaW91cyBzdHlsZSBhbmQgY2xlYW51cHMKCSAgVmFyaW91cyBmaXhlcyBmb3IgZ3RrLWRvYyB3YXJuaW5ncyBhbmQgbWFraW5nIGZ1bmN0aW9ucyB3aXRob3V0CgkgIGFyZ3VtZW50cyB0YWtlIHZvaWQgYXMgcGFyYW1ldGVyLgoKMjAxMC0wMS0yMCAxMzoyOTo1MiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBbb3NzNF0gRml4IGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgdW51c2VkIHJldHVybiB2YWx1ZQoKMjAxMC0wMS0yMCAwMDo1NDo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDM1OGNmNWMgdG8gMTVkNDdhNgoKMjAxMC0wMS0xOCAxMDo1Nzo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJICBjZHhhcGFyc2U6IEZpeCBidWZmZXIgbGVhawoJICBGaXhlcyBidWcgIzYwNzI4NS4KCjIwMTAtMDEtMTYgMTU6MzI6NDcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBGaXggY2hhbm5lbCBsYXlvdXQKCSAgQWRqdXN0ZWQgdGhlIGNoYW5uZWwgbWFwcGluZ3MgdG8gYWdyZWUgd2l0aCB0aGUgZGVmYXVsdCBjaGFubmVsIG1hcHBpbmdzCgkgIGluIHRoZSBzcGVjLCB3aGljaCBpcyBwcmVzdW1hYmx5IHdoYXQgZmFhYyBpcyB1c2luZy4gIEZpeGVzICM2MDcxMDUuCgoyMDEwLTAxLTE2IDE1OjMyOjAyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSAgZmxpdGU6IGhhbmRsZSBzYW1wbGVzcGVyYnVmZmVyCgoyMDEwLTAxLTE2IDEyOjQzOjQzIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZmxpdGUvTWFrZWZpbGUuYW06CgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZS5jOgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkgIGZsaXRlOiBBZGQgZmxpdGV0ZXN0c3JjCgkgIEZsaXRlIGlzIGEgc3BlZWNoIHN5bnRoZXNpemVyIGxpYnJhcnkgKEJTRC1pc2ggbGljZW5zZSkuICBUaGlzIGVsZW1lbnQKCSAgbmVnb3RpYXRlcyBhIChwb3NzaWJseSkgbXVsdGljaGFubmVsIGF1ZGlvIHN0cmVhbSwgYW5kIHRoZW4gY29udGludWFsbHkKCSAgb3V0cHV0cyBidWZmZXJzIG5hbWluZyB0aGUgbnVtYmVyIGFuZCBwb3NpdGlvbiBvZiB0aGUgY2hhbm5lbC4gIEl0J3MKCSAga2luZGEgY3JhcHB5LCBidXQgSSBuZWVkZWQgaXQgZm9yIHRlc3RpbmcgcHVycG9zZXMuCgoyMDEwLTAxLTE2IDE3OjAyOjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogTWFrZSBzdXJlIHRoYXQgcHJvcGVydHkgbmFtZXMgYWx3YXlzIHN0YXJ0IHdpdGggYSBsZXR0ZXIKCSAgT3RoZXJ3aXNlIEdMaWIgdGhyb3dzIGFzc2VydGlvbnMKCjIwMTAtMDEtMTYgMTY6NTI6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBSZXBsYWNlIGZsb2F0aW5nIHBvaW50IGFyaXRobWV0aWMgaW4gdGhlIGlubmVyIHByb2Nlc3NpbmcgbG9vcHMgYnkgaW50ZWdlciBhcml0aG1ldGljCgoyMDEwLTAxLTE2IDEzOjA1OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogT25seSBhY2NlcHQgc3BlY2lmaWMgY2hhbm5lbCBsYXlvdXRzIGFzIHJlcXVpcmVkIGJ5IEFBQwoJICBGaXhlcyBidWcgIzYwNzEwNS4KCjIwMTAtMDEtMTYgMTE6NDE6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IEZpeCBidWlsZCBhbmQgc2lnbmFsIGNvbm5lY3Rpb24gZm9yIEd0a0J1aWxkZXIgc3R1ZmYKCjIwMTAtMDEtMTYgMTE6MjY6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IENoZWNrIGZvciBnbW9kdWxlLWV4cG9ydC0yLjAgZm9yIEd0a0J1aWxkZXIKCjIwMTAtMDEtMTYgMTE6MjM6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICBpY2xlczogTGluayB3aXRoIEdUSysKCjIwMTAtMDEtMTYgMTE6MTY6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFJlcXVpcmUgR1RLKyA+PSAyLjEyIGZvciBHdGtCdWlsZGVyCgkgIEdUSysgMi4xMiBpcyBhbHJlYWR5IG9sZGVyIHRoYW4gMiB5ZWFycyBzbyB0aGlzIHNob3VsZG4ndAoJICBiZSBhIHByb2JsZW0gZm9yIGFueWJvZHkuIEFsc28gaXQncyBvbmx5IHVzZWQgaW4gZXhhbXBsZXMuCgoyMDEwLTAxLTE2IDA2OjU3OjI2ICswMTAwICBKYXZpZXIgSmFyZMOzbiA8amphcmRvbkBnbm9tZS5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBwby9QT1RGSUxFUy5za2lwOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuZ2xhZGU6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYudWk6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmdsYWRlOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS51aToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuZ2xhZGU6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci51aToKCSAgdGVzdHM6IFBvcnQgZnJvbSBsaWJnbGFkZSB0byBHdGtCdWlsZGVyCgkgIEZpeGVzIGJ1ZyAjNjAxMTA4LgoKMjAxMC0wMS0xNSAyMTozNDowMiArMDEwMCAgSnVsaWVuIE1vdXR0ZSA8ZG9scGh5QGltYWMuKG5vbmUpPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBkb24ndCBzZXQgYW4gaW52YWxpZCBmcmFtZXJhdGUuCgkgIFdoZW4gZml4ZWRfdm9wX3JhdGUgaXMgbm90IHNldCB3ZSBjYW4gbm90IHNldCBhIGZyYW1lcmF0ZSBiYXNlZCBvbgoJICB2b3BfdGltZV9pbmNyZW1lbnRfcmVzb2x1dGlvbiBhcyBpdCB3b3VsZCBtb3N0IGxpa2VseSBiZSB3cm9uZy4KCSAgRG9uJ3Qgc2V0IGFueSBmcmFtZXJhdGUgb24gdGhlIGNhcHMgaW4gdGhhdCBjYXNlLgoKMjAxMC0wMS0xNCAwODowOTowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBY3R1YWxseSB1c2UgbmV3IGNhcHMgaW5mbyBvbiByZW5lZ290aWF0aW9uCgkgIEZvbGxvd2luZyB0aGUgcHJldmlvdXMgcXRtdXggY29tbWl0LCB0aGlzIHBhdGNoIHRyaWVzCgkgIHRvIHVzZSB0aGUgbmV3IGluZm8gYWRkZWQgdG8gdGhlIGNhcHMgdG8gZmlsbCB0aGUgJ3RyYWsnCgkgIGF0b20ncyBmaWVsZHMgYW5kIGNoaWxkcmVuIGF0b21zLiBUaGlzIHdheSBxdG11eCB3aWxsCgkgIHVzZSB0aGUgbGF0ZSBhZGRlZCAnY29kZWNfZGF0YScgd2hlbiBoMjY0cGFyc2UgYWRkcwoJICBpdCBpbiB0aGUgZm9sbG93aW5nIHBpcGVsaW5lOgoJICB2aWRlb3Rlc3RzcmMgbnVtLWJ1ZmZlcnM9MjAwICEgeDI2NGVuYyBieXRlLXN0cmVhbT10cnVlICEgXAoJICBoMjY0cGFyc2Ugb3V0cHV0LWZvcm1hdD0wICEgcXRtdXggISBcCgkgIGZpbGVzaW5rIGxvY2F0aW9uPXRlc3QubW92CgoyMDEwLTAxLTEzIDIzOjMzOjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IERvIGNhcHMgcmVuZWdvdGlhdGlvbiB3aGVuIGl0IG9ubHkgYWRkcyBmaWVsZHMKCSAgUXRtdXggY2FuIGFjY2VwdCBjYXBzIHJlbmVnb3RpYXRpb24gaWYgdGhlIG5ldyBjYXBzIGlzIGEKCSAgc3VwZXJzZXQgb2YgdGhlIG9sZCBvbmUsIG1lYW5pbmcgdXBzdHJlYW0gYWRkZWQgbmV3IGluZm8gdG8KCSAgdGhlIGNhcHMuIFRoaXMgcGF0Y2ggc3RpbGwgZG9lc24ndCBtYWtlIHF0bXV4IHVwZGF0ZSBhbnkKCSAgYXRvbXMgaW5mbyBmcm9tIHRoZSBuZXcgaW5mbywgYnV0IGF0IGxlYXN0IGl0IGRvZXNuJ3QKCSAgcmVqZWN0IHRoZSBuZXcgY2FwcyBhbnltb3JlLgoJICBBIHBpcGVsaW5lIHRoYXQgcmVwcm9kdWNlcyB0aGlzIHVzZSBjYXNlIGlzOgoJICB2aWRlb3Rlc3RzcmMgbnVtLWJ1ZmZlcnM9MjAwICEgeDI2NGVuYyBieXRlLXN0cmVhbT10cnVlICEgXAoJICBoMjY0cGFyc2Ugb3V0cHV0LWZvcm1hdD0wICEgcXRtdXggISBcCgkgIGZpbGVzaW5rIGxvY2F0aW9uPXRlc3QubW92CgoyMDEwLTAxLTE0IDEyOjU5OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogSW1wcm92ZSBkZWJ1ZyBvdXRwdXQgYSBiaXQgYW5kIHNpbXBsaWZ5IGNvZGUKCjIwMTAtMDEtMTQgMTI6NTY6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBNYWtlIHN1cmUgdGhhdCB0aGUgdmlkZW8gYnVmZmVyIGlzIHdyaXRhYmxlIGJlZm9yZSB3cml0aW5nIHRvIGl0CgoyMDEwLTAxLTE0IDEyOjQ3OjE1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkgIGFwZXhzaW5rOiBjaGFuZ2Ugdm9sdW1lIHByb3BlcnR5IHRvIGEgZG91YmxlCgkgIENoYW5nZSB0aGUgdm9sdW1lIHByb3BlcnR5IGZyb20gaW50IHRvIGEgZG91YmxlIHNvIHRoYXQgcGxheWJpbjIgY2FuIHVzZSBpdC4KCSAgS2VlcCB0aGUgdm9sdW1lIGludGVybmFsbHkgYXMgYSBwZXJjZW50IGZvciBub3cgd2l0aCB0aGUgZGVmYXVsdCA3NSUgbWFwcGVkIHRvCgkgIGEgdm9sdW1lIG9mIDEuMC4KCSAgc29tZSBjbGVhbnVwcywgYWRkIHNvbWUgRklYTUUgYW5kIGNvbW1lbnRzLgoJICBGaXhlcyAjNjA2ODc4CgoyMDEwLTAxLTEzIDE5OjMwOjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogcHJvdmlkZSByZXF1ZXN0IHBhZHMgdW5kZXIgd2lkZXIgY29uZGl0aW9ucwoJICBGaXhlcyAjNjA2ODU5LgoKMjAxMC0wMS0xMyAxMDozNTowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IE9ubHkgYWNjZXB0IGF2Yy1zYW1wbGUgaDI2NAoJICBxdG11eCBhbmQgbXA0bXV4IHNob3VsZCBvbmx5IGFjY2VwdCBoMjY0IGluIGF2Yy1zYW1wbGUKCSAgZm9ybWF0CgoyMDEwLTAxLTEzIDA5OjQyOjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogQWRkIHN0cmVhbS1mb3JtYXQgdG8gY2FwcwoJICBBZGRzIHRoZSBuZXcgc3RyZWFtLWZvcm1hdCBmaWVsZCB0byBoMjY0cGFyc2UgY2FwcwoJICBGaXhlcyAjNjA2NjYyCgoyMDEwLTAxLTEzIDAwOjM4OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb21tb246CgkgIGJ1aWxkOiBpbmNsdWRlIGNydWZ0Lm1hayBhbmQgYWRkIHJlY2VudGx5LW1lcmdlZCBwbHVnaW5zIHRvIGNydWZ0IGxpc3QKCjIwMTAtMDEtMTIgMjM6NTM6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgbW1zc3JjOiBwb3N0IGVycm9yIG1lc3NhZ2UgaW4gYWRkaXRpb24gdG8gcmVkaXJlY3Qgd2hlbiBjb25uZWN0IGZhaWxzCgkgIFdoZW4gd2UgY2FuJ3QgY29ubmVjdCB0byB0aGUgc2VydmVyLCB3ZSBzaG91bGQgc3RpbGwgcG9zdCBhIHByb3BlcgoJICBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMsIHNvIHRoYXQgYXBwbGljYXRpb25zIHRoYXQgZG9uJ3QgaGFuZGxlIHRoZQoJICByZWRpcmVjdCBtZXNzc2FnZSBnZXQgYSBwcm9wZXIgZXJyb3IgbWVzc2FnZSAoYW5kIGEgaGludCB0byBsb29rIGZvcgoJICB0aGUgcmVkaXJlY3QpLgoJICBGaXhlcyAjNjA2NjM2LgoKMjAxMC0wMS0xMiAxNTo0NToxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IENvcnJlY3RseSByZXdyaXRlIGFsbCBuYWwgcHJlZml4ZXMKCSAgV2hlbiBjb252ZXJ0aW5nIHRvIGJ5dGUtc3RyZWFtIGRvIG5vdCBmb3JnZXQgdG8gcmV3cml0ZQoJICBhbGwgbmFsIHByZWZpeGVzIGluc3RlYWQgb2Ygb25seSB0aGUgZmlyc3Qgb25lLgoKMjAxMC0wMS0xMiAxOTozMzozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IGltcHJvdmUgZmFhYyBjb25maWd1cmF0aW9uCgkgIEluIHBhcnRpY3VsYXIsIGFsaWduIGNvbmZpZ3VyYXRpb24gc29tZSBtb3JlIHdpdGggcmVmZXJlbmNlIGJpbmFyeSBmYWFjLgoJICBGaXhlcyAjNjA2NzI2LgoKMjAxMC0wMS0xMiAxNDo1MTowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9oMjY0LmM6CgkgIG1wZWd0c211eDogRml4IG1pc3Rha2Ugb24gcHJldmlvdXMgY29tbWl0CgkgIFVzZSB0aGUgY29ycmVjdCB2YXJpYWJsZXMgYW5kIHZhcmlhYmxlIGZvcm1hdCBpbiB0aGUgd2FybmluZwoJICBtZXNzYWdlCgoyMDEwLTAxLTEyIDE4OjU1OjUzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBJbml0aWFsaXplIHZhcmlhYmxlcy4KCSAgRml4ZXMgYnVpbGQgb24gJCNAKiggbWFjb3N4CgoyMDEwLTAxLTEyIDE3OjA1OjEzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBBZGQgbmVvbmh0dHBzcmMgdG8gdGhlIGxpc3Qgb2YgZWxlbWVudHMgaWdub3JlZCBmb3Igc3RhdGUtY2hhbmdlCgkgIFNldHRpbmcgbmVvbmh0dHBzcmMgdG8gUEFVU0VEL1BMQVlJTkcgcmVxdWlyZXMgYSBydW5uaW5nIGh0dHAgc2VydmVyIG9uCgkgIGxvY2FsaG9zdC4KCjIwMTAtMDEtMTIgMDk6NTg6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiByZW1vdmUgY29kZWNfZGF0YSBpZiBvdXRwdXQgaXMgYnl0ZXN0cmVhbQoJICBjb2RlY19kYXRhIHNob3VsZCBiZSByZW1vdmVkIGZyb20gdGhlIHNyYyBwYWQgY2FwcyBpZiB0aGUKCSAgb3V0cHV0IGlzIGluIGJ5dGVzdHJlYW0gZm9ybWF0CgkgIEZpeGVzICM2MDY2NTcKCjIwMTAtMDEtMTIgMDk6MzU6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfaDI2NC5jOgoJICBtcGVndHNtdXg6IERvIG5vdCBjcmFzaCBvbiBtaXNpbnRlcnByZXRlZCBoMjY0CgkgIEF2b2lkIGNyYXNoaW5nIHdoZW4gYnl0ZXN0cmVhbSBoMjY0IGlzIGludGVycHJldGVkIGFzIGF2YyBmb3JtYXQKCSAgaDI2NAoJICBGaXhlcyAjNjA2NjU3CgoyMDEwLTAxLTExIDIyOjQxOjU3ICswMzAwICDQ8/Hr4O0gyObh8+vg8u7iIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJICB3aW4zMjogSW5jbHVkZSBjb25maWcuaCBiZWZvcmUgYW55dGhpbmcgZWxzZS4gRml4IG1wZWdkZW11eCBMSUJBREQKCSAgQmVjYXVzZSBjb25maWcuaCBkZWZpbmVzIF9fTVNWQ1JUX1ZFUlNJT05fXywgd2hpY2ggc2hvdWxkIGJlIGRlZmluZWQKCSAgYmVmb3JlIGluY2x1c2lvbiBvZiBhbnkgc3lzdGVtIGhlYWRlci4KCSAgQWxzbyBmaXhlcyBtcGVnZGVtdXggTWFrZWZpbGUuYW0gTElCQUREIHR5cG8uCgkgIEZpeGVzICM2MDY2NjUKCjIwMTAtMDEtMTIgMDA6NDY6MjcgKzAzMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSogZ3N0L2xpYnJmYi92bmNhdXRoLmM6CgkgIGxpYnJmYjogcG9ydCByZmJzcmMgdG8gTWluR1cKCSAgRml4ZXMgIzYwNjY3NwoKMjAxMC0wMS0xMSAxMzoyMDoyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBBbHNvIGFkZCBzdHJlYW0tZm9ybWF0IHRvIHRlbXBsYXRlIGNhcHMKCSAgRG8gbm90IGZvcmdldCB0byBhZGQgc3RyZWFtLWZvcm1hdCB0byB0ZW1wbGF0ZSBjYXBzCgkgIG9mZiBhYWNwYXJzZQoKMjAxMC0wMS0xMSAxMzoxMzo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJICBSZW5hbWUgYWFjJ3Mgc3RyZWFtLWZvcm1hdCAnbm9uZScgdG8gJ3JhdycKCSAgUmVuYW1lcyBhYWMncyBzdHJlYW0tZm9ybWF0IGZyb20gcHJldmlvdXMgY29tbWl0cyBmcm9tIG5vbmUgdG8KCSAgcmF3CgoyMDEwLTAxLTExIDE2OjA5OjM4ICswMTAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBpbmNsdWRlIDx3aW5kb3dzLmg+IGludG8gbXNhY20uaCBjb25mdGVzdAoKMjAxMC0wMS0xMSAxMjoxMDowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogdXBkYXRlIHRlc3RzIHRvIHN0cmVhbS1mb3JtYXQgY2hhbmdlcwoJICBVcGRhdGVzIGFhY3BhcnNlIHVuaXQgdGVzdHMgdG8gY2hlY2sgZm9yIHN0cmVhbS1mb3JtYXQKCSAgY29ycmVjdG5lc3MgYXMgd2VsbC4KCjIwMTAtMDEtMTEgMTA6NTE6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogQWRkIHN0cmVhbS1mb3JtYXQgdG8gb3V0cHV0IGNhcHMKCSAgQWRkcyBzdHJlYW0tZm9ybWF0IGZpZWxkIHRvIG91dHB1dCBjYXBzCgoyMDEwLTAxLTExIDEwOjM0OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IE9ubHkgYWNjZXB0IHN0cmVhbS1mb3JtYXQ9J25vbmUnIGFhYwoJICBPbmx5IGFjY2VwdCByYXcgYWFjIHN0cmVhbXMgKHN0cmVhbS1mb3JtYXQ9bm9uZSkgdG8gYXZvaWQKCSAgZ2VuZXJhdGluZyBpbnZhbGlkIGZpbGVzLgoJICBGaXhlcyAjNjA0OTI1CgoyMDEwLTAxLTExIDA5OjQ4OjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogQWRkIGZvcm1hdCB0byBvdXRwdXQgY2FwcwoJICBBZGRzICdzdHJlYW0tZm9ybWF0JyB0byBvdXRwdXQgY2FwcyB0byBpbmZvcm0gaWYgdGhlIHN0cmVhbSBpcwoJICBhZHRzIG9yIHJhdy4gVGhpcyBtYWtlcyBpdCBwb3NzaWJsZSBmb3IgbXV4ZXJzIHRvIHJlamVjdAoJICBpbnB1dCBzdHJlYW1zIG9uIGNhcHMgaWYgdGhleSBkb24ndCBzdXBwb3J0IGFkdHMgaW5zdGVhZCBvZgoJICBnZW5lcmF0aW5nIGEgaW52YWxpZCBmaWxlLgoJICBGaXhlcyAjNjA0OTI1CgoyMDEwLTAxLTExIDAxOjAyOjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgcmVzaW5kdmQ6IGZpeCB1bmFsaWduZWQgYWNjZXNzIGluIHRoaXMgY29weSBvZiBtcGVnZGVtdXggYXMgd2VsbAoJICBTZWUgIzYwNjM3MS4KCjIwMTAtMDEtMTEgMDA6NTk6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJICB2bW5jOiB1c2UgZXhpc3RpbmcgbWFjcm9zIHRvIGF2b2lkIGFsaWdubWVudCBpc3N1ZXMKCjIwMTAtMDEtMTEgMDA6NTc6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIHJmYnNyYzogdXNlIGV4aXN0aW5nIG1hY3JvcyB0byBhdm9pZCBhbGlnbm1lbnQgaXNzdWVzCgoyMDEwLTAxLTExIDAwOjI0OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJICBhc2ZtdXg6IGZpeCBhbGlnbm1lbnQgYW5kIGVuZGlhbm5lc3MgaXNzdWUKCjIwMTAtMDEtMTEgMDA6MTY6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJICB6YmFyOiB1c2UgR1NUX01BS0VfRk9VUkNDIHRvIGNyZWF0ZSBGT1VSQ0MKCjIwMTAtMDEtMTAgMTA6MDY6NTUgLTAzMDAgIExpbnFpYW5nIFB1IDxwdWxxLnVzdGNAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBmaXggYWxsaWdubWVudCBpc3N1ZQoJICBVc2UgR1NUX1JFQURfVUlOVDMyX0JFIGluc3RlYWQgb2YgR1VJTlQzMl9GUk9NX0JFIHRvCgkgIGZpeCBpbnQgYWxsaWdubWVudCBpc3N1ZXMgb24gQVJNCgkgIEZpeGVzICM2MDYzNzEKCjIwMTAtMDEtMDggMTY6MDY6MzggKzAwMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBvbmx5IHZpZGVvIGNhbiBoYXZlIG5vbi1kZWx0YS11bml0CgoyMDA5LTEyLTE4IDE0OjE0OjE3ICswMTAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJICBtcGVndHNtdXg6IG1hcmsgZGVsdGEtdW5pdCBvbiBvdXRnb2luZyBidWZmZXJzCgkgIFNpZ25lZC1vZmYtYnk6IE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKMjAxMC0wMS0wNyAxNzo1NDoyOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IG9wdGltaXplIHNyYyBjYXBzIHVwZGF0aW5nCgoyMDEwLTAxLTA3IDE3OjQ3OjAzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZml4IGZyYW1lcmF0ZSBjYWxjdWxhdGlvbgoJICAuLi4gYW5kIGFsc28gcmVtb3ZlIGEgc3VwZXJmbHVvdXMgZHVwbGljYXRlIGRlYnVnIHN0YXRlbWVudC4KCjIwMTAtMDEtMDcgMTc6NDI6MjQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggcmVncmVzc2lvbiBpbiBvdXRwdXQgYnVmZmVyIHRpbWVzdGFtcGluZwoJICBTcGVjaWZpY2FsbHksIHByb3Blcmx5IG1hcmsgYSBidWZmZXIgKE5BTFUgb3IgQVUpIHRvIHN0YXJ0IGEgZnJhbWUgb3Igbm90LgoKMjAxMC0wMS0wNiAxMToyMDowNiAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGF2b2lkIGNyYXNoIGlmIHZvcyA8IDUgYnl0ZXMuCgoyMDA5LTEyLTEzIDEzOjUzOjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiBmaXggdHlwbyBpbiBwcm9wZXJ0eSBkZXNjcmlwdGlvbgoKMjAwOS0xMi0xMyAxMzo0OTozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggbGFuZ3VhZ2UgZXh0cmFjdGlvbgoJICBUaGUgZGVzY3JpcHRvciBjb250YWlucyBJU08gNjM5LTIgbGFuZ3VhZ2UgY29kZXMsIGJ1dCB3ZSB3YW50CgkgIHR3by1sZXR0ZXIgSVNPIDYzOS0xIGNvZGVzIGluIEdTVF9UQUdfTEFOR1VBR0UuCgoyMDA5LTEyLTA1IDE4OjE2OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkgIGV4YW1wbGVzOiBtYWtlIGNhbWVyYWJpbiB0ZXN0IGFwcGxpY2F0aW9uIGhhbmRsZSBlcnJvcnMgd2hlbiBzdGFydGluZyB1cAoJICBJbnN0ZWFkIG9mIGhhbmdpbmcgZm9yZXZlciBpbiBhIF9nZXRfc3RhdGUoKSBpbiBjYXNlIGFuIGVycm9yIG9jY3VycyB3aGVuCgkgIHN0YXJ0aW5nIHVwIGNhbWVyYWJpbiwgYmFpbCBvdXQgYW5kIHByaW50IGFuIGVycm9yIG1lc3NhZ2UuIEFsc28gcmVtb3ZlCgkgIHVubmVjZXNzYXJ5IF9nZXRfc3RhdGUoKSB3aGVuIHNodXR0aW5nIGRvd24gdGhlIHBpcGVsaW5lLgoKMjAxMC0wMS0wNSAxODo0NDo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSAgYXVkaW9wYXJzZXJzOiBhZGQgc29tZSBtaXNzaW5nIGRvY3VtZW50YXRpb24gcGllY2VzCgoyMDEwLTAxLTA1IDE2OjEwOjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJICBmYWFjOiBkb2N1bWVudGF0aW9uIGZpeAoKMjAxMC0wMS0wNSAxNTowNTowNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBkb2N1bWVudGF0aW9uIGZpeGVzCgoyMDEwLTAxLTA1IDE1OjA0OjM4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogYWRkIGRvY3VtZW50YXRpb24KCjIwMTAtMDEtMDUgMTQ6NDg6NDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IGFkZCBkb2N1bWVudGF0aW9uCgoyMDA5LTEyLTIxIDE4OjI5OjQzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogcGVyZm9ybSBhZGRpdGlvbmFsIGZyYW1lIGNoZWNrcyB3aGVuIHJlc3luY2luZwoKMjAxMC0wMS0wNSAxNjozNTo1MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGZpeCAobXVsdGlwbGUgY2hhbm5lbCkgZnJhbWUgcGFyc2luZwoKMjAxMC0wMS0wNSAxNjozNTo0NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGRlY2xhcmUgdW5wYXJzZWQgaW5wdXQgYW5kIHBhcnNlZCBvdXRwdXQKCjIwMDktMTItMjEgMTg6MTk6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogZml4IHNjYW5uaW5nIGZvciBuZXh0IHN5bmN3b3JkCgoyMDA5LTEyLTIxIDE4OjE4OjM5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYWRqdXN0IHNlZWsgaGFuZGxpbmcgYW5kIG5ld3NlZ21lbnQgc2VuZGluZwoJICBQZXJmb3JtIHNhbml0eSBjaGVjayBvbiB0eXBlIG9mIHNlZWssIGFuZCBvbmx5IHBlcmZvcm0gb25lIHRoYXQgaXMKCSAgYXBwcm9wcmlhdGVseSBzdXBwb3J0ZWQuICBBZGp1c3QgZG93bnN0cmVhbSBuZXdzZWdtZW50IGV2ZW50CgkgIHRvIGZpcnN0IGJ1ZmZlciB0aW1lc3RhbXAgdGhhdCBpcyBzZW50IGRvd25zdHJlYW0uCgoyMDA5LTEyLTIxIDExOjU5OjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogbWlub3IgcmVmYWN0b3IgY2xlYW51cAoJICBBbHNvIGFkZCBzb21lIGRlYnVnIGxvZ2dpbmcuCgoyMDA5LTEyLTE4IDIxOjA1OjExICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogbG9jYXRlIG5leHQgc3luYyBjb2RlIG1vcmUgZWZmaWNpZW50bHkKCjIwMDktMTItMTggMjE6MDQ6MTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBiYXNlcGFyc2UgdGFrZXMgY2FyZSBvZiBoYW5kbGluZyBsZWZ0b3ZlciBwaWVjZXMKCjIwMDktMTItMTggMjE6MDI6NDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBpbXBsZW1lbnQgbGVmdG92ZXIgZHJhaW5pbmcgaW4gcHVsbCBtb2RlCgoyMDA5LTEyLTE3IDEyOjQ1OjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogc2V0IF9PRkZTRVQgYW5kIF9PRkZTRVRfRU5EIG9uIG91dGdvaW5nIGJ1ZmZlcnMKCjIwMDktMTItMTcgMTI6NDQ6MjAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSogZ3N0L2ZsYWNwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RmbGFjLmM6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0ZmxhY3BhcnNlLmg6CgkgIGF1ZGlvcGFyc2VyczogbW92ZSAnZmxhY3BhcnNlJyBpbnRvIGl0CgoyMDA5LTEyLTE2IDE4OjM4OjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJvdmlkZSBkZWZhdWx0IGNvbnZlcnNpb24gdXNpbmcgYnBzIGlmIG5vIGZwcyBhdmFpbGFibGUKCSAgQWxzbyBzdG9yZSBlc3RpbWF0ZWQgZHVyYXRpb24gYXMgc3VjaCwgcmF0aGVyIHRoYW4gcHJldGVuZGluZyBvdGhlcndpc2UKCSAgKGUuZy4gc2V0IGJ5IHN1YmNsYXNzKS4KCjIwMTAtMDEtMDQgMTA6MjM6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgbW9kcGx1ZzogRml4IGluZGVudGlvbgoKMjAwOS0xMi0yOSAxNzoyODowNiArMDIwMCAgS2FqLU1pY2hhZWwgTGFuZyA8bWlsYW5nQHRhbC5vcmc+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBtb2RwbHVnOiBBbGxvdyAxLTIgY2hhbm5lbHMgZm9yIDE2IGFuZCAzMiBiaXQgZGVwdGhzLCBub3Qgb25seSBmb3IgOCBiaXRzLgoJICBGaXhlcyBidWcgIzYwNTcyMS4KCjIwMDktMTItMjkgMTY6MDc6NTkgKzAyMDAgIEthai1NaWNoYWVsIExhbmcgPG1pbGFuZ0B0YWwub3JnPgoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5oOgoJICBtb2RwbHVnOiBBbGxvdyAzMiBiaXQgZGVwdGgsIG1vZHBsdWdzIG5hdGl2ZSBmb3JtYXQuCgkgIEZpeGVzIGJ1ZyAjNjA1NzIwLgoKMjAxMC0wMS0wMiAxNzozMzo1NyArMDEwMCAgQXJuYXVkIFBhdGFyZCA8YXJuYXVkLnBhdGFyZEBydHAtbmV0Lm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEhhbmRsZSBlYWMzIGluIFBNVAoJICBXaGVuIHRoZSBzdHJlYW0gdHlwZSBpcyBzZXQgdG8gcHJpdmF0ZSBkYXRhLCBnc3QtbXBlZ3RzZGVtdXggaXMgdHJ5aW5nIHRvIGZpbmQKCSAgYXVkaW8gZGVzY3JpcHRvcnMgaW4gUE1UIGFuZCBsb29rIGZvciBBQzMgKHRhZyAweDZhKSBidXQgZG9lc24ndCBsb29rIGZvciBFQUMzCgkgICh0YWcgMHg3YSkuIEhhbmRsZSB0aGlzIGNhc2UgdG9vLgoJICBGaXhlcyBidWcgIzYwNTkwNC4KCjIwMDktMTItMzAgMjE6NTA6MzIgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggY2FwcyBoYW5kbGluZyBpbiBfdXBkYXRlX3NyY19jYXBzLgoKMjAwOS0xMi0yOCAxMTozNDozNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBhbHNvIGFkZCAuaCBmaWxlIGNoYW5nZXMgdG8gdW5icmVhayB0aGUgYnVpbGQKCjIwMDktMTItMjcgMjM6NTE6NTAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogdXNlIGNvcnJlY3QgbmFtZXMgZnJvbSB0ZW1wbGF0ZSBmb3IgcmVxdWVzdCBwYWRzCgkgIFRoZSBwYWRzIHdoZXJlIG5hbWVzIHBhZDAsIHBhZDEsIC4uLgoKMjAwOS0xMi0yNyAyMzozMjo1OCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBtb3ZlIGVycm9ycyBfbmV3X3BhZCB0byB0aGUgZW5kCgoyMDA5LTEyLTIxIDE5OjEyOjQyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNDdjYjIzYSB0byAxNGNlYzg5CgoyMDA5LTEyLTIxIDEzOjU4OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogQWNjZXB0IG5vbi1wYWlyZWQgdWludCB0YWdzCgkgIEFkZHMgc3VwcG9ydCBmb3IgdW5wYWlyZWQgdW5zaWduZWQgaW50ZXJnZXIgdGFncwoKMjAwOS0xMi0yMSAxMjowNTozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogQWRkcyBuZXcgdGFncwoJICBNYXBzIG1vcmUgdGFncyB0aGF0IGFyZSBhbHJlYWR5IHBvc3RlZCBieSBxdGRlbXV4CgkgIEZpeGVzICM1OTk3NTkKCjIwMDktMTItMTggMTY6MTY6NDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBvbmx5IHJhdyBvdXRwdXQgbmVlZHMgY29kZWNfZGF0YSBpbiBjYXBzCgoyMDA5LTEyLTE4IDEzOjMwOjI5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogY2hlY2sgZm9yIHJlbWFpbmluZyBkYXRhIHdoZW4gZHJhaW5pbmcgaW4gcHVzaCBtb2RlCgoyMDA5LTEyLTE4IDEzOjMwOjA3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZml4IHB1bGwgbW9kZSBjYWNoZSBzaXplIGNvbXBhcmlzb24KCjIwMDktMTItMTggMTM6MDE6MTcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUuCgoyMDA5LTEyLTE3IDExOjA0OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiBJbnRlcm5hbCBzaW5rIGltcHJvdmVtZW50cwoJICBEb2VzIHNvbWUgZ2VuZXJhbCBpbXByb3ZlbWVudHMgd2l0aCB0aGUgaW50ZXJuYWwgc2luayBoYW5kbGluZy4KCSAgMSkgRG8gbm90IHJlbW92ZSBhbmQgcmUtYWRkIHRoZSBnaG9zdHBhZCB3aGVuIGNoYW5naW5nCgkgIGludGVybmFsIHNpbmsKCSAgMikgT25seSBpbnN0YW50aWF0ZSB0aGUgZGVmYXVsdCBzaW5rIHdoZW4gY2hhbmdpbmcgZnJvbSBOVUxMCgkgIHRvIFJFQURZIGlmIHRoZXJlIGlzIG5vIG90aGVyIGF2YWlsYWJsZQoJICAzKSBBdm9pZCBjaGFuZ2luZyB0aGUgaW50ZXJuYWwgc2luayBpZiBub3Qgb24gTlVMTCBzdGF0ZQoJICBGaXhlcyAjNTk4NjgyCgoyMDA5LTEyLTE3IDA3OjU0OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiBNaW5vciBmaXhlcwoJICBEb3duZ3JhZGUgYSB3YXJuaW5nIG1lc3NhZ2UgdG8gZGVidWcuIFJlbW92ZSBhbgoJICBhbHJlYWR5IGZpeGVkIEZJWE1FIGFuZCBhZGQgYSBub3RlIGFib3V0IChub3QtKXVzaW5nCgkgIGZwc2Rpc3BsYXlzaW5rIGluIGF1dG92aWRlb3NpbmsuIENoYW5nZSB0aGUgY3JlYXRlZAoJICBnaG9zdHBhZCB0byB1c2UgdGhlIG5hbWUgInNpbmsiIGFzIGl0IGlzIGFkdmVydGlzZWQgaW4KCSAgdGhlIHBhZCB0ZW1wbGF0ZS4KCjIwMDktMTItMTcgMTQ6NDY6MDEgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJICBVcGRhdGUgc3BlYyBmaWxlIGFuZCBmaXggYWMzcGFyc2VyIGhlYWRlciBsaXN0aW5nIGluIE1ha2VmaWxlLmFtCgoyMDA5LTEyLTE3IDAxOjA1OjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICB0ZXN0czogdHJ5IHRvIGZpeCAnbWFrZSBkaXN0JyB3aGVuIGNvZyBpcyBub3QgaW5zdGFsbGVkCgoyMDA5LTEyLTE2IDE4OjMyOjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiBmaXggc2V0dGluZyBzeW5jIG9uIGNoaWxkIGJpbgoJICBVc2UgR1NUX0lTX0JJTiBpbnN0ZWFkIG9mIEdfT0JKRUNUX1RZUEUgdG8gY2hlY2sgaWYgdGhlCgkgIGludGVybmFsIHNpbmsgaXMgYSBiaW4uIFVzaW5nIHRoZSBsYXRlciB3b24ndCB3b3JrIHdoZW4KCSAgdGhlIHNpbmsgaXMgbm90IGEgYmluIGRpcmVjdGx5IChidXQgaW5oZXJpdHMgZnJvbSBvbmUsIGxpa2UKCSAgYXV0b3ZpZGVvc2luaykuCgkgIEZpeGVzICM2MDQyODAKCjIwMDktMTItMTUgMTM6MDg6MDggKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxAYmFzZS1hcnQubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6IGNoZWNrIHRoZSBzeW5jIHByb3BlcnR5IGV4aXN0cyBvbiBlbWJlZGRlZCBzaW5rKHMpCgkgIEZvbGxvdy11cCBvbiA0MTExZDYzMjFmMTQwZWI3NzkwNjIwYWI0MmU1Y2YxZDk0MTNiNTZhLCB0aGUgdmlkZW8KCSAgc2luayhzKSB1c2VkIGJ5IGZwc2Rpc3BsYXlzaW5rIG1pZ2h0IG5vdCBoYXZlIHRoZSBzeW5jIHByb3BlcnR5LiBTbyB3ZQoJICBjaGVjayBpdHMgZXhpc3RlbmNlIHRvIGF2b2lkIHdhcm5pbmcgZnJvbSBnX29iamVjdF9zZXQoKSBhdCBydW50aW1lLgoJICBGaXhlcyAjNjA0MjgwCgoyMDA5LTEyLTEwIDIyOjIwOjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogc3VwcG9ydCBtb3JlIG9mIGoyawoJICBSZWFkcyB0aGUgbmV3IGNhcHMgYWRkZWQgdG8gcXRkZW11eCBieSBjb21taXQKCSAgYzkxN2Q2NWU2ZGYwYjVkNTg1ZjkwNWM3YWQ3OGE4YTBhNDRiMmNiMAoJICBhbmQgYWRkcyBpdHMgY29ycmVzcG9uZGluZyBhdG9tcy4KCSAgQWxzbyBhZGRzIHN1cHBvcnQgZm9yIGltYWdlL3gtanBjIGFzIGl0IGlzIHRoZSBzYW1lCgkgIGFzIGltYWdlL3gtanAyLCBleGNlcHQgdGhhdCB0aGUgYnVmZmVycyBuZWVkIHRvIGJlCgkgIGJveGVkIGluc2lkZSBhIGpwMmMgaXNvbSBib3ggYmVmb3JlIG11eGluZy4gVG8gc29sdmUKCSAgdGhpcyB0aGUgUVRQYWRzIG5vdyBoYXZlIGEgZnVuY3Rpb24gdGhhdCAoaWYKCSAgbm90IE5VTEwpIGlzIGNhbGxlZCB3aGVuIGEgYnVmZmVyIGlzIGNvbGxlY3RlZC4gVGhpcwoJICBmdW5jdGlvbiByZXR1cm5zIGEgcmVwbGFjZW1lbnQgdG8gdGhlIGN1cnJlbnQgY29sbGVjdGVkCgkgIGJ1ZmZlci4KCSAgRml4ZXMgIzU5ODkxNgoKMjAwOS0xMi0xNCAxNjoxNjowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJICBjb2c6IFRhYmxlIGdlbmVyYXRpb24gdXRpbGl0eSBuZWVkcyB0byBsaW5rIHRvIC1sbSB0b28KCjIwMDktMTItMTQgMTY6MDg6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY29nL2NvZy5vcmM6CgkgIGNvZzogRG9uJ3QgYnVpbGQgb3JjX21lbWNweSgpIGFuZCBkZXBlbmQgb24gb3JjID49IDAuNC4zIGZvciBvcmNfbWVtY3B5KCkKCSAgSW4gdGhlIGxhdGVzdCByZWxlYXNlIHRoaXMgZnVuY3Rpb24gaXMgYWxyZWFkeSBkZWZpbmVkLgoKMjAwOS0xMi0xMCAxNjo1MzoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IE1hcHMgJ2NsYXNzaWZpY2F0aW9uJyB0YWcgZm9yIDNncHAgZmlsZXMKCSAgQWRkcyB0aGUgbWFwcGluZyBvZiAnY2xhc3NpZmljYXRpb24nIHRhZ3MgdG8gd3JpdGluZyBvZgoJICAnY2xzZicgYXRvbXMgZm9yIGdwcG11eC4KCSAgQmFzZWQgb24gYSBwYXRjaCBieTogTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKMjAwOS0xMi0xMCAyMjo0OToxMyAtMDMwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbEBiYXNlLWFydC5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5oOgoJICBmcHNkaXNwbGF5c2luazogZXhwb3NlIHZpZGVvIHNpbmsgdXNpbmcgYSBwcm9wZXJ0eQoJICBFeHBvc2VzIHRoZSBpbnRlcm5hbGx5IHVzZWQgc2luayBhcyB2aWRlby1zaW5rIHByb3BlcnR5IGFuZAoJICBtYWtlcyB0aGUgZGVmYXVsdCBvbmUgdG8gYmUgYXV0b3ZpZGVvc2luayBpbnN0ZWFkIG9mCgkgIHRoZSBoYXJkY29kZWQgeHZpbWFnZXNpbmsKCSAgRml4ZXMgIzYwNDI4MAoKMjAwOS0xMi0xMSAxNjozMjo0OCAtMDgwMCAgUGV0ZXIgdmFuIEhhcmRlbmJlcmcgPHB2aEBzb25nYmlyZG5lc3QuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L2FkcGNtZW5jL01ha2VmaWxlLmFtOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSAgYWRwY21lbmM6IGFkZCBuZXcgYWRwY20gZW5jb2RlciBlbGVtZW50LgoKMjAwOS0xMi0xMSAxMDoyNToxNiAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlOiBmaXggYSBmb3JtYXQgc3RyaW5nIGFzIHJlcG9ydGVkIG9uIGlyYy4KCjIwMDktMTItMTAgMTA6MTA6MTUgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkgIGFkcGNtZGVjOiBtYWtlIHBvd2VyIG9mIDIgbW9yZSBhY2N1cmF0ZS4KCjIwMDktMTItMTAgMTI6NTY6NDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggY2FwcyBwYXJhbWV0ZXJzIHNldHRpbmcKCSAgQWxzbyBjb25zaWRlciBQUFMgd2hlbiBzZWxlY3RpbmcgU1BTIHRvIHBpY2sgcGFyYW1ldGVycyBmcm9tLgoJICBPbmx5IHVwZGF0ZSBjYXBzIHdoZW4gc2V0dGluZ3MgYWN0dWFsbHkgY2hhbmdlZCwgYW5kIHdoZW4gdGhlc2UgYXJlIHZhbGlkLgoKMjAwOS0xMi0wOCAxODo1Nzo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuYzoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmg6CgkgIGl2b3JiaXM6IGFsc28gY2F0ZXIgZm9yIHRyYWRpdGlvbmFsIDE2LWJpdCB3aWR0aCBzYW1wbGUgb3V0cHV0CgoyMDA5LTEyLTEwIDEwOjQwOjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogRG9uJ3QgZG8gcG9pbnRlciBkZXJlZmVyZW5jZXMgaW4gdGhlIHByb2Nlc3NpbmcgbG9vcAoJICBMb3dlcnMgdGhlIHRpbWUgdGFrZW4gdGhlcmUgaW4gbXkgdGVzdGNhc2UgZnJvbSA2LjkxJSB0byA2LjIwJQoJICBhcyBtZWFzdXJlZCBieSBjYWxsZ3JpbmQuCgoyMDA5LTExLTE4IDE2OjM4OjMzICswMTAwICB1bmtub3duIDxoYXZhcmQuZ3JhZmZALmV1LnRhbmRiZXJnLmludD4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogdXBkYXRlIHRoZSBjdXJyZW50X3NzcmMgZnJvbSB0aGUgY2FwcwoJICBGaXhlcyAjNjA0MTAxCgoyMDA5LTEyLTA5IDE0OjQyOjIxICswMTAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiByZWxlYXNlIHBhZHMgd2hlbiBkaXNwb3NpbmcKCSAgQmVjYXVzZSBvZiBhbiBhbGxvY2F0ZWQgcHJpdiAoR3N0UlRQTXV4UGFkUHJpdmF0ZSksIHRoZSBlbGVtZW50IHdpbGwKCSAgbGVhayBtZW1vcnkgaWYgbm90IGdzdF9ydHBfbXV4X3JlbGVhc2VfcGFkKCkgaXMgY2FsbGVkLiBUaGlzIHdvdWxkCgkgIHByZXZpb3VzbHkgb25seSBoYXBwZW4gaWYgcmVsZWFzZV9yZXF1ZXN0X3BhZCgpIHdhcyBjYWxsZWQgZXhwbGljaXRseSwKCSAgc29tdGhpbmcgdGhhdCBzaG91bGQgbm90IGJlIG5lY2Nlc2FyeS4KCSAgRml4ZXMgIzYwNDA5OQoKMjAwOS0xMi0wOSAxMzo0MDo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBkdG1mbXV4OiBtZXRob2QgbmFtZSBjbGVhbnVwcwoKMjAwOS0xMi0wOSAwOTo1Nzo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEltcGxlbWVudCBzcmNwYWQgcXVlcnkgZnVuY3Rpb24gdG8gYWx3YXlzIGZvcndhcmQgdG8gdGhlIHZpZGVvIHNpbmtwYWQKCjIwMDktMTItMDkgMDk6NTU6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBQcm94eSBidWZmZXIgYWxsb2NhdGlvbiBvbiB2aWRlbyBzaW5rcGFkIHRvIHRoZSBzcmNwYWQKCSAgLi4uYW5kIGFkZCBnZXRjYXBzIGZ1bmN0aW9uIHRvIHRoZSB2aWRlbyBzaW5rcGFkLgoKMjAwOS0xMi0wOSAwOTo1MToyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEltcGxlbWVudCBzcmNwYWQgZXZlbnQgZnVuY3Rpb25zIGZvciBzZWVraW5nIGFuZCBjb3JyZWN0IGV2ZW50IGZvcndhcmRpbmcKCSAgQ29waWVkIGZyb20gdGV4dG92ZXJsYXkuCgoyMDA5LTEyLTA4IDE3OjU5OjA0IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlbW92ZSBjKysgY29tbWVudHMgYW5kIGFkZCBzb21lIG1vcmUgY29tbWVudHMuCgoyMDA5LTEyLTA4IDE3OjU1OjU2IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBhZGQgaW1hIGFkcGNtIHN1cHBvcnQKCjIwMDktMTItMDggMTc6NTU6MTMgLTA4MDAgIFN0ZXBoZW4gTWNOYW1hcmEgPHN0ZXZlLm1jbmFtYXJhQHVsdHJhLXNtbC5jb20+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJICBkc2hvd3ZpZGVvc2luazogZG9uJ3QgbGVhayBmaWx0ZXJfbWVkaWFfZXZlbnQKCjIwMDktMTEtMjMgMTY6MzQ6NTAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogZW5zdXJlIHN1ZmZpY2llbnQgZGF0YSBhdmFpbGFibGUgZm9yIHBhcnNpbmcKCjIwMDktMTAtMjkgMTU6MTk6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogZXh0cmFjdCBhbmQgdXNlIHNvbWUgbW9yZSBkZXRhaWxzIGZvciBFbmhhbmNlZCBBYy0zIHN0cmVhbXMKCjIwMDktMTAtMjkgMTU6MTg6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBjdXN0b20gYnVmZmVyZmxhZyBpbmRpY2F0ZXMgbm90IHRvIGNvdW50IGZyYW1lIGluIHN0YXRzCgoyMDA5LTEwLTI4IDE0OjA4OjQzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IHBlcmZvcm0gYWRkaXRpb25hbCBmcmFtZSBjaGVja3Mgd2hlbiByZXN5bmNpbmcKCjIwMDktMTAtMjggMTQ6MDc6MTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogaW5mb3JtIGJhc2UgcGFyc2VyIG9mIGZyYW1lIGR1cmF0aW9uCgoyMDA5LTEwLTI3IDE2OjE2OjUwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGltcHJvdmUgc3JjIGNhcHMgc2V0dGluZ3MKCjIwMDktMTEtMjcgMTc6NTk6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGFjM3BhcnNlOiBpbml0aWFsIHZlcnNpb24KCSAgTUFSR0lOQUwgcmFuayBmb3Igbm93OyBtaWdodCB0YWtlIHNvbWUgdGltZSBmb3Igc29tZSAodXNlZnVsKQoJICBmcmFtZWQ9dHJ1ZS9mYWxzZSB0byBhcHBlYXIgaGVyZSBhbmQgdGhlcmUuCgoyMDA5LTExLTI2IDE4OjM0OjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5oOgoJICBhbXJwYXJzZTogdXNlIChkZWZhdWx0KSB0aW1lIGhhbmRsaW5nIG9mIGJhc2VwYXJzZXIgY2xhc3MKCjIwMDktMTEtMjYgMTg6MTU6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGdzdC9hbXJwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2FtcnBhcnNlL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RhbXJwYXJzZS5oOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogbW92ZSAnYW1ycGFyc2UnIGludG8gaXQKCjIwMDktMTEtMjcgMTc6Mjc6MzIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiByZWZlcmVuY2UgR3N0QmFzZVBhcnNlIG5vdyBsaXZlcyBoZXJlCgoyMDA5LTExLTI4IDE4OjEzOjMxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBnc3QvYWFjcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuaDoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9hYWNwYXJzZS9wbHVnaW4uYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogcmVuYW1lICdhYWNwYXJzZScgcGx1Z2luIHRvIGdlbmVyaWMgJ2F1ZGlvcGFyc2VycycgcGx1Z2luCgoyMDA5LTExLTI2IDE3OjA0OjQzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9wbHVnaW4uYzoKCSAgYWFjcGFyc2U6IHNlcGFyYXRlIHBsdWdpbiByZWdpc3RyYXRpb24gYW5kIHJlbmFtZSBwbHVnaW4KCjIwMDktMTEtMjYgMTc6MDQ6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBlbnN1cmUgc3VmZmljaWVudCBkYXRhIGF2YWlsYWJsZSBiZWZvcmUgYWNjZXNzaW5nCgoyMDA5LTExLTA1IDE0OjMxOjQwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuaDoKCSAgYWFjcGFyc2U6IHVzZSAoZGVmYXVsdCkgdGltZSBoYW5kbGluZyBvZiBiYXNlcGFyc2VyIGNsYXNzCgoyMDA5LTEwLTI5IDE1OjE5OjM1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogZml4dXAgY29tbWVudHMgdG8gQy1zdHlsZQoKMjAwOS0xMC0yOSAxNjowNTowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVzZXQgcGFzc3Rocm91Z2ggbW9kZSB0byBkZWZhdWx0IChkaXNhYmxlZCkgb24gYWN0aXZhdGlvbgoKMjAwOS0xMC0yOSAxNToxNjo1OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZW5zdXJlIGJ1ZmZlciBtZXRhZGF0YSBpcyB3cml0YWJsZQoKMjAwOS0xMC0yOCAxNDowNjoxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBmaXgvZW5oYW5jZSBESVNDT05UIG1hcmtpbmcKCSAgSW4gcGFydGljdWxhciwgY29uc2lkZXIgRElTQ09OVCA9PSAhc3luYywgYW5kIGFsbG93IHN1YmNsYXNzIHRvIHF1ZXJ5CgkgIHN5bmMgc3RhdGUsIGFzIGl0IG1heSB3YW50IHRvIHBlcmZvcm0gYWRkaXRpb25hbCBjaGVja3MgZGVwZW5kaW5nCgkgIG9uIHdoZXRoZXIgc3luYyB3YXMgYWNoaWV2ZWQgZWFybGllciBvbi4KCSAgQWxzbyBhcnJhbmdlIGZvciBzdWJjbGFzcyB0byBxdWVyeSB3aGV0aGVyIGxlZnRvdmVyIGRhdGEgaXMgYmVpbmcgZHJhaW5lZC4KCjIwMDktMTEtMjMgMTU6NDg6MjUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogYWRkIHRpbWVzdGFtcCBoYW5kbGluZywgYW5kIGRlZmF1bHQgY29udmVyc2lvbgoJICBJbiBwYXJ0aWN1bGFyLCAob3B0aW9uYWxseSkgcHJvdmlkZSBiYXNlcGFyc2Ugd2l0aCBhIG5vdGlvbiBvZiBmcmFtZXMgcGVyIHNlY29uZAoJICAoYW5kIHRoZXJlZm9yZSBhbHNvIGZyYW1lIGR1cmF0aW9uKSBhbmQgaGF2ZSBpdCB0cmFjayBmcmFtZSBhbmQgYnl0ZSBjb3VudHMuCgkgIFRoaXMgd2F5LCBzdWJjbGFzcyBjYW4gcHJvdmlkZSBiYXNlcGFyc2Ugd2l0aCBmcHMgYW5kIGhhdmUgaXQgcHJvdmlkZSBkZWZhdWx0CgkgIGJ1ZmZlciB0aW1lIG1ldGFkYXRhIGFuZCBjb252ZXJzaW9ucywgdGhvdWdoIHN1YmNsYXNzIGNhbiBzdGlsbCBpbnN0YWxsCgkgIGNhbGxiYWNrcyB0byBoYW5kbGUgc3VjaCBpdHNlbGYuCgoyMDA5LTEwLTI4IDEyOjAyOjAzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBkb2N1bWVudGF0aW9uIGZpeGVzCgoyMDA5LTEwLTI4IDEyOjAwOjA4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB1c2VfZml4ZWRfY2FwcyBmb3Igc3JjIHBhZAoJICBBZnRlciBhbGwsIHN0cmVhbSBpcyBhcy1pcywgYW5kIHRoZXJlIGlzIGxpdHRsZSBtb2xkaW5nIHRvIGRvd25zdHJlYW0ncwoJICB0YXN0ZSB0aGF0IGNhbiBiZSBkb25lLiAgSWYgc3ViY2xhc3MgY2FuIGFuZCB3YW50cyB0byBkbyBzbywgaXQgY2FuCgkgIHN0aWxsIG92ZXJyaWRlIGFzIHN1Y2guCgoyMDA5LTEyLTA4IDE0OjQ2OjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWx2Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBBZGQgZG9jcyBhbmQgaW50ZWdyYXRlIGludG8gdGhlIGRvY3MgYnVpbGQgc3lzdGVtCgoyMDA5LTEyLTA4IDE0OjA2OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogRm9yIHN5bmNocm9uaXppbmcgdGhlIHRleHQsIHRha2UgdGhlIHZpZGVvIHJ1bm5pbmcgdGltZSBvZiB0aGUgbmV4dCBmcmFtZQoJICBUaGlzIG1ha2VzIHN1cmUgdGhhdCBsaWJhc3MgYWxyZWFkeSBoYXMgYWxsIHRleHQgYnVmZmVycyBmb3IgdGhlIG5leHQgZnJhbWUKCSAgYXQgdGhlIHRpbWUgd2hlbiB0aGUgbmV4dCBmcmFtZSBpcyBwcm9jZXNzZWQuIFdpdGhvdXQgdGhpcyB0ZXh0IGJ1ZmZlcnMKCSAgbWlnaHQgYmUgb25lIGZyYW1lIGxhdGUgb3Igbm90IHNob3duIGF0IGFsbCBpZiB0aGV5J3JlIG9ubHkgc2hvd24gZm9yIGEKCSAgc2luZ2xlIGZyYW1lLgoKMjAwOS0xMi0wOCAxMToyNjowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEZpeCBJNDIwIG1vZGUgYW5kIGVuYWJsZSBpdAoKMjAwOS0xMi0wOCAxMToyNTozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEZpeCBjb21waWxhdGlvbiB3aXRoIG9sZGVyIGxpYmFzcyB2ZXJzaW9ucwoKMjAwOS0xMi0wNyAxMDoyMTozMiAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuaDoKCSAgZHNob3d2aWRlb3Npbms6IHNwZWxsIHRoaW5ncyBtb3JlIGJldHRlcmVyLgoKMjAwOS0xMi0wNyAxMDowOToxOSAtMDgwMCAgU3RlcGhlbiBNY05hbWFyYSA8c3RldmUubWNuYW1hcmFAdWx0cmEtc21sLmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5oOgoJICBkc2hvd3ZpZGVvc2luazogYWRkIHZpcnR1YWwgZGVzdHJ1Y3RvciBmb3IgaW50ZXJuYWwgaGVscGVyIGNsYXNzLgoKMjAwOS0xMi0wNyAxODozNTo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IERvbid0IHVucmVmIGJ1ZmZlcnMgdHdpY2UKCjIwMDktMTItMDcgMTg6MzA6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBJbXByb3ZlIGVtYmVkZGVkIGZvbnQgdXNhZ2UKCSAgRm9yIHRoaXMgYWRkIHNvbWUgbmV3IG1pbWV0eXBlcyBhbmQgYWxzbyBjaGVjayB0aGUgZmlsZW5hbWUgZXh0ZW5zaW9uLgoJICBGaXhlcyBidWcgIzYwMzkzOC4KCjIwMDktMTItMDcgMTg6MDM6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBEaXNhYmxlIEk0MjAgc3VwcG9ydCBmb3Igbm93LCBpdCBkb2Vzbid0IHdvcmsgcmVsaWFibGUgeWV0CgoyMDA5LTEyLTA3IDE3OjA0OjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogQWRkIHN1cHBvcnQgZm9yIEk0MjAKCjIwMDktMTItMDcgMTU6MzE6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBPcHRpbWl6ZSBibGl0IGZ1bmN0aW9uIGFuZCBhZGQgc3VwcG9ydCBmb3IgYWxsIG90aGVyIG5vbi1hbHBoYSBSR0IgZm9ybWF0cwoJICBBbHNvIG1ha2Ugc3VyZSB0byBub3Qgd3JpdGUgYmVoaW5kIGFycmF5IGJvdW5kcy4KCjIwMDktMTItMDcgMTQ6MzU6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBGaXggYXR0YWNobWVudCB0YWcgaGFuZGxpbmcgYW5kIG1vdmUgaXQgaW50byBhIHNlcGFyYXRlIGZ1bmN0aW9uCgkgIC4uLnRvIHByZXZlbnQgY29kZSBkdXBsaWNhdGlvbi4KCjIwMDktMTItMDcgMTQ6MjY6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBVcGRhdGUgdGV4dCBsYXN0IHN0b3AgYWZ0ZXIgY2hlY2tpbmcgaWYgdGltZXN0YW1wL2R1cmF0aW9uIGlzIHZhbGlkCgoyMDA5LTEyLTA3IDE0OjIzOjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogSWYgYW4gQVNTIHRyYWNrIHdhcyBhbGxvY2F0ZWQgYWxyZWFkeSBvbmx5IGZlZWQgbmV3IGNvZGVjX2RhdGEgdG8gaXQgaW5zdGVhZCBvZiByZWNyZWF0aW5nCgoyMDA5LTEyLTA3IDE0OjA1OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogTG90cyBvZiByYW5kb20gY2xlYW51cCBhbmQgc29tZSBtaW5vciBtZW1sZWFrIGZpeGVzCgoyMDA5LTEyLTA3IDEzOjQwOjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogRXh0cmFjdCBlbWJlZGRlZCBmb250cyBmcm9tIHRoZSBzdWJ0aXRsZSBzdHJlYW1zIGlmIHJlcXVlc3RlZAoKMjAwOS0xMi0wNyAxMzoyNjozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IERvbid0IGxldCBsaWJhc3MgcHJpbnQgc3R1ZmYgb24gc3RkZXJyIGJ1dCBwcm94eSB0aGUgbWVzc2FnZXMgdG8gdGhlIEdTdHJlYW1lciBkZWJ1Z2dpbmcgc3lzdGVtCgoyMDA5LTEyLTA1IDExOjI1OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOgoJICBhcGV4c2luazogY2xlYW4gdXAgYW5kIGZpeCBjb25maWd1cmUgbG9naWMgYW5kIE1ha2VmaWxlLmFtCgkgIENoZWNrIGZvciBvcGVuc3NsIGFuZCBsaWJjcnlwdG8gdXNpbmcgcGtnLWNvbmZpZyBhbmQgZG9uJ3QgYnVpbGQgdGhlCgkgIHBsdWdpbiBpZiB0aG9zZSBhcmUgbm90IGF2YWlsYWJsZS4gQWxzbywgZml4IHRoZSBDRkxBR1MvTElCUyBvcmRlcgoJICBpbiBNYWtlZmlsZS5hbSBhbmQgdXNlIHRoZSBkZXRlY3RlZCBMSUJTIGluc3RlYWQgb2YgaGFyZC1jb2RpbmcKCSAgLWxjcnlwdG8gaW4gdGhlIE1ha2VmaWxlLmFtLiBTaG91bGQgZml4ICM2MDE0MTcuCgoyMDA5LTEyLTAxIDE1OjA3OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gODdiZjQyOCB0byA0N2NiMjNhCgoyMDA5LTEyLTAxIDE0OjA5OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBDYWxsIEFHX0dTVF9QTEFURk9STSBmb3IgR1NUX0VYVFJBX01PRFVMRV9TVUZGSVgKCSAgVGhpcyBpcyB1c2VkIGluIHRoZSBmcmVpMHIgcGx1Z2luIGFscmVhZHkgYnV0IG5ldmVyIGRlZmluZWQgYW55d2hlcmUuCgkgIEZpeGVzIGJ1ZyAjNjAyNTI0LgoKMjAwOS0xMi0wMSAxNDoxNzoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGRhNGM3NWMgdG8gODdiZjQyOAoKMjAwOS0xMS0yNyAxODo1NTo1OCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNTNhMjQ4NSB0byBkYTRjNzVjCgoyMDA5LTExLTI3IDE0OjM4OjA0ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnBob3RvZ3JhcGh5LmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlucGhvdG9ncmFwaHkuaDoKCSAgY2FtZXJhYmluOiBwaG90b2dyYXBoeSBpbnRlcmZhY2UgcHJvcGVydGllcy4gRml4ZXMgIzU3MzM3MCAocGFydGlhbGx5KQoJICBBZGRlZCBHT2JqZWN0IHByb3BlcnRpZXMgdG8gcGhvdG9ncmFwaHkgaW50ZXJmYWNlIGFuZCBpbXBsZW1lbnRlZAoJICB0aGVtIGluIGNhbWVyYWJpbi4gQ2hhbmdlZCB6b29taW5nIHRvIGNoZWNrIGlmIHZpZGVvLXNvdXJjZSBoYXMKCSAgem9vbSBwcm9wZXJ0eS4KCjIwMDktMDItMjMgMjM6MTg6MzMgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBub2tpYS5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1iYWQtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1iYWQucGMuaW46CgkgIEFkZCBwa2djb25maWcgZmlsZXMgZm9yIHBob3RvZ3JhcGh5IGludGVyZmFjZSBsaWJyYXJ5LgoKMjAwOS0xMC0yOCAxMjo0NzoxOSArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkgIGNhbWVyYWJpbjogYWRkIGZsYWdzIHByb3BlcnR5LiBGaXhlcyAjNTczMzcwIChwYXJ0aWFsbHkpCgkgIEFkZHMgZmxhZ3MgcHJvcGVydHkgdG8gZW5hYmxlIHJ1bnRpbWUgY29uZmlndXJhdGlvbiBvZgoJICBjb252ZXJzaW9uIGFuZCBzY2FsaW5nIGVsZW1lbnRzLiBBbHNvIGFkZHMgZmxhZyBmb3IgZGlzYWJsaW5nCgkgIGF1ZGlvIGNvbXBsZXRlbHkuCgoyMDA5LTEwLTI3IDE2OjI4OjI1ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmg6CgkgIGNhbWVyYWJpbjogcmVtb3ZlIHRpbWVvdmVybGF5IGJ1aWxkLXRpbWUgZGVmaW5pdGlvbgoKMjAwOS0xMS0yNiAxNTozMzozMiAtMDYwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSAgdmRwYXU6IGZpeCBidWlsZAoKMjAwOS0xMS0yNSAyMTo0MToyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlcGxhY2UgX3NjYWxlIHdpdGggX3NjYWxlX3JvdW5kCgkgIFVzZSB0aGUgcm91bmRpbmcgdmVyc2lvbiBmb3IgaW1wcm92ZWQgc3luYyBiZXR3ZWVuIHN0cmVhbXMuCgkgIFNtYWxsIHZhcmlhdGlvbnMgaW4gdGhlIGR1cmF0aW9uIHdoZW4gbXV4aW5nIG1pZ2h0IGxlYWQgdG8KCSAgY3VtdWxsYXRpdmUgd3JvbmcgdGltZXN0YW1waW5nIHdoZW4gZGVtdXhpbmcuCgkgIEZpeGVzICM2MDI5MzYKCjIwMDktMTEtMjQgMTY6MTY6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB1c2UgdGltZXN0YW1wcyBmb3IgbXV4aW5nCgkgIFRyeSB0byB1c2UgdGltZXN0YW1wcyBldmVuIHdoZW4gdGhlIHN0cmVhbSBoYXMgb3V0IG9mIG9yZGVyCgkgIHRpbWVzdGFtcHMsIG9ubHkgZmFsbCBiYWNrIHRvIGR1cmF0aW9ucyB3aGVuIHdlIGRldGVjdCBhbgoJICBvdXQgb2Ygb3JkZXIgYnVmZmVyLiBJbXByb3ZlcyBzeW5jIGJldHdlZW4gc3RyZWFtcy4KCjIwMDktMTEtMjQgMTQ6MzQ6NTEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJICBtZXRhZGF0YTogZml4IGNsYXNzaWZpY2F0aW9uCgoyMDA5LTExLTE4IDExOjM4OjUwICswMTAwICBYYXZpZXIgUXVlcmFsdCBNYXRldSA8eHF1ZXJhbHRAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBFeHBvc2UgbGFuZyBjb2RlcyBpbiBwbXQKCjIwMDktMTEtMjIgMTk6MzA6NDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBvcHRpb25hbCB0cmFuc2Zvcm1pbmcgZnJvbSBieXRlc3RyZWFtIHRvIHNhbXBsZSBmb3JtYXQgKG9yIHZpY2UgdmVyc2EpCgoyMDA5LTExLTIwIDE4OjMxOjM5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcmVmYWN0b3IgYSBiaXQgaW50byBhIHJlc2V0IGZ1bmN0aW9uCgoyMDA5LTExLTIwIDE4OjQ5OjU2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogcHJvdmlkZSB3L2ggZnJvbSBzdHJlYW0gaW4gc3JjIGNhcHMgaWYgbm90IGluIHNpbmsgY2FwcwoKMjAwOS0xMS0wNiAxMjo1ODozMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHBhcnNlIFNQUyBzb21lIG1vcmUgKGUuZy4gZm9yIHdpZHRoL2hlaWdodCkKCjIwMDktMTEtMjIgMTk6MzQ6MjUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBvcHRpb25hbGx5IG91dHB1dCBBVXMgcmF0aGVyIHRoYW4gTkFMVXMKCSAgVGhhdCBpcywgQWNjZXNzIFVuaXRzIChmcmFtZXMvZmllbGRzKSBpbnN0ZWFkIG9mIChwb3NzaWJseSkgcGFydHMgdGhlcmVvZi4KCjIwMDktMTEtMjMgMTA6MzI6NDEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiByZW1vdmUgZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuYwoKMjAwOS0xMS0yMyAwOTozNTozMCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IHByZS1yZWxlYXNlPT5naXQKCjIwMDktMTEtMjMgMDk6MTc6MzkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmg6CgkgIHZkcGF1OiBGaXggaW5jbHVkZXMKCjIwMDktMTEtMjIgMjI6NTQ6MjcgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBjb252ZXJ0IHRvIDEvMSBwaXhlbC1hc3BlY3QtcmF0aW8gZm9yIHJnYiB0b28KCjIwMDktMTEtMjIgMjI6MzQ6MTkgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJICB2ZHBhdXNpbms6IGludGVyc2VjdCBhbGxvd2VkIGNhcHMgd2l0aCBvdXIgdGVtcGxhdGUgY2FwcwoKMjAwOS0xMS0yMiAyMjozMTozOCArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJICB2ZHBhdTogZml4IGdzdF92ZHBfW3ZpZGVvfHl1dl1fdG9fb3V0cHV0X2NhcHMgdG8gYWxzbyBhZGQgcmdiIGNhcHMKCjIwMDktMTEtMjIgMjI6MzA6MTkgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IHVzZSBHc3RWZHBWaWRlb1NyY1BhZAoKMjAwOS0xMS0yMiAyMjoyOTo1OCArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRidWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dGJ1ZmZlci5oOgoJICB2ZHBhdTogYWRkIGZ1bmN0aW9ucyB0byBHc3RWZHBPdXRwdXRCdWZmZXIgbmVlZGVkIGZvciByZ2IgZG93bmxvYWQKCjIwMDktMTEtMjIgMjI6Mjg6MTggKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0c3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRzcmNwYWQuaDoKCSAgdmRwYXU6IGFkZCBHc3RQYWQgc3ViY2xhc3MgR3N0VmRwT3V0cHV0U3JjUGFkCgkgIEdzdFZkcE91dHB1dFNyY1BhZCBpcyBhIHN1YmNsYXNzIG9mIEdzdFBhZCB0aGF0IGlzIHVzZWQgZm9yIHB1c2hpbmcgb3V0CgkgIEdzdFZkcE91dHB1dEJ1ZmZlcnMuIEl0IHRha2VzIGNhcmUgb2YgY2FwcyBuZWdvdGlhdGlvbiBhbmQgY29udmVyc2lvbiB0bwoJICB2aWRlby94LXJhdy1yZ2IuCgoyMDA5LTExLTIyIDIyOjI0OjEyICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJICBnc3R2ZHB2aWRlb3NyY3BhZDogYWRkICJ0ZW1wbGF0ZS1jYXBzIiBwcm9wZXJ0eQoJICBUaGUgcHJvcGVydHkgbGltaXRzIHRoZSBhdmFpbGFibGUgb3V0cHV0IGNhcHMKCjIwMDktMTEtMjIgMjI6MTg6NTUgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSAgZ3N0dmRwdmlkZW9idWZmZXI6IGZpeCB0eXBvCgoyMDA5LTExLTIxIDAyOjUxOjM5ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJICBnc3R2ZHB2aWRlb3NyY3BhZDogcmVwbGFjZSBnZXRfcGFkX3RlbXBsYXRlKCkgd2l0aCBnZXRfdGVtcGxhdGVfY2FwcygpCgoyMDA5LTExLTIxIDAxOjEwOjUwICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJICBnc3R2ZHB2aWRlb3NyY3BhZDogZG9uJ3QgcmVjcmVhdGUgY2FwcyBpbiBnZXRjYXBzCgoyMDA5LTExLTIxIDAwOjEzOjQ2ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuaDoKCSAgdmRwYXU6IGFkZCBHc3RQYWQgc3ViY2xhc3MgR3N0VmRwVmlkZW9TcmNQYWQKCSAgR3N0VmRwVmlkZW9TcmNQYWQgdGFrZXMgY2FyZSBvZiBjYXBzIG5lZ290aWF0aW9uIGFuZCBjb252ZXJzaW9uIG9mCgkgIEdzdFZkcFZpZGVvQnVmZmVycyB0byB0aGUgbmVnb3RpYXRlZCBvdXRwdXQgZm9ybWF0LgoKMjAwOS0xMC0yNyAyMjowNDoxMCArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJICB2ZHBhdXNpbms6IHJld29yayBwcmVzZW50YXRpb24gYmxvY2tpbmcgYSBiaXQKCSAgaW5zdGVhZCBvZiBibG9ja2luZyB1bnRpbCB0aGUgcHJldmlvdXMgc3VyZmFjZSBoYXMgYmVlbiBkaXNwbGF5ZWQsIHdlIG5ldyBvbmx5CgkgIGFkZCBzdXJmYWNlcyB0byB0aGUgcXVldWUgaWYgaXQncyBpZGxlLgoKMjAwOS0xMC0yNyAyMToxODowNCArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2Vzczogc3BsaXQgdXAgY2hhaW4gZnVuY3Rpb24KCjIwMDktMTAtMjcgMjA6NTc6MDUgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGltcGxlbWVudCBiYXNpYyBxb3MgaGFuZGxpbmcKCjIwMDktMTAtMTYgMDA6MTY6MjQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5oOgoJICB2ZHBhdW1wZWdkZWM6IGFkZCBkaXNwbGF5IHByb3BlcnR5CgoyMDA5LTEwLTA4IDIzOjM4OjI0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5oOgoJICB2ZHBhdTogcmVtb3ZlIHVudXNlZCBmdW5jdGlvbnMKCjIwMDktMTAtMDggMjA6MjU6NDAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJICB2ZHBhdTogdXNlIGxvY2FsIGxpYmdzdHZkcCBoZWFkZXJzCgoyMDA5LTEwLTA4IDIwOjIzOjMzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5oOgoJICB2ZHBhdTogcmVtb3ZlIG5vdyB1bm5lZWRlZCB2ZHBhdXZpZGVveXV2IGFuZCB2ZHBhdXl1dnZpZGVvIGVsZW1lbnRzCgoyMDA5LTEwLTA4IDIwOjE5OjU3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBhZGQgZGlzcGxheSBwcm9wZXJ0eQoKMjAwOS0xMC0wOCAyMDoxMzoyNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkgIHZkcGF1c2luazogYWRkIGRlYnVnIG91dHB1dAoKMjAwOS0xMC0wOCAyMDoxMzowNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogYWRkIHN1cHBvcnQgZm9yIHZpZGVvL3gtcmF3LXl1diBpbnB1dAoKMjAwOS0xMC0wNyAxMDoyNTo0NiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1bXBlZ2RlYzogYWRkIHNyY19nZXRjYXBzIGZ1bmMKCSAgdGhpcyB3YXkgd2UgY2FuIHJldHVybiBvbmx5IHRoZSBjYXBzIHdlIHJlYWxseSBzdXBwb3J0LCBzaW5jZSB3ZSdyZSBhYmxlIHRvIHF1ZXJ5IHZkcGF1CgkgIGFib3V0IGl0CgoyMDA5LTEwLTA3IDAwOjEzOjAwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJICB2ZHBhdW1wZWdkZWM6IGFkZCBzdXBwb3J0IGZvciBuZWdvdGF0aW9uIG9mIHgtcmF3LXl1diBvdXRwdXQKCjIwMDktMTAtMDQgMTk6Mjc6NTYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmg6CgkgIHZkcGF1OiBjcmVhdGUgYSBsaWJnc3R2ZHAgbGlicmFyeS4KCSAgVGhlIGxpYnJhcnkgY29udGFpbnMgR3N0VmRwRGV2aWNlIEdzdFZkcFZpZGVvQnVmZmVyIGFuZCBHc3RWZHBPdXRwdXRCdWZmZXIuIFRoZQoJICBsaWJyYXJ5IHdpbGwgKGFwYXJ0IGZyb20gdGhlIHBsdWdpbnMgaGVyZSkgYmUgdXNlZCBieSB0aGUgdXBjb21pbmcgZ3N0LWZmbXBlZwoJICB2ZHBhdSBzdXBwb3J0LgoKMjAwOS0xMC0wMyAxNDozMDo0MSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1bXBlZ2RlYzogY2hlY2sgZm9yIHNpbmsgZWxlbWVudCByZXR1cm5pbmcgd3JvbmcgYnVmZmVyIHR5cGUKCjIwMDktMTAtMDIgMDE6MDQ6MDIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkgIHZkcGF1OiByZW1vdmUgdW5uZWVkZWQgZ3N0X3ZkcF92aWRlb19idWZmZXJfYWRkX3JlZmVyZW5jZSBmdW5jdGlvbgoKMjAwOS0wOS0yNCAyMjoyNjo1OCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogZml4IGxvbmduYW1lCgoyMDA5LTExLTIyIDE5OjMwOjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1dG9jb252ZXJ0L01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2xpdmVhZGRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3NpcmVuL01ha2VmaWxlLmFtOgoJKiBnc3QvdmFsdmUvTWFrZWZpbGUuYW06CgkgIENsZWFuIHVwIExERkxBR1MsIExJQlMsIENGTEFHUwoJICBGaXggb3JkZXIsIGZpeCB2YXJpYWJsZXMgdGhhdCBkb24ndCBleGlzdCwgbGlrZSBHU1RfTElCU19MSUJTLAoJICB1c2UgJChMSUJNKSBpbnN0ZWFkIG9mIC1sbSwgYW5kIG1vdmUgX0xJQlMgZnJvbSBMREZMQUdTIHRvIExJQkFERC4KCSAgU3BvdHRlZCBieSBIYXZhcmQgR3JhZmYuCgoyMDA5LTExLTIyIDE5OjAyOjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvY29ndXRpbHMuaDoKCSAgY29nOiBpbmNsdWRlIG91ciBvd24gX3N0ZGludC5oIGluc3RlYWQgb2YgPHN0ZGludC5oPgoKMjAwOS0xMS0yMCAxMToxMzo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGlicmZiL2QzZGVzLmM6CgkqIGdzdC9saWJyZmIvdm5jYXV0aC5jOgoJICBsaWJyZmI6IGluY2x1ZGUgb3VyIG93biBfc3RkaW50Lmggbm90IHN0ZGludC5oCgoyMDA5LTExLTIxIDE3OjMxOjUzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSogZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuaDoKCSAgcmVzaW5kdmQ6IFJlbW92ZSBsb2NhbCBiYXNlc3JjIGNvcHkKCSAgVXNlIHRoZSByZWFsIHZlcnNpb24gb2YgYmFzZXNyYyBpbnN0ZWFkIG9mIGEgbG9jYWwgY29weSBub3cgdGhhdCBpdAoJICBzdXBwb3J0cyB0aGUgc2VhbWxlc3Mgc2VnbWVudCBmZWF0dXJlIHRoYXQgcmVzaW4gbmVlZHMuCgoyMDA5LTExLTIwIDEzOjQxOjI3IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICB0ZXN0cy9pY2xlczogbWFrZSBjb2cgdGVzdCBwcm9ncmFtIGRlcGVuZCBvbiBVU0VfQ09HLiBGaXhlcyBidWlsZCB3aXRob3V0IG9yYy4KCjIwMDktMTEtMjAgMjA6NTU6MTUgKzAxMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2cub3JjOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJICBjb2c6IGNvbnZlcnQgc29tZSBwYXJhbXMgdG8gY29uc3RzIGluIG9yYyBjb2RlCgoyMDA5LTExLTIwIDE3OjMzOjIxICswMTAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AZmx1ZW5kby5jb20+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkgIGZyZWkwcjogRml4IGNvbXBpbGF0aW9uIHdhcm5pbmdzLgoKMjAwOS0xMS0yMCAxNzozMjo0NCArMDEwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQGZsdWVuZG8uY29tPgoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBhbXJwYXJzZTogRml4IGNvbXBpbGF0aW9uIHdhcm5pbmdzCgoyMDA5LTExLTIwIDE3OjMyOjEzICswMTAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AZmx1ZW5kby5jb20+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGFhY3BhcnNlOiBGaXggY29tcGlsYXRpb24gd2FybmluZ3MKCjIwMDktMTEtMjAgMTA6MzE6NDcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuaDoKCSAgZHRtZjogVXNlIF9zdGRpbnQuaCBmcm9tIGNvbmZpZ3VyZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjAyNDY1CgoyMDA5LTExLTIwIDEzOjEzOjM2ICswMTAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBjb2c6IEFkZCBvcmMgdGVzdCBjb2RlIGZvciBjb2cKCSAgQWxzbyBsb29rIGZvciBjb2cub3JjIHNvdXJjZSBmaWxlIGluIHRoZSByaWdodCBwbGFjZS4KCjIwMDktMTEtMTkgMjA6MzM6MDcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0Lmg6CgkgIGR0bWY6IFVwZGF0ZSBkdG1mZGV0ZWN0IHRvIG1ha2UgaXQgTVNWQyBmcmllbmRseQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjAyNDY1CgoyMDA5LTExLTE5IDE4OjI4OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZml4IG1pc3NpbmcgZGVidWcgYXJndW1lbnQKCSAgQWRkcyBhIG1pc3NpbmcgZGVidWcgYXJndW1lbnQKCjIwMDktMTEtMTkgMjM6MDE6MjkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGx2Mjogc2V0IHRoZSBhdWRpby1jaGFubmVsIHBvc2l0aW9ucyBhZ2FpbiwgYnV0IG5vdyBpbiBfc2V0dXAKCSAgUmVhZGQgdGhlIGNvZGUgdGhhdCB3YXMgcmV2ZXJ0ZWQgZm9yIHRoZSByZWxlYXNlLiBXZSBub3cgc2V0IGF1ZGlvLWNoYW5uZWwKCSAgcG9zaXRpb25zIGlmIGFueSBvbiB0aGUgcGFkIGNhcHMgYW5kIG5vdCBvbiB0aGUgdGVtcGxhdGVzLgoKMjAwOS0xMS0xOSAyMjo1OToxNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29yOiByZW1vdmUgY29tbWVudGVkIG91dCBjb2RlIHRoYXQgd2UgZG9uJ3QgbmVlZCBhbnltb3JlCgoyMDA5LTExLTE3IDAwOjM5OjUwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJICB0ZXN0czogbWFrZSBzdGF0ZS1jaGFuZ2UgdGVzdCB0aW1lb3V0IGxvbmdlciBpZiB3cmFwcGVycyBhcmUgZW5hYmxlZAoJICBXaGVuIGxhZHNwYSB8fCBsdjIgYXJlIGVuYWJsZWQgb25lIGNvdWxkIHF1aWNrbHkgZ2V0IHRvIDUwMCBlbGVtZW50cy4KCjIwMDktMTEtMTcgMDA6Mzc6MjggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOgoJICByZWFsYXVkaW9kZWM6IHJlaW5kZW50IGFuZCBtYWtlIHZhbGdyaW5kIGhhcHB5CgkgIFRoZSBzdGF0ZS1jaGFuZ2UgdGVzdHMgcmVwb3J0ZWQgYWNjZXNzIHRvIHVuaW5pdGlhbGl6ZWQgbWVtb3J5LgoKMjAwOS0xMS0xNiAyMjowNzozMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgbGFkc3BhOiBvbmx5IHVzZSBnX3JldHVybl92YWxfaWZfZmFpbCBmb3IgY2hlY2tpbmcgcHJlLWNvbmRpdGlvbnMKCSAgZ19yZXR1cm5fKiBjYW4gYmUgZGlzYWJsZWQuIFN0aWxsIHdlIHdhbnQgdG8gY2hlY2sgZm9yIGZhaWxlZCBpbnN0YW5jZSBjcmVhdGlvbi4KCjIwMDktMTEtMTYgMjI6MDU6MTYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGx2Mjogb25seSB1c2UgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgZm9yIGNoZWNraW5nIHByZS1jb25kaXRpb25zCgkgIGdfcmV0dXJuXyogY2FuIGJlIGRpc2FibGVkLiBTdGlsbCB3ZSB3YW50IHRvIGNoZWNrIGZvciBmYWlsZWQgaW5zdGFuY2UgY3JlYXRpb24uCgoyMDA5LTExLTE2IDIxOjUyOjMyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBsYWRzcGE6IHJlbW92ZSBsZWZ0LW92ZXIgY29tbWVudAoKMjAwOS0xMS0xNiAyMTo1MDoyMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSAgc2lnbmFscHJvY2Vzc29yOiBjaGFuZ2UgX3NldHVwIHRvIHBhc3Mgd2hvbGUgY2FwcyBhbmQgbm90IGp1c3Qgc2FtcGxpbmdfcmF0ZQoJICBUaGlzIGFsbG93cyB0byBnZXQgcmlkIG9mIHRoZSBzYW1wbGluZ19yYXRlIHZhcmlhYmxlIGluIHRoZSBiYXNlLWNsYXNzLiBBbHNvIG5vdwoJICBzdWJjbGFzc2VzIGNhbiBtb2RpZnkgdGhlIGNhcHMgdG8gYWN0dWFseSBuZWdvdGlhdGUuIFRoaXMgaXMgbmVlZGVkIHRvIGUuZy4gc2V0CgkgIGF1ZGlvLWNoYW5uZWwgcG9zaXRpb25zLgoKMjAwOS0xMS0xOSAxMTozNjoxNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpeCBtaXNpbmZvcm1pbmcgZGVidWcgc3RhdGVtZW50CgoyMDA5LTExLTE5IDExOjE0OjU3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZW5zdXJlIHdyaXRhYmxlIGJ1ZmZlciBtZXRhZGF0YSBiZWZvcmUgc2V0dGluZyBjYXBzCgoyMDA5LTExLTE5IDEwOjMxOjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDcwMmZlMSB0byA1M2EyNDg1CgoyMDA5LTExLTE4IDIwOjA2OjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogaW1wcm92aW5nIGRlYnVnIG1lc3NhZ2VzCgkgIEltcHJvdmVzIGRlYnVnIG1lc3NhZ2VzIGZvciBhc2ZtdXgKCjIwMDktMTAtMjkgMDg6MzY6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IHN1cHBvcnQgZm9yIFNWUTMKCSAgQWRkcyBzdXBwb3J0IGZvciBtdXhpbmcgU1ZRMyBjb250ZW50LiBVc3VhbGx5IHRoaXMgZm9ybWF0CgkgIGhhcyBkZWNvZGVyIGluZm8gdGhhdCBtdXN0IGJlIHBhc3NlZCBpbiB0aGUgJ3NlcWgnIGZpZWxkCgkgIGluIHRoZSBjYXBzLiBJdCBpcyBhbHNvIGdvb2QgdG8gYWRkIHRoZSBnYW1hIGF0b20gdG8gbWFrZQoJICBxdWlja3RpbWUgbm90IGNyYXNoLgoJICBGaXhlcyAjNTg3OTIyCgoyMDA5LTExLTE4IDE4OjAwOjM3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2pwMmsvZ3N0anAyay5jOgoJICBqcDJrOiBSYWlzZSByYW5rIG9mIGVuY29kZXIgdG8gTUFSR0lOQUwKCjIwMDktMTEtMTggMTg6MDA6MjMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvZ3NtL2dzdGdzbS5jOgoJICBnc206IFJhaXNlIHJhbmsgb2YgZW5jb2RlciB0byBQUklNQVJZCgoyMDA5LTExLTE4IDE4OjAwOjAwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2FtcndiZW5jL2dzdGFtcndiLmM6CgkgIGFtcndiZW5jOiBSYWlzZSByYW5rIHRvIFNFQ09OREFSWQoKMjAwOS0xMS0xOCAxNzo1OToyMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhYy5jYzoKCSAgZGlyYWM6IFJhaXNlIHJhbmsgb2YgZW5jb2RlciB0byBNQVJHSU5BTAoJICBXZSdsbCBwcmVmZXIgdG8gdXNlIHNjaHJvZWRpbmdlciBpZiBhdmFpbGFibGUsIGJ1dCBpbiBjYXNlIGl0J3Mgbm90IGF2YWlsYWJsZQoJICB3ZSBzdGlsbCBoYXZlIHRoZSBsaWJkaXJhYyBvcHRpb24KCjIwMDktMTEtMTggMTc6NTg6NTMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQveHZpZC9nc3R4dmlkLmM6CgkgIHh2aWQ6IFJhaXNlIHJhbmsgb2YgZW5jb2RlciB0byBTRUNPTkRBUlkKCjIwMDktMTEtMTggMTc6NTg6MzkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYWlmZi9haWZmLmM6CgkgIGFpZmY6IFJhaXNlIHJhbmsgb2YgbXV4ZXIgdG8gUFJJTUFSWQoKMjAwOS0xMS0xOCAxNzo1Nzo1OSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tdmUvZ3N0bXZlLmM6CgkgIG12ZTogUmFpc2UgcmFuayBvZiBtdXhlciB0byBQUklNQVJZCgoyMDA5LTExLTE4IDE3OjU3OjI1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBSYWlzZSByYW5rIHRvIFBSSU1BUlkKCjIwMDktMTEtMTggMTM6NDE6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJ1bXAgY29yZSByZXF1aXJlbWVudHMgdG8gMC4xMC4yNS4xIGFzIHdlbGwKCSAgTWFrZSBpbXBsaWNpdCByZXF1aXJlbWVudCBleHBsaWNpdC4KCjIwMDktMTEtMTcgMTY6MzE6MDkgKzAxMDAgIFlhYWtvdiBTZWxrb3dpdHogPHlzZWxrb3dpdHpAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSogZXh0L2x2Mi9NYWtlZmlsZS5hbToKCSAgc2lnbmFscHJvY2Vzc29yOiBVc2UgY29ycmVjdCBDRkxBR1MgZm9yIHRoZSBzaWduYWxwcm9jZXNzb3IgaGVhZGVycyBpbiBMVjIvTEFEU1BBCgkgIFRoaXMgbWFrZXMgc3VyZSB0aGF0IHRoZSBoZWFkZXJzIGZyb20gdGhlIHNvdXJjZSB0cmVlIGFyZSB0YWtlbiBhbmQgbm90CgkgIGFjY2lkZW50aWFsbHkgaW5zdGFsbGVkIHN5c3RlbSBoZWFkZXJzIGluIHRoZSBjYXNlIG9mIGJ1aWxkZGlyIT1zcmNkaXIuCgkgIEZpeGVzIGJ1ZyAjNjAyMTYxLgoKMjAwOS0xMS0xOCAwMzowOToxOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIHJlc2luZHZkLCBkdmRzcHU6IFVzZSBuZXcgc3RpbGwtZnJhbWUgQVBJIGZyb20gZ3N0LXBsdWdpbnMtYmFzZQoJICBSZXBsYWNlIHRoZSBjdXJyZW50IGN1c3RvbSBEVkQgc3RpbGwtZnJhbWUgZXZlbnRzIHdpdGggbmV3IGV2ZW50CgkgIGNyZWF0aW9uL3BhcnNpbmcgQVBJIGZyb20gbGliZ3N0dmlkZW8uCgoyMDA5LTExLTE4IDAyOjE2OjAzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJ1bXAgZ3N0LXBsdWdpbnMtYmFzZSByZXF1aXJlbWVudCB0byAwLjEwLjI1LjEKCjIwMDktMTEtMTggMDI6MDQ6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9haWZmL01ha2VmaWxlLmFtOgoJKiBnc3QvYWlmZi9haWZmLmM6CgkgIFJldmVydCAiYWlmZjogRGlzYWJsZSBhaWZmIG11eGVyIGZvciB0aGlzIHJlbGVhc2UuIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDc0MjZiZTcwZmZiMTEzZjAyZTM3NDA3ZWE5ODllNjBiNjM4YjJmMDAuCgkgIFJlLWVuYWJsZSB0aGUgYWlmZiBtdXhlciBub3cgdGhhdCBnc3QtcGx1Z2lucy1iYWQgMC4xMC4xNyBpcyBvdXQKCSAgYW5kIHdlIGNhbiByZWx5IG9uIGdzdC1wbHVnaW5zLWJhc2UgZnJvbSBnaXQuCgoyMDA5LTExLTE3IDE3OjI1OjE0IC0wMzAwICBUaGlhZ28gU291c2EgU2FudG9zIDx0aGlhZ29zc0ByZWRtb29uLihub25lKT4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4Lmg6CgkgIGFzZm11eDogaGFuZGxlIHN0cmVhbXMgd2l0aCBkaWZmZXJlbnQgc3RhcnQgdGltZXMKCSAgUHJldmVudHMgbG9zaW5nIHN5bmMgd2hlbiByZW11eGluZyBzdHJlYW1zIHdpdGggZGlmZmVyZW50CgkgIHN0YXJ0IHRpbWVzLiBUaGUgc21hbGxlc3Qgc3RhcnQgdGltZSBpcyBzZWxlY3RlZCBhcwoJICB0aGUgYmFzZSB0aW1lIGFuZCBhbGwgdGltZXN0YW1wcyBhcmUgc3VidHJhY3RlZAoJICBmcm9tIGl0IHRvIGdldCB0aGUgYWN0dWFsIHRpbWUgdG8gYmUgdXNlZCB3aGVuCgkgIG11eGluZyBhbmQgYnVpbGRpbmcgaW5kZXhlcwoJICBGaXhlcyAjNTg2ODQ4CgoyMDA5LTExLTE3IDA5OjI2OjA1IC0wMzAwICBUaGlhZ28gU291c2EgU2FudG9zIDx0aGlhZ29zc0ByZWRtb29uLihub25lKT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZG8gbm90IGxlYWsgYSBzdHJpbmcKCSAgRnJlZXMgYSBzdHJpbmcgYWZ0ZXIgdXNlLiBBbHNvIGRvZXMgc29tZSBjb2RlIG9yZ2FuaXphdGlvbgoKMjAwOS0xMS0xNiAxNDo1Nzo1MyAtMDMwMCAgVGhpYWdvIFNvdXNhIFNhbnRvcyA8dGhpYWdvc3NAcmVkbW9vbi4obm9uZSk+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgcXRtdXg6IGRvIG5vdCBhZGQgc2l6ZSB0byB0aGUgcG9pbnRlciB2YXJpYWJsZQoJICBEbyBub3Qgd3JvbmdseSBhZGQgdGhlIHJlc3VsdCBvZiB0aGUgZnVuY3Rpb24gdG8gdGhlCgkgIHBvaW50ZXIgdG8gdGhlIGJ1ZmZlciBzaXplLiBJbnN0ZWFkLCBjaGVjayB0aGUgcmVzdWx0CgkgIHRvIHNlZSBpZiB0aGUgc2VyaWFsaXphdGlvbiB3YXMgb2suCgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6ICJDYXJzdGVuIEtyb2xsIDxjYXJAeGltaWRpLmNvbT4iCgkgIEZpeGVzICM2MDIxMDYKCjIwMDktMTEtMDYgMTA6MzQ6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBoYW5kbGUgJ2xhdGUnIHN0cmVhbXMKCSAgV2hlbiBtdXhpbmcgc3RyZWFtcywgc29tZSBjYW4gc3RhcnQgbGF0ZXIgdGhhbiBvdGhlcnMuIHF0bXV4CgkgIG5vdyBoYW5kbGUgdGhpcyBieSBhZGRpbmcgYW4gZW1wdHkgZWR0cyBlbnRyeSB3aXRoIHRoZQoJICBkdXJhdGlvbiBvZiB0aGUgJ2xhdGVuZXNzJyB0byB0aGUgc3RyZWFtJ3MgdHJhay4KCSAgSXQgdG9sZXJhdGVzIGEgc3RyZWFtIHRvIGJlIHVwIHRvIDAuMXMgbGF0ZS4KCSAgRml4ZXMgIzU4Njg0OAoKMjAwOS0xMS0wNSAyMTozNTo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkgIHF0bXV4OiBhZGRzIHRoZSBFRFRTIGFuZCBFTFRTIGF0b21zIHRvIGF0b21zLmMKCSAgVGhlc2UgYXRvbXMgd2lsbCBiZSB1c2VmdWwgZm9yIHNpZ25hbGluZyBzdHJlYW1zCgkgIHRoYXQgc3RhcnQgbGF0ZXIgaW4gdGhlIGZpbGUuIEFzIHdlbGwgZm9yIGFkZGluZwoJICBlZGl0IGxpc3RzIGlmIG5lZWRlZCBzb21ldGltZSBsYXRlci4KCjIwMDktMTEtMTcgMTc6NTk6NTYgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkgIGFkcGNtZGVjOiBkZWNvZGUgYWRwY20gd2l0aG91dCBleHBsaWNpdCBsZW5ndGgsIGFzIGZvdW5kIGluIHF0LgoKMjAwOS0xMS0xNSAwMzoyMTo1NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBGb3J3YXJkIHRoZSBzdGlsbCBmcmFtZSBldmVudCBkb3duc3RyZWFtCgkgIEZvcndhcmQgc3RpbGwtZnJhbWUgZXZlbnRzIGRvd25zdHJlYW0gc28gZWxlbWVudHMgbGlrZSBkZWludGVybGFjZQoJICBjYW4gdXNlIHRoZW0uCgoyMDA5LTExLTE0IDAwOjMxOjI5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IEd1YXJkIGFnYWluc3QgYSBkaXZpZGUtYnktemVybyBlcnJvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwMDI2MwoKMjAwOS0xMS0xOCAwMTo0NjozOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC4xNy4xCgoyMDA5LTExLTE3IDAxOjUzOjU0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSAgQWRkIDAuMTAuMTcgcmVsZWFzZSB0byB0aGUgZG9hcCBmaWxlCgo9PT0gcmVsZWFzZSAwLjEwLjE3ID09PQoKMjAwOS0xMS0xNyAwMToyNTo0NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjE3CgoyMDA5LTExLTE3IDAxOjEzOjM2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOS0xMS0xNSAyMTo0NjowMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSAgc2lnbmFscHJvY2Vzc29yOiBkb24ndCBzZXQgY2hhbm5lbCBwb3NpdGlvbnMgaW4gdGVtcGxhdGUtY2FwcywgRml4ZXMgIzYwMTc3NQoJICBSZXZlcnQgdGhlIGNoYW5nZXMgdGhhdCBhZGRlZCBhdWRpbyBwb3NpdGlvbnMgdG8gdGVtcGxhdGUgY2Fwcy4gV2UgaGF2ZSBhbiB1bi0KCSAgZm9ydHVuYXRlIGxpbWl0YXRpb24gaW4gY29yZSB0aGF0IGRvZXMgbm90IGFsbG93IHRvIGRvIGl0LiBLZWVwIGEgZmV3IHRoaW5ncwoJICBjb21tZW50ZWQgb3V0LCBzbyB0aGF0IHRoZSBjaGFubmVsIHBvc2l0aW9uIGNhbiBsYXRlciBvbiBiZSBzZXQgaW4gc2V0Y2Fwcy4KCjIwMDktMTEtMTMgMDI6MTg6MzEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8va3kucG86CgkqIHBvL2x2LnBvOgoJKiBwby9zdi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE2LjMgcHJlLXJlbGVhc2UKCjIwMDktMTEtMTEgMTA6NTg6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHQ6IFBvcnQgdG8gMC43IEFQSQoJICBGaXhlcyBidWcgIzYwMDcyNC4KCjIwMDktMTEtMTEgMTA6NTQ6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHQ6IE1ha2UgY2VsdCB2ZXJzaW9uIGNoZWNrcyBiZXR0ZXIgZXh0ZW5zaWJsZQoKMjAwOS0xMS0wOSAxOToyMDoyMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTYuMiBwcmUtcmVsZWFzZQoKMjAwOS0xMS0wOSAxOTowODo0OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2FpZmYvTWFrZWZpbGUuYW06CgkqIGdzdC9haWZmL2FpZmYuYzoKCSAgYWlmZjogRGlzYWJsZSBhaWZmIG11eGVyIGZvciB0aGlzIHJlbGVhc2UuCgkgIFRoZSBhaWZmIG11eGVyIHJlbGllcyBvbiBHc3RCeXRlV3JpdGVyIEFQSSBhZGRlZCBhZnRlciAwLjEwLjI1LiBEaXNhYmxlCgkgIGl0IGZvciB0aGlzIHJlbGVhc2UuCgkgIFJldmVydCB0aGlzIGNvbW1pdCBhZnRlciBnc3QtcGx1Z2lucy1iYWQgMC4xMC4xNwoKMjAwOS0xMS0wOSAxNDoxMDoyMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2FzZm11eC9NYWtlZmlsZS5hbToKCSAgYXNmbXV4OiBVbmNvbW1lbnQgLS1kaXNhYmxlLXN0YXRpYyBmbGFnCgkgIEZvciBzb21lIHJlYXNvbiB0aGF0IGxpYnRvb2wgZmxhZ3MgbGluZSB0aGF0IHByZXZlbnRzIGJ1aWxkaW5nCgkgIHRoZSBzdGF0aWMgbGliIHdhcyBjb21tZW50ZWQgb3V0LiBSZXBvcnRlZCBieSBNYXJ0IFJhdWRzZXBwIG9uIElSQy4KCjIwMDktMTEtMDkgMTE6NDk6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogUmVtb3ZlIHVzZWxlc3MgdmFyaWFibGVzIGFuZCBmaXggYSB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmdzCgkgIE1lcmdlZCBmcm9tIGdzdC1wbHVnaW5zLWJhc2UsIGRmZDUxYWE4MmE5ZTFjOTkyNDM3NTE4Mzc5NmVhYjcwZTU3NGEyMzEuCgoyMDA5LTExLTA5IDExOjQ4OjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IE1ha2Ugc3VyZSB0aGF0IHJ1bm5pbmdfdGltZS0+dGltZXN0YW1wIGNhbGN1bGF0aW9uIG5ldmVyIGJlY29tZXMgbmVnYXRpdmUKCSAgTWVyZ2VkIGZyb20gZ3N0LXBsdWdpbnMtYmFzZSwgZjM2NTM4NTQ1ODU4NjRhMDlkMzVlMDM3ODUzNDA3MzMyZWE2OTAxZi4KCjIwMDktMTEtMDkgMTE6NDg6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogVXNlIHRoZSBzdGFydCB0aW1lIChpLmUuIHRpbWVzdGFtcCkgYXMgdGhlIGxhc3Qgc3RvcAoJICBVc2luZyB0aGUgZW5kIHRpbWUgbWFrZXMgaXQgaW1wb3NzaWJsZSB0byByZXBsYWNlIGJ1ZmZlcnMsIHdoaWNoIGlzCgkgIGEgYmlnIHByb2JsZW0gZm9yIHN1YnRpdGxlcyB0aGF0IGNvdWxkIGhhdmUgdmVyeSBsb25nIGR1cmF0aW9ucy4KCSAgTWVyZ2VkIGZyb20gZ3N0LXBsdWdpbnMtYmFzZSwgMjcwMzRiZTQ2MTEyMzFjYzU1ZmEzZDNlMjUzYmFhNDBjNmJmZjQxZC4KCjIwMDktMTEtMDkgMTE6NDc6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogSW1wcm92ZSBkZWJ1Z2dpbmcKCSAgTWVyZ2VkIGZyb20gZ3N0LXBsdWdpbnMtYmFzZS4KCjIwMDktMTEtMDcgMTI6Mjk6MTUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzoKCSAganAya2VuYzogRml4IGtsYXNzIChzL0RlY29kZXIvRW5jb2Rlci8pCgoyMDA5LTExLTA2IDE1OjMxOjI2ICswMTAwICBDaHJpcyBIaWxscyA8Y2hhekBjaGF6Ni5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IEFkZCBzdXBwb3J0IGZvciBEVkItVC9EVkItQyB3aXRoIERWQiBBUEkgMy4zCgoyMDA5LTExLTA2IDExOjQ0OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogVGhlIHRleHQgYW5kIHZpZGVvIGR1cmF0aW9uIHNob3VsZCBvbmx5IGNvbXBhcmVkIGFzIHJ1bm5pbmcgdGltZSB0b28KCSAgVGhlIGVuZCB0aW1lcyBvZiB0aGUgdGV4dCBhbmQgdmlkZW8gYnVmZmVycyBjb3VsZCBiZSBkaWZmZXJlbnQgdGhhbgoJICB0aGVpciBzdGFydCBydW5uaW5nIHRpbWUgKyBkdXJhdGlvbiBiZWNhdXNlIG9mIGRpZmZlcmVudCByYXRlcy4KCjIwMDktMTEtMDYgMDk6MTY6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZS5jOgoJICBrYXRlOiBMb3dlciB0aWdlcidzIHJhbmsgdG8gTk9ORSBhZ2FpbgoJICBJdCdzIG5vdCB3ZWxsIHRlc3RlZCB5ZXQgYW5kIGRvZXNuJ3QgaGFuZGxlIHNlZ21lbnRzIGFuZCB0ZXh0L3ZpZGVvCgkgIHN5bmNocm9uaXphdGlvbiBwcm9wZXJseSB5ZXQuIEF1dG9wbHVnZ2luZyBpdCB3aWxsIGNhdXNlIGZhaWx1cmVzLgoKMjAwOS0xMS0wNiAwNzoxMjowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IFJlc2V0IHNlZ21lbnRzIG9uIEZMVVNIX1NUT1AgZXZlbnRzCgoyMDA5LTExLTA1IDE3OjQxOjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogSW1wcm92ZSBkZWJ1Z2dpbmcKCjIwMDktMTEtMDYgMDA6NDY6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogQWRkaW5nIHNvbWUgaWZzIGZvciBwcm90ZWN0aW9uCgkgIEFkZGluZyBzb21lcyBpZnMgdG8gcHJvdGVjdCBhZ2FpbnN0IHdhcm5pbmcgY29uZGl0aW9ucwoJICB0aGF0IG1pZ2h0IGhhcHBlbiB3aGVuIHVwc3RyZWFtIGVsZW1lbnQgaXMgbm90IHNhbmUKCSAgRml4ZXMgIzYwMDg5NQoKMjAwOS0xMS0wNSAxMzo0MDozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IHByb3Blcmx5IHVwZGF0ZSBuZXcgc2VnbWVudHMKCSAgU2NhbGV0ZW1wbyB3YXMgbWlzc2luZyBhbiB1cGRhdGUgb2YgJ3N0b3AnIGluCgkgIG5ldyBzZWdtZW50IHBhcmFtZXRlcnMgd2hlbiBwdXNoaW5nIGl0IGRvd25zdHJlYW0sCgkgIHdoaWNoIGNhdXNlZCBmaWxlcyB0byBlbmQgZWFybGllciB3aGVuIHJhdGUgPCAxLgoJICBGaXhlcyAjNTk5OTAzCgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBCYXN0aWFuIEhlY2h0IDxoZWNodGJAZ21haWwuY29tPgoKMjAwOS0xMS0wNSAyMzoxNzo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgdGltaWRpdHk6IHByaW50ZiBmb3JtYXQgZml4ZXMKCjIwMDktMTEtMDUgMjI6MDM6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSAgbXl0aHR2OiBwcmludGYgZm9ybWF0IGZpeGVzCgoyMDA5LTExLTA1IDIxOjU4OjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgIG1tczogcHJpbnRmIGZvcm1hdCBmaXhlcwoKMjAwOS0xMS0wNSAyMTo1MTowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSAga2F0ZTogcHJpbnRmIGZvcm1hdCBmaXhlcwoKMjAwOS0xMS0wNSAyMTo0NzowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkOiBwcmludGYgZm9ybWF0IGZpeGVzCgoyMDA5LTExLTA1IDIxOjQ1OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmJiYXNlYmluOiBwcmludGYgZm9ybWF0IGZpeGVzCgoyMDA5LTExLTA1IDIxOjQ0OjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgZGlyZWN0ZmI6IHByaW50ZiBmb3JtYXQgZml4ZXMKCjIwMDktMTEtMDUgMjE6NDQ6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6CgkgIGFsc2FzcGRpZnNpbms6IHByaW50ZiBmb3JtYXQgZml4ZXMKCjIwMDktMTEtMDUgMTc6MTM6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBVcGRhdGUgbGFzdCBzdG9wIGZvciB0aGUgc3VidGl0bGVzCgoyMDA5LTExLTA1IDE3OjA2OjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogU3luY2hyb25pemUgdGV4dCBhbmQgdmlkZW8gYnkgdGFraW5nIHRoZSBydW5uaW5nIHRpbWUgaW5zdGVhZCBvZiB0aGUgc3RyZWFtIHRpbWUKCjIwMDktMTEtMDUgMTY6NDQ6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBLZWVwIHRyYWNrIG9mIHRoZSBzdWJ0aXRsZSBzZWdtZW50cwoKMjAwOS0xMS0wNSAxNjo0MTo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IElmIHRoZSB2aWRlbyBzZWdtZW50IGlzIG5vdCBpbiBUSU1FIGZvcm1hdCBkb24ndCBhY2NlcHQgaXQKCjIwMDktMTEtMDQgMjI6NTI6MTkgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZHRtZmRldGVjdDogQWRkIGR0bWZkZXRlY3RzIHRvIHBsdWdpbnMgZG9jcwoKMjAwOS0xMS0wNCAyMjoxOTo1OCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL2dzdGR0bWYuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0Lmg6CgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0Lmg6CgkgIGR0bWZkZXRlY3Q6IEFkZCBEVE1GIHRvbmUgZGV0ZWN0b3IKCSAgSXQgbG9va3MgYXQgcmF3IGF1ZGlvIGRhdGEgYW5kIGVtaXRzIG1lc3NhZ2VzIHdoZW4gRFRNRiBpcyBkZXRlY3RlZC4KCSAgVGhlIGR0bWYgZGV0ZWN0b3IgaXMgdGhlIHNhbWUgR29lcnR6ZWwgaW1wbGVtZW50YXRpb24gdXNlZCBpbiBGcmVlU3dpdGNoCgkgIGFuZCBBc3Rlcmlzay4gSXQgaXMgaW4gdGhlIHB1YmxpYyBkb21haW4uCgoyMDA5LTExLTA1IDEzOjUzOjQ2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgUmV2ZXJ0ICJpbnB1dHNlbGVjdG9yOiB1c2UgZ2V0X2NhcHNfcmVmZmVkKCkiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNDllYzRmNzk2YTBlM2Y4OGE4NTE3MDg3ODJjODUzYmFmNGIwNTcyNC4KCSAgV2UgY2FuJ3QgdXNlIHRoaXMgbmV3IGZ1bmN0aW9uIHlldC4KCjIwMDktMTEtMDUgMTM6Mjk6NTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiB1c2UgZ2V0X2NhcHNfcmVmZmVkKCkKCjIwMDktMTEtMDUgMTM6MTc6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBEcm9wIHRvbyBsYXRlIHRleHQgYnVmZmVyIGltbWVkaWF0ZWx5CgkgIEFsc28gaW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQgYW5kIGRyb3AgYnVmZmVycyB3aXRob3V0IHZhbGlkCgkgIHRpbWVzdGFtcCBvciBkdXJhdGlvbiBiZWNhdXNlIHdlIGNhbid0IGhhbmRsZSB0aGVtLgoKMjAwOS0xMS0wNSAxMjoyNToyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEZpeCByYWNlIGNvbmRpdGlvbiB0aGF0IHJlc3VsdHMgaW4gYSBkZWFkbG9jayBvbiBzaHV0ZG93bgoKMjAwOS0xMS0wNCAyMjoyMTozNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBkdG1mc3JjOiBSZWplY3QgZW1wdHkgY2FwcwoKMjAwOS0xMS0wNCAyMjoyMToyMiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBkdG1mc3JjOiBVc2UgbG9nIGxldmVsIGZvciByZXBlYXRlZCBkZWJ1ZyBtZXNzYWdlcwoKMjAwOS0xMS0wNCAyMDowNToxNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBkdG1mc3JjOiBBbGxvdyBmb3IgYW55IHNhbXBsZXJhdGUKCjIwMDktMTEtMDQgMjM6MzI6MDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogRml4IHByZXZpb3VzIGNvbW1pdDogZW5zdXJlIHdlIHRha2UgYSByZWYgb24gdGhlIGZlYXR1cmVzCgoyMDA5LTExLTA0IDE1OjIxOjUwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgcmVzaW5kdmQsYXV0b2NvbnZlcnQ6IEF2b2lkIGRlcGVuZGluZyBvbiAwLjEwLjI2IEFQSQoJICBXYWl0IHVudGlsIGFmdGVyIHRoZSBuZXh0IHJlbGVhc2UgdG8gYnVtcCB0aGUgY29yZSByZXF1aXJlbWVudC4KCSAgVW50aWwgdGhlbiwgZG9uJ3QgdXNlIGdzdF9wbHVnaW5fZmVhdHVyZV9saXN0X2NvcHkgYW5kCgkgIGdzdF9wYWRfcGVlcl9nZXRfY2Fwc19yZWZlZC4KCjIwMDktMTEtMDIgMTc6MDY6NTMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IFJlbW92ZSBvbGQgY29kZSBhbmQgb2Jzb2xldGUgY29tbWVudHMKCSAgUmVtb3ZlIHNvbWUgZGlzYWJsZWQgY29kZSBwYXRocyBhbmQgb2Jzb2xldGUgRklYTUUgY29tbWVudHMKCjIwMDktMTAtMTQgMTU6NDc6MjcgLTA0MDAgIEdhYnJpZWwgTWlsbGFpcmUgPGdhYnJpZWwubWlsbGFpcmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHRkZWMgOiBjaGFpbl9wYXJzZV9kYXRhIDogY2hlY2sgdmFsaWRpdHkgb2YgdGltZXN0YW1wLCBjcmVhdGUgYSBuZXcgb25lIGlmIG5lZWRlZCBjZWx0ZW5jIDogZGVmYXVsdCBmcmFtZXNpemUgaXMgNDgwICAgICAgICAgICBzZXRjYXBzIDogZ2V0cyBmcmFtZXNpemUgYW5kIHNldCBjYXBzICAgICAgICAgICBlbmNfY2hhaW4gOiBzZXRzIGZyYW1lc2l6ZSBpbiBjYXBzICAgICAgICAgICBBZGRlZCBmcmFtZS1zaXplIHRvIHN0YXRpYyBjYXBzIG9mIGF1ZGlvL3gtY2VsdCAgICAgICAgICAgUmVwbGFjZWQgR1NUX0RFQlVHX09CSkVDVCBieSBHU1RfTE9HX09CSkVDVCBpbiBlbmNfY2hhaW4gICAgICAgICAgIHNldGNhcHM6IGdldCBmcmFtZS1zaXplIGZyb20gaW50IGluc3RlYWQgb2Ygc3RyaW5nICAgICAgICAgICBzZXRjYXBzOiB1c2UgZGVmYXVsdCB2YWx1ZSBmb3IgZnJhbWUtc2l6ZQoKMjAwOS0xMS0wNCAxNzoxMzozNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVnZGVtdXg6IEZpeCBwb2ludGVyLWRpZmZlcmVuY2VzIHByaW50b3V0CgkgIFRoZXJlIGlzIHVuZm9ydHVuYXRlbHkgbm8gR18qX0ZPUk1BVCBjb252ZXJzaW9uIHNwZWNpZmllciBmb3IgZGlmZmVyZW5jZXMgb2YKCSAgcG9pbnRlcnMgaW4gZ2xpYiwgYW5kIHdlIGNhbid0IHJlbHkgZWl0aGVyIG9uIGFsbCBwbGF0Zm9ybXMgYmVpbmcgNjRiaXQuCgkgIFNvIGxldCdzIGp1c3QgY2FzdCB0aGUgZGlmZmVyZW5jZSB0byBhIGdpbnQgYW5kIGJlIGRvbmUgd2l0aCBpdC4KCjIwMDktMTEtMDQgMTM6NTU6MDQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHBvL01ha2V2YXJzOgoJICBwbzogRG9uJ3QgY3JlYXRlIGJhY2t1cCAucG8gZmlsZXMKCSAgQXMgd2VsbCBhcyBwcmV2ZW50aW5nIGNyZWF0aW9uIG9mIHVzZWxlc3MgYmFja3VwIGZpbGVzLCBpdCB3b3JrcwoJICBhcm91bmQgYSBidWcgaW4gZ2V0dGV4dCAwLjE3IG9uIE9TL1gKCjIwMDktMTEtMDQgMTU6NTc6NDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkgIGNkYXVkaW86IGZpeCBwcm9wZXJ0aWVzCgkgIEZpeCBwcm9wZXJ0aWVzIGFuZCBhbGxvdyBzZXR0aW5nIHRoZSBkZXZpY2UgcHJvcGVydHkuCgoyMDA5LTExLTA0IDEzOjExOjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogUmV0dXJuIFdST05HX1NUQVRFIGZyb20gdGhlIHN1YnRpdGxlIGNoYWluIHdoZW4gZmx1c2hpbmcKCjIwMDktMTEtMDQgMTM6MDc6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBVbmxvY2sgYW5kIGZyZWUgYW55IHBlbmRpbmcgc3VidGl0bGUgYnVmZmVycyBvbiBGTFVTSF9TVEFSVAoKMjAwOS0xMS0wNCAxMjo1MDoxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IFN5bmNocm9uaXplIHN1YnRpdGxlIGJ1ZmZlcnMgd2l0aCB0aGUgdmlkZW8KCSAgRml4ZXMgYnVnICM2MDA2NjIuCgoyMDA5LTExLTA0IDAwOjIxOjE5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBhbHNvIGFkZCBpbmxpbmUgdG8gdGhlIHByb3RvIHRvIGZpeCB0aGUgYnVpbGQKCjIwMDktMTEtMDQgMDA6MTk6MjAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSAgemJhcjogaW5jbHVkZSBxdWFsaXR5IGFuZCBjaGVjayBjb3VudCwgZml4ZXMgIzYwMDQ2MQoJICBXZSByZXBvcnQgdGhlIHJlbGF0aXZlIHF1YWxpdHkgaW4gdGhlIG1lc3NhZ2UgYW5kIHdlIGFsc28gdXNlIHRoZSBjYWNoZSB0byBza2lwCgkgIGVhcmx5IGRldGVjdHMgYW5kIGRvdWJsZXMuCgoyMDA5LTExLTAzIDE4OjE0OjEyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgZ3N0OiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cyBhbmQgcmVzdWx0aW5nIHVudXNlZCB2YXJpYWJsZXMKCSAgTWVyZ2VkIGZyb20gZ3N0LXBsdWdpbnMtYmFzZSwgOGNkMWI1MjA5YjY4OTQ0ZTFiZTU2Y2E4YmI2OWU0NmQ0YWJiN2EzNC4KCjIwMDktMTEtMDMgMTg6MTI6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogVXNlIHRoZSBzYW1lIGl0ZXJhdGUgaW50ZXJuYWwgbGlua3MgZnVuY3Rpb24gYXMgaW4gZ3N0LXBsdWdpbnMtYmFzZQoKMjAwOS0xMS0wMyAxODoxMToxMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBSZW1vdmUgR1NUX0RFQlVHX0ZVTkNQVFIgd2hlcmUgdGhleSdyZSBwb2ludGxlc3MKCSAgVGhlcmUncyBub3QgbXVjaCBwb2ludCBpbiB1c2luZyBHU1RfREVCVUdfRlVOQ1BUUiB3aXRoIEdPYmplY3QKCSAgdmlydHVhbCBmdW5jdGlvbnMgc3VjaCBhcyBnZXRfcHJvcGVydHksIHNldF9wcm9wZXJ5LCBmaW5hbGl6ZSBhbmQKCSAgZGlzcG9zZSwgc2luY2UgdGhleSdsbCBuZXZlciBiZSB1c2VkIGJ5IGFueW9uZSBhbnl3YXkuIFNhdmVzIGEKCSAgZmV3IGJ5dGVzIGFuZCBwb3NzaWJseSBhIHNpeHRlZW50aCBvZiBhIHBvbGFyIGJlYXIuCgkgIE1lcmdlZCBmcm9tIGdzdC1wbHVnaW5zLWJhc2UsIDZmNGMxYWM1ODM0MWVlMTg5MjI1ZDMxM2RkZmU5YWUyNGE2NWM4OGMuCgoyMDA5LTExLTAzIDE4OjA5OjU1ICswMTAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIFJlbW92ZSBSb25hbGQgQnVsdGplIGZyb20gQXV0aG9ycyBmaWVsZAoJICBSZXBsYWNlZCB3aXRoICJHU3RyZWFtZXIgbWFpbnRhaW5lcnMKCSAgPGdzdHJlYW1lci1kZXZlbEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+IiBvciBqdXN0IHJlbW92ZWQsCgkgIGRlcGVuZGluZyBvbiB0aGUgbnVtYmVyIG9mIG90aGVyIGF1dGhvcnMuCgkgIE1lcmdlZCBmcm9tIGdzdC1wbHVnaW5zLWJhc2UsIDBlOWJjNTEyNWFjYTU0NmQ3NzNlZDEwMDJkZjU3M2RkOGUyZGMxMzYuCgoyMDA5LTExLTAzIDE4OjA4OjA1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3Rvcjogc2V0IG91dHB1dCBjYXBzIGJlZm9yZSBwdXNoaW5nCgkgIFNldCB0aGUgb3V0cHV0IGNhcHMgb24gdGhlIHNyY3BhZCBiZWZvcmUgcHVzaGluZyB0aGUgYnVmZmVyIGJlY2F1c2UgZWxzZSBjb3JlCgkgIHdpbGwgZG8gYSByYXRoZXIgZXhwZW5zaXZlIGNoZWNrIHRvIHNlZSBpZiB3ZSBjYW4gYWN0dWFsbHkgYWNjZXB0IHRob3NlIGNhcHMgb24KCSAgdGhlIHNyY3BhZC4KCSAgTWVyZ2VkIGZyb20gZ3N0LXBsdWdpbnMtYmFzZSwgYmRmYjRiNDZkNzQ2ZWYyOThmY2Y0NDI2MDg3OWMzNDJhZjRjYWZhMy4KCjIwMDktMTEtMDMgMTg6MDY6MTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBpbnN0YWxsIGFuIGFjY2VwdGNhcHMgZnVuY3Rpb24KCSAgSW5zdGFsbCBhIGN1c3RvbSBhY2NlcHRjYXBzIGZ1bmN0aW9uIGluc3RlYWQgb2YgdXNpbmcgdGhlIGRlZmF1bHQgZXhwZW5zaXZlCgkgIGNoZWNrLiBXZSBhY2NlcHQgd2hhdGV2ZXIgZG93bnN0cmVhbSBhY2NlcHRzIHNvIHdlIHBhc3MgYWxvbmcgdGhlIGFjY2VwdGNhcHMKCSAgY2FsbCB0byB0aGUgZG93bnN0cmVhbSBwZWVyLgoJICBNZXJnZWQgZnJvbSBnc3QtcGx1Z2lucy1iYXNlLCA1YjcyZjJhZGY5OTY3MzkwMzZlOGQ5YjVmOTEwMDU0NTVkMWZmYWNlLgoKMjAwOS0xMS0wMyAxNTowODowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAgdGlnZXI6IE1ha2Ugc3VyZSB0aGF0IHRpZ2VyIGlzIG5vdCBhdXRvcGx1Z2dlZCBieSBkZWNvZGViaW4yCgkgIEl0J3Mgbm90IHJlYWxseSBhIGRlY29kZXIuLi4KCjIwMDktMTEtMDMgMTQ6NTA6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZS5jOgoJICBrYXRlOiBDaGFuZ2UgcmFua3Mgb2Yga2F0ZWRlYyBhbmQgdGlnZXIgdG8gUFJJTUFSWSB0byBiZSBhdXRvcGx1Z2dlZAoKMjAwOS0xMS0wMyAxNDo0OTo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAgdGlnZXI6IENoYW5nZSBuYW1lIG9mIHRoZSBzdWJ0aXRsZSBzaW5rIHRlbXBsYXRlIGFuZCBjbGFzc2lmaWNhdGlvbgoJICBUaGlzIHdpbGwgbWFrZSBzdXJlIHRoYXQgc3VidGl0bGVvdmVybGF5IGNhbiB3b3JrIHdpdGggdGlnZXIuCgoyMDA5LTExLTAyIDExOjMzOjE5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgcmVzaW5kdmQ6IFRha2UgYSBjb3B5IG9mIHRoZSBwYXNzZWQgcGx1Z2luIGZlYXR1cmVzCgkgIENsYXJpZnkgdGhlIG93bmVyc2hpcCBvZiB0aGUgaW50ZXJuYWwgcGx1Z2luIGZlYXR1cmUgbGlzdCBieSBtYWtpbmcKCSAgYSBjb3B5IG9mIGFueSBwYXNzZWQgbGlzdC4gQXZvaWRzIGNyYXNoZXMgd2hlbiBmcmVlaW5nIGEgcGFzc2VkIGxpc3QsCgkgIG9yIGxlYWtzIGNhdXNlZCBieSBub3QgZnJlZWluZyBhbnkgaW50ZXJuYWxseSBidWlsdCBsaXN0LgoKMjAwOS0xMS0wMiAxMDoyMDo0MCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuYzoKCSAgcmVzaW5kdmQ6IEZpeCBhbiBvdmVyc2lnaHQgZnJvbSB1cGRhdGluZyB0aGUgY29weSBvZiBiYXNlc3JjCgkgIFBsdWdpbnMgbmVlZCBnc3QtaTE4bi1wbHVnaW4uaCwgbm90IGdzdC1pMThuLWxpYi5oCgoyMDA5LTExLTAxIDE1OjU2OjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBwaXRjaDogcmVtb3ZlIHBvaW50bGVzcyBnc3RfZWxlbWVudF9ub19tb3JlX3BhZHMoKQoKMjAwOS0xMS0wMSAyMzoxNzowMiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBVc2UgZ3N0X2Jhc2Vfc3JjX25ld19zZWFtbGVzc19zZWdtZW50KCkKCSAgV2hlbiBzd2l0Y2hpbmcgdG8gYSBuZXcgc2VhbWxlc3Mgc2VnbWVudCwgdXNlIHRoZSBuZXcKCSAgZ3N0X2Jhc2Vfc3JjX25ld19zZWFtbGVzc19zZWdtZW50KCkgZnVuY3Rpb24sIGJlY2F1c2UgZWxlbWVudHMgY2FuJ3QKCSAgc2VuZCB0aGVtc2VsdmVzIHNlZWsgZXZlbnRzIGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQuCgoyMDA5LTExLTAxIDIzOjE2OjE4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5oOgoJICByZXNpbmR2ZDogQWRkIGdzdF9iYXNlX3NyY19uZXdfc2VhbWxlc3Nfc2VnbWVudCgpIHRvIEdzdEJhc2VTcmMgY29weQoJICBBZGQgYSBuZXcgZnVuY3Rpb24gdG8gdGhlIGludGVybmFsIGNvcHkgb2YgR3N0QmFzZVNyYyBmb3Igc3RhcnRpbmcgYSBuZXcKCSAgc2VhbWxlc3Mgc2VnbWVudC4KCjIwMDktMTEtMDEgMTk6MjE6MzggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5oOgoJKiBleHQvcmVzaW5kdmQvcnNucHVzaHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNucHVzaHNyYy5oOgoJICByZXNpbmR2ZDogVXBkYXRlIHRoZSBiYXNlIHNvdXJjZSBjb3B5CgkgIFRoaXMgYnJlYWtzIHNlYW1sZXNzIHNlZ21lbnQgdXBkYXRlcywgY2F1c2luZyBkZWFkbG9ja3MsCgkgIHRvIGJlIGZpeGVkIGluIHN1YnNlcXVlbnQgY29tbWl0cy4KCjIwMDktMTEtMDIgMDI6NDg6MTggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJICBkdmRzcHU6IEZpeCBQR1Mgd2luZG93IHBhcnNpbmcKCSAgRml4IGEgcHJvYmxlbSBpbnRyb2R1Y2VkIGluIHRoZSBsYXN0IFBHUyBwYXJzaW5nIHBhdGNoIGJ5IHNraXBwaW5nCgkgIHRoZSB3aW5kb3cgY291bnQgYnl0ZSBhZnRlciByZWFkaW5nIGl0LgoKMjAwOS0xMS0wMSAyMDo0Mjo0NCArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmOiBmaXggYWlmZnBhcnNlIGRlYnVnIGNhdGVnb3J5IHZhcmlhYmxlIG5hbWUKCSAgRml4ZXMgbWlzc2luZyBzeW1ib2wgd2hlbiBjb21waWxpbmcgd2l0aCBkZWJ1Z2dpbmcsIHNpbmNlIHRoaXMgaXMgbm93IGluIHN5bmMKCSAgd2l0aCB0aGUgcGx1Z2luX2luaXQgaW4gYWlmZi5jLgoKMjAwOS0xMS0wMSAyMDo0MTowMyArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9haWZmL2FpZmYuYzoKCSAgYWlmZjogaW5pdCBwbHVnaW4gZGVidWcgY2F0ZWdvcnkKCSAgRml4ZXMgYXNzZXJ0aW9uIChvciB1bnVzZWQgdmFyaWFibGUgd2FybmluZyB3aXRoIERJU0FCTEVfTkxTKS4KCjIwMDktMTAtMzEgMTk6NDI6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGdzdC9haWZmL2FpZmZtdXguaDoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmg6CgkgIGFpZmY6IGFkZCBhaWZmIGVsZW1lbnRzIHRvIGRvY3MKCjIwMDktMTAtMzEgMTk6Mzc6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvYWlmZi5jOgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuaDoKCSAgYWlmZjogZ3JhdHVpdGlvdXMgY2xlYW4tdXBzOiBjYW5vbmljYWxpc2UgZnVuY3Rpb24gbmFtZXMsIHN0cnVjdHMgYW5kIGRlZmluZXMKCjIwMDktMTAtMzEgMTc6NTA6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvTWFrZWZpbGUuYW06CgkqIGdzdC9haWZmL2FpZmYuYzoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmg6CgkgIGFpZmY6IGVuYWJsZSBuZXcgYWlmZiBtdXhlcgoJICBGaXhlcyAjNTk4NzYzIGV2ZW4gbW9yZS4KCjIwMDktMTAtMTcgMjI6NTg6MDMgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGdtYWlsLmNvbT4KCgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSogZ3N0L2FpZmYvYWlmZm11eC5oOgoJICBhaWZmOiBhZGQgYmFzaWMgQUlGRiBtdXhlcgoJICBGaXhlcyAjNTk4NzYzLgoKMjAwOS0xMC0zMSAxNzoyNToxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9NYWtlZmlsZS5hbToKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5oOgoJICBhaWZmOiByZW1vdmUgdW51c2VkIGluY2x1ZGVzIGFuZCBmaXggZmxhZ3Mgb3JkZXIgaW4gTWFrZWZpbGUuYW0KCSAgQWxzbyByZW1vdmUgR1NUX1BMVUdJTlNfQkFTRV9MSUJTIGZyb20gTElCQUREIHNpbmNlIHdlIGRvbid0CgkgIG5lZWQgdG8gbGluayBhZ2FpbnN0IGFueSBvZiB0aGUgLWJhc2UgbGlicyAod2UganVzdCB1c2UgYSBkZWZpbmUKCSAgZnJvbSB0aGUgZ3N0YXVkaW8gaGVhZGVycykuCgoyMDA5LTEwLTMxIDE3OjIwOjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9haWZmL01ha2VmaWxlLmFtOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmg6CgkqIGdzdC9haWZmcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmM6CgkqIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmg6CgkqIHBvL1BPVEZJTEVTLmluOgoJICBhaWZmOiByZW5hbWUgJ2FpZmZwYXJzZScgcGx1Z2luIHRvICdhaWZmJwoKMjAwOS0xMC0wOCAxOTowNjoyNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHRlc3RzOiBBZGQgdGVzdCBmb3IgcnRwZHRtZm11eCBsb2NraW5nCgoyMDA5LTA5LTI4IDE5OjU0OjUzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHRlc3RzOiBBZGQgdW5pdCB0ZXN0IGZvciBydHBtdXgKCjIwMDktMDktMjggMTM6MzY6NDQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRG9uJ3QgaWdub3JlIHJlcXVlc3RlZCBwYWQgbmFtZQoKMjAwOS0xMC0yOSAxNjo0MjozNCAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IFVzZSBHU1RfUExVR0lOU19CQVNFX3tDRkxBR1MsTElCU30gZm9yIGNhbWVyYWJpbiB0ZXN0cy4KCjIwMDktMTAtMjkgMTY6MzQ6MjMgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9wbHVnaW4uYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvcGx1Z2luLm06CgkgIG9zeHZpZGVvc3JjOiBjaGFuZ2UgYSAubSBmaWxlIGNvbnRhaW5pbmcgb25seSBDIGNvZGUgdG8gYSAuYyBmaWxlLiBNYWtlcyBidWlsZGluZyB0aGlzIGVhc2llci4KCjIwMDktMTAtMjcgMjI6MDg6NDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IERvbid0IHNlbmQgbmV3LXNlZ21lbnQgd2l0aCBzdGFydCB0aW1lID09IC0xCgkgIFdoZW4gc2VuZGluZyBuZXctc2VnbWVudCB0byBhIHN0cmVhbSwgZW5zdXJlIHRoYXQgdGhlcmUgaXMgZWl0aGVyIGEgdmFsaWQKCSAgUENSLCBvciBlbHNlIHdhaXQgdW50aWwgdGhlcmUncyBhIFBUUyBvbiB0aGUgc3RyZWFtIChkcm9wcGluZyBwYWNrZXRzIGlmCgkgIG5lZWRlZCkgaW4gb3JkZXIgdG8gYXZvaWQgZ2VuZXJhdGluZyBhbiBpbnZsYWlkIG5ldy1zZWdtZW50cyBldmVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5NTE2MQoKMjAwOS0xMC0yOCAxNjoyMjoxMyArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHVzZSByYXcgYXVkaW8vdmlkZW8gaW4gdW5pdCB0ZXN0cwoJICBSZW1vdmVzIGRlcGVuZGVuY3kgdG8gb2dnL3ZvcmJpcy90aGVvcmEgd2hlbiBydW5uaW5nIGNhbWVyYWJpbgoJICB1bml0IHRlc3RzLgoKMjAwOS0xMC0yOCAxNzozNzo0NCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSAgZHNob3dzcmN3cmFwcGVyOiBjbGVhbnVwIHB1c2ggYnVmZmVyIGNhbGxiYWNrCgoyMDA5LTEwLTI3IDE0OjMxOjM5IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM211eDogZ2xpYiBkb2Vzbid0IHJlbGlhYmx5IG51bGwtdGVybWluYXRlIHdpZGUtY2hhcmFjdGVyIGVuY29kaW5ncyBpbiBnX2NvbnZlcnQsIHNvIHdyaXRlIHRoZSBudWxsLXRlcm1pbmF0b3Igc2VwYXJhdGVseSBhbmQgZXhwbGljaXRseS4KCjIwMDktMTAtMTggMTQ6MjA6MDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGx2MjogZml4IHBhZCBkaXJlY3Rpb24gZm9yIHVuZ3JvdXBlZCBwb3J0cwoJICBDbGFzc2ljIGNvcHknbidwYXN0ZSBidWcuCgoyMDA5LTEwLTI3IDE2OjM3OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogZml4IHRhZyB3cml0aW5nIGJ1ZwoJICBnX2NvbnZlcnQgc2VlbXMgdG8gYWRkIGEgc2luZ2xlIG51bGwgdGVybWluYXRpbmcgYnl0ZSB0bwoJICB0aGUgZW5kIG9mIHRoZSBzdHJpbmcsIGV2ZW4gd2hlbiB0aGUgb3V0cHV0IGlzIFVURjE2LCB3ZQoJICBmb3JjZSB0aGUgc2Vjb25kIDAgYnl0ZSB3aGVuIGNvcHlpbmcgdG8gdGhlIG91dHB1dCBidWZmZXIuCgkgIFRoaXMgaXNzdWUgd2FzIGNhdXNpbmcgcmFuZG9tIGNyYXNoZXMgYmVjYXVzZSBpdCB3YXMKCSAgYXNzdW1lZCB0aGF0IHRoZSBzdHJpbmcgcmVzdWx0aW5nIGZyb20gZ19jb252ZXJ0IGhhZAoJICAyIGV4dHJhIGJ5dGVzLCBidXQgaXQgaGFzIG9ubHkgb25lLgoKMjAwOS0xMC0yNyAxMTo1MTowNSAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSogdGVzdHMvaWNsZXMvb3V0cHV0LXNlbGVjdG9yLXRlc3QuYzoKCSogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3c6CgkqIHdpbjMyL3ZzOC9nc3QtcGx1Z2lucy1iYWQuc2xuOgoJKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0ZHJhdy52Y3Byb2o6CgkgIFJlbW92ZSBleGVjdXRhYmxlIGJpdHMgZnJvbSBub24tZXhlY3V0YWJsZSBmaWxlcy4KCjIwMDktMTAtMjcgMDA6MjI6NDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5jOgoJKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuaDoKCSAgcmVzaW5kdmQ6IFJlbW92ZSBleHRyYSBuZXctc2VnbWVudCBpbiByc25zdHJlYW1zZWxlY3Rvci4gU2VuZCBkaXNjb250LgoJICBBbGwgdGhlIGlucHV0IHBhZHMgZm9yIHRoZSByZXNpbiBzdHJlYW0gc2VsZWN0b3JzIGhhdmUgdGhlIHNhbWUgc291cmNlLAoJICBhbmQgcmVjZWl2ZS9zZW5kIHRoZSBzYW1lIHNlZ21lbnQgaW5mbywgc28gdGhlcmUncyBubyBuZWVkIHRvIHNlbmQgYQoJICBzZWdtZW50IHdoZW4gc3dpdGNoaW5nIGFuZCBhY3RpdmF0aW5nIGEgZGlmZmVyZW50IHBhZC4gUmVtb3ZpbmcgaXQgbWFrZXMKCSAgb24tdGhlLWZseSBhdWRpbyB0cmFjayBzd2l0Y2hpbmcgd29yayBwcm9wZXJseS4KCSAgQWZ0ZXIgc3dpdGNoaW5nIGF1ZGlvIHRyYWNrLCBtYXJrIHRoZSBuZXh0IGJ1ZmZlciBkaXNjb250LgoKMjAwOS0xMC0yNiAyMDo1NToxNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBBdm9pZCBhIGRlYWRsb2NrLiBJbXByb3ZlIGNoYXB0ZXIgc2Vlay4KCSAgQXZvaWQgYSBwb3RlbnRpYWwgZGVhZGxvY2sgdGhhdCBoYXBwZW5zIHdoZW4gYSBjYWxsIHRvCgkgIGdzdF9jbG9ja19pZF93YWl0X2FzeW5jKCkgaW1tZWRpYXRlbHkgY2FsbHMgdGhlIGNhbGxiYWNrLgoJICBJbXByb3ZlIHByZXZpb3VzIGNoYXB0ZXIgc2Vla2luZyBzbGlnaHRseSBieSBhdm9pZGluZyAnc2VnbWVudAoJICBzdGFydCAhPSAtMScgYXNzZXJ0aW9ucyB3aGVuIHRoZXJlIGlzIG5vIHByZXZpb3VzIGNoYXB0ZXIgYW5kCgkgIHRoZSBzZWVrIHRoZXJlZm9yZSBmYWlscy4KCjIwMDktMTAtMjYgMTI6MTk6MzIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5jOgoJICByZXNpbmR2ZDogbG93ZXIgYSBkZWJ1ZyBtZXNzYWdlIHRvIGxvZyBsZXZlbC4KCjIwMDktMTAtMjYgMTE6MDA6MzQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogQWRkIGEga2V5cHJlc3MgbWFwcGluZyBmb3Igc3dpdGNoaW5nIGF1ZGlvIHRyYWNrCgkgIEZvciBkZWJ1Z2dpbmcgcHVycG9zZXMsIG1ha2Uga2V5cyAxLTggc3dpdGNoIGF1ZGlvIHRyYWNrLgoKMjAwOS0xMC0yNCAxMjo1NDoxOSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBBZGQgYSBzaW1wbGUgdW5pdCB0ZXN0CgkgIFNldCB1cCBhbiBhdXRvY29udmVydCB3aXRoIDIgZmFjdG9yaWVzLCBhbmQgY2hlY2sgdGhhdCBpdCBjYW4gc3dpdGNoCgkgIGJldHdlZW4gdGhlbSB3aGVuIHRoZSBjYXBzIGNoYW5nZS4KCjIwMDktMTAtMjQgMTQ6Mjk6MzMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuYzoKCSAgcmVzaW5kdmQ6IFNldCB0aGUgbmV3IGluaXRpYWwtaWRlbnRpdHkgcHJvcGVydHkgb24gYXV0b2NvbnZlcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5OTQ2OQoKMjAwOS0xMC0yNCAxMjozODoxNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5oOgoJICBhdXRvY29udmVydDogU3VwcG9ydCBpbnN0YWxsaW5nIGlkZW50aXR5IGFzIHRoZSBpbml0aWFsIGNoaWxkCgkgIEFkZCB0aGUgJ2luaXRpYWwtaWRlbnRpdHknIHByb3BlcnR5LCB3aGljaCBpbnNlcnRzIGlkZW50aXR5IGZvcgoJICBhdCBzdGFydHVwIGZvciBldmVudCBwYXNzaW5nLCBhbmQgcmVwbGFjZXMgaXQgd2l0aCBhIG5ldyBjaGlsZAoJICB3aGVuIHRoZSBmaXJzdCBidWZmZXIgKGFuZCBjYXBzKSBhY3R1YWxseSBhcnJpdmVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk5NDY5CgoyMDA5LTEwLTI0IDExOjE4OjU5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0Lmg6CgkgIGF1dG9jb252ZXJ0OiBDYWNoZSBpbmNvbWluZyBuZXcgc2VnbWVudCBldmVudHMgYW5kIHB1c2ggdG8gY2hpbGRyZW4uCgkgIENhY2hlIGluY29taW5nIG5ldy1zZWdtZW50IGluZm8uCgkgIFdoZW4gaW5zdGFsbGluZyBhIGNoaWxkIGVsZW1lbnQsIGluZm9ybSBpdCBvZiB0aGUgY3VycmVudCBzZWdtZW50IGluZm8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTk0NjkKCjIwMDktMTAtMjYgMDA6NDE6NTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogQWRkIHNvbWUgZGVidWcgaW4gZmFjdG9yeSBjYXBzIGludGVyc2VjdGlvbgoKMjAwOS0xMC0yNCAxMTowNTo0NyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBTaW1wbGUgZml4ZXMuCgkgIEZyZWUgdGhlIHBsdWdpbiBmZWF0dXJlIGxpc3Qgb24gZGlzcG9zZS4KCSAgT3V0cHV0IGEgZGVidWcgbWVzc2FnZSB3aGVuIGRvd25zdHJlYW0gcmV0dXJucyBhIGZhdGFsIGZsb3cgcmVzdWx0CgkgIEZpeCBhd2t3YXJkIHdvcmRpbmcgaW4gYSBkZWJ1ZyB3YXJuaW5nLgoKMjAwOS0xMC0yNCAxMDoyNzowMyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBHcmF0dWl0b3VzbHkgbW92ZSBHU1RfT0JKRUNUX0xPQ0sgaW50byBhIG1hY3JvCgkgIENyZWF0ZSBHU1RfQVVUT0NPTlZFUlRfTE9DSy9VTkxPQ0sgbWFjcm9zIHRoYXQgKGZvciBub3cpIGp1c3QgY2FsbAoJICBHU1RfT0JKRUNUX0xPQ0suCgoyMDA5LTEwLTE1IDEzOjMyOjMyICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYkBmbHVmZnkuKG5vbmUpPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBVc2UgZGVmaW5pdGlvbnMgZm9yIGRlZmF1bHQgdmFsdWVzCgkgIE1ha2VzIGNoYW5naW5nIHRoZSBkZWZhdWx0cyBlYXNpZXIgYW5kIG1vcmUgZm9vbC1wcm9vZiBpbiB0aGUgZnV0dXJlLgoJICBGaXhlcyAjNTk4NTUyCgoyMDA5LTEwLTE1IDEzOjE3OjQ2ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYkBmbHVmZnkuKG5vbmUpPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBDaGFuZ2UgZGVmYXVsdCBBQUMgUHJvZmlsZSB0byBMb3cgQ29tcGxleGl0eSAoTEMpIGFzIHRoaXMgaXMgbW9yZSB3aWRlbHkgc3VwcG9ydGVkCgoyMDA5LTEwLTE1IDEzOjE1OjQwICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYkBmbHVmZnkuKG5vbmUpPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBDaGFuZ2UgdGhlIHBhcmFtX3NwZWMgZGVmYXVsdCB2YWx1ZSBmb3IgYWxsb3dlZCBibG9jayB0eXBlcyB0byBtYXRjaCB0aGUgZ3N0X2ZhYWNfaW5pdCB2YWx1ZSBvZiAnbm9ybWFsJyBhcyB0aGlzIGlzIGJldHRlcgoKMjAwOS0xMC0yMCAxMDo1NzoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGNoZWNrIHdpZHRoL2hlaWdodCByYW5nZQoJICBDaGVja3MgaWYgdGhlIHdpZHRoL2hlaWdodCB0aGF0IGFyZSB0byBiZSBzZXQgb24gc3JjIHBhZCBjYXBzCgkgIGFyZSB3aXRoaW4gdmFsaWQgcmFuZ2Ugb2YgWzE2LDQwOTZdCgoyMDA5LTEwLTE2IDEwOjQ3OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9xdG11eC9mdHlwY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmg6CgkgIGdwcG11eDogQWRkIHN1cHBvcnQgZm9yIDNncjYKCSAgS2VlcCB0cmFjayBvZiB0aGUgY2h1bmsgZHVyYXRpb25zIHRvIGJlIGFibGUgdG8gYWRkIDNncjYKCSAgYnJhbmQgaWYgaXQgaXMgYSBmYXN0c3RhcnQgZmlsZSBhbmQgdGhlIGxvbmdlc3QgY2h1bmsgaXMKCSAgc21hbGxlciB0aGFuIGEgc2VjLiBJbXBsZW1lbnRlZCBhY2NvcmRpbmcgdG8gM2dwcAoJICBUUyAyNi4yNDQgdjYuNC4wICgyMDA1LTA5KQoJICBGaXhlcyAjNTg0MzYxCgoyMDA5LTEwLTE1IDIxOjExOjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogT25seSBwdXNoIGZ0eXAgbGF0ZXIgKGluIGZhc3RzdGFydCBtb2RlKQoJICBJbiBmYXN0c3RhcnQgbW9kZSwgdGhlcmUgaXMgbm8gbmVlZCB0byBzZW5kIHRoZSBmdHlwCgkgIHJpZ2h0IGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIHN0cmVhbS4gV2FpdGluZyBhbmQgc2VuZGluZyBpdAoJICBvbmx5IGxhdGVyICh3aGVuIHRoZSBtb292IGF0b20gaXMgcmVhZHkgdG8gYmUgc2VudCkgcHJvdmlkZXMKCSAgdXMgd2l0aCBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBzdHJlYW0gYW5kIHdlIGNhbiBiZXR0ZXIKCSAgc2VsZWN0IHRoZSBjb21wYXRpYmxlIGJyYW5kcy4KCjIwMDktMTAtMTUgMTc6NTE6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBJbXByb3ZlIGVycm9yIG1lc3NhZ2UKCSAgSW1wcm92ZSBlcnJvciBtZXNzYWdlIHdoZW4gd2UgY2FuJ3QgZ2V0IG9yIGVzdGltYXRlIHRoZQoJICB0aW1lc3RhbXAvZHVyYXRpb24gb2YgYSBidWZmZXIKCjIwMDktMTAtMjYgMDA6NDI6MTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IENvbW1pdCBidW1wZWQgdmVyc2lvbiBudW1iZXIKCjIwMDktMTAtMjQgMTY6MzE6MjYgLTA0MDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSAgY2FtZXJhYmluOiBmaXggYnVpbGQKCjIwMDktMTAtMTkgMTU6NTQ6MjkgKzAzMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBmaXggZm9yIGdzdHJlYW1lciBjb3JlIHVuaXQgdGVzdCBmcmFtZXdvcmsgdXBkYXRlCgkgIFNldCBjYW1lcmFiaW4gc3RhdGUgdG8gTlVMTCBpbiB0aGUgZWFjaCB0ZXN0IGNhc2UgZW5kLgoKMjAwOS0xMC0xOSAxNDo1NDo1OSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5waG90b2dyYXBoeS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJICBjYW1lcmFiaW46IHJlbW92ZSBhYmJyZXZpYXRpb25zIGZyb20gdGhlIHByb3BlcnR5IG5hbWVzLiBGaXhlcyAjNTczMzcwIChwYXJ0aWFseSkKCSAgQWxzbyByZW5hbWUgdGhlaXIgdXNlIGluIHRlc3RzIGFuZCBleGFtcGxlcy4KCjIwMDktMTAtMTYgMTE6NTA6MjIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2VsZWN0b3IvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiB1c2UgZ3N0LWdsaWItZ2VuLm1hayB0byBmaXggdGhlIGdsaWIgYnVpbGQgcnVsZXMuCgkgIFRoZSBidWlsZCBydWxlcyBpbiBnbGliLWdlbi5tYWsgd2VyZSB1c2luZyBwYXR0ZXJuIHJ1bGVzIGluIGEgbm9uIHNhdmUgd2F5LgoKMjAwOS0xMC0xNiAxMToyMTowNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2NvZy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vLmdpdGlnbm9yZToKCSAgZ2l0aWdub3JlOiBpZ25vcmUgbW9yZQoKMjAwOS0xMC0xNSAxNzo0NTowMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJICBjYW1lcmFiaW46IHNldCBjYW1lcmFiaW4gdG8gUkVBRFkgYmVmb3JlIGFjY2Vzc2luZyB0aGUgZWxlbWVudHMKCjIwMDktMTAtMTQgMTc6NDI6NDMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogdXNlIEdfRElSX1NFUEFSQVRPUl9TIGluc3RlYWQgb2YgaGFyZGNvZGVkIHNsYXNoZXMKCjIwMDktMTAtMTUgMTc6MTc6NDEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogY29kZSBjbGVhbnVwcwoJICBBbGlnbiBlbGVtZW50IGluaXRpYWxpc2F0aW9uLiBUaGlzIHNob3VsZCBiZSByZS10aG91Z2h0LCBnX29iamVjdF9uZXcgemVyb3MgdGhpbmdzIGFscmVhZHkuCgkgIEhhcm1vbml6ZSB0aGUgZWxlbWVudCBnZXR0ZXJzIGZvciB0aGUgc3JjL3NpbmtzIHRvIHJldHVybiB3aGF0IHdlIGFjdHVhbHkgdXNlLgoKMjAwOS0xMC0xNSAxNjo0MToxMiArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJICBjYW1lcmFiaW46IGltcGxlbWVudCB2aWRlbyBwcmV2aWV3IGNyZWF0aW9uCgkgIENvbXBsZXRlcyBwcmV2aWV3IGNyZWF0aW9uIG1lY2hhbmlzbSB0byBiZSBhYmxlIHRvIHByb3ZpZGUgYSBwcmV2aWV3CgkgIGltYWdlIGZvciB2aWRlbyBjbGlwcyB0b28uCgoyMDA5LTEwLTE1IDE2OjE1OjAzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHNldCBjYW1lcmFiaW4gZGVmYXVsdCBzb3VyY2VzL3NpbmtzIGxpa2UgaW4gcGxheWJpbjIuIEZpeGVzICM1NzQ0MzQKCSAgVGhpcyB1c2VzIHNhbWUgYXBwcm9hY2ggbGlrZSBpbiBwbGF5YmluLCBuYW1lbHkgY2hlY2tpbmcgZm9yIHVzZXIgZGVmaW5lZAoJICBlbGVtZW50LCBhdXRve2F1ZGlvLHZpZGVvfXtzaW5rLHNyY30gYW5kIGZpbmFsbHkgREVGQVVMVF97QVVESU8sVklERU99e1NSQyxTSU5LfQoJICBkZWZpbmVzIGZyb20gY29uZmlnLmguCgoyMDA5LTEwLTE1IDE1OjU5OjIzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBsYWRzcGE6IGRvbid0IHJlZmVyZW5jZSBmcmVlZCBwb2ludGVyIHdoZW4gYnVpbGRpbmcgcG9ydG5hbWVzCgoyMDA5LTEwLTA4IDE1OjE4OjA0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvY29nLm9yYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuaDoKCSogZXh0L2NvZy9nZW5lcmF0ZV90YWJsZXMuYzoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBjb2c6IEFkZCBjb2xvciBtYXRyaXggdG8gUkdCLT5ZQ2JDciBjb252ZXJzaW9uCgoyMDA5LTEwLTA4IDE0OjMzOjI4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvY29nZnJhbWUuaDoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuaDoKCSogZXh0L2NvZy9nZW5lcmF0ZV90YWJsZXMuYzoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBjb2c6IEFkZCBjb2xvciBtYXRyaXggc2VsZWN0aW9uIHRvIGNvZ2NvbG9yc3BhY2UKCSAgRXZlbnR1YWxseSBob29rIGl0IHVwIHRvIGNhcHMgdmlhIGdzdHZpZGVvCgoyMDA5LTEwLTA4IDEzOjI0OjM2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvY29nLm9yYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuaDoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkgIGNvZzogSW1wcm92ZSBSR0I8LT5ZQ2JDciBtYXRyaXhpbmcKCSAgWUNiQ3ItPlJHQiBub3cgaGFzIGEgJ2JpdHMnIHNldHRpbmcsIHdoaWNoIGNvbnRyb2xzIHRoZSBudW1iZXIKCSAgb2YgYml0cyB1c2VkIGZvciB0aGUgbWF0cml4IGNvZWZmaWNpZW50cy4gIENob2ljZXMgYXJlIDYgb3IgOC4KCSAgNiBpcyBsb3cgcXVhbGl0eSwgYnV0IGZhc3Rlci4KCSAgUkdCLT5ZQ2JDciBub3cgd29ya3MuICBBbHdheXMgd29ya3MgaW4gOCBiaXQsIHNpbmNlIGl0J3MgdGhlIHNhbWUKCSAgc3BlZWQgYXMgNiBiaXQuCgoyMDA5LTEwLTA4IDEzOjIzOjUzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvY29nLm9yYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSAgY29nOiBGaXggQVlVViB1bnBhY2tpbmcKCjIwMDktMTAtMDcgMTY6MzA6MjYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2cub3JjOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJICBjb2c6IGhhY2tpbmcgdG8gaW1wcm92ZSBtYXRyaXggcXVhbGl0eQoKMjAwOS0xMC0yNCAyMDozMzoyNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBBbmQgYmFjayB0byBkZXZlbG9wbWVudCB3ZSBnbwoKPT09IHJlbGVhc2UgMC4xMC4xNiA9PT0KCjIwMDktMTAtMjMgMjM6MTY6NDUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4xNgoKMjAwOS0xMC0yMyAyMzoxNTozMSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDktMTAtMjMgMTE6MDA6NTMgKzAzMDAgIEthai1NaWNoYWVsIExhbmcgPG1pbGFuZ0B0YWwub3JnPgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJICBGaXggc3RhcnQvc3RvcCB0eXBvCgoyMDA5LTEwLTIzIDEwOjQ4OjI1ICswMTAwICBUaG9tYXMgR3JlZW4gPHRvbTc4OTk5QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhbHNvIGJ1aWxkIG5lb25odHRwc3JjIHdpdGggbGlibmVvbi0yOS54CgkgIEZpeGVzICM1OTkzMzIuCgoyMDA5LTEwLTIzIDEwOjE4OjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogVXNlIGd1aW50NjQgaW5zdGVhZCBvZiB1aW50NjRfdC4gRml4ZXMgIzU5OTM1NQoKMjAwOS0xMC0yMiAxNDowMDoxMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkgIFJldmVydCAiZHNob3dzcmN3cmFwcGVyOiBjbGVhbnVwIHB1c2ggYnVmZmVyIGNhbGxiYWNrIgoJICBnc3QtcGx1Z2lucy1iYWQgaXMgc3RpbGwgZnJvemVuIGZvciBnZW5lcmFsIGNvbW1pdHMuCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMmU0MTMxOTI2ZjI3MjZmZThmZWU1YzM5ZGQ5MzU3ZjE0NzY0ZDBjYi4KCjIwMDktMTAtMjIgMTQ6MjY6MzAgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkgIGRzaG93c3Jjd3JhcHBlcjogY2xlYW51cCBwdXNoIGJ1ZmZlciBjYWxsYmFjawoKMjAwOS0xMC0yMiAxMTo0MzoxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3BzbXV4L01ha2VmaWxlLmFtOgoJICBtcGVncHNtdXg6IHNvbWUgbWlub3IgYnVpbGQgZml4ZXMKCSAgQ0xGQUdTIC0+IENGTEFHUywgYW5kIGZpeCBvcmRlciBvZiB2YXJpYWJsZXMgd2hpbGUgd2UncmUgYXQgaXQuCgoyMDA5LTEwLTIyIDAwOjUwOjM3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IFRha2UgdGhlIG9iamVjdCBsb2NrIGZld2VyIHRpbWVzCgkgIFdoZW4gc3RhcnRpbmcgdXAgYW5kIGNyZWF0aW5nIHRoZSBsaXN0IG9mIGVsZW1lbnQgZmFjdG9yaWVzLCBvbmx5CgkgIHRha2UgdGhlIG9iamVjdCBsb2NrIHR3aWNlIGluc3RlYWQgb2YgMyB0aW1lcy4KCjIwMDktMTAtMjEgMjM6MDY6NTYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogRG9uJ3QgaG9sZCB0aGUgb2JqZWN0IGxvY2sgd2hlbiBwdXNoaW5nCgkgIFdoZW4gcHVzaGluZyBvdXQgY2FjaGVkIGV2ZW50cywgZG9uJ3QgaG9sZCB0aGUgb2JqZWN0IGxvY2suIEF2b2lkcwoJICBkZWFkbG9ja3Mgc3RhcnRpbmcgdXAgRFZEIHBsYXliYWNrLgoKMjAwOS0xMC0yMiAxMToxMDoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSAgZmFhYzogTGluayB3aXRoIGxpYmdzdGJhc2UgZm9yIEdzdEFkYXB0ZXIKCSAgRml4ZXMgYnVnICM1OTkyNzIuCgo9PT0gcmVsZWFzZSAwLjEwLjE1ID09PQoKMjAwOS0xMC0yMSAxNzoxNDozNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14ZGdtaW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICByZWxlYXNlIDAuMTAuMTUKCjIwMDktMTAtMjEgMTY6NTE6MDkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA5LTEwLTE2IDE0OjM3OjAyIC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM3RhZzogYWN0dWFsbHkgd3JpdGUgaW1hZ2UgdG8gQVBJQyB0YWcuCgoyMDA5LTEwLTE2IDEyOjMwOjU5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xNC40IHByZS1yZWxlYXNlCgoyMDA5LTEwLTE2IDExOjUzOjE0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkgIGRpc3Q6IEluY2x1ZGUgdmRwc2luay5oIGluIHRoZSB0YXJiYWxsIHRvIGZpeCB0aGUgZGlzdC4KCjIwMDktMTAtMTYgMTE6MDg6MDUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkgIGR0c2RlYzogVXNlIGdzdF9idWZmZXJfcmVmL3VucmVmLCBub3QgZ3N0X29iamVjdF9yZWYvdW5yZWYKCSAgcHJvcGVybHkgZml4ZXM6ICM1OTgyNzQKCjIwMDktMTAtMTYgMDE6MjY6MTAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogVXNlIGdzdF9wYWRfcGVlcl9hY2NlcHRfY2FwcyBpbnN0ZWFkIG9mIGdzdF9wYWRfc2V0X2NhcHMuCgkgIGdzdF9wYWRfc2V0X2NhcHMgb24gdGhlIGludGVybmFsIHNvdXJjZSBwYWQgYWx3YXlzIHN1Y2NlZWRzLCBiZWNhdXNlCgkgIGNhcHMgcHJvcGFnYXRlIHRvIHRoZSBwZWVyIHdpdGggYnVmZmVycywgbm90IGltbWVkaWF0ZWx5LiBVc2luZwoJICBnc3RfcGFkX3BlZXJfYWNjZXB0X2NhcHMgcHJvcGVybHkgY2hlY2tzIHdoZXRoZXIgdGhlIGFjdHVhbAoJICBzdWItZWxlbWVudCBjYW4gYWNjZXB0IGNhcHMgd2hlbiB0aGV5IGNoYW5nZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU3NTU2OAoKMjAwOS0xMC0xNiAwMTowOTo0OSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBSZS1zZW5kIGF1ZGlvIHN0cmVhbSBzZWxlY3Qgb24gcmUtY29uZmlndXJhdGlvbgoJICBXaGVuIHRoZSBsYXlvdXQgb2YgdGhlIGF1ZGlvIHN0cmVhbXMgY2hhbmdlcywgcmUtc2VuZCB0aGUgY3VycmVudAoJICBhdWRpbyBzdHJlYW0gc2VsZWN0aW9uIGV2ZW50LCBpbiBvcmRlciB0byB0cmlnZ2VyIHN3aXRjaGluZyB0byB0aGUKCSAgbmV3IHN0cmVhbSBwcm9wZXJseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU3NTU2OAoKMjAwOS0xMC0xNiAwMDo1MDozMSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBGaXggYSBzbWFsbCBmbGF3IC0gaWYgYW55IGF1ZGlvIHN0cmVhbSBleGlzdHMsIHVzZSBpdAoJICBEb24ndCBjcmVhdGUgYSBkdW1teSBhdWRpbyBzdHJlYW0gaWYgb25seSBub24tQUMzIHRyYWNrcyBleGlzdC4KCjIwMDktMTAtMTYgMTA6MTY6MzMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gODVkMTUzMCB0byAwNzAyZmUxCgoyMDA5LTEwLTE1IDIzOjQ4OjUzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xNC4zIHByZS1yZWxlYXNlCgoyMDA5LTEwLTE0IDExOjA2OjQ2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmM6CgkgIHJlc2luZHZkOiBGaXggZGVjb2RlciBwYWQgdGVtcGxhdGUgdG8gYWxsb3cgTFBDTQoJICBUaGUgcGFkIHRlbXBsYXRlIGluIHRoZSBuZXcgc3dpdGNoaW5nIGRlY29kZXIgaXMgdG9vIHJlc3RyaWN0aXZlLAoJICBwcmV2ZW50aW5nIHRoZSBMUENNIGRlY29kZXIgZnJvbSBiZWluZyBzZWxlY3RlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU3NTU2OAoKMjAwOS0xMC0xNCAxMDo0MTozOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYTNlM2NlNCB0byA4NWQxNTMwCgoyMDA5LTEwLTEzIDEzOjA1OjUwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJICByZXNpbmR2ZDogRG9uJ3QgbGVhayBhIHJlZmVyZW5jZSB0byB0aGUgcGFyZW50IGluIHJzbmF1ZGlvbXVuZ2UKCSAgRG9uJ3QgbGVhayBhIHJlZmVyZW5jZSB0byB0aGUgcGFkIHBhcmVudCBpbiB0aGUgc2luayBwYWQgZXZlbnQgaGFuZGxlcgoJICBpbiByc25hdWRpb211bmdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk4MjYzCgoyMDA5LTEwLTEzIDEzOjA0OjQ3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJICBkdHNkZWM6IEZpeCByZWZlcmVuY2UgbGVhayBvbiBhbGwgaW5wdXQgYnVmZmVycyBpbiAnZHZkIG1vZGUnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTgyNzQKCjIwMDktMTAtMTMgMTY6MDE6MjYgKzAyMDAgIFBldGVyIENocmlzdG9mZmVyc2VuIDxnbm9tZS1idWd6aWxsYUBwbHl0LmRrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkMjogRG9uJ3QgbGVhayBlbGVtZW50IHJlZmVyZW5jZSBpbiB0aGUgc2V0Y2FwcyBmdW5jdGlvbgoJICBGaXhlcyBidWcgIzU5ODEzOS4KCjIwMDktMTAtMTIgMTQ6Mjc6NTcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBwby9MSU5HVUFTOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE0LjIgcHJlLXJlbGVhc2UKCjIwMDktMTAtMTIgMTI6Mjk6NDQgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogZml4ZXMgd2FybmluZyBpbiBtYWNvc3ggc25vdyBsZW9wYXJkCgoyMDA5LTEwLTEyIDA5OjA2OjM3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBlbnN1cmUgc2VndG90YWwgaXMgYXQgbGVhc3QgMgoJICBOb3Qgb25seSBhZGp1c3QgYnVmZmVyLXRpbWUgYW5kIGF2b2lkIHNlZ3RvdGFsPTAsIGJ1dCBpbnN0ZWFkIGVuc3VyZSBzZWd0b3RhbCBpcwoJICBhdGxlYXN0IDIuIERvIHNhbWUgY2hhbmdlIG9uIGphY2tzcmMuIFdlIGNvdWxkIGFsc28gY2hlY2sgdGhlIGxhdGVuY3kgYW5kIGJ1ZmZlcgoJICB0aW1lIGNvbmZpZ3VyZWQgYnkgdGhlIGNsaWVudCBhbmQgYWRqdXN0IGJ1ZmZlci10aW1lIHNvIHRoYXQgd2UgZ2V0IHRvIHRoZSBzYW1lCgkgIG51bWJlciBvZiBzZWdtZW50cy4KCjIwMDktMTAtMTIgMDA6NTE6MjcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgamFjazogZG9uJ3QgY3Jhc2ggaW4gcmluZ2J1ZmZlciB3aXRoIFNJR0ZQRSBvbiBzbWFsbCBidWZmZXItdGltZXMKCSAgSmFjayBvdmVycmlkZXMgdXNlci1zcGVjaWZpZWQgbGF0ZW5jeS10aW1lIHdpdGggdGhlIG9uZSBpdCBnZXRzIGZyb20gamFjawoJICBpdHNlbGYuIEl0IGFsc28gbmVlZHMgdG8gYWRqdXN0IGJ1ZmZlci10aW1lIHNvbWV3aGF0IHRvIGF2b2lkIHNlZ3RvdGFsIGJlaW5nIDAKCjIwMDktMTAtMTEgMjI6MTA6MDQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgbWV0YWRhdGE6IGluaXQgdmFyaWFibGVzCgkgIG1ldGFkYXRhbXV4X2V4aWZfZ2V0X2V4aWZfZnJvbV90YWcoKSBkb2VzIG5vdCBuZWNjZXNhcmlseSBpbml0IHRoZSBwYXNzZWQKCSAgdmFyaWFibGVzLgoKMjAwOS0xMC0wMyAyMTozNTowMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29yOiB1c2UgdGhlIHR5cGUgZGVmaW5lIGxpa2UgZXZlcnl3aGVyZSBlbHNlCgoyMDA5LTEwLTAzIDIxOjMxOjU1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3J0OiByZWdpc3RlciBkZWJ1ZyBjYXRlZ29yeSBqdXN0IG9uY2UKCSAgUHJldmlvdXNseSB3ZSB3ZXJlIHRyeWluZyB0byByZWdpc3RlciBpdCBmb3IgZXZlcnkgc3ViY2xhc3MuCgoyMDA5LTEwLTExIDE0OjEwOjU5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBzb3VuZHRvdWNoOiBmaXhlcyB3YXJuaW5ncyBvbiBtYWNvc3ggc25vdyBsZW9wYXJkCgoyMDA5LTEwLTExIDE0OjAyOjI2ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3BhcnNlLmM6CgkgIHNjaHJvZWRpbmdlcjogZml4IHdhcm5pbmdzIG9uIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMTAtMTEgMTM6NTY6NDMgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmM6CgkgIG1ldGFkYXRhOiBmaXggd2FybmluZ3MgaW4gbWFjb3N4IHNub3cgbGVvcGFyZAoKMjAwOS0xMC0xMSAxMzo1MTo1OCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgbW1zOiBmaXhlcyB3YXJuaW5nIGluIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMTAtMTEgMTM6NDY6MDAgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWM6IGZpeCB3YXJuaW5nIGluIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMTAtMTEgMTM6MTM6NTYgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgc3BlZWQ6IGZpeCB3YXJuaW5ncyBpbiBtYWNvc3ggc25vdyBsZW9wYXJkCgoyMDA5LTEwLTExIDEzOjA3OjE5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGZpeCB3YXJuaW5nIGluIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMTAtMTEgMTI6NTY6MjkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVnZGVtdXg6IGZpeCB3YXJuaW5ncyBpbiBtYWNvc3ggc25vdyBsZW9wYXJkCgoyMDA5LTEwLTExIDExOjM1OjIzICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgZHRtZjogZml4IHdhcm5pbmdzIGluIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMTAtMTEgMTE6Mjc6MDggKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9hbXJwYXJzZS9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGFtcnBhcnNlOiBmaXggd2FybmluZ3MgaW4gbWFjb3N4IHNub3cgbGVvcGFyZAoKMjAwOS0xMC0xMSAxMToyMjoxMSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGZpeCB3YXJuaW5ncyBpbiBtYWNvc3ggc25vdyBsZW9wYXJkCgoyMDA5LTEwLTExIDExOjE0OjE2ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuYzoKCSAgYmFzZXZpZGVvOiBmaXggd2FybmluZ3MgaW4gbWFjb3N4IHNub3cgbGVvcGFyZAoKMjAwOS0xMC0wOSAxMzoxODozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBhc3NyZW5kZXIvZHZkc3B1OiBJbmNyZWFzZSByYW5rcyB0byBQUklNQVJZCgoyMDA5LTEwLTA5IDA5OjE5OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogSW5jbHVkZSBTdWJQaWN0dXJlIGluIHRoZSBjbGFzc2lmaWNhdGlvbgoKMjAwOS0xMC0wOSAwOToxODowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IE1ha2UgY2xhc3NpZmljYXRpb24gYSBiaXQgbW9yZSBhY2N1cmF0ZQoJICBDaGFuZ2UgZnJvbSAiRmlsdGVyL0VmZmVjdC9WaWRlbyIgdG8gIk1peGVyL1ZpZGVvL092ZXJsYXkvU3VidGl0bGUiCgoyMDA5LTEwLTA4IDE5OjUxOjMxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYXBzc2V0dGVyLmM6CgkgIGNhcHNzZXR0ZXI6IGFkZCB1bml0IHRlc3QKCjIwMDktMTAtMDggMTE6MDA6NDkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMTlmYTRmMyB0byBhM2UzY2U0CgoyMDA5LTEwLTA3IDE2OjI5OjA4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9wYXJzZS5jOgoJICBzY2hybzogcmVtb3ZlIHVudXNlZCBpbmNsdWRlIG9mIGxpYm9pbC5oCgoyMDA5LTEwLTA3IDE1OjQzOjIyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgbWV0YWRhdGE6IGRvbid0IGNvcHkgdHJhaWxpbmcgTlVMTCBvZiBzdHJpbmdzIGluIHhtcCBtZXRhZGF0YQoJICBBbHNvIHVzZWluZyBnX3N0cmR1cCwgZml4ZXMgdGhlIG1hbGxvYyA8LT4gZ19mcmVlIG1pc21hdGNoLgoKMjAwOS0xMC0wNyAxNToyNjoxMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2NvZy9nc3RjbXMuYzoKCSogZXh0L2RpcmVjdGZiL2RmYi1leGFtcGxlLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJICBidWlsZDogZnByaW50Ziwgc3ByaW50Ziwgc3NjYW5mIG5lZWQgc3RkaW8uaAoKMjAwOS0wOS0xOCAxODo0NTowOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbWltaWMuYzoKCSAgdGVzdHM6IEFkZCB0ZXN0IGZvciBtaW1pYyBlbGVtZW50cwoKMjAwOS0wOS0xOCAxNzo0Nzo1OCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IFJlbW92ZSBpbnZhbGlkIHRvZG8KCjIwMDktMTAtMDYgMTg6MzY6MTUgKzAyMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPHNlYnBAay1kLXcub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBJZ25vcmUgZW1waGFzaXMgb24vb2ZmIGJ5dGVzLCBhbmQgZG8gZmFsbGJhY2sgc3RyaW5nIGVuY29kaW5nLgoJICBGb3IgZmFsbGJhY2ssIHRyeSBJU08gODg1OS05IGVuY29kaW5nIGlmIElTTyA2NjM3IGZhaWxlZC4KCSAgQWRkIG1vcmUgZGVidWcgY2FsbHMuCgoyMDA5LTEwLTA1IDE3OjA0OjI4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWM6IHZhcmlvdXMgZml4ZXMKCSAgLSBXb3JrIGFyb3VuZCBCYXNlRW5jb2RlciBidWcgbm90IHRyYWNraW5nIGZyYW1lIGluZGV4IGVhcmx5LgoJICAtIEZpeCBjb252ZXJzaW9uIG9mIFVZVlksIFlVWTIsIEFZVVYgdG8gaW50ZXJuYWwgZm9ybWF0LgoKMjAwOS0xMC0wNSAxNjoxNjozNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW86IFJldmVydCAiQ2FsbCBHc3RCYXNlVmlkZW9FbmNvZGVyOjpzdGFydC9zdG9wIGR1cmluZyBwYWQgW2RlXWFjdGl2YXRpb24uIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDRjMDg3YmNiMDcyZGNjOTg0N2IxMWMwMDEyM2NmOTNjNWU1NDFkY2IuCgkgIFRoZSByZXZlcnRlZCBjb21taXQgY2hhbmdlcyB0aGUgb3JkZXIgdGhhdCBzZXRfZm9ybWF0KCkgYW5kIHN0YXJ0KCkKCSAgYXJlIGNhbGxlZCwgd2hpY2ggaXMgaW5jb3JyZWN0LiAgVGhlIGNvcnJlY3Qgb3JkZXIgaXMgc2V0X2Zvcm1hdCgpLAoJICBzdGFydCgpLCBoYW5kbGVfZnJhbWUoKS4uLiwgc3RvcCgpCgoyMDA5LTEwLTA1IDEzOjMzOjIyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlbzogRnJlZSBmcmFtZSB1c2luZyB1dGlsaXR5IGZ1bmN0aW9uCgoyMDA5LTEwLTA1IDIxOjExOjE4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIGRpcmFjZW5jOiBGaXggY2FwcyB1bmxpbmtlZCBuZWdvdGlhdGlvbgoJICBtb3ZlIGNhcHMgcmVsYXRlZCBjb2RlIHRvIGdzdF9kaXJhY19lbmNfc2V0X2Zvcm1hdCwgYW5kCgkgIHVzZSB0aGUgc291cmNlIHBhZCB0ZW1wbGF0ZSB0byBnZXQgYWxsb3dlZCBjYXBzIHdoZW4gdGhlcmUgaXMKCSAgbm8gcGVlciBwYWQuCgoyMDA5LTEwLTA1IDE5OjQ5OjA2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBXaGVuIHRoZSBzb3VyY2UgcGFkIGlzbid0IGxpbmtlZCwgdXNlIHRoZSBwYWQgdGVtcGxhdGUKCSAgRm9yIG5lZ290aWF0aW9uLCB1c2UgdGhlIHNvdXJjZSBwYWQgcGFkIHRlbXBsYXRlIHdoZW4gaXQgZG9lc24ndAoJICBoYXZlIGEgcGVlci4KCjIwMDktMTAtMDUgMTU6NDc6NTggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJICBiYXNldmlkZW86IEZhaWwgaWYgY2FwcyBkb24ndCBjb250YWluIGEgZnJhbWVyYXRlIGZpZWxkCgkgIFJldHVybiBmYWxzZSBmcm9tIHRoZSBjYXBzIHBhcnNpbmcgZnVuY3Rpb24gaWYgdGhlcmUgaXMgbm8gZnJhbWVyYXRlCgkgIGZpZWxkIGluIHRoZSBwcm92aWRlZCBjYXBzCgoyMDA5LTEwLTA1IDExOjE1OjAzIC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM211eDogV3JpdGUgVVRGLTE2IGJ5dGUgb3JkZXIgbWFya2VyIGNvcnJlY3RseS4KCjIwMDktMTAtMDUgMTY6Mzk6MzcgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogbW92ZSBjYXBzIHJlbGF0ZWQgY29kZSB0byBnc3Rfc2Nocm9fZW5jX3NldF9mb3JtYXQuCgoyMDA5LTEwLTA1IDE1OjI4OjQ3ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgRGVwZW5kIG9uIGd0ay14MTEgZXhwbGljaXRseS4KCSAgRml4ZXMgdGhlIGJ1aWxkIG9uIE9TWCBpZiBndGsrLXF1YXJ0eiBpcyBpbnN0YWxsZWQuCgoyMDA5LTEwLTA1IDE1OjI2OjE1ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJICBGaXggY29tcGlsYXRpb24gd2FybmluZyB3aXRoIGdjYy00LjIuCgoyMDA5LTEwLTA1IDExOjQ3OjU2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBBZGQgZmFhYyB0ZXN0IGJpbmFyeSB0byB0aGUgZ2l0IGlnbm9yZXMKCjIwMDktMTAtMDUgMTE6NDc6MDEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSogZXh0L3NjaHJvZWRpbmdlci9NYWtlZmlsZS5hbToKCSAgVXNlIEdTVF9DWFhGTEFHUyBhbmQgR1NUX0NGTEFHUyB0byBwdWxsIGluIGxvY2FsIGdzdC1saWJzIGluY2x1ZGVzLgoJICBNb3ZlIHRoZSBHU1RfQ1hYRkxBR1MgYW5kIEdTVF9DRkxBR1MgdG8gdGhlIHN0YXJ0IG9mIHRoZSBpbmNsdWRlcyBzZXQKCSAgdG8gcHVsbCBpbiB0aGUgbG9jYWwgZ3N0LWxpYnMgZnJvbSB0aGVyZSBmaXJzdCwgaW5zdGVhZCBvZiBsaXN0aW5nCgkgIGl0IGV4cGxpY2l0bHkuCgoyMDA5LTEwLTA1IDExOjAyOjE2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9zY2hyb2VkaW5nZXIvTWFrZWZpbGUuYW06CgkgIEZpeCBDRkxBR1MgYW5kIExERkxBR1MgZm9yIGRpcmFjL3NjaHJvZGluZ2VyCgkgIEluY2x1ZGUgdGhlIGxvY2FsIGhlYWRlcnMgYW5kIGxpYnMgYmVmb3JlIG9uZXMgb3V0c2lkZSB0aGlzCgkgIG1vZHVsZS4KCjIwMDktMTAtMDIgMTY6MzU6MDkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGRpcmFjOiBjb252ZXJ0IHRvIEJhc2VWaWRlb0VuY29kZXIKCjIwMDktMDktMjcgMTQ6MjU6MzkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuaDoKCSogZXh0L2NvZy9nc3RjbXMuYzoKCSogZXh0L2NvZy9nc3RjbXMuaDoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nc2NhbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2xvcmNvbnZlcnQuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIGNvZzogaGFja2luZwoJICBBZGQgUkdCIHRvIFlDYkNyIG1hdHJpeGluZwoJICBBZGQgdGlueSBjb2xvciBtYW5hZ2VtZW50IHN5c3RlbSAoQ01TKSBmb3IgdmlkZW8KCSAgQWRkIHF1YWxpdHkgbGV2ZWwgZm9yIGNvbG9yc3BhY2UKCjIwMDktMDktMjUgMTg6MTQ6MjggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSAgY29nOiByZXNldCBjYWNoZSBpbnN0ZWFkIG9mIHJldHVybmluZyBOVUxMCgkgIFJldHVybmluZyBOVUxMIG1ha2VzIHRoaW5ncyBjcmFzaC4gIFJlc2V0dGluZyB0aGUgY2FjaGUKCSAgbWFrZXMgdGhpbmdzIHJ1biBzbG93LiAgU3RpbGwgYW4gdW5kZXJseWluZyBidWcgc29tZXdoZXJlLAoJICBidXQgbm90IGNyaXRpY2FsLgoKMjAwOS0wOS0yMyAxMzoxNzo1NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuaDoKCSAgY2VsdGRlYzogSGFuZGxlIGxvb2thaGVhZCwgZGlzY29udAoKMjAwOS0xMC0wMiAxOTowODoyMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSAgYnVpbGQ6IGFkZCBtaXNzaW5nIHN0ZGxpYiBpbmNsdWRlIHRvIGZpeCB0aGUgYnVpbGQKCjIwMDktMTAtMDIgMTQ6MjU6NTAgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgQWRkIEdzdEJhc2VWaWRlb0RlY29kZXI6OnNldF9zaW5rX2NhcHMgdmZ1bmMuCgoyMDA5LTEwLTAyIDEyOjQwOjAyICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIENhbGwgR3N0QmFzZVZpZGVvRGVjb2Rlcjo6c3RhcnQvc3RvcCBkdXJpbmcgcGFkIFtkZV1hY3RpdmF0aW9uLgoKMjAwOS0xMC0wMSAxNjowNjowMiArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBEb24ndCBpZ25vcmUgdGhlIHZhbHVlIHJldHVybmVkIGZyb20gR3N0QmFzZVZpZGVvRW5jb2Rlcjo6c2V0X2Zvcm1hdC4KCjIwMDktMTAtMDEgMTY6MTI6MTUgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBGaXggc2Nocm9lbmMgZm9yIHJlZmNvdW50IGNoYW5nZSBpbiBHc3RCYXNlVmlkZW9FbmNvZGVyLgoKMjAwOS0xMC0wMSAxNTo1MDo1NSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBVbnJlZiBmcmFtZS0+c2lua19idWZmZXIgaW4gZ3N0X2Jhc2VfdmlkZW9fZW5jb2Rlcl9maW5pc2hfZnJhbWUKCjIwMDktMTAtMDEgMTY6MTE6NDYgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBNYWtlIGdzdF9zY2hyb19lbmNfaGFuZGxlX2ZyYW1lIHJldHVybiBHc3RGbG93UmV0dXJuLgoKMjAwOS0xMC0wMSAxNjoyNjoyMiArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBNYWtlIEdzdEJhc2VWaWRlb0VuY29kZXI6OmhhbmRsZV9mcmFtZSByZXR1cm4gR3N0Rmxvd1JldHVybgoKMjAwOS0xMC0wMSAxNjoyNDo1MCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBDYWxsIEdzdEJhc2VWaWRlb0VuY29kZXI6OnN0YXJ0L3N0b3AgZHVyaW5nIHBhZCBbZGVdYWN0aXZhdGlvbi4KCjIwMDktMTAtMDIgMTI6MDQ6MjggKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkgIEZpeCBhIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA5LTEwLTAyIDEzOjAyOjMxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuaDoKCSAgemJhcjogcG9zdCBhIG1lc3NhZ2UgaW5zdGVhZCBvZiBwcmludGluZyB0aGUgY29kZSB0byBzdGRvdXQKCSAgRG9jbWVudCB0aGUgbWVzc2FnZSBmb3JtYXQgdGhhdCB3ZSBzZW50LiBBZGQgYSBwcm9wZXJ0eSB0byB0dXJuIG1lc3NhZ2Ugc2VuZGluZyBvZmYuCgoyMDA5LTEwLTAyIDExOjIzOjQ5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWx2Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aW1pZGl0eS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgIGRvY3M6IHVwZGF0ZSBwbHVnaW4gZG9jIHNjYW4gZmlsZXMKCjIwMDktMTAtMDIgMTE6MjI6NDggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSAgemJhcjogY2xlYW51cHMKCSAgVXNlIHN0YXJ0L3N0b3AgdG8gbWFuYWdlIHRoZSBjYWNoZS4gRmV3IGNvZGUgY2xlYW51cHMgYW5kIGNvbW1lbnRzLgoKMjAwOS0xMC0wMiAxMTowOToxMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhkZ21pbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkgIGRvY3M6IGFkZCB6YmFyIHBsdWdpbgoKMjAwOS0xMC0wMiAxMDozNzo0MyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L01ha2VmaWxlLmFtOgoJICB6YmFyOiBhZGQgbmV3IHBsdWdpbiB0byB0aGUgYnVpbGQgaGVyZSB0b28KCjIwMDktMTAtMDIgMTA6MzI6MzcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGtlZXAgbGlzdCBzb3J0ZWQKCjIwMDktMTAtMDIgMDc6NDY6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IEZpeCBidWlsZCBzeXN0ZW0sIHpiYXIgaXMgbm8gZGVwZW5kZW5jeS1sZXNzIHBsdWdpbgoKMjAwOS0xMC0wMSAyMzo1MTowNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvemJhci9NYWtlZmlsZS5hbToKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBleHQvemJhci9nc3R6YmFyLmg6CgkgIHpiYXI6IHdyYXAgemJhciBsaWJyYXJ5IGFzIGEgaW1hZ2UgYW5hbHl6ZXIKCSAgemJhciBpcyBhIGJhciBjb2RlIHNjYW5uZXIgbGlicmFyeS4KCjIwMDktMTAtMDEgMTc6MTk6NTQgKzAxMDAgIENocmlzdGlhbiBGLksuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIHdpbjMyL01BTklGRVNUOgoJICB1cGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IGNoYW5nZXMgYW5kIHJlbW92ZSBmaWxlIGZyb20gTUFOSUZFU1Qgd2hpY2ggaXNuJ3QgdGhlcmUgYW55IGxvbmdlcgoKMjAwOS0wOS0wMiAxNToyNjoxNSArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkgIG1ldGFkYXRhOiBjaGFuZ2UgWE1QIGxvY2F0aW9uIHRhZ3MgdG8gc3RhcnQgd2l0aCBjYXBpdGFscwoKMjAwOS0wOC0yNSAxMDoxMDoxNSArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBmaXggZGVhZGxvY2sgd2hlbiBlcnJvciBvY2N1cnMgYXQgdmlkZW8gcmVjb3JkaW5nIHN0YXJ0dXAKCjIwMDktMDgtMjcgMTQ6MzU6MjYgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogaGFuZGxlIHByZXZpZXctY2FwcyBvbmx5IGluIGltYWdlIG1vZGUgYW5kIG9ubHkgd2hlbiB0aGV5IGNoYW5nZQoJICBUaGlzIHByZXZlbnRzIGNhbWVyYWJpbiB0byBjcmVhdGUgcHJldmlldyBwaXBlbGluZSBldmVyeSB0aW1lIHdoZW4KCSAgYXBwbGljYXRpb24gcmUtc2V0cyB0aGUgc2FtZSBjYXBzIGFnYWluLgoKMjAwOS0wOC0yNSAwOTozNTowNyArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiBkb24ndCBzZW5kIG11bHRpcGxlIEVPUyBldmVudHMgdG8gdmlkZW8gcGlwZWxpbmUKCjIwMDktMDgtMjIgMTc6MDk6MzkgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlucGhvdG9ncmFwaHkuYzoKCSAgY2FtZXJhYmluOiBmaXggc2NlbmUgbW9kZSBzZXR0aW5nCgkgIENhbWVyYWJpbiBjYWNoZXMgcGhvdG9ncmFwaHkgc2V0dGluZ3MsIGJ1dCBpdCBkaWRuJ3QgdGFrZSBpbnRvIGFjY291bnQKCSAgdGhhdCBzY2VuZSBtb2RlIHNldHRpbmcgbWF5IGNoYW5nZSBvdGhlciBzZXR0aW5ncyBhcyB3ZWxsLiBTbywgY29uZmlnCgkgIG5lZWRzIHRvIGJlIHJlYWQgYmFjayBmcm9tIGRldmljZSBhZnRlciBzY2VuZSBtb2RlIGlzIHNldC4KCjIwMDktMDgtMjEgMDk6MTQ6MzEgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogYWxsb3cgbW9kZSBwYXJhbWV0ZXIgc2V0dGluZyBpbiBOVUxMIHN0YXRlCgoyMDA5LTA4LTIwIDE3OjU1OjI2ICswMzAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJICBjYW1lcmFiaW46IGFsbG93IGNhcHR1cmUgcmVzb2x1dGlvbiB0byBiZSBzZXQgaW4gTlVMTCBzdGF0ZQoKMjAwOS0wOS0xMCAxNToxNjoyMyArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBmaXggaW1hZ2UgcXVldWUgcGFyYW1ldGVyIHNldHRpbmcKCSAgQ2FtZXJhYmluIGluY29ycmVjdGx5IHVzZWQgR19HVUlOVDY0X0NPTlNUQU5UIG1hY3JvIGZvciBzZXR0aW5nCgkgICJtYXgtc2l6ZS1idWZmZXJzIiBhbmQgIm1heC1zaXplLWJ5dGVzIiBwcm9wZXJ0aWVzIGluIGltYWdlIHF1ZXVlLAoJICBldmVuIHdoZW4gdGhleSBhcmVuJ3QgNjRiaXQgaW50ZWdlcnMuCgoyMDA5LTA4LTEyIDExOjEwOjU1ICswMzAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGZpeCB3YXJuaW5nIHdpdGggZ19vYmplY3RfZ2V0IGFuZCBqb2luIHNlcGFyYXRlIGdfb2JqZWN0X3NldHMgaW50byBvbmUKCjIwMDktMDctMzEgMTE6NTc6MTIgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogcmVzZXQgYWN0aXZlLXBhZCBpbiBvdXRwdXQtc2VsZWN0b3IgYWZ0ZXIgUkVBRFkgc3RhdGUKCSAgQ2FtZXJhYmluIHNldHMgaXRzZWxmIHRvIFJFQURZIHN0YXRlIGR1cmluZyByZXNvbHV0aW9uIGNoYW5nZS4gVGhpcwoJICBvcGVyYXRpb24gbWFrZXMgb3V0cHV0LXNlbGVjdG9yIHRvIGZvcmdldCBpdHMgY3VycmVudGx5IGFjdGl2ZSBwYWQsCgkgIHNvIGl0IG11c3QgYmUgc2V0IGFnYWluIGFmdGVyIHN0YXRlIGNoYW5nZS4KCjIwMDktMDYtMjkgMTU6MjM6MjUgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZG9uJ3QgcmVzZXQgY2Fwc2ZpbHRlcnMgb3Igem9vbSBpZiBlcnJvciBvY2N1cnMKCSAgSWYgYW4gZXJyb3Igb2NjdXJzLCBhcHBsaWNhdGlvbiBzaG91bGQgc2V0IHBpcGVsaW5lIHRvIE5VTEwsIGFuZCB1cGRhdGluZwoJICB6b29tIGNhbiBhY3R1YWxseSBibG9jayBtZXNzYWdlIGhhbmRsaW5nIGlmIHZpZGVvIGRldmljZSBkcml2ZXIgaGFzIGZhaWxlZAoJICBhbmQgdmlkZW8gc3JjIGVsZW1lbnQgc3VwcG9ydHMgem9vbWluZyB1c2luZyBwaG90b2dyYXBoeSBpbnRlcmZhY2UgYW5kIFNfQ1JPUC4KCjIwMDktMTAtMDEgMTc6MTc6MDMgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBub2tpYS5jb20+CgoJKiBnc3QvdmlkZW9tZWFzdXJlL01ha2VmaWxlLmFtOgoJICB2aWRlb21lYXN1cmU6IGxpbmsgd2l0aCBsaWJtCgoyMDA5LTEwLTAxIDE1OjA5OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uaDoKCSAgcmVzaW5kdmRiaW46IElmIG5vIHN1aXRhYmxlIGF1ZGlvIGRlY29kZXIgaXMgZm91bmQgcGxheSB0aGUgRFZEIHdpdGhvdXQgYXVkaW8KCjIwMDktMTAtMDEgMTQ6NTQ6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgIHJlc2luZHZkYmluOiBBbHNvIHBvc3QgbWlzc2luZyBlbGVtZW50IG1lc3NhZ2VzIGlmIGFueSBvdGhlciBlbGVtZW50IGlzIG1pc3NpbmcKCjIwMDktMTAtMDEgMTQ6NTI6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgcmVzaW5kdmRiaW46IFBvc3QgbWlzc2luZyBkZWNvZGVyIG1lc3NhZ2VzIGlmIG9uZSBpcyBtaXNzaW5nCgkgIEZvciB2aWRlbyB0aGlzIGlzIGFuIGVycm9yLCBmb3IgYXVkaW8gb25seSBhIHdhcm5pbmcuCgoyMDA5LTEwLTAxIDE0OjQwOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICByZXNpbmR2ZGJpbjogVXNlIHRoZSBuZXcgdmlkZW8gZGVjb2RlcgoJICBUaGlzIG1ha2VzIHJlc2luZHZkYmluIHdvcmsgd2l0aCBvdGhlciBNUEVHIHZpZGVvIGRlY29kZXJzIHRoYW4KCSAgbXBlZzJkZWMsIGZvciBleGFtcGxlIHRoZSBGRk1QRUcgb3IgRmx1ZW5kbyBNUEVHIGRlY29kZXJzLgoKMjAwOS0xMC0wMSAxNDozNzo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9kZWMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvZGVjLmg6CgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5oOgoJICByZXNpbmR2ZGJpbjogUmVuYW1lIGZpbGVzCgoyMDA5LTEwLTAxIDE0OjM2OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb2RlYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9kZWMuaDoKCSAgcmVzaW5kdmRiaW46IFJlZmFjdG9yIGF1ZGlvIGRlY29kZXIgYW5kIGFkZCBhIChNUEVHKSB2aWRlbyBkZWNvZGVyCgoyMDA5LTEwLTAxIDEzOjI5OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb2RlYy5jOgoJICByc25hdWRpb2RlYzogR2V0IGRlc2lyZWQgc2luayBjYXBzIGZyb20gdGhlIHBhZCB0ZW1wbGF0ZQoKMjAwOS0xMC0wMSAxMDo1NDoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkgIHJzdmc6IFVucHJlbXVsdGlwbHkgQ2Fpcm8ncyBBUkdCIHRvIG1hdGNoIEdTdHJlYW1lcidzCgoyMDA5LTA5LTI1IDEyOjIwOjUwICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5jOgoJICBUYWtlIG9mZnNldCBnYXBzIGludG8gYWNjb3VudC4KCSAgUHJldmVudHMgbWVhc3VyZWNvbGxlY3RvciBmcm9tIGNyYXNoaW5nIHdoZW4gZnJhbWUgbnVtYmVycyBhcmUgbm90IGNvbnNlY3V0aXZlLgoJICBGaXhlcyBidWcgIzU5NjI4NS4KCjIwMDktMDktMjkgMTU6NDc6MTMgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkgIHF0bXV4OiBmaXggZmxhZ3NfYXNfdWludCB0byBmbGFnc1tdCgoyMDA5LTA5LTMwIDE1OjQ3OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICByZXNpbmR2ZGJpbjogQ3JlYXRlIGV4dGVybmFsIHNyY3BhZHMgZnJvbSB0aGUgc3RhdGljIHBhZCB0ZW1wbGF0ZXMKCjIwMDktMDktMjIgMTI6MTY6MzcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJICBkdmRzcHU6IEltcHJvdmUgUEdTIHBhcnNpbmcKCSAgSW1wcm92ZSAoc2xpZ2h0bHkpIHRoZSBpbnRlcnByZXRhdGlvbiBvZiBQR1Mgc2V0LXdpbmRvdyBibG9ja3MKCSAgdG8gYXZvaWQgcHJpbnRpbmcgd2FybmluZ3MgYWJvdXQgdW51c2VkIGJ5dGVzIHdoZW4gdGhlcmUgYXJlIG11bHRpcGxlCgkgIHdpbmRvdyBkZWZpbml0aW9ucy4KCjIwMDktMDktMjIgMDE6MTY6NDcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJICBkdmRzcHU6IEZpeCByZW5kZXJpbmcgYW5kIGFkZCBndWFyZHMKCSAgRml4IHRoZSByZW5kZXJpbmcgd2hlbiB3ZSBoaXQgdGhlIHJpZ2h0IGhhbmQgc2lkZSBvZiB0aGUgZGlzcGxheQoJICBhcmVhLCBieSByZXNldHRpbmcgdG8gdGhlIGNvcnJlY3QgWCBjb29yZGluYXRlLCBhbmQgYWRkIHNvbWUgbW9yZQoJICBndWFyZHMgYWdhaW5zdCBiYWQgUEdTIGRhdGEuCgoyMDA5LTA5LTA4IDAwOjAxOjI4ICswMzAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5oOgoJICB2aWRlb3NpZ25hbDogY2hhbmdlIHBhdHRlcm4gZGF0YSB0eXBlIHRvIHVpbnQ2NCwgYWRkIHByb3BlcnR5IGFuZCBtZXNzYWdlIGZpZWxkCgkgIEtlZXBzIHRoZSBvbGQgdWludCB0eXBlZCB2YWx1ZSBzdXBwb3J0IGZvciBjb21wYXRpYmlsaXR5LgoKMjAwOS0wOS0wNiAwNTozNjo0NiArMDMwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkgIHZpZGVvc2lnbmFsOiBhbGxvdyBwYXR0ZXJuLWNvdW50IHByb3BlcnR5IHRvIGJlIDAKCjIwMDktMDktMDQgMjI6NTA6MzQgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJICB2aWRlb3NpZ25hbDogYWRkIHN1cHBvcnQgZm9yIHBhY2tlZCBZVVYgZm9ybWF0cwoKMjAwOS0wOS0wNCAyMjozMDoyNyArMDMwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuaDoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmg6CgkgIHZpZGVvc2lnbmFsOiBhZGQgc3VwcG9ydCBmb3IgYWxsIHBsYW5hciBZVVYgZm9ybWF0cywgdXNpbmcgZ3N0dmlkZW8KCjIwMDktMDktMDYgMDI6NDQ6MDUgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJICB2aWRlb3NpZ25hbDogYWRkIGJvdW5kIGNoZWNrcwoKMjAwOS0wOS0wNCAxNjoyNTowNSArMDMwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkgIHZpZGVvc2lnbmFsOiByZW1vdmUgdW51c2VkIG1hY3JvcwoKMjAwOS0wOS0yNiAxNzoyMzowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgcmVzaW5kdmRiaW46IFVzZSBnc3RfY2Fwc19jYW5faW50ZXJzZWN0KCkgYmVjYXVzZSBpdCdzIGZhc3RlcgoKMjAwOS0wOS0yNiAxNzoyMTozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9kZWMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvZGVjLmg6CgkgIHJzbmF1ZGlvZGVjOiBVc2UgZ2hvc3QgcGFkcyBhbmQgYWx3YXlzIGZvcndhcmQgYXBwbGljYXRpb24veC1nc3QtZHZkIGV2ZW50cyBpbW1lZGlhdGVseQoJICBGaXhlcyBidWcgIzU4Mjc3OS4KCjIwMDktMDktMjYgMTc6MTk6MzIgKzAyMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9kZWMuYzoKCSAgcmVzaW5kdmRiaW46IFVzZSBhdXRvY29udmVydCBpbiByc25hdWRpb2RlYyBhbmQgYnVpbGQgYSBsaXN0IG9mIHBvc3NpYmxlIGRlY29kZXJzCgkgIFBhcnRpYWxseSBmaXhlcyBidWcgIzU4Mjc3OS4KCjIwMDktMDktMjUgMTY6NTQ6MTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogc3luYyBiYXNlcGFyc2UgY2hhbmdlCgoyMDA5LTA5LTI1IDE3OjAyOjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgYWFjcGFyc2U6IGZvcmVnbyAoYm9ndXMpIHBhcnNpbmcgb2YgYWxyZWFkeSBwYXJzZWQgKHJhdykgaW5wdXQKCjIwMDktMDktMjUgMTE6MDc6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogVXNlIG5ldyBzaW5nbGUgaXRlcmF0b3IgZm9yIHRoZSBpbnRlcm5hbGx5IGxpbmtlZCBwYWRzCgkgIFRoaXMgZml4ZXMgYSBkZWFkbG9jayBhbmQgcmVtb3ZlcyBzb21lIHVzZWxlc3MgY29kZS4KCjIwMDktMDktMjUgMTE6MDQ6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3JzbnN0cmVhbXNlbGVjdG9yLmM6CgkgIHJzbnN0cmVhbXNlbGVjdG9yOiBVc2UgbmV3IHNpbmdsZSBvYmplY3QgaXRlcmF0b3IgZm9yIHRoZSBpbnRlcm5hbGx5IGxpbmtlZCBwYWRzCgkgIFRoaXMgcHJldmVudHMgYW4gdWdseSBkZWFkbG9jay4KCjIwMDktMDktMjUgMTA6NTA6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmM6CgkgIHJlc2luZHZkYmluOiBEb24ndCBibG9jayB0aGUgZXh0ZXJuYWwgZ2hvc3QgcGFkcyBidXQgb25seSB0aGVpciB0YXJnZXRzCgoyMDA5LTA5LTI0IDExOjI2OjI5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkgIGNvZzogdXNlIEJVSUxUX1NPVVJDRVMgaW5zdGVhZCBvZiB0ZW1wIGxpYnJhcnkKCjIwMDktMDktMjMgMTI6MzI6NTQgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSAgRml4IHdhcm5pbmdzIHdpdGggZ2NjIDQuMC4xLgoKMjAwOS0wOS0yMiAxMjoyNToxMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IC0tZGlzYWJsZS1leHRlcm5hbCBhZ2FpbgoKMjAwOS0wOS0yMiAxMzo0NDoxNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L2x2Mi9nc3RsdjIuaDoKCSAgUmV2ZXJ0ICJMVjIgcHJlc2V0IHN1cHBvcnQuIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGM5NWY1OWNkMmRjMTI5ODk5YjM3ZmVjYWE1MmM4OWRiM2Q4YTVlZjguCgoyMDA5LTA5LTIyIDEzOjQzOjU3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBSZXZlcnQgIkZpeCBwcm9wZXJ0eSBpbmRleCB3aGVuIHNldHRpbmcgcHJlc2V0LiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAwYTZiMjJiMTkxN2FmOGE4OWRiMTk4MWEwZjVkZjNkY2VlNzhiMWRkLgoKMjAwOS0wOS0yMiAxMzoyMzoyNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSAgY29nOiBmaXggdGhlIGJ1aWxkCgkgIEFkZCBhIHVuaW5zdGFsbGVkIGNvbnZpbmllbmNlIGxpYnRvb2wgbGlicmFyeSBjb250YWluaW5nIHRoZSBnZW5lcmF0ZWQgc291cmNlcy4KCSAgQWRkIHRoYXQgYXMgYSBkZXBlbmRlbmN5IHRvIHRoZSBwbHVnaW4uCgoyMDA5LTA4LTE3IDE3OjIxOjQxIC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBGaXggcHJvcGVydHkgaW5kZXggd2hlbiBzZXR0aW5nIHByZXNldC4KCjIwMDktMDgtMTcgMTc6MDY6NDAgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmg6CgkgIExWMiBwcmVzZXQgc3VwcG9ydC4KCjIwMDktMDktMjIgMDg6MTE6MzYgKzAyMDAgIEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmg6CgkqIGdzdC9wbm0vZ3N0cG5tdXRpbHMuYzoKCSAgcG5tOiBIYW5kbGUgQVNDSUkgZW5jb2RlZCBQTk0gZGF0YSB0aGF0IGlzIHNwbGl0IG92ZXIgbXVsdGlwbGUgYnVmZmVycwoJICBBbHNvOgoJICAtIHVucmVmIGJ1ZmZlcnMgYWZ0ZXIgZ3N0X2J1ZmZlcl9zcGFuCgkgIC0gZml4IHNjYW5uaW5nIG9mIGhlYWRlciBpZiBoZWFkZXIgZGF0YSBpcyBzcGxpdCBvdmVyIHNldmVyYWwgYnVmZmVycwoJICBGaXhlcyBidWcgIzU5NTcwMC4KCjIwMDktMDktMjEgMTE6MzM6NTAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2d0YWJsZXMuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuaDoKCSogZXh0L2NvZy9nZW5lcmF0ZV90YWJsZXMuYzoKCSogZXh0L2NvZy9nc3Rjb2dzY2FsZS5jOgoJICBjb2c6IEFkZCBxdWFsaXR5IHNldHRpbmcgdG8gY29nc2NhbGUKCjIwMDktMDktMjEgMDk6MzU6MzAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9jb2cub3JjOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJICBjb2c6IChyZS0paW1wbGVtZW50IDEvMi80LXRhcCBzY2FsaW5nCgoyMDA5LTA5LTIxIDA5OjMwOjQ0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvY29nZnJhbWUuaDoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSAgY29nOiBGaXggdGhlIHZpcnR1YWwgZnJhbWUgbGluZSBjYWNoZQoKMjAwOS0wOS0yMSAwOTo0OToyMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHRlbmM6IFZCUiByZXF1aXJlcyBjZWx0LTAuNi4wCgoyMDA5LTA5LTIxIDEyOjA2OjU1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogU3BlY2lmeSB0aGF0IHBzaSB0YWJsZSBpcyBzdGF0aWMgY29uc3QuCgkgIFRoaXMgYXZvaWRzIHJlLWFsbG9jYXRpbmcgaXQgZXZlcnkgc2luZ2xlIHRpbWUgd2UgZ28gaW50byBpdC4KCSAgUm91Z2hseSAxMCUgcGVyZm9ybWFuY2UgYm9vc3QgaW4gb3ZlcmFsbCB0c3BhcnNlIHByb2Nlc3NpbmcgdGltZS4KCjIwMDktMDktMjAgMTc6NTM6MjQgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIFJldmVydCAibXBlZ3RzcGFyc2U6IHVzZSBmaXhlZCBzaXplIGFycmF5IHJhdGhlciB0aGFuIGR5bmFtaWNhbGx5IGFsbG9jYXRpbmciCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYWU3NWI2ZjM2NjY1MTI4ODdhZTUyNmYxNmExYWQ0MWJiZjI1MTdhYy4KCjIwMDktMDktMjAgMTU6MzA6NTkgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhcnNlOiB1c2UgZml4ZWQgc2l6ZSBhcnJheSByYXRoZXIgdGhhbiBkeW5hbWljYWxseSBhbGxvY2F0aW5nCgoyMDA5LTA5LTIwIDE1OjE4OjQ2ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiByZXBsYWNlIHN0cmVhbXMgaGFzaHRhYmxlIHdpdGggYW4gYXJyYXkgb2Ygc3RyZWFtcwoKMjAwOS0wOS0yMCAxNDowODo1MCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogdW5yZWYgY2FwcyBvbiBkaXNwb3NlLCByZXNldCBwYWNrZXQgc2l6ZSBvbiBfcmVzZXQKCjIwMDktMDktMjAgMTM6MTU6MTQgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IG1ha2Ugc3VyZSBwYWNrZXRzaXplIGlzIHNldCBvbiBjYXBzIG9mIGJ1ZmZlcnMKCjIwMDktMDktMjAgMTI6Mzg6MDAgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhcnNlOiBkZXRlY3QgcGFja2V0c2l6ZSBhbmQgZG9uJ3QganVzdCBhc3N1bWUgMTg4IGJ5dGVzLgoKMjAwOS0wOS0xOSAxNDoxMDoyOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuaDoKCSAgY2VsdGVuYzogQWRkIGNvbXBsZXhpdHksIGNiciwgYW5kIG1heC1iaXRyYXRlIHByb3BlcnRpZXMKCjIwMDktMDktMTkgMTM6MzI6MTkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvY29nL2NvZy5vcmM6CgkqIGV4dC9jb2cvY29nZnJhbWUuYzoKCSogZXh0L2NvZy9jb2dvcmMuYzoKCSogZXh0L2NvZy9jb2dvcmMuaDoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkgIGNvZzogYXV0b2dlbmVyYXRlIGNvZGUsIGNvbG9yc3BhY2UgaW1wcm92ZW1lbnRzCgoyMDA5LTA5LTE4IDIwOjI3OjQ0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvY29nZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9nc3Rjb2cuYzoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nZG93bnNhbXBsZS5jOgoJKiBleHQvY29nL2dzdGNvZ2ZpbHRlci5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQvY29nL2dzdGNvZ3V0aWxzLmM6CgkqIGV4dC9jb2cvZ3N0Y29sb3Jjb252ZXJ0LmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBjb2c6IHJlbW92ZSAvLyBjb21tZW50cwoKMjAwOS0wOS0xNiAyMDozOTo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IERvbid0IHVzZSBHc3RJdGVyYXRvciwgZG8gY2hhbmdlIGRldGVjdGlvbiBvdXJzZWx2ZXMuCgkgIFVzaW5nIGEgR3N0SXRlcmF0b3IgaXMgc2xvdyBiZWNhdXNlIHdlIGhhdmUgdG8gY3JlYXRlL2Rlc3Ryb3kgdGhhdAoJICBpdGVyYXRvciBldmVyeSBzaW5nbGUgdGltZS4KCSAgV2UganVzdCBkbyB0aGUgdGhyZWFkc2FmZSBjb29raWUgY2hlY2sgYW5kIGxpc3QgaXRlcmF0aW9uIG91cnNlbHZlcy4KCjIwMDktMDktMTUgMjM6MTg6NDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBBdm9pZCB0eXBlLWNoZWNraW5nIGNhc3RzIGluIHRpZ2h0IGxvb3BzCgoyMDA5LTA5LTE1IDIzOjEyOjMzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IE1ha2UgbmV4dF9wYWNrZXQoKSByZXR1cm4gYW4gZW51bS4KCSAgVGhpcyBhdm9pZHMgY2FsbGluZyBhbiBleHRyYSBnc3RfYWRhcHRlcl9hdmFpbGFibGUoKSBpbiBhIHRpZ2h0IGxvb3AuCgoyMDA5LTA5LTE1IDIzOjExOjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogTW9yZSBicmFuY2ggcHJlZGljdGlvbiBtYWNyb3MKCjIwMDktMDktMTUgMjA6NDk6MzkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBTcHJlYWQgYnJhbmNoIHByZWRpY3Rpb24gbWFjcm9zCgoyMDA5LTA5LTE1IDE5OjE2OjM2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplcjogUmVnaXN0ZXIgYW5kIHVzZSBHUXVhcmsgZm9yIHN0cnVjdHVyZXMuCgoyMDA5LTA5LTE1IDE4OjU3OjI1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEluaXRpYWxpemUgZGVidWdnaW5nIGluIF9nZXRfdHlwZQoJICBUaGVyZSdzIG5vIG5lZWQgZm9yIGFuIGV4dHJhIGZ1bmN0aW9uIHNpbmNlIGFsbCBkZWJ1Z2dpbiB3aWxsIHJlcXVpcmUKCSAgYSBNcGVnVFNQYWNrZXRpemVyIHdoaWNoIG1lYW5zIHRoYXQgdGhlIEdUeXBlIHdpbGwgYmUgY3JlYXRlZCwgdGhlcmVmb3JlCgkgIG1vdmUgdGhlIGRlYnVnIGNhdGVnb3J5IGluaXRpYWxpemF0aW9uIHRoZXJlLgoKMjAwOS0wOS0xNSAyMzowOToyMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBtZW1zZXQgc3RydWN0dXJlIGluc3RlYWQgb2YgaW5kaXZpZHVhbGx5IHNldHRpbmcgZmllbGRzIHRvIDAKCjIwMDktMDktMTUgMjM6MDg6MTMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogUmVtb3ZlIGdfcmV0dXJuX2lmX2ZhaWwKCSAgSXQncyBvdmVya2lsbCBmb3IgY29kZSBvbmx5IHVzZWQgYnkgb25lIGVsZW1lbnQuCgoyMDA5LTA5LTE1IDE5OjQ0OjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFja2V0aXplci9wYXJzZTogRG9uJ3QgdXNlIGdzdF9zdHJ1Y3R1cmVfdG9fc3RyaW5nKCkgZm9yIGRlYnVnZ2luZy4KCSAgVGhlcmUncyBHU1RfUFRSX0ZPUk1BVCBmb3IgdGhhdCwgYW5kIHRvbyBiYWQgZm9yIHRoZSBzeXN0ZW1zIHRoYXQgZG9uJ3QgaGF2ZQoJICBzdXBwb3J0IGZvciB0aGF0LiBJdCBqdXN0IGNvc3RzIHRvbyBtdWNoIGNwdS4KCjIwMDktMDktMTUgMTk6MDA6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzcGFyc2UvLmdpdGlnbm9yZToKCSogZ3N0L21wZWd0c3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzcGFyc2UvZ3N0bXBlZ2Rlc2MuYzoKCSogZ3N0L21wZWd0c3BhcnNlL2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuaDoKCSogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlbWFyc2hhbC5saXN0OgoJICBnc3Q6IFJlbW92ZSBkZWFkIG1wZWd0c3BhcnNlIGRpcmVjdG9yeS4KCSAgVGhpcyB3YXMgc2VyaW91c2x5IGNvbmZ1c2luZy4gQWxzbywgdGhlIGNvZGUgaXMgaW4gZ3N0L21wZWdkZW11eC8KCjIwMDktMDktMTggMTQ6MjU6NDkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvY29nLmg6CgkqIGV4dC9jb2cvY29nZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d1dGlscy5oOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5oOgoJKiBleHQvY29nL2dzdGNvZy5jOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dkb3duc2FtcGxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nZmlsdGVyLmM6CgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nc2NhbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2d1dGlscy5jOgoJKiBleHQvY29nL2dzdGNvZ3V0aWxzLmg6CgkqIGV4dC9jb2cvZ3N0Y29sb3Jjb252ZXJ0LmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBjb2c6IGZpeGVzIHRvIG1ha2UgY29nIHdvcmsgaW5zaWRlIC1iYWQKCjIwMDktMDktMTggMTU6MDY6NTcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9NYWtlZmlsZS5hbToKCSAgdmlkZW9tZWFzdXJlOiBmaXggbGluZSBlbmRpbmdzCgoyMDA5LTA5LTE4IDE1OjA2OjM2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb21lYXN1cmUvTWFrZWZpbGUuYW06CgkgIHZpZGVvbWVhc3VyZTogZml4IGRpc3RjaGVjawoKMjAwOS0wOS0xNyAxODoxNjozNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBxdWlldCBkZWJ1Z2dpbmcgbWVzc2FnZSBpbiBsYXN0IGNvbW1pdAoKMjAwOS0wOS0xNyAxODoxNToyOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBLZWVwIHRyYWNrIG9mIGdyYW51bGUgb2Zmc2V0CgoyMDA5LTA4LTMxIDEwOjM2OjQ2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9jb2dmcmFtZS5jOgoJKiBleHQvY29nL2NvZ2ZyYW1lLmg6CgkqIGV4dC9jb2cvY29nb3JjLmM6CgkqIGV4dC9jb2cvY29nb3JjLmg6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmg6CgkqIGV4dC9jb2cvZ3N0Y29nLmM6CgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJKiBleHQvY29nL2dzdGNvZ2Rvd25zYW1wbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2dmaWx0ZXIuYzoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dzY2FsZS5jOgoJKiBleHQvY29nL2dzdGNvZ3V0aWxzLmM6CgkqIGV4dC9jb2cvZ3N0Y29ndXRpbHMuaDoKCSogZXh0L2NvZy9nc3Rjb2xvcmNvbnZlcnQuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIENvcHkgY29nIHBsdWdpbiBhbmQgdmlkZW8gbGlicmFyeSBmcm9tIGNvZyBwcm9qZWN0CgoyMDA5LTA5LTE3IDE2OjU0OjU3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSAgc2Nocm9kZWM6IEZpeCByZXN5bmMgYnVnIGR1ZSB0byBhZGFwdGVyIEFQSSBjaGFuZ2UKCSAgZ3N0X2FkYXB0ZXJfbWFza2VkX3NjYW5fdWludDMyKCkgY2hhbmdlZCBzbGlnaHRseSBmcm9tIHdoZW4KCSAgdGhpcyBlbGVtZW50IHdhcyBpbiBTY2hyb2VkaW5nZXIuICBPb3BzLgoKMjAwOS0wOS0xNyAxNjo1NzoxNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW86IGRlYnVnIGF0IG5ldyBzZWdtZW50IGV2ZW50cwoKMjAwOS0wOS0xNyAxNjo1NDoxNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgbXBlZ3RzZGVtdXg6IFNldCBESVNDT05UIG9uIGJ1ZmZlcnMKCjIwMDktMDktMTcgMTA6NTA6NDAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBBZGQgYSB3YXJuaW5nCgoyMDA5LTA5LTE3IDEwOjQ5OjEzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGVuYzogZG9uJ3QgbGltaXQgYml0IHJhdGUKCjIwMDktMDktMTcgMDk6Mzg6MDIgKzAyMDAgIEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkgIHBubTogQWRkIEFTQ0lJIGRlY29kaW5nIHN1cHBvcnQKCSAgLi4uYW5kIG1ha2UgdGhlIEFTQ0lJIG91dHB1dCBvZiB0aGUgZW5jb2RlciBhIGJpdCBtb3JlIHByZXR0eS4KCSAgRml4ZXMgYnVnICM1OTU0MDkuCgoyMDA5LTA5LTE3IDA5OjM1OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgcG5tOiBSZW1vdmUgdGhlIGV4cGVyaW1lbnRhbCBzdGF0dXMgZnJvbSB0aGUgcG5tIHBsdWdpbgoKMjAwOS0wOC0xNCAxODowODo1NiAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgTW9yZSB0b2xlcmF0ZSBwb3J0IGdyb3VwIHN1cHBvcnQsIHBsdWdpbiBjbGVhbnVwLgoJICBHcmFjZWZ1bGx5IGhhbmRsZSBwbHVnaW5zIHdpdGggaWxsZWdhbCBncm91cHMgdGhhdCBjb250YWluIG5vIHN5bWJvbCBieQoJICB0cmVhdGluZyBwb3J0cyBpbiB0aGF0IGdyb3VwIG5vcm1hbGx5IChpLmUuIGFzIGlmIHRoZXkgd2VyZW4ndCBwYXJ0IG9mIGEKCSAgZ3JvdXApLiAgVGhlIHBvcnQgZ3JvdXBzIHNwZWMgbWFuZGF0ZXMgdGhhdCBncm91cHMgaGF2ZSBhIHZhbGlkIHVuaXF1ZQoJICBzeW1ib2wsIGJ1dCBwbHVnaW5zIGFyZW4ndCBwZXJmZWN0Li4uCgkgIE1ha2UgKGNvbmNlcHR1YWxseSkgc3RhdGljIHBsdWdpbiB2YXJpYWJsZXMgYWN0dWFsbHkgKEMpIHN0YXRpYywKCSAgYW5kIGNsZWFuIHVwIFNMVjIgcmVsYXRlZCB0aGluZ3Mgd2l0aCBhIEdDQyBzaGFyZWQgbGlicmFyeSBkZXN0cnVjdG9yLAoJICBpZiBHQ0MgaXMgaW4gdXNlLgoKMjAwOS0wOC0xMiAwMTowNzo1NyAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgTWFrZSBtb25vIHdhcm5pbmcgdmlzaWJsZSBpbiBwdWJsaWMgZG9jdW1lbnRhdGlvbi4KCjIwMDktMDgtMTIgMDE6MDM6MzIgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmg6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkgIE11bHRpLWNoYW5uZWwgc3VwcG9ydCB3aXRoIGNoYW5uZWwgcG9zaXRpb25zLgoJICBUaGlzIHF1ZXJpZXMgcG9ydCByb2xlcyBmcm9tIHRoZSBMVjIgZGF0YSBhbmQgY29udmVydHMgaXQgaW50byBHU3RyZWFtZXIKCSAgY2hhbm5lbCBwb3NpdGlvbnMuICBUaGlzIHNob3VsZCBhbGxvdyBhbnkgdHlwZSBvZiBtdWx0aS1jaGFubmVsIHBsdWdpbgoJICAoaW5jbHVkaW5nIGJleW9uZCBzdGVyZW8sIGUuZy4gc3Vycm91bmQpIHRvIHdvcmsgZmluZSBpbiBHU3RyZWFtZXIsCgkgIGFuZCB3aXRoIGVsZW1lbnRzIHRoYXQgcmVxdWlyZSBjaGFubmVsIHBvc2l0aW9ucyB0byBiZSBleHBsaWNpdGx5IHN0YXRlZC4KCjIwMDktMDgtMTAgMjM6MTI6MjQgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBMVjIgZWxlbWVudC4KCjIwMDktMDgtMTAgMjM6MDQ6NDcgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIEZpeCB0eXBvIGluIExBRFNQQSBlbGVtZW50IGRvY3VtZW50YXRpb24uCgoyMDA5LTA3LTIxIDE1OjQ1OjA2IC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgU0xWMiBkZXBlbmRlbmN5IHRvIDAuNi42LgoKMjAwOS0wNy0xMCAyMTo1MjozMCAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2x2Mi9jYWxmLWx2Mi1wb3J0LWdyb3Vwcy5wYXRjaDoKCSogZXh0L2x2Mi9zd2gtbHYyLXBvcnQtZ3JvdXBzLnBhdGNoOgoJICBBZGQgc3doIGFuZCBjYWxmIExWMiBwb3J0IGdyb3VwIHBhdGNoZXMuCgoyMDA5LTA3LTAzIDIwOjAwOjExIC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbHYyL2dzdGx2Mi5oOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJICBXb3JraW5nIG11bHRpLWNoYW5uZWwgcGFkcyBmb3IgTFYyIHBsdWdpbnMuCgoyMDA5LTA2LTI3IDAwOjI1OjM4IC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBBbGxvY2F0ZSBhIHN0YXRpYyBwcmVkaWNhdGUgZm9yIHBnOmluR3JvdXAuCgoyMDA5LTA2LTI1IDE3OjI1OjUyIC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBPbmx5IGFsbG9jYXRlIGx2MjppblBsYWNlQnJva2VuIHByZWRpY2F0ZSBvbmNlLgoKMjAwOS0wNi0yNSAxNToxMDoyNCAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgRWxpbWluYXRlIHVzZSBvZiBzdGF0aWMgbW9ubyBwYWQgdGVtcGxhdGUuCgoyMDA5LTA2LTI1IDE1OjA3OjA1IC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBTZXBhcmF0ZSBwb3J0IGRpc2NvdmVyeSBmcm9tIHBhZCB0ZW1wbGF0ZSBjcmVhdGlvbi4KCSAgVGhpcyBmaXJzdCBjb3VudHMgcG9ydHMgKHVzaW5nIHRoZSBidWlsdGluIHNsdjIgZnVuY3Rpb25zIHRvIGRvIHNvCgkgIHJhdGhlciB0aGFuIG1hbnVhbGx5IGFzIGJlZm9yZSksIHRoZW4gY3JlYXRlcyBkZXNjcmlwdG9ycyBmb3IgZWFjaCBwb3J0CgkgIGFuZCBmaW5kcyBhbGwgcG9ydCBncm91cHMuICBPbmx5IHRoZW4gYXJlIHBhZCB0ZW1wbGF0ZXMgY3JlYXRlZCAodG93YXJkcwoJICB1c2luZyBncm91cCBpbmZvcm1hdGlvbiBmb3IgY3JlYXRpbmcgbXVsdGktY2hhbm5lbCBwYWRzKS4KCjIwMDktMDYtMjUgMTI6MzQ6MDMgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIFVzZSBzaWxseSBnbGliIHR5cGVzIDopLgoKMjAwOS0wNi0yMCAxOTo1MjoyNiAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L2x2Mi9nc3RsdjIuaDoKCSAgUXVlcnkgYW5kIHN0b3JlIHBvcnQgZ3JvdXAgaW5mb3JtYXRpb24uCgkgIFJlcGxhY2UgcG9ydCBpbmRleCBhcnJheXMgd2l0aCBhIHN0cnVjdCBmb3IgaG9sZGluZyBtb3JlIGluZm9ybWF0aW9uCgkgIHRoYW4ganVzdCBpbmRpY2VzIChlLmcuIGdyb3VwcykuCgoyMDA5LTA1LTI1IDIyOjE1OjU2IC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbHYyL2dzdGx2Mi5oOgoJICBXb3JraW5nIGJhc2ljIExWMiBzaWduYWwgcHJvY2Vzc2luZy4KCSAgTFYyIHBsdWdpbnMsIHNob3J0IG9mIGFueSBzdXJwcmlzZXMsIHNob3VsZCB3b3JrIHdpdGggdGhlIHNhbWUgYmFzaWMKCSAgZnVuY3Rpb25hbGl0eSBhcyBMQURTUEEgcGx1Z2lucy4KCjIwMDktMDUtMjUgMjA6NDM6MTAgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIFNldCBjbGFzcyBpblBsYWNlQnJva2VuIHByb3BlcnR5LgoKMjAwOS0wOS0xNyAwOTo0MzozNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkgIGRvY3M6IGZpeCBleGFtcGxlIGFuZCBtZW50aW9uIGRpZmZlcmVuY2UgdG8gdm9yYmlzZGVjCgoyMDA5LTA5LTAyIDExOjExOjIwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdTogRml4IGJvZ3VzIGNoZWNrIGJlZm9yZSB1bnJlZmZpbmcKCjIwMDktMDktMDEgMTk6NDg6NDMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgdmRwYXU6IEZpeCBwa2ctY29uZmlnIHRlc3QKCSAgSWYgdGhlIHBrZy1jb25maWcgY2hlY2sgZG9lc24ndCBzdWNjZWVkLCB0ZXN0IHdpdGggdGhlIG9sZCBtZXRob2QKCSAgaW5zdGVhZCBvZiBiYWlsaW5nIG91dCBvZiBjb25maWd1cmUgd2l0aCBhbiBlcnJvci4KCjIwMDktMDgtMjAgMDA6MTY6MDIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBoYW5kbGUgcGl4ZWwtYXNwZWN0LXJhdGlvIGJldHRlcgoJICB0aGUgaW1wbGVtZW50YXRpb24gaXMgbm90IGVudGlyZWx5IGNvcnJlY3Qgc2luY2Ugd2UgYXNzdW1lIHRoYXQgdGhlIHNpbmsKCSAgZWxlbWVudCdzIHBpeGVsLWFzcGVjdC1yYXRpbyBpcyAxLzEKCjIwMDktMDgtMTkgMjI6NTI6MzQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiByZW1vdmUgcGFyIGZyb20gY2FwcyBzaW5jZSB3ZSBkb24ndCBoYW5kbGUgaXQgeWV0CgoyMDA5LTA4LTE5IDIyOjQwOjQ4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogZG9uJ3QgcmVtb3ZlIGludGVybGFjZWQgZmxhZyBpbiB2aWRlb190b19vdXRwdXRfY2FwcygpCgoyMDA5LTA4LTE5IDIyOjIzOjE3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBhZGQgaW52ZXJzZS10ZWxlY2luZSBwcm9wZXJ0eQoKMjAwOS0wOC0xOSAyMjowMzoxMSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogZml4IG5vaXNlLXJlZHVjdGlvbiBwcm9wZXJ0eSBnZXR0ZXIKCjIwMDktMDgtMTkgMjI6MDI6MTkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGFkZCBzaGFycGVuaW5nIHByb3BlcnR5CgoyMDA5LTA4LTE3IDIzOjQyOjUwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJICB2ZHBhdTogcmVtb3ZlIGdzdF92ZHBfZGV2aWNlX25ldyBmcm9tIGhlYWRlcgoKMjAwOS0wOC0xNyAyMzo0MjoyMSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkgIHZkcGF1c2luazogZml4IGVycm9yIGhhbmRsaW5nIGlmIGdzdF92ZHBfZ2V0X2RldmljZSByZXR1cm5zIE5VTEwKCjIwMDktMDgtMTcgMjM6Mzk6NTIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkgIHZkcGF1OiBhZGQgYmFjayB2ZHBhdXNpbmsgYW5kIHZkcGF1dmlkZW9wb3N0cHJvY2VzcwoKMjAwOS0wOC0xNyAyMzozOToxNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJICB2ZHBkZXZpY2U6IGZpeCBlcnJvciBoYW5kbGluZyBhbmQgdGhyZWFkc2FmZXR5CgkgIHJldHVybiBOVUxMIGluY2FzZSBvZiBpbml0YWxpemF0aW9uIGVycm9ycyBhbmQgZ3VhcmQgaGFzaHRhYmxlIGFjY2VzcyB3aXRoIGEgbXV0ZXgKCjIwMDktMDctMTcgMjI6NTA6MTggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGdldCBjb3JyZWN0IG51bWJlciBvZiBuZWVkZWQgZnJhbWVzIGlmIHdlJ3JlIGRvaW5nIG5vaXNlIHJlZHVjdGlvbgoKMjAwOS0wNy0xNyAyMjo0ODoyMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1bXBlZ2RlYzogc21hbGwgaW5kZW50IGZpeAoKMjAwOS0wNy0xNSAyMDoxODozMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1bXBlZ2RlYzogZml4IGdzdF9ieXRlX3JlYWRlcl9tYXNrZWRfc2Nhbl91aW50MzIgdXNhZ2UKCjIwMDktMDctMDQgMTk6NDg6NDIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJICB2ZHBhdXZpZGVwb3N0cHJvY2VzczogcmVtb3ZlIGJvb2xlYW4gbm9pc2UtcmVkdWN0aW9uIHByb3BlcnR5CgkgIFVzZSB0aGUgZmxvYXQgb25lIHRvIGRldGVybWluZSBpZiB3ZSBzaG91bGQgZW5hYmxlIG5vaXNlIHJlZHVjdGlvbiBvciBub3QKCjIwMDktMDctMDQgMTU6NDY6MDIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBhZGQgc3VwcG9ydCBmb3Igbm9pc2UgcmVkdWN0aW9uCgoyMDA5LTA3LTA0IDEzOjU5OjM2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGFkZCBzdXBwb3J0IGZvciBkZWludGVybGFjaW5nCgkgIFRoZSBjb2RlIGlzIHJvdWdobHkgbW9kZWxlZCBhZnRlciB0aGUgZGVpbnRlcmxhY2UgcGx1Z2luCgoyMDA5LTA3LTAyIDE3OjExOjEwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuaDoKCSAgdmRwYXVzaW5rOiBhZGQgbXlzZWxmIHRvIGNvcHlyaWdodAoKMjAwOS0wNy0wMiAxNDowMToxNiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2Vzczogcy9nc3RfdmRwX3ZwcF9zZXRfY2Fwcy9nc3RfdmRwX3ZwcF9zaW5rX3NldGNhcHMKCjIwMDktMDctMDEgMjM6MTI6MjAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdW1wZWdkZWM6IHVzZSBnc3RfYnl0ZV9yZWFkZXJfbWFza2VkX3NjYW5fdWludDMyIGluc3RlYWQgb2Ygb3VyIG93biB2ZXJzaW9uCgoyMDA5LTA3LTAxIDAwOjIwOjMzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSAgdmRwYXU6IHVzZSBHX05fRUxFTUVOVFMgaW5zdGVhZCBvZiBoYXJkY29kaW5nIGFycmF5IHNpemVzCgoyMDA5LTA3LTAxIDAwOjEzOjE0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJICB2ZHBhdTogdXNlIEdfTl9FTEVNRU5UUyBpbnN0ZWFkIG9mIE5VTEwgdGVybWluYXRpbmcgYXJyYXkKCjIwMDktMDYtMzAgMjM6NTU6MTMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRidWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dGJ1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5jOgoJICB2ZHBhdTogYWRkIG5ldyB2ZHBhdXNpbmsgYW5kIHZkcGF1dmlkZW9wb3N0cHJvY2VzcyBlbGVtZW50cwoJICB2ZHBhdXNpbmsgaXMgYXMgdGhlIG5hbWUgaW1wbGllcyBhIHNpbmsgd2hpY2ggdGFrZXMgdmlkZS94LXZkcGF1LW91dHB1dCBidWZmZXJzCgkgIGFuZCBvdXRwdXRzIGl0IHRvIHRoZSBzY3JlZW4uCgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzcyBpcyBhbiBlbGVtZW50IHdoaWNoIHRha2VzIHZpZGVvL3gtdmRwYXUtdmlkZW8gYnVmZmVycyBhbmQKCSAgb3V0cHV0cyB2aWRlby94LXZkcGF1LW91dHB1dCBidWZmZXJzLiBUaGUgZWxlbWVudCBjYW4gYWxzbyBkbyB0aGluZ3MgbGlrZQoJICBkZWludGVybGFjaW5nIGFuZCBvdGhlciBwb3N0cHJvY2Vzc2luZyBidXQgdGhpcyBpcyBub3QgaW1wbGVtZW50ZWQgeWV0LgoKMjAwOS0wNi0yOSAyMjo1MDo0MiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgdmRwYXU6IGNoZWNrIGZvciB2ZHBhdSB3aXRoIHBrZy1jb25maWcgZmlyc3QKCjIwMDktMDYtMjQgMTc6NTE6NTggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSAgdmRwYXU6IHNwbGl0IGdzdF92ZHBfbXBlZ19kZWNfcmVzZXQgaW50byBzdGFydCBhbmQgc3RvcAoKMjAwOS0wNi0yNCAxMTozNjoyOCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uaDoKCSAgdmRwYXU6IGRvbid0IHB1dCB0aGUgR3N0VmRwRGV2aWNlIGluIHRoZSBjYXBzCgoyMDA5LTA2LTIzIDIzOjAzOjUyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmg6CgkgIHZkcGF1OiBtYWtlIEdzdFZkcFZpZGVvWVVWIGltcGxlbWVudCBwYWRfYWxsb2MKCSAgYWxzbyBjaGFuZ2UgR3N0VmRwTXBlZ0RlYyBhbmQgR3N0VmRwWVVWVmlkZW8gdG8gbWFrZSB1c2Ugb2YgdGhpcwoKMjAwOS0wNi0yMyAxNzoyNjoyMiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmM6CgkgIHZkcGF1OiBhZGQgc3VwcG9ydCBmb3IgWVVZMgoKMjAwOS0wNi0yMyAxNzoxNjoyNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uYzoKCSAgdmRwYXU6IGFkZCBzdXBwb3J0IGZvciBVWVZZCgoyMDA5LTA2LTIzIDE2OjU3OjQ1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5oOgoJICB2ZHBhdTogZmFjdG9yIG91dCBjb21tb24gY2FwcyBjYWxjdWxhdGlvbiBhbmQgcHV0IGl0IGluIGdzdHZkcHV0aWxzLltjaF0KCjIwMDktMDYtMjIgMjM6MjU6NTUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmM6CgkgIHZkcGF1OiByZWZhY3RvciBHc3RWZHBWaWRlb1lVViBhbmQgR3N0VmRwWVVWVmlkZW8KCjIwMDktMDYtMjIgMjI6MTc6NDggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmg6CgkgIHZkcGF1OiBtYWtlIEdzdFZkcFlVVlZpZGVvIGluaGVyaXQgZnJvbSBHc3RCYXNlVHJhbnNmb3JtCgoyMDA5LTA2LTIyIDExOjAwOjQwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkgIHZkcGF1OiBmaXh1cCBzb21lIGRlYnVnIHByaW50cwoKMjAwOS0wNi0yMiAxMDo1NzoyNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuaDoKCSAgdmRwYXU6IG1ha2UgR3N0VmRwVmlkZW9ZVVYgaW5oZXJpdCBmcm9tIEdzdEJhc2VUcmFuc2Zvcm0KCjIwMDktMDktMTYgMDg6MjI6MTkgKzAyMDAgIEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCgkqIGdzdC9wbm0vZ3N0cG5tLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9wbm0vZ3N0cG5tdXRpbHMuYzoKCSogZ3N0L3BubS9nc3Rwbm11dGlscy5oOgoJICBwbm06IFN1cHBvcnQgQVNDSUkgZm9ybWF0IGZvciBlbmNvZGluZyBhbmQgaGFuZGxlIHVuc3VwcG9ydGVkIGZvcm1hdHMgYmV0dGVyIGluIHRoZSBkZWNvZGVyCgkgIEZpeGVzIGJ1ZyAjNTk1MjE1LgoKMjAwOS0wOS0xNSAyMzozMjowNiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBIYW5kbGUgYmFzZV90aW1lIHdoZW4gc2VuZGluZyBzZWdtZW50IHVwZGF0ZXMuCgkgIERvbid0IHNlbmQgYm9ndXMgbmV3IHNlZ21lbnQgdXBkYXRlIGV2ZW50cyB3aGVuIHRoZSBzdHJlYW0gZG9lc24ndAoJICBzdGFydCBhdCAwLiBGaXhlcyBicm9rZW4gc2Vla2luZyBpbiBzb21lIGZpbGVzLgoJICBGaXhlczogIzU5NDgxMgoKMjAwOS0wOC0xOCAxMzozNTo1OSArMDIwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0c2VjdGlvbmZpbHRlci5jOgoJICBtcGVndHNkZW11eCwgbXBlZ3RzcGFyc2U6IG1heCBzZWN0aW9uIGxlbmd0aCBpcyA0MDkzIG5vdCAxMDIxLgoKMjAwOS0wOC0xOCAwMTowODowMyArMDIwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGFkZCBwYWQgZm9yIERWQiBTdWJ0aXRsaW5nIHBhZHMKCjIwMDktMDktMTMgMTk6Mzk6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSAgcG5tOiBVc2UgY29ycmVjdCByb3dzdHJpZGUgZm9yIDggYml0IGdyYXlzY2FsZSB0b28KCjIwMDktMDktMTMgMTk6MzM6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSAgcG5tOiBDb3JyZWN0bHkgY29udmVydCBmcm9tL3RvIEdTdHJlYW1lciByb3dzdHJpZGUKCjIwMDktMDktMTMgMTk6MTc6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSAgcG5tOiBGaXggY2FwcwoJICA4IGJpdCBncmF5c2NhbGUgY2FwcyBoYXZlIG5vIGVuZGlhbm5lc3MgZmllbGQgYW5kIHRoZSBjYXBzIG5hbWUKCSAgb2YgR1NUX1ZJREVPX0NBUFNfUkdCIGlzIHN0aWxsICJ2aWRlby94LXJhdy1yZ2IiIGFuZCBub3QgR1NUX1ZJREVPX0NBUFNfUkdCLgoKMjAwOS0wOS0xMyAxOToxMzoyNCArMDIwMCAgTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuaDoKCSAgcG5tOiBMb3RzIG9mIGJ1Z2ZpeGVzCgkgICgxKSBGaXggZXhhbXBsZXMuCgkgICgyKSBBZGQgc3VwcG9ydCBmb3IgZ3JheSBpbWFnZXMuCgkgICgzKSBSZW1vdmUgInVzZV9maXhlZF9jYXBzIiB3aGljaCBkb2Vzbid0IHNlZW0gdG8gYmUgdXNlZnVsLgoJICAoNCkgRG8gcHJvcGVyIG5lZ290aWF0aW9uIGluIHRoZSBlbmNvZGVyLgoJICAoNSkgRml4IG1lbWxlYWsgaW4gdGhlIHNldGNhcHMgZnVuY3Rpb24gaW4gdGhlIGVuY29kZXIuCgkgICg2KSBLZWVwIGEgbGluayB0byB0aGUgc3JjIHBhZCBpbiB0aGUgZW5jb2RlciBub3cgdGhhdCB3ZSBuZWVkIGl0IG1vcmUgb2Z0ZW4uCgkgIFBhcnRpYWxseSBmaXhlcyBidWcgIzE2NDg3MC4KCjIwMDktMDktMTIgMTg6NTc6MDUgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIEZpeCBmYWN0b3J5IGluZm9ybWF0aW9uIGZvciBoMjY0cGFyc2UsIGFkZCBtaXNzaW5nIFZpZGVvCgoyMDA5LTA5LTExIDE0OjM4OjQ2IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogRml4IGFuIG9mZi1ieS04IGJ1ZyBpbiBwYXJzaW5nIHRoZSBBSUZGIGRhdGEgc2l6ZS4KCSAgVGhpcyBsZWQgdG8gb3ZlcnJlYWRpbmcgYnkgOCBieXRlcywgZ2l2aW5nIGFuIGF1ZGlibGUgZ2xpdGNoIGF0IHRoZSBlbmQgb2YKCSAgYSBmaWxlIChleGNlcHQgd2hlbiB0aGUgZmlsZSBkaWRuJ3QgaGF2ZSBhIHRyYWlsaW5nIGNodW5rIG9mIHNvbWUgc29ydCkuCgoyMDA5LTA5LTA4IDIwOjUyOjA5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogVXNlIEdTVF9USU1FX0ZPUk1BVCBpbiBkZWJ1ZyBzdGF0ZW1lbnQuCgoyMDA5LTA5LTA4IDA5OjIwOjAwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogUmVzZXQgc3RyZWFtLT5sYXN0X3RpbWUgd2hlbiBmbHVzaGluZy4KCSAgVGhpcyBmaXhlcyBuYWl2ZSBzZWVraW5nIGEgdGlueSBiaXQgKGJ5IGJhc2ljYWxseSBoaW50aW5nIGF0IF9kYXRhX2NiCgkgIHRoYXQgaXQgc2hvdWxkbid0IGV4cGVjdCB0aGUgaW5jb21pbmcgYnVmZmVycyB0byBiZSB0aGUgb25lcyBqdXN0IGFmdGVyCgkgIHRoZSBwcmV2aW91cyBvbmVzKS4KCSAgV2l0aG91dCB0aGlzLCBzZWVraW5nIGJ5IG1vcmUgdGhhbiAxMG1pbnMgZm9yd2FyZCB3b3VsZCBqdXN0IGVuZCB1cCBpbiBhbgoJICBlbmRsZXNzIGxvb3AuCgoyMDA5LTA5LTA4IDA5OjE4OjQyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogU3ByaW5rbGUgYnJhbmNoIHByZWRpY3Rpb24gbWFjcm9zLgoKMjAwOS0wOS0xMCAxMjoxMjoyNiAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDN0YWc6IFdoZW4gd3JpdGluZyBpZDN2Mi4zLCBkbyBub3QgdXNlIFVURi04LgoJICBVVEYtOCBpcyBvbmx5IHBlcm1pdHRlZCBpbiB2Mi40LiBTbyBpbnN0ZWFkIHVzZSBJU08tODg1OS0xIGZvciBhc2NpaS1vbmx5CgkgIHN0cmluZ3MsIGFuZCBVVEYxNiBvdGhlcndpc2UuIEFsc28sIGRvIG5vdCBudWxsIHRlcm1pbmF0ZSBzdHJpbmdzIGluIHRleHQKCSAgZnJhbWVzLCBleGNlcHQgd2hlcmUgcmVxdWlyZWQuIFRoZXNlIHR3byBhbGxvdyB3aW5kb3dzIG1lZGlhIHBsYXllciB0byBwbGF5CgkgIChhbmQgY29ycmVjdGx5IHJlYWQgdGFncykgZmlsZXMgY3JlYXRlZCBieSBpZDNtdXguCgoyMDA5LTA3LTIzIDE2OjEzOjI4IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJICBhZHBjbWRlYzogY29tcGxldGUgaW1hIGFkcGNtIHN1cHBvcnQuCgoyMDA5LTA3LTIzIDExOjU5OjM5IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJICBhZHBjbWRlYzogY2hlY2twb2ludCBmb3IgaW5jb21wbGV0ZSBJTUEgQURQQ00gc3VwcG9ydC4KCjIwMDktMDktMTAgMTI6MDI6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmUuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSAgdmlkZW9tZWFzdXJlOiBGaXggZm9ybWF0IHN0cmluZ3MgYW5kIGluY2x1ZGUgY29ycmVjdCBpMThuIGhlYWRlcgoKMjAwOS0wOS0xMCAxMTo1ODowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZS5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZS5oOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmg6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5oOgoJICB2aWRlb21lYXN1cmU6IEZpeCBpbmRlbnRpb24sIGxpbmUgZW5kaW5ncyBhbmQgdXNlIExSTidzIHJlYWwgbmFtZQoKMjAwOS0wOS0wOSAxOToxNDoyNyArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC92aWRlb21lYXN1cmUvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlLmg6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuaDoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmg6CgkgIHZpZGVvbWVhc3VyZTogSW5pdGlhbCB2ZXJzaW9uIG9mIHZpZGVvbWVhc3VyZSBwbHVnaW4KCSAgVGhpcyBwbHVnaW4gY29udGFpbnMgZWxlbWVudHMgZm9yIGNhbGN1bGF0aW5nIG1ldHJpY3Mgb2YgdmlkZW8gc3RyZWFtcywgaW50ZW5kZWQgZm9yIG9iamVjdGl2ZSB2aWRlbyBjb2RlYyBjb21wYXJpc29uLgoJICBBdCB0aGUgbW9tZW50IG9ubHkgU1NJTSBtZXRyaWMgaXMgaW1wbGVtZW50ZWQgKHdoeSB3b3VsZCB5b3UgbmVlZCBhbnl0aGluZyBlbHNlIGFueXdheT8pLgoJICBBbHNvIGNvbnRhaW5zIGEgaGVscGVyIHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IgZWxlbWVudCB0aGF0IGNvbGxlY3RzIG1lYXN1cmVtZW50IGV2ZW50cyBhbmQgb3V0cHV0cyB0aGVtIGludG8gYSBmaWxlICh0byBiZSB1c2VkIHdpdGggZ3N0LWxhdW5jaCkuCgkgIE90aGVyIG1ldHJpY3MgbWF5IGJlIGltcGxlbWVudGVkIGluIHRoZSBmdXR1cmUgYWxvbmcgd2l0aCBhIGJhc2UgY2xhc3MgZm9yIGFsbCBtZWFzdXJlcnMuCgkgIEZpeGVzIGJ1ZyAjNTk0MzIxLgoKMjAwOS0wOS0xMCAwODo1NDoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIHBubTogTWFyayBQTk0gcGx1Z2luIGFzIGV4cGVyaW1lbnRhbCBiZWNhdXNlIGl0IGRvZXNuJ3Qgd29yayB3ZWxsIHlldAoKMjAwOS0wOS0xMCAwODo1Mzo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJICBwbm1kZWM6IFBhcnRpYWxseSBmaXggbmVnb3RpYXRpb24gaXNzdWVzIGFuZCByZWZjb3VudCBsZWFrcwoKMjAwOS0wOS0xMCAwODo0ODoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcG5tL01ha2VmaWxlLmFtOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICBwbm1lbmM6IEZpeCBuZWdvdGlhdGlvbiBpc3N1ZXMgYW5kIHJlZmNvdW50IGxlYWtzCgoyMDA5LTA5LTEwIDA4OjI5OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wbm0vZ3N0cG5tLmM6CgkgIHBubTogRml4IHR5cGVmaW5kZXIgY2FwcwoKMjAwOS0wOS0xMCAwODoyMzoyMiArMDIwMCAgTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcG5tL01ha2VmaWxlLmFtOgoJKiBnc3QvcG5tL2dzdHBubS5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5oOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5oOgoJKiBnc3QvcG5tL2dzdHBubXV0aWxzLmM6CgkqIGdzdC9wbm0vZ3N0cG5tdXRpbHMuaDoKCSAgcG5tOiBBZGQgUE5NIGVuY29kZXIgYW5kIGRlY29kZXIgZWxlbWVudHMKCSAgRml4ZXMgYnVnICMxNjQ4NzAuCgoyMDA5LTA5LTEwIDA3OjU2OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkqIGV4dC9sdjIvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvTWFrZWZpbGUuYW06CgkgIHNpZ25hbHByb2Nlc3NvcjogRml4IHZhcmlvdXMgYnVpbGQvZGlzdCBpc3N1ZXMKCSAgSW5zdGFsbCB0aGUgaGVhZGVycywgdmVyc2lvbiB0aGUgbGlicmFyeSB3aXRoIEBHU1RfTUFKT1JNSU5PUkAsCgkgIGFkZCBhbGwgcmVxdWlyZWQgbGlicmFyaWVzIHRvIF9MSUJBREQgaW5zdGVhZCBvZiBfTERGTEFHUywKCSAgYW5kIGFkZCBHU1RfKl9MREZMQUdTIHRvIF9MREZMQUdTLgoJICBGaXhlcyBidWcgIzU5NDcxNS4KCjIwMDktMDktMDkgMTQ6MzQ6MDMgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSAgZHNob3d2aWRlb3NyYzogY2FjaGUgZGV2aWNlIGNhcHMKCjIwMDktMDktMDkgMTI6NDE6MTcgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogd2luMzIvdnM5L2xpYmdzdGRzaG93c3Jjd3JhcHBlci52Y3Byb2o6CgkgIGRzaG93dmlkZW9zcmM6IHVzZSBJRW51bU1lZGlhVHlwZXMgd2hlbiBJQU1TdHJlYW1Db25maWcgaXMgbm90IHVzYWJsZQoJICBGb3Igc29tZSBkZXZpY2UgZHJpdmVycyBJQU1TdHJlYW1Db25maWcgaXMgbm90IHN1cHBvcnRlZC4KCSAgQnV0IEVudW1NZWRpYXR5cGVzIGRvZXMgbm90IHByb3ZpZGUgcmFuZ2Ugc2l6ZSBhbmQgZnJhbWVyYXRlLgoKMjAwOS0wOS0wNiAxMTo1MDozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhYy5jOgoJICBmYWFjOiBhZGQgdW5pdCB0ZXN0CgoyMDA5LTA5LTA4IDIyOjI0OjEyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogYWRkIHNvbWUgZGVidWcgc3RhdGVtZW50cyBmb3IgZGlzY3JlcGFuY3kgY2FzZXMgYW5kIHBsdWcgbWVtbGVhawoKMjAwOS0wOS0wNiAxMTo0OToxNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IHNwcmlua2xlIHNvbWUgbW9yZSBHXyhVTilMSUtFTFkKCjIwMDktMDktMDYgMTE6NDQ6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBlbmZvcmNlIHN5bmMgYmV0d2VlbiB3cmFwcGVyIHZpZXcgb2YgZGF0YSBhbmQgZW5jb2RlciByZXR1cm5lZCBkYXRhCgoyMDA5LTA5LTA1IDIxOjM1OjM1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogYWRkIGZhYWMgdG8gZG9jdW1lbnRhdGlvbgoKMjAwOS0wOS0wNSAyMTozNToxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IGFkZCBzb21lIGRvY3VtZW50YXRpb24KCjIwMDktMDgtMzEgMTk6MzE6NTcgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICBvdXRwdXRzZWxlY3RvcjogbWFrZSBHU1RfRk9STUFUX1RJTUUgdGhlIGRlZmF1bHQgc2VnbWVudCBmb3JtYXQKCjIwMDktMDgtMzEgMTk6MzM6NTAgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkgIGRzaG93dmlkZW9zaW5rOiByZW1vdmUgdW51c2VkIHZhcmlhYmxlIHRvIGZpeCBjb21waWxlciB3YXJuaW5nCgkgIEZpeGVzIGJ1ZyAjNTk0Mjc4LgoKMjAwOS0wOS0wOCAxNToxNjo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBGaXggdXNhZ2Ugb2YgX19hbHdheXNfaW5saW5lX18gYXR0cmlidXRlCgkgIFRoaXMgYXR0cmlidXRlIGNhbid0IGJlIHVzZWQgZm9yIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBiZWNhdXNlCgkgIGl0IG5lZWRzIHRoZSBmdW5jdGlvbiBib2R5LiBJbnN0ZWFkIG9mIGEgZm9yd2FyZCBkZWNsYXJhdGlvbiBvZgoJICBmdW5jdGlvbnMsIG1vdmUgdGhlIGZ1bmN0aW9uIGl0c2VsZiBhYm92ZSBpdCdzIGZpcnN0IHVzZS4KCSAgRml4ZXMgYnVnICM1OTQ0ODkgYW5kIGNvbXBpbGF0aW9uIHdpdGggZ2NjIDQuMyBhbmQgZWFybGllci4KCjIwMDktMDktMDcgMTc6MzM6MTUgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBGaXggY29tcGlsYXRpb24gd2l0aCBsaWJhc3MgPSAwLjkuNgoJICBGaXhlcyBidWcgIzU5NDM4Mi4KCjIwMDktMDktMDcgMTk6MDg6MDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBmaXggYXNwZWN0LXJhdGlvIHBhcnNpbmcgaW4gVk8KCjIwMDktMDktMDcgMTY6MjA6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBhbHNvIGNvbnNpZGVyIHVzZXJfZGF0YSBwaWVjZXMgd2hlbiBwYXJzaW5nIFZPKFMpCgoyMDA5LTA5LTA3IDE2OjQ0OjUyICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmNwcDoKCSogd2luMzIvdnM5L2dzdC1wbHVnaW5zLWJhZC5zbG46CgkqIHdpbjMyL3ZzOS9saWJnc3Rkc2hvd3NyY3dyYXBwZXIudmNwcm9qOgoJICBkc2hvd3NyY3dyYXBwZXI6IGFkZCBzdXBwb3J0IGJvdGggVW5pY29kZSBhbmQgTUJDUwoKMjAwOS0wOS0wNyAxNTo0NDoxNiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB3aW4zMi92czgvZ3N0LXBsdWdpbnMtYmFkLnNsbjoKCSogd2luMzIvdnM4L2xpYmRzaG93c3Jjd3JhcHBlci52Y3Byb2o6CgkqIHdpbjMyL3ZzOS9nc3QtcGx1Z2lucy1iYWQuc2xuOgoJKiB3aW4zMi92czkvbGliZ3N0ZHNob3dzcmN3cmFwcGVyLnZjcHJvajoKCSAgZHNob3dzcmN3cmFwcGVyOiB1cGdyYWRlIGZyb3plbiBidWlsZCB0byB2czkKCjIwMDktMDktMDcgMTU6MjE6MjggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3NyY3dyYXBwZXIuY3BwOgoJICBkc2hvd3NyY3dyYXBwZXI6IGluZGVudCBkc2hvd3NyY3dyYXBwZXIuY3BwCgoyMDA5LTA5LTA3IDE1OjEyOjU1ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dzcmN3cmFwcGVyLmNwcDoKCSAgUmV2ZXJ0ICJkc2hvd3NyY3dyYXBwZXI6IHJlbW92ZSB1bnVzZWQgZXh0ZXJuIEMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDNjODhkNjM3ZDdlN2Q2MGYxNDM3Y2NkM2RmYzIzYjM3ZTJhMzIwZS4KCSAgUmV2ZXJ0aW5nIHRoaXMgc2luY2UgdGhlIGVudHJ5IHBvaW50IGlzbid0IGZvdW5kIGJlY2F1c2Ugb2YKCSAgQysrIGJ1aWxkLgoKMjAwOS0wOS0wNyAxMDo1OTo1MyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJICBkc2hvd3NyY3dyYXBwZXI6IGluZGVudAoKMjAwOS0wOS0wNyAxMDo1MToyOCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSAgZHNob3dzcmN3cmFwcGVyOiBjb252ZXJ0IGxpbmUgZW5kZWQgY2hhcmFjdGVycyB0byBMRgoKMjAwOS0wOS0wNyAxMDozODozOSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93c3Jjd3JhcHBlci5jcHA6CgkgIGRzaG93c3Jjd3JhcHBlcjogcmVtb3ZlIHVudXNlZCBleHRlcm4gQwoKMjAwOS0wOS0wNyAxMDozMTo1NCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuaDoKCSAgZHNob3dzcmN3cmFwcGVyOiBnbyBiYWNrIHRvIHByZXZpb3VzIG1vZGUKCjIwMDktMDktMDUgMTA6MjI6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwMGE4NTllIHRvIDE5ZmE0ZjMKCjIwMDktMDktMDQgMTk6MTc6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaS90aW1pZGl0eTogQWRkIGF1ZGlvL3JpZmYtbWlkaSB0byB0aGUgc3JjIHBhZCB0ZW1wbGF0ZSBjYXBzCgoyMDA5LTA5LTA0IDE3OjMyOjM0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJICBzaXJlbjogZml4IHNldHRpbmcgY2FwcyBvbiB0aGUgb3V0cHV0IHBhZAoJICBBbHNvIHNldCB0aGUgY2FwcyBvbiB0aGUgb3V0cHV0IHBhZCB3aGVuIHRoZSBpbnB1dCBidWZmZXJzIGRvbid0IGhhdmUgY2Fwcy4KCjIwMDktMDktMDQgMTc6Mjc6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmg6CgkgIHdpbGRtaWRpOiBjbGVhbnVwcyBhbmQgZml4IHNlZWtpbmcKCSAgUmVtb3ZlIHRpbWVfcGVyX2ZyYW1lLCBpdCdzIHRvbyBpbmFjY3VyYXRlLgoJICBGaXggY29udmVydCBmb3IgLTEgdmFsdWVzLgoJICBVc2Ugc2NhbGluZyB0byBjb252ZXJ0IHNhbXBsZXMgdG8gdGltZS4KCSAgRml4IHNlZ21lbnQgaGFuZGxpbmcuCgkgIEZpeCBzZWVraW5nLgoJICBGaXggYnVmZmVyIGNsaXBwaW5nIChub3QgeWV0IGVuYWJsZWQpCgkgIFByb3RlY3QgdGhlIFdpbGRNaWRpIGxpYnJhcnkgd2l0aCB0aGUgb2JqZWN0IGxvY2sgdG8gYXZvaWQgcmFjZXMgd2hlbiBjaGFuZ2luZwoJICBwcm9wZXJ0aWVzLgoJICBGaXggb2Zmc2V0cyBvbiBvdXRwdXQgYnVmZmVycywgZm9yIHJhdyBhdWRpbyB0aGUgb2Zmc2V0IGNvbnRhaW5zIHRoZSBzYW1wbGUKCSAgcG9zaXRpb24gbm90IGJ5dGUgcG9zaXRpb24uCgkgIEFkZCBiZXR0ZXIgRElTQ09OVCBoYW5kbGluZy4KCSAgRml4ZXMgIzUxOTAwMQoKMjAwOS0wOS0wNCAxNjoyOTo1MyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJICBkc2hvd3ZpZGVvc3JjOiBtb3ZlIFZJREVPX1NUUkVBTV9DT05GSUdfQ0FQUyB0byBHc3RDYXB0dXJlUGluTWVkaWFUeXBlCgoyMDA5LTA5LTA0IDE0OjExOjMzICswMTAwICBjaHJpc3RpYW4gc2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3Rlcicgb2Ygc3NoOi8vdXJhZXVzQGdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L2dzdHJlYW1lci9nc3QtcGx1Z2lucy1iYWQKCjIwMDktMDktMDQgMTQ6MTA6NTUgKzAxMDAgIGNocmlzdGlhbiBzY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlCgoyMDA5LTA5LTA0IDEzOjEzOjM5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICBuZW9uaHR0cHNyYzogaGFuZGxlIGFsbCByZWRpcmVjdGlvbiBodHRwIHN0YXR1cyBjb2RlcwoKMjAwOS0wOS0wNCAxMjo1MzozNiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IGluIHNlZWtpbmcgdXNlIGEgZmFjdG9yIGZvciBTQ1IgaW50ZXJwb2xhdGlvbgoJICBGaXhlcyBzZWVraW5nIG9uIGNsaXBzIHdoZXJlIFBUUyBhcmUgdW5hbGlnbmRlZCB3aXRoIFNDUi4KCjIwMDktMDktMDQgMTI6NDA6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmg6CgkgIHNpcmVuZGVjOiByZXdyaXRlIHNpcmVuZGVjCgkgIEFkZCBzZXRjYXBzIGFuZCBldmVudCBmdW5jdGlvbnMuCgkgIEFkZCBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb25zIHRvIGNsZWFuIHZhcmlhYmxlcy4KCSAgVXNlIGFkYXB0ZXIuCgkgIEFkZCB0aW1lc3RhbXBzIGFuZCBkdXJhdGlvbiBvbiBvdXRnb2luZyBidWZmZXJzLgoJICBBZGQgRElTQ09OVCBoYW5kbGluZy4KCjIwMDktMDktMDQgMTI6NDA6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSAgc2lyZW5lbmM6IGNsZWFudXBzCgoyMDA5LTA5LTA0IDEyOjM1OjMxICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBzZXQgc3BlY2lmaWMgY2FwcyBmb3IgbHBjbSBpbiBwcml2YXRlIHN0cmVhbQoJICBJbiB0aGUgY2xpcHMgdGhhdCBJJ3ZlIGZvdW5kIHRob3NlIHN0cmVhbXMsIHRoZSBscGNtIGhlYWRlciBpcwoJICBkaWZmZXJlbnQgdGhhbiB0aGUgRFZEIGNhc2UuCgkgIFRoZW4gdGhlIGRlY29kZXIgbmVlZCB0byBrbm93IHRoaXMgaW4gb3JkZXIgdG8gYmUgYWJsZSBwYXJzZSBpdC4KCjIwMDktMDktMDQgMTI6MzA6MTggKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBtcGVndHNkZW11eDogYWRkZWQgYXV0b2RldGVjdCBvZiBwYWNrZXQgc2l6ZSBhbmQgcmVtb3ZlZCBtMnRzIG1vZGUgcHJvcGVydHkKCjIwMDktMDktMDQgMTI6MDg6NDUgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIG9mIHNzaDovL2NhcEBnaXQuZnJlZWRlc2t0b3Aub3JnL2dpdC9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtYmFkCgoyMDA5LTA5LTA0IDEyOjA4OjAyICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJICBkc2hvd3ZpZGVvc3JjOiBtb3ZlIGRlZmF1bHQgdmlkZW8gY2FwcyBpbnRvIEdzdENhcHR1cmVQaW5NZWRpYVR5cGUKCjIwMDktMDktMDQgMTI6MDI6MTggKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBzb21lIG1vcmUgaGFuZGxpbmcgb2YgVkMxIGFuZCBFQUMzCgkgIElmIHRoZSBQTVQgaGF2ZSB0aGUgcmVnaXN0ZXIgZGVzY3JpcHRvciBIRE1WIGFzc3VtZSBFQUMzCgkgIEZvciBWQzEgbWFrZSB0aGUgY29kZSBtb3JlIGFsaWduZWQgdG8gUlAyMjcuCgoyMDA5LTA3LTE2IDEwOjA2OjM2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJICBUcnkgdG8gZml0IHN1YnRpdGxlcyB3aXRoaW4gdGhlIHZpZGVvIGZyYW1lIHdoZW4gdGhleSdyZSB0b28gbGFyZ2UKCjIwMDktMDktMDEgMjE6MzA6MzUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmg6CgkgIHBjYXBwYXJzZTogU2V0IHRoZSBHU3RyZWFtZXIgdGltZXN0YW1wIGFjY29yZGluZyB0byB0aGUgcGNhcCB0aW1lc3RhbXBzCgoyMDA5LTA5LTAzIDE5OjA0OjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5oOgoJICBzaXJlbmVuYzogZml4IGV2ZW50cyBhbmQgY2FwcwoJICBBZGQgYW4gZXZlbnQgZnVuY3Rpb24gdGhhdCBjbGVhcnMgdGhlIGFkYXB0ZXIuCgkgIEFkZCBhIHNldGNhcHMgZnVuY3Rpb24gdG8gY29uZmlndXJlIGNhcHMgb24gdGhlIHNyY3BhZC4gUmVtb3ZlIHRoZSBpbnN0YW5jZQoJICB2YXJpYWJsZSBmb3IgdGhlIGNhcHMuCgoyMDA5LTA5LTAzIDE4OjQzOjI2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5oOgoJICBzaXJlbmVuYzogZml4IHRpbWVzdGFtcGluZwoJICBIYW5kbGUgRElTQ09OVCBhbmQgcmVzZXQgYWRhcHRlci4KCSAgY29kZSBjbGVhbnVwcy4KCSAgUHV0IHRpbWVzdGFtcHMgYW5kIGRpc2NvbnQgZmxhZ3Mgb24gb3V0cHV0IGJ1ZmZlcnMuCgkgIEZpeCBlcnJvciBoYW5kbGluZy4KCSAgUmVtb3ZlIGJvZ3VzIG9iamVjdCBsb2NrcywgaXQncyBhbGwgcHJvdGVjdGVkIGJ5IHRoZSBTVFJFQU1fTE9DSy4KCjIwMDktMDktMDMgMTc6NDk6NDEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkgIGRzaG93dmlkZW9zcmM6IGZhY3Rvcml6ZSBkc2hvdyBmb3JtYXQgdG8gZ3N0IGNhcHMgY29udmVyc2lvbgoKMjAwOS0wOS0wMyAxNzoyMDo0NyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5oOgoJICBkc2hvd3NyY3dyYXBwZXI6IHJlbW92ZSBjcGx1c3BsdXMgY29uZGl0aW9uCgoyMDA5LTA5LTAzIDE3OjEyOjI2ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJICBkc2hvd3ZpZGVvc3JjOiBmYWN0b3JpemUgZHNob3cgdmlkZW8gZm9ybWF0IHBhcnNpbmcKCjIwMDktMDktMDMgMTU6NDU6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogSWYgc3RyZWFtIHR5cGUgaXMgQUMzIGFuZCBubyBFQUMzIGRlc2NyaXB0b3IgaXMgZm91bmQgYXNzdW1lIEFDMwoKMjAwOS0wOS0wMyAxNTo0MDoxNCArMDIwMCAgSm9zZXAgVG9ycmEgPGpvc2VwQGZsdWVuZG8uY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBJbXBsZW1lbnQgRUFDMyBoYW5kbGluZyBhY2NvcmRpbmcgc29tZSBBVFNDIHNwZWNzLgoJICBGaXhlcyBidWcgIzU5NDAzMC4KCjIwMDktMDktMDMgMDA6Mjg6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGRnbWltZS54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QveGRnbWltZS9NYWtlZmlsZS5hbToKCSogZ3N0L3hkZ21pbWUvZ3N0eGRnbWltZS5jOgoJICB4ZGdtaW1lOiBtb3ZlIHhkZyB0eXBlZmluZGVyIHRvIHRoZSBvdGhlciB0eXBlZmluZGVycyBpbiAtYmFzZQoJICBSZW1vdmUgdGhlIHhkZ21pbWUgcGx1Z2luIHdoaWNoIG5vdyBiYXJlbHkgY29udGFpbnMgYW55IGNvZGUgYXQgYWxsCgkgIGFuZCBtb3ZlIHRoZSBmdW5jdGlvbmFsaXR5IGludG8gZ3N0LXBsdWdpbnMtYmFzZSBuZXh0IHRvIHRoZSBvdGhlcgoJICB0eXBlZmluZGVycy4KCjIwMDktMDktMDIgMTM6MzU6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3NtdXgsIG1wZWdwc211eDogZml4IHVudXNlZCB2YXJpYWJsZSB3YXJuaW5nIHdpdGggdGhlIGRlYnVnZ2luZyBzeXN0ZW0gaW4gY29yZSBkaXNhYmxlZAoKMjAwOS0wOS0wMSAxMjo0MToxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBTdHJlYW0gdHlwZSAweDgxIGlzIG5vcm1hbCBBQzMsIG5vdCBFQUMzCgkgIE5vdCBzdXJlIHdoYXQgdGhlIHN0cmVhbSB0eXBlIGZvciBFQUMzIGlzIHRob3VnaC4KCSAgRml4ZXMgYnVnICM1OTMwNTkuCgoyMDA5LTA4LTMwIDIzOjA3OjMwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogcmVmYWN0b3Igc2xpZ2h0bHkgYW5kIHJlbW92ZSBzdXBlcmZsdW91cyBjb2RlCgoyMDA5LTA4LTMwIDIzOjA2OjI0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogZnJlc2hlbiB1cCBjYXBzIG5lZ290aWF0aW9uCgkgIFBlcmZvcm0gc2luayBhbmQgc3JjIGNhcHMgbmVnb3RpYXRpb24gZHVyaW5nIGNhcHMgbmVnb3RhdGlvbiwKCSAgYW5kIGFsc28gY2F0ZXIgZm9yIHJlLW5lZ290aWF0aW9uLgoKMjAwOS0wOC0zMCAyMzowMDozNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuaDoKCSAgZmFhYzogcmV3cml0ZSBkYXRhIGNhY2hpbmcgYW5kIHRpbWVzdGFtcCBoYW5kbGluZwoJICBBbHNvIGZpeGVzICM1OTMzNDguCgoyMDA5LTA4LTMxIDE4OjU1OjUyICswMjAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBBIGxpdHRsZSBjbGVhbiB1cC4KCSAgUmVvcmRlciB0aGUgbGlzdCBvZiBBTV9DT05ESVRJT05BTCgpcyB1c2VkIHdoZW4gLS1kaXNhYmxlLWV4dGVybmFsIGlzCgkgIHNwZWNpZmllZCB0byBtYXRjaCB0aGUgYWN0dWFsIG9yZGVyIG9mIHRoZSBwbHVnLWlucyBlYXJsaWVyIGluIHRoZSBmaWxlLgoKMjAwOS0wOC0zMSAxODo0OToxNiArMDIwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQWxsb3cgLS1kaXNhYmxlLWV4dGVybmFsIHRvIGJlIHNwZWNpZmllZCBhZ2Fpbi4KCjIwMDktMDgtMzEgMTg6NDc6NDQgKzAyMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEFsbG93IC0tZGlzYWJsZS1rYXRlIHRvIGFjdHVhbGx5IGJlIHNwZWNpZmllZC4KCjIwMDktMDgtMzEgMTg6NDE6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGk6IGNsZWFudXAgZXJyb3IgaGFuZGxlcgoKMjAwOS0wOC0zMSAxODozNDowMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogZnJlZSB0aGUgYWRhcHRlcgoKMjAwOS0wOC0zMSAxODozMjowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogY2xlYW51cHMKCjIwMDktMDgtMzEgMTg6MjE6MzQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGk6IGFsbG93IGZvciBwdXNoIG1vZGUgb3BlcmF0aW9uCgkgIEZpeGVzICM1ODY5MjkKCjIwMDktMDgtMzEgMTg6MjA6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmg6CgkgIHdpbGRtaWRpOiB1c2Ugc3RhdGUgbWFjaGluZQoJICBVc2UgYSBzdGF0ZSBtYWNoaW5lIHRvIGtlZXAgdHJhY2sgb2YgdGhlIGN1cnJlbnQgc3RhdGUuCgkgIEFkZCBjaGFpbiBmdW5jdGlvbiBhbmQgZXZlbnQgZnVuY3Rpb24gb24gdGhlIHNpbmtwYWQuCgkgIFJlbW92ZSBzb21lIHVudXNlZCBjb2RlLgoKMjAwOS0wOC0zMSAxNzozODoyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogcmVtb3ZlIHVzZWxlc3MgZnVuY3Rpb24gY2FsbHMKCjIwMDktMDgtMzEgMTc6MzM6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmg6CgkgIHdpbGRtaWRpOiBzZXQgY2FwcyBvbiBwYWQKCSAgU2V0IHRoZSBjYXBzIG9uIHRoZSBwYWQgYW5kIHVzZSB0aG9zZSBjYXBzIGluc3RlYWQgb2Yga2VlcGluZyBhIHNlcGFyYXRlIGNhcHMKCSAgcG9pbnRlciBhcm91bmQuCgkgIEZpeCBzb21lIHdoaXRlc3BhY2UuCgoyMDA5LTA4LTMxIDE3OjI3OjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiBmaXggd2hpdGVzcGFjZQoKMjAwOS0wOC0zMSAxNjowNzowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9NYWtlZmlsZS5hbToKCSAga2F0ZTogZml4IHR5cG8gaW4gTWFrZWZpbGUuYW0KCSAgR1NUX1BMVUdJTl9CQVNFX0xJQlMgc2hvdWxkIGJlIEdTVF9QTFVHSU5TX0JBU0VfTElCUy4gRml4ZXMgIzU5MzY4My4KCjIwMDktMDgtMzEgMTM6MzE6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14ZGdtaW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICBkb2NzOiB1cGRhdGUgcGx1Z2luIGRvY3MgZm9yIGdpdCB2ZXJzaW9uCgoyMDA5LTA4LTMxIDEzOjE0OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6CgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJKiBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkgIEdzdEFkYXB0ZXIgaXMgbm90IGEgR3N0T2JqZWN0IGFuZCBzaG91bGQgYmUgZnJlZWQgd2l0aCBnX29iamVjdF91bnJlZigpCgoyMDA5LTA4LTMxIDEzOjAwOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogdXNlIGFuIG9sZC1mYXNoaW9uZWQgYXJyYXkgaW5zdGVhZCBvZiBHUHRyQXJyYXkgZm9yIG11eC0+cHJvZ3JhbXMKCSAgVXNpbmcgR1B0ckFycmF5IGZvciBhIGZpeGVkLXNpemVkIGFycmF5IGlzIGEgYml0IHBvaW50bGVzcyBhbmQgbWFrZXMKCSAgZm9yIHVnbHkgY29kZS4KCjIwMDktMDgtMzEgMTA6NDg6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXhfYWFjLmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4X2FhYy5oOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eF9oMjY0LmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4X2gyNjQuaDoKCSAgbXBlZ3BzbXV4OiBBZGQgbWlzc2luZyBmaWxlcyB0byBmaXggY29tcGlsYXRpb24KCSAgRml4ZXMgYnVnICM1OTM2MjUuCgoyMDA5LTA4LTEwIDAxOjE0OjE5ICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGV4YW1wbGVzL21wdHNfdGVzdDIuYzoKCSAgbXBlZ3RzbXV4OiBUZXN0IHByb2dyYW0gb2YgbXB0cyBzdXBwb3J0IGlzIGFkZGVkCgoyMDA5LTA3LTIyIDIwOjI3OjM2ICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogTWlub3IgZml4ZXMKCjIwMDktMDctMjIgMjA6MjU6NDIgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBtdXgtPnByb2dyYW1zOiB1c2UgR1BydEFycmF5IGluc3RlYWQgb2YgR0FycmF5CgoyMDA5LTA3LTExIDE5OjI5OjUzICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogbXBlZ3RzbXV4X2NvbGxlY3RlZCgpOiBjYWxjdWxhdGUgUENSIGZvciBwcm9ncmFtcwoKMjAwOS0wNy0xMSAxOToxNToxMiArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IG1wZWd0c211eF9jcmVhdGVfc3RyZWFtcygpOiBjcmVhdGUgbXVsdGkgc3RyZWFtcwoKMjAwOS0wNy0xMSAxOToxMzoyMyArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IE1wZXRUc1BhZERhdGE6IGFkZCBwcm9nX2lkIGFuZCByZWYgdG8gaXRzIHByb2dyYW0KCjIwMDktMDctMTEgMTk6MDk6MTcgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBFeHRlbmQgbXV4LT5wcm9ncmFtIHRvIGEgR0FycmF5IHByb2dyYW1zCgoyMDA5LTA3LTExIDE3OjQ0OjU0ICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogQWRkIG5ldyBwcm9wZXJ0eSBwcm9nLW1hcCB0byB0aGUgbXV4ZXIKCjIwMDktMDgtMTggMTI6MTQ6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBGcmVlIHRoZSBQUFMgYnVmZmVycyB0b28KCjIwMDktMDgtMTcgMTg6MDM6MDAgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBjb21wdXRlIHRpbWVzdGFtcAoKMjAwOS0wOC0xNyAxNzo1ODo0NiArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHJlY29nbml6ZSBtb3JlIHR5cGVzIG9mIE5BTAoJICBBbHNvIHJlY29nbml6ZXMgTkFMcyBjYXJyeWluZyBWQ0wgKGkuZS4gdmlzaWJsZSBwaWN0dXJlcykuIFdlCgkgIHR5cGljYWxseSBvbmx5IGNvbXB1dGUgdGltZXN0YW1wcyBmb3Igc3VjaCBOQUxzCgoyMDA5LTA4LTE3IDE3OjU2OjI2ICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogcGFyc2VyIGluaXQgJiBmaW5hbGl6ZQoKMjAwOS0wOC0xNyAxNzo1Mzo0MyArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRlY29kZSBzbGljZSBoZWFkZXIKCjIwMDktMDgtMTcgMTc6NTM6MTEgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkZWNvZGUgU0VJCgoyMDA5LTA4LTE3IDE3OjUyOjQ3ICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZGVjb2RlIFNFSTogcGljdHVyZSB0aW1pbmcgaW5mbwoKMjAwOS0wOC0xNyAxNzo1MjoxMiArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRlY29kZSBTRUk6IGJ1ZmZlcmluZyBwZXJpb2QKCjIwMDktMDgtMTcgMTc6NTE6MzYgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkZWNvZGUgUFBTCgoyMDA5LTA4LTE3IDE3OjUxOjEwICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZGVjb2RlIFNQUwoKMjAwOS0wOC0xNyAxNzo1MDozMyArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IFNQUzogZGVjb2RlIHZ1aSBwYXJhbXMKCjIwMDktMDgtMTcgMTc6NTA6MDIgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBTUFM6IGRlY29kZSBocmQgcGFyYW1zCgoyMDA5LTA4LTE3IDE3OjQ0OjM4ICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogU3RhcnQgc2xpY2UgaGVhZGVyIHBhcnNpbmcgd29yawoKMjAwOS0wOC0xNyAxNzo0Mzo1MSArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IFN0YXJ0IFNFSSBwYXJzaW5nIHdvcmsKCjIwMDktMDgtMTcgMTc6NDI6MDYgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBTdGFydCBQUFMgcGFyc2luZyB3b3JrCgoyMDA5LTA4LTE3IDE3OjM4OjU5ICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogU3RhcnQgU1BTIHBhcnNpbmcgd29yawoKMjAwOS0wOC0xMSAxMjowMDoxMCArMDIwMCAgTGluIFlhbmcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9tcGVncHNtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVncHNtdXgvYml0cy5oOgoJKiBnc3QvbXBlZ3BzbXV4L2NyYy5oOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5oOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXguaDoKCSogZ3N0L21wZWdwc211eC9wc211eGNvbW1vbi5oOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4c3RyZWFtLmM6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXhzdHJlYW0uaDoKCSAgbXBlZ3BzbXV4OiBBZGQgTVBFRyBQUyBtdXhlcgoKMjAwOS0wOC0xMyAxNjo0NTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3JzdmcvTWFrZWZpbGUuYW06CgkqIGV4dC9yc3ZnL2dzdHJzdmcuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmg6CgkgIHJzdmc6IEFkZCBSU1ZHIFNWRyBkZWNvZGVyIHBsdWdpbgoJICBUaGlzIHN1cHBvcnRzCgkgIC0gZGVjb2Rpbmcgc2luZ2xlIFNWRyBpbWFnZXMgYW5kIGEgc3RyZWFtIG9mIFNWRyBpbWFnZXMgd2l0aCBhIGdpdmVuIGZyYW1lcmF0ZQoJICAtIGxvc3NsZXNzIHNjYWxpbmcgb2YgU1ZHIGltYWdlcwoJICAtIEFSR0Igb3V0cHV0CgoyMDA5LTA4LTMxIDA5OjExOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBGaXggY29tcGlsYXRpb24gd2l0aCBsaWJhc3MgPj0gMC45LjcgYW5kIGZpeCBhc3BlY3QgcmF0aW8gc2V0dGluZwoJICBGaXhlcyBidWcgIzU3NTI2MS4KCjIwMDktMDgtMzAgMjI6MjA6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSAgbXhmOiBVbmNvbmRpdGlvbmFsbHkgdXNlIEdMaWIgMi4xNiBBUEkKCjIwMDktMDgtMzAgMjI6MTc6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QveGRnbWltZS9NYWtlZmlsZS5hbToKCSogZ3N0L3hkZ21pbWUvZ3N0eGRnbWltZS5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWUuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lLmg6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWFsaWFzLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWFsaWFzLmg6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWNhY2hlLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWNhY2hlLmg6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWdsb2IuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lZ2xvYi5oOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVpY29uLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWljb24uaDoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1laW50LmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWludC5oOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVtYWdpYy5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVtYWdpYy5oOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVwYXJlbnQuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lcGFyZW50Lmg6CgkgIHhkZ21pbWU6IEFsd2F5cyB1c2UgR0xpYiBpbnN0ZWFkIG9mIHhkZ21pbWUKCSAgTm93IHRoYXQgd2UgZGVwZW5kIG9uIEdMaWIgMi4xNiB3ZSBjYW4gYXMgd2VsbCB1c2UgaXQncwoJICBpbnRlcm5hbCBjb3B5IG9mIHRoZSB4ZGdtaW1lIGluc3RlYWQgb2Ygb3VyIG93bi4KCjIwMDktMDgtMzAgMjI6MTM6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzdGFnOiBVbmNvbmRpdGlvbmFsbHkgdXNlIEdMaWIgMi4xNiBBUEkKCjIwMDktMDgtMTkgMTc6MTg6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3JzbnN0cmVhbXNlbGVjdG9yLmM6CgkgIHJzbnN0cmVhbXNlbGVjdG9yOiBVc2UgaXRlcmF0ZSBpbnRlcm5hbCBsaW5rcyBpbnN0ZWFkIG9mIGRlcHJlY2F0ZWQgZ2V0IGludGVybmFsIGxpbmtzCgoyMDA5LTA4LTE5IDE3OjA1OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IFVzZSBpdGVyYXRlIGludGVybmFsIGxpbmtzIGluc3RlYWQgb2YgZGVwcmVjYXRlZCBnZXQgaW50ZXJuYWwgbGlua3MKCjIwMDktMDgtMzAgMjM6Mzg6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gaGFja2luZyAtPiAwLjEwLjE0LjEKCj09PSByZWxlYXNlIDAuMTAuMTQgPT09CgoyMDA5LTA4LTMwIDAwOjI0OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgY29tbW9uOiB1cGRhdGUgY29tbW9uIHRvIGEgdmVyc2lvbiB0aGF0IGluY2x1ZGVzIGEgZml4ZWQgbWFuZ2xlLXRtcGwucHkKCSAgV2hpY2ggaXMgbmVlZGVkIHRvIGJ1aWxkIHRoZSBwbHVnaW4gZG9jcyBmb3IgdGhlIGZyZWkwciBwbHVnaW4gKGFuZAoJICB3YXMgaW5jbHVkZWQgaW4gdGhlIDAuMTAuMTQgcmVsZWFzZSB0YXJiYWxsKS4KCjIwMDktMDgtMjkgMTk6MzU6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGRnbWltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjE0CgoyMDA5LTA4LTI5IDE5OjAyOjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDktMDgtMjYgMDE6MjE6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTMuNSBwcmUtcmVsZWFzZQoKMjAwOS0wOC0yNiAwMToxODowMCArMDEwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJICBkaXJlY3RkcmF3LCBkaXJlY3Rzb3VuZDogdW5pZnkgQ0ZMQUdTIGFuZCBmaXggY29uZmlndXJlIGNoZWNrcyBmb3IgRGlyZWN0WC1iYXNlZCBwbHVnaW5zCgkgIE9uZSBzZXQgb2YgQ0ZMQUdTIGZvciBhbGwgRGlyZWN0WC1iYXNlZCBwbHVnaW5zLiBDb3JyZWN0IGhlYWRlci9saWJyYXJ5CgkgIGNoZWNrcyBmb3IgRGlyZWN0WC1iYXNlZC1wbHVnaW5zLiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlIGFuZCBsYWJlbCBpbgoJICBkaXJlY3Rzb3VuZHNyYy4KCSAgRml4ZXMgIzU5MzA2OC4KCjIwMDktMDgtMjYgMDA6MjY6NDIgKzAxMDAgIEFyZWsgS29yYmlrIDxhcmthZGluaUBnbWFpbC5jb20+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBzZXQgcmlnaHQgT0ZGU0VUIGFuZCBPRkZTRVRfRU5EIG9uIGhlYWRlciBidWZmZXJzIHRvIG1ha2Ugb2dnbXV4IGhhcHB5CgkgIFdpdGhvdXQgdGhpcyBvZ2dtdXggd2lsbCBqdXN0IGtlZXAgYnVmZmVyaW5nIG91dHB1dCBwYWdlcyBpbiBzb21lIGNhc2VzLgoJICBGaXhlcyAjNTkzMDI0LgoKMjAwOS0wOC0yNSAyMzo0NDo1MCArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSAgcmVzaW5kdmQsIHJhd3BhcnNlOiBmaXggTERGTEFHUyBmb3IgZ3N0LXBsdWdpbnMtYmFzZSBsaWJzCgkgIEZpeGVzICM1OTMwNjMuCgoyMDA5LTA4LTI0IDIwOjA2OjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjEzLjQgcHJlLXJlbGVhc2UKCjIwMDktMDgtMjQgMTg6MTY6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FtcndiZW5jL2dzdGFtcndiZW5jLmM6CgkgIGFtcndiZW5jOiB1c2UgZGlmZmVyZW50IGVsZW1lbnQgR1R5cGUgbmFtZSB0byBhdm9pZCBjb25mbGljdCB3aXRoIHByZXZpb3VzIHBsdWdpbgoJICBVc2UgYSBkaWZmZXJlbnQgR1R5cGUgbmFtZSBmb3IgdGhlIGVsZW1lbnQgdG8gYXZvaWQgJ2Nhbm5vdCByZWdpc3RlciBleGlzdGluZyB0eXBlJwoJICB3YXJuaW5ncyB3aGVuIHJ1bm5pbmcgJ21ha2UgY2hlY2snIGluIHRoZSB1bnBhY2tlZCB0YXJiYWxsIHdpdGggdGhlIG9sZCBhbXJ3YiBwbHVnaW4KCSAgYWxzbyBpbnN0YWxsZWQgYXMgc3lzdGVtIHBsdWdpbiB1bmRlciB0aGUgb2xkIG5hbWUgKGl0IHVzZWQgdG8gYmUgY2FsbGVkICdhbXJ3cmInCgkgIGFuZCBub3cgaXQncyAnYW1yd2JlbmMnKS4KCjIwMDktMDgtMjQgMTQ6Mzc6MjggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSAgZHNob3dzcmN3cmFwcGVyOiB1c2Ugb2YgZGVmYXVsdCBkZWJ1ZyBjYXRlZ29yeSBhbmQgYmV0dGVyIGRzaG93IGVycm9ycyByZWFkYWJpbGl0eQoKMjAwOS0wOC0yMSAwMToxNzoxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzoKCSAgdGVzdHM6IGZpeCB0ZXN0LW9zczQgdG8gdHJlYXQgYW4gZW1wdHkgZGV2aWNlIG5hbWUgdGhlIHNhbWUgYXMgYSBOVUxMIG5hbWUKCjIwMDktMDgtMTggMTU6NDg6MDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltZW5jOiBXcml0ZSBGT1VSQ0MgYXMgMzJiaXQKCjIwMDktMDgtMTUgMTc6NTQ6NTAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogUkVRVUlSRU1FTlRTOgoJICByZW1vdmUgYSBidW5jaCBvZiBqdW5rIGZyb20gUkVRVUlSRU1FTlRTCgoyMDA5LTA4LTE0IDIwOjIwOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjEzLjMgcHJlLXJlbGVhc2UKCjIwMDktMDgtMTQgMTQ6MTA6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGRpc2FibGUgYXNzIHBsdWdpbiBmb3IgbGliYXNzID49IDAuOS43IGJlY2F1c2Ugb2YgQVBJIGNoYW5nZXMKCSAgU2VlICM1NzUyNjEuCgoyMDA5LTA4LTEyIDE4OjMzOjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4Lmg6CgkgIGFzZm11eDogRG8gbm90IG1lc3MgdXAgR3N0Q29sbGVjdERhdGEgbGlzdAoJICBhc2ZtdXggd2FzIG1lc3NpbmcgdXAgd2l0aCB0aGUgR3N0Q29sbGVjdERhdGEgbGlzdCBvZiBpdHMKCSAgR3N0Q29sbGVjdFBhZHMgd2hlbiBzb3J0aW5nIHRoZSBsaXN0IGlucGxhY2UuIFRoaXMgcGF0Y2ggbWFrZXMKCSAgaXQgY29weSB0aGUgbGlzdCBiZWZvcmUgc29ydGluZyBpdCwgbGVhdmluZyB0aGUgR3N0Q29sbGVjdFBhZHMKCSAgbGlzdCBhcyBpcy4gRml4ZXMgIzU5MTYxMAoKMjAwOS0wOC0xMiAxMjoyMzozMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogVVNFIEdTVF9XUklURV8qX0xFIG1hY3JvcwoKMjAwOS0wOC0xMiAxMjoyMTozMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogUmVmdXNlIHRvIGdvIHBsYXlpbmcgaW4gcGF1c2VkLW1vZGUgd2l0aG91dCBjbG9jawoJICBPbmx5IHRyeSB0byB1c2UgdGhlIGNsb2NrIGluIGlmIHBhdXNlZC1tb2RlIGlzIHNldCBhbmQgcmVmdXNlIHRvIGdvIHBsYXlpbmcKCSAgaW4gcGF1c2VkLW1vZGUgd2l0aG91dCBpdC4KCSAgRml4ZXMgYnVnICM1OTE1MzgKCjIwMDktMDgtMTEgMTY6NDI6NTEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgZHRtZnNyYzogRW1wdHkgZXZlbnQgcXVldWUgb24gZmluYWxpemUKCjIwMDktMDgtMTEgMTY6Mzk6NDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBVc2UgR1NsaWNlIGZvciBpbnRlcm5hbCBldmVudCBzdHJ1Y3R1cmVzCgoyMDA5LTA4LTExIDE2OjIzOjIwIC0wNDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogQ2xlYW51cCBldmVudHMgb24gZmluYWxpemUKCSAgUHJvYmxlbSBmb3VuZCBieSBMYXVyZW50IEdsYXlhbAoJICBGaXhlcyBidWcgIzU5MTQ0MAoKMjAwOS0wOC0xMSAxNjoyMzoyMCAtMDQwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IENsZWFudXAgZXZlbnRzIG9uIGZpbmFsaXplCgkgIFByb2JsZW0gZm91bmQgYnkgTGF1cmVudCBHbGF5YWwKCSAgRml4ZXMgYnVnICM1OTE0NDAKCjIwMDktMDgtMTIgMTA6Mjg6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB2ZHBhdTogYmxhY2tsaXN0IGZvciBnZW5lcmljIHN0YXRlcyB0ZXN0LCBhbmQgZGVtb3RlIHRvIEdTVF9SQU5LX05PTkUKCSAgVGhlc2UgZWxlbWVudHMgYXJlIG5vdCBmaXQgZm9yIGF1dG9wbHVnZ2luZywgc28gZGVtb3RpbmcgdG8gUkFOS19OT05FLgoJICBBbHNvIGJsYWNrbGlzdGluZyBmb3IgZ2VuZXJpYyBzdGF0ZXMgdGVzdCwgc2luY2UgZml4aW5nIHRoZXNlIGVsZW1lbnRzCgkgIHVwIHRvIGRvIHNvbWUgbWluaW1hbCBlcnJvciBoYW5kbGluZyBzZWVtcyB0byBiZSBhIGJpdCBtb3JlIHdvcmsuCgkgIFBhcnRpYWxseSBmaXhlcyAjNTkxNTM4LgoKMjAwOS0wOC0xMSAxODowMTozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL0xJTkdVQVM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xMy4yIHByZS1yZWxlYXNlLgoKMjAwOS0wOC0xMSAxNToyNzozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNQUlOVEFJTkVSUzoKCSAgQWRkIG15c2VsZiB0byBNQUlOVEFJTkVSUyBmaWxlIGFuZCB1cGRhdGUgV2ltJ3MgZS1tYWlsLgoKMjAwOS0wOC0xMSAxNDoxNzozMiArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgY2hhbmdlcwoKMjAwOS0wOC0xMSAxMjo0MjoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSAga2F0ZWVuYzogZXJyb3Igb3V0IGlmIGNhdGVnb3J5IGhhcyBub3QgYmVlbiBzZXQgYW5kIGNoZWNrIGZvciBvYnZpb3VzbHkgd3JvbmcgdmFsdWVzCgoyMDA5LTA4LTExIDAyOjQ2OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9ydHBtYW5hZ2VyLy5naXRpZ25vcmU6CgkqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbl9idWZmZXJfbGlzdC5jOgoJICBNb3ZlIHJ0cG1hbmFnZXIgZnJvbSAtYmFkIHRvIC1nb29kLgoKMjAwOS0wOC0xMSAwOTowNTozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBpZ25vcmUgYXNmbXV4IHVuaXQgdGVzdCBiaW5hcnkKCjIwMDktMDgtMTEgMDk6MDA6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNoZWNrczogZGlzYWJsZSB1bml0IHRlc3RzIHRoYXQgYXJlIGZsYWt5IG9yIGRvbid0IHdvcmsgd2l0aCBjb3JlIGdpdAoJICBjYW1lcmFiaW4gdGVzdCBzZWVtcyB0byB0aW1lIG91dCB3aXRoIGNvcmUgZ2l0LCBzbyBkaXNhYmxpbmcgYmVjYXVzZQoJICBjaGFuY2VzIGFyZSB0aGUgcHJvYmxlbSBpcyBpbiB0aGUgdGVzdCBhbmQgdGhlIGNvcmUgZ2l0IHN0dWZmIHdpbGwKCSAgYmUgcmVsZWFzZWQgYmVmb3JlIHdlIGNhbiBmaXggdGhlIGNvZGUgaW4gdGhlIHRlc3QuCgkgIG5lb25odHRwc3JjIHVuaXQgdGVzdCBpcyBhIGJpdCBmbGFreSwgaXQgdGVuZHMgdG8gZmFpbCB0aGUgZmlyc3QKCSAgdGltZSB3aGVuIGNhbGxlZCAodGhlIGhvc3QvdXJsIGl0IGNoZWNrcyBmb3Igc2VlbXMgdG8gYmUgZG93biBhcwoJICB3ZWxsL2FueXdheSkuCgoyMDA5LTA4LTEwIDIyOjE2OjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taXhtYXRyaXgvTWFrZWZpbGUuYW06CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3NyY3dyYXBwZXIuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuaDoKCSAgUmVtb3ZlIGV4ZWN1dGUgZmxhZ3MgZnJvbSBzb3VyY2UgZmlsZXMKCjIwMDktMDgtMDkgMDI6MDQ6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50cyB0byByZWxlYXNlZCB2ZXJzaW9uCgkgIFRvIGF2b2lkIGNvbmZ1c2lvbi4KCjIwMDktMDgtMTAgMTY6MzU6MzYgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSAgZHNob3dzcmN3cmFwcGVyOiBjYW4gbGlzdCBtb3JlIHRoYW4gMSBkZXZpY2UKCSAgc29tZXRoaW5nIGxpa2UgdGhlIGZvbGxvd2luZyBjb2RlIG5vdyB3b3JrczoKCSAgdmVjdG9yPHN0cmluZz4gZ2V0VmlkZW9EZXZpY2VOYW1lcygpCgkgIHsKCSAgdmVjdG9yPHN0cmluZz4gbF9uYW1lOwoJICBzdHJpbmcgcHJvcGVydHk7CgkgIEdzdEVsZW1lbnQqIHZpZGVvZGV2aWNlc3JjID0gY3JlYXRlX2VsZW1lbnQoImRzaG93dmlkZW9zcmMiLCAidmlkZW9kZXZpY2VzcmMiKTsKCSAgR3N0UHJvcGVydHlQcm9iZSogcHJvYmUgPSBHU1RfUFJPUEVSVFlfUFJPQkUgKHZpZGVvZGV2aWNlc3JjKTsKCSAgR1ZhbHVlQXJyYXkqIHZhID0gZ3N0X3Byb3BlcnR5X3Byb2JlX2dldF92YWx1ZXNfbmFtZSAocHJvYmUsICJkZXZpY2UtbmFtZSIpOwoJICBpZiAodmEpCgkgIHsKCSAgZm9yKHNpemVfdCBpPTA7IGkgPCB2YS0+bl92YWx1ZXM7ICsraSkKCSAgewoJICBHVmFsdWUqIHYgPSBnX3ZhbHVlX2FycmF5X2dldF9udGgodmEsIGkpOwoJICBzdHJpbmcgbmFtZShnX3ZhbHVlX2dldF9zdHJpbmcodikpOwoJICBsX25hbWUucHVzaF9iYWNrKG5hbWUpOwoJICB9CgkgIH0KCSAgaWYgKHZpZGVvZGV2aWNlc3JjKQoJICBnc3Rfb2JqZWN0X3VucmVmKEdTVF9PQkpFQ1QgKHZpZGVvZGV2aWNlc3JjKSk7CgkgIHJldHVybiBsX25hbWU7CgkgIH0KCjIwMDktMDgtMTAgMTY6MTc6NDEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSAgZHNob3dhdWRpb3NyYzogaGFuZGxlcyBkZXZpY2UtbmFtZSBwcm9wZXJ0eQoKMjAwOS0wOC0xMCAxNjowMzoxNyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJICBkc2hvd3NyY3dyYXBwZXI6IGFkZCBhIGhlbHBlciBmdW5jdGlvbiB0byBjaGVjayBhIG1lZGlhIHR5cGUKCjIwMDktMDgtMTAgMTQ6MzI6MDMgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIG9mIHNzaDovL2NhcEBnaXQuZnJlZWRlc2t0b3Aub3JnL2dpdC9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtYmFkCgoyMDA5LTA4LTEwIDEzOjIxOjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgc3BjOiBmaXggdHlwbyBpbiBNYWtlZmlsZS5hbSBhbmQgYnVpbGQgdGhlIHJpZ2h0IHBsdWdpbiAoc3BjIG5vdCBnbWUpCgoyMDA5LTA4LTEwIDE0OjIzOjE0ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJICBkc2hvd3ZpZGVvc3JjOiBjYW4gdXNlIG90aGVyIHZpZGVvIHNpemVzIGFuZCBmcmFtZXJhdGVzIHRoYW4gdGhlIGRlZmF1bHRzCgkgIEV2ZW4gaWYgdGhlIGRldmljZSBjb3VsZCBjYXB0dXJlIHNldmVyYWwgdmlkZW8gc2l6ZXMgYXQgc2V2ZXJhbCBmcmFtZXJhdGVzLAoJICB3aXRob3V0IHRoaXMgY29tbWl0LCBpdCB3YXMgb25seSBwb3NzaWJsZSB0byB1c2Ugb25lIHZpZGVvIHNpemUgYW5kCgkgIG9uZSBmcmFtZXJhdGU6IHRoZSBkZWZhdWx0IGRpcmVjdHNob3cgdmFsdWVzLgoKMjAwOS0wOC0xMCAxMTo0MDoxMyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB3aW4zMi92czgvZ3N0LXBsdWdpbnMtYmFkLnNsbjoKCSogd2luMzIvdnM4L2xpYmdzdGRpcmVjdHNvdW5kLnZjcHJvajoKCSAgZGlyZWN0c291bmRzcmM6IGFkZCB2czggcHJvamVjdAoKMjAwOS0wOC0xMCAxMTozNjo0MSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSAgZGlyZWN0c291bmRzcmM6IExGIGFuZCBpbmRlbnQKCjIwMDktMDgtMDkgMTU6MjA6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5oOgoJICBhdXRvY29udmVydDogQ2FjaGUgZXZlbnRzIGFuZCBzZW5kIHRoZW0gZG93bnN0cmVhbSBvbmNlIGFuIGVsZW1lbnQgd2FzIHNlbGVjdGVkCgoyMDA5LTA4LTA5IDE0OjU1OjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuaDoKCSAgYXV0b2NvbnZlcnQ6IFNtYWxsIGNsZWFudXBzCgoyMDA5LTA4LTA5IDEyOjI1OjAxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIGRpcmVjdGRyYXdzaW5rOiBGaXggY3Jhc2ggd2hlbiBleHBvc2luZyBpbiBHU1RfU1RBVEVfUkVBRFkKCSAgRml4ZXMgYnVnICM1NDE5NjIuCgoyMDA5LTA4LTA4IDIyOjE0OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IERvbid0IGFuc3dlciB0aGUgU0VFS0lORyBxdWVyeSBpZiB3ZSBkb24ndCBrbm93IHRoZSBhbnN3ZXIgeWV0CgkgIEEgYml0cmF0ZSE9LTEgaXMgcmVxdWlyZWQgZm9yIHNlZWtpbmcgYnV0IHRoZSBiaXRyYXRlIGlzIG9ubHkgY2FsY3VsYXRlZAoJICBhZnRlciB0aGUgc2Vjb25kIFBDUiB3YXMgcmVhZC4KCSAgRml4ZXMgYnVnICM1OTA0NDYuCgoyMDA5LTA4LTA4IDIxOjIwOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkgIHNwYzogTG93ZXIgcmFuayB0byBTRUNPTkRBUlkgdG8gbWFrZSB0aGUgZ21lIHBsdWdpbiB0aGUgZGVmYXVsdAoKMjAwOS0wOC0wOCAyMToxNzozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3NwYy9NYWtlZmlsZS5hbToKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSogZXh0L3NwYy9nc3RzcGMuaDoKCSogZXh0L3NwYy90YWcuYzoKCSogZXh0L3NwYy90YWcuaDoKCSAgc3BjOiBBZGQgdGhlIE9wZW5TUEMgc3BjIHBsdWdpbiBhZ2FpbgoJICBUaGUgZ21lIHBsdWdpbiBvYnNvbGV0ZXMgaXQgYnV0IGl0IG1pZ2h0IHN0aWxsIGJlIHVzZWZ1bAoJICBmb3IgdXNlcnMgdGhhdCBkb24ndCBoYXZlIGdtZSB5ZXQgb3IgcHJlZmVyIG9wZW5zcGMgZm9yIHNvbWUgcmVhc29uLgoKMjAwOS0wOC0wOCAxMjoyMDo1NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJICBrYXRlOiBzb21lIG1pbm9yIGNsZWFuLXVwcwoJICBQcmludCBmbG93IHJldHVybiBhcyBzdHJpbmcgaW4gbG9nIG1lc3NhZ2U7IGlmIHdlIGNoZWNrIHRoZSByZXR1cm4KCSAgdmFsdWUgb2YgZ3N0X2J1ZmZlcl9uZXdfYW5kX2FsbG9jKCkgd2Ugc2hvdWxkIHVzZSB0aGUgX3RyeSgpIGZ1bmN0aW9uCgkgIHRoYXQgbWlnaHQgYWN0dWFsbHkgcmV0dXJuIE5VTEwuIFBvc3QgZXJyb3IgbWVzc2FnZSB3aGVuIHJldHVybmluZwoJICBHU1RfRkxPV19FUlJPUi4gVXNlIHBvcnRhYmxlIEdMaWIgbWFjcm9zIHRvIHByaW50IDY0LWJpdCBpbnRlZ2Vycy4KCSAgRG9uJ3QgdXNlIDBMTCwgdGhhdCdzIGFsc28gbm90IHBvcnRhYmxlIChhbmQgdW5uZWVkZWQgaGVyZSkuCgoyMDA5LTA4LTA4IDEwOjMwOjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2U6IE9ubHkgcHJvdmlkZSB2ZXJ5IGZ1bmRhbWVudGFsIGNhcHMgaW4gdGhlIHBhZCB0ZW1wbGF0ZQoJICBXZSBjYW4ndCBlYXNpbHkga25vdyB3aGljaCBjYXBzIHdpbGwgY2FuIGJlIHVzZWQgYmVjYXVzZSB3ZSByZWx5IG9uCgkgIGxpYmdzdHZpZGVvJ3Mgc3VwcG9ydCBmb3IgdmlkZW8gZm9ybWF0cy4KCjIwMDktMDgtMDggMTA6Mjc6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5oOgoJICByYXdwYXJzZTogU21hbGwgY2xlYW51cHMgYW5kIGltcGxlbWVudCBTRUVLSU5HIHF1ZXJ5CgoyMDA5LTA4LTA4IDA4OjI3OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2U6IFNtYWxsIGNsZWFudXBzCgoyMDA5LTA4LTA4IDA3OjU5OjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmg6CgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmg6CgkgIHZpZGVvcGFyc2U6IFVzZSBsaWJnc3R2aWRlbyBmb3IgZXZlcnl0aGluZyBpbnN0ZWFkIG9mIG91ciBvd24gY2FsY3VsYXRpb25zCgkgIEFsc28gbWFrZSBSR0IgdXNhZ2UgZWFzaWVyIGJ5IHByb3ZpZGluZyB4UkdCLCBSR0J4LCBldGMuIGZvcm1hdHMKCSAgaW5zdGVhZCBvZiByZXF1aXJpbmcgdG8gc2V0IHJlZF9tYXNrIGFuZCBmcmllbmRzLgoKMjAwOS0wOC0wNyAxOToxMjoyNiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZml4IGEgbWVtb3J5IGxlYWsKCjIwMDktMDgtMDcgMTk6MDA6MjMgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogYWRkZWQgVkMxLCBFQUMzIGFuZCBMUENNIHJlbGF0ZWQgdG8gYmx1ZXJheS9oZG12CgoyMDA5LTA4LTA3IDE4OjM1OjQyICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogYWRkZWQgY2FwcyBmb3IgQUFDIGFuZCBmaXhlZCBwbGF5YmFjayBvZiBhIGNsaXAgd2l0aCBMUENNCgoyMDA5LTA4LTA3IDE4OjE3OjI4ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBtcGVncHNkZW11eDogaW1wcm92ZWQgZGVtdXhlciBwZXJmb3JtYW5jZQoJICBJbmNyZWFzZWQgcGVyZm9ybWFuY2UgZG9pbmcgcHVsbF9yYW5nZSBpbiBibG9ja3Mgb2YgMzJLYiBpbnN0ZWFkIG9mIDRLYi4KCSAgQ2FjaGluZyB0aGUgdmFsdWUgb2YgZ3N0X2FkYXB0ZXJfYXZhaWxhYmxlIGluc3RlYWQgb2YgY2FsbGluZyBpdCAzIHRpbWVzLgoJICBBZGRlZCBzb21lIGNvbW1lbnRzIHdpdGggdGhlIGhlYWRlciBkZXNjcmlwdGlvbnMuCgkgIFBlZWsgZW5vdWdoIGRhdGEgdG8gYXZvaWQgYSBjb3JuZXIgY2FzZSB3aGVyZSBjb3VsZCBiZSByZWFkZWQgZGF0YSBvdXRzaWRlCgkgIHRoZSBidWZmZXIuCgkgIFNwZWVkIHVwIHNvbWUgbW9yZSBpbmxpbmluZyBzb21lIGZ1bmN0aW9ucyBhbmQga2VlcGluZyBhbm90aGVyIHN0cmVhbSBwb2ludGVyCgkgIGxpc3QgdG8gYmUgdXNlZCBhcyBpdGVyYXRvci4KCSAgU3ByaW5rbGUgYnJhbmNoIHByZWRpY3Rpb24gbWFjcm9zIGFjY3Jvc3MgdGhlIGNvZGUuCgkgIEhhbmRsaW5nIHRoZSBzZWVraW5nIHdpdGggZmx1c2ggaW4gcHVsbCBtb2RlIGluIHRoZSBwcm9wZXIgd2F5LgoKMjAwOS0wOC0wNyAxNDo0MTozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL01ha2VmaWxlLmFtOgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvZ21lL2dzdGdtZS5oOgoJICBnbWVkZWM6IFVzZSBHc3RBZGFwdGVyIGluc3RlYWQgb2YgbWFueSBidWZmZXIgam9pbnMKCSAgVGhpcyByZWR1Y2VzIHRoZSBudW1iZXIgb2YgcmVhbGxvY2F0aW9ucyBhbmQgbWVtY3B5cyBkcmFzdGljYWxseS4KCSAgQWxzbyBmcmVlIHRoZSBpbnB1dCBkYXRhIGFzIHNvb24gYXMgaXQncyBjb21wbGV0ZSBhbmQgcGFzc2VkIHRvIEdNRQoJICBhcyBpdCdzIG5vdCBuZWVkZWQgYW55bW9yZS4KCjIwMDktMDgtMDcgMTM6MDc6MTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJldmVudCBpbmZpbml0ZSBsb29wIHdoZW4gZHJhaW5pbmcKCjIwMDktMDgtMDcgMTM6MDY6MjggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZml4IG1pbm9yIG1lbW9yeSBsZWFrCgoyMDA5LTA4LTA3IDEzOjA0OjE4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGZsYWNwYXJzZTogc3luYyBiYXNlcGFyc2UgKHNvbWUgbW9yZSkKCjIwMDktMDgtMDcgMDk6MjE6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSAgZ21lZGVjOiBBZGQgY2FwcyBmb3IgYWxsIHN1cHBvcnRlZCBmaWxlIGZvcm1hdHMgdG8gdGhlIHNyY3BhZCB0ZW1wbGF0ZQoKMjAwOS0wOC0wNyAwNzoyMzowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWU6IERvbid0IGFkZCBlbXB0eSBzdHJpbmcgdGFncwoKMjAwOS0wOC0wNyAwNzowMToxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWU6IEZpeCBjYXBzIG5hbWUgYWdhaW4KCjIwMDktMDgtMDcgMDY6NTk6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L2dtZS9nc3RnbWUuaDoKCSAgZ21lOiBSZW5hbWUgZXZlcnl0aGluZyBmcm9tIFNQQyB0byBHTUUKCjIwMDktMDgtMDcgMDY6NTk6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwYy9NYWtlZmlsZS5hbToKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSogZXh0L3NwYy9nc3RzcGMuaDoKCSogZXh0L3NwYy90YWcuYzoKCSogZXh0L3NwYy90YWcuaDoKCSAgc3BjOiBSZWFsbHkgcmVtb3ZlIG9sZCBTUEMgY29kZQoKMjAwOS0wOC0wNyAwNjo1Njo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL01ha2VmaWxlLmFtOgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvZ21lL2dzdGdtZS5oOgoJKiBleHQvZ21lL3RhZy5jOgoJKiBleHQvZ21lL3RhZy5oOgoJICBnbWU6IFVzZSBnbWUgZm9yIHRhZ3MgYW5kIGR1cmF0aW9uIHBhcnNpbmcKCjIwMDktMDgtMDcgMDY6NDE6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9nbWUvTWFrZWZpbGUuYW06CgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9nbWUvZ3N0Z21lLmg6CgkqIGV4dC9nbWUvdGFnLmM6CgkqIGV4dC9nbWUvdGFnLmg6CgkgIHNwYzogUmVuYW1lIFNQQyBwbHVnaW4gdG8gR01FCgkgIGFzIHByZXBhcmF0aW9uIGZvciBlbmFibGluZyBzdXBwb3J0IGZvciBub24tU1BDIGdhbWluZyBjb25zb2xlIHNvdW5kIGZpbGVzLgoKMjAwOS0wOC0wNiAyMTo0MjowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJICBzcGNkZWM6IEZvcndhcmQgYWxsIHVua25vd24gc3JjIGV2ZW50cyB1cHN0cmVhbSBhbmQgZG9uJ3QgcmVzdHJpY3QgdG8gU1BDCgoyMDA5LTA4LTA2IDE5OjI2OjIxICswMjAwICByaWMgPGNzeG5qdSBhdCBzb2dvdS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBhdm9pZCBidWZmZXIgbGVhayBvbiBiYWQgc2VxbnVtCgkgIEZpeGVzICM1OTA3OTcKCjIwMDktMDgtMDUgMDk6MzY6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVnW3B0XXNkZW11eDogRml4IFNFRUtJTkcgcXVlcnkKCSAgU2VuZCB0aGUgQllURVMgYmFzZWQgcXVlcnkgZG93bnN0cmVhbSwgbm90IHRoZSBvcmlnbmFsIG9uZS4KCjIwMDktMDgtMDQgMTI6NTg6MzUgKzAyMDAgIEphbiBVcmJhbnNraSA8d3VsY3plckB3dWxjemVyLm9yZz4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogRG9uJ3QgcmVxdWlyZSBlbmRpYW5uZXNzIGZpZWxkIGZvciA4IGJpdCByYXcgYXVkaW8KCSAgRml4ZXMgYnVnICM1OTAzNjAuCgoyMDA5LTA4LTA0IDEwOjE4OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSAgc3BjOiBNYWtlIHRoZSBTUEMgcGx1Z2luIHdvcmsgd2l0aCB0aGUgbGF0ZXN0IGxpYmdtZSByZWxlYXNlCgkgIGdtZV9lbmFibGVfYWNjdXJhY3koKSB3YXMgYWRkZWQgaW4gU1ZOIHRydW5rIGFuZCBpcyBub3QgeWV0CgkgIGluIGFueSByZWxlYXNlLgoKMjAwOS0wOC0wNCAxMDowNjo1NCArMDIwMCAgTWljaGFlbCBQeW5lIDxtcHluZUBrZGUub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJKiBleHQvc3BjL2dzdHNwYy5oOgoJICBzcGM6IFVzZSB0aGUgcG9ydGFibGUgbGliZ21lIGluc3RlYWQgb2YgeDg2LW9ubHkgT3BlblNQQyBsaWJyYXJ5CgkgIFRoaXMgd2lsbCBsYXRlciBhbGxvdyB1cyB0byBwbGF5IG90aGVyIGdhbWluZyBjb25zb2xlIGZpbGVzCgkgIHRoYXQgYXJlIHN1cHBvcnRlZCBieSBsaWJnbWUuCgkgIEZpeGVzIGJ1ZyAjNTc2ODAwLgoKMjAwOS0wNi0xMiAxNzoyMjoyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmxhY3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJpdHJlYWRlci5jOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJpdHJlYWRlci5oOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJ5dGVyZWFkZXIuYzoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RieXRlcmVhZGVyLmg6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogcmVtb3ZlIGludGVybmFsIGJpdHJlYWRlciBhbmQgYnl0ZXJlYWRlciBub3cgdGhhdCB0aGVzZSBhcmUgaW4gbGliZ3N0YmFzZQoKMjAwOS0wNy0zMSAxMToyNzowMyArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIG91dHB1dHNlbGVjdG9yOiBjaGVjayBmb3IgcGVuZGluZyBzcmNwYWQgaW4gX2dldF9wcm9wZXJ0eSgpCgkgIElmIHRoZXJlIGlzIGEgcGVuZGluZyBzcmNwYWQsIHJldHVybiBpdCBpbnN0ZWFkIG9mIGFjdGl2ZSBzcmNwYWQKCSAgaW4gZ3N0X291dHB1dF9zZWxlY3Rvcl9nZXRfcHJvcGVydHkoKSBmdW5jdGlvbi4KCjIwMDktMDctMzAgMTQ6MTc6NTkgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogU2V0IGNhbWVyYXNyYyB0byBSRUFEWSBzdGF0ZSBpbnN0ZWFkIG9mIFBBVVNFRCB3aGVuIGFjcXVpcmluZyBhbGxvd2VkIGNhcHMKCjIwMDktMDctMzEgMDc6MTY6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgZGlyZWN0ZHJhdzogRml4IGluZGVudGlvbgoKMjAwOS0wNy0zMSAwMjowNTo0MSArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBkaXJlY3RkcmF3OiBJbXBsZW1lbnQgR3N0TmF2aWdhdGlvbiBpbnRlcmZhY2UKCSAgRml4ZXMgYnVnICM1OTAyMDguCgoyMDA5LTA3LTMxIDAwOjE5OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuaDoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuYzoKCSAgcnRwYXNmcGF5OiBzZXQgcGFkZGluZyBmaWVsZCB0byAwIG9uIHJ0cCBhc2YgcGFja2V0cwoJICBUaGUgQVNGIFJUUCBzcGVjIGRlbWFuZHMgdGhhdCBwYWNrZXRzIGhhdmUgdGhlaXIgcGFkZGluZyByZW1vdmVkCgkgIGFuZCB0aGUgcGFkZGluZyBzaXplIGZpZWxkIHNldCB0byAwIGZvciBwYWNrZXRzIHdoZW4gcHV0aW5nIHRoZW0KCSAgaW5zaWRlIHRoZSBSVFAgcGFja2V0cwoKMjAwOS0wNy0zMCAwMDoxOToxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IFNldCB2aWRlbyBzdHJlYW0gc2Vla2FibGUgcHJvcGVydHkgdG8gdHJ1ZQoJICBWaWRlbyBzdHJlYW0gYWx3YXlzIGhhdmUgaW5kZXhlcywgc28gdGhleSBhcmUgYWxsIHNlZWthYmxlCgoyMDA5LTA3LTMwIDAwOjEyOjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogUmVtb3ZpbmcgdXNlbGVzcyBUT0RPcwoJICBBZnRlciB0ZXN0aW5nIGluIHdpbmRvd3MgYW5kIGxpbnV4LCB0aGlzIGF1ZGlvIGNvcnJlY3Rpb24gZmllbGQKCSAgbWFkZSBubyBkaWZmZXJlbmNlIHNvIGZhci4gQWxsIGV4YW1wbGUgZmlsZXMgSSBnb3Qgb25seSBoYWQKCSAgemVyb2VzIGluIHRoaXMgZmllbGQKCjIwMDktMDctMzAgMDA6MDQ6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBGaXhlcyB2aWRlbyBzdHJlYW0gcHJvcGVydGllcyBvYmplY3QKCSAgRml4ZXMgc3RyZWFtIHByb3BlcnRpZXMgb2JqZWN0IGNyZWF0aW9uIGZvciB2aWRlbyBjb250ZW50CgoyMDA5LTA3LTI5IDE5OjA3OjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4Lmg6CgkgIGFzZm11eDogYWNjZXB0IHBhZCByZXF1ZXN0cyBhIGxpdHRsZSBsb25nZXIKCSAgYXNmbXV4IG5vdyBzdGFydCByZWplY3RpbmcgcGFkIHJlcXVlc3RzIGFmdGVyIGl0IHB1c2hlcyB0aGUgZmlyc3QKCSAgYnVmZmVyLCBiZWZvcmUgdGhpcywgaXQgd2FzIHJlamVjdGluZyBhZnRlciBnb2luZyB0byBwYXVzZWQKCjIwMDktMDctMjkgMTg6NDQ6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBhZGRzIHN1cHBvcnQgdG8gdmMtMSBzdHJlYW1zCgoyMDA5LTA3LTI5IDE3OjIzOjMxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFJlbW92ZSBlbXB0eSBmaW5hbGl6ZQoKMjAwOS0wNy0yOSAxNjowMjo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogRml4IG1hY3JvIG5hbWUKCjIwMDktMDctMjkgMTU6MzU6MDMgKzAyMDAgIEpvbmkgVmFsdGFuZW4gPGpvbmkudmFsdGFuZW5AbW92aWFsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmg6CgkgIGRpcmVjdHNvdW5kc3JjOiBBZGQgRGlyZWN0U291bmQgc291cmNlIHBsdWdpbgoJICBGaXhlcyBidWcgIzM0NDEyOS4KCjIwMDktMDctMjggMjI6NTE6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzZm11eC5jOgoJICBhc2ZtdXg6IEZpcnN0IGJhc2ljIGNoZWNrIHVuaXQgdGVzdHMKCSAgQWRkcyBzaW1wbGUgYXNmbXV4IHVuaXQgdGVzdHMsIHRoYXQgdGVzdCBwYWQgY3JlYXRpb24gYW5kIHB1c2hpbmcgYQoJICBzaW5nbGUgYnVmZmVyIHRocm91Z2ggdGhlbQoKMjAwOS0wNy0yOCAyMTozNzowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IEZvcmNpbmcgcGFkIG5hbWVzIHRvIGJlIHZpZGVvXyUwMmQgYW5kIGF1ZGlvXyUwMmQgbGlrZQoKMjAwOS0wNy0yOCAxODoxODoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IGFsbG93IGZvciBOVUxMIGNhcHMgb24gYnVmZmVycwoJICBBZGQgdGhlIE5VTEwgY2FwcyBjaGVjayB3aGVyZSBpdCBtYXR0ZXJzIGFuZCBhbHNvIGNvdmVyIGFub3RoZXIgY2FzZSBvZgoJICBwb3RlbnRpYWwgTlVMTCBjYXBzLgoJICBGaXhlcyAjNTkwMDMwCgoyMDA5LTA3LTI4IDExOjU5OjU2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBJbmNvbWluZyBidWZmZXJzIGRvIG5vdCBhbHdheXMgaGF2ZSBjYXBzCgoyMDA5LTA3LTI3IDE0OjAzOjU5ICswMzAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnBob3RvZ3JhcGh5LmM6CgkgIGNhbWVyYWJpbjogcGhvdG8gaWZhY2Ugc2V0dGVyIGZ1bmN0aW9ucyByZXR1cm4gVFJVRSB3aGVuIHVzZWQgaW4gTlVMTCBzdGF0ZQoJICBXZSBjYWNoZSB0aGUgdmFsdWVzIGFuZCBhcHBseSB0aGVuIHdoZW4gcG9zc2libGUuCgoyMDA5LTA3LTI3IDA4OjI1OjM3ICswMzAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBkbyBub3QgcHV0IHZpZGVvIHBpcGVsaW5lIGludG8gUkVBRFkgd2hlbiBzdGFydCByZWNvcmRpbmcgY2FtZXJhYmluOiByZW1lbWJlciBwcm9iZSBJRHMgYW5kIGRpc2Nvbm5lY3QgdGhlbSB3aGVuIGRlc3Ryb3lpbmcgcGlwZWxpbmVzCgoyMDA5LTA3LTI3IDE5OjU5OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbXJ3YmVuYy9nc3RhbXJ3YmVuYy5jOgoJICBhbXJ3YmVuYzogRml4IGNvbXBpbGF0aW9uCgoyMDA5LTA3LTI3IDE5OjU1OjI3ICswMjAwICBJYWdvIFRvcmFsIDxpdG9yYWxAaWdhbGlhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9hbXJ3Yi9NYWtlZmlsZS5hbToKCSogZXh0L2FtcndiL1JFQURNRToKCSogZXh0L2FtcndiL2dzdGFtcndiLmM6CgkqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuaDoKCSogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5oOgoJKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5oOgoJKiBleHQvYW1yd2JlbmMvR3N0QW1yd2JFbmMucHJzOgoJKiBleHQvYW1yd2JlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC9hbXJ3YmVuYy9SRUFETUU6CgkqIGV4dC9hbXJ3YmVuYy9nc3RhbXJ3Yi5jOgoJKiBleHQvYW1yd2JlbmMvZ3N0YW1yd2JlbmMuYzoKCSogZXh0L2FtcndiZW5jL2dzdGFtcndiZW5jLmg6CgkgIGFtcndiOiBSZW1vdmUgQU1SLVdCIHBhcnNlciBhbmQgZGVjb2RlciBhbmQgcmVuYW1lIGVuY29kZXIgcGx1Z2luIGZyb20gYW1yd2IgdG8gYW1yd2JlbmMKCSAgUGFydGlhbGx5IGZpeGVzIGJ1ZyAjNTg0ODkwLgoKMjAwOS0wNy0yNyAxNTo0NjoyMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogYXZvaWQgZG9pbmcgbGlwLXN5bmMgaW4gQllFCgkgIFdoZW4gd2UgZ2V0IGEgQllFIHBhY2tldCwgZG9uJ3QgZG8gbGlwLXN5bmMgd2l0aCB0aGUgU1IgaW5zaWRlIGJlY2F1c2Ugc29tZQoJICBzZW5kZXJzIGhhdmUgdHJvdWJsZSBjb25zdHJ1Y3RpbmcgdmFsaWQgU1IgcGFja2V0cyBhZnRlciBCWUUuCgoyMDA5LTA3LTI3IDE1OjMzOjA0ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHdpbjMyL01BTklGRVNUOgoJKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSogd2luMzIvdnM3L2dzdC1wbHVnaW5zLWJhZC5zbG46CgkqIHdpbjMyL3ZzNy9saWJnc3RkaXJlY3RkcmF3LnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGRpcmVjdGRyYXcudmNwcm9qOgoJICBkaXJlY3RkcmF3c2luazogdXBkYXRlIHZzOCBidWlsZAoJICBhbHNvIHJlbW92ZSBkaXJlY3RkcmF3c2luayBmcm9tIHZzNiBhbmQgdnM3IGJ1aWxkCgoyMDA5LTA3LTI3IDE0OjUyOjU3ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2ludGVyZmFjZS5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93c3Jjd3JhcHBlci5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2xpYmdzdGRzaG93LmRlZjoKCSogd2luMzIvdnM4L2xpYmRzaG93c3Jjd3JhcHBlci52Y3Byb2o6CgkgIGRzaG93c3Jjd3JhcHBlcjogcmVtb3ZlIHVzZSBvZiBJR3N0RHNob3dJbnRlcmZhY2UKCjIwMDktMDctMjcgMTM6MTc6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cGJpbjogZG9uJ3QgZG8gbGlwLXN5bmMgYWZ0ZXIgYSBCWUUKCSAgQWZ0ZXIgYSBCWUUgcGFja2V0IGZyb20gYSBzb3VyY2UsIHN0b3AgZm9yd2FyZGluZyB0aGUgU1IgcGFja2V0cyBmb3IgbGlwLXN5bmMKCSAgdG8gcnRwYmluLiBTb21lIHNlbmRlcnMgZG9uJ3QgdXBkYXRlIHRoZWlyIFNSIHBhY2tldHMgY29ycmVjdGx5IGFmdGVyIHNlbmRpbmcgYQoJICBCWUUgYW5kIHRoZW4gd2UgYnJlYWsgbGlwLXN5bmMuIFdlIHByZWZlciB0byBsZXQgdGhlIGppdHRlcmJ1ZmZlcnMgZHJhaW4gd2l0aAoJICB0aGUgY3VycmVudCBsaXAtc3luYyBpbnN0ZWFkLgoKMjAwOS0wNy0yNyAxMjo0MzowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwYmluOiBvbmx5IHJlY29uc2lkZXIgb25jZSBmb3IgQllFCgkgIFdoZW4gaXRlcmF0aW5nIHRoZSBzb3VyY2VzIG9mIGEgQllFIHBhY2tldCwgZG9uJ3Qgc2lnbmFsIGEgcmVjb25zaWRlcmF0aW9uIGZvcgoJICBlYWNoIG9mIHRoZW0gYnV0IHNpZ25hbCBhZnRlciB3ZSBoYW5kbGVkIGFsbCBzb3VyY2VzLgoKMjAwOS0wNy0yNSAxMjoxOTowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkgIGthdGU6IGJyZWFrIHVwIG1hY3JvcyBpbnRvIG11bHRpcGxlIGxpbmVzCgoyMDA5LTA3LTI0IDIxOjU0OjU5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGU6IHVzZSBHU1RfRUxFTUVOVF9FUlJPUiBmb3IgZXJyb3IgcmVwb3J0aW5nCgkgIFNlZSAjNTI1NzQzLgoKMjAwOS0wNy0yNCAxNDo1MjoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hc2ZtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4Lmg6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuaDoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmg6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5Lmg6CgkgIGFzZm11eDogQWRkcyBuZXcgcGx1Z2luIGFzZm11eAoJICBBZGRzIHRoZSBicmFuZCBuZXcgYXNmbXV4IHBsdWdpbiwgY29udGFpbmluZyAzIGVsZW1lbnRzOgoJICBhc2ZtdXgsIHJ0cGFzZnBheSBhbmQgYXNmcGFyc2UuIFRoaXMgcGx1Z2luIHdhcyBkZXZlbG9wZWQKCSAgYXMgYSBHU29DIDIwMDkgcHJvamVjdCwgd2l0aCBEYXZpZCBTY2hsZWVmIGFzIHRoZSBtZW50b3IgYW5kCgkgIFRoaWFnbyBTYW50b3MgYXMgdGhlIHN0dWRlbnQuCgoyMDA5LTA3LTI0IDA4OjI1OjAzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB3aW4zMi9NQU5JRkVTVDoKCSAgd2luMzI6IEZpeCB0aGUgZGlzdGNoZWNrIGFmdGVyIGRzaG93c3Jjd3JhcHBlciByZWFycmFuZ2VtZW50cwoJICBSZW1vdmUgb2xkIGZpbGVzIGZyb20gdGhlIHdpbjMyIG1hbmlmZXN0LCBhbmQgYWRkIHRoZSBuZXcgb25lLgoKMjAwOS0wNy0yNCAwNzo0MDoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzoKCSAgbXVzZXBhY2tkZWM6IEltcGxlbWVudCBTRUVLSU5HIHF1ZXJ5CgoyMDA5LTA3LTI0IDAxOjAwOjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIFJldmVydCAiZG9jczogZml4IGRvY3MgYnVpbGQgYWdhaW4iCgkgIEl0J3Mgbm90IG5lZWRlZCBhbnkgbG9uZ2VyIGFmdGVyIFN0ZWZhbidzIHVwZGF0ZXMgaW4gdGhlIGNvbW1vbiBtb2R1bGUuCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMDljNTUwYTE3MmEyYzhhNzZmMGI0OGYyZjhjZTExMDcwNTk4ZjY2Yy4KCjIwMDktMDctMjQgMDA6NDI6NTMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZmVkYWFlZSB0byA5NGY5NWUzCgoyMDA5LTA3LTIzIDE3OjU3OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGZpeCBkb2NzIGJ1aWxkIGFnYWluCgkgIFRoZXJlIGlzIG5vIGVsZW1lbnQgY2FsbGVkICdsYWRzcGEnLCBzbyB0aGVyZSB3b24ndCBiZSBhIC1kZXRhaWxzCgkgIGZpbGUgZm9yIGl0LgoKMjAwOS0wNy0yMyAwOTo1ODozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWdkZW11eDogUmVtb3ZlIHNvbWUgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBjb2RlCgkgIEFsc28gd2UgYWx3YXlzIHJlcXVpcmUgbGlib2lsIHNvIHVzZSBpdCB1bmNvbmRpdGlvbmFsbHkuCgoyMDA5LTA3LTIzIDA5OjUyOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBJbXBsZW1lbnQgcXVlcnkgdHlwZSBmdW5jdGlvbiBmb3IgdGhlIHNyYyBwYWRzCgoyMDA5LTA3LTIwIDIyOjEzOjExIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWRlYzogTG9jayBlbGVtZW50IGJlZm9yZSB1bmxvY2tpbmcKCjIwMDktMDctMjAgMjI6MDg6NTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltZGVjOiBGaXggbGVha3MKCSAgVXNlIGdzdF9wYWRfbmV3X2Zyb21fc3RhdGljX3RlbXBsYXRlKCkgdG8gbm90IGxlYWsgdGhlIHBhZCB0ZW1wbGF0ZQoJICBBbHNvIHByb3Blcmx5IGNoYWluIHVwIHRoZSBmaW5hbGl6ZSB0byB0aGUgcGFyZW50CgoyMDA5LTA3LTIwIDIyOjA4OjI0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogVXNlIGdzdF9wYWRfbmV3X2Zyb21fc3RhdGljX3RlbXBsYXRlCgkgIFByZXZlbnRzIGxlYWsgZm91bmQgYnkgdmFsZ3JpbmQKCjIwMDktMDctMjAgMjE6NTI6NTkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltZW5jOiBVbnJlZiBjbG9ja2lkCgoyMDA5LTA3LTIwIDE0OjAwOjE3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWRlYzogRG9uJ3Qgb3ZlcndyaXRlIHZhbGlkIHRpbWVzdGFtcHMKCjIwMDktMDctMjAgMTM6NDU6NTQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJICBSZXZlcnQgIm1pbWRlYzogSWdub3JlIHRoZSB0aW1lc3RhbXBzIGluc2lkZSB0aGUgYnVmZmVycyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA1ZTA1MWZhOThhZWViZGNlMmVjYTZiMzIxZWMxOTI5ZTZmOGZkZjYxLgoKMjAwOS0wNy0yMSAxNTozMzo0MSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBGcmVlIGNvbmZsaWN0aW5nIGFkZHJlc3NlcyBvbiBmaW5hbGl6ZQoKMjAwOS0wNy0yMSAxNTozMTozMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBGcmVlIHRoZSBwYWQgcHJpdmF0ZSBkYXRhIG9uIHBhZCByZWxlYXNlCgkgIEZyZWUgdGhlIHBhZCBwcml2YXRlIGRhdGEgb24gcGFkIHJlbGVhc2UgaW5zdGVhZCBvZiB1c2luZyBhIHdlYWsgcmVmLAoJICB3aGljaCBpcyBub3QgdGhyZWFkIHNhZmUuIEFsc28sIGxvY2sgdGhlIGNvbnRlbnQgb2YgdGhlIHBhZCBwcml2YXRlIHVzaW5nIHRoZSBlbGVtZW50J3MKCSAgb2JqZWN0IGxvY2suCgoyMDA5LTA3LTIyIDE0OjE5OjE4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogSWdub3JlIGVycm9ycyBwdXNoaW5nIG91dCBuZXcgc2VnbWVudHMKCSAgVGhlIGZvbGxvd2luZyBidWZmZXIgcHVzaCB3aWxsIHJldHVybiBtb3JlIHZhbHVhYmxlIGluZm9ybWF0aW9uLgoKMjAwOS0wNy0yMiAxODowMToxMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sdjIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGltaWRpdHkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhkZ21pbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIGRvY3M6IGFkZCBkb2NzIGZvciBsYWRzcGEgYW5kIHVwZGF0ZSBwbHVnaW4gZG9jcwoJICBBZGQgYWxzbyBpbnNwZWN0IGZpbGVzIGZvciBsdjIgYW5kIGZyZWkwciAobm8gZG9jcyB5ZXQpLgoKMjAwOS0wNy0yMiAxNzowNToyOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJICBjYW1lcmFiaW46IG1vcmUgcGVyZi10ZXN0IGNsZWFudXBzCgkgIFJlbW92ZSBzb21lIG9ic29sZXRlIGV4bWFwbGVzLiBBZGQgdmlkZW8td2lkdGgvaGVpZ2h0LiBVc2UgcHJvcGVyIGFwaSBmb3IKCSAgc2V0dGluZyBzdGlsbCBpbWFnZSByZXNvbHV0aW9uLiBGaXggc3RvcHBpbmcgcmFuZG9tIHRlc3RzIG9uIGJpbi1zdGF0ZS1jaGFuZ2VzLgoJICBSZW1vdmUgdGhlIG1lbWR1cCBpbiBzbmFwc2hvdCBhZ2FpbiwgYXMgaXRzIG5vdCBuZWVkZWQgKHBpeGJ1ZiBnb2VzIG91dCBvZgoJICBzY29wZSB3aXRoIHRoZSBidWZmZXIpLgoKMjAwOS0wNy0yMiAxMTo0NToyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICBkc2hvd3NyY3dyYXBwZXI6IHVwZGF0ZSBNYWtlZmlsZS5hbSBmb3Igc291cmNlIGZpbGUgcmVuYW1lcyBhcyB3ZWxsCgoyMDA5LTA3LTIxIDEzOjM3OjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuaDoKCSAgZG9jczogYWRkIHBjYXBwYXJzZSB0byBkb2NzCgoyMDA5LTA3LTIyIDEyOjM0OjM2ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkgIGRzaG93YXVkaW9zcmM6IGRvIG5vdCByZW1vdmUgYSByYW5nZSBvZiBsZW5ndGggMAoKMjAwOS0wNy0yMiAxMjoyNDo0NiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuYzoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogd2luMzIvdnM4L2xpYmRzaG93c3Jjd3JhcHBlci52Y3Byb2o6CgkgIGRzaG93YXVkaW9zcmM6IGNvbnZlcnRzIGNvZGUgdG8gQysrCgoyMDA5LTA3LTIyIDExOjAxOjQ5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiB3aW4zMi92czgvbGliZHNob3dzcmN3cmFwcGVyLnZjcHJvajoKCSAgZHNob3d2aWRlb3NyYzogY29udmVydHMgY29kZSB0byBDKysKCjIwMDktMDctMjIgMDA6MzM6MjIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogZG9uJ3QgYWRkIGEgYmFzZV90aW1lPT0tMSB0byBzZWdtZW50IHBvc2l0aW9ucwoJICBGaXhlcyBhc3NlcnRpb24gYWJvdXQgbmV3c2VnbWVudCB3aXRoIHN0YXJ0PS0xLgoKMjAwOS0wNy0yMSAxNzo0ODozMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBzbWFsbCBzcGVlZHVwIGluIHNvZnR3YXJlIHpvb20KCSAgRm9yY2UgY3JvcCBvbiBldmVuIHBpeGVsIHBvc2l0aW9uIHRvIGF2b2lkIHNsb3dwYXRoIGluIGNyb3AgJiBzY2FsZS4KCjIwMDktMDctMjEgMTY6NDg6MjYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSAgY2FtZXJhYmluOiB3ZSBuZWVkIHRvIGNvcHkgdGhlIGRhdGEgaW4gdGhlIGV4YW1wbGUKCSAgZ2RrX3BpeGJ1Zl9uZXdfZnJvbV9kYXRhIGRvZXMgbm90IGNvcHkgdGhlIGRhdGEuCgoyMDA5LTA3LTIxIDExOjI4OjIwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL01ha2VmaWxlLmFtOgoJICBtYWtlOiByZW1vdmUgd2hpdGVzcGFjZSBhZnRlciB0cmFpbGluZyBiYWNrc2xhc2gKCjIwMDktMDctMjEgMTI6NDI6MzMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1Lmg6CgkgIGthdGU6IGZpeCB0aW1lIGNvbnZlcnNpb24gZnJvbSBEVkQgc3R5bGUgdGltZXN0YW1wcy4KCjIwMDktMDctMjEgMTM6NTE6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogSW1wbGVtZW50IFNFRUtJTkcgcXVlcnkKCjIwMDktMDctMjEgMTM6Mzk6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IEltcGxlbWVudCBTRUVLSU5HIHF1ZXJ5CgkgIEZpeGVzIGJ1ZyAjNTg4OTQ0LgoKMjAwOS0wNy0yMSAxMzozMzo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBJbXBsZW1lbnQgU0VFS0lORyBxdWVyeQoJICBQYXJ0aWFsbHkgZml4ZXMgYnVnICM1ODg5NDQuCgoyMDA5LTA3LTIxIDEzOjE3OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IEZyZWUgdGhlIFBNVCBiZWZvcmUgc2V0dGluZyBhIG5ldyBvbmUKCjIwMDktMDctMjEgMTM6MTQ6MDAgKzAyMDAgIE1pa2FlbCBNYWdudXNzb24gPG1pa21hQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IFJlbW92ZSBvbGQgUEVTIFBJRHMgd2hlbiByZWNlaXZpbmcgUEFUIHRhYmxlcwoJICBGaXhlcyBidWcgIzU4MzQ3MC4KCjIwMDktMDctMjEgMTE6MTA6NDkgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogd2luMzIvdnM4L2xpYmRzaG93c3Jjd3JhcHBlci52Y3Byb2o6CgkgIGRzaG93c3Jjd3JhcHBlcjogZml4IHJlbGF0aXZlIHBhdGgKCjIwMDktMDctMjEgMTA6NDk6MzcgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9kc2hvdy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93LmNwcDoKCSogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93Lmg6CgkqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2Zha2VzaW5rLmNwcDoKCSogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNpbmsuaDoKCSogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNyYy5jcHA6CgkqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2Zha2VzcmMuaDoKCSogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93aW50ZXJmYWNlLmNwcDoKCSogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93aW50ZXJmYWNlLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dpbnRlcmZhY2UuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3NyY3dyYXBwZXIuYzoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3NyY3dyYXBwZXIuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93c3Jjd3JhcHBlci5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuYzoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvbGliZ3N0ZHNob3cuZGVmOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0ZHNob3cuZGVmOgoJKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSogd2luMzIvdnM2L2xpYmRzaG93c3Jjd3JhcHBlci5kc3A6CgkqIHdpbjMyL3ZzOC9nc3QtcGx1Z2lucy1iYWQuc2xuOgoJKiB3aW4zMi92czgvbGliZHNob3dzcmN3cmFwcGVyLnZjcHJvajoKCSAgc3RhcnQgcmVmYWN0b3Jpbmcgb2YgZHNob3dzcmN3cmFwcGVyCgkgIC1yZW1vdmUgZ3N0LWxpYnMvZ3N0L2RzaG93CgkgIC1mYWtlc291cmNlIGlzIG1vdmVkIGZyb20gZ3N0LWxpYnMvZ3N0L2RzaG93IHRvIHN5cy9kc2hvd3NyY3dyYXBwZXIKCSAgLXNvbWUgbWlub3IgY2hhbmdlcyAoQy9DKysgY2hlY2sgYW5kIGluY2x1ZGVzKSB0byBtYWtlIHRoZSBwbHVnaW4KCSAgY29tcGlsZSBhZ2Fpbi4KCjIwMDktMDctMjEgMDE6MDY6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZTogdXNlIG5ldyBHU1RfVEFHX1NVQklUTEVfQ09ERUMgdGFnIGluc3RlYWQgb2YgR1NUX1RBR19DT0RFQwoKMjAwOS0wNy0yMSAwMDo1NDo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSAga2F0ZWRlYzogb25seSBwdXQgcHJpbWFyeSBsYW5ndWFnZSB0YWcgaW4gR1NUX1RBR19MQU5HVUFHRQoJICBPbmx5IHB1dCBwcmltYXJ5IGxhbmd1YWdlIGludG8gR1NUX1RBR19MQU5HVUFHRSwgYW5kIGNvbnZlcnQgdG8gbG93ZXIgY2FzZSwKCSAgaWUuIG9ubHkgdXNlICJlbiIgb2YgImVuX0dCIi4gVGhpcyBpcyBwZXIgb3VyIHRhZyBkb2N1bWVudGF0aW9uIGFuZCBoZW5jZQoJICB3aGF0IGFwcHMgZXhwZWN0LiBBbHNvIGFkZCBleGFtcGxlIHRvIGthdGVlbmMgcHJvcGVydHkgZGVzY3JpcHRpb24gc28gcGVvcGxlCgkgIGtub3cgYSBsYW5ndWFnZSBjb2RlIGlzIHdhbnRlZCBoZXJlLgoKMjAwOS0wNy0yMSAwMDowNDoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkgIGthdGVkZWM6IGFkZCBjb21tZW50IHdoeSB3ZSBkb250JyBzdXBwb3J0IGFwcGxpY2F0aW9uL3gta2F0ZSBoZXJlIGZvciBub3cKCjIwMDktMDctMjAgMTM6NTQ6NDkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBleHQva2F0ZS9NYWtlZmlsZS5hbToKCSogZXh0L2thdGUvUkVBRE1FOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1Lmg6CgkgIGthdGVkZWM6IGNyZWF0ZSBTUFUgZm9ybWF0IGltYWdlcyBmcm9tIHN1aXRhYmxlIGJhY2tncm91bmQgaW1hZ2VzCgkgIE1ha2Uga2F0ZWRlYyBmYWJyaWNhdGUgZHZkLXN0eWxlIHN1YnBpY3R1cmVzIGZvciBzdWJ0aXRsZSBvdmVybGF5CgkgIGJpdG1hcHMsIGZvciBlYXNpZXIgcGxheWJpbjIgaW50ZWdyYXRpb24gKCM1ODg2MzgpLgoKMjAwOS0wNy0yMCAxNjoyNDoyMyArMDEwMCAgb2dnLmsub2dnLmsgPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJICBrYXRlOiBmaXggc29tZSBtaW5vciBtZW1vcnkgbGVha3MKCSAgTWFrZXMgJ21ha2UgY2hlY2stdmFsZ3JpbmQnIHdvcmsgZm9yIHRoZSBrYXRlIHVuaXQgdGVzdCAoIzUyNTc0MykKCjIwMDktMDctMjAgMTY6Mzk6NDIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSAgY2FtZXJhYmluOiBhZGQgY29kZSBpbiB0ZXN0IHRvIHN0b3JlIHNuYXBzaG90cyBmb3IgbWFudWFsIHZlcmlmaWNhdGlvbgoJICBVc2UgZ2RrX3BpeGJ1ZiB0byBzYXZlIHRoZSBpbWFnZSBpbiBwZXJmLXRlc3QuIEFsc28gcmVtb3ZlIHNvbWUgb2Jzb2x1dGUKCSAgY29tbWVudGVkIG91dCBjb2RlLgoKMjAwOS0wNy0yMCAxNjoyNDowNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGNhbWVyYWJpbjogbG9nIGZvcm1hdHMgaW4gcHJldmlldyBpbWFnZSBjb252ZXJzaW9uCgoyMDA5LTA3LTIwIDE2OjIxOjA2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkgIGNhbWVyYWJpbjogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZSBhc3NpZ25tZW50CgkgIFJlc3VsdCBpcyBub3QgbmVlZGVkIGhlcmUsIGJ1dCB2YXJpYWJsZSBpcyB1c2VkIGxhdGVyIG9uLiBBbHNvIHJlbW92ZSBkb3VibGUgbmV3CgkgIGxpbmVzIGluIGZ1bmN0aW9uLgoKMjAwOS0wNy0yMCAxNjoyMDoxNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6IGNoZWNrIHF1ZXJ5IHJldHVybiByZXN1bHQgYmVmb3JlIHVzaW5nIGl0CgoyMDA5LTA3LTIwIDE2OjE5OjQwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkgIG1ldGFkYXRhOiBkb24ndCBkZXJlZmVyZW5jZSB0aGUgcG9pbnRlciBiZWZvcmUgdGhlIHZhbGlkaXR5IGNoZWNrCgoyMDA5LTA3LTIwIDEwOjE3OjA3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkgIGNhbWVyYWJpbjogaW1wcm92ZSBwZXJmIHRlc3Qgcm9idXN0bmVzcyBhbmQgYWRkIGNvbW1lbnRzCgoyMDA5LTA3LTIwIDEyOjI1OjE1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJICBrYXRlZW5jOiBhbHNvIHJlY29nbmlzZSB0aGUgbmV3IHJlY29tbWVuZGVkICdTVUInIGNhdGVnb3J5CgkgIE1vdmUgdGhlIGNoZWNrIGZvciAnc2ltcGxlJyBzdWJ0aXRsZXMgY2F0ZWdvcnkgdG8gYSBzZXBhcmF0ZSByb3V0aW5lCgkgIGFuZCBhZGQgaW4gdGhlIG5ldyByZWNvbW1lbmRlZCBTVUIgY2F0ZWdvcnkgKCM1MjU3NDMpLgoKMjAwOS0wNy0yMCAxMTo0MTo0MCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5oOgoJICBrYXRlZW5jOiBrZWVwIGJpdG1hcC9wYWxldHRlL3JlZ2lvbiBhcm91bmQgd2hlbiBvbiB0aGUgc3BvdCBlbmNvZGluZyBpcyBub3QgcG9zc2libGUgZHVlIHRvIGFuIHVua25vd24gZW5kIHRpbWUKCSAgRml4ZXMgdmFsZ3JpbmQgdW5pdGlhbGl6ZWQgdmFsdWUgcmVwb3J0LiBTZWUgIzUyNTc0My4KCjIwMDktMDctMTkgMjM6NDU6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJICBkb2NzOiBhZGQgaW5zcGVjdCBpbmZvIGZvciBrYXRlIHBsdWdpbgoJICBTaG91bGQgZml4IHRoZSBkb2NzIGJ1aWxkLgoKMjAwOS0wNy0xOSAyMzozNTowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGU6IGFkZCBzb21lIEZJWE1FcwoKMjAwOS0wNy0xOSAyMzozMjowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlLmM6CgkgIGthdGVkZWM6IGRlbW90ZSB0byBHU1RfUkFOS19OT05FIGZvciBub3cKCSAgVGhlcmUgYXJlIHN0aWxsIHNvbWUgYXV0b3BsdWdnaW5nIGlzc3VlcyB0byBzb3J0IG91dCwgYW5kIGl0IG5lZWRzCgkgIHNvbWUgdGVzdGluZy4KCjIwMDktMDctMTkgMjM6Mjk6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIGNoZWNrczogYWRkIGthdGUgdW5pdCB0ZXN0cyB0byB2YWxncmluZCBibGFja2xpc3QgZm9yIG5vdwoJICBBbmQgYWRkIGNoZWNrIGJpbmFyeSB0byBpZ25vcmUgbGlzdC4KCjIwMDktMDctMTkgMjM6MTY6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGU6IG1ha2Ugc3VyZSB0byBmcmVlIHNvbWUgbW9yZSBzdHVmZgoKMjAwOS0wNy0xOSAyMjoyOToxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlLmg6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSAga2F0ZTogZml4IHVwIGZvciBhZGRpdGlvbmFsIHN1YnRpdGxlL3gta2F0ZSBtZWRpYSB0eXBlCgoyMDA5LTA3LTEzIDIyOjM4OjQzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGUuYzoKCSAga2F0ZTogcmVtb3ZlIGxvY2FsIGthdGUgdHlwZWZpbmRlciwgdXNlIHRoZSBvbmUgaW4gLWJhc2UKCjIwMDktMDctMTAgMTg6NDU6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlLmg6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIGthdGU6IGNoYW5nZSBtZWRpYSB0eXBlIHRvIHN1YnRpdGxlL3gta2F0ZSBhbmQgdXBkYXRlIGRlZmluZSBhY2NvcmRpbmdseQoKMjAwOS0wMi0xNSAxODozNTowNCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIExJQ0VOU0VfcmVhZG1lOgoJKiBSRVFVSVJFTUVOVFM6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9rYXRlL01ha2VmaWxlLmFtOgoJKiBleHQva2F0ZS9SRUFETUU6CgkqIGV4dC9rYXRlL2dzdGthdGUuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZS5oOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmg6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmg6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuaDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9rYXRlLmM6CgkgIGFkZCBuZXcgS2F0ZSBwbHVnaW4sIGZvciBLYXRlIG92ZXJsYXkgc3RyZWFtcwoJICBrYXRlZGVjOiBLYXRlIGRlY29kZXIgKHRleHQgb25seSkKCSAga2F0ZWVuYzogS2F0ZSBlbmNvZGVyICh0ZXh0IGFuZCBEVkQgU1BVIG9ubHkpCgkgIGthdGV0YWc6IEthdGUgdGFnZ2VyCgkgIGthdGVwYXJzZTogS2F0ZSBwYXJzZXIKCSAgdGlnZXI6IEthdGUgcmVuZGVyZXIgdXNpbmcgdGhlIFRpZ2VyIHJlbmRlcmluZyBsaWJyYXJ5CgkgIEZpeGVzICM1MjU3NDMuCgoyMDA5LTA3LTE5IDE1OjM3OjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzoKCSAgcmVhbDogZGlmZmVyZW50aWF0ZSBiZXR3ZWVuICdtb2R1bGUgZG9lcyBub3QgZXhpc3QnIGFuZCBnZW51aW5lIG1vZHVsZSBvcGVuaW5nIGVycm9ycwoJICBEb24ndCBsb2cgYSBHU1RfRVJST1IgaWYgb25lIG9mIHRoZSBjb2RlYyBtb2R1bGVzIHdlIHdlcmUgbG9va2luZyBmb3IKCSAgZG9lc24ndCBleGlzdC4gVGhhdCdzIG5vdCBhIGdlbnVpbmUgZXJyb3IsIGJ1dCBzb21ld2hhdCBleHBlY3RlZC4KCjIwMDktMDctMTggMDg6NDM6MzcgKzAyMDAgIE1hdGlqcyB2YW4gWnVpamxlbiA8TWF0aWpzLnZhbi5adWlqbGVuQHhzNGFsbC5ubD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogRml4IGludGVnZXIgb3ZlcmZsb3cKCSAgVGhpcyBicmVha3MgcGxheWJhY2sgb2YgZmlsZXMgPjQgR0IgYXMgdGhlIG9mZnNldCB3YXMKCSAgYSBndWludCBiZWZvcmUuIENoYW5naW5nIGl0IHRvIGEgZ3VpbnQ2NCBmaXhlcyB0aGlzLgoKMjAwOS0wNy0xNyAxNTo0NzoxMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJICBtZXRhZGF0YTogcmVzZXQgc3RhdGUgaWYgdGhlcmUgaXMgc29tZXRoaW5nIHRvIHJlc2V0CgkgIFRoZSBjb25kaXRpb24gd2FzIHdyb25nIGFuZCBhcyBzdWNoIHRoZSBlbGVtZW50IHdhcyB3cml0aW5nIHRoZSBzYW1lIHRhZ3Mgb24gc3Vic2VxdWVudAoJICBpbWFnZXMgaWYgcmV1c2VkLgoKMjAwOS0wNy0xNyAxNTo0NTozMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiB1c2UgZ3N0X2NhcHNfcmVwbGFjZSBpbnN0ZWFkIG9mIHNlcGFyYXRlIGNhbGxzCgkgIFRoaXMgZml4ZXMgc2V0dGluZyBzbmFwc2hvdCBjYXBzIGJhY2sgdG8gTlVMTCBhbHNvLgoKMjAwOS0wNy0xNyAxNTozODowNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJICBjYW1lcmFiaW46IGltcGxlbW5ldCB0d28gbW9yZSB0ZXN0cwoJICBBZGQgdGVzdHMgZm9yIHZpZGVvcmVjb3JkaW5nIHN0YXJ0dXAgYW5kIGNhcHR1cmUgc3RhcnR1cCBkZWxheS4KCjIwMDktMDctMTcgMDk6MzY6MTUgKzAxMDAgIFphaGVlciBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IGFkZCBjb21wb25lbnQgdGFnIHRvIHRoZSB2aWRlbyBjb21wb25lbnQgc3RydWN0dXJlIGluIGVpdAoKMjAwOS0wNy0xNiAxNzoyNzowOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IERvbid0IHByZXRlbmQgdG8gYmUgTUwyMCBpZiBwYXVzZWQKCjIwMDktMDctMTYgMTY6MDY6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJICBtaW1kZWM6IElnbm9yZSB0aGUgdGltZXN0YW1wcyBpbnNpZGUgdGhlIGJ1ZmZlcnMKCjIwMDktMDctMTYgMTU6NDM6NDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltZGVjOiBEb24ndCB0cnkgdG8gcGFyc2UgdGhlIGhlYWRlciBiZWZvcmUgZHJvcHBpbmcgdGhlIHBhdXNlZCBmcmFtZXMKCjIwMDktMDctMTYgMTU6NDM6MTUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltZGVjOiBQcmludCB0aGUgaW5jb21pbmcgZm91cmNjIG9uIGVycm9ycwoKMjAwOS0wNi0xOSAyMDoxMzo1MyArMTAwMCAgQXVzdGluIEx1bmQgPGF1c3Rpbi5sdW5kQGdtYWlsLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIEluY3JlYXNlZCB0aGUgbGVuZ3RoIG9mIHRpbWUgZm9yIHR1bmluZyBpbiBnc3RkdmJzcmMuYy4KCSAgU29tZSBkZXZpY2VzIHRha2UgYSB3aGlsZSB0byB0dW5lIGFuZCA1MDBtcyB3YXMgdG9vIHNob3J0IHRvIGRldGVjdAoJICBzdWNjZXNzZnVsIHR1bmluZy4gIEFzIHdlbGwgYXMgd2FpdGluZyBmb3IgNSBzZWNvbmRzIGVhY2ggMTAwbXMgdGhlCgkgIHN0YXR1cyBpcyBjaGVja2VkIGFuZCB0aGUgbG9vcCBpcyBicm9rZW4gb3V0IG9mIHdoZW4gdHVuaW5nIGhhcyBzdWNlZWRlZC4KCjIwMDktMDctMTYgMTk6NDk6MjYgKzAyMDAgIEFsZWtzZXkgWXVsaW4gPHVsaW5AdHV0LmJ5PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogRG9uJ3QgdXNlIFBJRHMgPiBNUEVHVFNfTUFYX1BJRAoJICBUaGUgbXBlZ3RzZGVtdXggc3RyZWFtcyBhcnJheSBvbmx5IGhhcyBNUEVHVFNfTUFYX1BJRCBlbnRyaWVzCgkgIGFuZCBhY2Nlc3Npbmcgb25lIGFmdGVyd2FyZHMgd2lsbCByZXN1bHQgaW4gY3Jhc2hlcy4KCSAgRml4ZXMgYnVnICM1NzU2NzIuCgoyMDA5LTA3LTE2IDE4OjE0OjE4ICswMzAwICBaZWVzaGFuIEFsaSAoS2hhdHRhaykgPHplZXNoYW5ha0Bnbm9tZS5vcmc+CgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSAgQWRkIG1vcmUgZGVidWcgb3V0cHV0IHRvIG1ldGFkYXRhbXV4CgoyMDA5LTA3LTE2IDEyOjAzOjMyICswMjAwICBKb3NlcCBUb3JyYSA8am9zZXBAZmx1ZW5kby5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJICBwZXNmaWx0ZXI6IFBlcm1pdCB1bmJvdW5kZWQgcGFja2V0cyBmb3IgMHhmZCAoZXh0ZW5kZWQgc3RyZWFtIGlkKS4KCSAgQWRkZWQgcGFyc2luZyBvZiBQRVMgZXh0ZW5zaW9uIHJlbGF0ZWQgZGF0YS4KCSAgRml4ZXMgc29tZSBWQzEgcmVsYXRlZCBpc3N1ZXMuCgoyMDA5LTA3LTE2IDEzOjU1OjE0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIG9zczQ6IEF0dGVtcHQgdG8gZml4IGEgY29tcGlsZXIgd2FybmluZwoJICBEb24ndCBzdG9yZSBhIGNvbnN0IGdjaGFyICogaW4gYSBub24tY29uc3QgZ2NoYXIgKiBsb2NhbCB2YXIuCgkgIEFsc28sIG1ha2UgdGhlIHRyYW5zbGF0aW9uIHN0cmluZyBmdW5jdGlvbiBzdGF0aWMgc2luY2UgaXQncyBvbmx5CgkgIHVzZWQgaW4gdGhlIG9uZSBmaWxlLgoKMjAwOS0wNy0xNSAxODoxMDowNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJICBtZXRhZGF0YTogRml4IHNvbWUgY29tcGlsZXIgd2FybmluZ3MKCSAgQ2FzdCBzb21lIGRlYnVnIHN0cmluZyBwYXJhbWV0ZXJzIHNvIHRoYXQgdGhleSBkb24ndCBjYXVzZSBtaXNtYXRjaGVkCgkgIHR5cGUgd2FybmluZ3MuCgoyMDA5LTA3LTE1IDE2OjE3OjM1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdTogRml4IGEgY29tcGlsZXIgd2FybmluZyBhYm91dCB1bmluaXRpYWxpc2VkIHZhcmlhYmxlIHVzZS4KCjIwMDktMDYtMTAgMTk6MjE6MjEgKzAxMDAgIEdhcnJldHQgRCdBbW9yZSA8Z2FycmV0dC5kYW1vcmVAc3VuLmNvbT4KCgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSogc3lzL29zczQvb3NzNC1taXhlci1zbGlkZXIuYzoKCSogc3lzL29zczQvb3NzNC1taXhlci1zd2l0Y2guYzoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBvc3M0OiBFbmhhbmNlbWVudHMgdG8gdGhlIG1peGVyIGFuZCBhdWRpbyBvdXRwdXQKCSAgQ29kZSBjbGVhbnVwcywgZ2VuZXJhbCBpbXByb3ZlbWVudHMsIHN1cHBvcnQgZm9yIHRoZQoJICBuZXcgbWl4ZXIgZmxhZ3MgaW4gbGF0ZXN0IGdzdC1wbHVnaW5zLWJhc2UuCgkgIEZpeGVzOiAjNTg0MjUyCgkgIFBhdGNoIEJ5OiBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgkgIFBhdGNoIEJ5OiBHYXJyZXR0IEQnQW1vcmUgPGdhcnJldHQuZGFtb3JlQHN1bi5jb20+CgoyMDA5LTA3LTE1IDE4OjI3OjM5ICswMTAwICBaYWhlZXIgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBhZGQgY29tcG9uZW50IHRhZyB0byBzdHJ1Y3R1cmUgZm9yIGNvbXBvbmVudCBtZXNzYWdlCgoyMDA5LTA3LTE1IDE3OjQ0OjEwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSAgY2FtZXJhYmluOiB1c2Ugbm9uYnVmZmVyZWQgaW8gdG8gc2F2ZSBtZW1jb3BpZXMKCSAgV2Ugd3JpdGUgbGFyZ2UgYmxvY2tzIGFueXdheSwgc28gbm8gZXh0cmEgYnVmZmVyaW5nIHBsZWFzZS4gQWxzbyB1c2Ugb25lCgkgIGdfb2JqZWN0X3NldCB0byBzZXQgbXVsdGlwbGUgcHJvcGVydGllcyBvbiBzYW1lIG9iamVjdC4KCjIwMDktMDctMTUgMTI6MjA6MTcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vVE9ETzoKCSAgY2FtZXJhYmluOiB0cmFjayB0b2RvIGl0ZW1zCgoyMDA5LTA3LTE1IDExOjE3OjM2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGxlYXZlIGltYWdlL3ZpZGVvIGJpbiBpbiByZWFkeSB3aGVuIGNoYW5naW5nIG1vZGUKCjIwMDktMDctMTQgMTQ6MTA6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgIGFtcnBhcnNlOiBTeW5jIGJhc2VwYXJzZSBjaGFuZ2VzCgoyMDA5LTA3LTE0IDE0OjA4OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICBhYWNwYXJzZTogQWRkIGZ1bmN0aW9uIGZvciB0aGUgYmFzZXBhcnNlIHN1YmNsYXNzIHRvIHB1c2ggYnVmZmVycyBkb3duc3RyZWFtCgkgIEFsc28gaGFuZGxlIHRoZSBjYXNlIGdyYWNlZnVsbHkgd2hlcmUgdGhlIHN1YmNsYXNzIGRlY2lkZXMgdG8gZHJvcAoJICB0aGUgZmlyc3QgYnVmZmVycyBhbmQgaGFzIG5vIGNhcHMgc2V0IHlldC4gSXQncyBzdGlsbCByZXF1aXJlZCB0bwoJICBoYXZlIHZhbGlkIGNhcHMgc2V0IHdoZW4gdGhlIGZpcnN0IGJ1ZmZlciBzaG91bGQgYmUgcGFzc2VkIGRvd25zdHJlYW0uCgoyMDA5LTA3LTE0IDE0OjA3OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBGaXggc2VlayBldmVudCBsZWFraW5nCgoyMDA5LTA3LTE0IDEwOjQ0OjU4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkgIG1ldGFkYXRhOiBmaXggY29weSduJ3Bhc3RlIGluIHRhZyBkZXNjcmlwdGlvbgoKMjAwOS0wNy0xMyAxODowNDoxNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvOiBBZGQgZW51bSB0eXBlcyBmb3Igc2Nocm9lZGluZ2VyIHNldHRpbmdzCgoyMDA5LTA2LTMwIDE2OjMxOjEyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IERvbid0IHNlbmQgZW1wdHkgbGFuZ3VhZ2UgY29kZSBzdHJpbmdzCgkgIElnbm9yZSBlbXB0eSBsYW5ndWFnZSBjb2RlcyBvbiBzb21lIHBvb3JseSBjb2RlZCBEVkRzLCByYXRoZXIgdGhhbgoJICBzZXR0aW5nIGVtcHR5IHN0cmluZ3MgaW50byBvdXIgb3V0Z29pbmcgdGFnbGlzdC4KCjIwMDktMDctMTMgMTI6MjQ6MDQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNTg0NWI2MyB0byBmZWRhYWVlCgoyMDA5LTA3LTEwIDIxOjQyOjE5ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogT25seSBlbmFibGUgcGF1c2VkIG1vZGUgaWYgdGhlIHByb3BlcnR5IGlzIHRydWUKCjIwMDktMDctMTAgMTM6MDM6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJICBpdm9yYmlzOiBleHRyYWN0IHZvcmJpcyBjb21tZW50cwoJICBGaXhlcyAjNTc1ODE4LgoKMjAwOS0wNy0wOCAxNzo1OToyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IEFkZCBCR1JBIHN1cHBvcnQgZm9yIHZpZGVvIGluL291dHB1dAoKMjAwOS0wNy0wOCAxNToyNjowNyArMDIwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicEBrLWQtdy5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IEZpeCBkb3VibGUgZnJlZQoJICBUaGUgaGFzaCB0YWJsZSBhbHJlYWR5IG1ha2VzIHN1cmUgdGhhdCB0aGUgc3RyZWFtIGlzIGNvcnJlY3RseQoJICBmcmVlJ2Qgd2hlbiBlbGVtZW50cyBhcmUgcmVtb3ZlZC4KCSAgRml4ZXMgYnVnICM1ODc4MTkuCgoyMDA5LTA3LTA4IDEwOjE2OjE5ICswMTAwICBNaWd1ZWwgw4BuZ2VsIEZhcnLDqSA8bWlxdWVsLmZhcnJlQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogcGFyc2UgY29tcG9uZW50IHRhZwoKMjAwOS0wNy0wOCAxMDoxMTo1MiArMDEwMCAgTWlndWVsIMOAbmdlbCBGYXJyw6kgPG1pcXVlbC5mYXJyZUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogcGFyc2UgY2Fyb3VzZWwgaWRlbnRpZmllciBkZXNjcmlwdG9yCgoyMDA5LTA3LTA3IDE1OjI4OjA0ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IGFkZCBwYXJzaW5nIG9mIGRhdGEgYnJvYWRjYXN0IGRlc2NyaXB0b3JzCgoyMDA5LTA3LTA3IDIwOjI4OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSAgYmFzZXZpZGVvOiBMaW5rIHdpdGggbGliZ3N0dmlkZW8gZm9yIHNvbWUgdXNlZCBmdW5jdGlvbnMKCjIwMDktMDctMDcgMTk6MTg6MTYgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5oOgoJICBtaW1lbmM6IFNlbmQgcGF1c2UgZnJhbWVzIHdoZW4gcGF1c2VkCgoyMDA5LTA3LTA3IDE5OjE1OjQyICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWRlYzogSWdub3JlIHBhdXNlIGZyYW1lcwoKMjAwOS0wNy0wNyAxODoyNzozNiArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IFB1dCBrZXlmcmFtZS9wYXVzZWQgZmxhZ3MgaW4gdGNwIGhlYWRlcgoKMjAwOS0wNy0wNyAxODoxODowNiArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IFB1dCB0aW1lc3RhbXAgb24gdGhlIGhlYWRlciBidWZmZXIKCjIwMDktMDctMDcgMTg6MjI6NTQgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5oOgoJICBtaW1lbmM6IFJldGltZXN0YW1wIHRvIHRoZSBydW5uaW5nIHRpbWUKCjIwMDktMDctMDYgMTc6MTc6MjIgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5oOgoJICBtaW1lbmM6IFNhdmUgdGhlIHNlZ21lbnQKCjIwMDktMDctMDYgMTY6MjQ6NTkgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5oOgoJICBtaW1lbmM6IEFkZCBwcm9wZXJ0eSBmb3IgdGhlIHBhdXNlZCBtb2RlCgoyMDA5LTA3LTAzIDE2OjA4OjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSAgYmFzZXZpZGVvLCBzY2hyb2VkaW5nZXI6IGd1YXJkIHVuc3RhYmxlIEFQSSB3aXRoIEdTVF9VU0VfVU5TVEFCTEVfQVBJCgkgIEFkZCBzb21lIGd1YXJkcyBhbmQgZmF0IHdhcm5pbmdzIHRvIHRoZSBoZWFkZXIgZmlsZXMgd2l0aCBzdGlsbCB1bnN0YWJsZQoJICBBUEksIHNvIHBlb3BsZSB3aG8ganVzdCBsb29rIGF0IHRoZSBpbnN0YWxsZWQgaGVhZGVycyBrbm93IHRoYXQgaXQKCSAgYWN0dWFsbHkgaXMgdW5zdGFibGUgQVBJLgoKMjAwOS0wNy0wMiAxNTo1ODowMCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogZml4IHNkdCBwYXJzaW5nLgoJICBmaXggcGFyc2luZyBvZiBldmVyeXRoaW5nIGZvciBlYWNoIHNlcnZpY2UgZnJvbSBlaXQgc2NoZWR1bGUgZmxhZyBvbiBhbmQgYWxzbwoJICBhZGQgYSBydW5uaW5nLXN0YXR1cyBwYXJhbWV0ZXIgdG8gdGhlIGJ1cyBtZXNzYWdlIHN0cnVjdHVyZS4KCjIwMDktMDctMDIgMTE6MjQ6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSAgc2hhcGV3aXBlOiBBZGQgc3VwcG9ydCBmb3IgQVJHQiB2aWRlbyBpbnB1dC9vdXRwdXQKCjIwMDktMDctMDEgMTA6NTU6MTIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9zY2hyb2VkaW5nZXIvTWFrZWZpbGUuYW06CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm8uYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9wYXJzZS5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmg6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJICBiYXNldmlkZW86IG1vdmUgZnJvbSAtYmFzZQoJICBBbHNvIG1vdmUgc2Nocm9lZGluZ2VyIHBsdWdpbi4gIFRoaXMgY3JlYXRlcyBhIG5ldyBsaWJyYXJ5LAoJICBnc3RiYXNldmlkZW8tMC4xMCwgd2hpY2ggd2lsbCBwcm9iYWJseSBiZSBtZXJnZWQgYmFjayBpbnRvCgkgIGdzdHZpZGVvLTAuMTAgd2hlbiB0aGlzIGlzIG1vdmVkIGJhY2sgdG8gLWJhc2UuCgoyMDA5LTA3LTAxIDEyOjU1OjAzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cGJpbjogdXNlIG5ldyBtZXRob2QgZm9yIG5ldGFkZHJlc3MgdG8gc3RyaW5nCgoyMDA5LTA2LTI5IDE3OjI0OjU4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIGRpc3Q6IEFkZCBsdjIgcGx1Z2luIHRvIHRoZSBkaXN0CgoyMDA5LTA2LTI5IDE2OjM3OjAxICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgZGlzdDogQWRkIHRoZSBjYW1lcmFiaW4gZXhhbXBsZXMgc3ViZGlyZWN0b3J5IHRvIHRoZSBkaXN0CgoyMDA5LTA2LTI5IDE4OjQ4OjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICBydHBiaW46IGRvIGJldHRlciBjbGVhbnVwIG9mIHRoZSBzcmMgZ2hvc3RwYWRzCgkgIENvbm5lY3QgdG8gdGhlIHBhZC1yZW1vdmVkIHNpZ25hbCBvZiB0aGUgcHRkZW11eCBlbGVtZW50cyBzbyB0aGF0IHdlIHJlbW92ZSB0aGUKCSAgZ2hvc3RwYWRzIGZvciB0aGVtLiBGaXhlcyBjbGVhbnVwIHdoZW4gZ29pbmcgdG8gTlVMTCBhcyB3ZWxsIGFzIHdoZW4gcmVsZWFzaW5nCgkgIHRoZSBzaW5rcGFkcy4KCSAgRml4ZXMgIzU2MTc1MgoKMjAwOS0wNi0yOSAxNzo0ODoxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgIGRvY3M6IHJlbW92ZSBvbGQgZWxlbWVudAoKMjAwOS0wNS0yOCAxOTowODo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogYWRkIGEgY29tbWVudAoKMjAwOS0wNi0yOSAxNjozNzo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBiaW46IGFkZCBTREVTIHByb3BlcnR5CgkgIFJlbW92ZSBhbGwgaW5kaXZpZHVhbCBTREVTIHByb3BlcnRpZXMgYW5kIHVzZSBvbmUgc2RlcyBwcm9wZXJ0eSB0aGF0IHRha2VzIGEKCSAgR3N0U3RydWN0dXJlIGluc3RlYWQuIFRoaXMgd2lsbCBhbGxvdyB1cyB0byBhZGQgbW9yZSBjdXN0b20gc3R1ZmYgdG8gdGhlIFNERVMKCSAgbWVzc2FnZXMgbGF0ZXIuCgoyMDA5LTA2LTI5IDE2OjIxOjA1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwYmluOiBhZGQgU0RFUyBwcm9wZXJ0eSB0aGF0IHRha2VzIEdzdFN0cnVjdHVyZQoJICBSZW1vdmUgYWxsIGluZGl2aWR1YWwgU0RFUyBwcm9wZXJ0aWVzIGFuZCB1c2Ugb25lIHNkZXMgcHJvcGVydHkgdGhhdCB0YWtlcyBhCgkgIEdzdFN0cnVjdHVyZSBpbnN0ZWFkLiBUaGlzIHdpbGwgYWxsb3cgdXMgdG8gYWRkIG1vcmUgY3VzdG9tIHN0dWZmIHRvIHRoZSBTREVTCgkgIG1lc3NhZ2VzIGxhdGVyLgoKMjAwOS0wNi0wMiAxNzo0NjowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOgoJICBydHBiaW46IHJlbW92ZWQgb2xkIGdzdHJ0cGNsaWVudAoKMjAwOS0wNi0yOSAxMjoyMzo1OSArMDIwMCAgQW5kb25pIE1vcmFsZXMgPHlsYXR1eWEgYXQgZ21haWwuY29tPgoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgc2RsOiBvbmx5IGluY2x1ZGUgc3lzL3RpbWUuaCB3aGVuIHdlIGhhdmUgaXQKCSAgRml4ZXMgIzU4Njk1NgoKMjAwOS0wNi0yOSAxMjowMjoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkgIGZyZWkwcjogQ29ycmVjdGx5IGNsZWFuIHVwIGVsZW1lbnRzIHRvIGJlIHJldXNhYmxlIGFuZCBub3QgbGVhayBtZW1vcnkKCjIwMDktMDYtMjkgMTE6NTk6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuaDoKCSAgZnJlaTByOiBJbiB0aGUgZmlsdGVyIHBsdWdpbnMgY3JlYXRlIHRoZSBmcmVpMHIgaW5zdGFuY2VzIGluIGNyZWF0ZSgpIGJlZm9yZSBwbGF5YmFjayBzdGFydHMKCjIwMDktMDYtMjkgMTE6NTY6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJICBmcmVpMHI6IEluIHRoZSBtaXhlciBwbHVnaW5zIGNyZWF0ZSB0aGUgZnJlaTByIGluc3RhbmNlcyBpbiBjcmVhdGUoKSBiZWZvcmUgcGxheWJhY2sgc3RhcnRzCgoyMDA5LTA2LTI5IDExOjU0OjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkgIGZyZWkwcjogSW4gdGhlIHNyYyBwbHVnaW5zIGNyZWF0ZSB0aGUgZnJlaTByIGluc3RhbmNlcyBpbiBjcmVhdGUoKSBiZWZvcmUgcGxheWJhY2sgc3RhcnRzCgoyMDA5LTA2LTI5IDExOjUwOjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkgIGZyZWkwcjogVXNlIGZpeGVkIGNhcHMgb24gdGhlIGZpbHRlciBwYWRzCgkgIFRoaXMgaXMgcmVxdWlyZWQgYmVjYXVzZSB3ZSBoYXZlIHRvIGNyZWF0ZSBhIG5ldyBmcmVpMHIKCSAgaW5zdGFuY2UgZm9yIGFueSBjYXBzIGNoYW5nZXMgYW5kIHRoZSBpbnN0YW5jZXMgY2FuIGhhdmUgaGlzdG9yeS4KCSAgSnVzdCBjcmVhdGluZyBhIG5ldyBpbnN0YW5jZSBkdXJpbmcgcGxheWJhY2sgY2FuIHJlc3VsdCBpbiBiYWQgb3V0cHV0CgkgIHJpZ2h0IGFmdGVyIHRoZSBjYXBzIGNoYW5nZS4KCjIwMDktMDYtMjcgMDk6NTE6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBTZXQgdGhlIGRlZmF1bHQgcHJvcGVydHkgdmFsdWVzIGNvcnJlY3RseQoKMjAwOS0wNi0yNiAxODozNTowNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBjb2RlIGNsZWFudXBzCgkgIERvd25ncmFkZSBhIFdBUk5JTkcgdG8gSU5GTy4gVXNlIGEgYml0IG1vcmUgY29tcGFjdCBjb2RlLiBBZGQgYSBmaXhtZSBjb21tZW50LgoKMjAwOS0wNi0yNiAxODozNDozNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBqdXN0IHJlZiBjYXBzLCB3ZSBkb24ndCBuZWVkIGEgd3JpdGFibGUgY29weQoKMjAwOS0wNi0yNiAxODozMzo0NyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBubyBuZWVkIHRvIHJlZiBhbmQgdW5yZWYgdGhpcyB0ZW1wb3JhcmlseQoKMjAwOS0wNi0yNiAxODozMjo0MCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBkb24ndCBsZWFrIHNpbmtfY2FwcyBpZiB0aGV5IHdvdWxkIGJlIGFueS1jYXBzCgoyMDA5LTA2LTI2IDE4OjMxOjUxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGRvbid0IGxlYWsgcHJldmlldyBpbWFnZXMKCjIwMDktMDYtMjYgMTg6MzA6MDEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZG9uJ3QgbGVhayB2aWV3ZmluZGVyLWNhcHMKCjIwMDktMDYtMjYgMTY6MDc6NDMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSAgY2FtZXJhYmluOiBtYWtlIHNob3Qyc2hvdCB0ZXN0IG1vcmUgcmVsaWFibGUKCSAgV2UgY2FuIG9ubHkgdHJpZ2dlciBuZXh0IHNob3QgKGluIHRoZSB0ZXN0KSB3aGVuIGN1cnJlbnQgaXMgY2FwdHVyZWQgYW5kIHNhdmVkLgoKMjAwOS0wNi0yNiAxMzoxMDoxMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJICBjYW1lcmFiaW46IGluc2VydCBhIGZldyBibGFuayBsaW5lcyBmb3IgcmVhZGFiaWxpdHkKCjIwMDktMDYtMjYgMTM6MDk6MjcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5jOgoJICBjYW1lcmFiaW46IGRvbid0IGxlYWsgbWVzc2FnZXMgYW5kIGVsZW1lbnQgcmVmcyBpbiBwcmV2aWV3CgoyMDA5LTA2LTI2IDE1OjEwOjA1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBhdXRvZ2VuLnNoOgoJICBhdXRvZ2VuLnNoOiBVc2UgcHJpbnRmIGluc3RlYWQgb2YgJ2VjaG8gLW4nLiBDaGVjayBmb3IgYXV0b21ha2UtMS4xWzAxXQoJICBDaGVjayBmb3IgbW9yZSBhdXRvbWFrZSBjb21tYW5kIHZhcmlhbnRzLiBVc2UgcHJpbnRmIGluc3RlYWQgb2YgJ2VjaG8gLW4nCgkgIGZvciBwb3J0YWJpbGl0eQoKMjAwOS0wNi0yNiAxMzo0Mjo1MSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmODEwMDMwIHRvIDU4NDViNjMKCjIwMDktMDYtMjYgMDk6MzA6MjIgKzAxMDAgIENoYW5nd29vIFJ5dSA8Y3dyeXVAZGViaWFuLm9yZz4KCgkqIGdzdC9mcmVlemUvTWFrZWZpbGUuYW06CgkgIGZyZWV6ZTogZG9uJ3QgYnVpbGQgcGx1Z2luIHN0YXRpYyBsaWIKCSAgUGFzcyAtLXRhZz1kaXNhYmxlLXN0YXRpYyB0byBsaWJ0b29sIGxpa2Ugd2UgZG8gZm9yIG90aGVyIHBsdWdpbnMuCgkgIEZpeGVzICM1ODcwMjMuCgoyMDA5LTA2LTI1IDEyOjMxOjMyIC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBVc2UgR1NUX1dBUk5JTkcgaW5zdGVhZCBvZiBmcHJpbnRmLgoKMjAwOS0wNS0zMCAxMToxODoyMSAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2x2Mi9SRUFETUU6CgkgIEFkZCBMVjIgcXVpY2sgc3RhcnQgUkVBRE1FLgoKMjAwOS0wNi0yNSAxOToyMzoxNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGRvbid0IGxlYWsgcmVxdWVzdHBhZHMKCSAgUmVxdWVzdHBhZHMgbmVlZCB0byBiZSByZWxlYXNlZCBhbmQgdW5yZWZmZWQuIEFkZCBhIGNvbW1lbnQgaW4gb25lIGNhc2Ugd2hlcmUKCSAgd2UgaW50ZW50aW9uYWx5IGRvbid0IHVucmVmLgoKMjAwOS0wNi0yNSAxOToyMTo0NyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJICBjYW1lcmFiaW46IHN5bmMgZmlyc3QgdGVzdCBtb3JlIHNhZmVseQoJICBEb24ndCB1c2UgZ3N0X2VsZW1lbnRfZ2V0X3N0YXRlKCkgdG8gd2FpdCBmb3IgUExBWUlORywgVXNlIHRoZSBidXMtaGFuZGxlcgoJICBpbnN0ZWFkZXIgYW5kIGFzeW5jaHJvbm91c2x5IHNjaGVkdWxlIG5leHQgdGVzdC4KCjIwMDktMDYtMjUgMTY6NDE6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZGVidWd1dGlsc2JhZC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuaDoKCSAgY2Fwc3NldHRlcjogaW1wb3J0IGVsZW1lbnQgaW50byAtYmFkCgoyMDA5LTA2LTI1IDA4OjM4OjIxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkgIHF0bXV4OiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlLgoKMjAwOS0wNi0yNSAwODozODoxMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogRml4IGRlYnVnIHN0YXRlbWVudC4KCjIwMDktMDYtMjQgMTg6NTY6MjggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSAgY2FtZXJhYmluOiBhZGQgdGFyZ2V0LXRpbWVzIG9wdGlvbiB0byBzcGVjaWZ5IHRlc3QgdGltZXMKCSAgSGF2ZSBzb21lIHJlYXNvbmFibGUgZGVmYXVsdCB0aW1lcy4gQWRkIGEgY29tbWFuZGxpbmUgb3B0aW9uIHRvIG92ZXJyaWRlCgkgIGRlZmF1bHRzLiBJbnRlcnByZXQgdGFyZ2V0LXRpbWU9MCBhcyBza2lwLXRlc3QuCgoyMDA5LTA2LTIzIDEzOjAxOjUyICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGJ1ZmZlci1hbGxvYyBzdXBwb3J0IGZpeGVzIHRvIGltYWdlIGFuZCB2aWRlbyBiaW4gaGFuZGxpbmcKCSAgS2VlcCBpbWFnZSBiaW4gaW4gUEFVU0VEIHN0YXRlIGluIGltYWdlIG1vZGUgZXhjZXB0IHdoZW4gcHJvY2Vzc2luZy9zYXZpbmcgKFBMQVlJTkcvUkVBRFkpLgoJICBDaGFuZ2Ugb3V0cHV0LXNlbGVjdG9yIHRvIHZpZXcgZmluZGVyIGJlZm9yZSBzZXR0aW5nIHZpZGVvIGJpbiB0byBSRUFEWS4KCSAgRml4IGZpbGVuYW1lIHNlbnQgd2l0aCBpbWctZG9uZSBzaWduYWwuCgoyMDA5LTA2LTIzIDEzOjAxOjEzICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uaDoKCSAgY2FtZXJhYmluOiBmaXggc2V0dGluZyBtdXRlIHdoZW4gdmlkZW8gYmluIGVsZW1lbnRzIGhhdmVuJ3QgYmVlbiBjcmVhdGVkCgoyMDA5LTA2LTE2IDE4OjEyOjI5ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHNldCBpbWFnZSBiaW4gdG8gUEFVU0VEIHdoZW4gc3RhcnRpbmcgY2FwdHVyZQoJICBTZXQgaW1hZ2UgYmluIHRvIFBBVVNFRCBhbHNvIHdoZW4gc3RhcnRpbmcgY2FwdHVyZSB1c2luZyBwaG90b2dyYXBoeQoJICBpbnRlcmZhY2UuCgoyMDA5LTA0LTIxIDEwOjU1OjM2ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGxlYXZlIHY0bDJjYW1zcmMgImNhcHR1cmUtbW9kZSIgYXMgdmlkZW8gbW9kZSB3aGVuIHBhdXNpbmcKCjIwMDktMDYtMjQgMTU6MTQ6MzMgKzAxMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmM2JiNTFiIHRvIGY4MTAwMzAKCjIwMDktMDYtMjIgMDM6NTU6MjcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkgIFZEUEFVOiBNb3ZlIEk0MjAvWVYxMiB0byB0aGUgZnJvbnQgb2YgdGhlIGNhcHMuIEFkZCBkZWJ1Zy4KCSAgTWFrZSBJNDIwL1lWMTIgY2FwcyBiZSBwcmVmZXJyZWQgd2hlbiBkb3dubG9hZGluZyB0byBZVVYgYnVmZmVycywKCSAgd2hlbiBwb3NzaWJsZSwgYnkgbGlzdGluZyB0aGVtIGZpcnN0IGluIHRoZSBzZXQgb2Ygb3V0cHV0IGNhcHMuCgkgIEFkZCBzb21lIGRlYnVnIGluIHRoZSBjYXBzIHNlbGVjdGlvbiBjb2RlLgoKMjAwOS0wNi0yMyAxODowMToxOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgIHh2aWRlbmM6IGFsc28gYWxsb3cgdmlkZW8vbXBlZyBvbiBvdXRwdXQgY2Fwcy4gIEZpeGVzICMzNzc3ODQuCgoyMDA5LTA2LTIzIDE4OjIzOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogQ29ycmVjdGx5IGhhbmRsZSAwLzEgZnBzCgoyMDA5LTA2LTIyIDIzOjUwOjQ5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5oOgoJKiBleHQvbHYyL01ha2VmaWxlLmFtOgoJKiBleHQvbHYyL2dzdGx2Mi5oOgoJICBzaWduYWxwcm9jZXNzb3I6IHVzZSAkKHRvcF9idWlsZGRpcikgaW5zdGVhZCBvZiByZWxhdGl2ZSBwYXRocwoKMjAwOS0wNi0yMiAyMzo0OTowMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSAgY2FtZXJhYmluOiBhZGQgbG9jYWwgaW5jbHVkZSBkaXIgdG8gQ0ZMQUdTCgoyMDA5LTA0LTI4IDIzOjI0OjQ1IC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuaDoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSogZXh0L2x2Mi9NYWtlZmlsZS5hbToKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L2x2Mi9nc3RsdjIuaDoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yLy5naXRpZ25vcmU6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkgIFdvcmtpbmcgTFYyIHBsdWdpbiBkaXNjb3ZlcnkuCgkgIC0gU2VwYXJhdGUgZ3N0c2lnbmFscHJvY2Vzc29yIGludG8gYSBzZXBhcmF0ZSBsaWJyYXJ5IChub3Qgc3VyZSBpZiB0aGlzCgkgIGlzIGluIHRoZSByaWdodCBwbGFjZSwgYnV0IGl0IHdvcmtzIGZvciBub3cgYW55d2F5KQoJICAtIENyZWF0ZSBMVjIgZWxlbWVudCBiYXNlZCBvbiBMQURTUEEgZWxlbWVudCwgcG9ydCBtb3N0IGRpc2NvdmVyeQoJICBmdW5jdGlvbmFsaXR5CgoyMDA5LTAzLTI5IDEzOjMxOjIxIC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5oOgoJICBGaXggaW5jb25zaXN0ZW50IHN0eWxlICh0cml2aWFsIHRlc3QgY29tbWl0KS4KCjIwMDktMDMtMjkgMTM6MjM6MDIgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQWRkIGNvbmZpZ3VyZSBjaGVjayBmb3IgU0xWMi4KCjIwMDktMDYtMjIgMjI6MDE6MjIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGRlYnVnIGxvZyBvbmx5IGNoYW5nZQoKMjAwOS0wNi0yMiAxODozNToyMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJICBtZXRhZGF0YTogbWFwIG1vcmUgdGFncyBhbmQgZml4IHJlYWRpbmcgb2YgeG1wIHRhZ3MKCSAgUmVnaXN0ZXIgeG1wIHNjaGVtYXMgZm9yIHBob3Rvc2hvcCBhbmQgaXB0Yy4gTWFwIGEgZmV3IGxvY2F0aW9uIHRhZ3MgdGhlcmUuCgkgIEFkZCBtb3JlIGRjIHRhZ3MuIEZpeCByZWFkaW5nIHhtcCB0YWcgYnkgaXRlcmF0aW9uIG92ZXIga25vd24gc2NoZW1hcy4gQWRkCgkgIHNvbWUgbW9yZSBkZWJ1ZyBsb2dnaW5nLgoKMjAwOS0wNi0xNiAxNzoxMjoyNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogbW9yZSBjbGVhbnVwIGluIHRlc3RzCgkgIEFkZCBtb3JlIGRlYnVnIGxvZ2dpbmcuIFJlbW92ZSB1bnVzZWQgbXV0ZXggYW5kIGNvbmQuCgoyMDA5LTA2LTEyIDE0OjI2OjI0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGNvZGUgY3J1ZnQgcmVtb3ZhbCBhbmQgZGVidWcgbG9ncwoJICBSZW1vdmUgdW51c2VkIGNvZGUuIEFkZCBsb3RzIG9mIGRlYnVnIGxvZ2luZy4gQ2hhbmdlIGNvbW1lbnRzIGZvciBsb2NhbAoJICBmdW5jdGlvbnMgdG8gbm90IHVzZSAvKiogZ3RrLWRvYyBzdGFydCBzdHlsZS4KCjIwMDktMDYtMTIgMTA6NDA6NDggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5nbGFkZToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuZ2xhZGU6CgkgIGNhbWVyYWJpbjogYWRkIGNhbWVyYWJpbiBleGFtcGxlcwoJICBnc3QtY2FtZXJhIGlzIGEgZ3RrLXRlc3QgYXBwIHRvIHBsYXkgd2l0aCB0aGUgaW1hZ2VjYXB0dXJlIGFuZCB2aWRlb3JlY29yZGluZy4KCSAgZ3N0LWNhbWVyYS1wZXJmIGlzIGEgdG9vbCB0byBydW4gdmFyaW91cyBzY2VuYXJpb3MgYW5kIHRha2UgdGltZSBtZWFzc3VyZW1lbnRzCgkgIChlLmcuIHNob3QtdG8tc2hvdCkuIEFsc28gc29ydCB0aGUgb3V0cHV0IGZpbGVzIGluIGNvbmZpZ3VyZS5hYyBhIGJpdCB0byBiZQoJICBpbiBhbHBoYWJldGljYWwgb3JkZXIuCgoyMDA5LTA2LTEwIDExOjE1OjAxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkgIG1ldGFkYXRhOiBmaXggY29udmVyc2lvbiBvZiBnZW8gY29vcmRpbmF0ZXMKCSAgQ29vcmRpbmF0ZSBjb252ZXJzaW9uIGhhcyBiZWVuIHZlcmlmaWVkIHdpdGggZXhpdjIgYW5kIHNvbWUgd2VicGFnZXMuCgkgIE1pbnV0ZXMgd2hlciB0b3RhbGx5IG9mZiBhbmQgc2Vjb25kcyB3ZXJlIG5vdCB1c2VkIGF0IGFsbC4KCjIwMDktMDYtMjIgMTE6MTk6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRldGVjdCBhbmQgZml4IGZvciBiYWQgTkFMVSBzaXplcwoJICB3aGVuIGluIEFWQyBtb2RlIGEgbmFsdSBzaXplIHNlZW1zIGludmFsaWQsIGFzc3VtZSB0aGUgTkFMVSBoYXMgdGhlIHNpemUgb2YgdGhlCgkgIGF2YWlsYWJsZSBkYXRhIGluc3RlYWQgb2YgbG9vcGluZyBmb3JldmVyLgoJICBGaXhlcyAjNTg2MzU0CgoyMDA5LTA2LTE5IDIxOjIwOjI2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSAgVkRQQVU6IEFkZCBzb21lIGRlYnVnIHN0YXRlbWVudHMKCjIwMDktMDYtMTggMTc6MDY6MjMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSAgVkRQQVU6IEZpeCBidWlsZCBmbGFncyB0byBwdWxsIGluIGdzdC1wbHVnaW5zLWJhc2UgbGlicwoKMjAwOS0wNi0xNSAxODozMzowNiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkgIFZEUEFVOiBSZWZhY3RvciB0aGUgZXJyb3IgcGF0aCB0byBhIGNvbW1vbiBvdXRwdXQsIGFuZCBmaXggYSBsZWFrLgoJICBEb24ndCBsZWFrIHRoZSBpbnB1dCBidWZmZXIgb24gZXJyb3JzLiBBZGQgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzLgoKMjAwOS0wNi0xNSAxODoyOTo1NiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSAgVkRQQVU6IEZpeCB1cCBjYXBzIGluIHZkcGF1bXBlZ2RlYy4gUmVtb3ZlIGV4dHJhIHNlbWljb2xvbgoJICBGaXggYSB0eXBvIGluIHRoZSBjYXBzIGZvciB0aGUgVkRQQVUgbXBlZyBkZWNvZGVyIChjaHJvbWFfdHlwZS0+Y2hyb21hLXR5cGUpCgkgIGFuZCB1c2UgdGhlIEdTVF9WRFBfVklERU9fQ0FQUyBmb3IgdGhlIHBhZCB0ZW1wbGF0ZS4KCSAgUmVtb3ZlIGEgc3RyYXkgc2VtaWNvbG9uLgoKMjAwOS0wNi0xMiAxNjozOTozOSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkgIFZEUEFVOiBFbmhhbmNlIHRoZSBjb25maWd1cmUgdGVzdHMKCSAgQ2hlY2sgZm9yIHRoZSBWRFBBVSBoZWFkZXJzIGluIC91c3IvaW5jbHVkZS9udmlkaWEgYXMgdGhleSBhcmUgb24gc29tZQoJICBwbGF0Zm9ybXMgKEZlZG9yYS9ycG1mdXNpb24pLiBBbHNvIGNoZWNrIHRoYXQgdGhlIGxpYnZkcGF1IGxpYnJhcnkgaXMKCSAgYXZhaWxhYmxlLgoKMjAwOS0wNi0wOSAyMzoxNDoyNiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1bXBlZ2RlYzogdXNlIGZpeGVkIHNyYyBjYXBzCgoyMDA5LTA2LTA4IDE0OjM1OjI5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuaDoKCSAgdmRwYXVtcGVnZGVjOiBkcm9wIGFsbCBmcmFtZXMgYmVmb3JlIGEgR09QIHdoZW4gd2Ugc2VlawoKMjAwOS0wNi0wOCAxNDoxNTowMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1bXBlZ2RlYzogc21hbGwgY2xlYW51cAoKMjAwOS0wNi0wNyAyMzo0NjozOCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uaDoKCSAgdmRwYXU6IHMvSVNfVkRQQVUvSVNfVkRQCgoyMDA5LTA2LTA3IDAxOjI1OjAxICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXVtcGVnZGVjOiBzZW5kIG5ld3NlZ21lbnQgZXZlbnQgaWYgb25seSB0aGUgcmF0ZSBoYXMgYmVlbiB1cGRhdGVkCgoyMDA5LTA2LTA3IDAxOjEyOjUwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuaDoKCSAgdmRwYXVtcGVnZGVjOiB1c2UgbXV0ZXggdG8gcHJvdGVjdCBtcGVnX2RlYy0+c2Vla2luZyBmcm9tIGNvbmN1cnJlbnQgYWNjZXNzCgoyMDA5LTA2LTA3IDAwOjU1OjU1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXVtcGVnZGVjOiB1c2UgZ3N0X3BhZF9nZXRfcGFyZW50IGZvciB0aHJlYWRzYWZldHkKCjIwMDktMDYtMDYgMjE6Mjc6NTIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdW1wZWdkZWM6IGZ1cnRoZXIgd29yayBvbiBzZWVraW5nCgoyMDA5LTA2LTA1IDIzOjExOjE4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmM6CgkgIHZkcGF1bXBlZ2RlYzogc21hbGwgY2xlYW51cHMKCjIwMDktMDYtMDUgMjI6Mjg6MDIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdW1wZWdkZWM6IHNldCBHU1RfQlVGRkVSX0ZMQUdfREVMVEFfVU5JVCBvbiBub24gSV9GUkFNRSdzCgoyMDA5LTA2LTA1IDIxOjQ4OjI4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSAgdmRwYXVtcGVnZGVjOiByZW5hbWUgZ3N0dmRwbXBlZ2RlY29kZXIuW2NoXSB0byBnc3R2ZHBtcGVnZGVjLltjaF0KCjIwMDktMDYtMDUgMjE6NDY6MDggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSAgdmRwYXVtcGVnZGVjOiByZW5hbWUgR3N0VmRwTXBlZ0RlY29kZXIgdG8gR3N0VmRwTXBlZ0RlYwoKMjAwOS0wNi0wNSAyMTo0MjozMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSAgdmRwYXVtcGVnZGVjOiBwYXNzIGJ1ZmZlciBzaXplIGRpcmVjdGx5IHRvIGdzdF92ZHBfbXBlZ19kZWNvZGVyX2RlY29kZQoKMjAwOS0wNi0wNSAyMToxODo0NyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IHNtYWxsIGNsZWFudXAKCjIwMDktMDYtMDUgMjE6MTY6NDggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkgIHZkcGF1bXBlZ2RlYzogY2FsY3VsYXRlIGJ5dGVyYXRlIGZyb20gdGhlIHNpemUgb2YgdGhlIGluY29taW5nIGRhdGEKCjIwMDktMDYtMDUgMTk6MDg6MjQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBwcmludCBmcmFtZV9uciBpbiBkZWJ1ZyBwcmludAoKMjAwOS0wNi0wNSAxODoyODoxNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGludGVybGFjZWQgZml4ZXMKCjIwMDktMDYtMDUgMTg6MTg6MzggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBvbmx5IHNldCBiYXNlIGR1cmF0aW9uIG9uY2UKCjIwMDktMDYtMDUgMTc6NTM6MTYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBkb24ndCBzZW5kIHRoZSBFVkVOVF9ORVdTRUdNRU5UIGRvd25zdHJlYW0gaWYgd2UncmUgc2Vla2luZwoKMjAwOS0wNi0wNSAxNzo0Mzo0OSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSAgdmRwYXVtcGVnZGVjOiBpbXBsZW1lbnQgc2Vla2luZwoKMjAwOS0wNi0wNSAxMTo1NDoxNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGNoYW5nZSBhIEdTVF9ERUJVRyB0byBHU1RfV0FSTklORwoKMjAwOS0wNi0wNSAxMTo1MjozMiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSAgdmRwYXVtcGVnZGVjOiByZW1vdmUgdW51c2VkIGJyb2tlbl9nb3AgZmllbGQKCjIwMDktMDYtMDUgMTE6NTE6NDEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBhZGQgbmV3IGdzdF92ZHBfbXBlZ19kZWNvZGVyX2ZsdXNoIGZvciBmbHVzaGluZyB0aGUgZGVjb2RlcgoKMjAwOS0wNi0wNSAxMToyNDozNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IHVzZSBHU0VfREVCVUdfRlVOQ1BUUgoKMjAwOS0wNi0wNSAxMToyMDo1NiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGRvbid0IGRyb3AgZGlzY29udCBidWZmZXJzCgoyMDA5LTA2LTA1IDExOjE3OjE2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmg6CgkgIHZkcGF1bXBlZ2RlYzogaGFuZGxlIEdTVF9RVUVSWV9QT1NJVElPTiBhbmQgR1NUX1FVRVJZX0RVUkFUSU9OCgoyMDA5LTA2LTA0IDIxOjE3OjQwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmg6CgkgIHZkcGF1bXBlZ2RlYzogY2FsY3VsYXRlIGNvcnJlY3QgZHVyYXRpb24gZnJvbSBkYXRhIGluIE1QRUdfUEFDS0VUX0VYVF9QSUNUVVJFX0NPRElORwoKMjAwOS0wNi0wNCAxOTozMDowMiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSAgdmRwYXVtcGVnZGVjOiBmaXggc28gdGhhdCB0aGUgZmlyc3QgZnJhbWUgaW4gYSByYXcgbXBlZ3ZpZGVvIHN0cmVhbSBnZXQgdGltZXN0YW1wIDAKCjIwMDktMDYtMDQgMTk6MTc6MTQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSAgdnBkYXVtcGVnZGVjOiByZW1vdmUgdXNlbGVzcyBHc3RWZHBEZWNvZGVyIGJhc2VjbGFzcwoKMjAwOS0wNi0wNCAxODoxMTowNiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmg6CgkgIHZkcGF1bXBlZ2RlYzogdXNlIEdzdEJpdFJlYWRlciB0byBwYXJzZSBiaXRzdHJlYW0KCjIwMDktMDUtMDYgMjM6MDc6MDAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC5jOgoJICB2ZHBhdTogY2hhbmdlIGVsZW1lbnQgcmFuayBmb3IgdGVzdGluZyBwdXJwb3NlcwoJICBzZXQgbXBlZ3ZpZGVvcGFyc2UgcmFuayB0byBwcmltYXJ5IGFuZCB2ZHBhdW1wZWdkZWMgdG8gcHJpbWFyeSAtIDEgdG8gZ2V0IHZkcGF1bXBlZ2RlYwoJICBjb3JyZWN0bHkgcGx1Z2dlZCBpbnRvIHBsYXliaW4KCjIwMDktMDUtMDUgMjM6MTk6NTYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdTogYWRkIGRlYnVnIG9uIEdzdFZkcERldmljZSBkZXN0cm95CgoyMDA5LTA1LTA1IDIzOjEzOjI1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogc21hbGwgY29kZSBjbGVhbnVwCgoyMDA5LTA1LTA1IDIzOjA4OjUxICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogcmVtb3ZlIHVubnVzZWQgR3N0VmRwQkZyYW1lIHN0cnVjdAoKMjAwOS0wNS0wNSAyMzowNzowNiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogZml4IHNtYWxsIHR5cG8gaW4gZGVidWcgcHJpbnQKCjIwMDktMDUtMDUgMTg6NTQ6MzEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5oOgoJICB2ZHBhdW1wZWdkZWM6IGZpeHVwIHRpbWVzdGFtcGluZyBvZiBvdXRnb2luZyBidWZmZXJzCgoyMDA5LTA1LTA1IDE4OjQ1OjA3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogZG9uJ3QgYWRkIGZvcndhcmRfcmVmZXJlbmNlIGlmIHRoZSBmcmFtZSBpcyBhbiBJX0ZSQU1FCgoyMDA5LTA1LTA1IDE4OjM3OjUwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogc2V0IGNvcnJlY3QgdGltZXN0YW1wcwoKMjAwOS0wNS0wNSAxNzozMDozMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSAgdmRwYXVtcGVnZGVjOiByZW1vdmUgdW5uZWVkZWQgbG9ja2luZyBzaW5jZSB3ZSBrbm93IGRvIFN0YXRlQ2hhbmdlIGNvcnJlY3RseQoKMjAwOS0wNS0wNSAxNzoyODoxOSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSAgcy9HU1RfVFlQRV9WRFBBVS9HU1RfVFlQRV9WRFAvZwoKMjAwOS0wNS0wNSAxNzoyMDoxNiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2Lmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5oOgoJICB2ZHBhdTogcy9HU1RfVFlQRV9WRFBBVS9HU1RfVFlQRV9WRFAvZwoKMjAwOS0wNS0wNSAxNzoxNTozMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGZpeHVwIHN0YXRlIGNoYW5nZQoKMjAwOS0wNS0wNSAxNjoyOToyNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSAgdmRwYXU6IGluaXQgInZkcGF1ZGV2aWNlIiBkZWJ1ZyBjYXRvZWdvcnkgaW4gZ3N0X3ZkcF9nZXRfZGV2aWNlCgoyMDA5LTA1LTA1IDA4OjExOjAzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogaG9sZCB0aGUgbG9jayBpbiBjaGFuZ2Vfc3RhdGUKCjIwMDktMDUtMDMgMjE6NTI6NDkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSAgdmRwYXVtcGVnZGVjOiB0aGUgQl9GUkFNRSBkZWNvZGluZyB3YXMgY29tcGxldGVseSB3cm9uZywgZml4IGl0CgkgIHRoZSBidWZmZXJzIGRvbid0IGNvbWUgaW4gb3V0cHV0IG9yZGVyIHNvIGZpeCB0aGUgZGVjb2RlciB0byBoYW5kbGUgdGhpcwoJICBhZGQgbmV3IGdzdF92ZHBfdmlkZW9fYnVmZmVyX2FkZF9yZWZlcmVuY2UgbWV0aG9kIHRvIEdzdFZkcFZpZGVvQnVmZmVyIHRvIGJlIGFibGUgdG8ga2VlcAoJICBidWZmZXJzIGFsaXZlLiBJZS4gYSBCX0ZSQU1FIG5lZWQgdG8gaGF2ZSBib3RoIHRoZSBmb3J3YXJkIHJlZmVyZW5jZSBhbmQgdGhlIGJhY2t3YXJkCgkgIHJlZmVyZW5jZSBhbGl2ZSBkdXJpbmcgaXQncyBsaWZldGltZS4KCSAgYWRkIG11dGV4IHRvIHByb3RlY3QgZm9yIHRocmVhZHNhZmV0eSBpc3N1ZXMgd2hlbiB3ZSByZXNldCB0aGUgZGVjb2RlciBpbiBGTFVTSF9TVE9QCgoyMDA5LTA0LTMwIDIxOjU4OjAxICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmM6CgkgIHZkcGF1bXBlZ2RlYzogc2V0IGZ1bGxfcGVsX2ZvcndhcmRfdmVjdG9yIHRvIDAgd2hlbiBwaWNfdHlwZSA9PSBQX0ZSQU1FCgoyMDA5LTA0LTI3IDIxOjMwOjU5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogZHJvcCBmcmFtZXMgaWYgd2UgaGF2ZW4ndCBnb3QgYW4gSV9GUkFNRSB5ZXQKCjIwMDktMDQtMjcgMjA6NTc6MTIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkgIHZkcGF1OiBzZXQgdmRwYXV2aWRlb3l1diBhbmQgdmRwYXV5dXZ2aWRlbyB0byBHU1RfUkFOS19QUklNQVJZCgoyMDA5LTA0LTI3IDIwOjUwOjExICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogZGVzdHJveSB0aGUgVmRwRGVjb2RlciBhbmQgcmVzZXQgdGhlIGRlY29kZXIgb24gc3RhdGUgY2hhbmdlCgoyMDA5LTA0LTI3IDIwOjQ1OjExICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJICB2ZHBhdTogZml4IGVycm9yIHdoZXJlIHdlIGZvcmdvdCB0byBwYXNzIGEgdHJhaWxpbmcgTlVMTCB0byBnX29iamVjdF9uZXcKCjIwMDktMDQtMjcgMjA6MjE6NDQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkgIHZkcGF1OiBjbG9zZSBkaXNwbGF5IG9uIGZpbmFsaXplCgoyMDA5LTA0LTI3IDIwOjE4OjUyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSAgdmRwYXU6IHNtYWxsIGZpeGVzCgkgIGluaXQgY3JlYXRlIEdzdFZkcERldmljZSBvbiBHU1RfU1RBVEVfQ0hBTkdFX1JFQURZX1RPX1BBVVNFRCBpbnN0ZWFkIG9mIG9uCgkgIEdTVF9TVEFURV9DSEFOR0VfTlVMTF9UTyBSRUFEWQoJICBhZGQgYmFjayBpbmNyZW1lbnRpbmcgb2YgZnJhbWVfbnIKCjIwMDktMDQtMjcgMjA6MTU6MDcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkgIHZkcGF1OiB1c2UgZ19vbmNlX2luaXRfZW50ZXIgaW5zdGVhZCBvZiBnX29uY2UKCjIwMDktMDQtMjcgMTg6MzQ6NTMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBpZiBhdmFpbGFibGUgdXNlIGluY29taW5nIGJ1ZmZlciB0aW1lc3RhbXAgYXMgb3V0cHV0IHRpbWVzdGFtcAoKMjAwOS0wNC0yNyAxNToxMjoyNiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGNsZWFyIHRoZSBhZGFwdGVyIHdoZW4gd2UgcmVzZXQgdGhlIGRlY29kZXIKCjIwMDktMDQtMjYgMjM6MjU6MzMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5oOgoJICB2ZHBhdTogZml4dXAgcmVuYW1pbmcKCSAgdGhlIHJlbmFtZSB3b3JrIGRvbmUgaW4gY29tbWl0IDI0Y2Y4NGQwNmIyZjRiMmVkZWMzMzgzYjE5ODQ0MWEwNzgyOTYxOGIgZGlkbid0CgkgIGluY2x1ZGUgdHlwZWNhc3RzLiBUaGlzIGNvbW1pdCBmaXhlcyB0aGlzLgoKMjAwOS0wNC0yNiAyMzoyMDozMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IHJlc2V0IGRlY29kZXIgb24gR1NUX0VWRU5UX0ZMVVNIX1NUT1AKCjIwMDktMDQtMjYgMjI6MDU6MTEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiByZXNldCBkZWNvZGVyIHdoZW4gd2UgZ2V0IGEgZGlzY29udCBidWZmZXIKCjIwMDktMDQtMjYgMjA6NDA6NDUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBhZGQgIk1QRUdfUEFDS0VUX0VYVF9QSUNUVVJFX0NPRElORyIgZGVidWcgc3RhdGVtZW50CgoyMDA5LTA0LTIyIDIzOjM1OjA3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmg6CgkgIHZkcGF1bXBlZ2RlYzogaGFuZGxlIGJyb2tlbl9nb3AgZmllbGQKCjIwMDktMDQtMjIgMjE6MDQ6NTggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSAgdmRwYXVtcGVnZGVjOiBjb252ZXJ0IGFsbCBtYW51YWwgcGFyc2luZyB0byB1c2UgcmVhZF9iaXRzIGluc3RlYWQKCjIwMDktMDQtMjIgMjA6Mjg6MTkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiByZW1vdmUgdW5uZWRlZCBnc3RfYnVmZmVyX3JlZiBhbmQgdGhlIGFjY29tcGFueWluZyBnc3RfYnVmZmVyX3VucmVmCgoyMDA5LTA0LTIyIDIwOjI1OjU1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogZml4dXAgZXJyb3Igd2hlcmUgd2Ugc2V0IGZvcndhcmRfcmVmZXJlbmNlIGluc3RlYWQgb2YgYmFja3dhcmRfcmVmZXJlbmNlCgoyMDA5LTA0LTE2IDIzOjQzOjI0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSAgdmRwYXVtcGVnZGVjOiBoYW5kbGUgbXVsdGlwbGUgQl9GUkFNRXMgaW4gYSByb3cKCjIwMDktMDQtMTYgMjI6MzA6MjcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBtb3JlIEJfRlJBTUUgd29yawoKMjAwOS0wNC0xNiAyMjowNjo1MCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSAgdmRwYXVtcGVnZGVjOiBpbml0YWwgc3VwcG9ydCBhdCBoYW5kbGluZyBCX0ZSQU1FUwoKMjAwOS0wNC0xNSAyMzo0OTowNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGZpeHVwIEdzdEZsb3dSZXR1cm4gcHJvcGFnYXRpb24gYSBiaXQKCjIwMDktMDQtMTUgMjM6Mzg6NTMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmM6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5oOgoJICB2ZHBhdW1wZWdkZWM6IHBhcnNlIFBJQ1RVUkVfQ09ESU5HX0VYVEVOU0lPTiBhbHRlcm5hdGVfc2NhbiBiaXQKCjIwMDktMDQtMTUgMjM6MzE6MzMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmM6CgkgIHZkcGF1bXBlZ2RlYzogZml4dXAgcXVhbnRtYXRyaXggZXh0ZW5zaW9uIHBhcnNpbmcKCjIwMDktMDQtMTUgMTg6MTc6NTQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBjb3JyZWN0IHNvbWUgZGVmYXVsdCB2YWx1ZXMKCSAgbXBlZzEgbm93IGdpdmUgbmVhcmx5IGNvcnJlY3Qgb3V0cHV0IDopCgoyMDA5LTA0LTE1IDE3OjUyOjI3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkgIHZkcGF1bXBlZ2RlY29kZXI6IHJlbW92ZSB1bnVzZWQgc2xpY2UgZmllbGQKCjIwMDktMDQtMTQgMjM6NDc6NDAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSAgdmRwYXU6IHJlbmFtZSAidmlkZW8vdmRwYXUtdmlkZW8iIGNhcHMgdG8gInZpZGVvL3gtdmRwYXUtdmlkZW8iCgoyMDA5LTA0LTE0IDIxOjA3OjMyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuaDoKCSAgdmRwYXU6IHJlbW92ZSAic2lsZW50IiBwcm9wZXJ0eSBmcm9tIEdzdFZkcERlY29kZXIKCjIwMDktMDQtMTQgMjE6MDU6NDQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJICB2ZHBhdTogZG9uJ3Qgc2V0IGVsZW1lbnQgZGV0YWlscyBpbiBHc3RWZHBEZWNvZGVyCgoyMDA5LTA0LTE0IDIxOjA0OjU5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjb2RlcjogcmVuYW1lIHRvICJ2ZHBhdW1wZWdkZWMiCgoyMDA5LTA0LTE0IDE5OjA4OjUzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdW1wZWdkZWNvZGVyOiByZW1vdmUgdW5uZWNlc2FyeSB3YW50X3NsaWNlIGZpZWxkCgoyMDA5LTA0LTEzIDIyOjIxOjAzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC5jOgoJICB2ZHBhdTogc21hbGwgY29zbWV0aWNhbCBmaXgKCjIwMDktMDQtMTMgMjI6MTk6MjAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXZpZGVveXV2Lmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXl1dnZpZGVvLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXl1dnZpZGVvLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmg6CgkgIHZkcGF1OiByZW5hbWUgYWxsIGZpbGVzIGFuZCBvYmplY3RzIGZyb20gVmRwYXUgdG8gVmRwCgoyMDA5LTA0LTEzIDIxOjIzOjM4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSAgdmRwYXU6IGRlY29kZSBzbGljZXMgd2hlbiB3ZSBnZXQgdGhlIG5leHQgcGljdHVyZSBoZWFkZXIuIE1QRUcyIG5vdyBraW5kb2Ygd29ya3MuCgoyMDA5LTA0LTEzIDIxOjExOjU0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmM6CgkgIHZkcGF1OiBzbWFsbCBpbXByb3ZlbWVudCB0byBtcGVnIGRlY29kZXIKCjIwMDktMDQtMTMgMjA6MDQ6MjEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW95dXYuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1eXV2dmlkZW8uYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1eXV2dmlkZW8uaDoKCSAgdmRwYXU6IHJlbW92ZSB1bnVzZWQgInNpbGVudCIgcHJvcGVydGllcwoKMjAwOS0wNC0xMyAxOTozNjo1MyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXl1dnZpZGVvLmM6CgkgIHZkcGF1OiBpbXBsZW1lbnQgR3N0VmRwYXVWaWRlb0J1ZmZlciAtPiBJNDIwIGNvbnZlcnNpb24KCjIwMDktMDQtMDkgMTY6NTQ6MjcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1eXV2dmlkZW8uYzoKCSAgdmRwYXU6IG1vdmUgZGVmaW5pdGlvbiBvZiB0aGUgVmRwQ2hyb21hVHlwZSBhcnJheSBhbmQgdGhlIFZkcGF1Rm9ybWF0cyB0byBnc3RkZXZpY2UuaAoKMjAwOS0wNC0wNyAyMTo1MTo0OCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1OiBzbWFsbCBmaXgKCSAgc2V0IHZkcF9pbmZvLmZvcndhcmRfcmVmZXJlbmNlIHRvIFZEUF9JTlZBTElEIGhhbmRsZSB3aGVuIHVucmVmZmluZyB0aGUgb2xkCgkgIGJ1ZmZlcgoKMjAwOS0wNC0wNyAyMDo0Njo0OSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGF1LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1eXV2dmlkZW8uYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1eXV2dmlkZW8uaDoKCSAgdmRwYXU6IGFkZCBuZXcgR3N0VmRwYXVZVVZWaWRlbyBlbGVtZW50CgkgIHRoZSBHc3RWZHBhdVlVVlZpZGVvIGVsZW1lbnQgdGFrZXMgcmF3IFlVViB2aWRlbyBhbmQgb3V0cHV0cwoJICBHc3RWZHBhdVZpZGVvQnVmZmVycwoKMjAwOS0wNC0wNCAyMjo0NTowOSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXZpZGVveXV2LmM6CgkgIHZkcGF1OiBWaWRlb1lVViB1bnJlZiBidWZmZXIgaW4gY2hhaW4gc28gdGhhdCB3ZSBkb24ndCBsZWFrIHRoZW0gTXBlZ0RlY29kZXIgcGFyc2Ugc2VxdWVuY2UgaGVhZGVycwoKMjAwOS0wNC0wNCAyMjowNToxMSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSAgdmRwYXU6IHJlbW92ZSBzb21lIHVubmVkZWQgaW5jbHVkZXMKCjIwMDktMDQtMDQgMjI6MDM6MjMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXZpZGVveXV2LmM6CgkgIHZkcGF1OiBtb3ZlIHBsdWdpbiBkZWZpbml0aW9uIHRvIGEgbmV3IGdzdHZkcGF1LmMgZmlsZSBmaXggdXAgZGVidWcgY2F0ZWdvcmllcwoKMjAwOS0wNC0wNCAyMDo1MzozNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXZpZGVveXV2Lmg6CgkgIHZkcGF1OiBhZGQgbmV3IEdzdFZkcGF1VmlkZW9ZVVYgZWxlbWVudAoJICBHc3RWZHBhdURlY29kZXIgbm93IHB1c2hlcyBHc3RWZHBhdVZpZGVvQnVmZmVycyBpbnN0ZWFkIG9mIGRvaW5nCgkgIFZkcFN1cmZhY2UgLT4gWVVWIGNvbnZlcnNpb24uIFRvIGdldCBZVVYgZGF0YSB5b3Ugbm93IHB1dCBpbiBhIEdzdFZkcGF1VmlkZW9ZVVYKCSAgZWxlbWVudCB3aGljaCB0YWtlcyBHc3RWZHBhdVZpZGVvQnVmZmVycyBhbmQgb3V0cHV0cyBZVVYgZGF0YS4KCjIwMDktMDQtMDMgMTc6NTk6MDIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdTogc21hbGwgaW5kZW50IGZpeAoKMjAwOS0wNC0wMyAxNzo1ODoyNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRldmljZS5jOgoJICB2ZHBhdTogcmVtb3ZlIG9ib3NvbGV0ZSBGSVhNRSBhbmQgc29tZSBkZWJ1ZyBwcmludHMgZnJvbSBnc3R2ZHBhdWRldmljZS5jCgoyMDA5LTA0LTAzIDE3OjUzOjIxICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdC12ZHBhdS1kZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGV2aWNlLmg6CgkgIHZkcGF1OiBjb21taXQgcmVuYW1lIG9mIGdzdC12ZHBhdS1kZXZpY2UuaCB0byBnc3R2ZHBhdWRldmljZS5oCgoyMDA5LTA0LTAzIDE3OjUyOjIwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdC12ZHBhdS1kZXZpY2UuYzoKCSAgdmRwYXU6IHJlbW92ZSBnc3QtdmRwYXUtZGV2aWNlLmMKCjIwMDktMDQtMDMgMTc6NTE6MTYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGV2aWNlLmM6CgkgIHZkcGF1OiByZW5hbWUgZ3N0LXZkcGF1LWRldmljZS5bY2hdIHRvIGdzdHZkcGF1ZGV2aWNlLltjaF0KCjIwMDktMDQtMDEgMjE6NDI6NTYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuaDoKCSAgdmRwYXU6IGNoYW5nZSBhbGwgcmVmZXJlbmNlcyBvZiAiZ3N0X3ZkcGF1ZGVjb2RlcioiIHRvICJnc3RfdmRwYXVfZGVjb2RlciIKCjIwMDktMDQtMDEgMjE6NDA6MTQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1OiBtYWtlIHRoZSBkZWNvZGVyIGNsZWFuIHVwIGFmdGVyIGl0c2VsZgoKMjAwOS0wNC0wMSAyMToyNjo0NSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSAgdmRwYXU6IHJlbW92ZSBleHRyYSBcIGZyb20gTWFrZWZpbGUuYW0KCjIwMDktMDQtMDEgMjE6MTk6MTggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3QtdmRwYXUtZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3QtdmRwYXUtZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdTogYWRkIGdzdHZkcGF1ZGV2aWNlIGZvciBhYnN0cmFjdGluZyB2ZHBhdSBpbml0YWxpemF0aW9uCgoyMDA5LTAzLTMxIDIyOjU0OjE0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuaDoKCSAgdmRwYXU6IHJlbW92ZSBjb21tZW50CgoyMDA5LTAzLTMxIDIyOjUzOjQwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmM6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5oOgoJICB2ZHBhdTogTVBFRzEgZGVjb2Rpbmcga25vdyBnaXZlcyByZWNvZ25pemFibGUgb3V0cHV0CgoyMDA5LTAzLTI5IDE1OjI4OjA2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuaDoKCSAgdmRwYXU6IGNyZWF0ZSBWZHBEZWNvZGVyIGluIHNldF9jYXBzIGFkZCBtb3JlIGZ1bmN0aW9ucyBmb3IgcGFyc2luZyBtcGVnCgoyMDA5LTAzLTI3IDE3OjExOjA0ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L3ZkcGF1dmFyaWFibGVzLmg6CgkgIHZkcGF1OiBzdG9yZSB2ZHBhdSBmdW5jdGlvbiBwb2ludGVycyBpbiBhIGxvY2FsIHN0cnVjdHVyZQoKMjAwOS0wMy0yNyAxNjo1NToxOSArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmg6CgkgIHZkcGF1OiBleHRyYWN0IG1wZWcyIHByb2ZpbGUgZnJvbSBjb2RlY19kYXRhCgoyMDA5LTAzLTI2IDIxOjA0OjQ4ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmg6CgkgIHZkcGF1OiBleHRyYWN0IG1wZWcgdmVyc2lvbgoKMjAwOS0wMy0yNSAyMDo0MTo0NiArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWgyNjRkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWgyNjRkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1OiBhZGQgdmVyc2lvbiBzcGVjaWZpY2F0aW9uIHRvIG1wZWdkZWNvZGVyIGNhcHMKCjIwMDktMDMtMjUgMjA6Mzg6MjcgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmg6CgkgIHZkcGF1OiBmb2N1cyBvbiBtcGVnIGluc3RlYWQgb2YgaDI2NAoKMjAwOS0wMy0yNSAxOTo1OTowNiArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvdmRwYXV2YXJpYWJsZXMuaDoKCSAgdmRwYXU6IHJvdWdoIHRyeSBhdCBpbXBsZW1lbnRpbmcgcHVzaGluZiBvZiBZVjEyIGJ1ZmZlcnMKCjIwMDktMDMtMjQgMjI6MjY6NTYgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkgIHZkcGF1OiByZW1vdmUgb2Jzb2xldGUgY29tbWVudAoKMjAwOS0wMy0yMyAyMTozNjo1NSArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvdmRwYXV2YXJpYWJsZXMuaDoKCSAgdmRwYXU6IGluaXQgdmRwYXUgaW4gR1NUX1NUQVRFX0NIQU5HRV9OVUxMX1RPX1JFQURZIGFkZCBnc3RfdmRwYXVkZWNvZGVyX3B1c2hfdmlkZW9fc3VyZmFjZSB0byB2ZHBhdWRlY29kZXIuaAoKMjAwOS0wMy0yMyAyMDo0NzowMCArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJICB2ZHBhdTogYWRkIHN0dWJzIGZvciBwdXNoaW5nIFZkcFZpZGVvU3VyZmFjZXMgdG8gdGhlIHNyYyBwYWQKCjIwMDktMDMtMjEgMjI6MDY6MTIgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVoMjY0ZGVjb2Rlci5jOgoJICB2ZHBhdTogdXBkYXRlIFZkcGF1SDI2NERlY29kZXIgZWxlbWVudCBkZXNjcmlwdGlvbgoKMjAwOS0wMy0yMCAyMToyNjoxMSArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSAgdmRwYXU6IGNoYW5nbGUgZ3N0dmRwYXVkZWNvZGVyLmMgY2xhc3NpZmljYXRpb24KCjIwMDktMDMtMjAgMjE6MjQ6NDAgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVoMjY0ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVoMjY0ZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvdmRwYXV2YXJpYWJsZXMuaDoKCSAgdmRwYXU6IGltcGxlbWVudCBkb3duc3RyZWFtIGNhcHMgbmVnb3RpYXRpb24KCjIwMDktMDMtMTUgMjE6MjM6MzUgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkgIHZkcGF1OiBzbWFsbCBpbmRlbnRhdGlvbiBmaXgKCjIwMDktMDMtMTUgMjE6MjE6NDkgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJICB2ZHBhdTogYWRkIGJhc2ljIGJhc2UgY2xhc3MgZm9yIHZkcGF1IGRlY29kZXJzCgoyMDA5LTAzLTE0IDEwOjQzOjI4ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSAgYWRkIG5ldyB2ZHBhdSBkaXJlY3RvcnkKCjIwMDktMDYtMTkgMTk6MDk6MTkgKzAyMDAgIEJyYW5rbyBTdWJhc2ljIDxicmFua28uc3ViYXNpYyBhdCBheGlzLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbl9idWZmZXJfbGlzdC5jOgoJICBydHBiaW46IGFkZCBzdXBwb3J0IGZvciBidWZmZXItbGlzdAoJICBBZGQgc3VwcG9ydCBmb3Igc2VuZGluZyBidWZmZXItbGlzdHMuCgkgIEFkZCB1bml0IHRlc3QgZm9yIHRlc3RpbmcgdGhhdCB0aGUgYnVmZmVyLWxpc3QgcGFzc2VkIHRocm91Z2ggcnRwYmluLgoJICBmaXhlcyAjNTg1ODM5CgoyMDA5LTA2LTE4IDEyOjEzOjI4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogQURJRjogZG8gbm90IHNlbmQgYm9ndXMgdGltZXN0YW1wcywgbGVhdmUgdG8gZG93bnN0cmVhbSAoZGVjb2RlcikKCjIwMDktMDYtMTEgMTU6NTQ6NDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IG9ubHkgdXNlICg2NC1iaXQpIGV4dGVuZGVkIChtZGF0KSBhdG9tIHNpemUgaWYgbmVlZGVkLiAgRml4ZXMgIzU4NTMxOS4KCjIwMDktMDYtMTAgMTQ6NDY6MTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBzZXQgZGVmYXVsdCBtb3ZpZSB0aW1lc2NhbGUgdG8gbWljcm9zZWNvbmQgdW5pdHMKCjIwMDktMDYtMTAgMTM6MjQ6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkgIHF0bXV4OiBjb21wcmVzcy9vcHRpbWl6ZSBzdHNjIHdyaXRpbmcKCjIwMDktMDYtMTAgMTI6NDI6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IGFkZCAzR1Agc3R5bGUgdGFnZ2luZyAoYW5kIHJlZmFjdG9yIGFwcHJvcHJpYXRlbHkpCgoyMDA5LTA2LTAxIDIzOjAwOjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXggKGFuZCB2YXJpYW50cyk6IGhhbmRsZSBwaXhlbC1hc3BlY3QtcmF0aW8uICBGaXhlcyAjNTg0MzU4LgoKMjAwOS0wNi0xOSAxNzowNDoxMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBGaXggcHJldmlvdXMgY29tbWl0IHNvIHRoYXQgdGhpbmdzIHN0aWxsIHdvcmsgd2l0aCBkZWJ1ZyBsb2dzIGVuYWJsZWQKCjIwMDktMDYtMTkgMTY6MjE6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIE1ha2UgYnVpbGQgd2l0aG91dCB3YXJuaW5ncyB3aXRoIGRlYnVnZ2luZyBkaXNhYmxlZAoKMjAwOS0wNi0xNiAyMTozNDo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkgIGZyZWkwcjogTWFrZSBwbHVnaW4gc2Nhbm5pbmcgbW9yZSByb2J1c3QKCjIwMDktMDYtMTYgMjE6Mjc6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBNYWtlIHN1cmUgdG8gb25seSByZWdpc3RlciBwbHVnaW5zIHRoYXQgaGF2ZSB2YWxpZCBwcm9wZXJ0IHR5cGVzCgoyMDA5LTA2LTE2IDE5OjQyOjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSAgZnJlaTByOiBSZW1vdmUgY3VzdG9tIGdldF91bml0X3NpemUgaW1wbGVtZW50YXRpb24KCSAgVGhpcyBpcyBhbHJlYWR5IGhhbmRsZWQgYnkgdGhlIGRlZmF1bHQgb25lIGZyb20gR3N0VmlkZW9GaWx0ZXIKCjIwMDktMDYtMTUgMTc6MDU6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSAgZnJlaTByOiBGaXggdGhlIGtsYXNzIG9mIHRoZSBmaWx0ZXIgZWxlbWVudHMKCjIwMDktMDYtMTQgMTk6NDE6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJICBmcmVpMHI6IEZyZWUgdHlwZSBuYW1lcwoKMjAwOS0wNi0xNCAxOTozNToyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkgIGZyZWkwcjogVW5yZWYgdGhlIEdzdENvbGxlY3RQYWRzIGluc3RhbmNlIG9uIGZpbmFsaXplCgoyMDA5LTA2LTE0IDE5OjI3OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkgIGZyZWkwcjogRG9uJ3QgYWxsb3cgY2FwcyBjaGFuZ2VzIGluIFBMQVlJTkcvUEFVU0VECgkgIE1vc3QgZnJlaTByIHNvdXJjZSBwbHVnaW5zIGdlbmVyYXRlIG91dHB1dCBiYXNlZCBvbgoJICBwcmV2aW91cyBvdXRwdXQgYW5kIGNyZWF0aW5nIGEgbmV3IGluc3RhbmNlIG9uIGNhcHMKCSAgY2hhbmdlcyB3aWxsIGxldCB0aGUgb3V0cHV0IHN0YXJ0IGF0IDAgYWdhaW4uCgoyMDA5LTA2LTE0IDE5OjIxOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5oOgoJICBmcmVpcjA6IEFkZCBzdXBwb3J0IGZvciBmcmVpMHIgbWl4ZXIgcGx1Z2lucwoKMjAwOS0wNi0xMyAxMDowNjo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJICBmcmVpMHI6IERlc3Ryb3kgdGhlIGYwcl9pbnN0YW5jZV90IGluIHN0b3AoKQoKMjAwOS0wNi0xMiAyMjowNDoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJICBmcmVpMHI6IEFkZCB0aGUgZnJlaTByIHBsdWdpbiB0eXBlIHRvIHRoZSBlbGVtZW50IG5hbWUKCSAgVGhpcyBtYWtlcyBpdCBlYXNpZXIgdG8gZGlzdGluZ3Vpc2ggZ2VuZXJhdG9ycyBmcm9tIGZpbHRlcnMsIGV0YwoKMjAwOS0wNi0xMiAyMjowMDoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5oOgoJICBmcmVpMHI6IEFkZCBzdXBwb3J0IGZvciBmcmVpMHIgc291cmNlL2dlbmVyYXRvciBwbHVnaW5zCgoyMDA5LTA2LTEyIDE1OjEzOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogQWxsb3cgdGhlIGNvbXBsZXRlIGRvdWJsZSByYW5nZSBmb3IgZG91YmxlIHByb3BlcnRpZXMKCSAgVGhlIHNwZWMgcmVzdHJpY3RzIGl0IHRvIFswLDFdIGJ1dCBzb21lIHBsdWdpbnMgYXJlIHVzaW5nIHRoZQoJICBjb21wbGV0ZSBkb3VibGUgcmFuZ2UuCgoyMDA5LTA2LTEyIDE1OjA3OjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogVXNlIGJldHRlciBwcm9wZXJ0eSBuaWNrcwoKMjAwOS0wNi0xMiAxNDo1OToyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9mcmVpMHIvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVpMHIvZnJlaTByLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmg6CgkgIGZyZWkwcjogRmlyc3QgdmVyc2lvbiBvZiBhIGZyZWkwciB3cmFwcGVyIHBsdWdpbgoJICBDdXJyZW50bHkgdGhpcyBvbmx5IHN1cHBvcnRzIGZyZWkwciBmaWx0ZXJzLgoKMjAwOS0wNi0xNCAyMDowMDo1MSArMDIwMCAgTWF4aW1pbGlhbiBIw7ZnbmVyIDxwYm1heGlAaG9lZ25lcnMuZGU+CgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IEV4cGxpY2l0ZWx5IGNhc3QgdG8gc2lnbmVkIGludGVnZXJzIHRvIGZpeCBhIHNlZ2ZhdWx0CgkgIEZpeGVzIGJ1ZyAjNTg1NjYwLgoKMjAwOS0wNi0wOSAxOToxNDo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJICBzaGFwZXdpcGU6IEltcGxlbWVudCBiYXNpYyBRb1MKCSAgVGhpcyBjaGFuZ2UgaXMgYmFzZWQgb24gVGltJ3MgUW9TIGltcGxlbWVudGF0aW9uCgkgIGZvciBqcGVnZGVjLgoKMjAwOS0wNi0wOSAxODo0NToxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IFByb3h5IHF1ZXJpZXMgb24gdGhlIHZpZGVvIHBhZHMgdG8gdGhlIGNvcnJlY3QgcGVlcnMKCjIwMDktMDYtMDkgMTg6Mzc6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBQcm94eSBidWZmZXJhbGxvYyBvbiB0aGUgdmlkZW8gc2lua3BhZAoKMjAwOS0wNi0wOSAxODoyNToxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IFRyeSB0byB3b3JrIGlucGxhY2UgaWYgcG9zc2libGUKCSAgVGhpcyBzYXZlcyBvbmUgbmV3LCBsYXJnZSBhbGxvY2F0aW9uIHBlciBmcmFtZSBmb3IgdGhlCgkgIG1vc3QgY2FzZXMuCgoyMDA5LTA2LTE2IDE4OjQ2OjQ5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IGZpeCBzdHJheSBzZW1pY29sb25zIHRoYXQgbWVzcyB1cCBpZiBzdGF0ZW1lbnQKCjIwMDktMDYtMTEgMTM6NDI6MjAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBkb2NzOiBCdW1wIGNvbW1vbiB0byBjb3JyZWN0IHVwbG9hZC1kb2MubWFrLCBmaXggYSBjb21tZW50IGluIHRoZSBkb2MgTWFrZWZpbGUKCjIwMDktMDYtMTggMjA6MzM6MDAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuMTMuMQoKMjAwOS0wNi0xOCAwODo1MzoxMiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkgIEFkZCAwLjEwLjEzIHJlbGVhc2UgZW50cnkgdG8gdGhlIGRvYXAgZmlsZQoKPT09IHJlbGVhc2UgMC4xMC4xMyA9PT0KCjIwMDktMDYtMTggMDg6Mjk6NTYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhkZ21pbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjEzCgoyMDA5LTA2LTE3IDIxOjU2OjU2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDktMDYtMTYgMTc6MDk6MjYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSAgY2FtZXJhYmluOiByZXNldCBmaWxlbmFtZSBhZnRlciBjYXB0dXJlIHRvIGF2b2lkIHJhY3kgd2hlbiBjYXB0dXJpbmcgYWdhaW4KCSAgSWYgd2UgZG9uJ3QgcmVzZXQgdGhlIGZpbGVuYW1lIHdlIGNhbm5vdCBjaGVjayBpZiB3ZSBzdGlsbCBleHBlY3QgdGhlIGZpbGVuYW1lCgkgIGZvciBhIHN1YnNlcXVlbnQgY2FwdHVyZSBwYXNzLiBUaGUgaW1hZ2ViaW4gd291bGQgZ29vZCB0byBwYXVzZWQgYW5kIHdlIHNldCB0aGUKCSAgZmlsZW5hbWUgaW4gdGhhdCBzdGF0ZS4gVGhpcyB0cmlnZXJzIGFuIGVycm9yLW1lc3NhZ2UgYW5kIHdvdWxkIGNhcHR1cmUgdG8gdGhlCgkgIG9sZCBmaWxlbmFtZS4KCjIwMDktMDYtMTIgMTA6Mjk6MjAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBjbGVhbnVwcyBpbiB0aGUgdGVzdHMKCSAgU3ByaW5rbGUgbW9yZSBsb2dnaW5nIHRvIG1ha2UgaXQgZWFzaWVyIHRvIGZvbGxvdy4gU3BlY2lmeSBhIGxvdyBmcmFtZXJhdGUgYW5kCgkgIGNhcHR1cmUgcmVzb2x1dGlvbiB0byBhdm9pZCB0ZXN0cyB0aW1pbmcgb3V0LiBNYWtlIHRoZSBzaW5rcyBzeW5jIHRvIHRlc3QgY2xvc2VyCgkgIHRvIHJlYWxpdHkuIEZpeCBNYWtlZmlsZSB0byB1c2UgdW5pbnN0YWxsZWQgaW50ZXJmYWNlLgoKMjAwOS0wNi0xMiAxMDoyNjozMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHNldCBpbWFnZWJpbiB0byBQQVVTRUQgb24gY2FwdHVyZSBhbmQgZGVsYXllZCBmaWxlbmFtZSBzZXR0aW5nCgkgIFdlIG5lZWQgdG8gc2V0IGltYWdlYmluIHRvIFBBVVNFRCB0byBub3QgZmFpbCB0aGUgYnVmZmVyYWxsb2MuIFdlIGFsc28gbmVlZCB0bwoJICBrZWVwIHRoZSBmaWxlc2lua3Mgc3RhdGUgbG9ja2VkIHVudGlsIHdlIGhhdmUgdGhlIGZpbGVuYW1lIGZvciB0aGUgcnVuLgoKMjAwOS0wNi0xMiAxMDoxNDoyNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIG91dHB1dHNlbGVjdG9yOiBkbyB0aGUgcGFkX2FsbG9jIGZvciB0aGUgcGFkIHRoYXQgaXMgcGVuZGluZyBhbmQgaGF2ZSBhIGZhbGxiYWNrCgkgIFdlIHNob3VsZCBkbyB0aGUgcGFkX2FsbG9jIGZvciB0aGUgcGVuZGluZyBwYWQgaWYgYW55LCBhcyB3ZSB3aWxsIHN3aXRjaCB0byB0aGF0CgkgIHBhZCBvbiBuZXh0IF9jaGFpbigpIGNhbGwuIEFsc28gZG8gYSBmYWxsYmFjayBhbGxvYywgaWYgdGhlcmUgaXMgbm8gb3V0cHV0IHlldCB0bwoJICBub3QgZmFpbCBzdGF0ZSB0cmFuc2l0aW9ucyBpbiBkeW5hbWljIHBpcGVsaW5lcy4KCjIwMDktMDYtMTEgMTY6MDA6MzYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IEJ1bXAgd2luMzIgY29uZmlnLmggdmVyc2lvbiBudW1iZXIgdG9vCgoyMDA5LTA2LTA1IDIyOjQzOjUwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL0xJTkdVQVM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjEyLjMgcHJlLXJlbGVhc2UKCjIwMDktMDYtMDYgMjE6Mjg6MjcgKzA0MDAgIExSTiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSAgQWRkZWQgYmFzZSBsaWJzIHRvIGRlYnVnIHV0aWxzIG1ha2VmaWxlCgkgIEZpeGVzICM1ODUwMTUKCjIwMDktMDYtMDcgMTA6NTU6NTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbWV0YWRhdGEuYzoKCSAgdGVzdHMvbWV0YWRhdGE6IERvbid0IHRyeSB0YWdzIHdlIGNhbid0IGhhbmRsZS4gRml4ZXMgIzU4NDk0NQoKMjAwOS0wNi0wNiAxOToyODowNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9oZHZwYXJzZS9NYWtlZmlsZS5hbToKCSAgaGR2cGFyc2U6IExpbmsgYWdhaW5zdCBsaWJtIGJlY2F1c2Ugd2UgdXNlIHBvdygpLgoKMjAwOS0wNi0wNiAxMzo1MzowNCArMDEwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IERvbid0IGJ1aWxkIHRoZSBteGYgZXhhbXBsZSBpZiBHVEsgaXNuJ3QgcHJlc2VudC4KCjIwMDktMDYtMDYgMTM6MTc6NDkgKzAxMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhyYW9wLmM6CgkqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOgoJICBhcGV4c2luazogRml4IGNvbXBpbGVyIHdhcm5pbmdzCgkgIEZpeCBjb21waWxlIHdhcm5pbmdzIG9uIHNvbGFyaXMgZnJvbSBiemVybyBub3QgYmVpbmcgZGVjbGFyZWQgKHVzZQoJICBtZW1zZXQgaW5zdGVhZCksIGFuZCBzdHJpY3QtYWxpYXNpbmcgd2FybmluZ3MgKHVzZSBhIHRlbXBvcmFyeQoJICB2YXJpYWJsZSkuCgoyMDA5LTA2LTA2IDAyOjM1OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM211eDogaW5pdCBnZW5yZSBmaWVsZCBpbiBJRDN2MSB0YWcgdG8gYW4gaW52YWxpZCBudW1iZXIKCSAgU28gdGhhdCBpdCBpcyBub3QgaW50ZXJwcmV0ZWQgYXMgJ0JsdWVzJyBpZiBubyBnZW5yZSBpcyB0byBiZSB3cml0dGVuLgoKMjAwOS0wNi0wNiAwMTowNTo0OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5jOgoJICBpZDNtdXg6IGRvbid0IHdyaXRlIElEM3YxIHRhZyB1bnRpbCBzcGVjaWZpY2FsbHkgaW5zdHJ1Y3RlZCB0byBkbyBzbwoJICBJRDN2MSB0YWdzIGFyZSBvbmUgb2YgdGhlIG1vc3QgYnJva2VuIGFuZCBpbGwtZGVzaWduZWQgdGhpbmdzIHRoYXQKCSAgZXhpc3Qgb24gdGhpcyBwbGFuZXQuIExldCdzIG5vdCB3cml0ZSB0aGVtIGJ5IGRlZmF1bHQuCgoyMDA5LTA2LTA2IDAwOjU4OjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM211eDogZG9uJ3Qgd3JpdGUgZW1wdHkgSUQzdjEgdGFnCgoyMDA5LTA2LTA2IDAwOjM5OjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBnc3QvaWQzdGFnL01ha2VmaWxlLmFtOgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5jOgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5oOgoJKiBnc3QvaWQzdGFnL2dzdGlkM3RhZy5jOgoJKiBnc3QvaWQzdGFnL2dzdGlkM3RhZy5oOgoJKiBnc3QvaWQzdGFnL2dzdHRhZ211eC5jOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5oOgoJICBpZDN0YWc6IHJlbmFtZSBuZXcgaWQzdGFnIGVsZW1lbnQgdG8gaWQzbXV4IHJlcGxhY2luZyB0aGUgb25lIHJlbW92ZWQgZnJvbSAtdWdseQoKMjAwOS0wNi0wNSAyMzo1MjowNSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L25zZi9uZXM2NTAyLmM6CgkgIG5zZjogRml4IGNvbXBpbGVyIHdhcm5pbmcgb24gU29sYXJpcy4KCSAgQSBTRUMoKSBtYWNybyBhbHJlYWR5IGV4aXN0cyBvbiBTb2xhcmlzLCBjYXVzaW5nIHdhcm5pbmdzIGFib3V0CgkgIHJlZGVmaW5pbmcgaXQuCgoyMDA5LTA2LTA1IDIyOjIwOjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmM6CgkgIGhkdnBhcnNlOiBGaXggdGhlIGJ1aWxkIG9uIENvbW1hbmRlciBUaGF5dGFuJ3MgUzEwU1AKCjIwMDktMDYtMDUgMTk6NTM6MDkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIGdpdGlnbm9yZTogSWdub3JlIHNoYXBld2lwZSB1bml0IHRlc3QgYmluYXJ5CgoyMDA5LTA2LTA1IDE5OjMyOjI2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC94MjY0L0dzdFgyNjRFbmMucHJzOgoJKiBleHQveDI2NC9NYWtlZmlsZS5hbToKCSogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOgoJKiBleHQveDI2NC9nc3R4MjY0ZW5jLmg6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgTW92ZWQgJ3gyNjRlbmMnIGZyb20gLWJhZCB0byAtdWdseQoKMjAwOS0wNi0wNSAyMToxNzo1NSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNhbWVyYWJpbjogZml4IGxpbmsgb3JkZXIKCSAgTW92ZSBsb2NhbCB2ZXJzaW9uIHVwIGluIHRoZSBsaW5rIG9yZGVyLgoKMjAwOS0wNi0wNSAyMDoyMjoxNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5jOgoJICBoZHZwYXJzZTogRW1pdCBhIEdTVF9NRVNTQUdFX0VMRU1FTlQgd2l0aCBzb21lIGdvb2RuZXNzIGluIGl0LgoKMjAwOS0wNi0wNSAxMDo0OTo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogQWRkIG1ldGhvZHMgdG8gZ2V0IG5hbWVzIG9mIHZhcmlvdXMgdmFsdWVzLgoKMjAwOS0wNi0wNSAxMDo0ODo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogRml4IEhEViBwcml2YXRlIHN0cmVhbSBkZWZpbml0aW9uL2NhcHMuCgoyMDA5LTA2LTA1IDEwOjQ3OjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmM6CgkgIGhkdnBhcnNlOiBSZXdyaXRlIGZyb20gc2NyYXRjaC4gSGFuZGxlIGJvdGggaGR2LWEgYW5kIGhkdi12CgkgIFRoaXMgdGltZSB3ZSBhbmFseXplIGEgbG90IG1vcmUgaW5mb3JtYXRpb24uCgkgIFN0aWxsIG5lZWQgdG8gcmUtYWRkIHRoZSBtZXNzYWdlIGVtaXNzaW9uLgoKMjAwOS0wNi0wNSAxNjo0ODowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGVuYzogY29ycmVjdCBmcmFtZXNpemUgcmFuZ2UKCSAgQSBDRUxUIGZyYW1lc2l6ZSBjYW4gYmUgYmV0d2VlbiA2NCBhbmQgNTEyIHNhbXBsZXMuCgkgIEZpeCBhIHR5cG8gaW4gdGhlIGJpdHJhdGUgcHJvcGVydHkgZGVzY3JpcHRpb24uCgoyMDA5LTA1LTI3IDExOjMzOjAxICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuaDoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBwcmV2aWV3IGltYWdlIHNlbmRpbmcgb3B0aW1pemF0aW9uCgkgICogZGVjb3VwbGUgaW1hZ2UgY2FwdHVyaW5nIGZyb20gaW1hZ2UgcG9zdC1wcm9jZXNzaW5nIGFuZCBlbmNvZGluZwoJICAqIHBvc3QgaW1hZ2UtY2FwdHVyZWQgbWVzc2FnZSBhZnRlciBpbWFnZSBpcyBjYXB0dXJlZAoJICAqIHBvc3QgcHJldmlldy1pbWFnZSBtZXNzYWdlIHdpdGggc25hcHNob3Qgb2YgY2FwdHVyZWQgaW1hZ2UKCjIwMDktMDUtMTkgMTY6NTg6MzYgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSAgY2FtZXJhYmluOiBkb24ndCBsb3NlIHBvc3QgcHJvY2Vzc2luZyBlbGVtZW50IGluIGZpcnN0IHJlc2V0CgoyMDA5LTA1LTEyIDEyOjQ5OjMzICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkgIGNhbWVyYWJpbjogYWRkIGRlYnVnIGluY2x1ZGluZyBkb3QgZ3JhcGggd3JpdGluZwoKMjAwOS0wNS0wNSAxNDoxOTo0NiArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiB1bmJsb2NrIGlmIGVycm9yIG9jY3VycyBkdXJpbmcgY2FwdHVyZQoKMjAwOS0wNS0wNCAxMDozMzoxOCArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5waG90b2dyYXBoeS5jOgoJICBjYW1lcmFiaW46IGlnbm9yZSBuaWdodCBtb2RlIGhhbmRsaW5nIGlmIGFscmVhZHkgaW4gbmlnaHQgbW9kZQoKMjAwOS0wNS0wNCAxMDozMjoxMCArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBzdG9wIG9uZ29pbmcgY2FwdHVyZSBpZiBjaGFuZ2luZyByZXNvbHV0aW9uCgoyMDA5LTA0LTIzIDE4OjE1OjQzICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkgIGNhbWVyYWJpbjogbGltaXQgdGhlIHNpemUgb2YgdmlkZW8gYmluIHF1ZXVlIGxlYWRpbmcgdG8gdmlldyBmaW5kZXIKCSAgV2UgZG9uJ3Qgd2FudCB0byBzaG93IG9sZCBidWZmZXJzIGluIHZpZXcgZmluZGVyLgoKMjAwOS0wNC0yMiAxMjoyOToxNCArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW54b3ZlcmxheS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnhvdmVybGF5Lmg6CgkgIGNhbWVyYWJpbjogZG9uJ3QgcHJveHkgZ3N0IHhvdmVybGF5IGludGVyZmFjZQoJICBEZWZhdWx0IHZpZXcgZmluZGVyIHNpbmsgaW4gY2FtZXJhYmluIGlzIGF1dG92aWRlb3Npbmsgd2hpY2ggZG9lc24ndAoJICBzdXBwb3J0IHhvdmVybGF5IGlmYWNlLiBJZiBhcHBsaWNhdGlvbiBkZWNpZGVzIHRvIHVzZSBhbm90aGVyIHNpbmsKCSAgdGhhdCBzdXBwb3J0cyB4b3ZlcmxheSwgdGhlbiBpdCBjYW4gdXNlIHRoZSBpbnRlcmZhY2UgZGlyZWN0bHkuCgoyMDA5LTA0LTIwIDE3OjA2OjE0ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnBob3RvZ3JhcGh5LmM6CgkgIGNhbWVyYWJpbjogYWxsb3cgY29uZmlndXJpbmcgcGhvdG9ncmFwaHkgc2V0dGluZ3Mgd2hlbiBpbiBOVUxMIHN0YXRlCgkgIENhY2hlIHRoZSBwaG90b2dyYXBoeSBzZXR0aW5ncyBpZiBzZXQgaW4gTlVMTCBzdGF0ZSBhbmQgYXBwbHkgdGhlbSBsYXRlcgoKMjAwOS0wNC0yMCAxNzowNTo0OSArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSAgcGhvdG9ncmFwaHk6IGFkZCBmdW5jdGlvbnMgdG8gc2V0L2dldCBhbGwgc2V0dGluZ3Mgd2l0aCBvbmUgY2FsbAoKMjAwOS0wMy0wOSAxODowMDo0NSArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBjcm9wIHN0aWxsIGltYWdlIGNhcHR1cmUgZnJhbWUgaWYgbmVjZXNzYXJ5CgkgIElmIGluY29taW5nIHN0aWxsIGltYWdlIGNhcHR1cmUgZnJhbWUgYXNwZWN0IHJhdGlvIGRpZmZlcnMgZnJvbSBhc3BlY3QKCSAgcmF0aW8gdGhhdCBhcHBsaWNhdGlvbiByZXF1ZXN0ZWQsIHRoZW4gYXBwbHkgY3JvcCB0byB0aGUgZnJhbWUuCgoyMDA5LTA2LTA1IDEwOjI1OjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJICBkb2NzOiBhZGQgaW5zcGVjdCBmaWxlcyBmb3IgbmV3IHBsdWdpbnMKCjIwMDktMDYtMDUgMTA6MTY6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJICBkb2NzOiBmaXggYnVpbGQgb2YgcGx1Z2luIGRvY3MgYnkgdXBkYXRpbmcgaW5zcGVjdCB0ZW1wbGF0ZXMKCSAgVGhlIHhtbCBpbnNwZWN0IGRhdGEgb2YgdGhlIGRlYnVndXRpbHNiYWQgcGx1Z2luIGRpZG4ndCBjb250YWluIHRoZQoJICBkYXRhIGZvciB0aGUgZnBzZGlzcGxheXNpbmsgZWxlbWVudCAoc29tZW9uZSBwcm9iYWJseSByYW4gJ21ha2UgdWRwYXRlJwoJICBpbiBkb2NzL3BsdWdpbnMgd2l0aCB0aGUgb2xkIGxpYmdzdGZwc2Rpc3BsYXlzaW5rLnNvIGZyb20gYmVmb3JlIHRoZQoJICByZW5hbWUgc3RpbGwgYXJvdW5kKS4KCjIwMDktMDYtMDUgMTA6MzQ6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL3htbC9lbGVtZW50LWZwc2Rpc3BsYXlzaW5rLWRldGFpbHMueG1sOgoJICBSZXZlcnQgImRvY3M6IGFkZCBkb2MgZmlsZSBmcm8gbmV3IHBsdWdpbiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAwMzllZjNlYjA3MjU1NWI3Y2EzOGZjMzUxY2EzODZiYjY4MGNjY2NjLgoJICBXZSBkb24ndCB0cmFjayB0aGUgc3R1ZmYgaW4geG1sLyBpbiBnaXQuCgoyMDA5LTA2LTA1IDExOjE4OjMxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMveG1sL2VsZW1lbnQtZnBzZGlzcGxheXNpbmstZGV0YWlscy54bWw6CgkgIGRvY3M6IGFkZCBkb2MgZmlsZSBmcm8gbmV3IHBsdWdpbgoKMjAwOS0wNi0wMSAxNjozMTo0MiArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIG91dHB1dC1zZWxlY3Rvcjogc2VyaWFsaXplIHNldHRpbmcgYW5kIGFjdHVhbCBjaGFuZ2luZyBvZiBuZXcgYWN0aXZlIHBhZAoKMjAwOS0wNS0wNCAxMjoyOTo1NCArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIG91dHB1dC1zZWxlY3RvcjogdW5yZWYgbGF0ZXN0IGJ1ZmZlciBhbHNvIHdoZW4gcmVzZW5kaW5nIGhhcyBiZWVuIGRpc2FibGVkCgoyMDA5LTA0LTE2IDE3OjMyOjAzICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgb3V0cHV0LXNlbGVjdG9yOiBrZWVwIHJlZiB0byBidWZmZXIgZm9yIHJlc2VuZGluZyBvbmx5IGlmIGV4cGxpY2l0bHkgcmVxdWVzdGVkCgoyMDA5LTA2LTA0IDE5OjA4OjE2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogZG9uJ3QgbGVhayBwYWRzIGluIGl0ZXJhdG9yCgoyMDA5LTA2LTA0IDE2OjI5OjMxICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmM6CgkgIG1wZWdkZW11eDogQWRkIGEgR1NUX01FTURVTVAgbGluZSBpbiB0aGUgZGVzY3JpcHRvciBwYXJzaW5nCgkgIE1ha2UgaXQgcG9zc2libGUgdG8gc2VlIGRlc2NyaXB0b3IgY29udGVudHMgaW4gdGhlIGRlYnVnIG91dHB1dAoJICAoR1NUX0RFQlVHPW1wZWd0c2Rlc2M6OSksIGFuZCByZW1vdmUgYSBzdHJheSBzZW1pLWNvbG9uLgoKMjAwOS0wNi0wNCAxNjoxMToxNiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogQXZvaWQgcGFzc2luZyB0aGUgY3VzdG9tIEdTVF9GTE9XX05FRURfTU9SRV9EQVRBIHVwc3RyZWFtCgkgIERvbid0IHJldHVybiBHU1RfRkxPV19ORUVEX01PUkVfREFUQSBmcm9tIHRoZSBjaGFpbiBmdW5jdGlvbiBhdCB0aGUgZW5kCgkgIG9mIGZpbGVzLgoKMjAwOS0wNi0wNCAwODo1NjoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBOb3RpZnkgd2hlbiB0aGUgdGFncyBwcm9wZXJ0eSBvZiB0aGUgc2VsZWN0b3Igc2lua3BhZHMgY2hhbmdlcwoJICBGaXJzdCBwYXJ0IG9mIGJ1ZyAjNTg0Njg2LgoKMjAwOS0wNi0wNCAwODo1NjoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBJbmNyZWFzZSB0aW1lb3V0IG9mIHRoZSB1bml0IHRlc3QKCjIwMDktMDYtMDMgMjM6MzU6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBCdW1wIGNvcmUvYmFzZSByZXF1aXJlbWVudHMgdG8gcmVsZWFzZWQgdmVyc2lvbnMKCjIwMDktMDYtMDIgMTE6MzY6MDEgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgdHdvIG5ldyBwbHVnaW5zIHRvIHNwZWMgZmlsZQoKMjAwOS0wNi0wMiAxMToyMzozNyArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSAgZHZkc3B1OiBhZGQgbWlzc2luZyBoZWFkZXIgdG8gTWFrZWZpbGUuYW06IGdzdHNwdS1jb21tb24uaAoKMjAwOS0wNi0wMiAwMTowOTozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkgIGRpcmFjOiB1c2UgR1NUX0NYWEZMQUdTIGluc3RlYWQgb2YgR1NUX0NGTEFHUyBmb3IgYysrIGNvbXBpbGVycwoJICBGaXhlcyBjb21waWxlciBtZXNzYWdlIGFib3V0IHBhc3NpbmcgLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQKCSAgdG8gdGhlIEMrKyBjb21waWxlci4KCjIwMDktMDYtMDEgMTU6NTM6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBmaXggc2FtcGxlIHJhdGUgZXh0cmFjdGlvbiBmcm9tIGNvZGVjIGRhdGEKCSAgSW4gb25lIGNhc2Ugd2UgZXh0cmFjdGVkIHRoZSBzYW1wbGUgcmF0ZSBpbmRleCBmcm9tIHRoZSBjb2RlYyBkYXRhCgkgIGFuZCBzYXZlZCBpdCBhcyBzYW1wbGUgcmF0ZSByYXRoZXIgdGhhbiBnZXR0aW5nIHRoZSByZWFsIHNhbXBsZQoJICByYXRlIGZyb20gdGhlIHRhYmxlLiBGaXggdGhhdCwgYW5kIGFsc28gbWFrZSBzdXJlIHdlIGRvbid0IGFjY2VzcwoJICBub24tZXhpc3RhbnQgdGFibGUgZW50cmllcyBieSBhZGRpbmcgYSBzbWFsbCBoZWxwZXIgZnVuY3Rpb24gdGhhdAoJICBndWFyZHMgYWdhaW5zdCBvdXQtb2YtYm91bmRzIGFjY2VzcyBpbiBjYXNlIG9mIGludmFsaWQgaW5wdXQgZGF0YS4KCjIwMDktMDYtMDEgMTQ6MDI6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RhbXJwYXJzZS5jOgoJICBhYWNwYXJzZSwgYW1ycGFyc2U6IHJlbW92ZSBib2d1cyBnc3RfcGFkX2ZpeGF0ZV9jYXBzKCkgY2FsbHMKCjIwMDktMDYtMDEgMTM6NTY6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJvcGFnYXRlIHJldHVybiB2YWx1ZSBvZiBHc3RCYXNlUGFyc2U6OnNldF9zaW5rX2NhcHMoKQoJICBnc3RfYmFzZV9wYXJzZV9zaW5rX3NldGNhcHMoKSBwcmVzdW1hYmx5IHNob3VsZCBmYWlsIGlmIHRoZSBzdWJjbGFzcwoJICByZXR1cm5zIEZBTFNFIGZyb20gaXRzIDo6c2V0X3NpbmtfY2FwcygpIGZ1bmN0aW9uLgoKMjAwOS0wNi0wMSAxMzo0NzowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBkb24ndCB0cnkgdG8gR1NUX0xPRyBhbiBhbHJlYWR5LWZyZWVkIGNhcHMgc3RyaW5nCgkgIFRoZSBwcm9wZXIgd2F5IHRvIGxvZyBjYXBzIGlzIHZpYSBHU1RfUFRSX0ZPUk1BVCBhbnl3YXkuCgoyMDA5LTA2LTAxIDEzOjA1OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogc2V0IGNoYW5uZWxzIGFuZCByYXRlIG9uIG91dHB1dCBjYXBzLCBhbmQga2VlcCBjb2RlY19kYXRhCgkgIENyZWF0ZSBvdXRwdXQgY2FwcyBmcm9tIGlucHV0IGNhcHMsIHNvIHdlIG1haW50YWluIGFueSBmaWVsZHMgd2UKCSAgbWlnaHQgZ2V0IG9uIHRoZSBpbnB1dCBjYXBzLCBzdWNoIGFzIGNvZGVjX2RhdGEgb3IgcmF0ZSBhbmQgY2hhbm5lbHMuCgkgIFNldCBjaGFubmVscyBhbmQgcmF0ZSBvbiB0aGUgb3V0cHV0IGNhcHMgaWYgd2UgZG9uJ3QgaGF2ZSBpbnB1dCBjYXBzCgkgIG9yIHRoZXkgZG9uJ3QgY29udGFpbiBzdWNoIGZpZWxkcy4gV2UgZG8gdGhpcyBwYXJ0bHkgYmVjYXVzZSB3ZSBjYW4sCgkgIGJ1dCBhbHNvIGJlY2F1c2Ugc29tZSBtdXhlcnMgbmVlZCB0aGlzIGluZm9ybWF0aW9uLiBUYWdyZWFkYmluIHdpbGwKCSAgYWxzbyBiZSBoYXBweSBhYm91dCB0aGlzLgoKMjAwOS0wNi0wMSAyMjo0MjowOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9mdHlwY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgIGdwcG11eDogZW5oYW5jZSBmdHlwIGJyYW5kIGhldXJpc3RpYy4gIEZpeGVzICM1ODQzNjAuCgoyMDA5LTA2LTAxIDIxOjI0OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogRml4IHNvbWUgaXNzdWVzIHRoYXQgd2VyZSBleHBvc2VkIGJ5IHRoZSBuZXcgdW5pdCB0ZXN0CgoyMDA5LTA2LTAxIDIxOjI0OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBBZGQgdW5pdCB0ZXN0IGZvciBzaGFwZXdpcGUKCjIwMDktMDUtMzEgMjE6MzM6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14ZGdtaW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IEFkZCBkb2N1bWVudGF0aW9uIGFuZCBpbnRlZ3JhdGUgaW50byB0aGUgYnVpbGQgc3lzdGVtCgoyMDA5LTA1LTMxIDIwOjI0OjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IGluY2x1ZGUgZ2xpYi5oIGJlZm9yZSBjaGVja2luZyBpZiBHX09TX1dJTjMyIGlzIGRlZmluZWQKCjIwMDktMDUtMzEgMjA6MjM6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogaWdub3JlIG5ldyBzaGFwZXdpcGUgZXhhbXBsZSBiaW5hcnkKCjIwMDktMDUtMzEgMTg6MjM6NTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuYzoKCSAgaGR2cGFyc2U6IFNldHRpbmcgcmFuayB0byBOT05FIHNvIGl0IGRvZXNuJ3QgZ2V0IHBpY2tlZCB1cCBieSBwbGF5YmluMi4KCjIwMDktMDUtMzEgMTg6MjM6MDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuYzoKCSAgaGR2cGFyc2U6IEVtaXQgYXBwbGljYXRpb24gbWVzc2FnZSB3aXRoIHRoZSBwYXJzZWQgaW5mb3JtYXRpb24uCgoyMDA5LTA1LTMxIDE0OjE1OjExICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaGR2cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5jOgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuaDoKCSAgaGR2cGFyc2U6IE5ldyBlbGVtZW50IGZvciBwYXJzaW5nIHByaXZhdGUvaGR2LWExIHN0cmVhbXMuCgoyMDA5LTA1LTI5IDIxOjA3OjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogQWRqdXN0IGJvcmRlciB0byBzdGlsbCBoYXZlIGV2ZXJ5dGhpbmcgdHJhbnNwYXJlbnQgYXQgMS4wIGFuZCB0aGUgb3RoZXIgd2F5IGFyb3VuZAoKMjAwOS0wNS0yOSAxNjo1NToyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSAgc2hhcGV3aXBlOiBEaXZpZGUgdGhlIGJvcmRlciB2YWx1ZSBieSB0d28sIG90aGVyd2lzZSB3ZSB1c2UgYSB0d2ljZSBhIHdpZGUgYm9yZGVyCgoyMDA5LTA1LTI5IDE2OjUxOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJICBzaGFwZXdpcGU6IEFkZCBib3JkZXIgcHJvcGVydHkgdG8gYWxsb3cgc21vb3RoIGJvcmRlcnMKCSAgLi4uYW5kIHVzZSBhIGJvcmRlciBvZiAwLjAxIGluIHRoZSBleGFtcGxlIGFwcGxpY2F0aW9uLgoKMjAwOS0wNS0yOSAxNTo0NDo1MSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogRml4IGJvZ3VzIHVuaW5pdGlhbGlzZWQgdmFyaWFibGUgYWNjZXNzCgkgIFR5cG8gaW4gdGhlIHByZXZpb3VzIGNvbW1pdAoKMjAwOS0wNS0yOSAxNTowMTo0MiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogVXNlIHRoZSBJU08gNjM5IGxhbmd1YWdlIGNvZGUgZGVzY3JpcHRvciB0byBzZW5kIHRhZ3MuCgkgIElmIHRoZXJlIGlzIGFuIElTTyA2MzkgbGFuZ3VhZ2UgZGVzY3JpcHRvciBmb3IgYSBzdHJlYW0sIHNlbmQgYSBsYW5ndWFnZQoJICBjb2RlIHRhZyBzbyB0aGF0IHBsYXllcnMgY2FuIHNob3cgYSBtZWFuaW5nZnVsIGxhbmd1YWdlIGZvciB0aGUgYXVkaW8gYW5kCgkgIHN1YnRpdGxlIHN0cmVhbXMuCgoyMDA5LTA1LTI5IDE2OjAwOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9NYWtlZmlsZS5hbToKCSAgc2hhcGV3aXBlOiBGaXggTWFrZWZpbGUgb2YgdGhlIGV4YW1wbGUgYXBwbGljYXRpb24KCjIwMDktMDUtMjkgMTU6MzI6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc2hhcGV3aXBlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSAgc2hhcGV3aXBlOiBBZGQgYSBzaW1wbGUgc2hhcGV3aXBlIHRyYW5zaXRpb24gZmlsdGVyICYgZXhhbXBsZSBhcHBsaWNhdGlvbgoKMjAwOS0wNS0yOCAxNzozNzo0NCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogVHJhbnNmb3JtIHRoZSByaWdodCBzZXNzaW9uIHNkZXMgbWVzc2FnZQoJICBGaXhlcyAjNTg0MTY1CgoyMDA5LTA1LTI4IDE3OjMzOjEwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgQWRkIHNzcmMgdG8gYXBwbGljYXRpb24veC1ydHAtc291cmNlLXNkZXMgc3RydWN0dXJlCgoyMDA5LTA1LTI4IDIzOjEyOjEzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2U6IGFkZCBzdXBwb3J0IGZvciBBLUxhdyBhbmQgwrUtTGF3CgoyMDA5LTA1LTI4IDIzOjA4OjE3ICswMTAwICBUcmlzdGFuIE1hdHRoZXdzIDxsZS5idXNpbmVzc21hbkBnbWFpbC5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSAgZ3N0c3B1OiBGaXggY29tcGlsZXIgd2FybmluZ3Mgb24gT1MvWAoJICBGaXggc29tZSB3YXJuaW5ncyBmb3IgZm9ybWF0IHN0cmluZyBhcmdzIGFuZCB1bmluaXRpYWxpemVkIHZhcnMgb24gT1MvWAoJICBGaXhlczogIzU4NDE2NAoJICBTaWduZWQtb2ZmLWJ5OiBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoyMDA5LTA1LTI4IDEzOjU2OjEwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB1c2UgZGlmZmVyZW50IHN0c2QgYXRvbSB0eXBlIGZvciBIMjYzIGZvciBJU08gYW5kIFFUIHZhcmlhbnRzCgkgIEZpeGVzICM1ODQxMTQuCgoyMDA5LTA1LTI4IDEzOjA3OjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgc291bmR0b3VjaDogZml4IGRldGVjdGlvbiBvZiBsaWJzb3VuZHRvdWNoID49IDEuNAoKMjAwOS0wNS0yOCAxMzowOToyNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYW1ycGFyc2UvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGFtcnBhcnNlLmg6CgkgIGFtcnBhcnNlOiBjb25zaWRlciBoZWFkZXIgc2l6ZSBpbiBieXRlIDwtPiB0aW1lIGNvbnZlcnNpb25zCgoyMDA5LTA1LTI2IDE5OjQzOjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCBkZWJ1ZyBjYXRlZ29yeQoKMjAwOS0wNS0yOCAxMDozODo1MCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmg6CgkgIHNlbGVjdG9yOiByZW1vdmUgbm90IG5lZWRlZCBpbnN0YW5jZSB2YXIgKHByZXZpb3VzIGNvbW1pdCkuCgoyMDA5LTA1LTExIDE2OjEyOjU0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICBqYWNrOiB3aGVuIHN0b3BwaW5nIHBsYXliYWNrLCBkbyBvbmUgbW9yZSBjeWNsZSB0byBmbHVzaCB0aGUgcG9ydC4gRml4ZXMgIzU4MjE2NwoJICBUaGUgZ3N0X2phY2tfYXVkaW9fY2xpZW50X3NldF9hY3RpdmUoKSBmbGFncyB0aGUgcG9ydCBhcyBkZWFjdGl2YXRpbmcgYW5kIHVzZXMKCSAgYSBHQ29uZCB0byB3YWl0IHVudGlsIHRoZSBqYWNrX3Byb2Nlc3NfY2IoKSBoYXMgcnVuIG9uY2UgbW9yZSBhbmQgY2xlYXJlZCB0aGUKCSAgZmxhZy4gVGhpcyB3YXkgdGhlIGNsaWVudCB6ZXJvJ3MgdGhlIGJ1ZmZlci4gVGhpcyBoYXBwZW5zIGlmIG9uZSBtYW55YWxseSBnbwoJICB0byBQQVVTRUQgYW5kIHRoZW4gdG8gUkVBRFksIHdoaWxlIGxldGluZyB0aGUgbWFpbmxvb3AgcnVuIGluYmV0d2Vlbi4KCjIwMDktMDUtMjggMTA6MTI6NTggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuaDoKCSAgb3V0cHV0c2VsZWN0b3I6IGltcGxlbWVudCBwYWRfYWxsb2Mgb24gYWN0aXZlIHBhZC4KCjIwMDktMDUtMjcgMjI6NTQ6NTEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5oOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSAgcmVzaW5kdmQ6IENyZWF0ZSBhbGwgdGhlIGF1ZGlvIHN0cmVhbXMgb2YgYWxsIGZvcm1hdHMKCSAgRW5hYmxlIGNyZWF0aW9uIG9mIHRoZSBkZW11eGVyIHBhZHMgZm9yIGFsbCBhdWRpbyBzdHJlYW1zLCBldmVuIHR5cGVzIHdlCgkgIGRvbid0IHlldCBzdXBwb3J0LiBUaGlzIG1lYW5zIHRoYXQgdW5zdXBwb3J0ZWQgdHlwZXMgKExQQ00sIERUUykgYXJlIG91dHB1dCwKCSAgYnV0IG5vdCBsaW5rZWQgdG8gYW55dGhpbmcgeWV0LiBJZiBvbmx5IHVuc3VwcG9ydGVkIHN0cmVhbXMgYXJlIGF2YWlsYWJsZSwKCSAgdGhlIHVzZXIgaGVhcnMgc2lsZW5jZSBpbnN0ZWFkIG9mIGhhdmluZyB0aGUgcGlwZWxpbmUgbm90IHByZS1yb2xsIGNvcnJlY3RseS4KCSAgVGhpcyBpcyBhIHByZXJlcXVpc2l0ZSBmb3IgaG9va2luZyB1cCB0aGUgYXV0b21hdGljIGRlY29kZXIgc3dpdGNoaW5nLgoKMjAwOS0wNS0yNyAxMTowMzoxNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VjZTogdGhlIG5ldHdvcmsgYWRkcmVzcyBpcyBpbiBuZXR3b3JrIG9yZGVyCgkgIEJyaW5nIHRoZSBuZXR3b3JrIGFkZHJlc3MgaW4gbmV0b3drciBieXRlIG9yZGVyIHRvIHRoZSBob3N0IG9yZGVyLgoKMjAwOS0wNS0yNyAwMDo1MTo0NSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkgIGdzdHNwdTogQ29udmVydCBnX3dhcm5pbmdzIHRvIEdTVF9FUlJPUiwgYW5kIGZpeCBmb3JtYXQgc3BlY2lmaWVycwoJICBVc2UgR19HU1NJWkVfRk9STUFUIGZvciBwcmludGluZyBwb2ludGVyIGRpZmZlcmVuY2VzLCB3aGljaCBzaG91bGQgd29yayBvbgoJICBib3RoIDMyLWJpdCBhbmQgNjQtYml0IHN5c3RlbXMuCgkgIFVzZSBHU1RfRVJST1IgaW5zdGVhZCBvZiBnX3dhcm5pbmcgZm9yIHByaW50aW5nIG1lc3NhZ2VzIGFib3V0IHVua25vd24KCSAgcGFja2V0IGNvbnRlbnRzLgoKMjAwOS0wNS0yNyAwMDo0NzowNSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJICBnc3RzcHU6IEZpeCBhIG5hc3R5IHJlZ3Jlc3Npb24sIHdpdGggRFZEcyByYW5kb21seSBjcmFzaGluZwoJICBVc2UgdGhlIGxvY2FsIHdyYXBwZXIgZnVuY3Rpb24gd2hlbiBjbGVhcmluZyB0aGUgY29tcG9zaXRpbmcgYnVmZmVycyB0bwoJICBlbnN1cmUgdGhlIGNvcnJlY3QgcG9ydGlvbiBpcyBiZWluZyBjbGVhcmVkLgoKMjAwOS0wNS0yNiAxOTozODo1NCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZDogTFBDTSBzdHJlYW1zIGFyZSBvbmx5IGZyb20gMHhhMCB0byAweGFmLgoJICBGaXggdGhlIHNhbWUgYnVnIGFzIHRoZSBwcmV2aW91cyBjb21taXQsIGJ1dCBpbiByZXNpbmR2ZCdzIGNvcHkgb2YKCSAgbXBlZ2RlbXV4LgoKMjAwOS0wNS0yNiAxODo0NzozMiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBPbmx5IHRyZWF0IHN0cmVhbXMgZnJvbSAweGEwIHRvIDB4YWYgYXMgTFBDTSwgbm90IDB4YTAuLjB4YmYKCSAgRG9uJ3QgdHJlYXQgc29tZSBzdHJlYW1zIChQcml2YXRlIFN0cmVhbSAyKSBhcyBMUENNIHdoZW4gdGhleSdyZSBub3QuIEZpeGVzCgkgIHBsYXliYWNrIG9mIGZpbGVzIHRoYXQgaGF2ZSBwcml2YXRlIHN0cmVhbXMgaW4gdGhlbSBub3cgdGhhdCB0aGUgUEVTIGZpbHRlcgoJICBlbWl0cyBzdWNoIHBhY2tldHMuCgoyMDA5LTA1LTI2IDE4OjQzOjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJICBkdmRzcHU6IGZpeCBwcmludGYgZm9ybWF0cyB0byBhdm9pZCBjb21waWxlciB3YXJuaW5ncwoKMjAwOS0wNS0yNiAxNzoxOTozNSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2YWIxMWQxIHRvIGM1NzI3MjEKCjIwMDktMDUtMjMgMjM6MTk6MDUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LXJlbmRlci5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1jb21tb24uaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuaDoKCSAgZ3N0c3B1OiBJbXBsZW1lbnQgUEdTIHJlbmRlcmluZyBhbmQgYWxwaGEgYmxlbmRpbmcKCSAgUmVmYWN0b3IgdGhlIERWRCBzdWJwaWN0dXJlIGNvbXBvc2l0aW5nLCBzd2l0Y2hpbmcgaXQgdG8gOC1iaXQgYWxwaGEKCSAgY2FsY3VsYXRpb25zLiBSZXVzZSBzb21lIG9mIHRoZSByZXN1bHRpbmcgY29kZSB0byBpbXBsZW1lbnQgUEdTCgkgIHN1YnBpY3R1cmUgYmxlbmRpbmcuCgkgIEltcGxlbWVudCBwYXJzaW5nIGFuZCBjb2xsZWN0aW5nIG9mIGNvbXBvc2l0aW9uIG9iamVjdHMgcHJvcGVybHksIGJ1dAoJICBhc3N1bWluZyBhIHNpbmdsZSBhY3RpdmUgd2luZG93IGFuZCBjb2xvdXIgcGFsZXR0ZSBmb3Igbm93LiBJIG5lZWQgbW9yZQoJICBQR1Mgc2FtcGxlcy4KCjIwMDktMDUtMjIgMTE6MTM6NTkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuaDoKCSAgZHZkc3B1OiBNb3ZlIGEgYnVuY2ggb2Ygdm9ic3ViIHNwZWNpZmljIGxvZ2ljIHRvIGEgc2VwYXJhdGUgZmlsZS4KCSAgU3RhcnQgc2VwYXJhdGluZyBvdXQgdGhlIHZvYnN1YiBsb2dpYyBpbiBwcmVwYXJhdGlvbiBmb3IgY3JlYXRpbmcKCSAgc2VwYXJhdGUgcmVuZGVyZXIgb2JqZWN0cyBmb3IgZWFjaCBzdWJwaWN0dXJlIGZvcm1hdC4KCjIwMDktMDUtMjIgMTE6MTI6NTIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJICBkdmRzcHU6IEFkZCBjb3B5cmlnaHQgaGVhZGVyIGFuZCBpbmNsdWRlcyB0byB0aGUgUEdTIGhhbmRsZXIKCjIwMDktMDUtMjIgMTA6MTU6NDQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJICBkdmRzcHU6IE1ha2UgdGhlIFBHUyBkdW1waW5nIGxlc3MgdmVyYm9zZQoKMjAwOS0wNS0yMSAyMzo0NTo0MyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBDb2xsZWN0IGVudGlyZSBQR1MgcGFja2V0cyBhbmQgcXVldWUgYXMgZXZlbnRzCgkgIENvbGxlY3QgZnJhZ21lbnRlZCBQR1MgcGFja2V0cyBhbmQgc3VibWl0IGFzIGNvbXBsZXRlIGV2ZW50cyBmb3IKCSAgcHJvY2Vzc2luZyBhdCB0aGUgY29ycmVjdCBtb21lbnQuCgoyMDA5LTA1LTIwIDA4OjU1OjQwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmg6CgkgIGR2ZHNwdTogQWRkIHNpbXBsZSBQR1MgaGFuZGxlciB0aGF0IGR1bXBzIHRoZSBwYWNrZXQgaW5mbwoJICBBZGQgc2V0Y2FwcyBsb2dpYyBvbiB0aGUgc3VicGljdHVyZSBzaW5rIHBhZCBmb3IgY29uZmlndXJpbmcKCSAgd2hpY2ggc3VicGljdHVyZSBmb3JtYXQgaXMgYXJyaXZpbmcuCgkgIEFkZCB0aGUgZmlyc3QgcGllY2Ugb2YgUEdTIHN1YnBpY3R1cmUgaGFuZGxpbmcgYnkgZHVtcGluZyB0aGUgc3RyZWFtCgkgIGNvbnRlbnRzIG91dCB0byB0aGUgdGVybWluYWwgYXMgdGhlIHBhY2tldHMgYXJyaXZlLgoJICBBZGQgc29tZSBtb3JlIGRlYnVnLgoJICBEb24ndCBjYWxjdWxhdGUgdGhlIHJ1bm5pbmcgdGltZSBmb3Igb3VyIHN1YnBpY3R1cmUgcGFja2V0cyB0d2ljZSwKCSAgb25jZSBpcyBlbm91Z2guCgoyMDA5LTA1LTIxIDE1OjIyOjU4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IEFkZCBhIHNpbXBsZSBkZWZhdWx0IGNvbG91ciB0YWJsZS4KCSAgV2hlbiB3ZSdyZSBub3QgcHJvdmlkZWQgd2l0aCBhIHBhbGV0dGUgaW4gYWR2YW5jZSwgZHJhdyB3aXRoIGEgZ3JleQoJICBjb2xvdXIgb3IgdHdvLCBpbnN0ZWFkIG9mIFlVViBncmVlbi4KCjIwMDktMDUtMjEgMTE6MTM6NTQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIG1wZWdkZW11eDogQWRkIHNwYXJzZSBzdHJlYW0gZmlsbGluZy4KCSAgRmlyc3Qgc3RhYiBhdCBzZW5kaW5nIG5ldy1zZWdtZW50IGV2ZW50cyB0byBlZmZlY3Qgc3BhcnNlIHN0cmVhbQoJICB1cGRhdGVzLgoKMjAwOS0wNS0yMSAwMDo0MTo0NyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiBBZGQgc3VwcG9ydCBmb3Igb3V0cHV0dGluZyBzdWItcGljdHVyZSBzdHJlYW1zIGZvdW5kIGluIGZpbGVzLgoJICBPdXRwdXQgc3VicGljdHVyZSBzdHJlYW1zIHdoZW4gdGhleSBhcmUgZm91bmQgb24gdGhlIHByaXZhdGUgc3RyZWFtIElELgoJICBEb24ndCBzdHJpcCBvZmYgdGhlIGZpcnN0IGJ5dGUgb2Ygc3VjaCBwYWNrZXRzIHdoZW4gcHVzaGluZy4KCjIwMDktMDUtMjAgMDg6NTA6MzcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmg6CgkgIG1wZWd0c2RlbXV4OiBBZGQgbWFwcGluZyBmb3IgRFZEIGFuZCBCbHVyYXkgc3VicGljdHVyZSBzdHJlYW1zLgoJICBBZGQgb3V0cHV0IHN1YnBpY3R1cmUgcGFkcyBmb3IgRFZEICh2aWRlby94LWR2ZC1zdWJwaWN0dXJlKSBhbmQgQmx1cmF5IFBHUwoJICAoc3VicGljdHVyZS94LXBncykgc3RyZWFtcy4gUmVtb3ZlIGFuIHVudXNlZCB2YXJpYWJsZSBmcm9tCgkgIHRoZSBQRVMgZmlsdGVyLgoKMjAwOS0wNS0yNSAwMDoyNTowNyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZDogRml4IHN1YnBpY3R1cmUgdGltaW5nIGluIHNvbWUgY2FzZXMKCSAgTWFrZSBzdXJlIHdlIHNlbmQgZXZlbnRzIHRvIGFsbCBwYWRzLiBVbm1hcmsgdGhlIG5vdGxpbmtlZCBmbGFnIG9uCgkgIGZyZXNobHkgc2VsZWN0ZWQgcGFkcyB0byBlbnN1cmUgdGhleSBnZXQgZGF0YS4KCjIwMDktMDUtMjIgMTQ6MDI6MzggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgcmVzaW5kdmQ6IFRyeSBhIGRpZmZlcmVudCBhcHByb2FjaCB0byBzZWdtZW50IGZpbGxpbmcuCgkgIFJlc3RvcmUgdGhlIG9sZCBzZWdtZW50IHVwZGF0ZSBiZWhhdmlvdXIsIGFuZCBpbnN0ZWFkIGV4dGVuZCB0aGUKCSAgY2xvc2Ugc2VnbWVudCBzdG9wIHRpbWUgaWYgdGhlIFNDUiAobGFzdF9zdG9wKSBvdmVycnVucyB0aGUgY2FsY3VsYXRlZAoJICBzdG9wIHBvc2l0aW9uLgoKMjAwOS0wNS0yMSAxMToxMDoxMyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZDogTWlub3IgY2hhbmdlIHRvIGlubGluZSBhIGZ1bmN0aW9uIGluIHRoZSBkZW11eGVyCgoyMDA5LTA1LTIwIDE5OjMxOjI0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgc3RhdGVzOiBJZ25vcmUgdGhlIGNhbWVyYWJpbiBmb3IgdGhlIHN0YXRlcyB0ZXN0CgkgIEl0IGFjY2Vzc2VzIHRoZSB2aWRlbyBkZXZpY2UsIHdoaWNoIGlzbid0IGdlbmVyYWxseSBkZXNpcmFibGUgZm9yIHRoZQoJICBzdGF0ZSB0ZXN0LgoKMjAwOS0wNS0yMiAxMzowNzozOCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBEb24ndCBhY2NpZGVudGFsbHkgbG9zZSB0aGUgY29sb3VyIHBhbGV0dGUgd2hlbiBmbHVzaGluZyB0aGUgU1BVCgkgIEZpeGVzIHJhY3kgc3RhcnR1cCBvbiBEVkRzIHdoZXJlIGl0IHNvbWV0aW1lcyBnZXRzIGVudGlyZWx5IHRoZSB3cm9uZyBzZXQKCSAgb2YgY29sb3VycyBpbiB0aGUgbWVudXMgYW5kIHN1YnRpdGxlcy4KCjIwMDktMDUtMjYgMTU6NDA6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBieXRlc3dhcCB0aGUgcG9ydCBmcm9tIEdzdE5ldEFkZHJlc3MKCSAgU2luY2UgdGhlIHBvcnQgaW4gR3N0TmV0QWRkcmVzcyBpcyBpbiBuZXR3b3JrIG9yZGVyIHdlIG1pZ2h0IG5lZWQgdG8gYnl0ZXN3YXAgaXQKCSAgYmVmb3JlIGFkZGluZyBpdCB0byB0aGUgc291cmNlIHN0YXRpc3RpY3MuCgoyMDA5LTA1LTExIDE5OjMwOjM0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSAgZ3N0cGVzZmlsdGVyOiBEaXJlY3RseSB1c2UgZ3N0X2FkYXB0ZXJfdGFrZV9idWZmZXIoKS4KCjIwMDktMDUtMjUgMTY6Mjc6MzQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJICBnc3RwZXNmaWx0ZXI6IERvbid0IHBlZWsgdGhlIGFkYXB0ZXIgaWYgd2UgZG9uJ3QgaGF2ZSBlbm91Z2ggZGF0YS4KCjIwMDktMDUtMjUgMTY6MjU6NDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJICBnc3RwZXNmaWx0ZXI6IERvbid0IHNraXAgcHJpdmF0ZSBzdHJlYW1zIFBFUyBidXQgcHVzaCB0aGVtIG91dC4KCSAgVGhlIG9uZSB0aGluZyB3ZSAqRE8qIG5lZWQgdG8gZG8gZm9yIHRob3NlIHN0cmVhbXMgaXMgdG8gc2tpcCBhbGwKCSAgdGhlIFBUUy9EVFMvU2NyYW1ibGluZy9EU00vZXh0ZW5zaW9uLy4uLiBoYW5kbGluZy4KCjIwMDktMDUtMjUgMTU6MjE6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBJZ25vcmUgTlVMTCBwYWNrZXRzIGFzIGVhcmx5IGFzIHBvc3NpYmxlLgoJICBUaGlzIGF2b2lkczoKCSAgKiBjcmVhdGluZyBhIE1wZWdUU1N0cmVhbSBzdHJ1Y3R1cmUgZm9yIG5vdGhpbmcKCSAgKiBwcm9jZXNzaW5nIHBhY2tldCBkYXRhIGZvciBub3RoaW5nCgoyMDA5LTA1LTI1IDE1OjIxOjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBBZGQgbWFwcGluZyBmb3IgSERWIHByaXZhdGUgc3RyZWFtcwoKMjAwOS0wNS0yNSAxNzoyNDozMiArMDIwMCAgTWF0aGlhcyBIYXNzZWxtYW5uIDxtYXRoaWFzLmhhc3NlbG1hbm4gYXQgZ214LmRlPgoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgbmVvbmh0dHA6IGFkZCBwcm9wZXJ0eSB0byBzdXBwb3J0IFNTIGNlcmlmaWNhdGVzCgkgIEFkZCBhIHByb3BlcnR5IHRvIHN1cHBvcnQgc2VsZi1zaWduZWQgY2VydGlmaWNhdGVzIGluIG5lb25odHRwc3JjLiBUaGlzIHByb3BlcnR5CgkgIGlzIEZBTFNFIGJ5IGRlZmF1bHQuCgkgIEZpeGVzICM1MTEwOTcKCjIwMDktMDUtMjUgMTM6NDY6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiByZW1vdmUgcHRkZW11eCBnaG9zdHBhZHMKCjIwMDktMDUtMjUgMTM6MzM6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IGFkZCByZWNlaXZlIHJ0cGJpbiB1bml0IHRlc3QKCjIwMDktMDUtMjUgMTE6MTg6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6CgkqIGV4dC94MjY0L2dzdHgyNjRlbmMuaDoKCSAgeDI2NGVuYzogYWRkIG11bHRpcGFzcy1jYWNoZS1maWxlIHByb3BlcnR5CgkgIEZpeGVzICM1ODM2MjcKCjIwMDktMDUtMjMgMTM6MTE6MjggKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlCgoyMDA5LTA1LTIyIDE2OjU2OjUyIC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYWRwY21kZWMvTWFrZWZpbGUuYW06CgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJICBhZHBjbWRlYzogQWRkIG5ldyBwbHVnaW4gZm9yIG1zLWFkcGNtIGRlY29kaW5nLgoKMjAwOS0wNS0yMCAxNjo0Njo0OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuaDoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBEZXRlY3QgaW50ZXJsYWNlZCBjb250ZW50IGFuZCBzZXQgaXQgb24gb3V0Z29pbmcgY2Fwcy4KCSAgSSBhbHNvIGFkZGVkIHRoZSBwYXJzaW5nIG9mIGFsbCB0aGUgb3RoZXIgYml0cyBpbiB0aGUgc2VxdWVuY2UgZXh0ZW5zaW9uCgkgIGhlYWRlciBpbiBjYXNlIHdlIG5lZWQgaXQgbGF0ZXIuCgoyMDA5LTA1LTIyIDE2OjQxOjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogYWRkIHRvIG5ldyBzaWduYWwgdG8gcmVtb3ZlIFNTUkMgcGFkcwoKMjAwOS0wNS0yMiAxNjozNToyMCArMDIwMCAgQWxpIFNhYmlsIDxhbGkuc2FiaWwgYXQgZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBzc3JjZGVtdXg6IGVtaXQgc2lnbmFsIHdoZW4gcGFkcyBhcmUgcmVtb3ZlZAoJICBBZGQgYWN0aW9uIHNpZ25hbCB0byBjbGVhciBhbiBTU1JDIGluIHRoZSBzc3JjIGRlbXV4ZXIuCgkgIEFkZCBzaWduYWwgdG8gbm90aWZ5IG9mIHJlbW92ZWQgc3NyYy4KCSAgU2VlICM1NTQ4MzkKCjIwMDktMDUtMjIgMTU6NDU6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiB1c2Ugb3VyIGdob3N0cGFkcyBpbnN0ZWFkIG9mIGl0cyB0YXJnZXQKCSAgU2luY2Ugd2Uga2VlcCBhIHJlZmVyZW5jZSB0byBvdXIgZ2hvc3RwYWRzLCB3ZSBjYW4gdXNlIHRoZW0gdG8gdHJhY2sgc2Vzc2lvbnMuCgkgIFRoaXMgYXZvaWQgdXMgaGF2aW5nIHRvIG1lc3Mgd2l0aCB0aGUgdGFyZ2V0IG9mIHRoZSBnaG9zdHBhZC4KCjIwMDktMDUtMjIgMTU6Mzc6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IG1vcmUgcnRwYmluIGNoZWNrcwoKMjAwOS0wNS0yMiAxNTozNjoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGRvbid0IHdhcm4gd2hlbiBnZXR0aW5nIHJlcXVlc3QgcGFkcyB0d2ljZQoJICBBbGxvdyBnZXR0aW5nIHRoZSByZXF1ZXN0IHBhZHMgbXVsdGlwbGUgdGltZXMsIGp1c3QgcmV0dXJuIHRoZSBwcmV2aW91c2x5CgkgIGNyZWF0ZWQgcGFkcy4KCjIwMDktMDUtMjIgMTM6NDc6MzAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBhZGQgUlRQIGFuZCBSVENQIHNvdXJjZSBhZGRyZXNzCgkgIEFkZCB0aGUgUlRQIGFuZCBSVENQIHNlbmRlciBhZGRyZXNzZXMgaW4gdGhlIHN0YXRzIHN0cnVjdHVyZS4KCjIwMDktMDUtMjIgMTM6NDU6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHJldXNlIHNvdXJjZSBjb2RlIGZvciBTREVTCgkgIFJldXNlIHRoZSBSVFBTb3VyY2Ugb2JqZWN0IHByb3BlcnR5IGluc3RlYWQgb2YgZHVwbGljYXRpbmcgY29kZS4KCjIwMDktMDUtMjIgMTM6NDQ6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IGFkZCBtb3JlIHJ0cGJpbiB0ZXN0cwoKMjAwOS0wNS0yMiAxMjoyMzoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IGFkZCBydHBiaW4gdW5pdCB0ZXN0CgkgIEFkZCB0aGUgYmVnaW5uaW5ncyBvZiBhbiBydHBiaW4gdW5pdCB0ZXN0CgkgIEFkZCBzb21lIG1vcmUgc3R1ZmYgdG8gLmdpdGlnbm9yZQoKMjAwOS0wNS0yMiAxMjoyMDoxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHNldCB0YXJnZXQgc3RhdGUgb24gbmV3IGVsZW1lbnRzCgkgIFNldCB0aGUgc3RhdGUgb24gbmV3bHkgYWRkZWQgZWxlbWVudHMgdG8gdGhlIHN0YXRlIG9mIHRoZSBwYXJlbnQuCgkgIEFkZCBzb21lIGRlYnVnIGluZm8gYW5kIGRvIHNvbWUgY2xlYW51cHMKCjIwMDktMDUtMjIgMTE6NTk6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiB1bnJlZiByZXF1ZXN0cyBwYWRzIGFmdGVyIHJlbGVhc2luZwoKMjAwOS0wNS0yMSAxNjowMDo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBtZW1sZWFrcyBhbmQgcmVmY291bnRzCgkgIFVzZSBjb3JyZWN0IGNvbnN0YW50cyBmb3IgUElEX3R5cGUgc28gdGhhdCB3ZSBjbGVhciB0aGUgcmlnaHQgZmlsdGVyLgoJICBwcm92aWRlX2Nsb2NrIG11c3QgcmV0dXJuIGEgcmVmIHRvIGEgY2xvY2suCgoyMDA5LTA1LTIyIDA5OjU1OjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgYXV0b3Rvb2xzOiBtb3ZlIC1Xbm8tcG9ydGFiaWxpdHkgZm9yIGF1dG9tYWtlIHRvIGNvbmZpZ3VyZS5hYwoKMjAwOS0wNS0yMiAwOTo1NDo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL2dzdGlkM3RhZy5jOgoJKiBnc3QvaWQzdGFnL2dzdGlkM3RhZy5oOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDN0YWc6IGNhbm9uaWNhbGlzZSBmdW5jdGlvbiBuYW1lcwoKMjAwOS0wNS0yMiAwOTo1MToyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL2dzdGlkM3RhZy5jOgoJKiBnc3QvaWQzdGFnL2dzdGlkM3RhZy5oOgoJKiBnc3QvaWQzdGFnL2dzdHRhZ211eC5jOgoJICBpZDN0YWc6IGNoYW5nZSBHVHlwZSB0byBHc3RJZDNUYWcgc28gaXQgZG9lc24ndCBjb25mbGljdCB3aXRoIHRoZSBpZDN0YWcgcGx1Z2luIGluIC11Z2x5CgoyMDA5LTA1LTIyIDAxOjI5OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IHVwZGF0ZSBjb25maWcuaAoKMjAwOS0wNS0yMiAwMToyNzowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL2dzdHRhZ211eC5jOgoJICBpZDN0YWc6IHJlZ2lzdGVyIEdUeXBlIG9mIHRoZSBiYXNlIGNsYXNzIHdpdGggYSBsZXNzIGdlbmVyaWMgbmFtZQoJICAuLiBzbyB3ZSBjYW4gZWFzaWx5IG1vdmUgdGhlIGJhc2UgY2xhc3MgaW50byAtYmFzZSBsYXRlciB3aXRob3V0CgkgIGNhdXNpbmcgR1R5cGUgbmFtZSBjb25mbGljdHMuCgoyMDA5LTA1LTIyIDAxOjA0OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSogbTQvZ3N0LWZpb25yZWFkLm00OgoJICBtNDogZml4ICdzdXNwaWNpb3VzIGNhY2hlIHZhbHVlIGlkJyB3YXJuaW5ncyBpbiBnc3QtZmlvbnJlYWQubTQKCSAgQW5kIHVwZGF0ZSBjb21tb24gdG8gcHVsbCBpbiBhIHJlbGF0ZWQgZml4IGZyb20gdGhlcmUuCgoyMDA5LTA1LTIyIDAxOjQzOjUwICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBJbXBsZW1lbnQgcmVsZWFzaW5nIHRoZSBzdHJlYW1zCgkgIFNlZSAjNTYxNzUyCgoyMDA5LTA1LTIyIDAxOjE2OjExICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBLZWVwIGpiIHNpZ25hbHMgaGFuZGxlcgoJICBLZWVwIHRoZSBzaWduYWwgaGFuZGxlcnMgc28gdGhleSBjYW4gYmUgZGlzY29ubmVjdGVkIGF0IHJlbGVhc2UgdGltZQoJICBTZWUgIzU2MTc1MgoKMjAwOS0wNS0yMiAwMToxMjo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHVzZSB0aGUgcmlnaHQgbG9jayBmb3IgdGhlIHNlc3Npb25zCgkgIFVzZSB0aGUgcmlnaHQgbG9jayB3aGVuIGl0ZXJhdGluZyB0aGUgc2Vzc2lvbnMuCgoyMDA5LTA1LTIyIDAxOjAzOjU1ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBGcmVlIHNlc3Npb24gaWYgcmVxdWVzdCBwYWRzIGFyZSByZWxlYXNlZAoJICBGcmVlIHRoZSBzZXNzaW9uIHdoZW4gYWxsIHRoZSByZXF1ZXN0IHBhZHMgYXJlIHJlbGVhc2VkLgoJICBEb24ndCBtZXNzIHdpdGggdGhlIHNlc3Npb24gbGlzdCBpbiBmcmVlX3Nlc3Npb24gYXMgaXQgaXMgY2FsbGVkIGZyb20gYSBmb3JlYWNoCgkgIG9uIHRoYXQgbGlzdC4KCSAgU2V0IHRoZSBzdGF0ZSBvZiB0aGUgdXBzdHJlYW0gZWxlbWVudCB0byBOVUxMIGZpcnN0LgoJICBTZWUgIzU2MTc1MgoKMjAwOS0wNS0yMiAwMDo1MTo1MyArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogSW1wbGVtZW50IHJlbGFzaW5nIG9mIHRoZSBydHAgcmVjdiBwYWQKCjIwMDktMDUtMjIgMDA6NDQ6NTEgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEltcGxlbWVudCByZWxlYXNpbmcgb2YgcnRwIHNlbmQgcGFkcwoKMjAwOS0wNS0yMiAwMDozNDozNiArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogSW1wbGVtZW50IHJlbGVhc2Ugb2YgdGhlIHJlY3YgcnRjcCBwYWQKCSAgU2VlICM1NjE3NTIKCjIwMDktMDUtMjIgMDA6MTY6MTkgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEltcGxlbWVudCByZWxlYXNpbmcgb2YgcnRjcCBzcmMgcGFkCgkgIFNlZSAjNTYxNzUyCgoyMDA5LTA1LTE4IDIzOjM4OjU5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5oOgoJICBkdHNkZWM6IFJlY29uY2lsZSBlbGVtZW50IGNvZGUgd2l0aCBhNTJkZWMgY2hhbmdlcwoJICBSZS13b3JrIHRoZSBkdHNkZWMgZWxlbWVudCBjb2RlIHRvIHVuaWZ5IGl0IHdpdGggY2hhbmdlcyBtYWRlIGl0IGE1MmRlYywKCSAgaW5jbHVkaW5nIHN1cHBvcnQgZm9yIHJldmVyc2UgcGxheWJhY2sgYW5kIGR5bmFtaWMgY2hhbm5lbCBuZWdvdGlhdGlvbgoJICBvbiB0aGUgc291cmNlIHBhZC4KCjIwMDktMDUtMjEgMjE6MzU6MzIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IFVwZGF0ZSB0aGUgd2luMzIgY29uZmlnLmgKCjIwMDktMDUtMTggMjM6MjE6NDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguaDoKCSAgc2RwZGVtdXg6IHJld29yayBSVENQIHNlbmRpbmcgYW5kIFJUUCByZWNlaXZpbmcKCSAgV2hlbiB3ZSBhcmUgZGVhbGluZyB3aXRoIG11bHRpYXN0LCBjcmVhdGUgdGhlIHVkcCBzcmMgYW5kIHNpbmsgZWxlbWVudHMgcG9pbnRpbmcKCSAgdG8gdGhlIG11bHRpY2FzdCBhZGRyZXNzZXMuIFdoZW4gd2UgYXJlIGRvaW5nIHVuaWNhc3QsIHJlY2VpdmUgZGF0YSBvbiB0aGUgbG9jYWwKCSAgcG9ydHMgYW5kIGRvbid0IHNlbmQgUlRDUCBiZWNhdXNlIHdlIGRvbid0IGtub3cgd2hlcmUgd2UgaGF2ZSB0byBzZW5kIGl0LgoJICBGaXhlcyAjNTgzMTg4CgoyMDA5LTA1LTIxIDEzOjE1OjQ2IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2lkM3RhZy9NYWtlZmlsZS5hbToKCSogZ3N0L2lkM3RhZy9nc3RpZDN0YWcuYzoKCSogZ3N0L2lkM3RhZy9nc3RpZDN0YWcuaDoKCSogZ3N0L2lkM3RhZy9nc3R0YWdtdXguYzoKCSogZ3N0L2lkM3RhZy9nc3R0YWdtdXguaDoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuaDoKCSAgaWQzdGFnOiBBZGQgbmV3IGlkMyB0YWdnaW5nIHBsdWdpbiwgc3VwcG9ydHMgdjEsIHYyLjMsIGFuZCB2Mi40LgoJICBCeSBkZWZhdWx0LCBkb2VzIHYxIGFuZCB2Mi4zLCBidXQgdGhlcmUgYXJlIHByb3BlcnRpZXMgdG8gc2VsZWN0LgoJICBXaWxsIGhvcGVmdWxseSByZXBsYWNlIGlkM211eCwgaWQzdjJtdXgsIGluIHRoZSBub3QtdG9vLWRpc3RhbnQgZnV0dXJlLgoKMjAwOS0wNS0yMSAyMTowMjo1NSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGhhY2tpbmcgLT4gMC4xMC4xMi4xCgo9PT0gcmVsZWFzZSAwLjEwLjEyID09PQoKMjAwOS0wNS0yMCAyMjozMTo1NCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14ZGdtaW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMTIKCjIwMDktMDUtMjAgMjA6NDQ6MTIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA5LTA1LTIwIDE3OjEwOjQwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGY6IEZpeCBmcmFtZV9sYXlvdXQgZm9yIG5vbi1pbnRlcmxhY2VkIGZvcm1hdHMuIEZpeGVzICM1ODMzMzcKCjIwMDktMDUtMTYgMDE6NTg6MzMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjExLjMgcHJlLXJlbGVhc2UKCjIwMDktMDUtMTYgMDE6NTM6MTUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHdpbjMyL01BTklGRVNUOgoJICB3aW4zMjogQWRkIGRpcmVjdGRyYXcgcHJvamVjdCBmaWxlcyB0byB0aGUgd2luMzIgbWFuaWZlc3QKCjIwMDktMDUtMTYgMDE6MTQ6MjMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyZWN0ZHJhdy54bWw6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSAgTW92ZWQgJ2RpcmVjdGRyYXcnIGZyb20gLWdvb2QgdG8gLWJhZAoKMjAwNy0wNi0xNSAwOToxMzo1NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBbTU9WRUQgRlJPTSBHT09EXSB3aW4zMi92czYvOiBNYXJrICouZHNwICYgKi5kc3cgYXMgYmluYXJ5IGZpbGVzIGFuZCBjb252ZXJ0IHRvIERPUyBsaW5lIGVuZGluZ3MsIGFzIHRoZXkgZG9uJ3QgbG9hZCBpbnRvIFZTNiBjb3JyZWN0bHkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvdnM2L2F1dG9nZW4uZHNwOgoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19nb29kLmRzdzoKCSAgKiB3aW4zMi92czYvbGliZ3N0YWxhdy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGFscGhhLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YWxwaGFjb2xvci5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGFwZXRhZy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGF1ZGlvZnguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdXBhcnNlLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YXV0b2RldGVjdC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGF2aS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGN1dHRlci5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGVmZmVjdHYuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RmbHguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3Rnb29tLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0aWN5ZGVtdXguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RpZDNkZW11eC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGludGVybGVhdmUuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RqcGVnLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bGV2ZWwuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RtYXRyb3NrYS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdG1lZGlhbi5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdG1vbm9zY29wZS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdG11bGF3LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bXVsdGlwYXJ0LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cXRkZW11eC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHJ0cC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHJ0c3AuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RzbXB0ZS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHNwZWV4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0dWRwLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0dmlkZW9iYWxhbmNlLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0dmlkZW9ib3guZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2Nyb3AuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2ZsaXAuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb21peGVyLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0d2F2ZWZvcm0uZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R3YXZlbmMuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R3YXZwYXJzZS5kc3A6CgkgIE1hcmsgKi5kc3AgJiAqLmRzdyBhcyBiaW5hcnkgZmlsZXMgYW5kIGNvbnZlcnQgdG8gRE9TIGxpbmUKCSAgZW5kaW5ncywgYXMgdGhleSBkb24ndCBsb2FkIGludG8gVlM2IGNvcnJlY3RseSBvdGhlcndpc2UuCgoyMDA3LTAyLTExIDE1OjI2OjQ5ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBNYWtlZmlsZS5hbTogQWRkIHdpbjMyIE1BTklGRVNUCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICBBZGQgd2luMzIgTUFOSUZFU1QKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIENsZWFyIHVudXNlZCBjb2RlIGFuZCBhZGQgY29tbWVudHMuCgkgIFJlbW92ZSB5dXYgZnJvbSB0ZW1wbGF0ZSBjYXBzLCBpdCBvbmx5IHN1cHBvcnRzIFJHQgoJICBhY3R1YWxseS4KCSAgSW1wbGVtZW50IFhPdmVybGF5IGludGVyZmFjZSBhbmQgcmVtb3ZlIHdpbmRvdyBhbmQgZnVsbHNjcmVlbgoJICBwcm9wZXJ0aWVzLgoJICBBZGQgZGVidWcgbG9ncy4KCSAgVGVzdCBmb3IgYmxpdCBjYXBhYmlsaXRpZXMgdG8gcmV0dXJuIG9ubHkgdGhlIGN1cnJlbnQgY29sb3JzcGFjZSBpZgoJICB0aGUgaGFyZHdhcmUgY2FuJ3QgYmxpdCBmb3Igb25lIGNvbG9yc3BhY2UgdG8gYW5vdGhlci4KCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIEFkZCBzb21lIGRlYnVncy4KCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIFZTNyBwcm9qZWN0IGZpbGVzIGFuZCBzb2x1dGlvbi4KCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cXRkZW11eC5kc3A6CgkgIFVwZGF0ZSBwcm9qZWN0IGZpbGVzLgoKMjAwNi0xMS0wMSAxMDoxOToxOCArMDAwMCAgU2VyZ2V5IFNjb2JpY2ggPHNlcmdleS5zY29iaWNoQGdtYWlsLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy86IFdhaXQgdW50aWwgdGhlIHdpbmRvdyBpcyBjcmVhdGVkIGJlZm9yZSB1c2luZyBpdDsgZ3VhcmQgdW5pc3RkLmggaW5jbHVkZXMgd2l0aCBIQVZFX1VOSVNURF9ILiAoIzM2NjUyMykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZXJnZXkgU2NvYmljaCAgPHNlcmdleSBkb3Qgc2NvYmljaCBhdCBnbWFpbCBjb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3c2lua193aW5kb3dfdGhyZWFkKSwKCSAgKGdzdF9kaXJlY3RkcmF3c2lua19jcmVhdGVfZGVmYXVsdF93aW5kb3cpOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBXYWl0IHVudGlsIHRoZSB3aW5kb3cgaXMgY3JlYXRlZCBiZWZvcmUgdXNpbmcgaXQ7IGd1YXJkIHVuaXN0ZC5oCgkgIGluY2x1ZGVzIHdpdGggSEFWRV9VTklTVERfSC4gKCMzNjY1MjMpCgkgICogd2luMzIvdnM4L2xpYmdzdGRpcmVjdGRyYXcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3Rzb3VuZC52Y3Byb2o6CgkgIFVwZGF0ZSBwcm9qZWN0IGZpbGVzLgoKMjAwNi0wNy0yNCAyMTo0MzowNiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay4qOiBBZGQgYW4gYXR0ZW51YXRpb24gcHJvcGVydHkgdGhhdCB3aWxsIGRpcmVjdGx5IGF0dGVudWF0ZSB0aGUgZGlyZWN0c291bmQgYnVmZmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBBZGQgYW4gYXR0ZW51YXRpb24gcHJvcGVydHkgdGhhdCB3aWxsIGRpcmVjdGx5IGF0dGVudWF0ZSB0aGUKCSAgZGlyZWN0c291bmQgYnVmZmVyLgoJICBDaGFuZ2UgdGhlIHNpemUgb2YgdGhlIGRpcmVjdHNvdW5kIHNlY29uZGFyeSBidWZmZXIgdG8gYSBoYWxmIHNlY29uZC4KCSAgQWRkIG1vcmUgZGVidWcgbG9ncy4KCSAgQWRkIGEgbG9jayB0byBwcm90ZWN0IGRzb3VuZCBidWZmZXIgd3JpdGUgYWNjZXNzLgoJICBGaXggYSBiYWQgaW1wbGVtZW50YXRpb24gb2YgcmVzZXQuCgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIEFkZCBhIGtlZXBfYXNwZWN0X3JhdGlvIHByb3BlcnR5LgoJICBEbyBub3QgdXNlIG92ZXJsYXkgaWYgbm90IHN1cHBvcnRlZC4KCSAgQWRkIG1vcmUgZGVidWcgbG9ncy4KCSAgUmVtb3ZlIG92ZXJ3cml0ZSBvZiBXTV9FUkFTRUJLR05EIG1lc3NhZ2UgaGFuZGxpbmcuIEl0IHdhcyBub3QKCSAgcmVkcmF3aW5nIGJvcmRlciB3aGVuIGtlZXBfYXNwZWN0X3JhdGlvIHdhcyBlbmFibGVkLgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgdXBkYXRlIHZlcnNpb24gd2FpdGluZyBhbiBhdXRvLWdlbmVyYXRlZCBjb25maWcuaAoKMjAwNi0wMy0wMyAyMzo0NToyMyArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzLzogc2lua3MgYXJlIG5vdyB1c2luZyBHU1RfUkFOS19QUklNQVJZIHRvIGJlIHVzZWQgd2l0aCBhdXRvZGVjdGVjdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdzoKCSAgKiBzeXMvZGlyZWN0c291bmQ6CgkgIHNpbmtzIGFyZSBub3cgdXNpbmcgR1NUX1JBTktfUFJJTUFSWSB0byBiZSB1c2VkIHdpdGggYXV0b2RlY3RlY3Rpb24KCSAgKiB3aW4zMi92czY6CgkgIHByb2plY3QgZmlsZXMgdXBkYXRlZCB0byBmaXggc29tZSBidWdzCgkgICogd2luMzIvdnM3OgoJICAqIHdpbjMyL3ZzODoKCSAgdnM3IGFuZCB2czggcHJvamVjdCBmaWxlcyBhZGRlZAoKMjAwNi0wMS0wNSAyMzoxNzo0NCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSogd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwOgoJICBbTU9WRUQgRlJPTSBHT09EXSBhZGRlZCBzeXMvZGlyZWN0ZHJhdyBhZGRlZCBzeXMvZGlyZWN0c291bmQgYWRkZWQgd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3cgYWRkZWQgd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDEtMDUgIFNlYmFzdGllbiBNb3V0dGUgIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCSAgKiBhZGRlZCBzeXMvZGlyZWN0ZHJhdwoJICAqIGFkZGVkIHN5cy9kaXJlY3Rzb3VuZAoJICAqIGFkZGVkIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3CgkgICogYWRkZWQgd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcAoJICAqIGFkZGVkIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3RkcmF3LmRzcAoJICAqIGFkZGVkIHdpbjMyL2NvbW1vbi9jb25maWcuaAoKMjAwOS0wMi0yNyAyMDo0MDozMSArMDEwMCAgTFJOIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIGRpcmVjdGRyYXdzaW5rOiBGaXggdHlwZSBtaXNtYXRjaGVzCgkgIEZpeGVzIGJ1ZyAjNTczMzQzLgoKMjAwOS0wMS0yOSAxMTowNzo1OSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgW01PVkVEIEZST00gR09PRF0gUmVtb3ZlIHZlcnNpb24gbnVtYmVycyBmcm9tIGEgZmV3IGdzdC1sYXVuY2ggZXhhbXBsZXMuCgkgIFRoZSBtYWpvcml0eSBvZiB0aGUgZXhhbXBsZXMgZG9lIG5vdCB1c2UgLTAuMTAgYW5kIHRoaXMgd2lsbCBhbHNvIGhlbHAgdXMgdG8gbWFpbnRhaW4gdGhlIGRvY3MuCgoyMDA5LTAxLTI5IDEwOjEwOjA4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBbTU9WRUQgRlJPTSBHT09EXSBVcGRhdGUgYW5kIGFkZCBkb2N1bWVudGF0aW9uIGZvciBwbGF0Zm9ybSBzcGVjaWZpYyBwbHVnaW5zIChzeXMpLgoJICBMaW5rIHRvIHByb3BlcnRpZXMuIENvcnJlY3QgdGl0bGVzIGZvciBleGFtcGxlcy4gRml4IGV4YW1wbGVzLgoKMjAwOC0xMS0wNCAxMjoyODozNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgW01PVkVEIEZST00gR09PRF0gRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWdvb2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hYWxpYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW5ub2RleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkgICogZXh0L2R2L01ha2VmaWxlLmFtOgoJICAqIGV4dC9lc2QvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZsYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2djb25mL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9oYWwvTWFrZWZpbGUuYW06CgkgICogZXh0L2pwZWcvTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGliY2FjYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlibW5nL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJwbmcvTWFrZWZpbGUuYW06CgkgICogZXh0L21pa21vZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvcHVsc2UvTWFrZWZpbGUuYW06CgkgICogZXh0L3JhdzEzOTQvTWFrZWZpbGUuYW06CgkgICogZXh0L3Nob3V0Mi9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291cC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BlZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FwZXRhZy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXV0b2RldGVjdC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXZpL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jdXR0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZseC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ29vbTJrMS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaWN5ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L2lkM2RlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9sYXcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xldmVsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWVkaWFuL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb25vc2NvcGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlwYXJ0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9vbGRjb3JlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NtcHRlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2JveC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvd2F2ZW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkgICogc3lzL29zcy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkgICogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJICAqIHN5cy9zdW5hdWRpby9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2F2ZWZvcm0vTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZS9NYWtlZmlsZS5hbToKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWdvb2QuCgoyMDA4LTA4LTIxIDIxOjU2OjE5ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MsIGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVycG9vbF9jbGVhcik6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jLAoJICBnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcnBvb2xfY2xlYXIpOgoJICBGaXggdHdvIG1vcmUgYnVmZmVyIHJlZiBsZWFrcy4KCjIwMDgtMDgtMjEgMTU6Mjg6MDkgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiBGaXggYnVmZmVyIHJlZiBsZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyAgPG9sZS5hbmRyZS5yYXZuYXMgYXQgdGFuZGJlcmcgY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUpOgoJICBGaXggYnVmZmVyIHJlZiBsZWFrLgoKMjAwOC0wNS0wNyAxNTozMzo1MiArMDAwMCAgSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbUB0YW5kYmVyZy5jb20+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3NldHVwX2RkcmF3KTogRG8gSURpcmVjdERyYXdDbGlwcGVyX1NldEhXbmQoKSBpZiB0aGUgd2luZG93IEkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltIGF0IHRhbmRiZXJnIGNvbT4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3NldHVwX2RkcmF3KToKCSAgRG8gSURpcmVjdERyYXdDbGlwcGVyX1NldEhXbmQoKSBpZiB0aGUgd2luZG93IElEIGhhcyBhbHJlYWR5IGJlZW4KCSAgc2V0IGFmdGVyIGNyZWF0aW5nIHRoZSBjbGlwcGVyLgoKMjAwOC0wNS0wNyAxNToyODowNiArMDAwMCAgSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbUB0YW5kYmVyZy5jb20+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUpOiBBZGRlZCBjaGVja2luZyBvZiBzdXJmYWNlIGxvc3QgY2FzZSBhZnRlciBhbiB1bnMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltIGF0IHRhbmRiZXJnIGNvbT4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUpOgoJICBBZGRlZCBjaGVja2luZyBvZiBzdXJmYWNlIGxvc3QgY2FzZSBhZnRlciBhbiB1bnN1Y2Nlc3NmdWwKCSAgSURpcmVjdERyYXdTdXJmYWNlN19Mb2NrKCkgY2FsbC4KCSAgSWYgc3VyZmFjZSBpcyBsb3N0LCByZXR1cm4gR1NUX0ZMT1dfT0suCgoyMDA4LTA1LTA3IDE1OjE5OjQ3ICswMDAwICBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltQHRhbmRiZXJnLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltIGF0IHRhbmRiZXJnIGNvbT4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUsCgkgIFduZFByb2MsIGdzdF9kaXJlY3RkcmF3X3Npbmtfd2luZG93X3RocmVhZCk6CgkgIEltcHJvdmVkIFdpbmRvd3MgbWVzc2FnZSBsb29wIGFuZCBmaXhlZCB3aW5kb3cgZGVzdHJ1Y3Rpb24gaXNzdWUuCgkgIFdoZW4gdGhlIHdpbmRvdyB3aGljaCBEaXJlY3REcmF3IGlzIHJlbmRlcmluZyB0byBpcyBkZXN0cm95ZWQsIHRoZQoJICByZW5kZXIvc2hvd19mcmFtZSBmdW5jdGlvbiB3aWxsIHJldHVybiBHU1RfRkxPV19FUlJPUi4KCSAgUGFydGlhbGx5IGZpeGVzICM1MjA4ODUuCgoyMDA4LTA1LTA3IDE1OjA5OjEwICswMDAwICBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltQHRhbmRiZXJnLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2V0X2NhcHMpOiBGaXhlZCBtaWQgc3RyZWFtIHJlc29sdXRpb24gY2hhbmdlIGJ1ZywgdGhlIG9mZnNjci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW0gYXQgdGFuZGJlcmcgY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2V0X2NhcHMpOgoJICBGaXhlZCBtaWQgc3RyZWFtIHJlc29sdXRpb24gY2hhbmdlIGJ1ZywgdGhlIG9mZnNjcmVlbiBzdXJmYWNlIGlzIG5vdwoJICByZWxlYXNlZCB3aGVuIHNldF9jYXBzIGlzIGNhbGxlZC4KCSAgUGFydGlhbGx5IGZpeGVzICM1MjA4ODUuCgoyMDA4LTA1LTA3IDE0OjU2OjIyICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyk6CgkgIE1ha2UgaXQgc28gdGhhdCBnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyB1c2VzIHRoZSByaWdodAoJICB3aWR0aC9oZWlnaHQuCgkgIEVzcGVjaWFsbHkgd2hlbiBsb29raW5nIHRocm91Z2ggdGhlIHBvb2wgb2YgYnVmZmVycywgbWFrZSBzdXJlIHRoYXQKCSAgdGhlIHdpZHRoL2hlaWdodCBvZiBjYXBzIGlzIHVzZWQgaW5zdGVhZCBvZiB0aGUgYWxyZWFkeSBuZWdvdGlhdGVkCgkgIGRpbWVuc2lvbnMuCgkgIEZvciBleGFtcGxlIGlmIGEgYnVmZmVyIHdpdGggZGlmZmVyZW50IGNhcHMgaXMgcmVxdWVzdGVkLCBpLmUuCgkgIGhpZ2hlciByZXNvbHV0aW9uLCB0aGUgY2FsbGVyIHdvdWxkIGdldCBhIGJ1ZmZlciB3aXRoIHRoZSBvbGQKCSAgZGltZW5zaW9ucyBhbmQgdGh1cyBjb3JydXB0IHRoZSBoZWFwLgoKMjAwOC0wNS0wNyAxNDo0MzozOSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MpOgoJICBDbGVhciB0aGUgZmxhZ3Mgb24gcmVjeWNsZWQgYnVmZmVycyBmcm9tIGJ1ZmZlcl9hbGxvYy4KCSAgUGFydGlhbGx5IGZpeGVzICM1MjA4ODUuCgkgIFRoZSByaWdodCBmaXggdGhpcyB0aW1lLgoKMjAwOC0wNS0wNyAxNDozOTo0NSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MpOgoJICBSZXZlcnRpbmcgcHJldmlvdXMgY29tbWl0LCBpdCBoYWQgaXQgYWxsIG1peGVkIHVwLCB3YXMgZm9yIGEgZGlmZmVyZW50CgkgIHBhdGNoIChtYWpvciBhdXRvbWF0aW9uIHNjcmV3LXVwKS4gU29ycnkhCgoyMDA4LTA1LTA3IDEzOjQ4OjI4ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyk6CgkgIENsZWFyIHRoZSBmbGFncyBvbiByZWN5Y2xlZCBidWZmZXJzIGZyb20gYnVmZmVyX2FsbG9jLgoJICBQYXJ0aWFsbHkgZml4ZXMgIzUyMDg4NS4KCjIwMDgtMDItMTIgMTI6MjI6NDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IFByb3Blcmx5IGNoYWluIHVwIGZpbmFsaXplIGZ1bmN0aW9ucy4gRml4ZXMgYnVnICM1MTU5ODAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGRyYXdzdXJmYWNlX2NsYXNzX2luaXQpLCAoZ3N0X2RkcmF3c3VyZmFjZV9maW5hbGl6ZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2ZpbmFsaXplKToKCSAgUHJvcGVybHkgY2hhaW4gdXAgZmluYWxpemUgZnVuY3Rpb25zLiBGaXhlcyBidWcgIzUxNTk4MC4KCjIwMDgtMDEtMDcgMTY6NDE6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiBGQUxTRSBpcyBub3QgYSBncG9pbnRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfd2luZG93X3RocmVhZCk6CgkgIEZBTFNFIGlzIG5vdCBhIGdwb2ludGVyLgoKMjAwOC0wMS0wNSAyMToyMDowOCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiBNYWtlIHN1cmUgd2UgY3JlYXRlIG91ciBpbnRlcm5hbCB3aW5kb3cgb25seSB3aGVuIHdlIG5lZWQgaXQuIFRoYXQgd2lsbCBnaXZlIGEgY2guLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDEtMDUgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2V0X3dpbmRvd19pZCksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3NldF9jYXBzKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfZHJhd19ib3JkZXJzKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3NldHVwX2RkcmF3KSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfd2luZG93X3RocmVhZCksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2dldF9kZHJhd2NhcHMpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zdXJmYWNlX2NyZWF0ZSk6IE1ha2Ugc3VyZSB3ZSBjcmVhdGUgb3VyCgkgIGludGVybmFsIHdpbmRvdyBvbmx5IHdoZW4gd2UgbmVlZCBpdC4gVGhhdCB3aWxsIGdpdmUgYSBjaGFuY2UgdG8KCSAgdGhlIGFwcGxpY2F0aW9uIHRvIGdldCB0aGUgcHJlcGFyZS14d2luZG93LWlkIGJ1cyBtZXNzYWdlLiBEcmF3CgkgIGJsYWNrIGJvcmRlcnMgd2hlbiBrZWVwaW5nIGFzcGVjdCByYXRpby4gSGFuZGxlIHRoZSBjYXNlIHdoZXJlCgkgIG91cgoJICByZW5kZXJpbmcgd2luZG93IGRpc2FwcGVhcnMgKGNsb3NlZCBvciBlcnJvcnMpIGxpa2Ugb3RoZXIgc2lua3MKCSAgZG8uIFZhcmlvdXMgODAgY29sdW1ucyBmaXhlcywgaW1wcm92ZSBzdGF0ZSBjaGFuZ2Ugb3JkZXIuIFRoYXQKCSAgZWxlbWVudCBjb3VsZCBuZWVkIHNvbWUgbW9yZSBsb3ZlLgoKMjAwNy0wOS0yMiAwODoxMjo1NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBbTU9WRUQgRlJPTSBHT09EXSBmaXggaGVhZGVyIGFuZCBjb21tZW50cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGhlYWRlciBhbmQgY29tbWVudHMKCjIwMDctMDYtMTQgMTI6MTQ6MjQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgW01PVkVEIEZST00gR09PRF0gTWFrZSBzdXJlIHRvIGRpc3QgZXZlcnl0aGluZyBuZWVkZWQgZm9yIHdpbjMyIGJ1aWxkcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkgICogc3lzL3dhdmVmb3JtL01ha2VmaWxlLmFtOgoJICBNYWtlIHN1cmUgdG8gZGlzdCBldmVyeXRoaW5nIG5lZWRlZCBmb3Igd2luMzIgYnVpbGRzLgoKMjAwNy0wNi0wOCAxNjozMToxNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBSZW5hbWUgdGhlIGtlZXAtYXNwZWN0LXJhdGlvIHByb3BlcnR5IHRvIGZvcmNlLWFzcGVjdC1yYXRpbyB0byBtYWtlIGl0IGNvbnNpc3RlbnQgd2l0aCB4dmltYWdlc2luayBhbmQgeGltYWdlc2luay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfY2xhc3NfaW5pdCk6CgkgIFJlbmFtZSB0aGUga2VlcC1hc3BlY3QtcmF0aW8gcHJvcGVydHkgdG8gZm9yY2UtYXNwZWN0LXJhdGlvIHRvIG1ha2UKCSAgaXQgY29uc2lzdGVudCB3aXRoIHh2aW1hZ2VzaW5rIGFuZCB4aW1hZ2VzaW5rLgoKMjAwNy0wNS0yNCAwODozNToyMyArMDAwMCAgVmluY2VudCBUb3JyaSA8dnRvcnJpQHVuaXYtZXZyeS5mcj4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLio6IEZpeCBtb3JlIHdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHdpdGggTWluZ1cgKCM0Mzk5MTQpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFZpbmNlbnQgVG9ycmkgIDx2dG9ycmkgYXQgdW5pdi1ldnJ5IGZyPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19jaGVja19wcmltYXJ5X3N1cmZhY2UpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19jaGVja19vZmZzY3JlZW5fc3VyZmFjZSksCgkgIChFbnVtTW9kZXNDYWxsYmFjazIpLCAoZ3N0X2RpcmVjdGRyYXdfc2lua19nZXRfZGRyYXdjYXBzKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc3VyZmFjZV9jcmVhdGUpOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIEZpeCBtb3JlIHdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHdpdGggTWluZ1cgKCM0Mzk5MTQpLgoKMjAwNy0wNS0yMCAxNDo1OTo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IEJ1bmNoIG9mIHNtYWxsIGZpeGVzOiByZW1vdmUgc3RhdGljIGZ1bmN0aW9uIHRoYXQgZG9lc24ndCBleGlzdDsgZGVjbGFyZSBhbm90aGVyIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiAoZ3N0X2RkcmF3c3VyZmFjZV9maW5hbGl6ZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2dldF9kZHJhd2NhcHMpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zdXJmYWNlX2NyZWF0ZSk6CgkgIEJ1bmNoIG9mIHNtYWxsIGZpeGVzOiByZW1vdmUgc3RhdGljIGZ1bmN0aW9uIHRoYXQgZG9lc24ndCBleGlzdDsKCSAgZGVjbGFyZSBhbm90aGVyIG9uZSB0aGF0IGRvZXM7IHByaW50ZiBmb3JtYXQgZml4OyB1c2UgcmlnaHQgbWFjcm8KCSAgd2hlbiBzcGVjaWZ5aW5nIGRlYnVnIGNhdGVnb3J5OyByZW1vdmUgYSBidW5jaCBvZiB1bnVzZWQgdmFyaWFibGVzOwoJICAjaWYgMCBvdXQgYW4gdW51c2VkIGNodW5rIG9mIGNvZGUgKHBhcnRpYWxseSBmaXhlcyAjNDM5OTE0KS4KCjIwMDctMDUtMTUgMTc6MjI6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBBZGQgRElSRUNURFJBV19DRkxBR1MgYW5kIERJUkVDVFNPVU5EX0NGTEFHUyB0byBNYWtlZmlsZS5hbTsgc2F2ZSBhbmQgcmVzdG9yZSB0aGUgdmFyaW91cyBmbGFncyBpbiB0aGUgZGlyZWN0ZHJhdy9kaXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSAgQWRkIERJUkVDVERSQVdfQ0ZMQUdTIGFuZCBESVJFQ1RTT1VORF9DRkxBR1MgdG8gTWFrZWZpbGUuYW07IHNhdmUKCSAgYW5kIHJlc3RvcmUgdGhlIHZhcmlvdXMgZmxhZ3MgaW4gdGhlIGRpcmVjdGRyYXcvZGlyZWN0c291bmQKCSAgZGV0ZWN0aW9uIHNlY3Rpb24uIEFwcGFyZW50bHkgaW1wcm92ZXMgY3Jvc3MtY29tcGlsaW5nIGZvciB3aW4zMgoJICB3aXRoIG1pbmd3MzIgdW5kZXIgc29tZSBjaXJjdW1zdGFuY2VzICgjNDM3NTM5KS4KCjIwMDctMDQtMjkgMTM6NTY6MTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgW01PVkVEIEZST00gR09PRF0gODAgY2hhciBwb2xpY2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDgwIGNoYXIgcG9saWNlCgoyMDA3LTAzLTExIDIyOjIzOjA0ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay4qOiBIYW5kbGUgZGlzcGxheSBtb2RlIGNoYW5nZXMgZHVyaW5nIHBsYXliYWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIEhhbmRsZSBkaXNwbGF5IG1vZGUgY2hhbmdlcyBkdXJpbmcgcGxheWJhY2suCgoyMDA3LTAyLTI3IDEyOjAyOjAzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHVwZGF0ZSBjb3B5cmlnaHQgc3RhdGVtZW50cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIGNvcHlyaWdodCBzdGF0ZW1lbnRzCgoyMDA3LTAyLTE4IDE4OjAwOjUxICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy86IFByZXBhcmUgdGhlIHBsdWdpbiB0byBtb3ZlIHRvIGdvb2Q6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIFByZXBhcmUgdGhlIHBsdWdpbiB0byBtb3ZlIHRvIGdvb2Q6CgkgIFJlbW92ZSB1bnVzZWQvdW50ZXN0ZWQgY29kZSAocmVuZGVyaW5nIHRvIGFuIGV4dGVybiBzdXJmYWNlLAoJICB5dXYgZm9ybWF0IHJlbmRlcmluZykuVXNlIEdTVF8oREVCVUcvKilfT0JKRUNUIG1hY3JvcwoJICBSZW5hbWUgYWxsIGZ1bmN0aW9ucyBmcm9tIGdzdF9kaXJlY3RkcmF3c2luayB0byBnc3RfZGlyZWN0ZHJhd19zaW5rLgoJICBBZGQgZ3RrIGRvYyBzZWN0aW9uCgkgIEZpeCBhIGJ1ZyBpbiBnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUsIG1lbWNweSBsaW5lIGJ5IGxpbmUKCSAgcmVzcGVjdGluZyBkZXN0aW5hdGlvbiBzdXJmYWNlIHN0cmlkZS4KCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICBQcmVwYXJlIHRoZSBwbHVnaW4gdG8gbW92ZSB0byBnb29kOgoJICBSZW5hbWUgYWxsIGZ1bmN0aW9ucyBmcm9tIGdzdF9kaXJlY3Rzb3VuZHNpbmsgdG8gZ3N0X2RpcmVjdHNvdW5kX3NpbmsuCgkgIEFkZCBndGsgZG9jIHNlY3Rpb24KCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmguaW46CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCBjb25maWcuaC5pbgoKMjAwNy0wMi0xMSAxNToyNjo0OSArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gR09PRF0gTWFrZWZpbGUuYW06IEFkZCB3aW4zMiBNQU5JRkVTVAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgQWRkIHdpbjMyIE1BTklGRVNUCgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBDbGVhciB1bnVzZWQgY29kZSBhbmQgYWRkIGNvbW1lbnRzLgoJICBSZW1vdmUgeXV2IGZyb20gdGVtcGxhdGUgY2FwcywgaXQgb25seSBzdXBwb3J0cyBSR0IKCSAgYWN0dWFsbHkuCgkgIEltcGxlbWVudCBYT3ZlcmxheSBpbnRlcmZhY2UgYW5kIHJlbW92ZSB3aW5kb3cgYW5kIGZ1bGxzY3JlZW4KCSAgcHJvcGVydGllcy4KCSAgQWRkIGRlYnVnIGxvZ3MuCgkgIFRlc3QgZm9yIGJsaXQgY2FwYWJpbGl0aWVzIHRvIHJldHVybiBvbmx5IHRoZSBjdXJyZW50IGNvbG9yc3BhY2UgaWYKCSAgdGhlIGhhcmR3YXJlIGNhbid0IGJsaXQgZm9yIG9uZSBjb2xvcnNwYWNlIHRvIGFub3RoZXIuCgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBBZGQgc29tZSBkZWJ1Z3MuCgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCBWUzcgcHJvamVjdCBmaWxlcyBhbmQgc29sdXRpb24uCgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3c6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHF0ZGVtdXguZHNwOgoJICBVcGRhdGUgcHJvamVjdCBmaWxlcy4KCjIwMDctMDEtMDMgMTk6NTQ6MzMgKzAwMDAgIFZpbmNlbnQgVG9ycmkgPHZ0b3JyaUB1bml2LWV2cnkuZnI+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBBZGQgZGlyZWN0ZHJhd3NpbmsgdG8gYnVpbGQgYW5kIGRpc3QgaXQsIHNvIGl0IGdldHMgYnVpbHQgd2hlbiBjb21waWxpbmcgd2l0aCBNaW5nVyBvbiB3aW4zMiBhbmQgdGhlIHJlcXVpcmVkIGhlYWRlcnMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBWaW5jZW50IFRvcnJpICA8dnRvcnJpIGF0IHVuaXYtZXZyeSBmcj4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJICBBZGQgZGlyZWN0ZHJhd3NpbmsgdG8gYnVpbGQgYW5kIGRpc3QgaXQsIHNvIGl0IGdldHMgYnVpbHQgd2hlbgoJICBjb21waWxpbmcgd2l0aCBNaW5nVyBvbiB3aW4zMiBhbmQgdGhlIHJlcXVpcmVkIGhlYWRlcnMgYW5kIGxpYnJhcmllcwoJICBhcmUgYXZhaWxhYmxlIChmaXhlczogIzM5MjMxMykuCgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3c2lua19jZW50ZXJfcmVjdCksIChnc3RfZGlyZWN0ZHJhd3Npbmtfc2hvd19mcmFtZSksCgkgIChnc3RfZGlyZWN0ZHJhd3Npbmtfc2V0dXBfZGRyYXcpLAoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX3N1cmZhY2VfY3JlYXRlKToKCSAgQ29tbWVudCBvdXQgc29tZSB1bnVzZWQgdGhpbmdzIGFuZCBmaXggc29tZSBwcmludGYgZm9ybWF0IGlzc3VlcyBpbgoJICBvcmRlciB0byBhdm9pZCB3YXJuaW5ncyB3aGVuIGJ1aWxkbGluZyB3aXRoIE1pbmdXICgjMzkyMzEzKS4KCjIwMDYtMTEtMDEgMTA6MTk6MTggKzAwMDAgIFNlcmdleSBTY29iaWNoIDxzZXJnZXkuc2NvYmljaEBnbWFpbC5jb20+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvOiBXYWl0IHVudGlsIHRoZSB3aW5kb3cgaXMgY3JlYXRlZCBiZWZvcmUgdXNpbmcgaXQ7IGd1YXJkIHVuaXN0ZC5oIGluY2x1ZGVzIHdpdGggSEFWRV9VTklTVERfSC4gKCMzNjY1MjMpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2VyZ2V5IFNjb2JpY2ggIDxzZXJnZXkgZG90IHNjb2JpY2ggYXQgZ21haWwgY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd3Npbmtfd2luZG93X3RocmVhZCksCgkgIChnc3RfZGlyZWN0ZHJhd3NpbmtfY3JlYXRlX2RlZmF1bHRfd2luZG93KToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgV2FpdCB1bnRpbCB0aGUgd2luZG93IGlzIGNyZWF0ZWQgYmVmb3JlIHVzaW5nIGl0OyBndWFyZCB1bmlzdGQuaAoJICBpbmNsdWRlcyB3aXRoIEhBVkVfVU5JU1REX0guICgjMzY2NTIzKQoJICAqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3RkcmF3LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0c291bmQudmNwcm9qOgoJICBVcGRhdGUgcHJvamVjdCBmaWxlcy4KCjIwMDYtMDctMjQgMjE6NDM6MDYgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuKjogQWRkIGFuIGF0dGVudWF0aW9uIHByb3BlcnR5IHRoYXQgd2lsbCBkaXJlY3RseSBhdHRlbnVhdGUgdGhlIGRpcmVjdHNvdW5kIGJ1ZmZlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgQWRkIGFuIGF0dGVudWF0aW9uIHByb3BlcnR5IHRoYXQgd2lsbCBkaXJlY3RseSBhdHRlbnVhdGUgdGhlCgkgIGRpcmVjdHNvdW5kIGJ1ZmZlci4KCSAgQ2hhbmdlIHRoZSBzaXplIG9mIHRoZSBkaXJlY3Rzb3VuZCBzZWNvbmRhcnkgYnVmZmVyIHRvIGEgaGFsZiBzZWNvbmQuCgkgIEFkZCBtb3JlIGRlYnVnIGxvZ3MuCgkgIEFkZCBhIGxvY2sgdG8gcHJvdGVjdCBkc291bmQgYnVmZmVyIHdyaXRlIGFjY2Vzcy4KCSAgRml4IGEgYmFkIGltcGxlbWVudGF0aW9uIG9mIHJlc2V0LgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBBZGQgYSBrZWVwX2FzcGVjdF9yYXRpbyBwcm9wZXJ0eS4KCSAgRG8gbm90IHVzZSBvdmVybGF5IGlmIG5vdCBzdXBwb3J0ZWQuCgkgIEFkZCBtb3JlIGRlYnVnIGxvZ3MuCgkgIFJlbW92ZSBvdmVyd3JpdGUgb2YgV01fRVJBU0VCS0dORCBtZXNzYWdlIGhhbmRsaW5nLiBJdCB3YXMgbm90CgkgIHJlZHJhd2luZyBib3JkZXIgd2hlbiBrZWVwX2FzcGVjdF9yYXRpbyB3YXMgZW5hYmxlZC4KCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHVwZGF0ZSB2ZXJzaW9uIHdhaXRpbmcgYW4gYXV0by1nZW5lcmF0ZWQgY29uZmlnLmgKCjIwMDYtMDYtMTIgMTA6NTM6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBleHQvbGlibW1zL2dzdG1tcy5jOiBTZXQgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19jcmVhdGUpOgoJICBTZXQgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IChnc3RfZGlyZWN0ZHJhd3NpbmtfaW5pdCk6CgkgIENvbW1lbnQgb3V0IHVudXNlZCBnbG9iYWwgaW5zdGFuY2UgdmFyaWFibGUuCgoyMDA2LTA2LTAxIDIyOjAwOjI2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBGaXggbW9yZSBnb2JqZWN0IG1hY3Jvczogb2JqPC0+a2xhc3MsIEdzdFhYWDwtPkdzdFhYWENsYXNzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5oOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5oOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5oOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmg6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuaDoKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmg6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5oOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmg6CgkgICogZXh0L2J6Mi9nc3RiejJlbmMuaDoKCSAgKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuaDoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5oOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuaDoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5oOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuaDoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5oOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmg6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZW5jLmg6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5oOgoJICAqIGV4dC9uYXMvbmFzc2luay5oOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgICogZXh0L3BvbHlwL3BvbHlwc2luay5oOgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmg6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDoKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuaDoKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuaDoKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5oOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmg6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuaDoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5oOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICAqIGV4dC94aW5lL2dzdHhpbmUuaDoKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmg6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5oOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmg6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuaDoKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmg6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmg6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5Lmg6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmg6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmg6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmg6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5oOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5Lmg6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuaDoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5oOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmg6CgkgICogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5oOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5oOgoJICAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmg6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaDoKCSAgKiBnc3QvdHRhL2dzdHR0YWRlYy5oOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuaDoKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5oOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguaDoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmg6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5oOgoJICAqIHN5cy92Y2QvdmNkc3JjLmg6CgkgIEZpeCBtb3JlIGdvYmplY3QgbWFjcm9zOiBvYmo8LT5rbGFzcywgR3N0WFhYPC0+R3N0WFhYQ2xhc3MKCjIwMDYtMDQtMjUgMjE6NTY6MzggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIERlZmluZSBHc3RFbGVtZW50RGV0YWlscyBhcyBjb25zdCBhbmQgYWxzbyBzdGF0aWMgKHdoZW4gZGVmaW5lZCBhcyBnbG9iYWwpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuYzoKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkgICogZXh0L2J6Mi9nc3RiejJlbmMuYzoKCSAgKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19iYXNlX2luaXQpOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19iYXNlX2luaXQpOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2Jhc2VfaW5pdCk6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOiAoZ3N0X2NkeGFfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9iYXNlX2luaXQpOgoJICAqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFzZV9pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgICogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOiAoZ3N0X3B1enpsZV9iYXNlX2luaXQpOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuYzoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSAgKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzoKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSAgKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmM6IChnc3RfdHRhX2RlY19iYXNlX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSAgKiBnc3QvdmlydHVhbGR1Yi9nc3R4c2hhcnBlbi5jOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogKGdzdF94aW5nX211eF9iYXNlX2luaXQpOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgICogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgICogc3lzL3ZjZC92Y2RzcmMuYzogKGdzdF92Y2RzcmNfYmFzZV9pbml0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOgoJICBEZWZpbmUgR3N0RWxlbWVudERldGFpbHMgYXMgY29uc3QgYW5kIGFsc28gc3RhdGljICh3aGVuIGRlZmluZWQgYXMKCSAgZ2xvYmFsKQoKMjAwNi0wNC0wMSAxMDowOToxMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHJld29yayBidWlsZDsgYWRkIHRyYW5zbGF0aW9ucyBmb3IgdjRsMgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV3b3JrIGJ1aWxkOyBhZGQgdHJhbnNsYXRpb25zIGZvciB2NGwyCgoyMDA2LTAzLTAzIDIzOjQ1OjIzICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvOiBzaW5rcyBhcmUgbm93IHVzaW5nIEdTVF9SQU5LX1BSSU1BUlkgdG8gYmUgdXNlZCB3aXRoIGF1dG9kZWN0ZWN0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3OgoJICAqIHN5cy9kaXJlY3Rzb3VuZDoKCSAgc2lua3MgYXJlIG5vdyB1c2luZyBHU1RfUkFOS19QUklNQVJZIHRvIGJlIHVzZWQgd2l0aCBhdXRvZGVjdGVjdGlvbgoJICAqIHdpbjMyL3ZzNjoKCSAgcHJvamVjdCBmaWxlcyB1cGRhdGVkIHRvIGZpeCBzb21lIGJ1Z3MKCSAgKiB3aW4zMi92czc6CgkgICogd2luMzIvdnM4OgoJICB2czcgYW5kIHZzOCBwcm9qZWN0IGZpbGVzIGFkZGVkCgoyMDA2LTAxLTA1IDIzOjE3OjQ0ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIGFkZGVkIHN5cy9kaXJlY3RkcmF3IGFkZGVkIHN5cy9kaXJlY3Rzb3VuZCBhZGRlZCB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdyBhZGRlZCB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMS0wNSAgU2ViYXN0aWVuIE1vdXR0ZSAgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoJICAqIGFkZGVkIHN5cy9kaXJlY3RkcmF3CgkgICogYWRkZWQgc3lzL2RpcmVjdHNvdW5kCgkgICogYWRkZWQgd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3cKCSAgKiBhZGRlZCB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwCgkgICogYWRkZWQgd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwCgkgICogYWRkZWQgd2luMzIvY29tbW9uL2NvbmZpZy5oCgoyMDA5LTA1LTE1IDEwOjQ1OjQ1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazogRml4IHJlc2V0dGluZyBvZiB0aGUgc2luayBpbiBOVUxMCgkgIFJlc2V0IHRoZSBmcHNkaXNwbGF5c2luayBpbiBOVUxMIGJ5IHJlbW92aW5nIHRoZSB0ZXh0b3ZlcmxheSBpZiB3ZQoJICBjcmVhdGVkIGl0LgoJICBGaXhlczogIzU4MjYzMwoKMjAwOS0wNS0xNiAwMDoxNzowMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJKiBnc3QveTRtL3k0bWVuYy52Y3Byb2o6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzoKCSAgTW92ZWQgJ3k0bWVuYycgZnJvbSAtYmFkIHRvIC1nb29kCgoyMDA5LTA1LTE1IDE4OjI0OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL01ha2V2YXJzOgoJICBwbzogYWRkIE1ha2V2YXJzIG1hZ2ljIHNvIHdlIGRvbid0IGdldCBsaW5lIG51bWJlcnMgaW4gKi5wbyBmaWxlcwoJICBUaGlzIGF2b2lkcyB0aGUgbnVtYmVyIG9uZSByZWFzb24gZm9yIGxvY2FsIG1vZGlmaWNhdGlvbnMgaW4gKi5wbwoJICBmaWxlcyBhbmQgYW5kIG1ha2VzIHRoaW5ncyBsZXNzIGFubm95aW5nIHdoZW4gd29ya2luZyB3aXRoIGdpdCAob3IKCSAgYW55IG90aGVyIFZDUyBmb3IgdGhhdCBtYXR0ZXIpLgoKMjAwOS0wNS0xNSAwMTo1NDo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgW3F0bXV4XSBGaXhlcyBzZWdmYXVsdCB3aGVuIGFkZGluZyBhIGJsb2IgYXMgZmlyc3QgdGFnLgoJICBNb3ZlcyB0YWdzIGRhdGEgaW5pdGlhbGl6YXRpb24gdG8gdGhlIGZ1bmN0aW9uIHRoYXQgYWN0dWFsbHkgYXBwZW5kcwoJICB0aGUgdGFncyB0byB0aGUgbGlzdC4gRml4ZXMgIzU4MjcwMgoJICBBbHNvIGZpeGVzIHNvbWUgc3R5bGUgY2F1Z2h0IGJ5IHRoZSBwcmUtY29tbWl0IGhvb2suCgoyMDA5LTA1LTE0IDIxOjIwOjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBteGZkZW11eDogVXNlIGEgUlcgbG9jayB0byBwcm90ZWN0IG1ldGFkYXRhIGFuZCBhZGQgYWxsIHBhZHMgYXQgb25jZSB3aXRob3V0IGEgbG9jayBoZWxkCgkgIFRoaXMgbWFrZXMgaXQgcG9zc2libGUsIGFtb25nIG90aGVyIHRoaW5ncywgdG8gZG8gYSBxdWVyeSBpbiB0aGUKCSAgcGFkLWFkZGVkIGNhbGxiYWNrLgoJICBGaXhlcyBidWcgIzU4MjY1Ni4KCjIwMDktMDUtMTQgMTA6MzQ6MDggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogRml4IHRoZSBhcmd1bWVudCBvcmRlciBpbiBhIGRlYnVnIHN0YXRlbWVudAoJICBNYWtlIHRoZSBkZWJ1ZyBzdGF0ZW1lbnQgY29ycmVjdGx5IHNob3cgdGhlICdvbGQnIGFuZCAnbmV3JyBidXR0b24KCSAgY29vcmRpbmF0ZXMsIGluc3RlYWQgb2YgdGhlIHdyb25nIHdheSBhcm91bmQuCgoyMDA5LTA1LTE0IDA5OjUzOjI1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguaDoKCSAgcmVzaW5kdmQ6IE1ha2Ugc2VnbWVudCB1cGRhdGVzIGxlc3MgYWdncmVzc2l2ZS4KCSAgV2hlbiB1cGRhdGluZyBhIHBhZCwgc2VuZCB0aGUgdXBkYXRlIHRvIGhhbGYgYSBzZWNvbmQgYmVoaW5kIHRoZSBTQ1IsCgkgIHdoaWNoIGF2b2lkcyBldmVyIHVwZGF0aW5nIHRoZSBzdGFydCB0aW1lIGZvciBhIHBhZCB0byBiZXlvbmQgdGhlIGVuZCBvZgoJICB0aGUgY2VsbC4gQWxzbywgcmVtZW1iZXIgdGhlIGxhc3QgYWN0dWFsIG5ldy1zZWdtZW50IHN0YXJ0IHRpbWUgZm9yIGVhY2gKCSAgcGFkLCBhbmQgdXNlIGl0IHdoZW4gY2xvc2luZyB0aGUgc2VnbWVudC4KCjIwMDktMDUtMTMgMTI6NDc6NDMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogUmV3b3JrIGJ1dHRvbiBoaWdobGlnaHQgY2FsY3VsYXRpb24gc2xpZ2h0bHkKCSAgV2hlbiB0aGUgY3VycmVudCBidXR0b24gbnVtYmVyIGlzIGhpZ2hlciB0aGFuIHRoZSBudW1iZXIgb2YgYXZhaWxhYmxlCgkgIGJ1dHRvbnMsIHN3aXRjaCB0byB0aGUgaGlnaGVzdCBudW1iZXJlZCBidXR0b24gcmF0aGVyIHRoYW4gdGhlIGxvd2VzdC4KCSAgQWxzbywgZG9uJ3QgdGhyb3cgZXJyb3JzIHdoZW4gd2UgZmFpbCB0byByZXRyaWV2ZSBzb21lIGJ1dHRvbiBpbmZvCgkgIGZyb20gbGliZHZkbmF2LCBqdXN0IHJlc2V0IHRoZSBoaWdobGlnaHQuCgoyMDA5LTA1LTEyIDIzOjQyOjAwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIHJlc2luZHZkOiBTZW5kIGNvbW1hbmRzLWNoYW5nZWQgb24gYnV0dG9uIGNoYW5nZSBhbmQgaGFuZGxlIGNvbW1hbmRzIHF1ZXJ5CgkgIFNlbmQgdGhlIGNvbW1hbmRzLWNoYW5nZWQgbmF2aWdhdGlvbiBtZXNzYWdlIHdoZW4gdGhlIHNldCBvZiBhdmFpbGFibGUKCSAgRFZEIG1lbnUgYnV0dG9uIGFjdGlvbnMgY2hhbmdlcywgYW5kIGhhbmRsZSB0aGUgY29tbWFuZHMgbmF2aWdhdGlvbgoJICBxdWVyeSBzbyB0aGF0IChlLmcuKSBUb3RlbSBjYW4ga25vdyBhYm91dCB0aGUgYXZhaWxhYmxlIG5hdmlnYXRpb24KCSAgY29tbWFuZHMuCgoyMDA5LTA1LTE0IDA4OjQyOjI0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IEZpeCBhIGxlYWsgb2YgdGhlIERWRCB0aXRsZSBzdHJpbmcKCjIwMDktMDUtMTQgMTA6NTU6MzggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogUHVzaCB1cGRhdGUgZnJhbWUsIGlmIGFueSwgd2hlbiBlbnRlcmluZyBzdGlsbHMuCgkgIFdoZW4gZW50ZXJpbmcgYSBzdGlsbCBmcmFtZSBnZW5lcmF0ZXMgYW4gdXBkYXRlZCBidWZmZXIsIG1ha2Ugc3VyZQoJICB0byBwdXNoIGl0IG91dCwgb3RoZXJ3aXNlIHdlIG1heSBub3QgcHV0IGEgZnJhbWUgb25zY3JlZW4gd2l0aCBhCgkgIHJlbmRlcmVkIGJ1dHRvbiwgY2F1c2luZyByYWNpbmVzcyBhcyB0byB3aGV0aGVyIGJ1dHRvbnMgZ2V0IGRyYXduCgkgIG9yIG5vdCB3aGVuIGp1bXBpbmcgYmFjayB0byB0aGUgbWVudSBvbiBzb21lIGRpc2NzLgoKMjAwOS0wNS0xMyAxMDoyOTozNiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5oOgoJICByZXNpbmR2ZDogRml4IHJhY2luZXNzIGluIHJzbmR2ZGJpbiB3aGVuIGluaXRpYWxseSBjcmVhdGluZyBwYWRzCgkgIFByb3RlY3QgcGFkIGV4cG9zdXJlIHdpdGggYSBwcmVyb2xsIGxvY2sgdG8gYXZvaWQgc2l0dWF0aW9ucwoJICB3aGVyZSBuby1tb3JlLXBhZHMgaXMgZmlyZWQgbW9yZSB0aGFuIG9uY2UsIG9yIGZpcmVkIGp1c3QgYmVmb3JlCgkgIHRoZSBsYXN0IHBhZCBpcyBhY3R1YWxseSBhZGRlZC4KCjIwMDktMDUtMTMgMTc6NTU6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICB5NG1lbmM6IGNoYW5nZSBteSBlbWFpbAoJICBjaGFuZ2UgbXkgZW1haWwgdG8gc29tZXRoaW5nIG1vcmUgY3VycmVudAoJICBTZWUgIzU4MDc4MwoKMjAwOS0wNS0xMyAxNzo1NDo0NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIHk0bWVuYzogZG9uJ3Qgc3RyaXAgdGltZXN0YW1wcwoJICBGaXhlcyAjNTgyNDgzCgoyMDA5LTA1LTEzIDEwOjQ3OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkqIGdzdC9kZWludGVybGFjZS8uZ2l0aWdub3JlOgoJKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWludGVybGFjZS9kZWludGVybGFjZS52Y3Byb2o6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWhtYWNyb3MuaDoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL21teC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9wbHVnaW5zLmg6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zc2UuaDoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3AwQS5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEJvdHRvbS5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEVkZ2VBLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wRWRnZUE4LmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQS5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEEyLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQTYuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBSC5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEFIMi5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFRvcC5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFZBLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVkFILmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TdHJhbmdlQm9iLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsMi5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvV2llcmRCb2IuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL3RvbXNtb2NvbXBtYWNyb3MuaDoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZXRmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS94ODYtNjRfbWFjcm9zLmluYzoKCSAgTW92ZWQgJ2RlaW50ZXJsYWNlMicgZnJvbSAtYmFkIHRvIC1nb29kCgkgIEFuZCByZW1vdmUgb2xkIGRlaW50ZXJsYWNlIHBsdWdpbiBhcyBkZWludGVybGFjZTIgd2lsbAoJICBiZSBjYWxsZWQgZGVpbnRlcmxhY2UgaW4gLWdvb2QuCgoyMDA5LTA1LTEyIDIxOjUwOjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdmRlbXV4LnhtbDoKCSogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5oOgoJICBNb3ZlZCAnZmx2JyBmcm9tIC1iYWQgdG8gLWdvb2QKCjIwMDktMDUtMTIgMDA6NTA6MDEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjExLjIgcHJlLXJlbGVhc2UKCjIwMDktMDUtMTEgMTc6NTA6NDEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5oOgoJICByZXNpbmR2ZDogTW9kaWZ5IHRoZSBzZWdtZW50IHVwZGF0ZSBsb2dpYwoJICBTZW5kIHNlZ21lbnQgdXBkYXRlcyB0byB0aGUgYXVkaW8gYW5kIHN1YnBpY3R1cmUgcGFkcyBtb3JlIGZyZXF1ZW50bHksCgkgIGJ1dCBsZXNzIG9mdGVuIHRvIHRoZSB2aWRlbyBwYWQsIHdoZXJlIHRpbWVzdGFtcHMgYXBwZWFyIGxlc3Mgb2Z0ZW4uCgkgIFRoaXMgaGVscHMgd2l0aCBnYXAgZmlsbGluZyBvbiBzb21lIERWRHMuCgoyMDA5LTA1LTExIDE2OjA5OjU2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJICByZXNpbmR2ZDogSW5jcmVhc2UgdGhlIGFtb3VudCBvZiBmaWxsZXIgYXVkaW8gZ2VuZXJhdGVkCgkgIFdoZW4gY3JlYXRpbmcgYSBmaWxsZXIgYXVkaW8gYnVmZmVyIGluIHJzbmF1ZGlvbXVuZ2UsIGdlbmVyYXRlCgkgIGEgYml0IG1vcmUsIGFzIGF1ZGlvIHNpbmtzIGRvbid0IHNlZW0gdG8gcHJlcm9sbCBvdGhlcndpc2UuIFRoaXMKCSAgbmVlZHMgYSBiZXR0ZXIgYWxnb3JpdGhtIGluIGdlbmVyYWwsIHRvIGludGVsbGlnZW50bHkgZmlsbCB0aGUKCSAgZ2FwLCByYXRoZXIgdGhhbiBoYXJkLWNvZGluZyBhIHZhbHVlLgoKMjAwOS0wNS0xMSAxNDoxNzo0MiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICByZXNpbmR2ZDogTWFuYWdlIHRpbWVkIHN0aWxsIHNlcXVlbmNlcyBiZXR0ZXIKCSAgTWFrZSB0aW1lZCBzdGlsbCBmcmFtZXMgd29yayBiZXR0ZXIgYnkgZXh0ZW5kaW5nIHRoZSBjdXJyZW50IHNlZ21lbnQKCSAgd2hlbiBuZWVkZWQsIGFuZCByZXN0YXJ0aW5nIHRoZSBzdGlsbCBzZXF1ZW5jZSB3aXRoIHRoZSBjb3JyZWN0CgkgIHJlbWFpbmluZyBkdXJhdGlvbiB3aGVuIHRoZSB3YWl0IGl0IGludGVycnVwdGVkIGJ5IGFjdGl2YXRpb24gb2YgYQoJICBoaWdobGlnaHQgTkFWIHBhY2tldC4KCjIwMDktMDUtMTEgMTE6MDY6MDMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkgIHJlc2luZHZkOiBDaGFuZ2UgdGhlIGF1ZGlvbXVuZ2UgZGVidWcgb3V0cHV0LgoJICBNYWtlIHN1cmUgd2UgYWx3YXlzIHNob3cgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNlZ21lbnQgZXZlbnRzIHBhc3NpbmcgdGhyb3VnaCwKCSAgZXZlbiB3aGVuIHByZS1yb2xsIGF1ZGlvIGJ1ZmZlcnMgYXJlbid0IGdvaW5nIHRvIGJlIG5lZWRlZC4KCjIwMDktMDUtMTEgMTE6MDQ6MjUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogTWFrZSB0aGUgZGVidWdnaW5nIG91dHB1dCBhIGJpdCBjbGVhcmVyLgoJICBEaXNwbGF5IG1vcmUgaW5mbyBhYm91dCBjdXN0b20gRFZEIGV2ZW50cyBpbiB0aGUgZGVidWcgbWVzc2FnZXMuCgoyMDA5LTA1LTA4IDE3OjQyOjEyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IEFsd2F5cyBwdXNoIGEgZnJhbWUgYXQgdGhlIHN0YXJ0IG9mIGEgc3RpbGwgZnJhbWUsIGFuZCBmaXggYSBsZWFrLgoJICBNYWtlIHN1cmUgdG8gcHVzaCB0aGUgZnJhbWUgZm9yIGEgc3RpbGwgZnJhbWUsIHdpdGggZGlzY29udCA9IHRydWUgYW5kCgkgIHRpbWVzdGFtcD1ub25lLCBzbyB0aGF0IGl0IGdldHMgZGlzcGxheWVkIGJ5IHRoZSBzaW5rLiBBbHNvLCBkb24ndCBsZWFrCgkgIGVhY2ggcmVuZGVyZWQgdmlkZW8gZnJhbWUgZHVyaW5nIHN0aWxsIG1lbnVzLgoKMjAwOS0wNS0wOCAxNzo0MDo0OCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUtcmVuZGVyLmM6CgkgIGR2ZHNwdTogQWRkIGEgZ3VhcmQgd2hlbiB3ZSBkb24ndCBoYXZlIGFueSBzdWJwaWN0dXJlIGJ1ZmZlciB0byByZW5kZXIKCjIwMDktMDUtMDggMTY6Mjk6MjAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkgIHJlc2luZHZkOiBSZW5hbWUgdGhlIGF1ZGlvIG11bmdlciBkZWJ1ZyBjYXRlZ29yeQoJICBSZW5hbWUgYSBkZWJ1ZyBjYXRlZ29yeTogcnNuX2F1ZGlvbXVuZ2UgLT4gcnNuYXVkaW9tdW5nZS4KCjIwMDktMDUtMDggMTY6Mjc6MzEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogRW5zdXJlIHdlIHNlbmQgYSB0aXRsZSB0YWcgaW4gdGhlIGZpcnN0IHBsYXkgc2VjdGlvbi4KCjIwMDktMDUtMDggMTY6MDY6MDEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogU2ltcGxpZnkgc29tZSBzdHVmZi4gUmVtb3ZlIGFuIHVubmVjZXNzYXJ5IExPRyBtZXNzYWdlLgoJICBTa2lwIGF0dGVtcHRpbmcgdG8gc2NoZWR1bGUgYSBuYXYgYmxvY2sgdW5sZXNzIHdlJ3JlIGluIFBMQVlJTkcuIFRha2UgYSBsb2NrCgkgIHNsaWdodGx5IGxhdGVyLCB3aGVuIHdlIGFjdHVhbGx5IG5lZWQgaXQuIFJlbW92ZSBhIG5vaXN5IExPRyBtZXNzYWdlLgoKMjAwOS0wNS0wOCAxNDoyMzo0OCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBSZW1vdmUgcGVyLW1lbnUgZGVzY3JpcHRpb24gZnJvbSB0aGUgVElUTEUgdGFnCgkgIFRoZSBwYXJ0IG51bWJlciByZXBvcnRlZCB3aGlsZSBpbiBhIG1lbnUgZG9lc24ndCByZWZsZWN0IHRoZSBzZWxlY3RlZAoJICBtZW51LCBzbyBpdCdzIHBvaW50bGVzcyB0byB1c2UgaXQgdG8gcmVwb3J0IHdoaWNoIG1lbnUgd2UncmUgaW4gKEF1ZGlvLAoJICBBbmdsZSBldGMpLiBKdXN0IHJlcG9ydCAiRFZEIE1lbnUiIGluIHRoZSB0aXRsZSB0YWcgaW5zdGVhZC4KCjIwMDktMDUtMDggMTQ6MjA6MzIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgcmVzaW5kdmQ6IFNlbmQgdGl0bGUgaW5mbyBtZXNzYWdlIHdoZW4gY3VycmVudCBhbmdsZSBpcyBzd2l0Y2hlZC4KCSAgTWFrZSBzdXJlIHdlIHNlbmQgYW4gdXBkYXRlIHRpdGxlIHRhZyB3aGVuIHRoZSBjdXJyZW50IGFuZ2xlIG9yIGF2YWlsYWJsZQoJICBhbmdsZXMgY2hhbmdlcy4KCjIwMDktMDUtMDggMTA6NDM6MjcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgcmVzaW5kdmQ6IEltcGxlbWVudCBuYXZpZ2F0aW9uIGNvbW1hbmQgY2hhbmdlIG1lc3NhZ2UgYW5kIHF1ZXJ5CgkgIFNlbmQgbWVzc2FnZXMgd2hlbiB0aGUgYXZhaWxhYmxlIERWRCBuYXZpZ2F0aW9uIGNvbW1hbmRzIGNoYW5nZXMsIGFuZAoJICBoYW5kbGUgbmF2aWdhdGlvbiBjb21tYW5kcyBhbmQgYW5nbGVzIHF1ZXJpZXMuCgoyMDA5LTA1LTExIDE2OjU5OjIwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgIG1wZWd0c2RlbXV4OiBQcm90ZWN0IGJpdHJhdGUgZXN0aW1hdGlvbiBhZ2FpbnN0IGJvZ3VzIHZhbHVlcy4KCSAgSWYgdGhlIGVzdGltYXRlZCBiaXRyYXRlIGlzIGxvd2VyIHRoYW4gMTg4IGJ5dGVzLCB0aGVyZSdzIG1vc3QgbGlrZWx5CgkgIHNvbWV0aGluZyBjb21wbGV0ZWx5IHdyb25nIHdpdGggdGhlIHR3byBzYW1wbGVzLiBJZiB0aGF0IGhhcHBlbnMsCgkgIGZvcmNlIHJlY2FsY3VsYXRpb24uCgkgIFVzZSBndWludDY0IGZvciBvYnNlcnZhdGlvbiBQQ1IsIEkgc2F3IGNhc2VzIHdoZXJlIGl0IHdvdWxkIG92ZXJmbG93LgoKMjAwOS0wNS0xMSAxNjo1ODo1OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IE9ubHkgdGFrZSBQQ1IgZnJvbSB0aGUgYWN0aXZlIHN0cmVhbSBmb3IgYml0cmF0ZSBlc3RpbWF0aW9uLgoKMjAwOS0wNS0xMSAxNjo0MDo0NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IENoYW5nZSBkZWJ1Z2dpbmcgbGV2ZWxzIGZvciB2ZXJ5IGZyZXF1ZW50IG1lc3NhZ2VzLgoJICBUaGlzIGFsbG93cyBkZWJ1Z2dpbmcgd2l0aCBtcGVndHNkZW11eDo0IHdoaWxlIGJlaW5nIGFibGUgdG8gdHJhY2sgd2hhdCdzCgkgIGdvaW5nIG9uIChhbmQgYXZvaWQgdGFraW5nIHVwIGFzIG11Y2ggY3B1IGZvciBkZWJ1Z2dpbmcgYXMgZm9yIHRoZSBhY3R1YWwKCSAgZGVtdXhpbmcgcHJvY2VzcykuCgoyMDA5LTA1LTA5IDA5OjU3OjQ3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBtcGVndHNkZW11eDogUmV2ZXJ0IGluZGVudGF0aW9uIGFuZCBjb21tZW50IGhlYWRlciBmaWxlLgoJICBPbmUgc2hvdWxkbid0IHJ1biBnc3QtaW5kZW50IG9uIC5oIGZpbGVzLCBpbiB0aGlzIGNhc2UgaXQgd2FzIHVuLWJlYXV0aWZ5aW5nCgkgIHRoZSBpbmRlbnRhdGlvbiA6KQoKMjAwOS0wNS0xMCAyMToyMTozNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgZ3BwbXV4OiBBZGQgTVBFRy00IHBhcnQgMiB0byBzdXBwb3J0ZWQgZm9ybWF0cy4gIEZpeGVzICM1ODE1OTMuCgoyMDA5LTA1LTEwIDE3OjE3OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZmFhZDogRml4IGNvbmZpZ3VyZSBjaGVjayBmb3IgdGhlIEZBQUQgdmVyc2lvbgoJICBUaGUgcHJldmlvdXMgdmVyc2lvbiBtYXRjaGVkIHRoaW5ncyBsaWtlIDI5NyBmb3IKCSAgdmVyc2lvbiAyLjcsIGV0YyB3aGljaCBjb3VsZCBiZSBhZGRlZCB0byB0aGUgZmlsZQoJICBieSBvdGhlciBoZWFkZXJzLgoJICBGaXhlcyBidWcgIzU4MjA3NC4KCjIwMDktMDUtMTAgMTE6MTc6MTcgKzAyMDAgIE1hcmMtQW5kcmUgTHVyZWF1IDxtYXJjYW5kcmUubHVyZWF1QGdtYWlsLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkgIFJ1biBsaWJ0b29saXplIGJlZm9yZSBhY2xvY2FsCgkgIFRoaXMgdW5icmVha3MgdGhlIGJ1aWxkIGluIHNvbWUgY2FzZXMuIEZpeGVzIGJ1ZyAjNTgyMDIxCgoyMDA5LTA1LTEwIDEwOjQwOjM2ICswMjAwICBUcmlzdGFuIE1hdHRoZXdzIDxsZS5idXNpbmVzc21hbkBnbWFpbC5jb20+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCSAgVGhpcyB3aWxsIGFsd2F5cyBiZSBzZXQgdG8gc29tZXRoaW5nIGJ1dCBnY2MgZGlkbid0IGRldGVjdAoJICB0aGlzLiBGaXhlcyBidWcgIzU4MjAxMy4KCjIwMDktMDUtMDkgMjM6NDc6MzkgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94MjY0L0dzdFgyNjRFbmMucHJzOgoJICBSZW1vdmUgd3Jvbmcgc3R1ZmYgZnJvbSBwcmVzZXQgZmlsZQoKMjAwOS0wNS0wOSAxNTo0ODo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbXhmL214Zm11eC5oOgoJICBteGZtdXg6IFdyaXRlIG1ldGFkYXRhIGl0ZW1zIGluIHJlZmVyZW5jZSBvcmRlcgoJICBUaGlzIGVuc3VyZXMgdGhhdCB0aGUgbWV0YWRhdGEgaXRlbXMgYXJlIGFsd2F5cyB3cml0dGVuCgkgIGluIHRoZSBzYW1lIG9yZGVyIGFuZCB0aGF0IGZpcnN0IGNvbWVzIHRoZSBwcmVmYWNlLAoJICB0aGVuIHRoZSBpZGVudGlmaWNhdGlvbiBsaW5rZWQgZnJvbSB0aGUgcHJlZmFjZSwgLi4uCgkgIFNvbWUgZGVtdXhlcnMgY2FuJ3QgaGFuZGxlIGZpbGVzIHdoZXJlIHRoZSBtZXRhZGF0YQoJICBpdGVtcyBhcmUgaW4gcmFuZG9tIG9yZGVyLgoKMjAwOS0wNS0wOSAxNTo0ODo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IEZpeCBFT1MgbG9naWMgYWdhaW4KCjIwMDktMDUtMDkgMTU6NDg6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBEb24ndCB1bnJlZiBOVUxMIGJ1ZmZlcnMgaWYgcHVzaGluZyBhIGJ1ZmZlciBhZnRlciB0aGUgZmlyc3QgZmFpbGVkCgoyMDA5LTA1LTA5IDEyOjQyOjI1ICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveDI2NC9Hc3RYMjY0RW5jLnByczoKCSAgQWRkIGEgbW9yZSByZXByZXNlbnRhdGl2ZSBleGFtcGxlIHByZXNldCBmaWxlIGZvciB4MjY0CgoyMDA5LTA1LTA4IDE4OjI0OjI4ICswMTAwICBaYWhlZXIgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgIG1wZWd0c2RlbXV4OiBBZGQgaW5pdGlhbCBuYWl2ZSBzZWVraW5nIHN1cHBvcnQgYW5kIGZpeCBkdXJhdGlvbiBxdWVyeS4KCSAgU3luYyBmcm9tIGdzdC1mbHVlbmRvLW1wZWdkZW11eCBhbmQgaGF2ZSBzZWVraW5nL2R1cmF0aW9uIHF1ZXJ5CgkgIGltcHJvdmVtZW50cyBpbi4gTm8gc3VwcG9ydCBob3dldmVyIGZvciB3cmFwcGVkIGFyb3VuZCBwY3JzIGV0Yy4gYnV0IGEKCSAgc3RhcnQgbm9uZXRoZWxlc3MuCgkgIEFsc28gZml4IGluZGVudGF0aW9uIGlzc3Vlcy4KCjIwMDktMDUtMDggMTY6Mzg6MjYgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBDb21tZW50IG91dCBwcmVzZXQgbm90IGluIHlldAoKMjAwOS0wNS0wOCAxNTozOToyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBkZWludGVybGFjZTI6IEFkZCBhIGRpc2FibGVkIG1vZGUgZm9yIHBhc3N0aHJvdWdoIG9wZXJhdGlvbgoJICBBbHNvIGFsbG93IHRvIGNoYW5nZSB0aGUgbW9kZSBpbiBQQVVTRUQgYW5kIFBMQVlJTkcgYnkgdXBkYXRpbmcKCSAgdGhlIGNhcHMgaWYgbmVjZXNzYXJ5LgoKMjAwOS0wNS0wNyAxNzo1Mzo0MiArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvbXhmL214Zi5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgQWRkIHJhbmtzIHRvIHZhcmlvdXMgbXV4ZXJzIGFuZCBlbmNvZGVycyBpbiAtYmFkCgoyMDA5LTA1LTA3IDE3OjM0OjM2ICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZQoKMjAwOS0wNS0wNyAxMzoxMjozNCArMDIwMCAgUm92IEp1dmFubyA8cm92anV2YW5vQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1wbGF5ZXIuYzoKCSAgc2NhbGV0ZW1wbzogRG9uJ3QgcmVxdWlyZSBnY29uZmF1ZGlvc2luayBpbiB0aGUgZGVtbwoJICBGaXhlcyBidWcgIzUzNzcwMC4KCjIwMDktMDUtMDYgMjE6NDg6MzAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogRG9uJ3Qgb3BlbiBhbGwgVlRTIGlmbyBhdCB0aGUgc3RhcnQKCSAgTG9hZCBlYWNoIFZUUyBpZm8gdGhlIGZpcnN0IHRpbWUgdGhlIGRpc2MgZW50ZXJzIHRoYXQgVlRTLAoJICByYXRoZXIgdGhhbiBzY2FubmluZyB0aGVtIGFsbCBhdCB0aGUgc3RhcnQuCgoyMDA5LTA1LTA2IDIxOjE5OjEzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIHJlc2luZHZkOiBTZW5kIGEgdGl0bGUgdGFnIHdoZW4gd2UgY2hhbmdlIGNoYXB0ZXIvbWVudS9hbmdsZQoJICBBbGxvdyBhcHBzIGxpa2UgVG90ZW0gdG8gZGlzcGxheSBhIG5pY2VyIHRpdGxlIHRoYXQgcmVmbGVjdHMgdGhlIGN1cnJlbnQKCSAgcG9zaXRpb24gb24gdGhlIGRpc2MuCgoyMDA5LTA1LTA1IDEzOjE4OjIwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IERvbid0IHNlbmQgaGlnaGxpZ2h0LXJlc2V0IG1lc3NhZ2VzIHdoZW4gbm90IG5lZWRlZAoJICBGaXggYSBzbWFsbCBidWcgdGhhdCByZXN1bHRzIGluIHRoZSBTUFUgaGlnaGxpZ2h0IGJlaW5nIHJlc2V0IG1vcmUgb2Z0ZW4KCSAgdGhhbiBpcyBuZWNlc3NhcnkgLSBpZSwgY2xlYXJpbmcgaXQgd2hlbiBpdCdzIGFscmVhZHkgY2xlYXJlZC4KCjIwMDktMDUtMDUgMTM6MTQ6NDcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgcmVzaW5kdmQ6IHNlbmQgYW5nbGVzLWNoYW5nZWQgbWVzc2FnZXMgd2hlbiBhcHByb3ByaWF0ZQoJICBXaGVuIHRoZSBjdXJyZW50IGFuZ2xlIGNoYW5nZXMsIG9yIHRoZSBudW1iZXIgb2YgYXZhaWxhYmxlIGFuZ2xlcyBjaGFuZ2VzLAoJICBzZW5kIGFuIGFuZ2xlcy1jaGFuZ2VkIG1lc3NhZ2UgdG8gbGV0IHRoZSBhcHAga25vdy4KCjIwMDktMDUtMDUgMTE6MzQ6MjYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogTWFrZSB0aGUgbmV4dC9wcmV2IGFuZ2xlIHN3aXRjaGluZyBjeWNsZSBhdCB0aGUgZW5kcwoJICBXaGVuIHRoZSBjdXJyZW50IGFuZ2xlIGlzIDEgYW5kIHByZXZfYW5nbGUgaXMgcmVxdWVzdGVkLCBsb29wIHRvIHRoZQoJICBtYXhpbXVtIGFuZ2xlIGFuZCB2aWNlIHZlcnNhIGZvciBuZXh0X2FuZ2xlCgoyMDA5LTA1LTA1IDE2OjU0OjM5ICswMjAwICBBcm5vdXQgVmFuZGVjYXBwZWxsZSA8YXJub3V0QG1pbmQuYmU+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGRvbid0IGxlYWsgdGhlIGNvbmZpZyBkYXRhCgkgIENsZWFyIHRoZSBjb25maWcgZGF0YSB3aGVuIGdvaW5nIHRvIFJFQURZIG9yIHdoZW4gZGlzcG9zZWQuCgkgIEZpeGVzICM1ODE0MjcKCjIwMDktMDUtMDUgMTY6NDg6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBkcm9wIHVuZXhwZWN0ZWQgUlRDUCBwYWNrZXRzCgkgIFdlIHVzdWFsbHkgb25seSBnZXQgU1IgcGFja2V0cyBpbiBvdXIgY2hhaW4gZnVuY3Rpb24gYnV0IGlmIGFuIGludmFsaWQgcGFja2V0CgkgIGNvbnRhaW5zIHRoZSBTUiBwYWNrZXQgYWZ0ZXIgdGhlIFJSIHBhY2tldCwgd2UgbXVzdCBub3QgZmFpbCBidXQgc2ltcGx5IGlnbm9yZQoJICB0aGUgbWFsZm9ybWVkIHBhY2tldC4KCSAgRml4ZXMgIzU4MTM3NQoKMjAwOS0wNS0wNCAyMjowOTowNSArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyQGxvY2FsaG9zdC5sb2NhbGRvbWFpbj4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5oOgoJICBtcGVndHNwYXJzZTogUmVtZW1iZXIgcGlkcyB0aGF0IGFyZSBtZWFudCB0byBiZSBzdHJlYW0gcGlkcy4KCSAgRml4ZXMgIzU2OTc4MQoKMjAwOS0wNS0wNCAxMjozNzozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHQ6IEltcGxlbWVudCBwcmVzZXQgaW50ZXJmYWNlCgoyMDA5LTA1LTA0IDEyOjM2OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWM6IEltcGxlbWVudCBwcmVzZXQgaW50ZXJmYWNlCgoyMDA5LTA1LTA0IDEyOjM0OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOgoJICBqcDJrZW5jOiBJbXBsZW1lbnQgcHJlc2V0IGludGVyZmFjZQoKMjAwOS0wNS0wNCAxMjozMzo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgIG1wZWcyZW5jOiBJbXBsZW1lbnQgUHJlc2V0IGludGVyZmFjZQoKMjAwOS0wNS0wNCAxMjozMTo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgIHh2aWQ6IEltcGxlbWVudCBQcmVzZXQgaW50ZXJmYWNlCgoyMDA5LTA1LTA0IDEyOjMwOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogSW1wbGVtZW50IHByZXNldCBpbnRlcmZhY2UKCjIwMDktMDUtMDMgMTc6NDI6NDQgKzAxMDAgIFZpbmNlbnQgR2VuaWV1eCA8bXV0ZXhAcnVuYm94LmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogSWdub3JlIHN1YnRhYmxlIGV4dGVuc2lvbiB3aGVuIHBhcnNpbmcgUEFUCgkgIEZpeGVzICM1Njk2NzMuCgoyMDA5LTA1LTAzIDE3OjIxOjIyICswMTAwICBWaW5jZW50IEdlbmlldXggPG11dGV4QHJ1bmJveC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuaDoKCSAgbXBlZ3RzcGFyc2U6IG1ha2Ugc2FmZSBjaGFuZ2luZyB0aGUgcHJvZ3JhbS1udW1iZXJzIHByb3BlcnR5IGR5bmFtaWNhbGx5CgkgIEZpeGVzICM1Njk0MzcuCgoyMDA5LTA1LTAzIDE0OjI4OjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgIG1tczogZXh0ZW5kIEJhc2VTcmMgcXVlcnkgaGFuZGxpbmcgcmF0aGVyIHRoYW4gb3ZlcnJpZGluZwoKMjAwOS0wNC0yNyAyMjozOToxNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggKHJlZ3Jlc3Npb24gaW4pIG5ld3NlZ21lbnQgaGFuZGxpbmcKCSAgKGFhY3BhcnNlLCBhbXJwYXJzZSwgZmxhY3BhcnNlKS4gIEZpeGVzICM1ODAxMzMuCgoyMDA5LTA1LTAyIDEyOjIzOjAzICswMTAwICBaYWhlZXIgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBmaXggcGVzIGZpbHRlciBwaWQgcmVzZXR0aW5nCgoyMDA5LTA1LTAxIDAyOjI2OjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmg6CgkgIGR0c2RlYzogY29zbWV0aWMgZml4IHRvIGhlYWRlciBzdHJ1Y3R1cmUgdG8gbWFrZSBndGstZG9jIGhhcHB5CgoyMDA5LTA1LTAxIDE0OjI1OjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZG9jczogbWFrZSBmcHNkaXNwbGF5c2luayBzaG93IHVwIGluIHRoZSBkb2NzCgoyMDA5LTA1LTAxIDAyOjIxOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmg6CgkgIGZwc2Rpc3BsYXlzaW5rOiBtb3ZlIHByaXZhdGUgc3RydWN0IGludG8gcGx1Z2luIHN0cnVjdCBhbmQgdXNlIEdzdCBuYW1lc3BhY2UKCjIwMDktMDUtMDEgMDE6NTk6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnBzZGlzcGxheXNpbmsueG1sOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZGVidWd1dGlsc2JhZC5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazogcmVuYW1lIHBsdWdpbiAobm90IGVsZW1lbnQpIHRvIGRlYnVndXRpbHNiYWQKCSAgTWFrZXMgaXQgZWFzaWVyIHRvIGFkZCBmdXJ0aGVyIHV0aWxzIGhlcmUgd2l0aG91dCBjcmVhdGluZyB5ZXQgYW5vdGhlciBwbHVnaW4uCgoyMDA5LTA1LTAxIDE0OjI4OjIzICswMTAwICBaYWhlZXIgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiB1bnNldCBwaWQgZmlsdGVycyBjb3JyZWN0bHkKCjIwMDktMDQtMzAgMTQ6NDM6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBjaGFuZ2VzIGNhcHMgb2Ygc3JjIHBhZHMgdG8gdmlkZW8vcXVpY2t0aW1lLCB2YXJpYW50PXNvbWV0aGluZwoJICBUYWtlIGEgbG9vayBhdCBidWcgIzU4MDAwNSBmb3IgZnVydGhlciBpbmZvLgoKMjAwOS0wNC0zMCAxNzoyOTozNSArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIG9mIHNzaDovL3VyYWV1c0BnaXQuZnJlZWRlc2t0b3Aub3JnL2dpdC9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtYmFkCgoyMDA5LTA0LTMwIDE3OjI4OjQ3ICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIGZvciBuZXcgcHJlc2V0cyBmaWxlCgoyMDA5LTA0LTMwIDE3OjA4OjUyICswMTAwICBUcmlzdGFuIE1hdHRoZXdzIDxsZS5idXNpbmVzc21hbkBnbWFpbC5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazogaW5pdCB2YXJpYWJsZSB0byBOVUxMIHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmcKCSAgRml4ZXMgIzU4MDkwMS4KCjIwMDktMDQtMzAgMTQ6MjA6MTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS1yZW5kZXIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSAgZHZkc3B1OiBkbyBzb21lIGJhc2ljIGNsaXBwaW5nCgkgIEFkZCBzb21lIGJhc2ljIGNsaXBwaW5nIG9mIHRoZSBzdWJ0aXRsZSByZWdpb24gd2hlbiB0aGUgc3VidGl0bGUgaXMgYmlnZ2VyIHRoYW4KCSAgdGhlIGltYWdlIHdlIHNob3VsZCBwdXQgaXQgb24uCgoyMDA5LTA0LTMwIDE0OjE4OjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBkb24ndCBFT1Mgd2hlbiB0aGUgc3VidGl0bGUgZ290IEVPUwoJICBEb24ndCBmb3J3YXJkIHRoZSBFT1Mgb24gdGhlIHN1YnRpdGxlIHBhZCBhcyB0aGUgdmlkZW8gbWlnaHQgc3RpbGwgYmUgcnVubmluZy4KCjIwMDktMDQtMzAgMTM6NDU6MzAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXk6IGNvZGUgY2xlYW51cCBhbmQgcGx1ZyBvdmVybGF5IGFzIG5lZWRlZAoJICBQbHVnZ2luIHRoZSB0ZXh0LW92ZWxheSBjYXVzZXMgc29tZSBzbG93ZG93bnMgYW5kIG1pZ2h0IG5lZWQgYSBjb2xvcnNwYWNlCgkgIGNvbnZlcnRlci4gV2Ugbm93IG9ubHkgY2hlY2sgdGhlIHRleHQtb3ZlcmxheSBwcm9wZXJ0eSB3aG5lIGdvaW50IHRvIHJlYWR5IGFuZAoJICBwbHVnIG9yIHVucGx1ZyB0aGUgdGV4dC1vdmVybGF5IGF0IHRoYXQgdGltZS4gSWYgdGhlIHByb3BlcnR5IGNoYW5nZXMgZHVyaW5nCgkgIHBsYXlpbmcsIGl0cyBub3Qgc3dpdGNoZWQgaW1tZWRpYXRlbHkuCgoyMDA5LTA0LTMwIDAwOjA2OjM2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQveDI2NC9Hc3RYMjY0RW5jLnByczoKCSogZXh0L3gyNjQvTWFrZWZpbGUuYW06CgkqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSAgeDI2NGVuYzogYWRkIHByZXNldCBzdXBwb3J0CgkgIEFkZCBwcmVzZXQgaWZhY2UgYW5kIGEgKGR1bW15KSBwcmVzZXQgZmlsZSBhcyBhIHN0YXJ0aW5nIHBvaW50LgoKMjAwOS0wNC0yNiAyMToyNjowMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvZGVjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkgIHJlc2luZHZkOiBDb252ZXJ0IHNvbWUgZ19wcmludCB0byBHU1RfTE9HX09CSkVDVCBhbmQgZnJpZW5kcywgcmVtb3ZlIHNvbWUgb3RoZXJzCgkgIFRyaW0gZG93biB0aGUgZ19wcmludCB2ZXJib3NpdHkuCgoyMDA5LTA0LTI2IDIxOjI5OjI3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IEFkZCBEVkRGQVNUU1RBUlQgZW52IHZhciB0byBtYWtpbmcgc29tZSB0ZXN0aW5nIGVhc2llcgoKMjAwOS0wNC0yNCAxNDowODo1NSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZDogUmVtb3ZlIHJlZHVuZGFudCBtb2R1bG8gb3BlcmF0aW9uIGluIHRoZSBkZW11eGVyCgoyMDA5LTA0LTI0IDE0OjA3OjMwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogTWFwIGF1ZGlvIGFuZCBzdWJwaWN0dXJlIGxvZ2ljYWwgc3RyZWFtcyB0byBwaHlzaWNhbC4KCSAgVGhlIGxvZ2ljYWwgYXVkaW8gYW5kIHN1YnBpY3R1cmUgc3RyZWFtIG51bWJlciBkb2Vzbid0IGFsd2F5cyBjb3JyZXNwb25kCgkgIHdpdGggdGhlIHBoeXNpY2FsIHN1YnN0cmVhbSBpdCBpcyBjb21pbmcgZnJvbS4gV2hlbiBjb25maWd1cmluZyB0aGUgZGVtdXhlcgoJICBwYWRzLCB1c2UgdGhlIG1hcHBpbmcgdGFibGUgcHJvdmlkZWQgaW4gZWFjaCBQR0MgdG8gZ2V0IHRoZSBsYXlvdXQgYW5kCgkgIGVuc3VyZSB0aGUgZGVtdXhlciBjcmVhdGVzIHRoZSBjb3JyZWN0IHBhZHMuCgoyMDA5LTA0LTI5IDE4OjUyOjIwICswMTAwICBUcmlzdGFuIE1hdHRoZXdzIDxsZS5idXNpbmVzc21hbkBnbWFpbC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IGluaXQgdmFyaWFibGUgdG8gTlVMTCB0byBmaXggY29tcGlsZXIgd2FybmluZwoJICBGaXhlcyAjNTgwNzg2LgoKMjAwOS0wNC0yOSAxNjo1NzozNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6CgkgIHgyNjRlbmM6IGFkZCBzb21lIGRvY3VtZW50YXRpb24gb24gcHJvZmlsZQoKMjAwOS0wNC0yOSAxMzo1NjowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdjogU2V0L3JlcXVpcmUgdGhlIGZyYW1lZC9wYXJzZWQgZmllbGRzIG9mIHRoZSBhdWRpby9tcGVnIGNhcHMgdG8gVFJVRQoKMjAwOS0wNC0yOSAxMzoxNjoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHY6IEFsd2F5cyB3cml0ZSBhdCBsZWFzdCB0aGUgbWluaW1hbCB0YWdzIGFuZCB3cml0ZSB0aGUgUEFSIGFzIHRhZ3MKCjIwMDktMDQtMjkgMTM6MDM6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgZmx2OiBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIHNvbWUgdGFncwoKMjAwOS0wNC0yOSAxMzowMzoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdjogQWRkIHN1cHBvcnQgZm9yIHRpdGxlIHRhZwoKMjAwOS0wNC0yOSAwOTo0MDo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdjogRml4IHBhcnNpbmcgb2YgdGFncyBhbmQgYWRkIG5ldyBtYXBwaW5ncwoJICBXZSBzaG91bGRuJ3QgcmVnaXN0ZXIgYSBuZXcgR3N0VGFnIGZvciBldmVyeSB1bmtub3duIHRhZwoJICB3ZSBmaW5kIGFzIHRoaXMgbWlnaHQgbGVhZCB0byBjb25mbGljdHMgYW5kIGFsc28gdGhvc2UKCSAgdGFncyBhcmUgZXNzZW50aWFsbHkgdW5rbm93bi4KCSAgQWRkIG1hcHBpbmdzIGZvciBzb21lIGtub3duIHRhZ3MgYW5kIGFsc28gY29udmVydCBzdHJpbmcKCSAgZGF0ZXMgdG8gR0RhdGUsIGFzIGZvdW5kIGluIG1hbnkgRkxWIGZpbGVzLgoKMjAwOS0wNC0yOCAxNjoxMDoyMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBSZWplY3Qgd3JvbmcgY2FwcwoKMjAwOS0wNC0yOCAxNjowMzoxOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBGaXggbGVhayBGaXhlZCBhIGxlYWsgZGlzY292ZXJlZCBieSBMYXVyZW50IEdsYXlhbCA8c3BlZ2xlQHlhaG9vLmZyPgoKMjAwOS0wNC0yOCAxNTo1ODo0MSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBGaXggbGVhawoJICBGaXhlZCBhIGxlYWsgZGlzY292ZXJlZCBieSBMYXVyZW50IEdsYXlhbCA8c3BlZ2xlQHlhaG9vLmZyPgoKMjAwOS0wNC0yNyAxMTowOTowOCArMDIwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291Y2U6IG1ha2UgV0FSTklORyBpbnRvIExPRwoJICBTaW5jZSBuZWl0aGVyIHJ0cG1hbmFnZXIgbm9yIGFueSBvZiB0aGUgcGF5bG9hZGVycyBwcm9wZXJseSBpbXBsZW1lbnQKCSAgcGFkIGFsbG9jYXRpb24sIHRoZXJlIGlzIG5vIHdheSBmb3IgdGhlIHJ0cG1hbmFnZXIgdG8gaW5mb3JtIGRvd25zdHJlYW0gZWxlbWVudHMKCSAgb2YgdGhlIG5ldyBTU1JDIGlmIHRoZXJlIGlzIGFuIFNTUkMgY29sbGlzaW9uLiBTbyB0aGUgd2FybmluZyBpcyBlbWl0dGVkIGFsbCB0aGUKCSAgdGltZSBhbmQgaXQgaXMgY29uZnVzaW5nLgoJICBGaXhlcyAjNTgwMTQ0CgoyMDA5LTA0LTI3IDExOjA2OjAxICswMjAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogbm90aWZ5IHdoZW4gU1NSQyBjaGFuZ2VzCgkgIEVtaXQgYSBnX29iamVjdF9ub3RpZnkgd2hlbiB0aGUgU1NSYyBjaGFuZ2VzIGJlY2F1c2Ugb2YgYSBjb2xsaXNpb24uCgkgIEZpeGVzICM1ODAxNDQKCjIwMDktMDQtMjcgMTA6MDQ6NTEgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvZGNjcC9NYWtlZmlsZS5hbToKCSAgQWRkIG5ldyBwbHVnaW4gdG8gc3BlYyBmaWxlIGFuZCBhZGQgbWlzc2luZyBoZWFkZXIgdG8gZ3N0L2RjY3AvTWFrZWZpbGUuYW0KCjIwMDktMDQtMjUgMDA6NDQ6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBtYWtlIGdpdCBpZ25vcmUgbmV3IHVuaXQgdGVzdHMgYmluYXJpZXMKCjIwMDktMDQtMjUgMDA6NDI6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogd2luMzIvTUFOSUZFU1Q6CgkgIHdpbjMyOiBkaXN0IGxpYmdzdGRzaG93LmRlZiBieSBhZGRpbmcgaXQgdG8gd2luMzIvTUFOSUZFU1QKCSAgRml4ZXMgIzU3ODU2My4KCjIwMDktMDQtMjQgMTg6NTM6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgIG1wNG11eDogQ2hhbmdlcyBzcmMgY2FwcyB0byBhcHBsaWNhdGlvbi94LWlzby1tcDQKCSAgRml4ZXMgIzU4MDAwNQoKMjAwOS0wNC0yNCAxNjowMTo0NCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogQ29tbWl0IHRoZSB3aW4zMiBjb25maWcgd2l0aCBidW1wZWQgdmVyc2lvbiBudW1iZXIuCgkgIFNob3VsZCBoYXZlIGNvbW1pdHRlZCB0aGlzIHdoZW4gSSB1bmZyb3plIHRoZSBidWlsZCBsYXN0IHRpbWUsIHNvcnJ5LgoKMjAwOS0wNC0yNCAxNDo1MTowMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNoZWNrOiBleGNsdWRlIHJzbmR2ZGJpbiBmcm9tIHRoZSBzdGF0ZXMgdGVzdAoKMjAwOS0wNC0yNCAxNTo0MjoyNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBzb3VuZHRvdWNoOiBmaXggY29uZmlndXJlIHRvIHVzZSBwcm9wZXIgc2hlbGwgc3ludGF4LiBmaXhlcyAjNTgwMDkxCgoyMDA5LTA0LTIzIDE3OjMzOjI1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIHNvdW5kdG91Y2g6IEZpeCBjb21waWxhdGlvbiBvbiBuZXdlciBsaWJTb3VuZFRvdWNoCgkgIE5ld2VyIGxpYnNvdW5kdG91Y2ggcmVxdWlyZXMgdGhhdCB3ZSBpbmNsdWRlIGFuIGV4dHJhIGhlYWRlciB0aGF0IHdhc24ndAoJICBwcmV2aW91c2x5IHJlcXVpcmVkLCBzbyBkZWZpbmUgSEFWRV9TT1VORFRPVUNIXzFfNCBmb3IgbmV3ZXIgYnVpbGRzIHNvIHRoYXQgaXQKCSAgZ2V0cyBpbmNsdWRlZC4KCjIwMDktMDQtMjAgMTE6Mzg6MDEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXk6IG1vcmUgY2xlYW51cHMKCSAgVXNlIG5vcm1hbCBnc3QtZGVmaW5lcyBpbiBQTFVHSU5fREVGSU5FLiBTaG9ydGVuIF9zdGFydC9zdG9wIG1ldGhvZCBuYW1lcy4KCSAgTW9yZSBpZGVhcy4gTW92ZSBkZWJ1ZyBjYXRlZ29yeS1pbml0IGRvd24gdG8gcGx1Z2luLWluaXQuCgoyMDA5LTA0LTIwIDA5OjUxOjUwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5OiB1c2UgYSBuaWNlciBmb250IGZhbWlseQoKMjAwOS0wNC0yMCAxMDoyNDozNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheTogdmFyaW91cyBjbGVhbnVwcywgZG9jcyBhbmQgY29tbWVudHMKCSAgUmVtb3ZlIHVudXNlZCBiYXNlX2luaXQuIEFkZCBiYXNpYyBkb2MgYmxvYi4gUmV1c2UgcXVlcnkgb2JqZWN0LiBSZW5hbWUKCSAgdmFyaWFibGVzIGZvciBjbGFyaXR5LiBBZGQgY29tbWVudHMgYW5kIFRvRG9zLgoKMjAwOS0wNC0yMCAwOTo0OTozMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheTogcmVtb3ZlIGlmYWNlIHByb3h5CgkgIFdoZW4gd2UgZ2V0IGJ1cyBtZXNzYWdlcyBmb3Igc2V0dGluZyB0aGUgeGlkLCB3ZSBoYXZlIHRoZSByZWFsIHNpbmsgZWxlbWVudAoJICBpbnN0YW5jZSBhcyBtZXNzYWdlX3NyYy4gTm8gbmVlZCB0byBwcm94eSB0aGUgeG92ZXJsYXkgaWZhY2UgdGhlcmVmb3JlCgkgIChhdXRvdmlkZW9zaW5rIGRvZXMgbm90IGRvIGl0IGVpdGhlcikuIEFsc28gd2UgZG9uJ3QgbmVlZCB0byByZXdyaXRlIHRoZQoJICBtZXNzYWdlIHNyYyBvZiBhbGwgbWVzc2FnZXMgZnJvbSB0aGF0IHNpbmsuCgoyMDA5LTA0LTIzIDExOjA0OjQ2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dC1zZWxlY3RvcjogRm9yd2FyZCBzZWdtZW50IGV2ZW50cyBmb3IgdGhlIGFjdGl2ZSBwYWQgaW1tZWRpYXRlbHkuCgkgIFdoZW4gYSBzZWdtZW50IGV2ZW50IGlzIHJlY2VpdmVkIG9uIHRoZSBhY3RpdmUgcGFkLCBmb3J3YXJkIGl0IGRvd25zdHJlYW0KCSAgaW1tZWRpYXRlbHkgaW5zdGVhZCBvZiBkZWZlcnJpbmcgaXQgdW50aWwgdGhlIG5leHQgZGF0YSBidWZmZXIgYXJyaXZlcy4gVGhpcwoJICBmaXhlcyBwcm9ibGVtcyB3aXRoIHNlZ21lbnQgdXBkYXRlcyBuZXZlciBiZWluZyBzZW50IGRvd25zdHJlYW0sIGxpa2UgdGhvc2UKCSAgbmVlZGVkIGZvciBzcGFyc2Ugc3RyZWFtcywgb3IgZm9yIGNsb3NpbmcgcHJldmlvdXNseSBvcGVuZWQgc2VnbWVudHMuCgkgIFRoaXMgZml4ZXMgcGxheWJhY2sgb2YgRFZEIG1lbnVzIHdpdGggYSBzdGlsbCB2aWRlbyBmcmFtZSBhbmQgYW4gYXVkaW8gdHJhY2ssCgkgIGZvciBleGFtcGxlLgoJICBGaXhlczogIzU3Nzg0MwoKMjAwOS0wNC0yMiAxODowMTowNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBGaXggd2FybmluZwoKMjAwOS0wNC0yMCAyMDowMDoxNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBTZXQgZGlmZmVyZW50IGNhcHMgZGVwZW5kaW5nIG9uIHRoZSBpbnB1dAoKMjAwOS0wNC0yMiAxNjoyNTowNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBPbmx5IGZyZWUgcGFkIHByaXZhdGUgd2hlbiBwYWQgaXMgZGlzcG9zZWQKCjIwMDktMDQtMjIgMTk6NTI6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgZmx2OiBBZGQgZG9jdW1lbnRhdGlvbiB0byBmbHZtdXggYW5kIGZsdmRlbXV4CgkgIFBhcnRpYWxseSBmaXhlcyBidWcgIzU3MzczNy4KCjIwMDktMDQtMjIgMTk6NDU6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtdXguaDoKCSAgbXhmOiBNYXJrIG1vc3QgZmllbGRzIG9mIHRoZSBpbnN0YW5jZSBzdHJ1Y3QgYXMgcHJpdmF0ZQoKMjAwOS0wNC0yMiAxOTo0MzoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIGRlaW50ZXJsYWNlMjogQWRkIGRvY3VtZW50YXRpb24gYW5kIGludGVncmF0ZSBpbnRvIHRoZSBidWlsZCBzeXN0ZW0KCjIwMDktMDQtMjIgMTk6MjQ6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlMi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcHNkaXNwbGF5c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGRnbWltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14ZjogQWRkIGRvY3VtZW50YXRpb24gdG8gbXhmbXV4IGFuZCB1cGRhdGUgdGhlIGRvY3MKCjIwMDktMDMtMTkgMTU6Mzc6MTcgLTA3MDAgIExSTiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBtb2RwbHVnOiBVc2UgY29ycmVjdCBoZWFkZXIgZmlsZQoJICBtb2RwbHVnJ3Mgc25kZmlsZS5oIGNvbmZsaWN0cyB3aXRoIGxpYnNuZGZpbGUncyBzbmRmaWxlLmgsIHNvCgkgIHdlJ2xsIGFjY2VzcyBpdCBkaXJlY3RseSB1c2luZyBtb2RwbHVnL3NuZGZpbGUuaC4gIEZpeGVzICM1NzM4NDkKCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDA5LTAzLTE5IDE1OjI5OjA0IC0wNzAwICBMUk4gPGxybjE5ODZAZ21haWwuY29tPgoKCSogbTQvZ3N0LXNkbC5tNDoKCSAgc2RsOiBVc2UgU0RMIHN0YXRpYy1saWJzIGZvciBjb25mdGVzdAoJICBGaXhlczogIzU3Mzg0Ny4gIFRoaXMgZml4ZXMgYnVpbGRpbmcgd2l0aCBTREwgb24gV2luZG93cy4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDA5LTAzLTE5IDE0OjU1OjI2IC0wNzAwICBMUk4gPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb3B0aW9ucy5jYzoKCSAgbXBlZzJlbmM6IEdldCBudW1iZXIgb2YgcHJvY2Vzc29ycyBvbiB3aW4zMgoJICBGaXhlcyAjNTczODQ4LgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMDktMDMtMTkgMTQ6NDk6MTMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBzb3VuZHRvdWNoOiBBZGQgcGtnY29uZmlnIGNoZWNrIGZvciBzb3VuZHRvdWNoLTEuNAoJICBGaXhlcyAjNTczODQ2LgoKMjAwOS0wMi0yNiAxNDoxODo1NCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmg6CgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmg6CgkgIEFkZCBpbnRlcmxhY2VkIHN1cHBvcnQgdG8gdmlkZW9wYXJzZQoJICBBZGQgYSB2aXJ0dWFsIG1ldGhvZCBpbiByYXdwYXJzZSB0byBzZXQgYnVmZmVyIGZsYWdzLiAgVGhpcyBkb2Vzbid0CgkgIHVzZSBBUEkgZnJvbSB1bnJlbGVhc2VkIC1iYXNlLCBzaW5jZSBpdCBkZWZpbmVzIEdTVF9WSURFT19CVUZGRVJfVEZGCgkgIGlmIGl0J3Mgbm90IGRlZmluZWQgeWV0LgoKMjAwOS0wNC0yMSAyMjoxMzoxMiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiMzk0MWVhIHRvIDZhYjExZDEKCjIwMDktMDQtMjEgMTM6Mjc6MjkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAncnRwbXV4LWZpeGVzJwoKMjAwOS0wNC0yMSAxNjo0ODozOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgIG1tc3NyYzogSWYgdGhlIGNvbm5lY3Rpb24gZmFpbHMsIGVtaXQgYSByZWRpcmVjdGlvbiBtc2cgdG8gdGhlIHJ0c3AgZXF1aXZhbGVudC4KCSAgVGhpcyBzaG91bGQgaGVscCBmaXggdGhlIGlzc3VlIHdpdGggV2luZG93cyBNZWRpYSBTZXJ2ZXIgdXNpbmcgcnRzcC4uLiBidXQKCSAgc3RpbGwgZGVjbGFyaW5nIHRoZSBzdHJlYW0gd2l0aCBtbXM6Ly8KCjIwMDktMDQtMjEgMTY6MDg6NTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IE9ubHkgZXJyb3Igb3V0IGF0IEVPUyBwdXNoIGZhaWx1cmUgaWYgd2UgZG9uJ3QgaGF2ZSBhbnkgc3RyZWFtcy4KCSAgVGhpcyBzaG91bGQgcmVtb3ZlIHRoZSBib2d1cyBlcnJvciBtZXNzYWdlcyB3aGlsZSBzdGlsbCBrZWVwaW5nIHRoZSBvcmlnaW5hbAoJICBpbnRlbnQgb2YgdGhpcywgd2hpY2ggaXMgdG8gaW5mb3JtIHRoZSBwaXBlbGluZS9hcHBsaWNhdGlvbi91c2VyIHRoYXQgd2UKCSAgY291bGQgbm90IGZpbmQgYW55IHZhbGlkIHN0cmVhbXMuCgkgIFRoZXJlIGFyZSBtYW55IHJlYXNvbnMgd2h5IHB1c2hpbmcgYW4gZXZlbnQgY2FuIGZhaWwsIGFuZCBub3QgYWxsIG9mIHRoZW0gYXJlCgkgIGJlY2F1c2UgdGhlcmUncyBubyBsaW5rIGRvd25zdHJlYW0gKGl0IGNvdWxkIGJlIGJlY2F1c2UgaXQgd2FzIGJsb2NrZWQsIG9yCgkgIGZsdXNoaW5nKS4KCjIwMDktMDQtMTAgMTk6MjQ6MjYgKzAyMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlckBsb2NhbGhvc3QubG9jYWxkb21haW4+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBhZGQgaGFjayBzcGVjaWZpYyBmb3IgaXR2aGQKCSAgaXR2aGQgbWFza3MgaXRzIGgyNjQgdmlkZW8gc3RyZWFtIGFzIGEgcHJpdmF0ZSBzdHJlYW0gbWFraW5nIGl0IGhhcmRlciBmb3IKCSAgb3RoZXIgc2V0IHRvcCBib3hlcyB0byBkZWNvZGUuIHRoaXMgY2hlY2tzIGZvciBzcGVjaWZpYyBwcm9ncmFtIG51bWJlciwgdmlkZW8KCSAgcGlkIGFuZCBzdHJlYW0gdHlwZSBjb21iaW5hdGlvbiBiZWZvcmUgZGVjbGFyaW5nIGl0IGFzIGgyNjQuCgoyMDA5LTA0LTEwIDE5OjA2OjU1ICswMjAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJAbG9jYWxob3N0LmxvY2FsZG9tYWluPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBkZXRlY3QgQUMzIHN0cmVhbXMgaW4gUE1UIHRhYmxlCgkgIGFkZCAnaGFzLWFjMycgYm9vbGVhbiB0byBwbXQgYnVzIG1lc3NhZ2UKCjIwMDktMDQtMTAgMDE6MTY6MzAgKzAyMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlckBsb2NhbGhvc3QubG9jYWxkb21haW4+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIGl0diBoZCBoYWNrCgoyMDA5LTA0LTEwIDAxOjExOjAxICswMjAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJAbG9jYWxob3N0LmxvY2FsZG9tYWluPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBoYWNrIGZvciBpdHZoZCBzaWQgdG8gZGV0ZWN0IG1wZWcxIGFzIGgyNjQKCjIwMDktMDQtMjAgMTg6NDE6MzkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogUmVtb3ZlIHVzZWxlc3MgY2FwcyBtYW5nbGluZwoKMjAwOS0wNC0yMCAxODozNjo0MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBSZW5hbWUgdmFyaWFibGUgZm9yIG1vcmUgY2xhcml0eQoKMjAwOS0wNC0yMCAxNzo0MzozOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogVXNlIEdTVF9CT0lMRVJQTEFURQoKMjAwOS0wNC0yMCAxNzo0Mjo0MCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5oOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IERvIHRoZSBpbmNsdWRlcyBsb2NhbGx5CgoyMDA5LTA0LTIwIDE2OjM0OjMwICswMjAwICBBbmR5IFdpbmdvIDx3aW5nb0B3aW5nb21hYy5iY24ub2Jsb25nLm5ldD4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NyYy5jOgoJICBwYXRjaCBvdmVyIGxvZ2ljIGVycm9ycyBpbiBvc3h2aWRlb3NyYwoJICBhcHBsZSdzIGNvbXBpbGVyIGNhcnBzLCB3aXRoIHJlYXNvbiwgYWJvdXQgc29tZSBjb25zdHJ1Y3RzIGluIG9zeHZpZGVvc3JjLmMKCSAgZml4IHRoZW0uCgkgIGFsc28gaXQgc2VlbXMgdGhhdCBmb3Igc29tZSByZWFzb24gdGhpcyByZXF1aXJlZCBhIGdzdC1pbmRlbnQgcnVuLiB3aGVlCgoyMDA5LTA0LTIwIDEzOjA5OjQ2ICswMjAwICBBbmR5IFdpbmdvIDx3aW5nb0BvYmxvbmcubmV0PgoKCSAgYWRkIG9zeHZpZGVvc3JjCgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06IEF1dG9jb25maXNjYXRpb24uCgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvcGx1Z2luLm06CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc3JjLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc3JjLmM6IEFkZCBvc3h2aWRlb3NyYy4gU2hvdWxkIGZpeCAjMTUzNjg0LgoJICBQYXRjaC1ieTogT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCSAgUGF0Y2gtYnk6IEFsaSBTYWJpbCA8YWxpLnNhYmlsQHRhbmRiZXJnLmNvbT4KCSAgUGF0Y2gtYnk6IEJhcnJhY3VkYSBOZXR3b3JrcyA8anVzdGluQGFmZmluaXguY29tPgoKMjAwOS0wNC0xOSAxNzoxODozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICBkZWludGVybGFjZTI6IE1ha2UgaXQgcG9zc2libGUgdG8gc2VsZWN0IGludGVybGFjaW5nIGF1dG9kZXRlY3Rpb24gb3IgdG8gZW5mb3JlIGRlaW50ZXJsYWNpbmcKCSAgRm9yIHRoaXMgYWRkIGEgIm1vZGUiIHByb3BlcnR5IHRoYXQgZGVmYXVsdHMgdG8gImludGVybGFjZWQiIGZvciBub3cgYXMKCSAgbW9zdCBkZWNvZGVycy9kZW11eGVycyBkb24ndCBwcm9wZXJseSBzZXQgdGhlICJpbnRlcmxhY2VkIiBmaWVsZCBvbiB0aGUKCSAgY2FwcyB5ZXQuCgkgIElmIHRoaXMgcHJvcGVydHkgaXMgc2V0IHRvICJhdXRvIiB0aGUgZWxlbWVudCB3aWxsIHdvcmsgaW4gcGFzc3Rocm91Z2gKCSAgbW9kZSB1bmxlc3MgdGhlIGNhcHMgY29udGFpbiB0aGUgImludGVybGFjZWQiIGZpZWxkLgoKMjAwOS0wNC0xOCAyMzo0Mjo1NyArMDEwMCAgWmFoZWVyIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogZml4IGxlYWsgb2YgR1NUX1RZUEVfTElTVCBndmFsdWUKCjIwMDktMDQtMTggMTM6MDk6MjMgKzAxMDAgIFphaGVlciBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBmaXggbGVhayBpbiBzcmNfcGFkX3F1ZXJ5CgoyMDA5LTA0LTE3IDE2OjE2OjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBqb2luIHRoZSBSVENQIHRocmVhZAoJICBBdm9pZCBhIGNhc2Ugd2hlcmUgYSBqb2luYWJsZSB0aHJlYWQgd291bGQgYmUgbGVmdCB1bmpvaW5lZCwgd2hpY2ggbGVha2VkIHRoZQoJICB0aHJlYWQgc3RydWN0dXJlLgoJICBGaXhlcyAjNTc3MzE4LgoKMjAwOS0wNC0xNyAxNTozOTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICBkZWludGVybGFjZTI6IFVzZSBHU1RfKERFQlVHfFdBUk5JTkd8RVJST1IpX09CSkVDVCBpbnN0ZWFkIG9mIHRoZSBub24tT0JKRUNUIG9uZXMKCjIwMDktMDQtMTcgMTU6Mzk6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgZGVpbnRlcmxhY2UyOiBSZXNldCBoaXN0b3J5IGlmIERJU0NPTlQgaXMgc2V0IG9uIHRoZSBpbmNvbWluZyBidWZmZXIKCjIwMDktMDQtMTcgMTU6Mzk6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgZGVpbnRlcmxhY2UyOiBGaXggdGltZXN0YW1wcyBmb3IgYnVmZmVycyB3aXRoIFJGRiBmbGFnIHNldAoKMjAwOS0wNC0xNiAyMjoxNDoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZjogUHJvcGVybHkgaGFuZGxlIHRoZSBuZXcgaW50ZXJsYWNlZCBzdXBwb3J0IGZyb20gbGliZ3N0dmlkZW8gZm9yIChkZSltdXhpbmcKCjIwMDktMDQtMTYgMTc6NDE6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZldGZmLmM6CgkgIGRlaW50ZXJsYWNlMjogUmVuYW1lIGxpbmVfbGVuZ3RoIHRvIHJvd19zdHJpZGUgYW5kIHJlbW92ZSBvdXRwdXRfc3RyaWRlCgoyMDA5LTA0LTE2IDE1OjUyOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIGRlaW50ZXJsYWNlMjogSW1wbGVtZW50IHN1cHBvcnQgZm9yIFJGRiBhbmQgT05FRklFTEQgYnVmZmVyIGZsYWdzCgoyMDA5LTA0LTE2IDE4OjM2OjEzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5oOgoJICBmcHNkaXNwbGF5c2luazogYWRkIGEgaW5pdGlhbCBwb3J0IG9mIGEgc2luayB3aXRoIGZwcyBkaXNwbGF5CgkgIFRoaXMgbm93IHdvcmtzIHdpdGggYSBldmVudCBwcm9iZS4gTmVlZHMgc29tZSBleHRyYSB3b3JrLgoKMjAwOS0wMy0wOSAxODoyMjoyOCArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBjbGVhbiB1cCBhbmQgZml4IGFzc2VydGlvbiBmYWlsIHdoZW4gc2V0dGluZyB6b29tIGluIE5VTEwgc3RhdGUKCjIwMDktMDMtMDkgMTg6MzE6MDcgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZml4IGZvcm1hdCBtYXRjaGluZyB3aGVuIGRldGVjdGluZyBhbGxvd2VkIGZyYW1lIHJhdGUKCjIwMDktMDMtMDkgMTg6MjU6NDggKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZG9uJ3QgbG9zZSBwZW5kaW5nIHN0YXRlIHdoZW4gY2hhbmdpbmcgcmVzb2x1dGlvbgoKMjAwOS0wMi0yNyAxNzoxMjozOCArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBjaGFuZ2UgaW1nLWRvbmUgc2lnbmFsIHBhcmFtZXRlciBmcm9tIEdTdHJpbmcqIHRvIGNvbnN0IGdjaGFyKgoJICBEb24ndCBhbGxvdyBzZXR0aW5nIGZpbGVuYW1lIHZpYSBpbWctZG9uZSBzaWduYWwgcGFyYW1ldGVyIGJ1dCBmb3JjZSBhcHAKCSAgdXNlIGZpbGVuYW1lIHByb3BlcnR5LiBEb24ndCBzdG9wIGNhcHR1cmUgd2hlbiBzZXR0aW5nIGZpbGVuYW1lIHByb3BlcnR5LgoJICBVcGRhdGUgY2hlY2sgdW5pdCB0ZXN0IGJhc2VkIG9uIHRoZSBjaGFuZ2UuCgoyMDA5LTA0LTE1IDEzOjIzOjAxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBBZGQgR1NUX0RFQlVHX0ZVTkNQVFJzCgoyMDA5LTA0LTE1IDEzOjE1OjU1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogUmVsZWFzZSBsb2NrZWQgcGFkIG9uIHJlbGVhc2VfcGFkCgkgIFJlbGVhc2UgdGhlIHNwZWNpYWwgcGFkIGlmIHRoZSBwYWQgaXMgcmVtb3ZlZCBmcm9tIHRoZSBtdXhlci4KCjIwMDktMDQtMTUgMTM6MDk6MjcgLTA0MDAgIExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZUB5YWhvby5mcj4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiBSZWxlYXNlIHNwZWNpYWwgb24gcGFkIGRpc3Bvc2UKCSAgRml4ZXMgIzU3NzY5MAoKMjAwOS0wNC0xNSAxODoxNDo0OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHByZXZlbnQgb3ZlcmZsb3cgaW4gRU9TIGVzdGltYXRpb24KCSAgVXNlIGEgZ3VpbnQ2NCBpbnN0ZWFkIG9mIGEgZ3VpbnQgdG8gaG9sZCBhIDY0Yml0IHZhbHVlIHRvIHByZXZlbnQgY29tcGxldGVseQoJICBib2d1ZXMgRU9TIGVzdGltYXRpb24gdmFsdWVzIGR1ZSB0byBvdmVyZmxvd3MuCgoyMDA5LTA0LTE1IDE3OjQ0OjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBydHBiaW46IHdlIHNob3VsZCBub3QgcHJvdmlkZSBhIGNsb2NrCgkgIFRoZXJlIGlzIG5vIG5lZWQgdG8gcHJvdmlkZSBhIGNsb2NrLgoKMjAwOS0wNC0xNSAxNzoyODo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IG1vcmUgZXN0aW1hdGVkIEVPUyBmaXhlcwoJICBEbyBtb3JlIGFjY3VyYXRlIEVPUyBlc3RpbWF0ZSBhbmQgZ3VhcmQgYWdhaW5zdCBiYWNrd2FyZCB0aW1lc3RhbXBzLgoKMjAwOS0wNC0xNSAxNzoyNTowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlbGVhc2UgbG9jayBiZWZvcmUgcHVzaGluZyBFT1MKCSAgTWFrZSBzdXJlIHdlIHJlbGVhc2UgdGhlIGppdHRlcmJ1ZmZlciBsb2NrIGJlZm9yZSB3ZSBzdGFydCBwdXNoaW5nIG91dCBkYXRhCgkgIGJlY2F1c2UgZWxzZSB3ZSBtaWdodCBkZWFkbG9jay4KCjIwMDktMDQtMTUgMTU6NDY6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgZGVpbnRlcmxhY2UyOiBNb3ZlIG91dHB1dCBidWZmZXIgZnJvbSB0aGUgaW5zdGFuY2Ugc3RydWN0IHRvIGEgZnVuY3Rpb24gcGFyYW1ldGVyCgoyMDA5LTA0LTE1IDE1OjMzOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIGRlaW50ZXJsYWNlMjogQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgYXV0b21hdGljIGRldGVjdGlvbiBvZiB0aGUgZmllbGQgb3JkZXIKCjIwMDktMDQtMTUgMTQ6NDc6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgZGVpbnRlcmxhY2UyOiBBZGQgc3VwcG9ydCBmb3IgWVZZVSBjb2xvcnNwYWNlCgkgIFRoaXMgaXMgdGhlIHNhbWUgYXMgWVVZMiB3aXRoIGp1c3QgQ3IgYW5kIENiIHN3YXBwZWQuIEFzCgkgIHdlIGRvbid0IG1ha2UgYSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlbSB3aGVuIGRlaW50ZXJsYWNpbmcKCSAgdGhpcyB3b3Jrcy4KCjIwMDktMDQtMTMgMTM6MzI6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBTbWFsbCBjbGVhbnVwCgoyMDA5LTA0LTEwIDE4OjAwOjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkgIGRzaG93ZGVjOiBmaXggY29tcGlsYXRpb24gd2l0aCB0aGUgZGVidWdnaW5nIHN5c3RlbSBkaXNhYmxlZAoJICBPbmUgR1NUX0RFQlVHX0NBVEVHT1JZX0lOSVQgc2hvdWxkIGJlIGVub3VnaCBhbnl3YXkuCgkgIEZpeGVzICM1Nzg1NjIgKHNwb3R0ZWQgYnkgRGF2aWQgSG95dCkuCgoyMDA5LTA0LTA5IDIzOjUzOjM5ICswMjAwICBKYW5pbiBLb2xlbmMgPGphbmluLmtvbGVuYyBhdCBtYXJhbmQuc2k+CgoJKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6CgkqIGV4dC94MjY0L2dzdHgyNjRlbmMuaDoKCSAgeDI2NGVuYzogYWRkIGZvcmNlIGtleWZyYW1lIGV2ZW50IGhhbmRsaW5nCgkgIFVzZSB0aGUgR3N0Rm9yY2VLZXlVbml0IGV2ZW50IHRvIGZvcmNlIGEga2V5ZnJhbWUuCgkgIEZpeGVzICM1NzgxMTIuCgoyMDA5LTA0LTA4IDExOjUyOjQ2IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2FjbWVuYy9NYWtlZmlsZS5hbToKCSogc3lzL2FjbW1wM2RlYy9NYWtlZmlsZS5hbToKCSAgYWNtZW5jLCBhY21tcDNkZWMsIHNkcDogbGluayB0byBhbGwgcmVxdWlyZXMgbGlicmFyaWVzIG9uIHdpbjMyLgoJICBBZGQgd2luc29jayBmb3Igd2luZG93cyAoZm9yIHNkcCkuIExpbmsgdG8gYWxsIHRoZSBwbHVnaW5zLWJhc2UKCSAgbGlicyB3ZSBpbmRpcmVjdGx5IHVzZSBmb3IgYWNtbWVuYyBhbmQgYWNtbXAzZGVjLgoKMjAwOS0wNC0wNyAxNTo1MDozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL214Zi5jOgoJICBteGY6IEFkZCB1bml0IHRlc3RzIGZvciBjaGVja2luZyBpZiBteGZtdXggISBteGZkZW11eCBwaXBlbGluZXMgYXJlIHdvcmtpbmcgd2l0aG91dCBlcnJvcnMKCjIwMDktMDQtMDcgMTU6NDk6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogRG9uJ3QgdXNlIGludmFsaWQgYnVmZmVyIG9mZnNldHMsIGluc3RlYWQgYXNzdW1lIG9mZnNldCA9PSAwCgoyMDA5LTA0LTA3IDE1OjQ1OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmOiBGaXggY29tcGFyaXNvbgoKMjAwOS0wNC0wNyAxNToxOToyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmdWwuYzoKCSogZ3N0L214Zi9teGZ1bC5oOgoJICBVc2UgVUwgZGF0YWJhc2UgZm9yIGFsbCBtZXRhZGF0YSBVTHMKCjIwMDktMDQtMDcgMDQ6NTM6MDIgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBGaXggc2xpZ2h0bHkgYnJva2VuIGJ1ZmZlci1pbi1zZWdtZW50IGNoZWNrIChhYWNwYXJzZSwgYW1ycGFyc2UsIGZsYWNwYXJzZSkKCjIwMDktMDQtMDUgMDM6NTA6MTkgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBGaXggcHVzaCBtb2RlIHNlZWtpbmcgKGFhY3BhcnNlLCBhbXJwYXJzZSkKCSAgU2VuZGluZyB0aGUgZmx1c2gtc3RhcnQgZXZlbnQgZm9yd2FyZCBiZWZvcmUgdGFraW5nIHRoZSBzdHJlYW0gbG9jayBhY3R1YWxseQoJICB3b3JrcywgaW4gY29udHJhc3QgdG8gZGVhZGxvY2tpbmcgaW4gZG93bnN0cmVhbSBwcmVyb2xsX3dhaXQgKGh1bmsgMSkuCgkgIEFmdGVyIHRoYXQgd2UgZ2V0IHRoZSBjaGFpbiBmdW5jdGlvbiBiZWluZyBzdHVjayBpbiBhIGJ1c3kgbG9vcC4gVGhpcyBpcyBmaXhlZAoJICBieSB1cGRhdGluZyB0aGUgbWluaW11bSBmcmFtZSBzaXplIGluc2lkZSB0aGUgc3luY2hyb25pemF0aW9uIGxvb3AgYmVjYXVzZSB0aGUKCSAgc3ViY2xhc3MgYXNrcyBmb3IgbW9yZSBkYXRhIGluIHRoaXMgd2F5IChodW5rIDIpLgoJICBGaW5hbGx5LCB0aGlzIGxlYWRzIHRvIGEgdmVyeSBwcm9iYWJsZSBjcmFzaCBiZWNhdXNlIHRoZSBzdWJjbGFzcyBjYW4gZmluZCBhCgkgIHZhbGlkIGZyYW1lIHdpdGggYSBzaXplIGdyZWF0ZXIgdGhhbiB0aGUgY3VycmVudGx5IGF2YWlsYWJsZSBkYXRhIGluIHRoZQoJICBhZGFwdGVyLiBUaGlzIG1ha2VzIHRoZSBzdWJzZXF1ZW50IGdzdF9hZGFwdGVyX3Rha2VfYnVmZmVyIGNhbGwgcmV0dXJuIE5VTEwsCgkgIHdoaWNoIGlzIG5vdCBleHBlY3RlZCAoaHVuayAzKS4KCjIwMDktMDQtMDQgMjE6MTk6MTEgKzAzMDAgIEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAZ21haWwuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkMGVhODllIHRvIGIzOTQxZWEKCjIwMDktMDQtMDQgMTc6NTE6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2J6Mi9NYWtlZmlsZS5hbToKCSogZXh0L2J6Mi9nc3RiejJkZWMuYzoKCSogZXh0L2J6Mi9nc3RiejJlbmMuYzoKCSAgYnoyOiBmaXggc29tZSByZWZjb3VudCBtaXN0YWtlcyBhbmQgZG8gc29tZSBjbGVhbmluZyB1cAoJICBObyBuZWVkIHRvIHVucmVmIGJ1ZmZlcnMgaWYgcGFkX3B1c2ggcmV0dXJucyBzb21ldGhpbmcgbm9uLUZMT1dfT0suCgkgIEluIGZhY3QsIHRoaXMgd2lsbCBjYXVzZSBhc3NlcnRpb25zIG9yIGNyYXNoZXMuIEhvd2V2ZXIsIHdlIGRvIG5lZWQKCSAgdG8gdW5yZWYgdGhlIGlucHV0IGJ1ZmZlciB3aGVuZXZlciB3ZSBkb24ndCBwYXNzIGl0IGRvd25zdHJlYW0uIEFsc28sCgkgIGEgbm9uLU9LIGZsb3cgcmV0dXJuIGlzIG5vdCBhbiBlcnJvciwgc28gZG9uJ3QgcG9zdCBlcnJvciBtZXNzYWdlcyBvbgoJICB0aGUgYnVzIC0gdGhlIHBpcGVsaW5lIG1heSBqdXN0IGJlIHNodXR0aW5nIGRvd24uIE1pc2NlbGxhbmVvdXMgb3RoZXIKCSAgY2xlYW4tdXBzIGFuZCBjcmFjayByZW1vdmFsLiBQbGVudHkgb2Ygd29yayBsZWZ0IGZvciB0aG9zZSB3aG8gZmVlbAoJICBsaWtlIGl0LgoKMjAwOS0wNC0wNCAxNDo1NDoyNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZjhiM2Q5MSB0byBkMGVhODllCgoyMDA5LTA0LTAzIDIzOjEwOjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBmaXggZHZkbmF2IHZlcnNpb24gY2hlY2sKCSAgRml4ZXMgIzU3Nzg2NC4gVGhpcyB0aW1lIGZvciByZWFsLgoKMjAwOS0wNC0wMyAxNzo1NTozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICByZXNpbmR2ZDogcmVxdWlyZSBsaWJkdmRuYXYgPj0gNC4xLjIgZm9yIGR2ZG5hdl9nZXRfY3VycmVudF90aW1lKCkKCSAgRml4ZXMgIzU3Nzg2NC4KCjIwMDktMDQtMDMgMTA6Mjk6NTMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgbWlzYzogQnVtcCBwbHVnaW5zLWJhc2UgcmVxdWlyZW1lbnQgdG8gMC4xMC4yMi4xCgoyMDA5LTA0LTAxIDE3OjQxOjQwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IFNlbmQgYm90aCB0aGUgbG9naWNhbCBhbmQgcGh5c2ljYWwgc3Vic3RyZWFtIElEIGluIHRoZSBzdHJlYW0gY2hhbmdlLgoJICBXaGVuIHNlbmRpbmcgdGhlIHN0cmVhbSBjaGFuZ2UgbWVzc2FnZShzKSB0byB0aGUgZGVtdXhlciwgYWxzbyBpbmNsdWRlIHRoZQoJICBsb2dpY2FsIHN0cmVhbSBpZCBhbG9uZyB3aXRoIHRoZSBwaHlzaWNhbCBJRCwgc28gdGhhdCB0aGUgZGVtdXhlciBjYW4gcmVtYXAKCSAgbG9naWNhbC0+cGh5c2ljYWwgTVBFRyBzdHJlYW0gSUQuCgoyMDA5LTA0LTAxIDAyOjIzOjIwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgcmVzaW5kdmQ6IFVzZSBuZXcgR3N0TmF2aWdhdGlvbiBmdW5jdGlvbmFsaXR5LgoJICBIYW5kbGUgdGhlIG5ldyBEVkQgY29tbWFuZHMsIHNvIHRoYXQgd2UgY2FuIGhhbmRsZSBjb21tYW5kcyBmcm9tIGEgcGxheWVyCgkgIHRvIGNoYW5nZSBhbmdsZSwganVtcCB0byBtZW51cyBldGMuIFVzZSB0aGUgbmV3IEdzdE5hdmlnYXRpb24gZXZlbnQgcGFyc2luZwoJICBmdW5jdGlvbnMsIGluc3RlYWQgb2YgaGFuZC1yb2xsZWQgc3R1ZmYuCgkgIFNlbmQgR3N0TmF2aWdhdGlvbiBub3RpZmljYXRpb24gbWVzc2FnZXMgd2hlbiB0aGUgbW91c2UgZW50ZXJzIGEgYnV0dG9uCgkgIG9yIGxlYXZlcyBpdCwgc28gVUkgY2FuIHR1cm4gdGhlIG1vdXNlIGN1cnNvciB0byBhIGhhbmQgaWNvbi4KCjIwMDktMDMtMzAgMDE6MDc6NDkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uaDoKCSAgcmVzaW5kdmQ6IFN3aXRjaCB0byB1c2luZyBhIGhhcmQtY29kZWQgbXBlZzJkZWMsIGFuZCBjaGFuZ2UgcGFkIGJsb2NraW5nIGEgYml0LgoJICBDaGFuZ2UgdGhlIHBhZCBibG9ja2luZyBiZWhhdmlvdXIgZHVyaW5nIHN0YXJ0dXAsIGFuZCB1c2UgYSBoYXJkLWNvZGVkIG1wZWcyZGVjIChmb3IgdGhlIG1vbWVudCksIGluIG9yZGVyIHRvIG1ha2UgdGhpbmdzIHdvcmsgd2l0aCBwbGF5YmluMi4KCjIwMDktMDMtMjUgMTI6MzE6MTAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogQWRkIG5ld2xpbmUgdG8gZGVidWcgZ19wcmludCBzdGF0ZW1lbnQKCjIwMDktMDMtMjUgMDI6MjA6MTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogTWFrZSBoaWdobGlnaHRzIHdvcmsgd2hlbiBqdW1waW5nIGludG8gbWVudXMKCSAgTWFrZSB0aGUgaGlnaGxpZ2h0cyByZS1hcHBlYXIgY29ycmVjdGx5IHdoZW4ganVtcGluZyBiYWNrIGludG8gbWVudXMKCSAgYnkgbWFraW5nIHN1cmUgdG8gc2V0IHRoZSBmbHVzaGluZ19zZWVrIGZsYWcgZm9yIHVzZXItYWN0aW9uIGluaXRpYXRlZAoJICBzZWVrcy4KCSAgRmlkZGxlIHNvbWUgZGVidWcgcmVsYXRlZCB0byB0cmFja2luZyBkb3duIHRoZSBpc3N1ZS4KCjIwMDktMDMtMjUgMDE6MjE6MjggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogU3VwcG9ydCBtdWx0aWFuZ2xlIHRpdGxlcy4KCSAgQWRkIGEgd29ya2Fyb3VuZCBmb3IgYW4gYXBwYXJlbnQgbGliZHZkbmF2IGJ1ZyB3aGVyZSBpdCBsb3NlcyBuYXYgcGFja2V0cwoJICBkdXJpbmcgbXVsdGlhbmdsZSB0aXRsZXMsIGFuZCBhZGQgc29tZSBrZXlwcmVzcyBiaW5kaW5ncyB0byBzd2l0Y2ggdGhlIGFuZ2xlLgoKMjAwOS0wMy0xOCAwOTozNToxMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgIHJlc2luZHZkOiBBZGQgYmFjayBpbiBzdXBwb3J0IGZvciB1c2luZyBoYXJkY29kZWQgYTUyZGVjCgoyMDA5LTAzLTE2IDIwOjMxOjU4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkOiBBZGQgc29tZSBkZWJ1ZyB3aGVuIGNyZWF0aW5nIHRoZSBvdXRwdXQgcGFkcyBpbiB0aGUgZGVtdXhlcgoKMjAwOS0wMy0xMCAxMDozOToyMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvZGVjLmM6CgkgIHJlc2luZHZkOiBNb3JlIGhhY2tpbmcgb24gdGhlIGF1ZGlvIGRlY29kZXIuCgoyMDA5LTAzLTA1IDAwOjA0OjI0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IFRyaW0gYmFjayB0aGUgZ19wcmludCBkZWJ1ZyAtIGNvbnZlcnQgdG8gR1NUX0RFQlVHIGFuZCBHU1RfTE9HCgoyMDA5LTAzLTA0IDE2OjE2OjU3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvZGVjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb2RlYy5oOgoJICByZXNpbmR2ZDogRXh0ZW5kIHRoZSBSZXNpbiBhdWRpbyBkZWNvZGVyIGVsZW1lbnQsIGFuZCBzd2l0Y2ggcnNuZHZkYmluIHRvIHVzZSBpdAoKMjAwOS0wMi0yNyAxMDoxODoxNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9kZWMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvZGVjLmg6CgkgIHJlc2luZHZkOiBGaXJzdCBwYXJ0IG9mIHRoZSByZS1wbHVnZ2luZyBhdWRpbyBkZWNvZGVyCgoyMDA5LTAyLTI3IDA5OjQyOjM1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgcmVzaW5kdmQ6IHJlbW92ZSB1bnVzZWQgY29kZSBwYXRoIGZyb20gdGhlIGJpbgoKMjAwOS0wMi0yNiAwMDoyOToyNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmg6CgkgIHJlc2luZHZkOiBJbmRlbnQgc29tZSB0aGluZ3MKCjIwMDktMDItMjYgMDA6Mjc6NTQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc253cmFwcGVkYnVmZmVyLmM6CgkgIHJlc2luZHZkOiBTd2l0Y2ggR1NUX0JPSUxFUlBMQVRFIHRvIEdfREVGSU5FX1RZUEUgZm9yIG5vIHJlYWwgcmVhc29uLgoKMjAwOS0wMy0yNCAwMTowMjoyOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICByZXNpbmR2ZDogQWRkIGZhc3RzdGFydCwgYW5kIHdvcmsgYXJvdW5kIHNvbWUgbXVsdGktYW5nbGUgaXNzdWVzCgkgIEFkZCBhICdmYXN0LXN0YXJ0JyBwcm9wZXJ0eSB0byB0aGUgcnNuZHZkc3JjIGVsZW1lbnQsIHRoYXQgYXR0ZW1wdHMgdG8KCSAganVtcCBkaXJlY3RseSB0byB0aGUgRFZEIG1lbnUgd2hlbiBzdGFydGluZy4gRG9lc24ndCB3b3JrIGNvcnJlY3RseSBvbiBhbGwKCSAgdGl0bGVzIHlldC4KCSAgQWRkIHdvcmthcm91bmRzIGZvciBpc3N1ZXMgd2l0aCBtdWx0aXBsZSBhbmdsZXMgaW4gbGliZHZkbmF2OiBVc2UgYSBoZXVyaXN0aWMKCSAgdG8gYXZvaWQgZGV0ZWN0aW5nIGRpc2NvbnRpbnVpdGllcyBkdXJpbmcgbXVsdGlwbGUtYW5nbGUgdGl0bGVzLCBpdCBzZWVtcwoJICBjYXVzZWQgYnkgbGliZHZkbmF2IGxvc2luZyBzb21lIE5BViBwYWNrZXRzIGluIG11bHRpYW5nbGUgdGl0bGVzLiBGaXgKCSAgc2Vla2luZyBpbiBtdWx0aS1hbmdsZSB0aXRsZXMgYnkgYWxpZ25pbmcgb3VyIHNlY3RvciBjYWxjdWxhdGlvbiBsb2dpYwoJICB3aXRoIGxpYmR2ZG5hdidzLiBBbHNvLCB1c2UgbGliZHZkbmF2J3MgZHZkbmF2X2dldF9jdXJyZW50X3RpbWUoKSBtZXRob2QKCSAgdG8gZGV0ZXJtaW5lIHRoZSBsb2dpY2FsIHBvc2l0aW9uIG9mIHRoZSBjdXJyZW50IGNlbGwgd2hlbiBpdCBjaGFuZ2VzLCBhcyB0aGUKCSAgY2VsbF9zdGFydCB2YWx1ZSBpbiB0aGUgY2VsbF9jaGFuZ2UgZXZlbnQgcHJvdmlkZXMgYSBudW1iZXIgdGhhdCBkb2Vzbid0CgkgIGNvbXBlbnNhdGUgZm9yIGFuZ2xlIGNlbGwgYmxvY2tzLgoKMjAwOS0wMy0yMSAxOTowNDowNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBTbWFsbCBkZWJ1ZyBvdXRwdXQgY2hhbmdlIGluIHRoZSBzb3VyY2UgZWxlbWVudAoKMjAwOS0wNC0wMSAwMjoyNTo0MiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBBZGQgc29tZSBkZWJ1ZwoJICBBZGQgYSBsaXR0bGUgYml0IG9mIGV4dHJhIGRlYnVnLiBXcmFwIGEgaGFyZGNvZGVkICNpZiAwIGludG8gYSBkZWZpbmUgaW5zdGVhZC4KCjIwMDktMDQtMDIgMTM6MDU6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6CgkgIGpwMmVuYzogVW5yZWYgcGVlciBjYXBzIGFmdGVyIHVzYWdlIHRvIGZpeCBhIG1lbW9yeSBsZWFrCgoyMDA5LTA0LTAyIDEyOjQ2OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZtdXguYzoKCSAgbXhmbXV4OiBBZGQgdW5pdCB0ZXN0cwoKMjAwOS0wNC0wMSAxNTo0NToyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZ3N0bGVnYWN5cmVzYW1wbGUuYzoKCSAgbGVnYWN5cmVzYW1wbGU6IGZpeCBuZWdvdGlhdGlvbiBzbyB0aGF0IHVwc3RyZWFtIGNhbiBhY3R1YWxseSBmaXhhdGUgdG8gZG93bnN0cmVhbSdzIHJhdGUKCSAgSWYgb25lIHNpZGUgaGFzIGEgcHJlZmVyZW5jZSBmb3IgYSBwYXJ0aWN1bGFyIHNhbXBsZSByYXRlIG9yIHNldCBvZiBzYW1wbGUgcmF0ZXMsIHdlCgkgIHNob3VsZCBob25vdXIgdGhpcyBpbiB0aGUgY2FwcyB3ZSBhZHZlcnRpc2UgYW5kIHRyYW5zZm9ybSB0byBhbmQgZnJvbSwgc28gdGhhdCBlbGVtZW50cwoJICBhY3R1YWxseSBrbm93IGFib3V0IHRoZSBvdGhlciBzaWRlJ3Mgc2FtcGxlIHJhdGUgcHJlZmVyZW5jZSBhbmQgY2FuIG5lZ290aWF0ZSB0byBpdAoJICBpZiBzdXBwb3J0ZWQuIEFsc28gYWRkIHVuaXQgdGVzdCBmb3IgdGhpcy4KCjIwMDktMDMtMzEgMTY6MDc6NDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogRGVsYXkgbmV3c2VnbWVudCBhcyBsb25nIGFzIHBvc3NpYmxlLgoJICBJZiBuZXdzZWdtZW50IGlzIHNlbnQgKHRvbykgZWFybHksIGNhcHMgbWF5IG5vdCB5ZXQgYmUgZml4ZWQvc2V0LAoJICBhbmQgZG93bnN0cmVhbSBtYXkgbm90IGhhdmUgYmVlbiBsaW5rZWQuCgoyMDA5LTAzLTMwIDIxOjU3OjEyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29wdGlvbnMuY2M6CgkgIG1wZWcyZW5jOiBmaXggYml0cmF0ZSBwcm9wZXJ0eSBzZXR0aW5ncwoJICBBbGlnbiBiaXRyYXRlIHByb3BlcnR5IGludGVycHJldGF0aW9uIHdpdGggdXN1YWwgbXBlZzJlbmMgYmVoYXZpb3VyLgoJICBGaXhlcyAjNTc1NzM2LgoKMjAwOS0wMy0yNyAyMTozOTowNSArMDAwMCAgQWxhbiBGYWxsb29uIDxhZmFsbG9vbkBsdW1lbmVyYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogbWFrZSAtLWRpc2FibGUtZXh0ZXJuYWwgd29yayBhZ2FpbgoKMjAwOS0wMy0yNyAxOTozNzo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmg6CgkgIGpwMmtkZWM6IGltcGxlbWVudCBiYXNpYyBRb1MKCSAgRG9uJ3QgdHJ5IHRvIGRlY29kZSBmcmFtZXMgdGhhdCBhcmUgZ29pbmcgdG8gYmUgbGF0ZSBhbnl3YXkuCgoyMDA5LTAzLTI3IDE3OjQ0OjU3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgIHJ0cGJpbjogYWRkIG9uX25wdF9zdG9wIHNpZ25hbAoJICBBZGQgdGhlIG9uX25wdF9zdG9wIHNpZ25hbCB0byBydHBiaW4gYW5kIHJ0cGppdHRlcmJ1ZmZlciB0byBub3RpZnkgdGhlCgkgIGFwcGxpY2F0aW9uIHRoYXQgdGhlIE5QVCBzdG9wIHBvc2l0aW9uIGhhcyBiZWVuIHJlYWNoZWQuCgoyMDA5LTAzLTI3IDExOjIwOjAyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIG91dHB1dHNlbGVjdG9yOiByZXNldCBzdGF0ZSB3aGVuIGdvaW5nIHRvIFJFQURZCgkgIFJlc2V0IHRoZSBsYXN0LWJ1ZmZlciwgdGhlIHBlbmRpbmcgcGFkIGFuZCB0aGUgc2VnbWVudCB3aGVuIGdvaW5nIHRvIHRoZSBSRUFEWQoJICBzdGF0ZS4KCSAgRml4ZXMgIzU3NjcxMi4KCjIwMDktMDMtMjUgMjE6MjQ6NDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaXggcmV1c2luZyBlbGVtZW50CgkgIFN0YXRlIGNoYW5nZSB0byBSRUFEWSBhbmQgdGhlbiBiYWNrIHRvIFBBVVNFRCBzaG91bGQgc3RpbGwgcHJvdmlkZQoJICB0aGUgcHJvcGVyIHN0cnVjdHVyZXMgYXMgYXJlIG90aGVyd2lzZSBmcmVzaGx5IGF2YWlsYWJsZSBmb2xsb3dpbmcKCSAgYSByZXF1ZXN0X25ld19wYWQuCgkgIFBvaW50ZWQgb3V0IGJ5IFRoaWFnbyBTYW50b3MuCgoyMDA5LTAzLTI2IDIwOjI4OjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSAgbXhmOiBGaXggY29tcGlsYXRpb24gYW5kIGNvbXBpbGVyIGVycm9ycyB3aXRoIEdMaWIgPCAyLjE2LjAKCjIwMDktMDMtMjYgMTQ6MjY6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJICBteGY6IEZpeCAiY2FzdCB0byBwb2ludGVyIHR5cGUgb2YgZGlmZmVyZW50IHNpemUiIGNvbXBpbGVyIHdhcm5pbmcKCjIwMDktMDMtMjYgMTM6MjQ6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJICBteGY6IFJlbmFtZSBmb3Jnb3R0ZW4gZnVuY3Rpb24gdG8gZml4IHVucmVzb2x2ZWQgc3ltYm9scyBlcnJvcgoKMjAwOS0wMy0yNiAxMzoyMDoxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmR2LWRpZi5jOgoJKiBnc3QvbXhmL214ZnZjMy5jOgoJICBteGY6IFVzZSBteGZfdXtsLHVpZH1faXNfZXF1YWwoKSBhbmQgZnJpZW5kcyBpbnN0ZWFkIG9mIG1lbWNtcCgpCgoyMDA5LTAzLTI2IDEzOjExOjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZG1zMS5jOgoJKiBnc3QvbXhmL214ZmRtczEuaDoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgbXhmOiBEaWZmZXJlbnRpYXRlIGJldHdlZW4gVUwgYW5kIFVVSUQKCjIwMDktMDMtMjYgMTI6NDY6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSogZ3N0L214Zi9teGYuYzoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5oOgoJKiBnc3QvbXhmL214ZmFsYXcuYzoKCSogZ3N0L214Zi9teGZhbGF3Lmg6CgkqIGdzdC9teGYvbXhmZDEwLmM6CgkqIGdzdC9teGYvbXhmZDEwLmg6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJKiBnc3QvbXhmL214ZmRtczEuYzoKCSogZ3N0L214Zi9teGZkdi1kaWYuYzoKCSogZ3N0L214Zi9teGZkdi1kaWYuaDoKCSogZ3N0L214Zi9teGZlc3NlbmNlLmM6CgkqIGdzdC9teGYvbXhmZXNzZW5jZS5oOgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6CgkqIGdzdC9teGYvbXhmanBlZzIwMDAuaDoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L214Zi9teGZtcGVnLmg6CgkqIGdzdC9teGYvbXhmbXV4Lmg6CgkqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5oOgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSogZ3N0L214Zi9teGZ1bC5jOgoJKiBnc3QvbXhmL214ZnVsLmg6CgkqIGdzdC9teGYvbXhmdXAuYzoKCSogZ3N0L214Zi9teGZ1cC5oOgoJKiBnc3QvbXhmL214ZnZjMy5jOgoJKiBnc3QvbXhmL214ZnZjMy5oOgoJKiBnc3QvbXhmL214ZndyaXRlLmM6CgkqIGdzdC9teGYvbXhmd3JpdGUuaDoKCSAgbXhmOiBTb3VyY2UgZmlsZXMgYW5kICNpbmNsdWRlIGNsZWFudXAKCjIwMDktMDMtMjYgMTI6MTA6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QveGRnbWltZS9NYWtlZmlsZS5hbToKCSogZ3N0L3hkZ21pbWUvZ3N0eGRnbWltZS5jOgoJICB4ZGdtaW1lOiBVc2UgR0lPcyBnX2NvbnRlbnRfdHlwZV9ndWVzcygpIGlmIHBvc3NpYmxlCgoyMDA5LTAzLTI2IDExOjUxOjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmd3JpdGUuYzoKCSAgbXhmOiBVc2UgdGhlIFVMIGRhdGFiYXNlIGZvciBzb21lIG1vcmUgVUxzCgoyMDA5LTAzLTI2IDExOjQyOjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmOiBSZW1vdmUgc29tZSBHTGliIDwgMi4xNCBjb21wYXRpYmlsaXR5IHN0dWZmCgoyMDA5LTAzLTI2IDExOjM3OjI4ICswMTAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2FjbWVuYy9NYWtlZmlsZS5hbToKCSogc3lzL2FjbWVuYy9hY21lbmMuYzoKCSogc3lzL2FjbW1wM2RlYy9NYWtlZmlsZS5hbToKCSogc3lzL2FjbW1wM2RlYy9hY21tcDNkZWMuYzoKCSAgYWNtOiBQb3J0IHRvIE1pbkdXCgkgIEZpeGVzIGJ1ZyAjNTczNTk1LgoKMjAwOS0wMy0yNiAxMTozMzo1MCArMDEwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC94ZGdtaW1lL01ha2VmaWxlLmFtOgoJICB4ZGdtaW1lOiBMaW5rIHdpdGggd2luc29jayBsaWJyYXJ5IHRvIGZpeCBidWlsZCB3aXRoIE1pbkdXCgkgIFBhcnRpYWxseSBmaXhlcyBidWcgIzU3MzU5NS4KCjIwMDktMDMtMjYgMTE6MzI6MDggKzAxMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZGNjcC9NYWtlZmlsZS5hbToKCSogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwLmg6CgkqIGdzdC9kY2NwL2dzdGRjY3BfY29tbW9uLmg6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmg6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5oOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5oOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc3JjLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuaDoKCSAgZGNjcDogUG9ydCBEQ0NQIHBsdWdpbiB0byBNaW5HVwoJICBQYXJ0aWFsbHkgZml4ZXMgYnVnICM1NzM1OTUuCgoyMDA5LTAzLTI2IDExOjIzOjMwICswMTAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZGNjcDogRGlzYWJsZSB0aGUgZGNjcCBwbHVnaW4gaWYgbm8gcHRocmVhZCBzdXBwb3J0IGlzIGF2YWlsYWJsZQoJICBQYXJ0aWFsbHkgZml4ZXMgYnVnICM1NzM1OTUuCgoyMDA5LTAzLTI2IDA4OjEzOjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbXhmbXV4JwoKMjAwOS0wMy0yNiAwODoxMjowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmR2LWRpZi5jOgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6CgkqIGdzdC9teGYvbXhmdmMzLmM6CgkgIG14Zm11eDogQ2xlYW51cAoKMjAwOS0wMy0yNiAwODoxMToyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZhbGF3LmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4Lmg6CgkgIG14Zm11eDogRml4IGhhbmRsaW5nIG9mIGJ1ZmZlcnMgd2l0aCBtb3JlIHRoYW4gb25lIGVkaXQgdW5pdCBhbmQgRU9TIGhhbmRsaW5nCgoyMDA5LTAzLTI1IDIzOjA0OjEzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJICBsYWRzcGE6IGNvbW1lbnQgc2lnbmFscHJvY2Vzc29yIGNsYXNzIG1vcmUgYW5kIGRvIG1pbm9yIGNvZGUgY2xlYW51cHMKCjIwMDktMDMtMjUgMTI6NDA6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBSZXF1aXJlIGNvcmUgPj0gMC4xMC4yMi4xIGZvciAldSBwYWQgdGVtcGxhdGUgc3VwcG9ydAoKMjAwOS0wMy0yNCAxNToyMzowMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIHNlbGVjdG9yOiBtZXJnZSB0aGUgdGFncwoJICBNZXJnZSB0aGUgdGFncyByZWNlaXZlZCBvbiB0aGUgaW5wdXQtc2VsZWN0b3Igc2lua3BhZHMgaW5zdGVhZCBvZiBvbmx5IGtlZXBpbmcKCSAgdGhlIGxhc3Qgb25lIHdlIHNhdy4KCjIwMDktMDMtMjMgMTk6MzM6MzEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIE5FV1M6CgkgIEZpeCB2ZXJzaW9uIG51bWJlciBpbiB0aGUgTkVXUyBmaWxlCgoyMDA5LTAzLTE5IDAxOjE3OjI1ICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBGaXggYnVzeWxvb3Agd2hlbiBzZWVraW5nLiBGaXhlcyAjNTc1Mzg4CgkgIFRoZSBwcm9ibGVtIGlzIHRoYXQgYWZ0ZXIgYSBkaXNjb250LCBzZXRfbWluX2ZyYW1lX3NpemUoMTAyNCkgaXMgY2FsbGVkIHdoZW4KCSAgZGV0ZWN0X3N0cmVhbSByZXR1cm5zIEZBTFNFLiBIb3dldmVyLCBkZXRlY3Rfc3RyZWFtIGNhbGxzIGNoZWNrX2FkdHNfZnJhbWUKCSAgd2hpY2ggc2V0cyB0aGUgZnJhbWUgc2l6ZSBvbiBpdHMgb3duIHRvIHNvbWV0aGluZyBsYXJnZXIgdGhhbiAxMDI0LiBUaGlzIGlzIHRoZQoJICBzYW1lIHNpdHVhdGlvbiBhcyBpbiB0aGUgYmVnaW5uaW5nLCBzbyB0aGUgYmFzZSBjbGFzcyBlbmRzIHVwIGNhbGxpbmcKCSAgY2hlY2tfdmFsaWRfZnJhbWUgaW4gYW4gZW5kbGVzcyBsb29wLgoKMjAwOS0wMy0xOSAwMDozMjo0MCArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogUmVmYWN0b3IgY2hlY2tfdmFsaWRfZnJhbWUgdG8gZXhwb3NlIGJyb2tlbiBjb2RlCgkgIEp1c3QgbW92aW5nIGNvZGUgYXJvdW5kIGFuZCByZW1vdmluZyBhbiB1bmhlbHBmdWwvbWlzbGVhZGluZyBjb21tZW50LgoKMjAwOS0wMy0yMyAxMToxNzozOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZml4IGluY2x1ZGVzIGZvciBsc2VlawoJICAtLQoKMjAwOS0wMy0yMCAxNDoyMDoxNiArMDEwMCAgTFJOIDxscm4xOTg2IGF0IGdtYWlsIGRvdCBjb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgd2luMzI6IGZpeCBzZWVraW5nIGluIGxhcmdlIGZpbGVzCgkgIFVzZSBfbHNlZWtpNjQoKSBvbiBXaW5kb3dzIHRvIHNlZWsgaW4gbGFyZ2UgZmlsZXMuCgkgIEZpeGVzICM1NzYwMjEuCgoyMDA5LTAzLTE2IDExOjIxOjAyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IEFkZCBuZXcgY29ubmVjdGlvbiBtb2RlCgkgIEFkZCBhIG5ldyBjb25uZWN0aW9uIG1vZGUgdG8gamFja3NyYyBhbmQgamFja3NpbmsuIEluIHRoaXMgbmV3IGF1dG8tZm9yY2UKCSAgY29ubmVjdGlvbiBtb2RlIGphY2sgd2lsbCBjcmVhdGUgYXMgbWFueSBwb3J0cyBhcyByZXF1ZXN0ZWQvbmVlZGVkIGluIHRoZQoJICBwaXBlbGluZSBhbmQgd2lsbCB0aGVuIGNvbm5lY3QgYXMgbWFueSBwaHlzaWNhbCBwb3J0cyBhcyBwb3NzaWJsZSwgcG9zc2libHkKCSAgbGVhdmluZyBzb21lIHBvcnRzIHVuY29ubmVjdGVkLgoJICBBbHNvIGdldCByaWQgb2Ygc29tZSBsZWZ0b3ZlciBnX3ByaW50LgoJICBGaXhlcyAjNTc1Mjg0LgoKMjAwOS0wMy0yMyAxNTowNjoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkgIG14ZjogTW92ZSBzb21lIHN0YXRpYyBjb25zdCB2YXJpYWJsZXMgaW50byBmdW5jdGlvbnMKCjIwMDktMDMtMTMgMTk6NDI6MTggKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGVuYzogYnVpbGQgd2l0aCBjZWx0IDAuNS4KCjIwMDktMDMtMjIgMjA6MTQ6MjUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjExLjEKCjIwMDktMDMtMjAgMTU6NTU6MTkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogcmVlbmFibGUgbWV0YWRhdGEgdGVzdAoKMjAwOS0wMy0yMCAxNTozMzozMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIG1ldGFkYXRhOiByZWVuYWJsZSB0ZXN0CgoyMDA5LTAzLTIwIDE1OjE4OjA1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5oOgoJICBtZXRkYXRhOiBtb3JlIGxvZ2dpbmcgYW5kIGNvZGUgY2xlYW51cHMKCSAgU3ByaW5rbGUgbW9yZSBkZWJ1ZyBsb2cgc3RhdGVtZW50cyBpbnRvIHRoZSBjb2RlLiBNb3ZlIHNvbWUgcmVwZWFkZWQgc3RyaW5nCgkgIGNvbnN0YW50IGludG8gaGVhZGVyIGZpbGVzIGFuZCB1c2Ugc2l6ZW9mIGluc3RlYWQgb2YgbWFudWFsbHkgY291bnRlZCBieXRlcy4gQWRkCgkgIGNvbW1lbnRzLgoKMjAwOS0wMy0yMCAxNToxNDowNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJICBtZXRhZGF0YTogZml4IG11eGluZyBqZmlmbGVzcyBqcGVnLiBGaXhlcyAjNTc0NDAxCgkgIERvbid0IGVycm9yIG91dCB3aGVuIHRvIGJlIG11eGVkIGpwZWcgaGFzIG5vIGpmaWYsIGFzIHdlIGNhbiBlYXNpbHkKCSAgYWRkIGl0LgoKMjAwOS0wMy0yMCAxNToxMDoyMiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5oOgoJICBtZXRhZGF0YTogZml4IGluY2x1ZGUgZ3VhcmRzCgoyMDA5LTAzLTIwIDE1OjA0OjE2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzoKCSAgbWV0YWRhdGE6IHJld29yayBkb2MgY29tbWVudAoKMjAwOS0wMy0wOSAyMzo0Mzo1NSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1dG9jb252ZXJ0L01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2xpdmVhZGRlci9NYWtlZmlsZS5hbToKCSogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSogZ3N0L251dmRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcXRtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9zaXJlbi9NYWtlZmlsZS5hbToKCSogZ3N0L3ZhbHZlL01ha2VmaWxlLmFtOgoJICBNYWtlZmlsZS5hbTogbm8gc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMKCjIwMDktMDMtMjIgMTU6NTg6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBGaXggZXJyb3IgaGFuZGxpbmcKCjIwMDktMDMtMjIgMTU6NTE6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmYWxhdy5jOgoJKiBnc3QvbXhmL214ZmR2LWRpZi5jOgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L214Zi9teGZ1cC5jOgoJKiBnc3QvbXhmL214ZnZjMy5jOgoJICBteGZtdXg6IEZpeCBzb21lIG1lbW9yeSBsZWFrcywgaW1wcm92ZSBkZWJ1Z2dpbmcgYW5kIGhhbmRsZSBlcnJvcnMgYmV0dGVyCgoyMDA5LTAzLTIyIDE1OjM1OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4Lmg6CgkgIG14Zm11eDogQWRkIGFuIGVycm9yIHN0YXRlIGZyb20gd2hpY2ggd2UgcmV0dXJuIGltbWVkaWF0ZWx5CgkgIEFsc28gaW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQuCgoyMDA5LTAzLTE5IDIwOjQxOjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmdWwuYzoKCSAgbXhmOiBPcHRpbWl6ZSBteGZfdWxfaXNfc3ViY2xhc3MoKSBhIGJpdAoKMjAwOS0wMy0xOSAxNDozMDozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSogZ3N0L214Zi9teGZ0eXBlcy5oOgoJKiBnc3QvbXhmL214ZnVsLmM6CgkqIGdzdC9teGYvbXhmdWwuaDoKCSAgbXhmOiBTdGFydCBpbXBsZW1lbnRpbmcgYSBjZW50cmFsIFVMIGRhdGFiYXNlIGFuZCBhZGQgc29tZSBoZWxwZXIgZnVuY3Rpb25zIGFuZCB1c2UgdGhlbQoKMjAwOS0wMy0xNyAxNDoyNzo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgbXhmbXV4OiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBhIHBpY3R1cmUgaW4gdGhlIGVkaXQgdW5pdHMgd2hlbiBtdXhpbmcgTVBFRzIvTVBFRzQKCjIwMDktMDMtMTcgMTQ6MjM6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkgIG14ZmRlbXV4OiBSZW1vdmUgYWNjaWRlbnRpYWxseSBjb21taXR0ZWQgZ19hc3NlcnRfbm90X3JlYWNoZWQoKQoKMjAwOS0wMy0xNiAxNzo0OTo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZnVwLmM6CgkgIG14ZjogQWRkIHN1cHBvcnQgZm9yIG11eGluZy9kZW11eGluZyBzdWJzYW1wbGVkIFlVViBmb3JtYXRzCgoyMDA5LTAzLTE2IDE3OjIyOjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmdXAuYzoKCSAgbXhmZGVtdXg6IFVzZSBjb3JyZWN0IHdpZHRoL2hlaWdodCBmb3Igc3RyaWRlIGNvbnZlcnNpb25zCgoyMDA5LTAzLTE2IDE3OjE4OjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmdXAuYzoKCSAgbXhmOiBJbXBsZW1lbnQgc3RyaWRlIHRyYW5zZm9ybWF0aW9ucyBmb3IgcmF3IHZpZGVvIGNvbnRlbnQgZm9yIG11eGluZyBhbmQgZGVtdXhpbmcKCjIwMDktMDMtMTYgMTU6Mzc6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZ1cC5jOgoJICBteGZkZW11eDogU2ltcGxpZnkgY2FwcyBzZWxlY3Rpb24gYnkgdXNpbmcgYSBsb29rdXAgdGFibGUKCjIwMDktMDMtMTYgMTI6NDg6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZ1cC5jOgoJICBteGZtdXg6IEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIG11eGluZyByYXcgcGljdHVyZSBlc3NlbmNlCgoyMDA5LTAzLTE2IDEyOjE1OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogT25seSBhZGQgYW4gZXNzZW5jZSBjb250YWluZXIgVUwgb25jZSB0byB0aGUgcGFydGl0aW9uIGFuZCBwcmVmYWNlCgoyMDA5LTAzLTE2IDEyOjA3OjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmdXAuYzoKCSAgbXhmZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBBWVVWIGFuZCB2MzA4IFlVViBjb2xvcnNwYWNlcwoKMjAwOS0wMy0xNiAxMTowMDo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgbXhmbXV4OiBVc2UgdGhlIGNvcnJlY3QgZWRpdCByYXRlIGluc3RlYWQgb2YgZXN0aW1hdGluZyBpdCBmcm9tIHRoZSBmaXJzdCBidWZmZXIgZHVyYXRpb24KCjIwMDktMDMtMTUgMTU6Mjc6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogRXJyb3Igb3V0IGRpcmVjdGx5IGlmIHB1c2hpbmcgYSBwYWNrZXQgZG93bnN0cmVhbSBmYWlsZWQKCjIwMDktMDMtMTUgMTU6Mjc6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkdi1kaWYuYzoKCSAgbXhmbXV4OiBBZGQgc3VwcG9ydCBmb3IgRFYvRElGIG11eGluZyBhbmQgYWRkIGZyYW1lcmF0ZSwgZXRjIHRvIHRoZSBjYXBzIHdoZW4gZGVtdXhpbmcgRFYvRElGIGNvbnRlbnQKCjIwMDktMDMtMTUgMTU6Mjc6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBBZGQgc29tZSBkZWJ1Z2dpbmcgYW5kIGVycm9yIG91dCBvbiBpbnZhbGlkIGlucHV0IGRhdGEKCjIwMDktMDMtMTQgMTk6NTk6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5ncwoKMjAwOS0wMy0xMSAxOTozODoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgbXhmbXV4OiBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIE1QRUcgYXVkaW8gYW5kIHZpZGVvCgoyMDA5LTAzLTExIDE5OjM4OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJICBteGZkZW11eDogVXNlIGNvcnJlY3QgY2FwcyB0eXBlIGZvciBBQzMgYXVkaW8gKGF1ZGlvL3gtYWMzIGluc3RlYWQgb2YgYXVkaW8vYWMzKQoKMjAwOS0wMy0xMSAxOTozNDoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6CgkgIG14Zm11eDogQWRkIHN1cHBvcnQgZm9yIG11eGluZyBKUEVHMjAwMCBjb2RlIHN0cmVhbXMKCjIwMDktMDMtMTEgMTk6MzM6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZ2YzMuYzoKCSAgbXhmbXV4OiBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIFZDLTMgKGFrYSBETnhIRCkgdmlkZW8KCjIwMDktMDMtMTEgMTk6MzM6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZhbGF3LmM6CgkgIG14Zm11eDogQWRkIHN1cHBvcnQgZm9yIG11eGluZyBBLUxhdyBhdWRpbwoKMjAwOS0wMy0xMSAxOTozMzoxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSAgbXhmbXV4OiBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIHJhdyBhdWRpbwoKMjAwOS0wMy0xMSAxOTozMjoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkqIGdzdC9teGYvbXhmLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbXhmL214Zm11eC5oOgoJKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSogZ3N0L214Zi9teGZ0eXBlcy5oOgoJKiBnc3QvbXhmL214ZndyaXRlLmM6CgkqIGdzdC9teGYvbXhmd3JpdGUuaDoKCSAgbXhmOiBBZGQgTVhGIG11eGVyCgkgIFRoaXMgbXV4ZXIgY3VycmVudGx5IG9ubHkgc3VwcG9ydHMgT1AxYSBhbmQgaXMKCSAgcHJvYmFibHkgbm90IHlldCAxMDAlIGNvbXBseWluZyB0byB0aGUgc3RhbmRhcmRzLgoKMjAwOS0wMy0xMSAxOTozMDoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzoKCSAganAya2VuYzogQWRkIHdpZHRoL2hlaWdodC9mb3VyY2MgdG8gdGhlIHBhZCB0ZW1wbGF0ZSBjYXBzCgo9PT0gcmVsZWFzZSAwLjEwLjExID09PQoKMjAwOS0wMy0yMSAwMTowOTowOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZTIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhkZ21pbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMTEKCjIwMDktMDMtMjAgMjM6Mzc6MzkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA5LTAzLTIwIDIzOjMxOjE5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuaDoKCSAgZHNob3dkZWM6IEFkZCBwYXJfbiBhbmQgcGFyX2QgdG8gdGhlIG9iamVjdCBzdHJ1Y3R1cmUgdG8gZml4IGNvbXBpbGF0aW9uCgoyMDA5LTAzLTE4IDEyOjMyOjA4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC42LjUgcHJlLXJlbGVhc2UKCjIwMDktMDMtMTggMTA6MzU6NDMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGZkZW11eDogRml4IGJ1aWxkIG9uIEdMaWIgPCAyLjE2IHNvbWUgbW9yZQoKMjAwOS0wMy0xOCAwMDowMjo0OCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICAwLjEwLjEwLjQgcHJlLXJlbGVhc2UKCjIwMDktMDMtMTYgMTc6Mjk6MTYgKzAwMDAgIFphaGVlciBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmOiBSZXBsYWNlIGdfaGFzaF90YWJsZV9nZXRfdmFsdWVzIHdpdGggY29kZSB3b3JraW5nIHdpdGggZ2xpYiAyLjYuCgkgIEZpeGVzICM1NzU1NjUKCjIwMDktMDMtMTMgMTY6MzE6NTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjEwLjMgcHJlLXJlbGVhc2UKCjIwMDktMDMtMTMgMTY6MTY6MjEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHBvL2ZpLnBvOgoJKiBwby9pZC5wbzoKCSogcG8vcHRfQlIucG86CgkgIHBvOiBVcGRhdGUgcG8gZmlsZXMgZnJvbSB1cHN0cmVhbQoKMjAwOS0wMy0xMyAxNjowODowMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogcG8vTElOR1VBUzoKCSogcG8vdHIucG86CgkgIHBvOiBBZGQgVHVya2lzaCB0cmFuc2xhdGlvbgoKMjAwOS0wMy0xMiAyMzo1NDoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveGRnbWltZS9nc3R4ZGdtaW1lLmM6CgkgIHhkZ21pbWU6IG1ha2UgeGRnIHR5cGVmaW5kZXIgbW9yZSBjb25zZXJ2YXRpdmUKCSAgVGhlIHdob2xlIHJhaXNvbiBkJ2V0cmUgb2YgdGhpcyB0eXBlZmluZGVyIGlzIHRvIGhlbHAgYXZvaWQgZmFsc2UKCSAgcG9zaXRpdmVzIHdoZW4gdXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIG91ciBtYWluIHR5cGVmaW5kZXIgaW4KCSAgLWJhc2UuIEl0cyB0YXNrIGlzIG5vdCByZWFsbHkgdG8gdHlwZWZpbmQgYXVkaW8vdmlkZW8gZmlsZXMsIGV2ZW4KCSAgbGVzcyBzbyBnaXZlbiB0aGF0IGl0IGRldGVjdHMgKk1JTUUqIHR5cGVzLCBub3QgR1N0cmVhbWVyIG1lZGlhCgkgIHR5cGVzLiBUaGVyZWZvcmUsIGlmIHRoaXMgdHlwZWZpbmRlciBkZXRlY3RzIGFuIGF1ZGlvIG9yIHZpZGVvCgkgIHR5cGUsIGRvbid0IGV2ZW4gc3VnZ2VzdCBpdCAtIG91ciBvd24gdHlwZWZpbmRlcnMgYXJlIGhvcGVmdWxseQoJICBiZXR0ZXIgYXQgdGhpcyBhbmQgZGV0ZWN0IHRoZSByaWdodCB0eXBlIG9mIHR5cGUgb24gdG9wIG9mIHRoYXQsCgkgIGFuZCBldmVuIGlmIHRoZXkncmUgbm90IHdlIHJlYWxseSB3YW50IHRvIGtub3cgYWJvdXQgaXQgYW5kIGZpeAoJICBpdC4gRml4ZXMgIzU3NTE1Ny4KCjIwMDktMDMtMTMgMTU6NTk6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cGJpbjogZG9uJ3QgcmV0dXJuIEZBTFNFIG9uIHNlZWsgZXZlbnRzCgkgIFNpbGVudGx5IGlnbm9yZSB0aGUgc2VlayBldmVudCBpbnN0ZWFkIG9mIHJldHVybmluZyBGQUxTRS4KCjIwMDktMDMtMTMgMTA6MDc6MTggKzAwMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiB3b3JrYXJvdW5kIHRvIGZpeCBwbGF5YmFjayBvZiBjZXJ0YWluIG1hbGZvcm1lZCBjbGlwcwoJICBBZGRlZCBhIHdvcmthcnJvdW5kIHRvIHBlcm1pdCBwbGF5IGNlcnRhaW4gbWFsZm9ybWVkIGNsaXBzIHdoZXJlIGZpcnN0CgkgIFNDUiBpcyBncmVhdGVyIHRoYW4gbGFzdCBTQ1IuIEZpeGVzIGJ1ZyAjNDU0MjI4CgoyMDA5LTAzLTEyIDIwOjEzOjExICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNoZWNrOiBEaXNhYmxpbmcgbWV0YWRhdGEgdW5pdCB0ZXN0IHVudGlsICM1NzQ0MDEgaXMgZml4ZWQuCgoyMDA5LTAzLTEyIDE3OjUzOjM3ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIHNvbWUgbW9yZSBwbHVnaW5zIHRoZSBzcGVjIGZpbGUKCjIwMDktMDMtMTEgMTM6MDQ6MzYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHdpdGggbmV3IHBsdWdpbnMKCjIwMDktMDMtMTAgMTU6MTI6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICBkZmJ2aWRlb3Npbms6IGluY2x1ZGUgc3RkbGliLmggZm9yIGFicygpCgoyMDA5LTAzLTEwIDIxOjE4OjIwICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IEZpeGVkIGEgYnVnIGluIHRoZSBUUyBzY2FubmVyLiBGaXhlcyAjNTc0MDA5CgoyMDA5LTAzLTEwIDAwOjIyOjU1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTAuMiBwcmUtcmVsZWFzZQoKMjAwOS0wMy0xMCAwMDoxMDowOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10d29sYW1lLnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvdHdvbGFtZS9NYWtlZmlsZS5hbToKCSogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZS5jOgoJKiBleHQvdHdvbGFtZS9nc3R0d29sYW1lLmg6CgkqIHBvL1BPVEZJTEVTLmluOgoJICBNb3ZlZCB0d29sYW1lIGZyb20gQmFkIHRvIFVnbHkKCjIwMDktMDMtMDkgMjM6MTM6MDAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNzAzMjE2MyB0byBmOGIzZDkxCgoyMDA5LTAzLTA4IDEyOjA1OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZmZhNzM4ZCB0byA3MDMyMTYzCgoyMDA5LTAzLTA4IDExOjIxOjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gM2YxM2U0ZSB0byBmZmE3MzhkCgoyMDA5LTAzLTA3IDExOjQ2OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gM2M3NDU2YiB0byAzZjEzZTRlCgoyMDA5LTAzLTA3IDEwOjQ2OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNTdjODNmMiB0byAzYzc0NTZiCgoyMDA5LTAzLTA2IDIyOjM2OjE5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBNYWtlIHRoZSB0ZXN0cyBwYXNzIHdoZW4gdGhlIGNhbWVyYWJpbiBjYW4ndCBpbml0aWFsaXNlLgoJICBUaGUgY2FtZXJhYmluIHRlc3RzIHdlcmUgdGhyb3dpbmcgZ2xpYiBlcnJvcnMgYW5kIGhhbmdpbmcgd2hlbgoJICBnc3QtcGx1Z2lucy1nb29kIGVsZW1lbnRzIChqcGVnZW5jLCB2aWRlb2Nyb3ApIGNhbid0IGZvdW5kLgoKMjAwOS0wMy0wNiAyMToxNDo0OCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgbWlzYzogSWdub3JlIHRoZSBjYW1lcmFiaW4gYmluYXJ5IGluIHRoZSBjaGVjay9lbGVtZW50cyBzdWJkaXIKCjIwMDktMDMtMDYgMTk6MjI6NTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkgIGNhbWVyYWJpbjogUGFydGx5IGZpeCBkaXN0Y2hlY2sKCSAgRG9uJ3QgZGlzdCB0aGUgZ2VuZXJhdGVkIG1hcnNoYWwuaCBoZWFkZXIgYnkgcHV0dGluZyBpdCBpbiB0aGUgaGVhZGVycwoJICBsaXN0LgoKMjAwOS0wMy0wNyAwMDoyMDoyOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL21ldGFkYXRhLmM6CgkgIG1ldGFkYXRhOiBjaGFuZ2UgJ3EnIGJhY2sgdG8gJ2pwZWdlbmMnIChteSBrZXlib2FyZCBoYXRlcyBtZSkKCjIwMDktMDMtMDYgMjM6MzQ6NTYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9tZXRhZGF0YS5jOgoJICBtZXRhZGF0YTogY2xlYW51cCwgZml4IHRoZSB0ZXN0LCBhZGQgY29tbWVudHMKCSAgRmlyc3QgZG8gbm90IGJ1aWxkIHRoZSBwbHVnaW4sIGlmIHdlIGhhdmUgbm9uZSBvZiB0aGUgYmFja2VuZCwgYXMgaXQgd29uJ3Qgd29yawoJICB0aGVuLiBGaXggdGhlIG1pbmlvYmplY3RfdW5yZWYgZXJyb3IgaW4gdGhlIHRlc3QuIFNwcmlua2xlIGEgZmlyc3QgaGFuZGZ1bCBvZgoJICBkZWJ1ZyBsb2dzIGludG8gdGhlIGVsZW1lbnQgY29kZS4KCjIwMDktMDMtMDYgMjA6MDI6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGVnYWN5cmVzYW1wbGUuYzoKCSAgbGVnYWN5cmVzYW1wbGU6IEZpeCBtZW1vcnkgbGVhayBpbiB0aGUgdW5pdCB0ZXN0IGJ5IHVucmVmZmluZyB0aGUgY2FwcwoKMjAwOS0wMy0wNiAxNzo0NjozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgbXhmZGVtdXg6IFN0b3JlIGFuZCB1c2UgdGhlIHNlcW51bSBvZiB0aGUgY3VycmVudGx5IHJ1bm5pbmcgc2VnbWVudCBldmVyeXdoZXJlCgoyMDA5LTAzLTA2IDE3OjI0OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmOiBEb24ndCBldmVuIHRyeSB0byBzZXJpYWxpemUgRE0gZnJhbWV3b3JrcyBhcyBpdCB3aWxsIGNhdXNlIGFuIGFzc2VydGlvbiB1bnRpbCB0aGlzIGlzIGZpbmlzaGVkCgoyMDA5LTAzLTA2IDEyOjQyOjUwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBVc2UgdGhlIHB1YmxpYyBoZWFkZXJzIGlmIGZhYWQyID49IDIuNy4gRml4ZXMgIzU3MzM2OQoJICBTaW5jZSBmYWFkMi0yLjcsIHRoZSBwdWJsaWMgZnVuY3Rpb24gcHJvdG90eXBlcyBhcmUgaW4gc3luYyB3aXRoIHRoZQoJICBhY3R1YWwgZnVuY3Rpb24gcHJvdG90eXBlcyB1c2VkIGludGVybmFsbHkgaW4gbGliZmFhZC4KCjIwMDktMDMtMDYgMTE6MDg6MTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBsYWRzcGE6IGZpeCBjb21waWxhdGlvbiB3aGVuIExSREYgaXMgbWlzc2luZwoJICAtLQoKMjAwOS0wMy0wNSAyMjo1NToxNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICBsYWRzcGE6IHJlbW92ZSAtbGRsIGFzIHdlIG5vdyB1c2UgZ2xpYnMgZ21vZHVsZS4KCjIwMDktMDMtMDUgMjI6Mzc6NTIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgbGFkc3BhOiBhZGQgaW5pdGlhbCBsaWJscmRmIHN1cHBvcnQuCgkgIEdldCBjbGFzc2lmaWNhdGlvbiBmcm9tIHJkZiBtZXRhZGF0YS4KCjIwMDktMDMtMDUgMjI6MDQ6NDggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSAgbXBsZXg6IGZpeCByZXF1aXJlZCB2ZXJzaW9uCgkgIFdpdGggdGhpcyB2ZXJzaW9uIGl0IGJ1aWxkcyBvbiBvcGVuc3VzZSAxMS4xLgoKMjAwOS0wMy0wNSAxNDo0MDo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZjogRG9uJ3QgdXNlIE5VTEwgR3N0U3RydWN0dXJlcyB0byBwcmV2ZW50IHdhcm5pbmdzCgkgIEN1cnJlbnRseSBzZXJpYWxpemluZyBvZiBETSBGcmFtZXdvcmtzIGlzIG5vdCBzdXBwb3J0ZWQKCSAgeWV0IGJ5IERNUzEgYW5kIHdpbGwgZ2l2ZSB1cyBOVUxMLgoKMjAwOS0wMy0wNCAyMTozMDozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSAgcGhvdG9ncmFwaHk6IGRlY2xhcmUgaW50ZXJmYWNlIGFzIHVuc3RhYmxlIEFQSSBieSBtZWFucyBvZiBhIHdhcm5pbmcKCSAgQXBwbGljYXRpb24gZGV2ZWxvcGVycyB3b24ndCBrbm93IHJpZ2h0IGF3YXkgd2hpY2ggbW9kdWxlIGFuIGludGVyZmFjZSBjb21lcyBmcm9tLAoJICBhbmQgbWF5IGFzc3VtZSB0aGF0IGl0IGlzIGNvdmVyZWQgYnkgdGhlIHVzdWFsIEdTdHJlYW1lciBBUEkgZ3VhcmFudGVlcywgc28gbWFrZQoJICBpdCBhcyBjbGVhciBhcyBwb3NzaWJsZSB0aGF0IHRoaXMgcGFydGljdWxhciBBUEkgaXMgc3RpbGwgc3ViamVjdCB0byBjaGFuZ2UKCSAgKHNob3VsZCBoYXZlIGRvbmUgdGhhdCB3aXRoIG90aGVyIGxpYnJhcmllcyBpbiAtYmFkIGJlZm9yZSB0b28gcmVhbGx5KS4KCjIwMDktMDMtMDQgMjA6Mzc6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGRldGVjdCBmYWFkJ3MgbWlub3IgdmVyc2lvbiBhbmQgZGVmaW5lIEZBQUQyX01JTk9SX1ZFUlNJT04gaW4gY29uZmlnLmgKCjIwMDktMDMtMDQgMTY6NDY6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC92YWx2ZS9NYWtlZmlsZS5hbToKCSAgdmFsdmU6IHJlbmFtZSBwbHVnaW4gZmlsZSBmcm9tIGxpYmZzdmFsdmUuKiB0byBsaWJnc3R2YWx2ZS4qCgkgIElmIHlvdSdyZSBydW5uaW5nIHRoaW5ncyB1bmluc3RhbGxlZCwgeW91IG1pZ2h0IG5lZWQgdG8gbWFudWFsbHkKCSAgcmVtb3ZlIHRoZSByZWdpc3RyeSB0byBnZXQgdGhlIHBsdWdpbidzIGZlYXR1cmVzIHRvIHNob3cgdXAKCSAgY29ycmVjdGx5LiBBbHNvLCB5b3UgcHJvYmFibHkgd2FudCB0byBkbyBhIG1ha2UgY2xlYW4gdG8gZ2V0IHJpZAoJICBvZiB0aGUgb2xkIHBsdWdpbiBmaWxlLgoKMjAwOS0wMy0wNCAxOTo1MDoxMCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9yZWFsL2dzdHJlYWwuYzoKCSAgZ3NyZWFsOiBicmluZyBkb3duIHRoZSByYW5rIG9mIHRoZSByZWFsIGRlY29kZXJzIHRvIE1BUkdJTkFMLgoJICBCYXNpY2FsbHksIGF0IHRoaXMgcG9pbnQsIHRoZSBmZm1wZWcgZXF1aXZhbGVudCBkZWNvZGVycyBwZXJmb3JtIHdheQoJICBiZXR0ZXIsIHNvIHdlJ2xsIG1ha2UgdGhlIGZmbXBlZyBlcXVpdmFsZW50cyBQUklNQVJZIGFuZCB0aGVzZQoJICBNQVJHSU5BTC4KCjIwMDktMDMtMDQgMTg6NDI6MTUgKzAwMDAgIFphaGVlciBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IG1ha2Ugc29tZSBkb2NzIHVwIHRvIGRhdGUKCjIwMDktMDMtMDQgMTg6MTY6MzEgKzAwMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IHJlc2V0IHN5bmNfbHV0X2xlbiB0byAwIG9uIFJFQURZIHRvIE5VTEwKCjIwMDktMDMtMDQgMTU6MzA6MDQgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y3NjaGFsbGVAY3Jhenlob3JzZS5sb2NhbGRvbWFpbj4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBvZiBzc2g6Ly91cmFldXNAZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWJhZAoKMjAwOS0wMy0wNCAxNToyODo0NiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjc2NoYWxsZUBjcmF6eWhvcnNlLmxvY2FsZG9tYWluPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogYWRkIGZpZ3VyZXMgc3ViZGlyZWN0b3J5IHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOiBhZGQgbXhmIHN1YmRpcmVjdG9yeSBnc3QtcGx1Z2lucy5zcGVjLmluOiBhZGQgbmV3IHBsdWdpbnMKCjIwMDktMDMtMDQgMTY6MTU6NTcgKzAxMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNoZWNrOiBnc3QtcGx1Z2lucy1iYWQuc3VwcCBuZWVkcyB0byBiZSBkaXN0cmlidXRlZC4KCjIwMDktMDMtMDQgMTU6MDU6NDggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgbGFkc3BhOiBhZGQgTElCRElSL2xhZHNwYSB0byBzZWFyY2ggcGF0aCBhbmQgbWFrZSBwYXRoIG1vcmUgcG9ydGFibGUKCSAgVXNlIGdsaWIgZGVmaW5lcyBmb3Igc2VhcmNocGF0aCBzZXBhcmF0b3JzLiBGaWx0ZXIgc2VhcmNocGF0aCB0byBhdm9pZCBzY2FubmluZwoJICBwYXRoIGVudHJpZXMgdHdpY2UuIEZpeCB0aGUgcmV0dXJuIGluIGxhZHNwYV9wbHVnaW5fZGlyZWN0b3J5X3NlYXJjaCB0byByZXR1cm4KCSAgd2hldGVyIHdlIGZvdW5kIGEgcGx1Z2luLgoKMjAwOS0wMy0wNCAxNDozNDoxMiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSogZXh0L2xhZHNwYS9sb2FkLmM6CgkqIGV4dC9sYWRzcGEvc2VhcmNoLmM6CgkqIGV4dC9sYWRzcGEvdXRpbHMuaDoKCSAgbGFkc3BhOiByZXdyaXRlIHRoZSBkaXJlY3Rvcnkgc2Nhbm5pbmcsIGZpeGVzIGZpcnN0IHBhcnQgb2YgIzU3MzM3MAoJICBNb3ZlIHRoZSB0d28gZnVuY3Rpb24gZnJvbSBzZWFyY2guYyBpbnRvIGdzdGxhZHNwYS5jIGFuZCBtYWtlIHRoZW0gc3RhdGljLgoJICBSZW1vdmUgbm9uIG5lZWRlZCBhcmd1bWVudHMgZnJvbSBmdW5jdGlvbiBwcm90b3R5cGVzLiBVc2UgZ2xpYiBhcGkgZm9yCgkgIHNpbXBsaWNpdHkgYW5kIHBvcnRhYmlsaXR5LgoKMjAwOS0wMy0wNCAxMToxNDoxOCArMDEwMCAgTFJOIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogdXNlIGdpbnQ4IGluc3RlYWQgb2YgaW50OF90CgkgIFVzZSBnaW50OCBpbnN0ZWFkIG9mIGludDhfdCB0byBmaXggY29tcGlsYXRpb24uCgkgIEZpeGVzICM1NzM4NTEuCgoyMDA5LTAzLTA0IDExOjA3OjUyICswMTAwICBMUk4gPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSAgZ3NtZGVjOiBVc2UgR19CWVRFX09SREVSIHRvIGZpeCBXaW5kb3dzIGNvbXBpbGUKCSAgZ3N0Z3NtZGVjIHJlbGllcyBvbiBCWVRFX09SREVSLCB3aGljaCBpcyBub3QgYXZhaWxhYmxlIG9uIFdpbmRvd3MuIFVzZQoJICBHX0JZVEVfT1JERVIgaW5zdGVhZC4KCSAgRml4ZXMgIzU3Mzg1MC4KCjIwMDktMDMtMDMgMTQ6MzA6NTMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIEFkZCBEb2MgZm9yIG1pbWljIHBsdWdpbgoKMjAwOS0wMy0wMyAxNDowMzozNCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9taW1pYy9nc3RtaW1pYy5jOgoJICBNb3ZlIG1pbWljIHRvIC1iYWQKCjIwMDktMDMtMDMgMTQ6MjA6MzcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuaDoKCSogZXh0L21pbWljL2dzdG1pbWljLmM6CgkgIFJlLWluZGVudCB0byBHU1Qgc3R5bGUKCjIwMDgtMDctMjUgMjI6NDc6MjYgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBPbmx5IG91dHB1dCBhIG5ld3NlZ21lbnQgaWYgdGhlIGluY29taW5nIG5ld3NlZ21lbnQgaXNudCBhIHRpbWUgc2VnbWVudAoJICAyMDA4MDcyNTIyNDcyNi0zZTJkYy1mODJiOTkzYzBmYmZlOGJkNDg3ZDJmMTk2MmZlYzFkMGI2NTY0ZWJjLmd6CgoyMDA4LTA3LTI1IDIyOjI2OjQ4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIHVudXNlZCBtZW1iZXIgdmFyaWFibGVzCgkgIDIwMDgwNzI1MjIyNjQ4LTNlMmRjLTI0NjQ5NzgyYTM5NDYyYzdjM2ZlZjlkNjI3MGIzZGI0YzRhY2UxYmIuZ3oKCjIwMDgtMDctMjUgMjI6MjQ6NDggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2VuZCBvdXQgdGhlIHJpZ2h0IHNlZ21lbnQgYW5kIHVzZSBzdG9yZWQgdGltZXN0YW1wcyBkaXJlY3RseQoJICAyMDA4MDcyNTIyMjQ0OC0zZTJkYy1lMTE5YmYwOWVkZTFjZjE4NzU4MWQ1OTE3NmM4YjM1YmFmYjczMWFlLmd6CgoyMDA4LTA3LTI1IDE5OjQ4OjMzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNraXAgbm9uLWtleWZyYW1lcyBiZWZvcmUgd2UgZ2V0IGEga2V5ZnJhbWUKCSAgMjAwODA3MjUxOTQ4MzMtM2UyZGMtNTgzZGY1N2M4ZWJjZTRiMTQ5YTAxNzY4ZWQ3ZDM3MzcxMzZhMjA4Zi5negoKMjAwOC0wNy0yNSAxOTozMzo1OCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBJZ25vcmUgdXBzdHJlYW0gbmV3c2VnbWVudCBldmVudHMgaW4gbWltZGVjCgkgIDIwMDgwNzI1MTkzMzU4LTNlMmRjLTdjMGYyMjM4NmUwMjA4YTQ1ZWFlOWMxZDdlYjYyZTg2ZjYxZDE0YmEuZ3oKCjIwMDgtMDctMjUgMTk6MjU6MzAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gZW1pdCB0aGUgcmlnaHQgdGltZXN0YW1wIGluIHRoZSBuZXdzZWdtZW50IGV2ZW50CgkgIDIwMDgwNzI1MTkyNTMwLTNlMmRjLWEzY2MwY2U3M2ZjYTE4MWNhZWUzMjNkNjk5ZDg1NzZkZjkxNmU4ZDMuZ3oKCjIwMDgtMDctMjUgMTk6MDg6NDkgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVc2UgdmlkZW8veC1taW1pYyBhcyB0aGUgY2FwcyB0eXBlCgkgIDIwMDgwNzI1MTkwODQ5LTNlMmRjLTM4ZTRhY2M5ZDRhZDgyMzFlZDIyZjZjYzRkN2Q4YzJhOGI1NjY4ZTkuZ3oKCjIwMDgtMDctMDQgMjI6MDc6MTMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgcHJvcGVyIGxvY2tpbmcgdG8gbWltZW5jCgkgIDIwMDgwNzA0MjIwNzEzLTNlMmRjLTZhMjJkMWE0MjM3MTZlOGI4NGJjM2JkYTk5ODZhMWI0ZmYwYzBkMzcuZ3oKCjIwMDgtMDctMDQgMjI6MDM6MTggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIHVzZWxlc3MgaW1wbGVtZW50YXRpb24gb2YgZ2V0Y2FwcyBmcm9tIG1pbWRlYwoJICAyMDA4MDcwNDIyMDMxOC0zZTJkYy1kODFiYzU5YjIzMDhjNWFkMGQzMTQ0MDMwYzU2NTAyOTVlOTlmM2M2Lmd6CgoyMDA4LTA3LTA0IDIyOjAyOjQzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIHByb3BlciBsb2NraW5nIHRvIG1pbWRlYwoJICAyMDA4MDcwNDIyMDI0My0zZTJkYy03MWMxNTdkODI5OTlkZmI0MWJkNjJiNDA2NGIxODg3YWIyMmU4NGMxLmd6CgoyMDA4LTA3LTA0IDIxOjU5OjM2ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSBsZWFrCgkgIDIwMDgwNzA0MjE1OTM2LTNlMmRjLTIyZDk5MmY5OGM5OTMxZjA2MjY2MmZjMDVmMWNlNjViYzk3ZjYxOWEuZ3oKCjIwMDgtMDctMDQgMjE6NTU6NTAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVzZXQgdGhlIGdzdCB0aW1lc3RhbXAgaWYgdGhlIHRpbWUgZGlmZmVyZW50IGlzIHRvbyBsYXJnZQoJICAyMDA4MDcwNDIxNTU1MC0zZTJkYy03NmViM2Y2MDBmMmI5NzdlOTE2ZjdlMWY2NTQ1MjlkZGFmZjA2YWM5Lmd6CgoyMDA4LTA3LTA0IDIxOjUyOjA4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVzZSB0aGUgdGltZXN0YW1wIGZyb20gdGhlIGZpcnN0IGJ1ZmZlciBhcyB0aGUgYmFzZQoJICAyMDA4MDcwNDIxNTIwOC0zZTJkYy01ODIyNzcxZjI2OTRkZWRhNGE3Y2Q1Y2RkM2MzOGFiOWVmZjdmYTJkLmd6CgoyMDA4LTA3LTA0IDIxOjQ5OjM1ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFN0b3JlIHRoZSB0aW1lc3RhbXAgaW4gdGhlIGhlYWRlcgoJICAyMDA4MDcwNDIxNDkzNS0zZTJkYy05MGVjNzNkZjMyMjViNDFiYWE2ODFhYjY5MWZiOGJkNDdlMTdjNzgwLmd6CgoyMDA4LTA3LTA0IDIxOjE5OjQzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlLWluZGVudCBtaW1kZWMKCSAgMjAwODA3MDQyMTE5NDMtM2UyZGMtZGVmMWUwZGFjYzRhNDVmZTJiNGFmZGNiOTAzYTEzMjhjOTUxMTdhYy5negoKMjAwOC0wNy0wNCAyMToxNToxMSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTaW1wbGlmeSBuZXdzZWdtZW50IGNvZGUKCSAgMjAwODA3MDQyMTE1MTEtM2UyZGMtYjk4ZDFlNWIzMWMyM2ViNzkxMjE5N2Y5MzY0YTMxNTYwZDA5MmM2My5negoKMjAwOC0wNy0wNCAyMDo1MDoxMCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQb3J0IG1pbWljIHBsdWdpbnMgdG8gR1NUX0JPSUxFUlBMQVRFCgkgIDIwMDgwNzA0MjA1MDEwLTNlMmRjLWRhNDFlNTY4NWFiOWNlYjY3NTU1ZDQ5OTEyNTQzMmNkMTJkNTUwNWQuZ3oKCjIwMDgtMDctMDQgMjA6NDE6MTIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5oOgoJKiBleHQvbWltaWMvZ3N0bWltaWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSB0cmFpbGluZyB3aGl0ZXNwYWNlIGluIG1pbWljIHBsdWdpbgoJICAyMDA4MDcwNDIwNDExMi0zZTJkYy0xYWI0YjkxM2Q1OGZhYTA1ODc0MmIwMWUwODNmN2RlYmQ2ODc3YmIzLmd6CgoyMDA4LTA3LTA0IDIwOjI5OjQxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IGNvbmZsaWN0cwoJICAyMDA4MDcwNDIwMjk0MS0zZTJkYy03ZjVhMzg4NDViNzk3ZTEyZDY3MjU1MTQ2NmU2MzVkNDg0Y2I2NzYzLmd6CgoyMDA3LTExLTEwIDA1OjE3OjE3ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBtaW1pYyBlbmMgY2hhaW4gZnVuY3Rpb24sIHJldHVybiByZXMgZm9yIGNoYWluKCksIGdldCB0aGUgcGFyZW50IGVsZW1lbnQgd2l0aCB0aGUgcHJvcGVyIGFjY2Vzc29yIGZ1bmN0aW9uLCB1c2UgdGhlIF9PQkpFQ1QgZGVidWdnaW5nIG1hY3JvcwoJICAyMDA3MTExMDA1MTcxNy0zZTJkYy00NzI2ZmNkMTljYzNkMTEyMWE0ZTEzMjc2YTQxZjVmODZkYzFjOWIxLmd6CgoyMDA3LTExLTEwIDA1OjE0OjI3ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgdGhlIF9zZXRfY2FwcyBmdW5jdGlvbiBvZiBtaW1pYyBlbmMgbW9yZSByb2J1c3QKCSAgMjAwNzExMTAwNTE0MjctM2UyZGMtMzgxYTcxZjJjYmZkYmY1MDhlOTQxYjY3MmU5MDU4YzgyZmFiY2UyNC5negoKMjAwNy0xMS0xMCAwNToxNDowMSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgdGhlIGdzdCAwLjkuMSBpZmRlZgoJICAyMDA3MTExMDA1MTQwMS0zZTJkYy0xZjA3MWQ3MzJkNjQ1NzM4ODk5Nzc0MDU5OTU2OTJkOTRiMTBhMGQ2Lmd6CgoyMDA3LTExLTEwIDA1OjEwOjM1ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgY2FwcyBnc3QgMC4xMCBjb21wbGlhbnQKCSAgMjAwNzExMTAwNTEwMzUtM2UyZGMtZjcwMjRiZDNlY2ZiNjc5NGZlOGQwOWRjYjEwMGJhMGI0NzgzZGY1ZC5negoKMjAwNy0xMS0xMCAwNTowOTo1MCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVzZSBnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQgaW5zdGVhZCBvZiByZWZmaW5nIHRoZSBwYXJlbnQgY2xhc3MgZGlyZWN0bHkKCSAgMjAwNzExMTAwNTA5NTAtM2UyZGMtNmQxNGRkZDZhZTNjZWVlYWE0ZTY0MWI3YjA5NjEzZTQ0MjkyN2Y5Mi5negoKMjAwNy0xMS0xMCAwNTowODo1MiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgZnJhbWVzaXplIHByb3BlcnRpZXMgb24gdGhlIG1pbWljIGVuY29kZXIKCSAgMjAwNzExMTAwNTA4NTItM2UyZGMtY2I4MTY1YzA3M2JmYTk4MTc5MGRjOTE2OTNmZDFjNDgzZWE3YjZlYS5negoKMjAwNy0xMS0xMCAwNTowNzo1MyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVc2UgdGhlIF9PQkpFQ1QgZGVidWcgbWFjcm9zCgkgIDIwMDcxMTEwMDUwNzUzLTNlMmRjLTU2MGQyMmE4NmVlYTExMDhmMTc0NmQwMTIzNzQ0ZDMzODEyZTk0YzkuZ3oKCjIwMDctMTEtMTAgMDU6MDM6NTEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVXNlIGdzdF9wYWRfZ2V0X3BhcmVudCBpbnN0ZWFkIG9mIGxvb2tpbmcgaW50byB0aGUgR3N0T2JqZWN0IGRpcmVjdGx5CgkgIDIwMDcxMTEwMDUwMzUxLTNlMmRjLTYzNmY3ZDc3Mzc0OTRmODEwMDQ3YThlZTY5MjdjZGUwNjBiYjRiNGIuZ3oKCjIwMDctMTEtMTAgMDU6MDI6MzIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmV0dXJuIGJhY2sgcmVzdWx0IG9mIHBhZCBwdXNoCgkgIDIwMDcxMTEwMDUwMjMyLTNlMmRjLTRhMDgwZDk3OTYzY2Q4YWI2ZDUyOGM0MDEyZDE0MzUzYzFjZmU5N2IuZ3oKCjIwMDctMTEtMTAgMDQ6MTE6MjUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBPbGUncyBwb3J0IHRvIGdzdCAwLjEwCgkgIDIwMDcxMTEwMDQxMTI1LTNlMmRjLWUyOTk0YzNiYmUxNTc4ZDk4ZTRmNzA3YmQxMGYyNGZhYmY5NDJjMmIuZ3oKCjIwMDgtMTItMTEgMTc6NTQ6MTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy8uZ2l0LWRhcmNzLWRpcjoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSAuZ2l0LWRhcmNzLWRpciBmaWxlcwoKMjAwOC0wMi0xMSAyMjoyNDozMSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIExpbWl0IHRpbWVzdGFtcCBkaWZmIGluIGNhc2Ugb2YgYSBqdW1wIGluIHRoZSB0aW1lc3RhbXBzCgkgIDIwMDgwMjExMjIyNDMxLTRmMGY2LTcyNmZjNjY0MDMwODE1MzMzNzFmNzc1OTU0YWFiNGM3YjhmZGM2NDMuZ3oKCjIwMDgtMDItMDYgMDM6MTY6NTQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIGl0IGJhY2sgdG8gMzAgZnBzIGluIGNhcHMKCSAgMjAwODAyMDYwMzE2NTQtNGYwZjYtZDgxOTdlNTM4ODg5MDY4MDUwNDFlNjU1MmMwZGQ3NzRjNTVlOWU4OS5negoKMjAwOC0wMi0wNiAwMzowOTo0NyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggdGltZXN0YW1wcyBpbiBnc3QgYnVmZmVycyBzZW50IGJ5IGdzdG1pbWljCgkgIDIwMDgwMjA2MDMwOTQ3LTRmMGY2LTlkYzdkOWIxYTkyYTcxN2M3MWIxZTQ5MGE1NTkxZjBlMmZmZTBkYWQuZ3oKCjIwMDgtMDItMDYgMDI6MDM6MzUgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggZnJhbWVyYXRlIHR5cGUgaW4gY2FwcyBmb3IgZ3N0bWltaWMgZWxlbWVudAoJICAyMDA4MDIwNjAyMDMzNS00ZjBmNi0wZDllMTM2MDM5YWQ2YjdiODQ5ODJiZGFjMjQyYTA1OWQ1MGZiYjY2Lmd6CgoyMDA2LTAzLTI0IDIwOjE2OjE5ICswMDAwICBwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWsgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeGVkIGNvdXBsZSBvZiBjb21waWxhdGlvbiBpc3N1ZXMKCSAgMjAwNjAzMjQyMDE2MTktMjQyNWItYmYzMzk5MjZmNTMzYWE0ZWZlY2U4NTVmYmJlOTRlNTljN2JiOTU1Zi5negoKMjAwNi0wMy0yNCAxOTo1NzoyMCArMDAwMCAgcGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDYWxscyB0byBnc3RfcGFkX2dldF9wYXJlbnQgcmVmIHRoZSBvYmplY3Qgc28gaXQgbmVlZHMgdG8gYmUgdW5yZWZmZWQgPCBoZXhhMDBAZ21haWwuY29tCgkgIDIwMDYwMzI0MTk1NzIwLTI0MjViLTE3OTI4YmUzNGVlNjdmNzFlZmJhZjYyZGU3NmRlYmE5YWQxM2YwZjIuZ3oKCjIwMDYtMDItMTQgMjE6MDA6MjcgKzAwMDAgIHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51ayA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2VwYXJhdGVkIEVSUk9SX0NGTEFHUyBmcm9tIEdTVF9DRkxBR1MKCSAgMjAwNjAyMTQyMTAwMjctMjQyNWItMWY5ZTZlZDU5MWMwOGU1OTA3ZDAyZWY3ZWE5YThjZjYyYmYyOTg0MC5negoKMjAwNS0xMC0yNCAxNTozNzo0OCArMDAwMCAgUGhpbGlwcGUgS2hhbGFmIDxidXJnZXIgYXQgc3BlZWR5IGRvdCBvcmc+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTaG91bGQgbm90IGJlIGRvbmUgaW4gZGlzcG9zZSwgbW92aW5nIHRvIGZpbmFsaXplCgkgIDIwMDUxMDI0MTUzNzQ4LTA1NDU5LTk2MjVmZWMwNTU0N2M1MzViZjVmM2M2NmFlYmJhODQ4NjFiNTQ5YWEuZ3oKCjIwMDUtMDctMTYgMTk6NTA6MjEgKzAwMDAgIFBoaWxpcGUgS2FsYWYgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy8uZ2l0LWRhcmNzLWRpcjoKCSogZXh0L21pbWljL01ha2VmaWxlLmFtOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkqIGV4dC9taW1pYy9nc3RtaW1pYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gSW1wb3J0IGZyb20gQ1ZTIHRvIGRhcmNzCgoyMDA5LTAzLTAzIDE0OjMyOjM4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBydHBtdXg6IElnbm9yZSBydHBtdXggZ2V0X3R5cGUgZnVuY3Rpb24gZm9yIGRvY3MKCjIwMDktMDMtMDMgMTk6MDg6MjggKzAwMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPG1hcmR1a0BrLWQtdy5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IGZpeCBtZW1sZWFrCgkgIEZpeCBtZW1sZWFrIGluIG1wZWd0c19wYWNrZXRpemVyX2NsZWFyIHdoZXJlIE1wZWdUU1BhY2tldGl6ZXJTdHJlYW0gaXMKCSAgbm90IGZyZWVkIHByb3Blcmx5IHdoZW4gdXNpbmcgZm9yZWFjaF9zdHJlYW1fY2xlYXIgZnVuY3Rpb24uCgoyMDA5LTAzLTAzIDE4OjI4OjEwICswMDAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgbXBlZ3RzZGVtdXg6IGR5bmFtaWNhbGx5IGFkanVzdCB0aGUgc3luYyBMVVQgdGFibGUKCSAgTWFrZSB0aGUgc3luYyBMVVQgdGFibGUgYWRqdXN0ZWQgZHluYW1pY2FsbHkgYWNjb3JkaW5nIHRvIHRoZSBzaXplCgkgIG9mIHNjYW5uZWQgZGF0YS4gRml4ZXMgZGVtdXhpbmcgYnVmZmVycyBvZiBhbnkgc2l6ZS4KCjIwMDktMDItMjUgMjE6MDU6NDIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBnc3QvYXV0b2NvbnZlcnQvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuaDoKCSAgYXV0b2NvbnZlcnQ6IEltcG9ydCBmc3NlbGVjdG9yIGZyb20gZ3N0LXBsdWdpbnMtZmFyc2lnaHQgYXMgYXV0b2NvbnZlcnQKCSAgZnNzZWxlY3RvciBpcyB0b28gY2xvc2UgdG8gc2VsZWN0b3IsIHNvIGltcG9ydCBpcyBhcyBhdXRvY29udmVydC4gTm90IGltcG9ydGluZwoJICB0aGUgaGlzdG9yeSBiZWNhdXNlIHRoZSBkaXJlY3RvcnkgaXMgYWxzbyBjYWxsZWQgZ3N0L3NlbGVjdG9yIGFuZCBpdCBmYWlscy4KCjIwMDktMDMtMDIgMTA6NTc6MzUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEJlIGEgYml0IG1vcmUgdmVyYm9zZSBpbiBvdXIgZGVidWcgbWVzc2FnZSB3aGVuIGZhaWxpbmcgdG8gcmVuZWdvdGlhdGUKCjIwMDktMDMtMDIgMTc6MDA6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkbXMxLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJICBteGZkZW11eDogVXNlIGFycmF5cyBpbnN0ZWFkIG9mIGxpc3RzIGZvciB0aGUgbWV0YWRhdGEgcmVnaXN0cmllcwoKMjAwOS0wMy0wMiAxNjoyOTowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveGRnbWltZS9nc3R4ZGdtaW1lLmM6CgkgIHhkZ21pbWU6IFJlZHVjZSBwcm9iYWJpbGl0eSB0byBQT1NTSUJMRQoKMjAwOS0wMy0wMiAxNjoyNzo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveGRnbWltZS9nc3R4ZGdtaW1lLmM6CgkgIHhkZ21pbWU6IEFkZCBsb2NraW5nIHRvIHRoZSB4ZGdfbWltZV8qIGNhbGxzIGFzIGl0J3Mgbm90IHRocmVhZC1zYWZlCgoyMDA5LTAzLTAxIDIwOjE4OjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWFsaWFzLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWNhY2hlLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWdsb2IuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1laWNvbi5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVwYXJlbnQuYzoKCSAgeGRnbWltZTogVXNlIGdfcGF0dGVybl9tYXRjaF9zaW1wbGUoKSBpbnN0ZWFkIG9mIGZubWF0Y2goKSBmb3IgV2luMzIgY29tcGF0aWJpbGl0eQoKMjAwOS0wMy0wMSAyMDoxMzozMSArMDEwMCAgTFJOIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZW1hZ2ljLmM6CgkgIHhkZ21pbWU6IEZpeCB1bnVzZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoKMjAwOS0wMy0wMSAyMDoxMjoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVjYWNoZS5jOgoJICB4ZGdtaW1lOiBEb24ndCB3YXJuIGlmIHdlIGhhdmUgbm8gTU1BUCBzdXBwb3J0CgoyMDA5LTAzLTAxIDIwOjExOjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWNhY2hlLmM6CgkgIHhkZ21pbWU6IFVzZSBnX250b2hbbHNdIGluc3RlYWQgb2YgdGhlIG5vbi1HTGliIGZ1bmN0aW9ucyBmb3IgV2luMzIgY29tcGF0aWJpbGl0eQoKMjAwOS0wMy0wMSAyMDowOToyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVtYWdpYy5jOgoJICB4ZGdtaW1lOiBVc2UgR19CWVRFX09SREVSIGluc3RlYWQgb2YgcmVseWluZyBvbiBMSVRUTEVfRU5ESUFOIHRvIGJlIGRlZmluZWQKCjIwMDktMDMtMDEgMjA6MDI6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgbGFkc3BhOiBEb24ndCBjb21waWxlIHVudXNlZCBjb2RlIGZyb20gbG9hZC5jCgoyMDA5LTAyLTI4IDIzOjQ3OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yZWFsL2dzdHJlYWwuYzoKCSAgcmVhbGRlYzogdXNlIGdzdF9wbHVnaW5fYWRkX2RlcGVuZGVuY3koKQoKMjAwOS0wMi0yOCAxNToyMzowNyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHN5bmN3b3JkLihub25lKT4KCgkqIHN5cy9hY21lbmMvYWNtZW5jLmM6CgkgIGFjbWVuYzogZml4IHdoaXRlc3BhY2UKCSAgQ29udmVydCB0byB1bml4IG5ld2xpbmVzLCBhbmQgcmVpbmRlbnQgaW4gc29tZSBicm9rZW4gcGxhY2VzLgoKMjAwOS0wMi0yOCAyMDo0Mjo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZjogRml4IG1lbW9yeSBsZWFrCgkgIGdzdF9zdHJ1Y3R1cmVfaWRfc2V0KCkgd2lsbCBjb3B5IEdzdFN0cnVjdHVyZXMgaW5zdGVhZCBvZiB0YWtpbmcKCSAgdGhlIG93bmVyc2hpcC4KCjIwMDktMDItMjggMjA6Mzk6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmZG1zMS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkgIG14ZjogU3RvcmUgdGhlIG1ldGFkYXRhIHR5cGUgSUQgaW5zaWRlIHRoZSBjbGFzcyBzdHJ1Y3R1cmUKCjIwMDktMDItMjggMTk6NDE6MTAgKzAxMDAgIHZhbmlzdGEgPHZhbmlzdGFAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RzZWN0aW9uZmlsdGVyLmM6CgkgIG1wZWd0c2RlbXV4OiBGaXggbWVtb3J5IGxlYWtzIHdoZW4gUFVTSSBpcyBtaXNzZWQgZHVlIHRvIHBhY2tldCBsb3NzCgkgIEZpeGVzIGJ1ZyAjNTczMjg4LgoKMjAwOS0wMi0yOCAxMTo0Mzo1NiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9uc2YvZm1vcGwuYzoKCSAgbnNmOiBEb24ndCB3cml0ZSBmdXJ0aGVyIHRoYW4gdGhlIGxpbWl0cyBvZiB0aGUgdGFibGUgKHNpemUgaXMgNzUsIGFzIGRlZmluZWQgaW4gdGhlIGhlYWRlcikKCSAgZ2NjIDQuMy4zIGZvdW5kIHRoaXMgb25lLCBJJ20gaW1wcmVzc2VkLgoKMjAwOS0wMi0yOCAxMDoyOToxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmM6CgkgIG14ZjogRG9uJ3QgdXNlIEdMaWIgMi4xNiBBUEkgdW5jb25kaXRpb25hbGx5IGluIHRoZSBleGFtcGxlCgoyMDA5LTAyLTI3IDIwOjQzOjI1ICswMTAwICBBbmRyemVqIFBvbGF0ecWEc2tpIDxhcG9sYXR5bnNraUBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkgIHZpZGVvYW5hbHlzZTogRml4IGJyaWdodG5lc3MgY2FsY3VsYXRpb24gdG8gbm90IG9ubHkgdXNlIHRoZSBmaXJzdCByb3dzdHJpZGUKCSAgRml4ZXMgYnVnICM1NzMzOTEuCgoyMDA5LTAyLTI3IDExOjM2OjU4IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogVXNlIGNvcnJlY3QgdmFsdWVzIGZvciBjaGVja2luZyBWTyBzdGFydGNvZGUuCgkgIEZpeCBjb21waWxlciB3YXJuaW5nIGR1ZSB0byBjb25kaXRpb24gYWx3YXlzIGJlaW5nIHRydWUgLSBzaW5jZSB3ZSdyZQoJICBvbmx5IGxvb2tpbmcgYXQgdGhlIGZpbmFsIGJ5dGUgb2YgdGhlIHN0YXJ0Y29kZSAobm90IHRoZSBsZWFkaW5nCgkgIDB4MDAwMDAxKSwgb25seSBjaGVjayBmb3IgPCAweDFmLCBub3QgPCAweDExZgoKMjAwOS0wMi0yNyAyMDoyMToyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveGRnbWltZS9nc3R4ZGdtaW1lLmM6CgkgIHhkZ21pbWU6IFVzZSBlbXB0eSBjYXBzIGZvciByZWdpc3RlcmluZyB0aGUgdHlwZWZpbmRlcnMgd2l0aCBvbGQgY29yZSB2ZXJzaW9ucwoJICBjb3JlIGJlZm9yZSAwLjEwLjIyLjEgcHJvZHVjZWQgYXNzZXJ0aW9ucyB3aGVuIHN0b3JpbmcgdHlwZWZpbmQgZmFjdG9yaWVzCgkgIHdpdGggTlVMTCBjYXBzIGluIHRoZSByZWdpc3RyeS4KCjIwMDktMDItMjYgMTU6NDA6MjYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5oOgoJICBtcGVnNHZpZGVvcGFyc2U6IGhhbmRsZSBtb3JlIGZvcm1hdHMKCSAgV2Ugb25seSBuZWVkIGEgVmlkZW8gT2JqZWN0IFN0YXJ0IGNvZGUgYmVmb3JlIHdlIGNhbiBzdGFydCBwdXNoaW5nIG91dCBkYXRhLgoJICBTZWFyY2ggZm9yIHRoaXMgY29kZSBhbHNvIGluc3RlYWQgb2Ygb25seSBsb29raW5nIGZvciBWT1MgYW5kIFZPUC4KCSAgRml4ZXMgIzU3MjU1MS4KCjIwMDktMDItMjcgMTI6MDM6MjMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkgIE1lcmdlIGJyYW5jaCAnd29yaycKCjIwMDktMDItMjcgMTE6NTY6NDUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy8uZ2l0aWdub3JlOgoJICBkb2NzOiBJZ25vcmUgc29tZSBtb3JlIGdlbmVyYXRlZCBmaWxlcwoKMjAwOS0wMi0yNyAxMTo1NTozNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmg6CgkgIGNlbHRkZWM6IE1vdmUgZGVmaW5lIGludG8gdGhlIEMgZmlsZSBzbyBpdCBkb2Vzbid0IHNob3cgdXAgaW4gdGhlIGRvY3MKCjIwMDktMDItMjcgMTE6NTQ6NDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkgIGRvY3M6IEVucm9sbCBkaXJhYyBwbHVnaW4gaW50byB0aGUgZG9jcwoKMjAwOS0wMi0yNyAxMTozOTo1NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJICBkdHNkZWM6IEFkZCBzb21lIGJhc2ljIGRvY3MgdG8gdGhlIHBsdWdpbgoKMjAwOS0wMi0yNyAxMDoxNjo1NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhyYW9wLmM6CgkgIGFwZXhzaW5rOiBVc2UgYSB1bmlvbiB0byBhdm9pZCB0eXBlLXB1bm5pbmcgc3RyaWN0IGFsaWFzaW5nIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA5LTAyLTI3IDEyOjM1OjE0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHJld29yayBzaWduYWxpbmcgYW5kIHRlc3RzCgkgIFJldmVydCB0aGUgR1N0cmluZyBjaGFuZ2UuIFRoZXJlIGFyZSBubyBtYXJzaGFsbGVycyBmb3IgaXQuIEEgYmV0dGVyIGNoYW5nZSBpcwoJICBub3cgZGVzY3JpYmVkIGluIGh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU3MzM3MC4KCSAgVGVzdCBzaG91bGQgd29yayBhZ2Fpbi4KCjIwMDktMDItMjcgMTE6MjQ6MzcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJldmVydCBsYXN0IGNoYW5nZSBhbmQgcHJvcGVybHkgZml4CgkgIEJhc2VwYXJzZSBpbnRlcm5hbHkgYnJlYWtzIHRoZSBzZW1hbnRpY3Mgb2YgYSBfY2hhaW4gZnVuY3Rpb24gYnkgY2FsbGluZyBpdCB3aXRoCgkgIGJ1ZmZlcj09TlVMTC4gVGhlIHJlc29uIEkgYmVsaXZlZCBpdCB3YXMgb2theSB0byByZW1vdmUgaXQgd2FzIHRoYXQgdGhlcmUgaXMKCSAgYWxzbyBhbiB1bmNoZWNrZWQgYWNjZXNzIHRvIGJ1ZmZlciBsYXRlciBpbiBfY2hhaW4uIEFjdHVhbGx5IHRoYXQgY29kZSBpcyB3cm9uZywKCSAgYXMgaXQgbW9zdCBwcm9iYWJseSB3YW50cyB0byBzZXQgZGlzY29udCBvbiB0aGUgb3V0Z29pbmcgYnVmZmVyLgoKMjAwOS0wMi0yNyAxMTowNjowNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy9xdHdyYXBwZXIvcXR1dGlscy5jOgoJICBxdHdyYXBwZXI6IE9ubHkgdXNlIF9kdW1wX21lbSgpIGlmIHJlcXVlc3RlZC4KCjIwMDktMDItMjYgMTI6NDg6MTYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgQWRkIHYyMTAgZm9ybWF0CgoyMDA5LTAyLTI2IDEyOjQ3OjE2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIEZpeCBpbmNvcnJlY3QgInBpeGVsX2FzcGVjdF9yYXRpbyIgaW4gY2FwcwoJICBTaG91bGQgYmUgInBpeGVsLWFzcGVjdC1yYXRpbyIuCgoyMDA5LTAyLTI2IDE4OjQ2OjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvbXhmLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL214Zi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJICBteGY6IEFkZCBleGFtcGxlIGFwcGxpY2F0aW9uIHRvIG91dHB1dCB0aGUgc3RydWN0dXJhbCBtZXRhZGF0YSB0cmVlIGludG8gYSBHdGtUcmVlVmlldwoKMjAwOS0wMi0yNiAxMzoxMDoyOSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBnc3RydHBiaW46IERvbid0IGZvcndhcmQgcmV2YyBldmVudHMgdG8gc2VuZGVyCgkgIERvbid0IHNlbmQgZXZlbnRzIGZyb20gdGhlIHJlY2VpdmVyIHRvIHRoZSBzZW5kZXIgc2lkZS4KCSAgRml4ZXMgIzU3MjkwMC4KCjIwMDktMDItMjYgMTE6MDI6MDYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJlbW92ZSBjaGVja3MgZm9yIGJ1ZmZlcj09TlVMTAoJICBBY2NvcmRpZm4gdG8gZG9jcyBmb3IgR3N0UGFkQ2hhaW5GdW5jdGlvbiBidWZmZXIgY2Fubm90IGJlIE5VTEwuIElmIHdlIHdvdWxkCgkgIGxlYXZlIHRoZSBjaGVjaywgd2Ugd291bGQgYWxzbyBuZWVkIG1vcmUgc3VjaCBjaGVjayBiZWxvdy4KCjIwMDktMDItMjUgMTU6MDY6MDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJICBidWlsZDogVXBkYXRlIHNoYXZlIGluaXQgc3RhdGVtZW50IGZvciBjaGFuZ2VzIGluIGNvbW1vbi4gQnVtcCBjb21tb24uCgoyMDA5LTAyLTI1IDE1OjI0OjEzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9uZW9uaHR0cHNyYy5jOgoJICB0ZXN0czogYWRkIGEgdGltZW91dCBvZiA1IHNsaWdodGx5IGFib3ZlIHRoZSBkZWZhdWx0CgoyMDA5LTAyLTI1IDE1OjE3OjE0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBpbmNyZWFzZSB0aW1lb3V0IGFuZCBsb3dlciB2aWRlbyByZWNvcmRpbmcgbGVuZ3RoCgkgIFRoZSB2aWRlbyB3YXMgcmVjb3JkZWQgZm9yIHRvbyBsb25nIGZvciB0aGUgdGVzdCB0aW1lb3V0cy4gQWxzbyB0aGUgdmVyaWZpY2F0aW9uCgkgIHN1aXRlIGRpZCBub3QgaGFkIGN1c3RvbSB0aW1vdXRzIGF0IGFsbC4gQWxzbyBzcGxpdCB0aGUgdmVyaWZpY2F0aW9uIGZvciBpbWFnZXMKCSAgYW5kIHZpZGVvIHRvIGdldCBiZXR0ZXIgcmVwb3J0aW5nLgoKMjAwOS0wMi0yNSAxMTozMjoyMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5Y2Y4YzliIHRvIGE2Y2U1YzYKCjIwMDktMDItMjUgMTI6MzQ6MzMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogYmxhY2tsaXN0IGRjY3AgcGx1Z2lucy4KCSAgVW5sZXNzIG9uZSBydW5zIGEgdmVyeSByZWNlbnQga2VybmVsLCB0aGV5IGNhbiBlYXNpbHkgbG9ja3VwIHRoZSB3aG9sZSBzeXN0ZW0uCgoyMDA5LTAyLTI1IDExOjQ1OjA1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGRvY3M6IHZhcmlvdXMgZG9jIGZpeGVzCgkgIE5vIHNob3J0LWRlc2MgYXMgd2UgaGF2ZSB0aGVtIGluIHRoZSBlbGVtZW50IGRldGFpbHMuCgkgIEFsc28ga2VlcCB0aGluZ3MgKE1ha2VmaWxlLmFtIGFuZCBzZWN0aW9ucy50eHQpIHNvcnRlZC4KCSAgUmV3b3JkIGFtYmlnb3VzIHJldHVybnMuIE5vIHRleHQgYWZ0ZXIgc2luY2UgcGxlYXNlLgoKMjAwOS0wMi0yNSAxMTozNDo0NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogZG9uJ3QgaWdub3JlIEdzdEZsb3dSZXR1cm4gdmFsdWVzCgkgIGRvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHB1bGxfcmFuZ2UgYmVjYXVzZSB3ZSBvbmx5IGdldCBhIHZhbGlkIG5vbi1OVUxMCgkgIGJ1ZmZlciB3aGVuIHRoZSByZXR1cm4gdmFsdWUgaXMgR1NUX0ZMT1dfT0suIEF2b2lkcyBhIGNyYXNoIHdoZW4gdGhlIHBpcGVsaW5lIGlzCgkgIHNodXR0aW5nIGRvd24uCgoyMDA5LTAyLTI1IDExOjQxOjM2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogdXBkYXRlIHNpZ25hbCBtYXJzaGFsbGVyIGFuZCBkb2NzCgkgIFVzZSBHU3RyaW5nIGluc3RlYWQgb2YgR1BvaW50ZXIgZm9yIHRoZSBtYXJzaGFsbGVyIGFzIHRoaXMgaXMgd2hhdCB0aGUgY2FsbGJhY2sgdXNlcy4KCSAgU2xpZ2h0bHkgcmVmb3JtYXQgZG9jcy4KCjIwMDktMDItMjUgMTE6Mzg6NTggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZmlndXJlcy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2ZpZ3VyZXMvY2FtZXJhYmluLmRvdDoKCSogZG9jcy9wbHVnaW5zL2ZpZ3VyZXMvY2FtZXJhYmluLnBuZzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGltaWRpdHkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR3b2xhbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14ZGdtaW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgZG9jczogdXBkYXRlIGRvY3MgdG8gYWRkIGNhbWVyYWJpbiBhbmQgaXRzIGZpZ3VyZQoKMjAwOS0wMi0yNSAxMTowMDo1NSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZ2V0IHJpZCBvZiAvLyBjb21tZW50IGFuZCBleHBsYWluCgoyMDA5LTAyLTI1IDEwOjQ2OjEwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiB1cGRhdGUgY2hlY2sgdW5pdCB0ZXN0CgkgIFVzZSBwbGF5YmluMiBmb3IgdmFsaWRhdGlvbi4gVXNlIHRtcF9kaXIgZm9yIGNhcHR1cmluZy4gV2FpdCB3aXRoIGdfY29uZCBmb3IKCSAgYnVyc3QgY2FwdHVyZSBmaW5pc2guIENsZWFudXAgc29tZSBnX29iamVjdF9zZXQuIEFkZCBzb21lIGxvZ2dpbmcgdG8gZWFzZQoJICB0cmFjaW5nLgoKMjAwOS0wMi0yNSAxMDo0NToxOSArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiB1bmJsb2NrIGNvcnJlY3QgcGFkIGluIHJlc2V0LCBzdXBwb3J0IGZha2VzaW5rIGFzIHZpZXcgZmluZGVyCgoyMDA5LTAyLTI0IDE2OjM2OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2FwcC8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2FwcC9hcHBzaW5rLXNyYy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvYXBwc3JjLXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2FwcC9hcHBzcmMtc2Vla2FibGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0uYzoKCSogdGVzdHMvZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2FwcC9hcHBzcmNfZXguYzoKCSAgUmVtb3ZlIHRlc3RzL2V4YW1wbGVzL2FwcCBhcyBpdCB3YXMgbW92ZWQgdG8gLWJhc2UgYSBsb25nIHRpbWUgYWdvCgoyMDA5LTAyLTI0IDE2OjMzOjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiBleGFtcGxlcy9hcHAvLmdpdGlnbm9yZToKCSogZXhhbXBsZXMvYXBwL01ha2VmaWxlLmFtOgoJKiBleGFtcGxlcy9hcHAvYXBwc2luay1zcmMuYzoKCSogZXhhbXBsZXMvYXBwL2FwcHNyYy1yYS5jOgoJKiBleGFtcGxlcy9hcHAvYXBwc3JjLXNlZWthYmxlLmM6CgkqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtLmM6CgkqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtMi5jOgoJKiBleGFtcGxlcy9hcHAvYXBwc3JjX2V4LmM6CgkqIGV4YW1wbGVzL2NhcHNmaWx0ZXIvTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL2NhcHNmaWx0ZXIvY2Fwc2ZpbHRlcjEuYzoKCSogZXhhbXBsZXMvZGlyZWN0ZmIvLmdpdGlnbm9yZToKCSogZXhhbXBsZXMvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL2RpcmVjdGZiL2RlY2tlci50dGY6CgkqIGV4YW1wbGVzL2RpcmVjdGZiL2RmYmxvZ28ucG5nOgoJKiBleGFtcGxlcy9kaXJlY3RmYi9nc3RkZmIuYzoKCSogZXhhbXBsZXMvZ29iL01ha2VmaWxlLmFtOgoJKiBleGFtcGxlcy9nb2IvZ3N0LWlkZW50aXR5Mi5nb2I6CgkqIGV4YW1wbGVzL2dzdHBsYXkvLmdpdGlnbm9yZToKCSogZXhhbXBsZXMvZ3N0cGxheS9NYWtlZmlsZS5hbToKCSogZXhhbXBsZXMvZ3N0cGxheS9wbGF5ZXIuYzoKCSogZXhhbXBsZXMvaW5kZXhpbmcvLmdpdGlnbm9yZToKCSogZXhhbXBsZXMvaW5kZXhpbmcvTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL2luZGV4aW5nL2luZGV4bXBlZy5jOgoJKiBleGFtcGxlcy9sZXZlbC9NYWtlZmlsZS5hbToKCSogZXhhbXBsZXMvbGV2ZWwvUkVBRE1FOgoJKiBleGFtcGxlcy9sZXZlbC9kZW1vLmM6CgkqIGV4YW1wbGVzL2xldmVsL3Bsb3QuYzoKCSogZXhhbXBsZXMvc2NhbGV0ZW1wby8uZ2l0aWdub3JlOgoJKiBleGFtcGxlcy9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJKiBleGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmM6CgkqIGV4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuaDoKCSogZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLW1haW4uYzoKCSogZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLXBsYXllci5jOgoJKiBleGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tcGxheWVyLmg6CgkqIGV4YW1wbGVzL3N0YXRzL01ha2VmaWxlLmFtOgoJKiBleGFtcGxlcy9zdGF0cy9tcDJvZ2cuYzoKCSogZXhhbXBsZXMvc3dpdGNoLy5naXRpZ25vcmU6CgkqIGV4YW1wbGVzL3N3aXRjaC9NYWtlZmlsZS5hbToKCSogZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmM6CgkqIHRlc3RzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvYXBwLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2FwcC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvYXBwL2FwcHNpbmstc3JjLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2FwcC9hcHBzcmMtcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvYXBwL2FwcHNyYy1zZWVrYWJsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbTIuYzoKCSogdGVzdHMvZXhhbXBsZXMvYXBwL2FwcHNyY19leC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYXBzZmlsdGVyL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYXBzZmlsdGVyL2NhcHNmaWx0ZXIxLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2RpcmVjdGZiLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9kaXJlY3RmYi9kZWNrZXIudHRmOgoJKiB0ZXN0cy9leGFtcGxlcy9kaXJlY3RmYi9kZmJsb2dvLnBuZzoKCSogdGVzdHMvZXhhbXBsZXMvZGlyZWN0ZmIvZ3N0ZGZiLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dvYi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ29iL2dzdC1pZGVudGl0eTIuZ29iOgoJKiB0ZXN0cy9leGFtcGxlcy9nc3RwbGF5Ly5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dzdHBsYXkvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dzdHBsYXkvcGxheWVyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2luZGV4aW5nLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2luZGV4aW5nL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9pbmRleGluZy9pbmRleG1wZWcuYzoKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL1JFQURNRToKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvZGVtby5jOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9wbG90LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmg6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1tYWluLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1wbGF5ZXIuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLXBsYXllci5oOgoJKiB0ZXN0cy9leGFtcGxlcy9zdGF0cy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc3RhdHMvbXAyb2dnLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3N3aXRjaC8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9zd2l0Y2gvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jOgoJICBNb3ZlIGV4YW1wbGVzIGRpcmVjdG9yeSB0byB0ZXN0cy9leGFtcGxlcyBhcyBpbiBldmVyeSBvdGhlciBHU3RyZWFtZXIgbW9kdWxlCgoyMDA5LTAyLTI0IDE2OjIxOjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSAgZHRzZGVjOiBVc2UgbmV3IERDQSBmdW5jdGlvbnMvY29uc3RhbnRzIGFzIG5vdCBhbGwgZGlzdHJvcyBwYWNrYWdlIHRoZSBjb21wYXQgZHRzLmgKCSAgRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2UgZGVmaW5lIHRoZSBEQ0EgZnVuY3Rpb25zL2NvbnN0YW50cyB0byB0aGUKCSAgb2xkIERUUyBmdW5jdGlvbnMvY29uc3RhbnRzIGlmIHdlJ3JlIGJ1aWxkaW5nIGFnYWluc3QgbGliZHRzLgoKMjAwOS0wMi0yNCAxNToyNjoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC94ZGdtaW1lL01ha2VmaWxlLmFtOgoJKiBnc3QveGRnbWltZS9nc3R4ZGdtaW1lLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZS5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWUuaDoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lYWxpYXMuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lYWxpYXMuaDoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lY2FjaGUuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lY2FjaGUuaDoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lZ2xvYi5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVnbG9iLmg6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWljb24uYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1laWNvbi5oOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVpbnQuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1laW50Lmg6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZW1hZ2ljLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZW1hZ2ljLmg6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZXBhcmVudC5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVwYXJlbnQuaDoKCSAgeGRnbWltZTogQWRkIG5ldyB0eXBlZmluZGVyIGJhc2VkIG9uIHhkZ21pbWUKCSAgVGhpcyB0eXBlZmluZGVyIGlzIG1vc3RseSB1c2VmdWwgdG8gZmlsdGVyIG91dCBhbnkgZmFsc2UgcG9zaXRpdmVzCgkgIGJ5IHRoZSBvdGhlciB0eXBlZmluZGVycyBsaWtlIHRoZSB1c3VhbCBXb3JkIGRvY3VtZW50IG1pc2RldGVjdGVkIGFzCgkgIE1QMyBmaWxlLgoKMjAwOS0wMi0yNCAxMzozNzoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGR0czogUHJlZmVyIGxpYmRjYSBvdmVyIGxpYmR0cyBhcyBpdCdzIHRoZSBzdWNjZXNzb3IKCjIwMDktMDItMjMgMTY6MDI6MDggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSAgcXR3cmFwcGVyOiBGaXggYnVpbGQgb24gbWFjb3N4CgoyMDA5LTAyLTIzIDE1OjI1OjAzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiBGaXggYnVpbGQgb24gbWFjb3N4CgoyMDA5LTAyLTIwIDEyOjA4OjA0ICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJICBjYW1lcmFiaW46IEFkZCBhc3BlY3QgcmF0aW8gY2Fwc2ZpbHRlciBmb3IgdmlldyBmaW5kZXIKCSAgSWYgZGVhbGluZyB3aXRoIGxhcmdlciBmcmFtZSBzaXplcyB0aGFuIHZpZXcgZmluZGVyIHNpbmsgZWxlbWVudAoJICBhY2NlcHRzIHRoZW4gbWFpbnRhaW4gYXNwZWN0IHJhdGlvIHdoZW4gc2NhbGluZyBmcmFtZXMgdG8gZml0LgoKMjAwOS0wMi0yMCAxMjowNzozMyArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBTY2FsZSBpbmNvbWluZyBmcmFtZXMgaWYgdGhlaXIgc2l6ZSBkb2VzIG5vdCBtYXRjaCByZXF1ZXN0ZWQgc2l6ZQoJICBJZiBjYXB0dXJlIHByZXBhcmF0aW9uIGluIHZpZGVvc3JjIHJlc3VsdHMgaW4gZnJhbWUgc2l6ZSBkaWZmZXJlbnQKCSAgZnJvbSByZXF1ZXN0ZWQgc2l6ZSwgdGhlbiB3ZSBuZWVkIHRvIHNjYWxlIHRoZW0uCgoyMDA5LTAyLTIwIDEyOjAzOjAzICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBwaG90byBpZmFjZTogQWRkIGNhcHMgb2JqZWN0IHRvIHByZXBhcmF0aW9uIEFQSSBmb3IgcmVxdWVzdGVkIGFuZCBhY3R1YWwgY2FwdHVyZSBmb3JtYXQKCSAgQWxsb3cgcmVxdWVzdGluZyBvZiBjZXJ0YWluIGZvcm1hdCB3aXRoIHByZXBhcmVfZm9yX2NhcHR1cmUoKSBhbmQgcmV0dXJuCgkgIHRoZSBhY3R1YWwgZm9ybWF0IGluIEdzdFBob3RvQ2FwdHVyZVByZXBhcmVkIGNhbGxiYWNrLgoKMjAwOS0wMi0yMyAxMTo0OTowNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBidWlsZDogQWRkIHNvdW5kdG91Y2gncyAtbEJQTSB0byBfTElCUywgbm90IF9DRkxBR1MKCjIwMDktMDItMjIgMjI6MDA6NTggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5jOgoJICBkY2NwOiBGaXggIm5vbi12b2lkIHdpdGhvdXQgcmV0dXJuIHZhbHVlIiBjb21waWxhdGlvbiBpc3N1ZS4KCjIwMDktMDItMjIgMTk6MTc6MzAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSAgRGV0ZWN0IGxpYnNvdW5kdG91Y2ggMS40IGFuZCBoaWdoZXIuCgkgIEluIGxpYnNvdW5kdG91Y2ggMS40LCBsaWJCUE0gYXBwZWFycyB0byBoYXZlIGJlZW4gc3Vic3VtZWQgaW50bwoJICBsaWJTb3VuZFRvdWNoLCBhbmQgaW50byB0aGUgc291bmR0b3VjaCBuYW1lc3BhY2UuCgoyMDA5LTAyLTIyIDE4OjEyOjE5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgVXNlIHNoYXZlIGZvciB0aGUgYnVpbGQgb3V0cHV0CgoyMDA5LTAyLTIyIDE4OjQxOjA4ICswMTAwICBBbmRvbmkgTW9yYWxlcyA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEZpeCBjb21waWxhdGlvbiBvbiBXaW5kb3dzIHdpdGggVmlzdWFsIFN0dWRpbwoJICBXaW5kb3dzIGRvZXNuJ3QgaGF2ZSBzdHJjYXNlY21wIHNvIHdlIHNob3VsZCB1c2UKCSAgZ19hc2NpaV9zdHJjYXNlY21wIGhlcmUgaW5zdGVhZC4KCSAgQWxzbyBXaW5kb3dzIGRvZXNuJ3QgaGF2ZSBzeXMvdGltZS5oIHNvIHdlIGZpcnN0CgkgIG5lZWQgdG8gY2hlY2sgaWYgaXQgYWN0dWFsbHkgZXhpc3RzIGFuZCBpZiBub3QKCSAgd2Ugc2hvdWxkIG5vdCBpbmNsdWRlIGl0LgoJICBGaXhlcyBidWcgIzU3MjMxNS4KCjIwMDktMDItMjIgMTU6NTg6MDYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNWQ3YzljYyB0byA5Y2Y4YzliCgoyMDA5LTAyLTIyIDE0OjU4OjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgZGZidmlkZW9zaW5rOiBEb24ndCB1c2Ugdm9pZCAqIHBvaW50ZXIgYXJpdGhtZXRpYwoKMjAwOS0wMi0yMiAxMzoxNzo1NCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC94dmlkL2dzdHh2aWQuYzoKCSAgeHZpZDogRml4IGNvbXBpbGF0aW9uIHdhcm5pbmcKCjIwMDktMDItMjEgMTE6MTM6NTAgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA4MGM2MjdkIHRvIDVkN2M5Y2MKCjIwMDktMDItMTAgMTc6MDI6MjQgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBnc3QvcnRwbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXhlci5jOgoJICBNb3ZlZCBydHBtdXggZnJvbSBnc3QtcC1mYXJzaWdodCB0byAtYmFkCgoyMDA5LTAyLTIwIDE3OjQ1OjUwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguaDoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXhlci5jOgoJICBSZS1pbmRlbnQgdG8gR3N0IHN0eWxlCgoyMDA5LTAyLTEwIDE5OjExOjE1ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRG9jdW1lbnQgcnRwIG11eGVyIGEgYml0CgoyMDA5LTAyLTIwIDEzOjMwOjQ5IC0wNTAwICBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGVAeWFob28uZnI+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgc2lnbmFscyBiZWZvcmUgc3RyZWFtIGxvY2sgYW5kIGFmdGVyIHVubG9ja2luZwoKMjAwOS0wMi0xOCAyMDoxODo0NiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIExldCBzc3JjIHRocm91Z2ggZ2V0Y2FwcwoKMjAwOS0wMi0xOCAxOTo1ODo1OCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbmFtZSBoYXZlX2Jhc2UgdG8gaGF2ZV90c19iYXNlCgoyMDA5LTAyLTE4IDE4OjE0OjUyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUHJvdGVjdCB0aGUgc2VxbnVtIHdpdGggb2JqZWN0IGxvY2sgaW4gcnRwbXV4CgoyMDA5LTAyLTE4IDE4OjA3OjQ0IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIHVudXNlZCBzaW5rX3RzX2Jhc2UKCjIwMDktMDItMTggMTU6MjA6NTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBIYXZlIGdldGNhcHMgdG8gZm9yY2UgdGhlIHNhbWUgY2xvY2tyYXRlIG9uIGFsbCBwYWRzCgoyMDA5LTAyLTE4IDE3OjA1OjEzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVmFsaWRhdGUgUlRQIGRhdGEgaW4gUlRQIE11eAoKMjAwOS0wMi0xOCAxNDoxNjowMCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSB1bnVzZWQgY2xvY2stcmF0ZSBwcm9wZXJ0eQoKMjAwOS0wMi0xOCAxMzo1NjozNiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDbGFyaWZ5IGxvY2tpbmcgaW4gcnRwZHRtZm11eAoKMjAwOS0wMi0xOCAxMzozMjo1NiAtMDUwMCAgTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlQHlhaG9vLmZyPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1pc3NpbmcgZm9ybWF0IHBhcmFtZXRlcgoKMjAwOC0xMi0xMSAxNzo1NDoxOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC8uZ2l0LWRhcmNzLWRpcjoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSAuZ2l0LWRhcmNzLWRpciBmaWxlcwoKMjAwOC0xMi0wMSAxNzo1NToyMiAtMDUwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVcGRhdGUgc2VxbnVtIGJhc2UgaW4gcnRwIG11eGVyCgkgIFdpdGggaGVscCBmcm9tIFdpbQoKMjAwOC0xMi0wMSAxNzo1NDo1OCAtMDUwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IHNvbWUgbW9yZSBsZWFrcwoKMjAwOC0xMi0wMSAxNzo0ODoyOSAtMDUwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IGxlYWsKCjIwMDgtMDktMjkgMTU6MDM6MDUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBEb24ndCB1bnJlZiBjYXBzIHdlIGRvbid0IGtub3cgKHRoYW5rcyBXaW0pCgoyMDA4LTA4LTEyIDEyOjQ4OjAyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUHV0IHBlci1idWZmZXIgZGVidWcgYXQgbGV2ZWwgTE9HCgoyMDA4LTA4LTEyIDEyOjQ3OjE0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBkZWJ1ZyBwcmludCBhY2N1cmF0ZQoKMjAwOC0wOC0xMiAxMjo0NjoyMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNldCBvdXIgY2FwcyBvbiB0aGUgYnVmZmVycwoKMjAwOC0wOC0xMiAxMjo0NjowNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFRha2UgdGhlIGNsb2NrLWJhc2Ugc3RvcmVkIGZyb20gdGhlIGxhc3Qgc2V0Y2FwcwoKMjAwOC0wOC0xMiAxMjo0MTo1OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFN0b3JlIHRoZSBjbG9jay1iYXNlIG9uIHNldGNhcHMKCjIwMDgtMDgtMTIgMTI6MzA6NTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgcGFkcHJpdmF0ZSB0byB0aGUgcmVxdWVzdCBwYWRzCgoyMDA4LTA4LTEyIDEyOjIzOjMyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSB3aGl0ZXNwYWNlIGluIGdzdHJ0cG11eAoKMjAwOC0wOC0xMSAyMToyMDowNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgaW5kZW50YXRpb24gbW9yZSBjb3JyZWN0CgoyMDA4LTA4LTExIDIxOjA1OjM0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IHR5cG8KCjIwMDgtMDgtMTEgMjE6MDM6MjIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTZXQgc2VxbnVtLWJhc2UgYW5kIGNsb2NrLWJhc2UgaW4gY2FwcyBmcm9tIHJ0cG11eGVyCgoyMDA3LTA4LTE1IDEzOjUwOjM4ICswMDAwICBaZWVzaGFuIEFsaSA8Zmlyc3QubGFzdEBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIG1vcmUgZGVidWcKCSAgMjAwNzA4MTUxMzUwMzgtZjNmMWUtOWM3YTU0OTBhNTI1YzZlODc1M2NiMWI4YzAzMzU0ZGY5OTEzMmI1Yy5negoKMjAwNy0wOC0yMyAyMToyMjoyNSArMDAwMCAgcGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU3luYyBqaXR0ZXJidWZmZXIgd2l0aCBDVlMgLWJhZAoJICAyMDA3MDgyMzIxMjIyNS0yNDI1Yi0wZmU2OWJmNzI1Mzk2NzhkZGE0NWQ2MTVhMDlmMWNiZjUwMmNjNzFhLmd6CgoyMDA3LTA4LTIwIDE4OjUwOjMyICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIG1pc3NpbmcgY29tbWVudAoJICAyMDA3MDgyMDE4NTAzMi00ZjBmNi0wYWI2N2I2YWM0MGRkNGUzNWE4ZmU1M2YzY2I2ZGFmZjY1Y2U0M2I5Lmd6CgoyMDA3LTA3LTEyIDE5OjUzOjM2ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIGJ1ZmZlciB3cml0YWJsZSBiZWZvcmUgd3JpdGluZyBpbnRvIGl0CgkgIDIwMDcwNzEyMTk1MzM2LTNlMmRjLTkxYTVmYjc5N2NmYTQ5MTlkNGUyZjlhNzI4YzZkNmZiZDNiODNkOTMuZ3oKCjIwMDctMDctMDYgMjA6MjQ6NTkgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNldCBwYWRzIGFjdGl2ZSB3aGVuIGFkZGluZyB0aGVtIHRvIGEgcG90ZW50aWFsbHkgcnVubmluZyBlbGVtZW50CgkgIDIwMDcwNzA2MjAyNDU5LTNlMmRjLWEzNzMxZjg4NTcyNTU5NGRlZjBhN2JlOTk3ZmM3YjNhNzM5ZWU5NjcuZ3oKCjIwMDctMDYtMDcgMTI6MDE6MjEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBtdWx0aXBsZSByZWYgbGVha3MgKHBhdGNoZXMgYnkgU1AgR0xFKQoJICAyMDA3MDYwNzEyMDEyMS0zZTJkYy0wNjFlOWVmN2E0N2IxYjg0ZmE4ZjgwOTJmNGI4YmNjMGU2ZGI4YzhjLmd6CgoyMDA3LTA1LTI4IDE1OjI1OjA1ICswMDAwICBaZWVzaGFuIEFsaSA8Zmlyc3QubGFzdEBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gc2VuZCBldmVudCB0byBhbGwgc3JjIHBhZHMKCSAgMjAwNzA1MjgxNTI1MDUtZjNmMWUtMDM5MjE2YzczZGM5M2Y2NGM0OTk2MmM3N2EwMjUzY2I5Y2ZlYzRkMy5negoKMjAwNy0wNS0yOCAxMjozNzo0OSArMDAwMCAgWmVlc2hhbiBBbGkgPGZpcnN0Lmxhc3RAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIHByaW50IGEgd2FybmluZyBpZiByZWNlaXZlIGFuIGVycm9yIGl0ZXJhdGluZyBzaW5rcGFkcwoJICAyMDA3MDUyODEyMzc0OS1mM2YxZS00YzFlYjNmNTExYjU2MTAxNDM2MTBhNjVhOTRkMTE3ZjJjM2QyNTgwLmd6CgoyMDA3LTA1LTI4IDEyOjI4OjA4ICswMDAwICBaZWVzaGFuIEFsaSA8Zmlyc3QubGFzdEBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gZGVhbCB3aXRoIGFsbCB0aGUgZ3N0X2l0ZXJhdG9yX25leHQoKSByZXR1cm4gdmFsdWVzCgkgIDIwMDcwNTI4MTIyODA4LWYzZjFlLWQzMDE2NDRjM2JlNzYzM2VjNmRjNWUyODU5NmU5MzQ2ZDJkYTZhNTAuZ3oKCjIwMDctMDUtMjUgMTI6MzE6MTYgKzAwMDAgIFplZXNoYW4gQWxpIDxmaXJzdC5sYXN0QG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZXR1cm4gY29ycmVjdCB2YWx1ZSBmcm9tIHRoZSBldmVudCBoYW5kbGVyCgkgIDIwMDcwNTI1MTIzMTE2LWYzZjFlLTEzMWIzN2I1ZjQ1MjE2MThmZTJmMTMyMDQwOWE0N2U2NWIzNWFkMmQuZ3oKCjIwMDctMDUtMjUgMTA6Mjc6MDkgKzAwMDAgIFplZXNoYW4gQWxpIDxmaXJzdC5sYXN0QG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBWaWxsZSdzIG9yaWdpbmFsIHBhdGNoIHRvIGZpeCB0aGUgdHJhdmVyc2FsIG9mIGR0bWYgZXZlbnQKCSAgMjAwNzA1MjUxMDI3MDktZjNmMWUtNmM0MWQxZWY5MzQwNjhhNGY0ZTgxMGU3ZTk4MWI0MjAwNzViMGM5OC5negoKMjAwNy0wMy0yOSAxMzo1Mjo1MCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2V0IHRoZSBjb3JyZWN0IHRzLW9mZnNldCBvbiB0aGUgZ2V0X3Byb3AgdmFsdWUKCSAgMjAwNzAzMjkxMzUyNTAtNjUwMzUtYTQzZTIyMmQ5MWQ1N2MwYTYxY2IzMjg3NTg2YWFhMjlhYmY3ODY3NC5negoKMjAwNy0wMy0yOSAxMzo1MjoyMyArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVmYWN0b3JpemUgc3RhdGVfY2hhbmdlCgkgIDIwMDcwMzI5MTM1MjIzLTY1MDM1LTIzYTAxMDdiMmUzOTc3MTBmMDM1YzZlODhjYzBlNDliNjViYjRkNWQuZ3oKCjIwMDctMDMtMjkgMTM6MzY6MjIgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIHNldCBTU1JDIG9uIHRoZSBwYWNrZXRzCgkgIDIwMDcwMzI5MTMzNjIyLTY1MDM1LTFiZTZlMGFhODVhNzEzODlmN2QyNTdiOWNkM2UxM2E3M2Q2Yjc0NWIuZ3oKCjIwMDctMDMtMjkgMTM6MTk6MzYgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENvZGUgY2xlYW4tdXAgYW5kIG1vcmUgZGVidWcgb3V0cHV0CgkgIDIwMDcwMzI5MTMxOTM2LTY1MDM1LTlkNDk5ZTIwOWUwZDdhNDA5YzNhYTBkMTA0MDc3OGJhYmYwNzYxNzkuZ3oKCjIwMDctMDMtMjggMTE6MjI6MTkgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVzZSBvd24gY2xvY2stYmFzZQoJICAyMDA3MDMyODExMjIxOS02NTAzNS0xYmE1ZmVmYmM2NTA1OWU5YjBjODYwNTI4YTMxMDYyY2ViNmE3MzMxLmd6CgoyMDA3LTAzLTIzIDE2OjMxOjM5ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBPbmx5IGFjY2VwdCBSVFAgc3RyZWFtcyB0aGF0IGhhdmUgdGhlIHNhbWUgY2xvY2stcmF0ZQoJICAyMDA3MDMyMzE2MzEzOS02NTAzNS1mYzBiMTdiMGI4YTdhMDQxZjQ4OTk0YzRmMjZlOTY1NjgxNjhiZjk1Lmd6CgoyMDA3LTAzLTIyIDE2OjE1OjUyICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU29tZSBtb3JlIGNvZGUtY2xlYW51cHMKCSAgMjAwNzAzMjIxNjE1NTItNjUwMzUtYmRhOTYxNjVlMTQ2YjRmMWQ1ZmVhMWNjOTU3NmE3YWIzYWJlYmM5ZS5negoKMjAwNy0wMy0yMiAxNTo0Mjo1MSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gcmV0dXJuIG5ld3BhZCBpbnN0ZWFkIG9mIE5VTEwgYW5kIHdhcm4gaWYgZmFpbGVkIHRvIGNyZWF0ZSBhIHBhZAoJICAyMDA3MDMyMjE1NDI1MS02NTAzNS1jZGI2NjUxZTYxYzJlYjAyMDVjYzhjMjQ2OTNiNDNmOThhMmRhNzE4Lmd6CgoyMDA3LTAzLTIyIDEyOjQxOjMyICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZWZhY3Rvcml6ZSB0aGUgUlRQTXV4IGNvZGUKCSAgMjAwNzAzMjIxMjQxMzItNjUwMzUtMGEzMjc4MTQ3NTQ2ZTMzZjY4NzA5N2E0M2I3NzViM2Y2YWE5OWY5My5negoKMjAwNy0wMy0yMiAxMjoxNDo1MyArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNvbWUgbW9yZSBkb2MgZml4aW5nCgkgIDIwMDcwMzIyMTIxNDUzLTY1MDM1LTEyZDYwMjI3MjIxN2I1MWJkOTdkZjRlNTc5MDAyNGMzOTk2MjJkZDMuZ3oKCjIwMDctMDMtMjIgMTE6MzI6MjggKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNb3JlIFJlZmFjdG9yaW5nCgkgIDIwMDcwMzIyMTEzMjI4LTY1MDM1LWJhZTM0YTc5NTk5ZTdkZTUyOTNlZDc3YjAyMjM2MWNjZmY4MjJiYjkuZ3oKCjIwMDctMDMtMjIgMTE6MzE6NTQgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNb3JlIGRvY3VtZW50YXRpb24KCSAgMjAwNzAzMjIxMTMxNTQtNjUwMzUtNjI0ODUwNTQxYTViNWZjM2RmMjMxMjA0YmU1YTgzZDA3MjM5ZGIyOC5negoKMjAwNy0wMy0yMSAxNjozMzoxMSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlZmFjdG9yIHRoZSBldmVudCBoYW5kbGVyIGZ1bmN0aW9uCgkgIDIwMDcwMzIxMTYzMzExLTY1MDM1LTk4N2U3ZjI1ZDFhYjUzMzViNzlmNDRiMjc3YWJmMTVlNGUzN2QzMTcuZ3oKCjIwMDctMDMtMjEgMTQ6NTI6NDQgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5oOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgUlRQRFRNRk11eCBlbGVtZW50CgkgIDIwMDcwMzIxMTQ1MjQ0LTY1MDM1LTlhMDEzOTBiMGRlZTMzOThlNTMxOTlhMWZhMWQ5MzUyMDA0ZjMzOGUuZ3oKCjIwMDctMDMtMjEgMTI6MzE6NDkgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSBEVE1GLXNwZWNpZmljIGNvZGUgZnJvbSBSVFAgbXV4ZXIgYW5kIG1ha2UgaXQgZXh0ZW5kYWJsZQoJICAyMDA3MDMyMTEyMzE0OS02NTAzNS1iOGE4ZjU1ZmY3OGVlZDhjYmIwMDQyZTgyNzg4NWVkZmM1NDM4MjQyLmd6CgoyMDA3LTAzLTIwIDEyOjA1OjI0ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQdXQgbW9yZSBoZWxwZnVsIGRlc2NyaXB0aW9uCgkgIDIwMDcwMzIwMTIwNTI0LTY1MDM1LWRiMjdhN2NmNjMwN2I1MTFhZWIzZDk5NmQyNmU3OTBlMzY3YTdiYWQuZ3oKCjIwMDctMDMtMTYgMTU6MTY6NDEgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIHJlbW92ZSB0aGUgKGNvbW1lbnRlZC1vdXQpIGNvZGUgZm9yIGJsb2NraW5nIHRoZSBwYWRzCgkgIDIwMDcwMzE2MTUxNjQxLTY1MDM1LTAxMjNhZjM4Nzk1MWY4ODU5NDc5N2M3MjJlODgyY2ZlNzAyNDBhZmYuZ3oKCjIwMDctMDMtMTYgMTM6MTQ6NDQgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIERyb3AgYnVmZmVycyBpbnN0ZWFkIG9mIGJsb2NraW5nIHRoZSBzaW5rcGFkcwoJICAyMDA3MDMxNjEzMTQ0NC02NTAzNS05YzEzNDVhZDk2MTA4ODgxZjQ1NWQ0YjU1YTdmNjIzY2QzMDJkMGVkLmd6CgoyMDA3LTAzLTE0IDE3OjE2OjE4ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBJbXBsZW1lbnQgc3RyZWFtIGxvY2tpbmcsIG5lZWRlZCBmb3IgRFRNRgoJICAyMDA3MDMxNDE3MTYxOC02NTAzNS1lNGQyNGIxNjA2Y2UwYTNlMmU3MzlmMDE4MzNmNjFlNGQ3NTU1ZWFjLmd6CgoyMDA3LTAzLTE0IDEwOjIwOjU4ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSB1c2UgR1NUXypfT0JKRUNUIGluc3RlYWQgb2YgZ18qCgkgIDIwMDcwMzE0MTAyMDU4LTY1MDM1LWUyNDQyODg4ZjJlM2U1YTNhNzY1OWFkNzk1NGE0ZmJhMzQ3NDljZTIuZ3oKCjIwMDctMDMtMTQgMTA6MTg6NTQgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE5vIG5lZWQgdG8gbWFuYWdlIHBhZHMsIHBhcmVudCBkb2VzIHRoYXQgZm9yIHVzCgkgIDIwMDcwMzE0MTAxODU0LTY1MDM1LWVmNWY0YWJkZTIyNzEwMmExMTI4ODM1YWIzMjU5MDVlYWU0YzM3MjYuZ3oKCjIwMDctMDMtMTQgMDk6MDM6NTggKzAwMDAgIHplZW5peEBnbWFpbC5jb20gPHplZW5peEBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IGNvcHlyaWdodCBoZWFkZXIKCSAgMjAwNzAzMTQwOTAzNTgtZDAxNGEtM2E2ZDNlZWVhYWY1Y2I4Y2EzYmNhNmEzM2U5OWE1NTFmNTk4YmQ0OC5negoKMjAwNy0wMy0wNyAwODo1MzowNyArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4Ly5naXQtZGFyY3MtZGlyOgoJKiBnc3QvcnRwbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVGhlIGZpcnN0IGltcGxlbWVudGF0aW9uIG9mIFJUUCBtdXhlcgoJICAyMDA3MDMwNzA4NTMwNy02NTAzNS04MzM0MDI0MTNmOTljYjNmOGJlNDg4M2U5MmJhZDRjODcyMjUxMGM5Lmd6CgoyMDA5LTAyLTIwIDE4OjE2OjAyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIERvY3VtZW50IHJ0cGR0bWZkZXBheSBhIGJpdAoKMjAwOS0wMi0yMCAxNzo0MTozNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJICBNb3ZlZCBkdG1mIGVsZW1lbnRzIGZyb20gZ3N0LXBsdWdpbnMtZmFyc2lnaHQgdG8gLWJhZAoKMjAwOS0wMi0yMCAxNzo0MDo1NyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgRml4IHVwIGRvY3VtZW50YXRpb24gYmxvYnMgU0dNTAoKMjAwOS0wMi0yMCAxNzozNzo0MyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmNvbW1vbi5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBSZS1pbmRlbnQgdG8gR3N0IHN0eWxlCgoyMDA5LTAyLTE4IDEzOjMwOjQ0IC0wNTAwICBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGVAeWFob28uZnI+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNaXNzaW5nIGZvcm1hdCBkaXJlY3RpdmUKCjIwMDgtMTItMDQgMjE6MjE6NDQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFsbG93IHNldHRpbmcgYSBtYXhpbXVtIGR1cmF0aW9uIHRvIGEgUlRQIERUTUYgZXZlbnQKCjIwMDgtMTItMDQgMjE6MTE6MTcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gSW1wcm92ZSB0aGUgbWluaW11bSBxdWFudGEgdG8gbWFrZSBpdCBpbXBvc3NpYmxlIGZvciB0aGUgZHVyYXRpb24gdG8gZmFsbCBkb3duIHRvIDAKCjIwMDgtMTItMDEgMTg6MzE6NDggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFsbG93IHNldHRpbmcgYSBtaW5pbXVtIHNpemUgb2YgYSBzb3VuZCBxdWFudGEgaW4gdGhlIGR0bWYgZGVwYXlsb2FkZXIKCjIwMDgtMTItMTEgMTc6NTQ6MTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mLy5naXQtZGFyY3MtZGlyOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIC5naXQtZGFyY3MtZGlyIGZpbGVzCgoyMDA4LTEyLTAxIDE3OjM3OjEwIC0wNTAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBEbyB3aWVyZCBjYXN0aW5nIG9mIHRoZSB2b2x1bWUgdG8gbWFrZSBNU1ZDIGhhcHB5CgoyMDA4LTEwLTE1IDE2OjIxOjUwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENsYXJpZnkgdGhlIGRvY3VtZW50YXRpb24gb2YgdGhlICJldmVudC10eXBlIiBmaWVsZCB3aGVuIHNwZWNpZnlpbmcgZHRtZiBldmVudHMKCjIwMDgtMDctMjIgMjE6Mzk6MzggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIGdfZGVidWdzCgkgIDIwMDgwNzIyMjEzOTM4LTNlMmRjLTQ0YTgyZDAxN2ZlNjZmMzExMjMwMWM0MTBhYTBiNTQzZGU2MTU2YWQuZ3oKCjIwMDgtMDYtMTMgMjM6NTc6MjMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVGFrZSByYXRlIGZyb20gdGhlIHBlZXJzIGNhcHMgaWYgcG9zc2libGUKCSAgMjAwODA2MTMyMzU3MjMtM2UyZGMtMTU2OTBlZTQyNzA4YzUzOWUxYmUxMmUyMGUwNzZhNTYxM2ZhZWE5Ni5negoKMjAwOC0wNi0xMyAyMzo0MTo0NCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFB1dCB0aGUgc2FtcGxlIHJhdGUgaW4gZHRtZnNyYyBpbnRvIGEgdmFyaWFibGUKCSAgMjAwODA2MTMyMzQxNDQtM2UyZGMtZTYwMDcwOTQzYmVjODI5YjcwM2I4ODIxYzdhYTQzNTFhMDJkZWViZS5negoKMjAwOC0wNi0xMyAyMzozMDowNiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBUYWtlIHRoZSBjbG9jay1yYXRlIGZyb20gdGhlIGNhcHMgaW4gcnRwZHRtZnNyYwoJICAyMDA4MDYxMzIzMzAwNi0zZTJkYy1hN2Q0ZTkxODY0M2Y0ZjhjMWJiMmNjMjY3ODU1OGM2NTQwMjU5MjBlLmd6CgoyMDA4LTA0LTI4IDIyOjIyOjM3ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTGluayBtb2R1bGVzIHdpdGggbGlibSB3aGVyZSByZXF1aXJlZAoJICAyMDA4MDQyODIyMjIzNy0zZTJkYy1iMWU5MTIwYzFlOWNhMWE1MTBiZmQ3YzI3ZTJkNDVmMGQ0YTEyNTA0Lmd6CgoyMDA4LTA0LTEyIDIzOjQ0OjE4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBieXRlIG9yZGVyaW5nIGlzc3VlcyB3aXRoIGR0bWZzcmMgYW5kIHJ0cGR0bWZkZXBheS4uIHVzZSBvZiBHX1NUUklOR0lGWSB0byBhdm9pZCBlcnJvciBvbiBNU1ZDCgkgIDIwMDgwNDEyMjM0NDE4LTRmMGY2LTQ4MjhkMTYxM2RmY2Q1NjRhZmQyMzZkZmM4ZmI1N2EyOTkwOTJmODMuZ3oKCjIwMDgtMDMtMjAgMTk6MTQ6MzggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggY29weXJpZ2h0cyBhZ2FpbiwgcGVyIHNtY3YncyBhZHZpY2UuLgoJICAyMDA4MDMyMDE5MTQzOC00ZjBmNi02NzFjOWRiNWQ5OTZhNDYwMWRmMDE3Y2VhYjRhZjZkMTY0NjljOTY2Lmd6CgoyMDA4LTAzLTE5IDIxOjE3OjMxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgaXQgY2xlYXIgdGhhdCBkdG1mc3JjIGFsc28gdGFrZXMgbmFtZWQgZXZlbnRzIGFzIGlucHV0CgkgIDIwMDgwMzE5MjExNzMxLTNlMmRjLTI2YzcyOWY2ZGM4ZGIyN2U3MWNmNmIyMjY0NmE4MTUzMGRiZjg2MmYuZ3oKCjIwMDgtMDMtMjAgMTg6NDg6NDEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGRlYnVnIG1lc3NhZ2UgbWFkZSBpbnRvIGVycm9ycyBiZWNhdXNlIHRoYXQncyB3aGF0IHRoZXkgYXJlLi4uCgkgIDIwMDgwMzIwMTg0ODQxLTRmMGY2LThhMmQyODMyOTdiMDI3MTNkYWRlMGFlNGFjYWE1ZjZlMGY2N2VhY2UuZ3oKCjIwMDgtMDMtMjAgMTg6Mzk6MzcgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENsZWFuIHVudXNlZCBzdHVmZi4uLgoJICAyMDA4MDMyMDE4MzkzNy00ZjBmNi1iY2I4NDFjZGMwN2Y5ZTk2Nzc1MTJmNGI1MGI0YjY1OWE1OGM2NzgzLmd6CgoyMDA4LTAzLTIwIDE4OjM5OjEyICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IGNvcHlyaWdodHMKCSAgMjAwODAzMjAxODM5MTItNGYwZjYtNjg5MzY1ZDVhNDA2NjMyZTNkMDg4ZmFjNzRlNGZiNmY4YTRlYjBlYS5negoKMjAwOC0wMy0yMCAwMToxMzowMSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9nc3RkdG1mLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZGluZyBzdXBwb3J0IGZvciBydHBkdG1mZGVwYXkKCSAgMjAwODAzMjAwMTEzMDEtNGYwZjYtZDM2YTVkMjRiZTIwMzM2ZTM2YzQ3OTZkNzU0NzZjOWI1ZWUxYTdlMS5negoKMjAwOC0wMy0xOSAxOTozMjo1MSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBlbmNvZGluZyBuYW1lIGhhcyB0byBiZSB1cHBlci1jYXNlCgkgIDIwMDgwMzE5MTkzMjUxLTNlMmRjLTE1ODFiMzNiZTliNDg2ZTM1ZWM0OTQ4MDA5Njc3Y2NkNWZmZGMwOTguZ3oKCjIwMDgtMDMtMjAgMDA6NTE6NDcgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mY29tbW9uLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZGluZyBuZWNlc3NhcnkgZmlsZXMgZm9yIHJ0cGR0bWZkZXBheQoJICAyMDA4MDMyMDAwNTE0Ny00ZjBmNi01NTBmZTIyZjcwMTUyZjNhYWIzZGNkN2E2YjAyY2JmODFlODkyMzJkLmd6CgoyMDA4LTAzLTIwIDAwOjUwOjQxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IHR5cG9zCgkgIDIwMDgwMzIwMDA1MDQxLTRmMGY2LTlkMjJmYTVkMTU1ZTM1YjYwNWVhODViMWZkOWU3MTk3YTg4MmExZjAuZ3oKCjIwMDgtMDItMTYgMTM6NDE6NDAgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGR0bWZzcmM6IENvcnJlY3RseSBzZXQgdGhlIGVuZGlhbmVzcyBpbiB0aGUgY2FwcyB0byB0aGUgbWFjaGluZXMgZW5kaWFuZXNzCgkgIDIwMDgwMjE2MTM0MTQwLTkzYjlhLTQwYTNhOWQ3YWMxNjc5YzVlMGRmZDI0YTZiOTFlNGFiYTZjYzY0OTYuZ3oKCjIwMDctMDktMTcgMTc6NTI6MzMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2VhcmNoJlJlcGxhY2Ugb29wcwoJICAyMDA3MDkxNzE3NTIzMy0zZTJkYy01N2Y1NzljNGI4OTA5OTNmNDlmYThlOWU2NDcwYTNlYjc5ZDJiOTIyLmd6CgoyMDA3LTA5LTE3IDE3OjUxOjMzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGV2ZW50cyBkb250IHlldCBiZWxvbmcgaW4gdGhlIGNhcHMKCSAgMjAwNzA5MTcxNzUxMzMtM2UyZGMtZmQxZDgzYjc4MjZiODk4MTEwZmM1NzFhZTdjMzQ0MGYxODg3NDM0ZC5negoKMjAwNy0wOS0xNyAxNjowODoyMCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBwYXRjaCB0byBtYWtlIGl0IHdvcmsgd2l0aCBtYWVtbyBkc3Agc291cmNlcyB0aGF0IHBheWxvYWQgaW5jb3JyZWN0bHkKCSAgMjAwNzA5MTcxNjA4MjAtM2UyZGMtMDZiMWIxZDFiMDkxOGIzMGRhYmVhNWEwNzE0Y2I3MzJiM2I4ZDhkZC5negoKMjAwNy0wOS0xNyAwNDoyNjo0OSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE9vcHMsIHNldCB0byBubyBwcmVyb2xsIHdoZW4gcGxheWluZy0+cGF1c2VkIHRvbwoJICAyMDA3MDkxNzA0MjY0OS0zZTJkYy05NGFkYjZhYTA2MTdlODE1YTZlMjMzMjMyZGFiYjRiYmM0OGRjODJjLmd6CgoyMDA3LTA5LTE3IDAwOjM2OjU0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ29tcGxldGUgcG9ydCB0byBiYXNlc3JjCgkgIDIwMDcwOTE3MDAzNjU0LTNlMmRjLWRiMGY4NGRhYmQ5ZGQxYWM5MjlhMDQ2MTg2NWI4YWFhOGVmOTFhNzcuZ3oKCjIwMDctMDktMTcgMDA6MjQ6MTIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgY2FwcyBuZWdvdGlhdGlvbiBmdW5jdGlvbgoJICAyMDA3MDkxNzAwMjQxMi0zZTJkYy1jYTI2NjgxNmU5NjI5NzQ2ZTkwODNjNWJiOGI3ZjczYjk0YTliMmIwLmd6CgoyMDA3LTA5LTE3IDAwOjE2OjU5ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFByb3Blcmx5IGZyZWUgbm9uLXN0YXJ0IGV2ZW50cwoJICAyMDA3MDkxNzAwMTY1OS0zZTJkYy1hNTcxNzc3ZTNlY2ZiOTA5ODlmODc0MTJmNTU0YWExMGEzMWNjMmNhLmd6CgoyMDA3LTA5LTE3IDAwOjE1OjUyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBpbnRlcnZhbCBhbmQgcGFja2V0X3JlZHVuZGFuY3kgaW50byB1aW50CgkgIDIwMDcwOTE3MDAxNTUyLTNlMmRjLTYwMDMyZTU0N2IzNjY5Yjg3MzE3Yzk4MWQ5ODVjMTU2YWFiOTFiNDAuZ3oKCjIwMDctMDktMTYgMTk6NDQ6MDggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIHRoZSBydHAgZHRtZiBzcmMgdXNlIGJhc2VzcmMKCSAgMjAwNzA5MTYxOTQ0MDgtM2UyZGMtNzM0MDAwMTMwZGNlMjQzNGEwMTRhY2Y4NDNkNjQxZmYwZTYwYWE1YS5negoKMjAwNy0wOS0xNiAxOTo0MTowMSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIGR0bWYgc3JjIGNvZGUgbmljZXIKCSAgMjAwNzA5MTYxOTQxMDEtM2UyZGMtYThiZThjNTA5YzY1NDAwZDFkMzk2MmRhMDJlNjdkMTVkMjA1NDMxNi5negoKMjAwNy0wOS0xNiAxOTo0MDo1MiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwZHRtZi8uZ2l0LWRhcmNzLWRpcjoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSB1bnVzZWQgZGlyZWN0b3J5CgkgIDIwMDcwOTE2MTk0MDUyLTNlMmRjLTQ0ZDdmNGNiMmYyMjA3NjFiNjVlMmI5YjZjZWM0YjNjNmY4YmU3YzUuZ3oKCjIwMDctMDktMTQgMDQ6MjA6NDIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBJbXBsZW1lbnQgc3RvcHBpbmcgaW4gYSBuaWNlIHRocmVhZCBzYWZlIHdheQoJICAyMDA3MDkxNDA0MjA0Mi0zZTJkYy0xZmUyNTdmZjRiNzJhY2E0YjBlYjVmMjg1YTE0NjUwYjhkZjI2OGMzLmd6CgoyMDA3LTA5LTE0IDA0OjE4OjM0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSBnZXRfdGltZXMgKFdpbSBzYXlzIGl0cyBvbmx5IGdvb2QgZm9yIHJlYWxseSBmYWtlIHNvdXJjZXMpCgkgIDIwMDcwOTE0MDQxODM0LTNlMmRjLWZmZjRkNWRhMmExNDVmMTllN2I2MTBhMTAyN2QyYzRkNGJjNWVhZTAuZ3oKCjIwMDctMDktMTMgMjE6MjE6NDUgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSB1c2luZyB0aGUgdW5sb2NrIG1ldGhvZCBvZiBiYXNlc3JjCgkgIDIwMDcwOTEzMjEyMTQ1LTRmMGY2LTBlNDM4YTY4MWJmMTY1MWMwY2MwZDhmYTMyNjlhZWQzZjE2NjhiNmIuZ3oKCjIwMDctMDktMTMgMjE6MTI6MjYgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBtb3JlIGRlYnVnCgkgIDIwMDcwOTEzMjExMjI2LTRmMGY2LWJjMzJiNTgyOGZjOGUwMzIzYzhhNmVlZTc3OWEzODE0NWFhY2Q1OTMuZ3oKCjIwMDctMDktMTMgMjA6NDY6MTQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBhZGRlZCBkZWJ1Z3MKCSAgMjAwNzA5MTMyMDQ2MTQtNGYwZjYtNjhjMmE2OWFlN2ExZWZjYTZlMTNjMTE2ZGJhZDdmOWI2ODZmMDI0Mi5negoKMjAwNy0wOS0xMyAxOToyMDo1MyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2Ugc3VyZSB0byB1bmxvY2sgdGhlIHRocmVhZCB3aGVuIGdvaW5nIHRvIHJlYWR5IGFuZCB0byBmbHVzaCB0aGUgcXVldWUgd2hlbiBtb3ZpbmcgdG8gcGF1c2VkIG9yIHBsYXlpbmcKCSAgMjAwNzA5MTMxOTIwNTMtNGYwZjYtNzZjMzkyNTM4MGQxYTMwOTg4Mjg2MTcwNTM1YTY1ZGVhNjRhNTU4My5negoKMjAwNy0wOS0xMyAxNzo1NToyMCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2hhbmdlZCBkdG1mc3JjIGludG8gYSBzdWJjbGFzcyBvZiBHc3RCYXNlU3JjCgkgIDIwMDcwOTEzMTc1NTIwLTRmMGY2LTE2Y2E0YmY5MzY5MDA3MmYzZTgzNmQxYzhhNWI1MmNmN2E0MjE5MTYuZ3oKCjIwMDctMDktMDQgMjI6NTc6NTMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgYW5vdGhlciBmaXggZm9yIGEgcG9zc2libGUgcmFjZSBjb25kaXRpb24KCSAgMjAwNzA5MDQyMjU3NTMtNGYwZjYtNWJhOGM0MjYwYzAwMmJiMjdlYjk4ZTlmYWJhM2MxNTc5OTM1N2I1Ny5negoKMjAwNy0wOS0wNCAyMTo1MjoyNCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgY29tbWVudCB0byBleHBsYWluIHB1c2ggYmFjawoJICAyMDA3MDkwNDIxNTIyNC0zZTJkYy1kOTJhYzFmNDAzZGNmNTcxNTQ2YTdjNTNmMTg4MDlmODQwZWVhNTFkLmd6CgoyMDA3LTA5LTA0IDIwOjU1OjA5ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUHJvcGVybHkgZG8gdGhlIGxvY2tpbmcgdG8gYXZvaWQgcmFjZSBjb25kaXRpb25zIHdpdGggY2xvY2sgdW5zY2hlZHVsaW5nCgkgIDIwMDcwOTA0MjA1NTA5LTNlMmRjLWRhMTk5MDBiNTFhZjZhZWRiNjU0N2Y0ZjM5MmJlZjRkMTA2MWRlYzIuZ3oKCjIwMDctMDktMDEgMDA6MDM6MjQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBvdXBzLCBJIGRpZCBpdCBhZ2Fpbi4uLgoJICAyMDA3MDkwMTAwMDMyNC00ZjBmNi0zZDhiNDY2OTFlZTUyMDUzN2IwNmM1MTFhNWU3MzJmNWI4MTJiODQ0Lmd6CgoyMDA3LTA4LTMxIDIzOjU0OjI4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gb3Vwcywgc29ycnkuLiBEVE1GLCBub3QgUlRQX0RUTUYgZm9yIHRoaXMgZmlsZS4uLgoJICAyMDA3MDgzMTIzNTQyOC00ZjBmNi0wMGI2MDZiZmI0ODkyZTRmMjE3YzQ0MGI2MTFjYzc5NGFiMGRlNTVhLmd6CgoyMDA3LTA4LTMxIDIzOjQ0OjEzICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4ZXMgdGhlIGRlYWRsb2NrIHdoZW4gcGF1c2luZyB0aGUgZHRtZnNyYyBhbmQgcnRwZHRtZnNyYy4gSGFkIHRvIHB1c2ggc29tZXRoaW5nIG9uIHRoZSBhc3luYyBxdWV1ZSB0byByZWxlYXNlIHRoZSBibG9ja2luZyBhc3luY19xdWV1ZV9wb3AoKS4gVGhhbmtzIHRvIE9saXZpZXIgZm9yIHRoZSBzb2x1dGlvbi4KCSAgMjAwNzA4MzEyMzQ0MTMtNGYwZjYtNzkzY2YzNWZjNDM2MzZlNzI3NTI1OGNjNzA2M2ZjMDY4ZjVlZmEwYS5negoKMjAwNy0wOC0yOCAyMjoxNTozNCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENsb2NrSUQgd2hlbiB3YWl0aW5nIGZvciBidWZmZXIgaXMgbm93IHVuc2NoZWR1bGVkIHdoZW4gc3RvcHBpbmcgdGhlIHRhc2suIFZhcmlvdXMgZml4ZXMgdG8gYXZvaWQgYnVncyAodGhhbmtzIHRvIC1XYWxsIC1XZXJyb3IpLiBGaXhlcyB0byBhbGxvdyB0aGUgbWVyZ2Ugb2YgdGhlIGJyYW5jaC4KCSAgMjAwNzA4MjgyMjE1MzQtNGYwZjYtYjBkNmE0ZmU0OGM0ZTJhMTZiOWZmNjljYjMxMDA4N2M5NzBjZTQ4ZS5negoKMjAwNy0wOC0yOCAxNzoxNTo0NiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2xlYW5lZCB1cCB0aGUgY29kZSBhIGJpdCwgbm8gdXNlIG9mIEdTVF8qIGFuZCByZXR1cm4gdmFsdWUgdmVyaWZpY2F0aW9uIGZyb20gZ3N0XyoKCSAgMjAwNzA4MjgxNzE1NDYtNGYwZjYtYmRlYjRiMWI3Zjk5Zjk0NjRhYWJlNWM0M2JkNGE0ZDIwMjUyNjJiNi5negoKMjAwNy0wOC0yNyAxOTo1NjoxMCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBvdmVybHkgbG9uZyBsaW5lcyBhbmQgdGFicwoJICAyMDA3MDgyNzE5NTYxMC0zZTJkYy0zOTZhM2ZhMDFlMTZmMTg0ZTQxMDljNzFmZTJkZWI2ZTUxNmJkZjBkLmd6CgoyMDA3LTA4LTI3IDE5OjI2OjE4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSB1bnRhYmJpZmllZCBkdG1mc3JjCgkgIDIwMDcwODI3MTkyNjE4LTRmMGY2LTc3ZDY4MDcwNDY0ZjFiNWY5YTQ2Y2I2ZWVjMmQ5MjIzNDAxNDNjMDQuZ3oKCjIwMDctMDgtMjcgMTc6MjQ6MjQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggUlRQIHRpbWVzdGFtcHMgYnkgc2VuZGluZyBhIG5ld19zZWdtZW50IGV2ZW50IHRvIHRoZSBwYXlsb2FkZXIKCSAgMjAwNzA4MjcxNzI0MjQtNGYwZjYtZDIwOTA3ZTNkNDM2ZDUwYmZlNzRlYjRmYzNkMmQ2ZDdiNmI2ZGJjNS5negoKMjAwNy0wOC0yNyAxNzoyMzozOSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEJldHRlciBoYW5kbGluZyBvZiBwYWNrZXRzLCB3ZSBzZW5kIHRoZSBzYW1lIGR1cmF0aW9uIGZvciBhbGwgcGFja2V0cyB0byBhdm9pZCBodWdlIHBhY2tldHMgd2hlbiBtaW4gZHVyYXRpb24gZGVmaW5lcyBhcmUgbW9kaWZpZWQuCgkgIDIwMDcwODI3MTcyMzM5LTRmMGY2LWNjOTMzMDQ0MzdlYTM3NmZmZjY0NThjNzRjNDZjMTlmNjkyMGQzMjkuZ3oKCjIwMDctMDgtMjcgMTc6MjM6MjIgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDaGFuZ2luZyBtaW5pbXVtIHZhbHVlcyB0byB3b3JrIGJldHRlciBvbiBzb21lIGdhdGV3YXlzCgkgIDIwMDcwODI3MTcyMzIyLTRmMGY2LTViZjJiZmZhNTlhODI0NDUzOGRjZWQ3OTVmYTdkNzY0OTQ1MmNhOTEuZ3oKCjIwMDctMDgtMjIgMjA6MTY6NTMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBUaGUgRFRNRiB0b25lIGdlbmVyYXRvciBub3cgcmVzcGVjdHMgdGhlIHZvbHVtZSBhcmd1bWVudCBwYXNzZWQgaW4gdGhlIGV2ZW50CgkgIDIwMDcwODIyMjAxNjUzLTRmMGY2LThiN2ZmODc0MDA2ZTExZjVhNzRkMGZkOTFlNWE5YTQzY2QwODJhZGEuZ3oKCjIwMDctMDgtMjIgMTg6MDE6MzMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBkb24ndCBrbm93IHdoeSBJIGRpZCB0aGF0Li4uCgkgIDIwMDcwODIyMTgwMTMzLTRmMGY2LTZhNzM4MmY2YzdkMzYzMGY5MWRhMzg0ZTE5MDQ3NjNjN2VhNmZhMWEuZ3oKCjIwMDctMDgtMjIgMTc6NTU6MzMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFBvcnRlZCB0aGUgZXZlbnQgcXVldWUgd29yayBmcm9tIGR0bWZzcmMgdG8gcnRwZHRtZnNyYwoJICBBZGRlZCBhIHF1ZXVlIGJhc2VkIHN5c3RlbSBmb3IgdGhlIHJ0cGR0bWZzcmMuIE5vdyBpdCB3YWl0cyBmb3Igc3RhcnQvc3RvcCBtZXNzYWdlcyBvbiB0aGUgcXVldWUsIGFuZCBtYWtlcyBzdXJlIHRoYXQgdGhlIG1pbmltdW0gZHV0eSBjeWNsZSAoMTIwbXMpIGlzIHJlc3BlY3RlZCBiZXR3ZWVuIGVhY2gKCSAgdG9uZSwgaW5jbHVkaW5nIGludGVyLWRpZ2l0IHNpbGVuY2UuCgkgIDIwMDcwODIyMTc1NTMzLTRmMGY2LWYyNzQxNGM0MDZmMWY3YjAwYzlhOTA4NGE5ODhjZjNhNzkzMGZlNWMuZ3oKCjIwMDctMDgtMjIgMTc6NTQ6NDQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBvdWNoLCBwcmludGluZyB3aXRoIGFyZ3VtZW50cyBidXQgd2l0aG91dCAlcy4uIHRoYXQgbWFkZSBpdCBzZWdmYXVsdCBhIGZldyB0aW1lcy4uLgoJICAyMDA3MDgyMjE3NTQ0NC00ZjBmNi00NDVlYTZjZTdhOTY2OGQwNGNmOTk5YWY3NzJhNTA0ZWM3NGZiNjdhLmd6CgoyMDA3LTA4LTIyIDE3OjUxOjI2ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNb3ZlZCB0aGUgdGltZXN0YW1wIGZyb20gdGhlIGV2ZW50IHRvIGR0bWZzcmMgc3RydWN0dXJlIHNpbmNlIHdlIGhhdmUgb25seSBvbmUgZXZlbnQgYXQgYSB0aW1lLCBzbyBsZXQncyBrZWVwIGl0IHN0b3JlZCBpbiB0aGUgZHRtZnNyYyBzdHJ1Y3QKCSAgMjAwNzA4MjIxNzUxMjYtNGYwZjYtNTNiY2RhMmJkOGFlOGM1NmQyOWU2MmU2OWFjMTlhMzBlMDhhZDM1MC5negoKMjAwNy0wOC0yMCAyMDozODoyNiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkZWQgYSBxdWV1ZSBiYXNlZCBzeXN0ZW0gZm9yIHRoZSBkdG1mc3JjLiBOb3cgaXQgd2FpdHMgZm9yIHN0YXJ0L3N0b3AgbWVzc2FnZXMgb24gdGhlIHF1ZXVlLCBhbmQgbWFrZXMgc3VyZSB0aGF0IHRoZSBtaW5pbXVtIGR1dHkgY3ljbGUgKDEyMG1zKSBpcyByZXNwZWN0ZWQgYmV0d2VlbiBlYWNoIHRvbmUsIGluY2x1ZGluZyBpbnRlci1kaWdpdCBzaWxlbmNlLgoJICAyMDA3MDgyMDIwMzgyNi00ZjBmNi03NTBhMjJiNjEyYTVlNDk1ZTc2NzY2NjkzNDQ2NWMzNGZlMzIwNzRiLmd6CgoyMDA3LTA4LTIwIDE4OjQ4OjUyICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL2dzdGR0bWYuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkZWQgZHRtZnNyYywgYSBEVE1GIFRvbmUgR2VuZXJhdG9yLCBhbmQgbWFkZSBpdCBwYXJ0IG9mIHRoZSAnZHRtZicgcGx1Z2luLgoJICAyMDA3MDgyMDE4NDg1Mi00ZjBmNi1hMGQ4NWU2NzcwODI5MGFlYmFmYTg5YWI3OWQzY2VkZDU4MTViNjIwLmd6CgoyMDA3LTA4LTIwIDE4OjQ4OjAwICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvLmdpdC1kYXJjcy1kaXI6CgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSogZ3N0L3J0cGR0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTW92ZWQgcnRwZHRtZiB0byBkdG1mIGRpcmVjdG9yeQoJICAyMDA3MDgyMDE4NDgwMC00ZjBmNi1mYTMzZWE5NzQ1MTAxNjFkZThjOTk1MWMzOTA4N2FmMzYxM2I2NWE0Lmd6CgoyMDA3LTA3LTEyIDE5OjU3OjE1ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2VuZCBhbGwgcGFja2V0IGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQsIGluY2x1ZGluZyB0aGUgbGFzdCBvbmUKCSAgMjAwNzA3MTIxOTU3MTUtM2UyZGMtNjg0OGM3MGE3ZjAxMzdjOTFmYTg4MmE4ZWZiNmRiZjgzODkxYWUxMy5negoKMjAwNy0wNy0xMiAxOTo1NToyOCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQdXQgbm9uLXplcm8gZHVyYXRpb24gaW4gZmlyc3QgcGFja2V0IGFuZCBwdXQgYSBtaW5pbXVtIGR1cmF0aW9uIG9mIDUwbXMKCSAgMjAwNzA3MTIxOTU1MjgtM2UyZGMtZDQ2ZWRlYWFiODRmYjU1ZTc0ODQyYmRjZjRmODc5MmRmY2RiMDQ1Ny5negoKMjAwNy0wNy0xMiAxNjoyMzoyOCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggUlRQIHRpbWVzdGFtcCBvbiBkdG1mIHBhY2tldHMKCSAgMjAwNzA3MTIxNjIzMjgtM2UyZGMtOThjMTMwM2Y0YTUyYjg5MWNlNTliZjg4ZTA3ZDI5ZjRlMmRmYzk3NC5negoKMjAwNy0wNy0xMSAxNTo1MjowMiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBPbmx5IHNldCBtYXJrZXIgb24gdmVyeSBmaXJzdCBwYWNrZXQgb2YgYW4gZXZlbnQKCSAgMjAwNzA3MTExNTUyMDItM2UyZGMtZjdlYTNhYmQyY2IwY2EyOTM3ZWE0NTA4ZTZlMzAxYmFhYTZlMjE1NC5negoKMjAwNy0wNy0xMSAxNTo1MTo1NyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTZW5kIG9uIHBhY2tldCBzdGFydCB0aW1lCgkgIDIwMDcwNzExMTU1MTU3LTNlMmRjLWVlMGU5ZmMxM2QzNTI5NjU5MzAwNTI2N2EyNDE3ZGQ2NWU3OTBkMjkuZ3oKCjIwMDctMDctMTEgMTU6NTA6NTYgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUlRQIHRpbWVzdGFtcCBpcyB0aGUgdGltZSBvZiB0aGUgYmVnaW5uaW5nIG9mIHRoZSBkdG1mIGV2ZW50CgkgIDIwMDcwNzExMTU1MDU2LTNlMmRjLWNiNWNkYTczZmJmN2RmMWM1NDVjYjAzMjFiMGUzMzk5MTRjNTg5N2YuZ3oKCjIwMDctMDQtMjQgMjA6MDI6NTIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gODAgY29sdW1uIGlzIGVub3VnaCBmb3IgZXZlcnlvbmUKCSAgMjAwNzA0MjQyMDAyNTItM2UyZGMtZDFiYzE3MjY2YWZmZjI1OTkxMjlhMjVkNDQzMzgwNjIzNzJmN2VhMy5negoKMjAwNy0wNC0yNCAxOTozMTo1NSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCByZWR1bmRhbmN5IGFuZCBpbnRlcnZhbCBwcm9wZXJ0aWVzIHRvIHJ0cGR0bWZzcmMgKHBhdGNoIGJ5IFNQIEdMRSA8c3BnbGVnbGVAeWFob28uZnI+KQoJICAyMDA3MDQyNDE5MzE1NS0zZTJkYy02NjY4ODAwMWU3YjUyOWM0NmYxMDg2MzNjZDk1MjAzNDdjM2M4YzNlLmd6CgoyMDA3LTA1LTA0IDE5OjUyOjUxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE9ubHkgc2VuZCBkdG1mIGlmIHRoZSBtZXRob2QgaXMgdW5zcGVjaWZpZWQgb3IgaXMgMQoJICAyMDA3MDUwNDE5NTI1MS0zZTJkYy1iOTViNGI4ZThkYWQ4Nzk2MmNmMzllYzJlZTY3YjZmMWI2MTllOWJkLmd6CgoyMDA3LTAzLTA4IDIyOjM1OjU5ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgZG9jdW1lbnRhdGlvbiBjb25zaXN0ZW50IHdpdGggaXRzZWxmCgkgIDIwMDcwMzA4MjIzNTU5LTNlMmRjLWNjMjBmZTU3MTM3MGJjNTFiZjk2M2NjM2RmMWI4YWI0YTNkZGMyMGIuZ3oKCjIwMDctMDQtMTIgMjA6MDQ6MzUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVc2Ugc2VnbWVudCB0byBjYWxjdWxhdGUgZHRtZnNyYyBydHAgdGltZXN0YW1wCgkgIDIwMDcwNDEyMjAwNDM1LTNlMmRjLWI1Y2MyNmIxMmI2ZThiODlmMTMxZmQyN2YwZTQ2Mjc3NDZlODU2OTcuZ3oKCjIwMDctMDQtMDIgMTI6NDY6MzUgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2xlYW4tdXAgYW5kIHJlZmFjdG9yaXplIGR0bWZzcmMgY29kZQoJICAyMDA3MDQwMjEyNDYzNS02NTAzNS0zZDEzMjQ0NDYxYzFkZDFmY2M5NmI3NDEyNGFkN2E3NGQyZmYwMTQ0Lmd6CgoyMDA3LTAzLTMwIDE1OjQzOjAzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE9vb3BzLCBsaXR0bGUgdHlwbwoJICAyMDA3MDMzMDE1NDMwMy0zZTJkYy05ZjZlZGNkZTI0ZDMwY2FlYThlYTg3NmIyNGEzYTY4MGQ0MGIyZWExLmd6CgoyMDA3LTAzLTMwIDAwOjE3OjAwICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBpdCBnZW5lcmF0ZSB0aGUgcHJvcGVyIHJ0cCB0aW1lc3RhbXBzIGluIHN5bmMgd2l0aCB0aGUgbGl2ZSBzb3VyY2UKCSAgMjAwNzAzMzAwMDE3MDAtM2UyZGMtYmJmOTU0ZTRlZGVjMDYxNWM0ZWVlNjAzZmJjNmFiOGE3ZDg5NDM2Zi5negoKMjAwNy0wMy0yOSAxMTo0Mjo1NyArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBJbmNyZW1lbnQgdGhlIHRzIGFmdGVyIHNldHRpbmcgdGhlIGJ1ZmZlcidzIHRzCgkgIDIwMDcwMzI5MTE0MjU3LTY1MDM1LWM4Njg2YWI0Y2UyMGIxZjM2ZjNkYWMxMjA0ODVhZGU1Y2Q5MGFhYzkuZ3oKCjIwMDctMDMtMjkgMTA6Mzk6NDYgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2FsY3VsYXRlIHRoZSBydHAgdHMgYmVmb3JlIGdzdCB0cyBnZXQgaW5jcmVtZW50ZWQKCSAgMjAwNzAzMjkxMDM5NDYtNjUwMzUtZjc0ZTNhMDE0MGM1N2U5NDE0NDRiYjgzN2Q2MDUzYWQxYzNjZjU2Ny5negoKMjAwNy0wMy0yOSAxMDozOTowNCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTb21lIGNvZGUtY2xlYW51cAoJICAyMDA3MDMyOTEwMzkwNC02NTAzNS1kYjA4Y2M3YzMwOThiNjBhNTU2ZDM4MDlkZTkxMmNkMGUxYTU0NWMxLmd6CgoyMDA3LTAzLTI5IDEwOjM4OjI0ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEluaXRpYWxpemUgdGhlIEdzdFNlZ21lbnQgYXQgdGhlIHJpZ2h0IHRpbWUKCSAgMjAwNzAzMjkxMDM4MjQtNjUwMzUtOWFiM2EwYTAzYzVmOTMyOWNkNDYyNWFlNjU2N2MyYzFmZDRhNzNkOC5negoKMjAwNy0wMy0yNiAxMDo1NzoxMiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDYWxsIHNldF9jYXBzIHdoZW4gd2UgaGF2ZSBhbGwgdGhlIHBhcmFtcwoJICAyMDA3MDMyNjEwNTcxMi02NTAzNS0zZTNkZmNlMGI1MGQ2MWVhZmRhODQ2YmVlMGE2ZDY2YzM1NDFjNmVkLmd6CgoyMDA3LTAzLTIzIDE2OjI5OjIyICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNldCBjYXBzIG9uIHRoZSBidWZmZXIgYmVmb3JlIHB1c2hpbmcgaXQKCSAgMjAwNzAzMjMxNjI5MjItNjUwMzUtOWU0YmU1NDQ5Yzc5YzBhNDU5OTY1ZWUwN2FkYjRhODE0M2M0YzFkNS5negoKMjAwNy0wMy0xNCAxNzoxNzo1NiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZXF1ZXN0IGZvciBzdHJlYW0gbG9jayB3aGVuIGdlbmVyYXRpbmcgRFRNRiBwYWNrZXRzCgkgIDIwMDcwMzE0MTcxNzU2LTY1MDM1LTBiNDk3ZGZhYzIwM2ZmNGY1Nzk1MjU0ODVkNTgwNGU1ZjUwOTNiM2YuZ3oKCjIwMDctMDMtMDcgMTE6NDE6MDkgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ29ycmVjdCBjYXBzIHByaW50b3V0CgkgIDIwMDcwMzA3MTE0MTA5LTY1MDM1LTEyNDIwMjg4NDkxOGE5YzhhODAzMDgwZDY5NjcyMzQ1MzlkMjRiOTcuZ3oKCjIwMDctMDItMTYgMTI6MDY6MDYgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIGRvYy1zZWN0aW9uIGNvbW1lbnRzCgkgIDIwMDcwMjE2MTIwNjA2LTY1MDM1LTZlN2QyODcyMWRjMDg3MmYzZjU1YmE3Y2NkNGZlZDNkNjZmODE3NWYuZ3oKCjIwMDctMDItMTUgMTM6NDg6NTMgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgY29weXJpZ2h0cwoJICAyMDA3MDIxNTEzNDg1My02NTAzNS01MGZlNWY4ZTk5OWFlODZhMWUzYmEwZGJkZWNlNDkxMWViOWRjY2EwLmd6CgoyMDA3LTAyLTE1IDEzOjM1OjM2ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE5vIG5lZWQgdG8gaGFuZGxlIGRvd25zdHJlYW0gZXZlbnRzCgkgIDIwMDcwMjE1MTMzNTM2LTY1MDM1LTY0OGI3OTFkNDA0YmYwNjkwMGJkMjY5OGQ5MjUxMTdjODk3NDNkYjkuZ3oKCjIwMDctMDItMTUgMTI6MjY6NTUgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQXR0ZW1wdCB0byBjb3JyZWN0IGV2ZW50IGhhbmRsaW5nCgkgIDIwMDcwMjE1MTIyNjU1LTY1MDM1LTQ3MDcwZDlhMjhjMDhkOTM1M2IwNGQyZDkzMDFlMjliN2VlNzJiODMuZ3oKCjIwMDctMDItMTUgMTA6MjY6MjkgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVXNlIHBhdXNlX3Rhc2sgaW5zdGVhZCBvZiBzdG9wX3Rhc2sgdG8gYXZvaWQgYW55IHBvc3NpYmxlIGRlYWRsb2NrcwoJICAyMDA3MDIxNTEwMjYyOS02NTAzNS1hNDhjNzczNjYxZTM4NWE5MWUwMjJlMGFjMWRhMDg2MmM0MjA2Zjg1Lmd6CgoyMDA3LTAyLTE1IDEwOjEwOjMwICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUHV0IGNvcnJlY3Qgc2VxIGFuZCB0aW1lc3RhbXBzIG9uIHRoZSBwYWNrZXRzCgkgIDIwMDcwMjE1MTAxMDMwLTY1MDM1LTcxNDZhM2M0YThkMGZlYWI1MTNkMTNhMjA3YjJjZGM1ZGUzMTFmMDMuZ3oKCjIwMDctMDItMTQgMTM6NTU6MDEgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggdGhlIGNvcHlyaWdodCBub3RpY2UKCSAgMjAwNzAyMTQxMzU1MDEtNjUwMzUtZTkwNzUzYjFmNjUyNWY3YjljMGFjMmViN2U0MGNlZjdjYTY3M2U2OC5negoKMjAwNy0wMi0xNCAxMzoxMzo1MiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi8uZ2l0LWRhcmNzLWRpcjoKCSogZ3N0L3J0cGR0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIFJUUCBEVE1GIGV2ZW50IHBhY2tldCBnZW5lcmF0b3IgZWxlbWVudCBhbmQgdGVzdCBhcHAgZm9yIGl0CgkgIDIwMDcwMjE0MTMxMzUyLTY1MDM1LTNjMTRhMTA0N2MzY2Q2Njk2ZjNhNzE2YTYyYjIxZDNmNGI5ZGE2MmIuZ3oKCjIwMDktMDEtMzAgMDk6MDM6NDIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJICBhdXRvZ2VuLnNoOiBhY3R1YWxseSBzZXR0aW5nIHVwIGEgc3ltYm9saWMgbGluayBmb3IgdGhlIHByZS1jb21taXQgaG9vawoKMjAwOS0wMi0yMSAxNzo0NTowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBBZGQgcmVhZC1vbmx5IHByb3BlcnR5IHRvIGdldCB0aGUgc3RydWN0dXJhbCBtZXRhZGF0YQoKMjAwOS0wMi0yMSAxNzo0MDowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgbXhmZGVtdXg6IEFkZCBNUEVHIHZpZGVvIGJpdHJhdGUgdG8gdGhlIHRhZ3MgaWYgYXZhaWxhYmxlCgoyMDA5LTAyLTIxIDE3OjM4OjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkqIGdzdC9teGYvbXhmLmM6CgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L214Zi9teGZxdWFyay5jOgoJKiBnc3QvbXhmL214ZnF1YXJrLmg6CgkqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgbXhmZGVtdXg6IFBvc3Qgc3RydWN0dXJhbCBtZXRhZGF0YSB0cmVlIGFzIHRhZyBvbiB0aGUgYnVzCgkgIFRoaXMgd2lsbCBsYXRlciBiZSB1c2VkIHRvIGtlZXAgdGhlIHN0cnVjdHVyYWwgbWV0YWRhdGEgd2hlbgoJICByZW11eGluZyBhbiBNWEYgZmlsZSBhbmQgY2FuIGFsc28gYmUgdXNlZCBpbiBQaXRpdmkgZm9yIGV4YW1wbGUKCSAgdG8ga25vdyB0aGUgZmlsZSBzdHJ1Y3R1cmUgYW5kIHRvIHNlbGVjdCB3aGF0IHNob3VsZCBiZSB1c2VkCgkgIGFuZCBwbGF5ZWQuCgoyMDA5LTAyLTIxIDE2OjA5OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJICBteGZkZW11eDogRml4IGNhbGN1bGF0aW9uIG9mIEFFUzMgYml0cmF0ZSB0YWcKCjIwMDktMDItMjEgMTY6MDU6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgbXhmZGVtdXg6IEFkZCBoZWxwZXIgZnVuY3Rpb24gdG8gY29udmVydCBNWEZyYWN0aW9uIHRvIGdkb3VibGUgYW5kIHVzZSBpdAoKMjAwOS0wMi0yMSAxNjowMDozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJICBteGZkZW11eDogT25seSBzdG9yZSB0aGUgbWFpbiBkZXNjcmlwdG9yIGluIHNvdXJjZSBwYWNrYWdlcwoJICBGb3IgdGhlIHRyYWNrcyB3ZSBzdGlsbCByZXNvbHZlIHRoZSBkZXNjcmlwdG9ycyBidXQgdGhlCgkgIHNvdXJjZSBwYWNrYWdlIG9ubHkgY29udGFpbnMgdGhlIGRlc2NyaXB0b3IgaXQgcmVhbGx5IHJlZmVyZW5jZXMKCSAgaW5zdGVhZCBvZiBhbGwgc3ViZGVzY3JpcHRvcnMgb2YgbXVsdGlwbGUgZGVzY3JpcHRvcnMuCgkgIFRoaXMgbWFrZXMgaXQgZWFzaWVyIGxhdGVyIHRvIHNlcmlhbGl6ZSB0aGUgc3RydWN0dXJhbCBtZXRhZGF0YQoJICBhZ2Fpbi4KCjIwMDktMDItMTcgMTc6Mzc6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogU2V0IGZyZWUnZCBtZW1vcnkgdG8gTlVMTCB0byBwcmV2ZW50IGEgZG91YmxlIGZyZWUgbGF0ZXIgaW4gc29tZSBjYXNlcwoKMjAwOS0wMi0xNSAwOTo1MToyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZG1zMS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZmRlbXV4OiBEb24ndCB1c2UgZ2VuZXJpYyBtZXRhZGF0YSBwYXJzZXJzIGZvciB1bmtub3duIG1ldGFkYXRhLCB0aGUgcmVzdWx0cyBhcmUgdXNlbGVzcyBhbnl3YXkKCjIwMDktMDItMTkgMTE6MzY6NDUgKzAwMDAgIFphaGVlciBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdW1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcGF0aW5mby5jOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcGF0aW5mby5oOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10aW5mby5jOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10aW5mby5oOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10c3RyZWFtaW5mby5jOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10c3RyZWFtaW5mby5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgbXBlZ3RzZGVtdXg6IHMvZmx1dHMvbXBlZ3RzCgkgIENoYW5nZSBhbGwgZGVmaW5pdGlvbnMgZnJvbSBmbHV0cyB0byBtcGVndHMuCgoyMDA5LTAyLTEwIDE4OjU4OjQwICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIEFkZCBkb2MgaW5mcmFzdHJ1Y3R1cmUgdG8gdmFsdmUKCjIwMDktMDItMTAgMTg6NTI6NTQgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuaDoKCSAgRG9jdW1lbnQgdGhlIEdzdFZhbHZlCgoyMDA5LTAyLTEwIDE4OjAzOjI2ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkgIE1vdmVkIHZhbHZlIGZyb20gZ3N0LXBsdWdpbnMtZmFyc2lnaHQgdG8gLWJhZAoKMjAwOS0wMi0xMCAxNzo1NzoxNiArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIFJlbmFtZSBmc3ZhbHZlIHRvIHZhbHZlCgoyMDA5LTAyLTEwIDE3OjU1OjQ3ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmg6CgkgIFJlLWluZGVudCB2YWx2ZSBpbiBnc3Qgc3R5bGUKCjIwMDgtMTItMTMgMDA6MzE6NDUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gSWdub3JlIGVycm9ycyBpZiBkcm9wcGluZyBpcyBzZXQgdG8gdHJ1ZQoKMjAwOC0xMi0xMSAxNzo1NDoxOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlLy5naXQtZGFyY3MtZGlyOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIC5naXQtZGFyY3MtZGlyIGZpbGVzCgoyMDA4LTEyLTEwIDE3OjAwOjMzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBnZXRjYXBzIHByb3h5aW5nIHRvIHRoZSB2YWx2ZQoKMjAwOC0wOC0yMCAxNDoxMTowMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmViYXNlIHZhbHZlIG9udG8gZ3N0ZWxlbWVudCBpbnN0ZWFkIG9mIGJhc2V0cmFuc2Zvcm0KCjIwMDgtMDgtMTkgMTg6NDk6NTEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmV2ZXJ0ICJGaXggcmVmY291bnRpbmcgaXNzdWVzIGluIHByZXBhcmVfb3V0cHV0X2J1ZmZlciIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA2NWRkNDYwZjBhM2E5YzQ4ODJlNjM4Yzg2MjA4Zjc0ZWY2MmMzNDYwLgoKMjAwOC0wOC0wNSAxMTozMDo1NyArMDAwMCAgc2pvZXJkQGx1b24ubmV0IDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCByZWZjb3VudGluZyBpc3N1ZXMgaW4gcHJlcGFyZV9vdXRwdXRfYnVmZmVyCgkgIDIwMDgwODA1MTEzMDU3LWJlMGYyLTlkYzI3MDc4MWYwYTBmMjFjNjE2ZWQxMWRiZDFmMTk4ZmQxYjMyNmUuZ3oKCjIwMDgtMDQtMDkgMTY6MzI6MjEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgdW51c2VkIGRpc3Bvc2UgbWV0aG9kIGluIHZhbHZlCgkgIDIwMDgwNDA5MTYzMjIxLTNlMmRjLTkyY2NiMmRiODc0ZTQ2ZTBkOTJjMTU1MjA1NzdjMWJlMGUyYmM2MTcuZ3oKCjIwMDctMTItMTkgMjA6MzI6MzAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBEb250IGhvbGQgdGhlIG9iamVjdCBsb2NrIHdoaWxlIGNhbGxpbmcgYmFzZSBhbGxvYyBmdW5jdGlvbgoJICAyMDA3MTIxOTIwMzIzMC0zZTJkYy02NTE5MTc1ZDhkODE0OTY1MTViMmQ5MDYwYWMzMTY2NTA1NjBmNjkxLmd6CgoyMDA3LTEyLTE5IDIwOjMyOjE4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNldCB0aGUgRElTQ09OVCBmbGFnIGFmdGVyIGRyb3BwaW5nIGJ1ZmZlcnMKCSAgMjAwNzEyMTkyMDMyMTgtM2UyZGMtYmM1ZjAzZDg4ZmY1ODM3MDQwYjkyMTRkZTAxNmNjMTQyNzc2ZGZjMi5negoKMjAwNy0xMi0xOSAwMDo1NzozOSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVc2UgZG8gdGhlIGFsbG9jX2J1ZmZlciBmdW5jdGlvbiBpbiB0aGUgdmFsdmUKCSAgMjAwNzEyMTkwMDU3MzktM2UyZGMtMmEwZmRmYTJmMzhmMDNhYjQ3OTFmZTVjNGFiODVlODc5MDExMzY4My5negoKMjAwNy0xMS0yMSAyMDowODo1OCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE9ubHkgc2V0IHBhc3N0aHJvdWdoIHRvIFRSVUUgb24gbmV3ZXIgdmVyc2lvbnMgb2YgZ3N0CgkgIDIwMDcxMTIxMjAwODU4LTNlMmRjLWIxNmNkZWFiYmMzYzA1NjJjNmZjN2IxMWI5Yjk3OTJjOTEwZjU2OWUuZ3oKCjIwMDctMTEtMjEgMTg6MTc6MjkgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDb21wYXJlIG1pbm9yLCBub3QgbWFqb3IKCSAgMjAwNzExMjExODE3MjktM2UyZGMtYTU5OTdjM2I3ZjVjODY5NjYzNzA5Njk3MTRmYWNmOGVlMjQyNjU5ZC5negoKMjAwNy0xMC0yNiAyMjozNzo0OSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgdGhlIHZhbHZlIGVsZW1lbnQgd29yayB3aXRoIGdzdCA8IDAuMTAuMTMKCSAgMjAwNzEwMjYyMjM3NDktM2UyZGMtMThmNjg1YTRlNDVmYmRjZTY3N2FjNzc3NTg2ODc2ZmM3MTlkNzIyMi5negoKMjAwNy0xMC0yNCAyMjo0Mjo0NiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvTWFrZWZpbGUuYW06CgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVuYW1lIHZhbHZlIHRvIGZzdmFsdmUKCSAgMjAwNzEwMjQyMjQyNDYtM2UyZGMtYzU0MjE2YWYyZWYwZWYzZjFhMjIwNmQ3MjNlODdiZTJhMjNhYjhlZC5negoKMjAwNy0xMC0yNCAyMjo0MTo0NyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvLmdpdC1kYXJjcy1kaXI6CgkqIGdzdC92YWx2ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIHZhbHZlIGVsZW1lbnQKCSAgMjAwNzEwMjQyMjQxNDctM2UyZGMtZjI4YWIwYzA3M2UyODM4OTRiNjVjMjJjNGY0NDM5N2M4OTdkZWMwMS5negoKMjAwOS0wMi0xMCAxOToyMDoyNiArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJICBBZGQgc29tZSBkb2N1bWVudGF0aW9uIHRvIHRoZSBzaXJlbiBlbmMvZGVjIHBsdWdpbnMKCjIwMDktMDItMTAgMTk6MjA6MTkgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbi5oOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmg6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuaDoKCSAgUmUtaW5kZW50IHRoZSBzaXJlbiBzdHVmZiB0byBiZSBnc3Qgc3R5bGUKCjIwMDktMDItMTAgMTc6Mjk6MDUgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSAgTW92ZWQgc2lyZW4gZnJvbSBnc3QtcC1mYXJzaWdodCB0byAtYmFkCgoyMDA5LTAyLTEwIDE3OjIzOjM4ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vTWFrZWZpbGUuYW06CgkqIGdzdC9zaXJlbi9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9zaXJlbi9nc3RydHBzaXJlbmRlcGF5Lmg6CgkqIGdzdC9zaXJlbi9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3Qvc2lyZW4vZ3N0cnRwc2lyZW5wYXkuaDoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuLmM6CgkgIE1vdmUgc2lyZW4gcnRwIHBheS9kZXBheSAgdG8gZ29vZAoKMjAwOC0xMi0xMSAxNzo1NDoxOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuLy5naXQtZGFyY3MtZGlyOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIC5naXQtZGFyY3MtZGlyIGZpbGVzCgoyMDA4LTEwLTA1IDIyOjAzOjA1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCB1bmRlcnNjb3JlIHRvIG1ha2UgdGhlIGVuY29kZXIgbGlrZSB0aGUgZGVjb2RlcgoKMjAwOC0xMC0wNSAyMjowMTo0NCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW5hbWUgb2Zmc2V0IHRvIG91dF9vZmZzZXQgdG8gbWFrZSBpdHMgbWVhbmluZyBjbGVhcmVyCgoyMDA4LTEwLTA1IDIyOjAwOjI3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENoZWNrIHRoZSBzaXplIG9mIHRoZSBpbnB1dCBidWZmZXIsIG5vdCB0aGUgb3V0cHV0IGJ1ZmZlcgoKMjAwOC0wOS0xNiAxNTo0MDowNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQcmVzZXJ2ZSB0aW1lc3RhbXAKCjIwMDgtMDctMDQgMjI6MjE6MDMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIHVzZWxlc3MgY2hlY2tzLCBkb2N1bWVudCBsb2NraW5nCgkgIDIwMDgwNzA0MjIyMTAzLTNlMmRjLTQ3YTdmNDljNDE0Zjk4YTE4OGZmYzQyYjA3MTg5ZGFmNTE0NzQ4M2IuZ3oKCjIwMDgtMDctMDQgMjI6MTc6NDMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gbWFrZSBzaXJlbmVuYyB0aHJlYWQgc2FmZQoJICAyMDA4MDcwNDIyMTc0My0zZTJkYy1mOTNkYTg2NDM4Zjc1M2UxNGJlMjUxNjZhZWU0NWY4ODAyZjdkMTAwLmd6CgoyMDA4LTA3LTA0IDIwOjE4OjMwICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlcGxhY2UgdXNlIEdTVF9ERUJVR19PQkpFQ1QgaW4gc2lyZW5lbmMKCSAgMjAwODA3MDQyMDE4MzAtM2UyZGMtOGYzZTQwMWFhYTU5NGM4Y2M1ODUzYjczZjQxY2E1Y2IwNDdlZTJkMy5negoKMjAwOC0wNy0wNCAyMDoxNzo0NCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmg6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUG9ydCBzaXJlbmRlYyB0byBHc3RlbGVtZW50CgkgIDIwMDgwNzA0MjAxNzQ0LTNlMmRjLTk5YmY3Yjg2ZTQyZGEzNjNkOGM4MjY0NDlkODRiNDM3NTE1NzJkNWUuZ3oKCjIwMDgtMDctMDQgMjA6MDQ6NTQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZWxlYXNlIHJlZiBhdCB0aGUgZW5kIG9mIGNoYWluCgkgIDIwMDgwNzA0MjAwNDU0LTNlMmRjLTM4NmYyNjg1ODgyYTc0ZDAxY2U1MDNmOTEzOTZlYTM3NTA2ZGJlODMuZ3oKCjIwMDgtMDctMDQgMjA6MDM6MTUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgdXNlbGVzcyBjYWxsIHRvIHBlZWtfcGFyZW50CgkgIDIwMDgwNzA0MjAwMzE1LTNlMmRjLTZiMzBlZmQyZDMyYjZjYTk2NjA5ZjRiZGMwYzNlMjg2ZjQ0NDE3NDYuZ3oKCjIwMDgtMDctMDQgMjA6MDA6MjkgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIEdzdFNpcmVuRW5jIHVzZSBHU1RfKl9PQkpFQ1QgYXBwcm9wcmlhdGVseQoJICAyMDA4MDcwNDIwMDAyOS0zZTJkYy1mNjhmZGFhYTg5MjkwMzlmZDg0MTNmZjBiZjhmZjUxNGY2ZTRmYmUxLmd6CgoyMDA4LTA3LTA0IDE5OjUxOjAyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFBvcnQgc2lyZW5lbmMgdG8gZ3N0ZWxlbWVudAoJICAyMDA4MDcwNDE5NTEwMi0zZTJkYy1jZDc2ODc1MTJhYzU2MGZhYWYxNWY1M2UxZTI2MmQxODc0YTM2Y2RmLmd6CgoyMDA4LTA0LTI4IDIyOjIyOjM3ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIExpbmsgbW9kdWxlcyB3aXRoIGxpYm0gd2hlcmUgcmVxdWlyZWQKCSAgMjAwODA0MjgyMjIyMzctM2UyZGMtYjFlOTEyMGMxZTljYTFhNTEwYmZkN2MyN2UyZDQ1ZjBkNGExMjUwNC5negoKMjAwOC0wNC0xMiAyMzo0MzoyNSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RydHBzaXJlbmRlcGF5LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmVkIGRlYnVnIG91dHB1dAoJICAyMDA4MDQxMjIzNDMyNS00ZjBmNi0zNmI5NDZhN2NhM2FiNGU1ODAyOTE3Yjg5MzBmMDM2YzUwYTkzYTI5Lmd6CgoyMDA4LTA0LTEwIDIzOjQzOjI4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2NvbW1vbi5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gT3VwcywgdHlwbwoJICAyMDA4MDQxMDIzNDMyOC00ZjBmNi05NjJlMzc1ZTc4ZGEwNWVhYjUyODkyYTU3ZDMyMjZmZGQyZmZjODZkLmd6CgoyMDA4LTA0LTEwIDA3OjAxOjE2ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuLy5naXQtZGFyY3MtZGlyOgoJKiBnc3Qvc2lyZW4vTWFrZWZpbGUuYW06CgkqIGdzdC9zaXJlbi9jb21tb24uYzoKCSogZ3N0L3NpcmVuL2NvbW1vbi5oOgoJKiBnc3Qvc2lyZW4vZGN0NC5jOgoJKiBnc3Qvc2lyZW4vZGN0NC5oOgoJKiBnc3Qvc2lyZW4vZGVjb2Rlci5jOgoJKiBnc3Qvc2lyZW4vZGVjb2Rlci5oOgoJKiBnc3Qvc2lyZW4vZW5jb2Rlci5jOgoJKiBnc3Qvc2lyZW4vZW5jb2Rlci5oOgoJKiBnc3Qvc2lyZW4vZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3Qvc2lyZW4vZ3N0cnRwc2lyZW5kZXBheS5oOgoJKiBnc3Qvc2lyZW4vZ3N0cnRwc2lyZW5wYXkuYzoKCSogZ3N0L3NpcmVuL2dzdHJ0cHNpcmVucGF5Lmg6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbi5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW4uaDoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5oOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmg6CgkqIGdzdC9zaXJlbi9odWZmbWFuLmM6CgkqIGdzdC9zaXJlbi9odWZmbWFuLmg6CgkqIGdzdC9zaXJlbi9odWZmbWFuX2NvbnN0cy5oOgoJKiBnc3Qvc2lyZW4vcm1sdC5jOgoJKiBnc3Qvc2lyZW4vcm1sdC5oOgoJKiBnc3Qvc2lyZW4vc2lyZW43Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGRlZCBTaXJlbiBlbmNvZGVyL2RlY29kZXIvcGF5bG9hZGVyL2RlcGF5bG9hZGVyCgkgIDIwMDgwNDEwMDcwMTE2LTRmMGY2LTcyZmZiZGJiMjYyZjA3YmZhYmQxZTQ2OTk3M2EwMWIzMzU5YmVlNDUuZ3oKCjIwMDktMDItMTAgMTg6NDY6MDMgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuaDoKCSAgQWRkIGxpdmVhZGRlciB0byB0aGUgZG9jcwoKMjAwOS0wMi0xMCAxODozODoxMSArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgRG9jdW1lbnQgdGhlIGxpdmVhZGRlcgoKMjAwOS0wMi0xMCAxNjoxODozMiArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuaDoKCSAgTW92ZWQgbGl2ZWFkZGVyIGZyb20gZ3N0LXBsdWdpbnMtZmFyc2lnaHQgdG8gLWJhZAoJICBSZS1pbmRlbnQgbGl2ZWFkZGVyIGluIGdzdCBzdHlsZSBhbmQgYWRkIGl0IHRvIGNvbmZpZ3VyZQoKMjAwOC0xMi0xMyAwMDowOTo0NiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVzZSBsb2cgZm9yIG1lc3NhZ2UgdGhhdHMgb24gZXZlcnkgYnVmZmVyCgoyMDA4LTEyLTExIDE3OjU0OjE4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyLy5naXQtZGFyY3MtZGlyOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIC5naXQtZGFyY3MtZGlyIGZpbGVzCgoyMDA4LTA4LTI3IDE3OjE2OjI3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGxpdmVhZGRlciA6IEhhbmRsZSBqaXR0ZXIgaW4gaW5jb21pbmcgYnVmZmVycwoJICBJbmNvbWluZyBidWZmZXJzIChlc3BlY2lhbGx5IHRob3NlIGZyb20gYW4gUlRQIGNvbm5lY3Rpb24pIG1pZ2h0IGhhdmUgc2xpZ2h0IHRpbWVzdGFtcCBqaXR0ZXIuIFRoaXMgaXMgbm9ybWFsbHkgaGFuZGxlZCBieSBhdWRpb3NpbmsgKGFjY2VwdGluZyB1cCB0byA1MDBtcyBvZiBqaXR0ZXIpLgoJICBIZXJlIHdlIGFjY2VwdCBhIG1heGltdW0gaml0dGVyIG9mIDEwbXMuIElmIGEgYnVmZmVyIGlzIHdpdGhpbiAxMG1zIG9mIHRoZSBleHBlY3RlZCB0aW1lLCB3ZSBjb3JyZWN0IGl0cyB0aW1lc3RhbXAuCgoyMDA4LTA3LTA0IDE4OjU3OjIxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgaGFuZGxpbmcgb2YgcG9zaXRpb24gcXVlcnkgdG8gbGl2ZWFkZGVyCgkgIDIwMDgwNzA0MTg1NzIxLTNlMmRjLTdhNjg3ZTM0NmU3NGI0NGZhODQ3YzVlNWI2ZWI2NGMzZTA5NDk3NjQuZ3oKCjIwMDgtMDUtMjEgMTc6MjA6MDUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlcGxhY2UgQzk5IGxsYWJzIHdpdGggQzg5IGNvZGUKCSAgMjAwODA1MjExNzIwMDUtM2UyZGMtOGU2MzdkMWRhYTBlMjdjYzJlZGFlMWZkZmQwZGJmMjM4OTZmYjViYy5negoKMjAwOC0wNS0xNSAwMToyMjo1NyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVzZXQgdmFycyBiZWZvcmUgcmVzdGFydGluZyB0aHJlYWQgb24gZmx1c2ggc3RvcAoJICAyMDA4MDUxNTAxMjI1Ny0zZTJkYy1lMzUyMTc1MmNmM2VhZjJiODc2N2Y0YzYyMGVhZGZjMjRhOGU4ZTMxLmd6CgoyMDA4LTA1LTE1IDAxOjIyOjI3ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBJbXBsZW1lbnQgZmlyc3QgdmVyc2lvbiBvZiBzZWVraW5nCgkgIDIwMDgwNTE1MDEyMjI3LTNlMmRjLTdmNTNmNzhkMWMzZGZkY2RiNmU3YWQ1M2U2YzdmMTZkNWU5OThhMDUuZ3oKCjIwMDgtMDUtMTUgMDE6MjE6NDIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBkdXJhdGlvbiBxdWVyeSBmcm9tIGFkZGVyCgkgIDIwMDgwNTE1MDEyMTQyLTNlMmRjLTI3NjgxOTkxODNiZmI5ZDU2OWJlMTM4OWUzODJiZWRjMDJlM2U5NWUuZ3oKCjIwMDgtMDUtMTUgMDA6MDI6MTQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1vdmUgZmx1c2ggc3RvcCBpbnNpZGUgd2hlcmUgaXQgYmVsb25ncwoJICAyMDA4MDUxNTAwMDIxNC0zZTJkYy1jZGE1Y2RkZDFlYWQ1YzQ4YTU1NGU5ZTliYzc1YWU2ODQzN2JjZGZiLmd6CgoyMDA4LTA1LTE0IDIzOjQ5OjQ4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBIYXZlIHRoZSBsaXZlYWRkZXIgcmVtZW1iZXIgaWYgaXRzIHBsYXlpbmcgb3Igbm90CgkgIDIwMDgwNTE0MjM0OTQ4LTNlMmRjLTkwNjRhMjdhNTRhZWY1OTg0NDRhYTZhZDY0NjMzNDU5NzkxMjA4MjguZ3oKCjIwMDgtMDUtMTQgMjM6NDk6MTAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFB1c2ggb3V0IGJ1ZmZlciBpZiB3ZSdyZSBub3QgcGxheWluZyB3aGlsZSB0aGVyZSBpcyBubyBjbG9jawoJICAyMDA4MDUxNDIzNDkxMC0zZTJkYy0xMDk2ZWI3ZGMzZmFkYTE5YWZjODFkY2Q1MzZkOWVkYzgyMWQwZGE5Lmd6CgoyMDA4LTA1LTE0IDIzOjI2OjQzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBFbXB0eSB0aGUgcXVldWUgb24gZmx1c2ggc3RhcnQKCSAgMjAwODA1MTQyMzI2NDMtM2UyZGMtNWEzZjUyYTNmZDM3NzExNjRkZWE5NWJkMTQ0MTBkNzZiNGZjZTJhYS5negoKMjAwOC0wNS0xNCAyMzoxNzo1MiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVzZXQgcGFkIHByaXZhdGUgb24gZmx1c2ggc3RvcAoJICAyMDA4MDUxNDIzMTc1Mi0zZTJkYy0xMTNmZWMyZmFhZmMyZGMxMWMxZWFhODE4Y2I0ODhiNzFlNjAxZjliLmd6CgoyMDA4LTA1LTE0IDIzOjE2OjQzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQYXNzIHBhZCBhcyBwYWQgdG8gcmVzZXRfcGFkX3ByaXZhdGUKCSAgMjAwODA1MTQyMzE2NDMtM2UyZGMtMDA2OTYwYjljZGMzY2U4ZTFmODkwZGM2ZDE5NDc3OGNiYzdjOTczNi5negoKMjAwOC0wNS0wMiAxOToxMDowNCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUHJpbnQgZGVidWcgbWVzc2FnZSBpZiB3ZSByZXR1cm4gbm9uLW9rIGZyb20gY2hhaW4KCSAgMjAwODA1MDIxOTEwMDQtM2UyZGMtZjFmNzIzN2MwNmMxMTU4Y2YyN2UyOWQzMmE2OWRlMDZmNzExMjUwNi5negoKMjAwOC0wNS0wMiAxOTowOTo1NCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRG9uJ3QgcmV0dXJuIEVPUyBpZiB3ZSBoYXZlIG5vIHBhZHMKCSAgMjAwODA1MDIxOTA5NTQtM2UyZGMtNDEzNTEyMjVlOTA5ZTZkMDgzN2E2YTYwZTE4N2QzM2FiMTg2YWQ3Ni5negoKMjAwOC0wNS0wMSAyMDozMTo1NCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2hlY2sgdGhhdCB0aGUgZm9ybWF0IGlzIE5PVCB0aW1lCgkgIDIwMDgwNTAxMjAzMTU0LTNlMmRjLTc4MGU0NmIxZjBmZTc2YTY2ZTJkNzlhMmViODVkNzY0ZmY1ZjE4MmYuZ3oKCjIwMDgtMDQtMjggMjI6MTc6MzcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIERvbid0IHVzZSBnX3F1ZXVlX2NsZWFyKCkKCSAgMjAwODA0MjgyMjE3MzctM2UyZGMtYmI4ZTQ3NDg3NTFjMjllMDg1NzMxM2EwOWY4NTA2N2FiMTJjM2ZlNC5negoKMjAwOC0wNS0wMSAyMDowOTo0MCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUGFkIHB1c2ggZXZlbnQgYWZ0ZXIgdGhlIGxvY2sgaGFzIGJlZW4gdW5sb2NrZWQKCSAgMjAwODA1MDEyMDA5NDAtM2UyZGMtYWU1ZmVjNWY3OWYzMjc3N2JiYTY0OWQwZDcwMGQ0OWY3YmVkZmY0MC5negoKMjAwOC0wNS0wMSAxODoyNTo1NCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ3JlYXRlIGdlbmVyaWMgc2VnbWVudCBpcyBub25lIHJlY2VpdmVkIGFuZCByZWZ1c2Ugbm9uLXRpbWUgc2VnbWVudHMKCSAgMjAwODA1MDExODI1NTQtM2UyZGMtYWNlNWNhMDAwNDE0NDI4ZDZkOTQ0NzhhZGM1OTI3YzlmOTE5NzVkZi5negoKMjAwOC0wNC0yOSAxNDowODowMiArMDAwMCAgU2ltb24gTWNWaXR0aWUgPHNpbW9uLm1jdml0dGllQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgbWlzc2luZyBzZW1pY29sb24gKGRpZCBhbnlvbmUgdGVzdCB0aGlzPyEpCgkgIDIwMDgwNDI5MTQwODAyLTUzZWVlLTQxZmRiNDM5MWVkZGIxMjViN2UzNDAxOTQyN2NmYTVkYzhhZmQ2YzAuZ3oKCjIwMDgtMDQtMjkgMDA6MzY6MDAgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUm9idXN0bmVzcyBjaGVjaywgbWFrZSBzdXJlIHRoZSBxdWV1ZSBpcyBub3QgZW1wdHkgYmVmb3JlIHVzaW5nIHRoZSBoZWFkIGVsZW1lbnQKCSAgMjAwODA0MjkwMDM2MDAtNGYwZjYtNzA4YzY1NGI2NTgxMmNhZWIzNjEyMjQ4ZGJlMGIyZTYyNTY3YzI1MC5negoKMjAwOC0wNC0yOSAwMDozNDoxMiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgdXNlbGVzcyBjb25kaXRpb24KCSAgMjAwODA0MjkwMDM0MTItNGYwZjYtOWU4OTBhZDBhYzQ0Mjc5MWE4YjIyNjUwYTc1Y2I3NTRkN2YyZDcyMy5negoKMjAwOC0wNC0yOSAwMDowMzozOSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBjaGVjayBhZ2FpbnN0IGF1ZGlvX2J1ZmZlcl9jbGlwIHdoaWNoIGNhbiByZXR1cm4gTlVMTCBpZiB0aGUgYnVmZmVyIGlzIG91dHNpZGUgdGhlIGNsaXBwaW5nIHNlZ21lbnQKCSAgMjAwODA0MjkwMDAzMzktNGYwZjYtN2U0ZTMxZjA2NmI4N2UyOTI2NWRkYjM5Nzg5MjllNTFlZmJmZjQ3ZC5negoKMjAwOC0wNC0yOCAyMzo0OTo0OCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggb2JqZWN0IGxvY2tpbmcgaW4gc2V0Y2FwcwoJICAyMDA4MDQyODIzNDk0OC00ZjBmNi00NTg2NDM0YjQzMDhlMTE0ZjQ5NWU5MjY5OTZmYzE5NDgzYzEwNTZmLmd6CgoyMDA4LTA0LTI4IDIzOjQ5OjM1ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVzZSBnX2NvbmRfYnJvYWRjYXN0IGluc3RlYWQgb2YgZ19jb25kX3NpZ25hbAoJICAyMDA4MDQyODIzNDkzNS00ZjBmNi1lNTFmYWIzMTc3MmIzMmYyZmIwODBhZDcwYzZiZWRlZmM1YzI2ZGM2Lmd6CgoyMDA4LTA0LTI4IDIzOjI4OjUxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1heCBsYXRlbmN5IHNob3VsZCBhbHNvIGJlIGluY3JlYXNlZCBieSBvdXIgb3duIGxhdGVuY3kKCSAgMjAwODA0MjgyMzI4NTEtNGYwZjYtMDVmOWE4OTQwM2NkNTQyMTFmMmY0YTY1OTU3MDQyNzBlYWI5NjE2Zi5negoKMjAwOC0wNC0yOCAyMjozNjowNiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IGRlYWRsb2NrIG9uIGludmFsaWQgdGltZXN0YW1wIGVycm9yCgkgIDIwMDgwNDI4MjIzNjA2LTNlMmRjLTk2M2U0OGIzM2VmYWY4NGMxNmQ0ZWM0Yjc4OWE2ZGZiMmQ5MzU4YWQuZ3oKCjIwMDgtMDQtMjggMTY6MTk6NTggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkZWQgY29tbWVudCBmb3IgY2xhcml0eQoJICAyMDA4MDQyODE2MTk1OC00ZjBmNi1jYmFhMTY2ZmJkZTk5MDEzYjU1NWM2OWFiNDhkOTY0ZDc1NzczYTdmLmd6CgoyMDA4LTA0LTI4IDE2OjEyOjM1ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGFkZGVkIFRPRE8gY29tbWVudHMKCSAgMjAwODA0MjgxNjEyMzUtNGYwZjYtZmJjNzg1MzNkMjlkMzdiNjVhZGQ2ZjYwNDZmZWMxN2NlNWUzMGNhZS5negoKMjAwOC0wNC0yOCAxNTo1OToyNyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBjaGVja19lb3Mgd2lsbCBhbHdheXMgcmV0dXJuIEZBTFNFIGhlcmUuLgoJICAyMDA4MDQyODE1NTkyNy00ZjBmNi0xYTkzZTI5NWQzZGY2OGE5NjM2N2I3NTA2MGE4OWE5NDdlZmE4OTQ0Lmd6CgoyMDA4LTA0LTI4IDE1OjQ5OjU2ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGFkZGVkIGNvbW1lbnQgb24gdGhlIG5vIGNsb2NrIGVycm9yCgkgIDIwMDgwNDI4MTU0OTU2LTRmMGY2LTdlMjRlZDMxZjljODIyZTQzMjNiNjgxYTU0YmMyM2YwM2MxYTMyNWUuZ3oKCjIwMDgtMDQtMjggMTU6NDg6NTAgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gZXJyb3IgaWYgbm8gY2xvY2sgaXMgYXZhaWxhYmxlCgkgIDIwMDgwNDI4MTU0ODUwLTRmMGY2LTM4ZmRjNDEzNDgzNWM0NTdkMDA1NDMwMTU3OWQ4Y2Q0Y2JkNDk4OWEuZ3oKCjIwMDgtMDQtMjUgMjE6MDQ6NTYgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gcmVuYW1pbmcgdW51c2VkIGFyZwoJICAyMDA4MDQyNTIxMDQ1Ni00ZjBmNi1hYjFjZGM5NDRjOWJjZDc3OTUwNDI5MmIyMWRjMTc4N2Q2Y2I2MmExLmd6CgoyMDA4LTA0LTI1IDIwOjM5OjM4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIHJlbW92ZWQgdW51c2VkIHVzZXJfZGF0YSBhbmQgY29tbWVudGVkIGxpbmUKCSAgMjAwODA0MjUyMDM5MzgtNGYwZjYtNzg3Nzc4NDc1YjY0NjQ2MWRhNDBmM2UwMDAwYTEwYmM5NmUxNDJiYy5negoKMjAwOC0wNC0yNSAyMDozNzozNSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSByZW1vdmUgdW51c2VkIGNhc2VzIGFuZCBlbXB0eSBzd2l0Y2gKCSAgMjAwODA0MjUyMDM3MzUtNGYwZjYtYzA0NDJmY2Y1N2UzZjA4YjgxYmMxYmUzZDY5ZjVjZmEwMjU3YjUyYS5negoKMjAwOC0wNC0yOCAxODozNDowOSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRXhwbGljaXQgdGhlIGRpc2NvbnQgZmxhZyBtYW5nbGluZwoJICAyMDA4MDQyODE4MzQwOS0zZTJkYy00ZGIyNTA1ZWVjYTAzM2E2MzQyNTNiNmMyZDJmNGYxMzk4ZTlmY2NhLmd6CgoyMDA4LTA0LTI4IDE4OjA3OjExICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVbnJlZiBldmVudHMgd2hlbiB0aGV5IGFyZSBkcm9wcGVkCgkgIDIwMDgwNDI4MTgwNzExLTNlMmRjLWViNjU5Nzg3ZjE3OTU2MmYxNTQwMmM4MTlmMTg4ZGUzOThkZWVmMmQuZ3oKCjIwMDgtMDQtMjQgMjI6NDY6MjcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVzZSBHbGliIEdfe01BWCxNSU59e1UsfUlOVHs4LDE2LDMyfSBtYWNyb3MKCSAgMjAwODA0MjQyMjQ2MjctM2UyZGMtMTAzNmJjNThiNmI0ZGIyZjlmMTI4MzFjZGJhZTNiYzYxM2ZhY2JiZi5negoKMjAwOC0wNC0yMSAwMzoyNjoxNCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVW5sb2NrIGxpdmVhZGRlciBlbXB0eSBidWZmZXIgZ2NvbmQgb24gZmx1c2gKCSAgMjAwODA0MjEwMzI2MTQtM2UyZGMtNGVkMjllMTU4M2ZmNjg0MzM4YmE1ZDc2MTFmNjBiMWE3ZWFmZjU2My5negoKMjAwOC0wNC0xOCAxOToyOTo0MSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVW5yZWYgZXZlbnQgaW5zdGVhZCBvZiBsZWFraW5nIGl0CgkgIDIwMDgwNDE4MTkyOTQxLTNlMmRjLTM1MmUyNWY2YWIyOTE2MTJiZTFkYzEzOTc5MDMwM2ExMzMzZjY1ZDcuZ3oKCjIwMDgtMDQtMDMgMTc6MDk6NTYgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIG5vbi1wZXJmZWN0IHN0cmVhbSBpc250IGFuIGVycm9yLCBsZXRzIGp1c3QgbG9nIGl0CgkgIDIwMDgwNDAzMTcwOTU2LTNlMmRjLTY2M2Y2YWY4Y2UwNjdmNDRjYTI1MWE4OWFlYmYyNjJkNGI4YTI4NjkuZ3oKCjIwMDgtMDQtMDMgMTY6NTQ6MzEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFdlIHJldGltZXN0YW1wIHRvIHRoZSBydW5uaW5nIHRpbWUsIHN0YXJ0aW5nIHRoZSBzZWdtZW50cyBmcm9tIDAgc2hvdWxkIHRoZXJlZm9yZSB3b3JrCgkgIDIwMDgwNDAzMTY1NDMxLTNlMmRjLWQ5ODFhYzJmOWVhN2ZkM2M4ZDJiZTRkMjJmMTgxN2NmNzhjNjE0ZTQuZ3oKCjIwMDgtMDQtMDMgMTY6NTQ6MTUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIERvIHRoZSBtaW4vbWF4IG9mIHRoZSBsYXRlbmNpZXMgY29ycmVjdGx5CgkgIDIwMDgwNDAzMTY1NDE1LTNlMmRjLWMxMTI0YmQ4NGU2N2NmOGE5MTFhMTRiYjEyM2I4NzMxZGE5ZjRmYzQuZ3oKCjIwMDgtMDQtMDMgMDI6MTQ6MjUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBpbmRlbnRhdGlvbgoJICAyMDA4MDQwMzAyMTQyNS0zZTJkYy1lZmQ3M2E2ZWVkMDY3NmUxNThhZjcwNDg0ZDRlNWM0MmVhNzVkZTc0Lmd6CgoyMDA4LTA0LTAzIDAyOjAzOjE4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBY3RpdmF0ZSBwYWRzIGJlZm9yZSBhZGRpbmcgdGhlbSBpbiBjYXNlIHdlJ3JlIGFscmVhZHkgcGxheWluZwoJICAyMDA4MDQwMzAyMDMxOC0zZTJkYy1hZmQ1OGY5OTJjMGIzMDU3MjIxYjkxMDM0YjJmY2Q5MWYyOTZlNTJkLmd6CgoyMDA4LTA0LTAzIDAyOjAyOjUzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGb3IgbGF0ZW5jaWVzLCB1c2UgdGhlIG1pbiBvZiB0aGUgbWF4IGFuZCB0aGUgbWF4IG9mIHRoZSBtaW4gKGFuZCB0aGUgbWluIHdpbnMgaWYgdGhleSBjcm9zcykKCSAgMjAwODA0MDMwMjAyNTMtM2UyZGMtZGRhN2U0NzEwNzNlZTc1YTZmNjBlODQ1YzNjNTQ2YWY5YmUxOTY3NS5negoKMjAwOC0wNC0wMyAwMDo1NzoyOCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVuYW1lIG5leHRfdHMgaW50byBleHBlY3RlZF90cywgbWFrZSBzdXJlIGFsbCBidWZmZXJzIGhhdmUgYSBkdXJhdGlvbgoJICAyMDA4MDQwMzAwNTcyOC0zZTJkYy04MjQ1Y2UxYmZlZWJlYmZiOGY3NTA3MzI1M2IzYzBlM2M0YjVmNTk2Lmd6CgoyMDA4LTA0LTAzIDAwOjQwOjEyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBEb24ndCB0cnkgdG8gc2V0IHRoZSBkaXNjb250IGZsYWcgaWYgdGhlIGR1cmF0aW9uIG9mIHRoZSBwcmV2aW91cyBpbmNvbWluZyBidWZmZXIgd2FzIG5vdCB2YWxpZAoJICAyMDA4MDQwMzAwNDAxMi0zZTJkYy02Zjk1NTIwYzkyOGMzNDc1MDhiZGY2MTg4Yzg3M2VkNzI0YWQyZGQ3Lmd6CgoyMDA4LTA0LTAyIDIyOjQ2OjI3ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZXNldCBidWZmZXJzIG9mZnNldHMgdG8gbm9uZQoJICAyMDA4MDQwMjIyNDYyNy0zZTJkYy1kM2VlOGM3ZDBjMTQxMzEwMTc4NDJkODE1OWY3ZjY4NGQwY2NlZjZkLmd6CgoyMDA4LTA0LTAyIDIyOjQ2OjEyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBJbXBvcnQgYWRkZXIgc3JjIGV2ZW50IGhhbmRsaW5nCgkgIDIwMDgwNDAyMjI0NjEyLTNlMmRjLTIxYTY4MmIxOGZlMTg3ODJiZjdmYTQ4OTgzYzEzYzFhZDg2ZGM1YTEuZ3oKCjIwMDgtMDMtMzEgMTg6NDQ6MjEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFB1c2ggb3V0IGEgc2ltcGxlIG5ld3NlZ21lbnQgZXZlbnQKCSAgMjAwODAzMzExODQ0MjEtM2UyZGMtNjk1NDRiNWIwM2FlM2JiOGMxZTNmOTY3OTc0ZmQyNTBkMDQwNTZiNS5negoKMjAwOC0wMy0zMSAxODo0NDowNCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRG9uJ3QgcmV0dXJuIEVPUyBpZiB0aGVyZSBpcyBubyBzaW5rIHBhZAoJICAyMDA4MDMzMTE4NDQwNC0zZTJkYy00ODJhMTM0YjQ3ZWFkY2Q5ZjFmOWQxNDRjMDJhYjExNDUwMjhmYTA3Lmd6CgoyMDA4LTAzLTMxIDE3OjExOjE2ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZWR1Y2UgbG9ja2luZyBhIGJpdCBhbmQgY2xlYW51cCBjb2RlIGEgYml0CgkgIDIwMDgwMzMxMTcxMTE2LTNlMmRjLTVkZGZiMGU0NTkwMDQ3ODBkM2Y3YTY2MGM2NGY1ODI0MzkzNmE4NDQuZ3oKCjIwMDgtMDMtMjkgMDA6NDU6MTggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci8uZ2l0LWRhcmNzLWRpcjoKCSogZ3N0L2xpdmVhZGRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBsaXZlYWRkZXIgZWxlbWVudAoJICAyMDA4MDMyOTAwNDUxOC0zZTJkYy00MGU0NzQ2ZmU4MmJiYzVhODcxZjAzZmU2ZmY2MDQ4ZjQzNmM5Zjg1Lmd6CgoyMDA5LTAyLTE2IDE2OjA4OjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSAgYnBtZGV0ZWN0OiBGaXggYWNjaWRlbnRhbGx5IGludHJvZHVjZWQgc3RhY2sgb3ZlcndyaXRpbmcgaW50cm9kdWNlZCBpbiBsYXN0IGNvbW1pdAoKMjAwOS0wMi0xNiAxNjowNjowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkgIGJwbWRldGVjdDogU2F2ZSBvbmUgbWVtb3J5IGFsbG9jYXRpb24gcGVyIHN0ZXJlbyBidWZmZXIKCjIwMDktMDItMTMgMTI6MTg6NDggLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBEbyBub3QgdXNlIHZvaWQgcG9pbnRlciBhcml0aG1ldGljLgoKMjAwOS0wMi0xMiAxNzozMTo1MCAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJICBkc2hvd3ZpZGVvc2luazogUmV0dXJuIEFTWU5DIGFwcHJvcHJpYXRlbHkgZnJvbSBjaGFuZ2Vfc3RhdGUuCgkgIE1ha2Ugc3VyZSB3ZSBkb24ndCBkbyB0aGUgd3JvbmcgdGhpbmcgd2hlbiBvdXIgYmFzZSBjbGFzcyBpcyByZXR1cm5pbmcKCSAgQVNZTkMgaW4gc3RhdGUgY2hhbmdlcy4KCjIwMDktMDItMTIgMTU6MDE6NDggLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSAgZHNob3dkZWN3cmFwcGVyOiBmaXggY29tcGlsYXRpb24uCgkgIEFjY2lkZW50bHkgbWVyZ2VkIHBhcnQgb2Ygb25lIGNoYW5nZTsgcmVtb3ZlIGl0LgoKMjAwOS0wMi0xMiAyMjo0MDo0OCArMDEwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQGZsdWVuZG8uY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgTWFrZSB0aGUgZGVtdXhlciByZXVzYWJsZSBpbiBSRUFEWS0+UExBWUlORy0+UkVBRFktPlBMQVlJTkcgY3ljbGVzIGJ5IGZsdXNoaW5nIGFkYXB0ZXJzIGNvcnJlY3RseS4KCjIwMDktMDItMTIgMTA6NTM6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogQWxzbyBpbmNsdWRlIHRoZSBwaWN0dXJlL3NvdW5kL2RhdGEgZXNzZW5jZSBjb2RpbmcgaW4gdGhlIHVua25vd24gY2FwcwoKMjAwOS0wMi0xMiAwOTo0NjowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBVcGRhdGUgVE9ETywgd2Ugc2hvdWxkIHN1cHBvcnQgdGhlIGRyb3AtZnJhbWUgcHJvcGVydHkgb2YgdGltZWNvZGUgdHJhY2tzCgoyMDA5LTAyLTEyIDA4OjQ2OjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmZGVtdXg6IEZpeCByZXNvbHZhbCBvZiBpZGVudGlmaWNhdGlvbnMgZnJvbSB0aGUgcHJlZmFjZQoKMjAwOS0wMi0xMSAxODo0MDo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZkbXMxLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgbXhmZGVtdXg6IFBhcnNlIE1YRlRpbWVzdGFtcCdzIG1pbGxpc2Vjb25kcyBhbmQgYWRkIF90b19zdHJpbmcoKSBmdW5jdGlvbgoKMjAwOS0wMi0xMCAxNDoyMzowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBVcGRhdGUgVE9ETwoKMjAwOS0wMi0xMiAxMDo0NjoyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkgIG1ldGFkYXRhOiBhbHNvIHBvc3QgZXJyb3IgbWVzc2FnZSB3aGVuIHJldHVybmluZyBlcnJvcgoKMjAwOS0wMi0xMSAxNzoyMzowMyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjc2NoYWxsZUBjcmF6eWhvcnNlLmxvY2FsZG9tYWluPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IGNoYW5nZXMsIGFsc28gYWRkIHNvbWUgbWlzc2luZyBkaXN0aW5nIGRpcmVjdG9yaWVzIHRvIGEgY291cGxlIG9mIE1ha2VmaWxlcy5hbSBmaWxlcwoKMjAwOS0wMi0xMSAxNzoyMToyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBGaXggY29tcGlsYXRpb24sIGFjdGl2YXRlX3NpbmtwYWQoKSBoYXMgbm8gbm90aWZ5IHBhcmFtZXRlcgoKMjAwOS0wMi0xMCAxNjoyMjo1NCAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dC1zZWxlY3RvcjogQWN0aXZhdGUgYW5kIG5vdGlmeSBwYWQgYmVmb3JlIHByb2Nlc3NpbmcgZXZlbnRzLgoJICBFdmVudHMgc2hvdWxkIHRyaWdnZXIgcGFkIHNlbGVjdGlvbiBpZiB3ZSBkb24ndCBhbHJlYWR5IGhhdmUgYW4KCSAgZXhwbGljaXRseSBzZWxlY3RlZCBwYWQsIHNvIHRoYXQgZXZlbnRzIHByaW9yIHRvIGZpcnN0IGJ1ZmZlciBkb24ndCBnZXQKCSAgbG9zdC4KCjIwMDktMDItMTEgMDE6NTQ6MDMgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFNhbml0aXplIGNvbnN0YW50cyB1c2VkIGZvciBlbGVtZW50IGZhY3RvcnkgbmFtZXMuCgoyMDA5LTAyLTExIDAxOjI0OjUxICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBVc2UgdjRsMnNyYyBhcyBkZWZhdWx0IHNvdXJjZS4KCjIwMDktMDItMTEgMDE6MDc6MDQgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy8uZ2l0aWdub3JlOgoJICBwaG90b2dyYXBoeSBpbnRlcmZhY2U6IC5naXRpZ25vcmUgZ2VuZXJhdGVkIGZpbGVzLgoKMjAwOS0wMi0xMSAwMTowMjo0MiArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LWVudW10eXBlcy5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS1lbnVtdHlwZXMuaDoKCSogd2luMzIvY29tbW9uL3Bob3RvZ3JhcGh5LWVudW10eXBlcy5jOgoJKiB3aW4zMi9jb21tb24vcGhvdG9ncmFwaHktZW51bXR5cGVzLmg6CgkgIHBob3RvZ3JhcGh5IGludGVyZmFjZTogTW92ZSBnZW5lcmF0ZWQgZmlsZXMgdG8gd2luMzIvY29tbW9uLgoKMjAwOS0wMi0xMSAwMDoyODo1MyArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9jYW1lcmFiaW4vLmdpdGlnbm9yZToKCSAgY2FtZXJhYmluOiBBZGQgLmdpdGlnbm9yZSB0byBoaWRlIGdlbmVyYXRlZCBzaWduYWwgbWFyc2hhbGxlciBmaWxlcy4KCjIwMDktMDItMTEgMDA6MTk6MjIgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEZpeCBwbHVnaW4gZGV0YWlscyB0byB1c2UgR1NUX1BBQ0tBR0VfKiB2YWx1ZXMuCgoyMDA5LTAyLTExIDAwOjE1OjQzICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBGaXggbGljZW5zZSBzcGVjaWZpZWQgaW4gcGx1Z2luIGRldGFpbHMuCgoyMDA5LTAyLTEwIDEyOjI4OjU4IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkgIGRzaG93ZGVjd3JhcHBlcjogUGFzcyBwaXhlbCBhc3BlY3QgdGhyb3VnaCBmcm9tIGRlbXV4ZXJzLCBpZiBzdXBwbGllZC4KCSAgSWYgdGhlIGluY29taW5nIGNhcHMgaGF2ZSBhIHBpeGVsLWFzcGVjdC1yYXRpbywgZW5zdXJlIGl0J3Mgc2V0IG9uIHRoZQoJICBvdXRwdXQuIENvcnJlY3RzIFBBUiBmb3IgbWFueSAoYnV0IHByb2JhYmx5IG5vdCBhbGwpIGZpbGVzLgoKMjAwOS0wMi0xMCAxMjoyNjoyNSAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJICBkc2hvd2RlY3dyYXBwZXI6IE1ha2UgYXVkaW8gZGVjb2RlcnMgaGF2ZSBTRUNPTkRBUlkgcmFuay4KCSAgVGhlc2Ugd3JhcHBlcnMgYXJlIG5vdCBpZGVhbCwgYW5kIGZvciBtYW55IG9mIHRoZXNlIGZvcm1hdHMgdGhlcmUgYXJlCgkgIGJldHRlciBnc3RyZWFtZXIgZWxlbWVudHMgYXZhaWxhYmxlLiBTbywgbWFrZSB0aGUgcmFuayBTRUNPTkRBUlkuIEluCgkgIHBhcnRpY3VsYXIsIHRoZSBtcDMgZGVjb2RlciBvbiB3aW5YUCBkb2Vzbid0IHdvcmsgdmVyeSB3ZWxsLgoKMjAwOS0wMi0xMCAxMjoxMjowMyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuYzoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2RlY3dyYXBwZXIuYzoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmM6CgkgIGRzaG93ZGVjd3JhcHBlcjogRGVsZXRlIG9sZCAuYyBmaWxlcyB0aGF0IGFyZSB1bnVzZWQKCSAgVGhlc2Ugb2xkIGZpbGVzIGFyZSBzdGFsZTsgdGhlIHBsdWdpbiB3YXMgcmV3cml0dGVuIGluIGMrKyBhZ2VzCgkgIGFnby4gTm90IHN1cmUgd2h5IHRoZXNlIGFyZSBoYW5naW5nIGFyb3VuZC4KCjIwMDktMDItMTAgMTA6MTc6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJICBicG1kZXRlY3Q6IFBhc3MgYXQgbW9zdCAyMDQ4IHNhbXBsZXMgdG8gU291bmRUb3VjaCdzIEJQTURldGVjdAoJICBJbnRlcm5hbGx5IEJQTURldGVjdCBhc3N1bWVzIHRoYXQgYXQgbW9zdCAyMDQ4IHNhbXBsZXMgYXJlIHBhc3NlZAoJICB0byBpdCBhdCBvbmNlIGFuZCBzdG9yZXMgdGhvc2UgaW4gYSBzdGFjayBhbGxvY2F0ZWQgc3RhdGljIHNpemVkCgkgIGFycmF5LiBJZiB3ZSBwYXNzIHRvbyBtYW55IHNhbXBsZXMgdGhpcyB3aWxsIHJlc3VsdCBpbiBhIGJ1ZmZlciBvdmVyZmxvdwoJICByZXN1bHRpbmcgaW4gaGVhdnkgc3RhY2sgY29ycnVwdGlvbiBhbmQgYSBjcmFzaC4gRml4ZXMgYnVnICM1NzA5OTYuCgoyMDA5LTAyLTA5IDE3OjU4OjQyIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9hY21tcDNkZWMvYWNtbXAzZGVjLmM6CgkgIGFjbW1wM2RlYzogZml4IG1ham9yIG1lbW9yeSBsZWFrcyBhbmQgY2xlYW4gdXAgY29kZS4KCSAgVW5yZWYgaW5jb21pbmcgYnVmZmVycyB3aGVuIHdlJ3JlIGRvbmUuCgkgIFJlaW5kZW50LCBjbGVhbiB1cCB3aGl0ZSBzcGFjZS4gRml4IGNvbW1lbnRzLgoKMjAwOS0wMi0wOSAxODoxNDoxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBBZnRlciBwdWxsaW5nIHRoZSBmb290ZXIgbWV0YWRhdGEgcmVzZXQgZXNzZW5jZSB0cmFjayBwb3NpdGlvbnMgdG8gMAoKMjAwOS0wMi0wOSAxNzo1NTowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBXaGVuIHRyeWluZyB0byBmaW5kIGFuIGVzc2VuY2UgdHJhY2sgcG9zaXRpb24gdHJ5IHRvIGZpbmQgcG9zaXRpb24rMSB0b28KCSAgQnkgc2VhcmNoaW5nIGZvciB0aGUgZm9sbG93aW5nIHBvc2l0aW9uIHdlIHdpbGwgYWRkIHRoZSBjb21wbGV0ZQoJICBnZW5lcmljIGNvbnRhaW5lciAoaS5lLiBhbGwgdHJhY2tzKSBhdCB0aGUgc2FtZSBwb3NpdGlvbiB0byB0aGUKCSAgaW5kZXggd2hpY2ggc2hvdWxkIG1ha2UgZmluZGluZyBwb3NpdGlvbnMgZm9yIG1vcmUgdGhhbiBvbmUgdHJhY2sKCSAgYSBiaXQgZmFzdGVyLgoKMjAwOS0wMi0wOSAxNzo0ODozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBGb3IgbmV3IGVzc2VuY2UgdHJhY2tzIG9ubHkgc2V0IHRoZSBwb3NpdGlvbiB0byAwIGlmIGl0IHN0YXJ0cyBpbiB0aGUgY3VycmVudCBwYXJ0aXRpb24KCjIwMDktMDItMDkgMTc6NDQ6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogQ2hlY2sgaWYgdGhlIGxlbmd0aCBvZiB0aGUgc3JjL2Vzc2VuY2UgdHJhY2sgYXJyYXlzIGFyZSAwLCBub3QgdGhlIGFycmF5IGl0c2VsZgoKMjAwOS0wMi0wOSAxNzoyNTozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBNYWtlIHN1cmUgdGhhdCB0aGUgc3JjcGFkIGFuZCBlc3NlbmNlIHRyYWNrIGFycmF5cyBhbHdheXMgZXhpc3QKCjIwMDktMDItMDkgMTY6MTI6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogQ2hhbmdlIHNvbWUgR1NUX0VSUk9ScyB0byBzb21ldGhpbmcgbGVzcyBjcml0aWNhbAoKMjAwOS0wMi0wOSAxNjowOToyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBPbmx5IGdvIGludG8gRU9TIGFuZCBzZW5kIHNlZ21lbnQtZG9uZSBhZnRlciBhbGwgdHJhY2tzIGFyZSBmaW5pc2hlZAoKMjAwOS0wMi0wOSAxNjowOToxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmdXAuYzoKCSAgbXhmZGVtdXg6IFVwZGF0ZSBUT0RPCgoyMDA5LTAyLTA5IDE1OjQ4OjIwICswMTAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AZmx1ZW5kby5jb20+CgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJICBGaXggYnVpbGQgZm9yIGNhbWVyYWJpbi4KCjIwMDktMDItMDkgMTI6MDI6NTAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEJ1bXAgcmV2aXNpb24gdG8gdXNlIGZvciBjb21tb24gc3VibW9kdWxlLgoKMjAwOS0wMS0zMCAxNjowOTozMCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uZ2l0aWdub3JlOgoJICBNb3JlIGZpbGVzIHRvIGlnbm9yZQoKMjAwOS0wMi0wNSAyMzowNjoyMyArMDIwMCAgTm9raWEgQ29ycG9yYXRpb24gPG11bHRpbWVkaWFAbWFlbW8ub3JnPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICB0ZXN0czogQWRkIGNhbWVyYWJpbiB1bml0IHRlc3RzLgoKMjAwOS0wMi0wNSAxNTo0ODozMiArMDIwMCAgTm9raWEgQ29ycG9yYXRpb24gPG11bHRpbWVkaWFAbWFlbW8ub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbmNvbG9yYmFsYW5jZS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbmNvbG9yYmFsYW5jZS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnBob3RvZ3JhcGh5LmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlucGhvdG9ncmFwaHkuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW54b3ZlcmxheS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnhvdmVybGF5Lmg6CgkgIEFkZCBjYW1lcmFiaW4gZWxlbWVudC4KCjIwMDktMDItMDYgMTI6MDY6MjMgKzAyMDAgIE5va2lhIENvcnBvcmF0aW9uIDxtdWx0aW1lZGlhQG1hZW1vLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHktZW51bXR5cGVzLmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LWVudW10eXBlcy5oOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBBZGQgcGhvdG9ncmFwaHkgaW50ZXJmYWNlLgoKMjAwOS0wMi0wOSAwNzozMzo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBGaXggc2Vla2luZyB0byB0aGUgZW5kIG9mIGZpbGUKCSAgV2hlbiBzZWVraW5nIHRvIGEgcG9zaXRpb24gd2hlcmUgbm8gbmV3IG9mZnNldCBjYW4gYmUKCSAgZm91bmQgb3IgYWZ0ZXIgdGhlIGVuZCBvZiBhIHRyYWNrIGRvbid0IHNldCB0aGUgRU9TIGZsYWcKCSAgdG8gVFJVRSBhcyB3ZSBkb24ndCAoYW5kIGNhbid0KSBwdXNoIEVPUyBkb3duc3RyZWFtIHRoZW4uCgkgIEluc3RlYWQgc2V0IHRoZSBjdXJyZW50IGVzc2VuY2UgdHJhY2sgcG9zaXRpb24gdG8gdGhlbgoJICBlbmQgb2YgdGhlIGVzc2VuY2UgdHJhY2sgYW5kIGxldCB0aGUgbG9vcCBvciBjaGFpbiBmdW5jdGlvbgoJICBzZXQgZXZlcnl0aGluZyB0byBFT1MgYW5kIHB1c2ggRU9TIGRvd25zdHJlYW0uCgkgIEFsc28gcmVzdGFydCB0aGUgcGFkJ3MgdGFzayBpZiByZXNvbHZpbmcgbWV0YWRhdGEgZmFpbGVkCgkgIChwbGF5YmFjayB3aWxsIGNvbnRpbnVlIGFzIGJlZm9yZSkgYW5kIHJldHVybiBGQUxTRSBmcm9tCgkgIHRoZSBzZWVrIGlmIG5vIG5ldyBvZmZzZXQgY291bGQgYmUgZm91bmQuCgoyMDA5LTAyLTA4IDIxOjUyOjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEZpeCBsYXN0X3N0b3AgY2FsY3VsYXRpb24gd2hlbiBzZWVraW5nCgoyMDA5LTAyLTA4IDIxOjMxOjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmZGVtdXg6IFJlc29sdmUgc291cmNlIHBhY2thZ2UgYmVmb3JlIGFjY2Vzc2luZyBpdCdzIG1lbWJlcnMKCjIwMDktMDItMDggMjE6MjM6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIG14ZmRlbXV4OiBDb3JyZWN0bHkgaW1wbGVtZW50IHRpbWVzdGFtcGluZyBpbiBhbGwgY2FzZXMKCSAgV2hlbiB0aGUgbWF0ZXJpYWwgcGFja2FnZSB0cmFjayBhbmQgc291cmNlIHBhY2thZ2UgdHJhY2sKCSAgZWRpdCByYXRlIGFyZSBkaWZmZXJlbnQgdGhlIHNvdXJjZSBwYWNrYWdlIHRyYWNrIGVkaXQKCSAgcmF0ZSBhcHBsaWVzIHRvIHRoZSBzdG9yZWQgZXNzZW5jZSBhbmQgdGhlIG1hdGVyaWFsIHRyYWNrCgkgIGVkaXQgcmF0ZSBvbmx5IGFwcGxpZXMgdG8gdGhlIHZhbHVlcyBpbiB0aGUgdHJhY2sncyBzZXF1ZW5jZQoJICBhbmQgY29tcG9uZW50cy4KCjIwMDktMDItMDggMjE6MjI6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogQ29ycmVjdGx5IGhhbmRsZSBEVVJBVElPTiBxdWVyaWVzIHdpdGggYSBuZWdhdGl2ZSBkdXJhdGlvbgoKMjAwOS0wMi0wOCAyMToxNzoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBXaGVuIGNoYW5naW5nIHRvIHRoZSBjb21wb25lbnQgYWZ0ZXIgdGhlIGxhc3QgY29tcG9uZW50IHVwZGF0ZSB0aGUgZXNzZW5jZSB0cmFjayBwb3NpdGlvbgoKMjAwOS0wMi0wOCAyMToxMjoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBTbWFsbCBjbGVhbnVwIGFuZCBhbiBhZGRpdGlvbmFsIGNoZWNrCgkgIFVwZGF0ZSBUT0RPIGxpc3QsIHJlZHVjZSBzaXplIG9mIGEgc3RhY2sgYWxsb2NhdGVkIHN0cmluZwoJICBhbmQgZG9uJ3QgYWxsb3cgZXNzZW5jZSB0cmFja3Mgd2l0aCBhbiBpbnZhbGlkIGVkaXQgcmF0ZQoKMjAwOS0wMi0wOCAwNzozMDo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZmRlbXV4OiBGb3IgbWF0ZXJpYWwgcGFja2FnZXMgbWFrZSBzdXJlIHRoYXQgdHJhY2tzIHJlc29sdmUgdG8gc291cmNlIHRyYWNrcwoKMjAwOS0wMi0wNyAxMDozODoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5oOgoJKiBnc3QvbXhmL214ZnZjMy5jOgoJICBteGZkZW11eDogQWRkIHN1cHBvcnQgZm9yIG5vbi1zdGFuZGFyZCBBdmlkIE1YRiBmaWxlcyBjb250YWluaW5nIEROeEhEIGVzc2VuY2UKCSAgQXZpZCB1c2VzIGEgY3VzdG9tIGVzc2VuY2UgY29udGFpbmVyIFVMIGFuZCBjdXN0b20gZXNzZW5jZSBlbGVtZW50IGtleXMKCSAgdGhhdCBhcmUgZm9ydHVuYXRlbHkgY29tcGF0aWJsZSB3aXRoIHRoZSBnZW5lcmljIGNvbnRhaW5lciBlc3NlbmNlCgkgIGVsZW1lbnRzLiBQYXJ0aWFsbHkgZml4ZXMgYnVnICM1NjE5MjIuCgoyMDA5LTAyLTA3IDEwOjEzOjU0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBteGZkZW11eDogTWFrZSBlc3NlbmNlIHRyYWNrIGNyZWF0aW9uIGEgYml0IG1vcmUgcm9idXN0IGFnYWluc3QgYnJva2VuIGZpbGVzCgkgIFNvbWUgZmlsZXMgY29udGFpbiBtdWx0aXBsZSB0cmFja3Mgd2l0aCB0aGUgc2FtZSB0cmFjayBudW1iZXIgYnV0IGRpZmZlcmVudAoJICB0cmFjayBpZCBpbnNpZGUgdGhlIHNhbWUgc291cmNlIHBhY2thZ2UuIFRoaXMgaXMgaW52YWxpZCBhbmQgd2Ugc2ltcGx5IGlnbm9yZQoJICB0aGUgc2Vjb25kIGFuZCBmb2xsb3dpbmcgb2Ygc3VjaCB0cmFhY2tzIG5vdyBpbnN0ZWFkIG9mIG92ZXJ3cml0aW5nIHRoZQoJICBpbmZvcm1hdGlvbiBvZiB0aGUgZmlyc3Qgb25lLgoKMjAwOS0wMi0wNyAxMDowMzoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZmRlbXV4OiBEb24ndCBpbmNsdWRlIG11bHRpcGxlIGRlc2NyaXB0b3JzIGluIHRoZSB0cmFjaydzIGRlc2NyaXB0b3JzCgoyMDA5LTAyLTA3IDA5OjI3OjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZHYtZGlmLmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5oOgoJICBteGZkZW11eDogQWRkIHN1cHBvcnQgZm9yIG5vbi1zdGFuZGFyZCBBdmlkIE1YRiBmaWxlcyBjb250YWluaW5nIERWIGVzc2VuY2UKCSAgQXZpZCB1c3VhbGx5IHVzZXMgYSBjdXN0b20gZXNzZW5jZSBjb250YWluZXIgbGFiZWwgZm9yIHRoZSBlc3NlbmNlCgkgIGRlc2NyaXB0b3JzIGFuZCBzdG9yZXMgdGhlIGFjdHVhbCBjb2RlYyB0aGF0IGlzIHVzZWQgaW5zaWRlIHRoZQoJICBwaWN0dXJlIGVzc2VuY2UgY29kaW5nIGZpZWxkIChhbmQgZm9yIHNvdW5kIHByb2JhYmx5IGluIHRoZSBzb3VuZAoJICBlc3NlbmNlIGNvZGluZyBmaWVsZCBidXQgSSBoYXZlIG5vIHNhbXBsZSBmaWxlcyB3aXRoIHNvdW5kKS4KCSAgUGFydGlhbGx5IGZpeGVzIGJ1ZyAjNTYxOTIyLgoKMjAwOS0wMi0wNiAxMTo1Nzo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZmRlbXV4OiBBZGQgZGF0YSBkZWZpbml0aW9uIGZvciBBdmlkIHZlbmRvciBzcGVjaWZpYyBwaWN0dXJlIGVzc2VuY2UKCjIwMDktMDItMDYgMTE6NTU6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogRm9yIHRyYWNrcyB3aXRoIG5vIGtub3duIG1hcHBpbmcgdXNlIGR1bW15IGNhcHMKCjIwMDktMDItMDYgMTE6MjE6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogRG9uJ3QgcmVtb3ZlIGludmFsaWQgbmV3IGVzc2VuY2UgdHJhY2sgdHdpY2UgZnJvbSB0aGUgR1B0ckFycmF5CgoyMDA5LTAyLTA2IDExOjA5OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJICBteGZkZW11eDogSW1wbGVtZW50IGtleWZyYW1lIGRldGVjdGlvbiBmb3IgTVBFRzQgdmlkZW8gc3RyZWFtcwoKMjAwOS0wMi0wNiAxMDo0Njo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBIYW5kbGUgc29tZSBtb3JlIHNwZWNpYWwgY2FzZXMgd2hlbiBzZXR0aW5nIHRoZSBwb3NpdGlvbiB3aGVuIHNlZWtpbmcKCjIwMDktMDItMDYgMTA6NDY6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogQWRqdXN0IGxhc3Rfc3RvcCB0byB0aGUgbGFzdCBrZXlmcmFtZSB3aGVuIHNlZWtpbmcKCjIwMDktMDItMDYgMTA6MDY6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogRml4IGxvZ2ljIGZvciBmaW5kaW5nIHRoZSBwcmV2aW91cyBrZXlmcmFtZQoKMjAwOS0wMi0wNiAwOTo1MzoxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmQxMC5jOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L214Zi9teGZtcGVnLmg6CgkgIG14ZmRlbXV4OiBBZGQga2V5ZnJhbWUgZGV0ZWN0aW9uIGZvciBNUEVHMiB2aWRlbyBzdHJlYW1zCgkgIFRoaXMgaXMgdXNlZnVsIGZvciBzZWVraW5nIGFzIHdlIHVzdWFsbHkgd2FudCB0byBzZWVrIHRvIHRoZSBwcmV2aW91cwoJICBrZXlmcmFtZS4gVGhlIGtleWZyYW1lIGRldGVjdGlvbiBpcyBkb25lIGJ5IHBhcnNpbmcgdGhlIE1QRUcyCgkgIGVsZW1lbnRhcnkgc3RyZWFtIGFuZCBpZiBhIEdPUCBvciBJLWZyYW1lIHBhY2tldCBpcyBmb3VuZCB3ZQoJICBhc3N1bWUgYSBrZXlmcmFtZSBpbiB0aGlzIGVkaXQgdW5pdC4KCjIwMDktMDItMDUgMjE6Mjk6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIG14ZmRlbXV4OiBQcm90ZWN0IHRoZSBtZXRhZGF0YSB3aXRoIGEgbG9jayBhZ2FpbnN0IGNvbmN1cnJlbnQgYWNjZXNzCgoyMDA5LTAyLTA1IDE3OjQyOjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIFJhbmRvbSBjbGVhbnVwIGFuZCBzbWFsbGVyIGJ1Z2ZpeGVzCgkgIFVzZSBnc3RfZWxlbWVudF9rbGFzc19zZXRfZGV0YWlsc19zaW1wbGUoKSwgaW5zdGFsbCBwcm9wZXJ0aWVzCgkgIHdpdGggc3RhdGljIHN0cmluZ3MsIGNyZWF0ZSBwYWRzIGRpcmVjdGx5IGZyb20gdGhlIHN0YXRpYyBwYWQKCSAgdGVtcGxhdGVzLCBkaXJlY3RseSBwdXQgdGhlIHNlZ21lbnQgaW50byB0aGUgaW5zdGFuY2Ugc3RydWN0LAoJICB1c2UgR1NUX01TRUNPTkQgaW5zdGVhZCBvZiBudW1iZXJzLgoJICBUaGUgUEFSIGlzIGEgR3N0RnJhY3Rpb24gYW5kIG5vdCBhIGRvdWJsZSwgdXNlIGdzdF9zdHJ1Y3R1cmVfZ2V0X2ZyYWN0aW9uKCkuCgkgIFNpbXBsaWZ5IHNldGNhcHMoKSBmdW5jdGlvbnMuCgoyMDA5LTAyLTA1IDE3OjAwOjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvTWFrZWZpbGUuYW06CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIFVzZSBHU1RfVklERU9fQ0FQU19SR0IgZm9yIHRoZSB0ZW1wbGF0ZSBjYXBzCgoyMDA5LTAyLTA1IDE2OjU3OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAwOS0wMi0wNSAxNjo1NDowMSArMDEwMCAgQmVuamFtaW4gU2NobWl0eiA8dm9ydGV4QHdvbHB6b25lLmRlPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9hc3NyZW5kZXIvTWFrZWZpbGUuYW06CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIEFkZCBhc3NyZW5kZXIgcGx1Z2luIGZvciByZW5kZXJpbmcgQVNTL1NTQSBzdWJ0aXRsZXMKCSAgVGhpcyBlbGVtZW50IGhhcyB0aGUgYWR2YW50YWdlIG92ZXIgc3VicGFyc2UncyBBU1MvU1NBCgkgIHN1cHBvcnQgdGhhdCBtb3JlIGZlYXR1cmVzIGFyZSBzdXBwb3J0ZWQsIGxpa2UgZmFkaW5nLAoJICBieSB1c2luZyBsaWJhc3MuIEZpeGVzIGJ1ZyAjNDgxMDc1LgoKMjAwOS0wMi0wNSAxMDo1MDoyNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9tZXRhZGF0YS5jOgoJICBtZXRhZGF0YSB0ZXN0OiBGaXggd3JvbmcgbG9vcGluZyB2YXJpYWJsZS4gVGVzdCBpcyBub3cgdmFsaWQgKGJ1dCBmYWlscykuCgkgIFRoZSBpbm5lciBsb29waW5nIHdhcyB1c2luZyB0aGUgb3V0ZXIgbG9vcGluZyB2YXJpYWJsZS4KCjIwMDktMDItMDQgMTg6MTE6MDMgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkgIEZpeCB1cCB0aGluZ3MgdGhhdCB0aGUgaW5kZW50IHRoaW5neSBjb21wbGFpbmVkIGFib3V0CgoyMDA5LTAyLTA0IDE4OjA5OjU4IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJICBGaXggbWFqb3IgbGVha3MgaW4gcXR3cmFwcGVyIGF1ZGlvIGRlY29kZXJzLgoJICBGcmVlIHRoZSBkZWNvZGVyIGNvbXBvbmVudCBhbmQgYXVkaW9idWZmZXJsaXN0IHdoZW4gY2FwcyBjaGFuZ2UsIG9yIHdoZW4KCSAgZGlzcG9zaW5nIGVsZW1lbnQuCgoyMDA5LTAyLTA0IDE3OjUwOjUxIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvZmFrZXNyYy5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvZmFrZXNyYy5oOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuaDoKCSAgSGFuZGxlIG1hbnkgbW9yZSBlZGdlIGNhc2VzIGluIGRzaG93dmlkZW9zaW5rLgoJICBJbnN0cnVtZW50IHZhcmlvdXMgY29kZXBhdGhzIHdpdGggZGVidWcgbWVzc2FnZXMuCgkgIEhhbmRsZSAoYXMgYmVzdCBhcyBJIGNvdWxkIHNlZSBob3cgLSBpdCdzIHByZXR0eSBuYXN0eSkgbW92aW5nIGEgdmlkZW8KCSAgd2luZG93IHRvIGFub3RoZXIgbW9uaXRvci4KCSAgQWRkIGxpc3RlbmluZyBmb3IgZGlyZWN0c2hvdyBldmVudHMuCgoyMDA5LTAyLTA0IDIyOjUwOjMwICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBtcGVncHNkZW11eDogZml4ZXMgY2xvc3Npbmcgc2VnbWVudCBnZW5lcmF0aW9uLgoJICBFbnN1cmUgdGhhdCB0aGUgY2xvc3Npbmcgc2VnbWVudCBpcyBnZW5lcmF0ZWQgY29ycmVjdGx5IGFuZCBiZWluZwoJICBwcm9wZXJseSBwdXNoZWQuCgkgIEFkZGVkIHNvbWUgR1NUX0RFQlVHIHRvIGNoZWNrIGl0LgoJICBFbnN1cmUgdGhhdCBsYXN0X3N0b3AgaXMgdXBkYXRlZCBpbiBzdHJlYW0gdGltZS4KCSAgQ2FsY3VsYXRlIGR1cmF0aW9uIGFzIGRlbHRhIG9mIFBUUyBhcyBpdCBzZWVtcyBtb3JlIGNvcnJlY3QgdGhhbiBkZWx0YQoJICBvZiBTQ1IgaW4gc29tZSBjbGlwcyB0aGF0IEkgdGVzdGVkLgoKMjAwOS0wMi0wNCAyMjoxNzozNiArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IHNldmVyYWwgZml4ZXMgb24gdGhlIHNlZWtpbmcgZnVuY3Rpb24gaW4gcHVsIG1vZGUuCgkgIFJlbW92ZWQgYSBsaW5lIHdyb25nbHkgY29weSBwYXN0ZWQgaW4gbXkgcHJldmlvdXMgY29tbWl0LgoJICBBdm9pZCBhbiB1bnNpZ25lZCBpbnRlZ2VyIG92ZXJmbG93LgoJICBTZWVrIGxhc3Rfc3RvcCBpbiBzdHJlYW0gdGltZS4KCSAgQ2xhbXAgbGFzdF9zdG9wIGluIHN0cmVhbSB0aW1lIGJldHdlZW4gZmlyc3QgYW5kIGxhc3QgU0NSLgoJICBGaXhlZCBhIHR5cG8gaW4gdGhlIEdTVF9ERUJVRyBsaW5lIGFuZCBhZGRlZCBzb21lIG1vcmUgaW5mby4KCjIwMDktMDItMDQgMTY6MjA6NDAgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIE1vdmVkIHZhciBkZWNsYXJhdGlvbnMgdG8gdGhlIGJlZ2luIG9mIGZ1bmN0aW9uCgoyMDA5LTAyLTA0IDE2OjE4OjI3ICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJICBNZXJnZSBicmFuY2ggJ21hc3Rlcicgb2Ygc3NoOi8vZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWJhZAoKMjAwOS0wMi0wNCAxNjoxMToyMyArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgSW1wcm92ZWQgc2Vla2luZyBpbiBwdWxsIG1vZGUuIFNvbWUgcmVmYWN0b3JpbmcgYW5kIHNtYWxsIGZpeGVzCgoyMDA5LTAyLTA0IDExOjExOjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgVXBkYXRlIFRPRE8KCjIwMDktMDItMDQgMTE6MDk6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGYuYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIFBvc3QgYW4gVU1JRCB0YWcgd2l0aCB0aGUgY3VycmVudCBwYWNrYWdlJ3MgVU1JRAoKMjAwOS0wMi0wNCAxMDo1OTo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIFJlc2V0IHRoZSBjdXJyZW50IHBhcnRpdGlvbiBhZnRlciBzZWVraW5nIGFuZCBORVdTRUdNRU5UIGV2ZW50cwoKMjAwOS0wMi0wNCAxMDo1Mzo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIEluIHB1c2ggbW9kZSBwbGF5IGFsbCByZW1haW5pbmcgcGFydHMgb2YgdGhlIGZpbGUgb24gRU9TIGlmIHRoZXJlIGFyZSBhbnkKCjIwMDktMDItMDQgMTA6Mzc6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIEFkZCBwcm9wZXJ0eSB0byBzZXQgdGhlIG1heGltdW0gYWxsb3dlZCB0aW1lIGRpZmZlcmVuY2UgYmV0d2VlbiB0cmFja3MKCjIwMDktMDItMDQgMTA6Mjc6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBBbHdheXMgc2V0IHRoZSBjdXJyZW50IHBhY2thZ2UsIG5vdCBvbmx5IHdoZW4gaXQgd2FzIGNoYW5nZWQKCSAgVGhpcyBpcyBuZWNlc3NhcnkgYXMgdGhlIGN1cnJlbnQgcGFja2FnZSBsaW5rIHdpbGwgYmUgc2V0IHRvIE5VTEwKCSAgd2hlbiB1cGRhdGVkIG1ldGFkYXRhIGlzIHBhcnNlZCBhbmQgc2hvdWxkIGJlIHNldCBoZXJlIGFnYWluLgoKMjAwOS0wMi0wNCAxMDoxOTo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIFRyeSB0byByZXNvbHZlIGFsbCBzeW5jaHJvbml6YXRpb24gaXNzdWVzLCBub3Qgb25seSB0aGUgZmlyc3QKCjIwMDktMDItMDMgMTc6NDc6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBSZW1vdmUgc29tZSBjaGVja3MgdGhhdCB3aWxsIGFsd2F5cyBiZSBUUlVFCgoyMDA5LTAyLTAzIDIyOjI3OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBidW1wIGNvcmUvYmFzZSByZXF1aXJlbWVudHMgdG8gcmVsZWFzZWQgdmVyc2lvbnMKCjIwMDktMDItMDIgMjM6Mjk6MjQgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBBbHNvIGZsdXNoIHBhcnNlciB3aGVuIGEgbmV3c2VnbWVudCBpcyByZWNlaXZlZC4gRml4ZXMgbG9vcCBpbiByZXZlcnNlIG1vZGUuCgoyMDA5LTAyLTAyIDIzOjEyOjA3ICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkgIEFkZCBwdWxsIG1vZGUgdG8gbXBlZ3BzZGVtdXggYW5kIHJlcG9ydCBkdXJhdGlvbiByZWFkaW5nIGZpcnN0IGFuZCBsYXN0IFBUUy4gU29tZSByYW5kb20gY2xlYW51cHMuCgoyMDA5LTAyLTAyIDE3OjQ0OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgQ2xlYW51cCBwbGF5YmFjayBwYWNrYWdlIHNlbGVjdGlvbiBhbmQgbm90aWZ5IGFib3V0IHRoZSBjdXJyZW50IHBhY2thZ2UKCjIwMDktMDItMDIgMTY6MjM6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBVcGRhdGUgdGFncyBwcm9wZXJseSwgZXNwZWNpYWxseSBvbiBjb21wb25lbnQgc3dpdGNoCgoyMDA5LTAyLTAyIDE2OjA1OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgRXJyb3Igb3V0IGlmIG5vIHBhZHMgY291bGQgYmUgY3JlYXRlZAoKMjAwOS0wMi0wMiAxNTo1NDoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIFJlc29sdmUgbWV0YWRhdGEgYW5kIHVwZGF0ZSB0cmFja3MgaWYgbmVjZXNzYXJ5IGJlZm9yZSBzZWVraW5nCgoyMDA5LTAyLTAyIDE1OjU0OjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgRG9uJ3QgZ28gYWZ0ZXIgdGhlIGxhc3QgY29tcG9uZW50IG9mIGEgdHJhY2sKCjIwMDktMDItMDIgMTU6NTM6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBSZXR1cm4gYW4gZXJyb3IgaWYgdXBkYXRpbmcgYW4gYWxyZWFkeSBleGlzdGluZyBwYWQgZmFpbHMKCjIwMDktMDItMDIgMDc6NDQ6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBGaXggc2Vla2luZyBpZiB0aGUgc291cmNlIGNsaXAgZHVyYXRpb24gaXMgdW5rbm93bgoKMjAwOS0wMi0wMSAxNjo1OToyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIHNlZWtpbmcgaW4gcHVzaCBtb2RlCgoyMDA5LTAyLTAxIDE2OjU4OjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgRml4IGRlYWRsb2NrcyB3aGVuIHNlZWtpbmcgaW4gcHVsbCBtb2RlIGZhaWxlZCBhbmQgY2hlY2sgbmV3IG9mZnNldCBiZWZvcmUgdXNpbmcgaXQKCjIwMDktMDItMDEgMTY6NTg6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBVcGRhdGUgb2Zmc2V0IGluIHB1c2ggbW9kZSBhbmQgaGFuZGxlIGV2ZW50cyBwcm9wZXJseQoKMjAwOS0wMi0wMSAxNTowNzowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgSW1wbGVtZW50IGluaXRpYWwgc2Vla2luZyBzdXBwb3J0IChwdWxsIG1vZGUgb25seSkKCjIwMDktMDEtMzEgMTE6Mjk6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIERvbid0IHVzZSBHTGliIDIuMTYgQVBJIHVuY29uZGl0aW9uYWxseQoKMjAwOS0wMS0zMCAxOTo1Mjo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIENoZWNrIGZvciBFT1Mgb24gYWxsIHBhZHMgYWZ0ZXIgYWRqdXN0aW5nIHRoZSBlc3NlbmNlIHRyYWNrIGR1cmF0aW9ucwoKMjAwOS0wMS0zMCAxOTozMzo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIEZpeCBkdXJhdGlvbiBjYWxjdWxhdGlvbiBmb3IgZXNzZW5jZSB0cmFja3MKCjIwMDktMDEtMzAgMTU6NTA6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBJbXBsZW1lbnQgR3N0RWxlbWVudDo6cXVlcnkvZ2V0X3F1ZXJ5X3R5cGVzIHZmdW5jcwoKMjAwOS0wMS0zMCAxNTozNDoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIFJlc2V0IGFsbCBpbnRlcm5hbCBzdGF0ZSBpbiBmaW5hbGl6ZQoKMjAwOS0wMS0yOSAyMDoyNzoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIEltcHJvdmUgRU9TIGRldGVjdGlvbiBhbmQgZml4IHB1c2ggbW9kZSBmb3IgdGhlIGxhc3QgcHVzaGVkIGluIGJ1ZmZlcgoKMjAwOS0wMS0yOSAxOTo1ODo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgS2VlcCB0cmFjayBvZiBlc3NlbmNlIHRyYWNrIHBvc2l0aW9uIHdoZW4gcGxheWluZyBzb3VyY2UgcGFja2FnZXMKCSAgVGhpcyBlbnN1cmVzIHRoYXQgdGhlIGNvcnJlY3QgZXNzZW5jZSBlbGVtZW50cyBhcmUgcGxheWVkIGFuZAoJICB0aGF0IHdlIHNlZWsgdG8gdGhlIGNvcnJlY3QgZXNzZW5jZSBlbGVtZW50cy4KCjIwMDktMDEtMjkgMTk6NDI6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIENvbXBlbnNhdGUgZm9yIHRpbWVzdGFtcC9kdXJhdGlvbiByb3VuZGluZyBlcnJvcnMKCjIwMDktMDEtMjkgMTU6NTY6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBJbXByb3ZlIEVPUyBsb2dpYyB0byBjaGVjayBhbGwgcGFkcyB3aGVuIHB1bGxpbmcgYSBwYWNrZXQgcmV0dXJuZWQgRU9TCgkgIFRoaXMgbWFrZXMgc3VyZSB0aGF0IHdlIGZpbmlzaCBhbGwgcGFkcyB0aGF0IGFyZSBhdCBFT1Mgbm93IGluc3RlYWQgb2YKCSAganVzdCBmaW5pc2hpbmcgb25lIGFuZCByZXR1cm5pbmcgdG8gdGhpcyBwb2ludCBvdmVyIGFuZCBvdmVyIGFnYWluLgoKMjAwOS0wMS0yOSAxNTo1NTo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIE9ubHkgcHVzaCBidWZmZXJzIGZvciBwYWRzIHRoYXQgYXJlIG5vdCBtb3JlIHRoYW4gNTAwbXMgYmVmb3JlIG90aGVyIHBhZHMKCjIwMDktMDEtMjkgMTU6Mzk6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBJbXByb3ZlIEVPUyBsb2dpYyB0byBvbmx5IGdvIGludG8gRU9TIGFmdGVyIGFsbCB0cmFja3MgYXJlIGZpbmlzaGVkCgoyMDA5LTAxLTI4IDE3OjM0OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgVXBkYXRlIFRPRE8gbGlzdAoKMjAwOS0wMS0yOCAxNjozOTozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIFRyeSB0byBrZWVwIHRoZSB0aW1lc3RhbXAgZGlmZmVyZW5jZSBiZXR3ZWVuIHRyYWNrcyBsb3dlciB0aGFuIDUwMG1zCgoyMDA5LTAxLTI3IDE1OjM2OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgRml4IHBsYXliYWNrIG9mIGF0b20gZmlsZXMKCjIwMDktMDEtMjcgMTU6Mjc6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBLZWVwIHRyYWNrIG9mIGN1cnJlbnQgcGxheWJhY2sgcG9zaXRpb24KCjIwMDktMDEtMjcgMTQ6Mzg6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBTZXQgZXNzZW5jZSB0cmFjayBwb3NpdGlvbnMgdG8gMCBpZiB3ZSdyZSBhdCB0aGUgc3RhcnQgcGFydGl0aW9uCgoyMDA5LTAxLTI3IDE0OjI1OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmFsYXcuYzoKCSogZ3N0L214Zi9teGZkMTAuYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkqIGdzdC9teGYvbXhmZHYtZGlmLmM6CgkqIGdzdC9teGYvbXhmanBlZzIwMDAuYzoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSogZ3N0L214Zi9teGZ1cC5jOgoJKiBnc3QvbXhmL214ZnZjMy5jOgoJICBHZW5lcmF0ZSBhbiBpbmRleCB0YWJsZSBmb3IgZXNzZW5jZSBzdHJlYW1zCgkgIEdlbmVyYXRlIGFuIGluZGV4IHRhYmxlIGZvciBlc3NlbmNlIHN0cmVhbXMgZHVyaW5nIHBsYXliYWNrCgkgIGFuZCBtYWtlIHN1cmUgdGhhdCBvbmx5IHRoZSBjb3JyZWN0IGVzc2VuY2UgZWxlbWVudHMgYXJlCgkgIHVzZWQgZm9yIHBsYXllZCB0cmFja3MuCgkgIE1ha2UgaXQgcG9zc2libGUgdG8gaGF2ZSBvbmUgZXNzZW5jZSBzdHJlYW0gdXNlZCBpbiBtdWx0aXBsZQoJICBwbGF5YmFjayB0cmFja3MuCgkgIEZpeCBzb21lIG1pbm9yIGJ1Z3MuCgoyMDA5LTAxLTI3IDE0OjIzOjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgRG9uJ3QgY29tcGxhaW4gaWYgdGhlIHByZWZhY2UgaGFzIG5vIHByaW1hcnkgcGFja2FnZSBzZXQKCjIwMDktMDEtMjYgMTY6MjM6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkgIEFsbG93IGluZGV4IHRhYmxlIHNlZ21lbnRzIHdpdGhvdXQgcHJpbWVyIHBhY2sKCSAgV2hlbiBwYXJzaW5nIGFuIGluZGV4IHRhYmxlIHNlZ21lbnQgd2l0aG91dCBhIHZhbGlkCgkgIHByaW1lciBwYWNrIGluIHRoaXMgcGFydGl0aW9uIG9ubHkgcGFyc2UgdGhlIHN0YXRpYwoJICBsb2NhbCB0YWdzIGFuZCBpZ25vcmUgYWxsIGR5bmFtaWMgb25lcy4KCSAgVGhpcyBhbGxvd3MgdXMgdG8gdXNlIGluZGV4IHRhYmxlIHNlZ21lbnRzIGluIHNvbWUKCSAgYnJva2VuIGZpbGVzLgoKMjAwOS0wMS0yNiAxNjoyMDozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgQWRkIGVzc2VuY2UgdHJhY2sgYWJzdHJhY3Rpb24KCSAgQWRkIGFuIGFic3RyYWN0aW9uIHRvIHJlcHJlc2VudCBlc3NlbmNlIHRyYWNrcyBhbmQKCSAgdXNlIHRoaXMgZXZlcnl3aGVyZS4gVGhpcyB3aWxsIGxhdGVyIGJlIHVzZWQgdG8ga2VlcAoJICB0cmFjayBvZiBwb3NpdGlvbnMgYW5kIHRvIGdlbmVyYXRlL2hhbmRsZSBzZWVrIHRhYmxlcy4KCSAgU29tZSByYW5kb20gY2xlYW51cCBhbmQgcmVuYW1pbmcuCgoyMDA5LTAxLTI2IDE0OjQ3OjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSAgRml4IHBhcnNpbmcgb2YgaW5kZXggdGFibGUgc2VnbWVudHMKCSAgQWxsb2NhdGUgbWVtb3J5IGZvciB0aGUgcG9zIHRhYmxlcyBhbmQgc2xpY2Ugb2Zmc2V0cwoJICBvZiB0aGUgaW5kZXggZW50cmllcyBzZXBhcmF0ZWx5IHRvIGEpIGZpeCBhbGlnbm1lbnQgaW4KCSAgd2VpcmQgY2FzZXMgYW5kIGIpIHRvIGFjdHVhbGx5IGhhdmUgc29tZXRoaW5nIHRvIGZyZWUoKQoJICBpbiB0aGUgaW5kZXggdGFibGUgc2VnbWVudCByZXNldCBmdW5jdGlvbi4KCjIwMDktMDEtMjYgMTQ6MzM6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIEltcHJvdmUgZGV0ZWN0aW9uIG9mIHRoZSBlbmQgb2YgdGhlIGhlYWRlciBtZXRhZGF0YQoJICBIZWFkZXIgbWV0YWRhdGEgaXMgZmluaXNoZWQgYWZ0ZXIgcGFydGl0aW9uLmhlYWRlcl9ieXRlX2NvdW50CgkgIGJ5dGVzIGFmdGVyIHRoZSBmaXJzdCBieXRlIG9mIHRoZSBwcmltZXIgcGFjayBhcmUgaGFuZGxlZC4KCSAgQWZ0ZXIgdGhpcyB0aGVyZSBjYW4gb25seSBiZSBpbmRleCB0YWJsZSBzZWdtZW50cywgZmlsbGVyIHBhY2tldHMsCgkgIGVzc2VuY2Ugb3IgdGhlIHN0YXJ0IG9mIHRoZSBuZXh0IHBhcnRpdGlvbi4KCSAgVGhpcyBmaXhlcyBwbGF5YmFjayBvZiBzb21lIGZpbGVzIHRoYXQgaGF2ZSBub24tc3RhbmRhcmQgbWV0YWRhdGEKCSAgcGFja2V0cyBpbiB0aGUgaGVhZGVyIG1ldGFkYXRhLgoKMjAwOS0wMS0zMCAxODoyNzowMyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBVbnJlZiBldmVudCBpZiB3ZSBkb24ndCBmb3J3YXJkIGl0LCB1bnJlZiBwYWRzIHdoZW4gZG9uZSB3aXRoIHRoZW0uCgoyMDA5LTAxLTMwIDIyOjI4OjExICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICBBZGQgcmVsZWFzZWluZm8gd2l0aCBvbmxpbmUgdXJsLgoKMjAwOS0wMS0zMCAxODoyMDoxNyArMDAwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkgIEZpeCBjb21waWxhdGlvbiBvbiBGb3J0ZS4KCSAgRGVyZWZlcmVuY2UgdGhlIHBvaW50ZXIgdG8gdGhlIHBhc3NlZCBzb2NrZXQgdG8gY2hlY2sgdGhlIGFjdHVhbCBmZAoJICB3aGVuIGNsb3NpbmcgdGhlbS4KCSAgQ2FzdCBhbiBhc3NpZ25tZW50IHRvIGtpbGwgYSB3YXJuaW5nLgoKMjAwOS0wMS0zMCAxODoxODoxMCArMDAwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgRml4IHRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIGRlZmF1bHQgcGFyc2VfZnJhbWUgZnVuY3Rpb24uCgkgIEZpeCB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoZSBkZWZhdWx0IHBhcnNlX2ZyYW1lIGZ1bmN0aW9uIGluIGJvdGgKCSAgY29waWVzIG9mIEdzdEJhc2VQYXJzZQoKMjAwOS0wMS0zMCAxNzozMTozMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBCdW1wIGNvbW1vbgoKMjAwOS0wMS0zMCAwODo1NDo0MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgVXNlIGEgc3ltYm9saWMgbGluayBmb3IgdGhlIHByZS1jb21taXQgY2xpZW50LXNpZGUgaG9vawoKMjAwOS0wMS0yOSAxNzo1OTozNSAtMDIwMCAgVGhpYWdvIFNvdXNhIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSogc3lzL3F0d3JhcHBlci9jb2RlY21hcHBpbmcuaDoKCSogc3lzL3F0d3JhcHBlci9xdHV0aWxzLmg6CgkqIHN5cy9xdHdyYXBwZXIvcXR3cmFwcGVyLmg6CgkgIHF0d3JhcHBlcjogRml4ZXMgYnVpbGQgYXQgY2FzZSBzZW5zaXRpdmUgc3lzdGVtcy4KCjIwMDktMDEtMjggMTI6NDE6MzYgKzAwMDAgIEpvc2VwIFRvcnJhIDxqb3NlcEBmbHVlbmRvLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkgIG1wZWdkZW11eDogZG8gbm90IHNraXAgcGVzIHBhY2tldHMgdGhhdCB3ZSB0aGluayBhcmUgZW5jcnlwdGVkCgkgIHBlcyBwYWNrZXRzIHRoYXQgY2xhaW0gdG8gYmUgZW5jcnlwdGVkIG1heSBub3QgYmUgc28sIHNvIHRyZWF0IGFzIG5vcm1hbC4KCSAgSnVzdCBsb2cgdGhlIGZsYWdzLgoKMjAwOS0wMS0yOCAxMzoyNToxNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgQWRkaXRpb25hbCBtZWRpYSB0eXBlIHN1cHBvcnQgaW4gcXRtdXggKGFuZCBmcmllbmRzKS4KCSAgU3VwcG9ydCBBTVIgYW5kIEgyNjMgZm9yIGJvdGggcXRtdXggYW5kIGdwcG11eCwKCSAgYW5kIGFkZCBleHRlbnNpb25zIGluIHNhbXBsZSB0YWJsZSBkZXNjcmlwdGlvbi4KCjIwMDktMDEtMjggMTI6Mjc6NDIgKzAwMDAgIFphaGVlciBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBjb21tb246CgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkgIFJldmVydCAibXBlZ2RlbXV4OiBkbyBub3Qgc2tpcCBwZXMgcGFja2V0cyB0aGF0IHdlIHRoaW5rIGFyZSBlbmNyeXB0ZWQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDNlNGU1NTk4ZjZjM2RiNDQ0ZDAwMTQ1OTdkMzgzZWQzNWEwMjk5OC4KCjIwMDktMDEtMjggMTI6MDY6NDkgKzAwMDAgIEpvc2VwIFRvcnJhIDxqb3NlcEBmbHVlbmRvLmNvbT4KCgkqIGNvbW1vbjoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSAgbXBlZ2RlbXV4OiBkbyBub3Qgc2tpcCBwZXMgcGFja2V0cyB0aGF0IHdlIHRoaW5rIGFyZSBlbmNyeXB0ZWQKCSAgcGVzIHBhY2tldHMgdGhhdCBjbGFpbSB0byBiZSBlbmNyeXB0ZWQgbWF5IG5vdCBiZSBzbywgc28gdHJlYXQgYXMgbm9ybWFsLgoJICBKdXN0IGxvZyB0aGUgZmxhZ3MuCgoyMDA5LTAxLTI0IDE4OjEzOjM5ICswMTAwICBIYW5zIGRlIEdvZWRlIDxqd3JkZWdvZWRlQGZlZG9yYXByb2plY3Qub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuaDoKCSogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuaDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9NYWtlZmlsZS5hbToKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9SRUFETUU6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvY2hhbmdlcy50eHQ6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvZmFzdG1peC5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvaXRfZGVmcy5oOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfNjY5LmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX2FtZi5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9hbXMuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfZGJtLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX2RtZi5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9kc20uY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfZmFyLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX2l0LmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX2oyYi5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9tZGwuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfbWVkLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX21vZC5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9tdDIuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfbXRtLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX29rdC5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9wc20uY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfcHRtLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX3MzbS5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9zdG0uY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfdWx0LmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX3VteC5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF93YXYuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfeG0uY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL21tY21wLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9tb2RwbHVnLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9tb2RwbHVnLmg6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc25kX2RzcC5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc25kX2ZsdC5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc25kX2Z4LmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRmaWxlLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRmaWxlLmg6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc25kbWl4LmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zdGRhZnguaDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy90YWJsZXMuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3RhYmxlcy5kOgoJICBCdWlsZCB0aGUgbW9kcGx1ZyBwbHVnaW4gYWdhaW5zdCB0aGUgbW9kcGx1ZyBsaWJyYXJ5IGFuZCByZW1vdmUgb3VyIGNvcHkKCSAgQWx3YXlzIGJ1aWxkIHRoZSBtb2RwbHVnIHBsdWdpbiBhZ2FpbnN0IHRoZSBzeXN0ZW0gbW9kcGx1ZyBsaWJyYXJ5CgkgIGFuZCByZW1vdmUgb3VyIG93biBjb3B5LiBVc2luZyB0aGUgc3lzdGVtIHZlcnNpb24gaGFzIGFkdmFudGFnZXMKCSAgaWYgc2VjdXJpdHkgaXNzdWVzIG9yIG90aGVyIGNyaXRpY2FsIGJ1Z3MgYXJlIGZvdW5kIGluIGxpYm1vZHBsdWcKCSAgYW5kIG91ciBvd24gY29weSB3YXNuJ3QgcmVhbGx5IG1haW50YWluZWQgYW55d2F5LgoJICBBbHNvIG91ciBjb3B5IG9ubHkgY29udGFpbmVkIHNvbWUgcGF0Y2hlcyB0byB1c2UgR0xpYiB0eXBlcyBhbmQgZnVuY3Rpb25zLgoJICBGaXhlcyBidWcgIzU2ODgzNy4KCjIwMDktMDEtMjMgMjM6NDI6MjggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIC5naXRpZ25vcmU6CgkqIHBvLy5naXRpZ25vcmU6CgkgIEFkZCBtb3JlIHRvIHRoZSBnaXRpZ25vcmVzCgoyMDA5LTAxLTIzIDE0OjAyOjI2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICBNYWtlIFJHQiBtYXNrcyB1bnNpZ25lZCBpbiByYXd2aWRlb3BhcnNlCgkgIEFsbG93IHRoZSBmdWxsIHJhbmdlIG9mIDMyIGJpdCBtYXNrcyBmb3IgUkdCQS9SR0IgZGF0YSBieSBtYWtpbmcgc3VyZQoJICB0aGUgbWFzayBwcm9wZXJ0aWVzIGFyZSB1bnNpZ25lZC4KCjIwMDktMDEtMjMgMTY6MDk6NTEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC90aW1pZGl0eS9SRUFETUU6CgkgIEFkZCBSRUFETUUgd2l0aCBtaWRpIHJlbGF0ZWQgbGlua3MuCgoyMDA5LTAxLTIzIDE2OjAwOjEwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBMb2cgYWFjIGRldGFpbHMgZm91bmQgaW4gY29kZWNfZGF0YS4KCjIwMDktMDEtMjMgMTQ6NDM6MDAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmg6CgkgIENvbmZpZ3VyZSBieXRlIG9yZGVyIGZvciBFWElGLiBGaXhlcyAjNTY4NzA0CgkgIEV4aWYgYmxvY2tzIGNhbiBiZSBpbiBkaWZmZXJudCBieXRlIG9yZGVycy4gQWRkIGFuIGVsZW1lbnQgcHJvcGVydHkgdG8gc2VsZWN0IHdpY2ggb25lIHNob3VsZCBiZSB3cml0dGVuLgoKMjAwOS0wMS0yMyAxMjo0NjoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZTIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHdvbGFtZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3Jlc2FtcGxlL2J1ZmZlci5jOgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9idWZmZXIuaDoKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvZGVidWcuYzoKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvZGVidWcuaDoKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvZnVuY3RhYmxlLmM6CgkqIGdzdC9hdWRpb3Jlc2FtcGxlL2Z1bmN0YWJsZS5oOgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuaDoKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuYzoKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuaDoKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGVfY2h1bmsuYzoKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGVfZnVuY3RhYmxlLmM6CgkqIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlX3JlZi5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9idWZmZXIuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2J1ZmZlci5oOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZGVidWcuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2RlYnVnLmg6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9mdW5jdGFibGUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2Z1bmN0YWJsZS5oOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZ3N0bGVnYWN5cmVzYW1wbGUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2dzdGxlZ2FjeXJlc2FtcGxlLmg6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGUuaDoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlX2NodW5rLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZV9mdW5jdGFibGUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlX3JlZi5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZWdhY3lyZXNhbXBsZS5jOgoJICBSZW5hbWUgYXVkaW9yZXNhbXBsZSBmaWxlcyBhbmQgdHlwZXMgdG8gbGVnYWN5cmVzYW1wbGUKCSAgRmluaXNoIHRoZSBtb3ZlL3JlbmFtZSBvZiBhdWRpb3Jlc2FtcGxlIHRvIGxlZ2FjeXJlc2FtcGxlCgkgIHRvIHByZXZlbnQgYW55IGNvbmZ1c2lvbi4KCjIwMDktMDEtMjMgMTI6Mzk6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJKiBnc3Qvc3BlZXhyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NwZWV4cmVzYW1wbGUvUkVBRE1FOgoJKiBnc3Qvc3BlZXhyZXNhbXBsZS9hcmNoLmg6CgkqIGdzdC9zcGVleHJlc2FtcGxlL2ZpeGVkX2dlbmVyaWMuaDoKCSogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmg6CgkqIGdzdC9zcGVleHJlc2FtcGxlL3Jlc2FtcGxlLmM6CgkqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlci5oOgoJKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfZmxvYXQuYzoKCSogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX2ludC5jOgoJKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfd3JhcHBlci5oOgoJICBSZW1vdmUgc3BlZXhyZXNhbXBsZSBmcm9tIC1iYWQsIGl0J3MgaW4gLWJhc2UKCjIwMDktMDEtMjMgMTI6MTM6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJICBTZW5kIEJZRSBwYWNrZXRzIGltbWVkaWF0bHkgZm9yIHNtYWxsIHNlc3Npb25zCgkgIFdoZW4gdGhlIG51bWJlciBvZiBwYXJ0aWNpcGFudHMgaXMgbGVzcyB0aGFuIDUwLCB0aGUgUkZDIGFsbG93cyBmb3Igc2VuZGluZyB0aGUKCSAgQllFIHBhY2tldCBpbW1lZGlhdGx5IGluc3RlYWQgb2YgdXNpbmcgdGhlIHJlZ3VsYXIgQllFIHRpbWVvdXQuCgkgIEZpeGVzICM1Njc4MjguCgoyMDA5LTAxLTIzIDExOjUwOjI5ICswMTAwICBIYW5zIGRlIEdvZWRlIDxqd3JkZWdvZWRlQGZlZG9yYXByb2plY3Qub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5oOgoJICBBZGQgc2Vla2luZyBzdXBwb3J0IHRvIG1tc3NyYy4gRml4ZXMgYnVnICM0Njk5MzAuCgkgIEFkZCBwcm9wZXIgc2Vla2luZyBzdXBwb3J0IHRvIG1tc3NyYyBhbmQgY2xlYW4KCSAgdXAgc29tZSBjb2RlLiBUaGlzIHJlcXVpcmVzIGxpYm1tcyA+PSAwLjQuCgoyMDA5LTAxLTIzIDEwOjQ0OjIwICswMTAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJKiBnc3QvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgTGluayBtb2RwbHVnIHBsdWdpbiB3aXRoIC1sbS4gRml4ZXMgYnVnICM1Njg0ODMuCgoyMDA5LTAxLTIzIDEwOjExOjUyICswMTAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSAgRml4IGJ1aWxkIG9uIFNvbGFyaXMuIEZpeGVzIGJ1ZyAjNTY4NDgwLgoJICBGaXggbGlua2luZyBvbiBTb2xhcmlzIGJ5IGNoZWNraW5nIGZvciB0aGUgbnNsIGFuZCBzb2NrZXQKCSAgbGlicmFyaWVzIHdoaWNoIGFyZSBuZWVkZWQgZm9yIHNvY2tldCgpIGFuZCBnZXRob3N0YnluYW1lKCkuCgkgIERvbid0IGluaXRpYWxpemUgc29tZSBmaWVsZHMgb2Ygc3RydWN0IG1oIHRvIE5VTEwvMCwgdGhleSdyZQoJICBhbHJlYWR5IHNldCB0byBOVUxMLzAgYnkgYSBtZW1zZXQoKS4gQWxzbyB0aGlzIGZpZWxkcyBkb24ndAoJICBleGlzdCBvbiBTb2xhcmlzLgoKMjAwOS0wMS0yMiAxNDozNzoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBTdG9yZSBhbGwgcGFydGl0aW9ucyAmIHByaW1lciBwYWNrcyBpbiBtZW1vcnkgZm9yIGZhc3RlciBhY2Nlc3MKCSAgU3RvcmUgYWxsIHBhcnRpdGlvbnMgJiBwcmltZXIgcGFja3MgaW4gbWVtb3J5IGZvciBmYXN0ZXIgYWNjZXNzLgoJICBUaGlzIGlzIGxhdGVyIG5lZWRlZCBmb3IgZmFzdCBzZWVraW5nLgoJICBQcmUtZmlsbCB0aGUgbGlzdCBvZiBwYXJ0aXRpb25zIHdpdGggdGhlIGNvbnRlbnQgb2YgdGhlIHJhbmRvbQoJICBpbmRleCBwYWNrLgoJICBEb24ndCBwYXJzZSBtZXRhZGF0YSBvZiBhbiBwYXJ0aXRpb24gdHdpY2UuCgoyMDA5LTAxLTIyIDE4OjIwOjAzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIFVwZGF0ZSBjb21tb24gc25hcHNob3QuCgoyMDA5LTAxLTIyIDE0OjAwOjU3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBVcGRhdGUgY29uZmlnLmggZm9yIGRldmVsb3BtZW50LgoKMjAwOS0wMS0yMiAxMzo0Njo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29tbW9uOgoJICBGaXggcHJlLWNvbW1pdCBob29rCgoyMDA5LTAxLTIyIDEzOjM5OjM0ICswMTAwICBKYW4gVXJiYW5za2kgPGoudXJiYW5za2lAc3R1ZGVudHMubWltdXcuZWR1LnBsPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBBZGQgc3VwcG9ydCBmb3IgRUNNQSBhcnJheXMgaW4gc2NyaXB0IHRhZ3MuIEZpeGVzIGJ1ZyAjNTY3OTY1LgoJICBBZGQgc3VwcG9ydCBmb3IgRUNNQSBhcnJheXMgaW4gc2NyaXB0IHRhZ3MuIFRoaXMgZml4ZXMKCSAgc2Vla2luZyBvbiBzb21lIGZpbGVzIHRoYXQgaGF2ZSB0aGUgc2VlayB0YWJsZSBzdG9yZWQKCSAgaW5zaWRlIGFuIEVDTUEgYXJyYXkgaW5zdGVhZCBvZiB0aGUgbm9ybWFsIGFycmF5LgoKMjAwOS0wMS0yMiAxMzozMzoxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBVbmxvY2sgdGhlIGppdHRlcmJ1ZmZlciBiZWZvcmUgcHVzaGluZyBvdXQgdGhlIHBhY2tldC1sb3N0IGV2ZW50cy4gTW92ZSBzb21lIGNvZGUgYmVmb3JlIHdlIGRvIHRoZSB1bmxvY2sgdG8gbWFrZSB0aGUgaml0dGVyYnVmZmVyIHN0YXRlIGNvbnNpc3RlbnQgd2hpbGUgd2UgYXJlIHVubG9ja2VkLgoKMjAwOS0wMS0yMiAxMTo1NDo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkgIEZpeCBVTCBmb3IgRFRTIGFuZCBNUEVHMiBsYXllciAxCgoyMDA5LTAxLTIyIDExOjU0OjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgQWRkIHN1cHBvcnQgZm9yIEFBQyBhdWRpbwoKMjAwOS0wMS0yMiAxMTo0Nzo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkqIGdzdC9teGYvbXhmZG1zMS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSogZ3N0L214Zi9teGZwYXJzZS5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgIFN0b3JlIE1YRiBtZXRhZGF0YSBpbiBhIGhhc2ggdGFibGUsIGtleWVkIGJ5IFVJRAoJICBTdG9yZSB0aGUgTVhGIG1ldGFkYXRhIGluIGEgaGFzaCB0YWJsZSwga2V5ZWQgYnkgdGhlCgkgIGluc3RhbmNlIFVJRC4gVGhpcyBzaW1wbGlmaWVzIHJlc29sdmFsIG9mIHRoZSBtZXRhZGF0YQoJICBhbmQgbWFrZXMgbG9vcGluZyBvdmVyIGFsbCBtZXRhZGF0YSBzZXRzIHVubmVjZXNzYXJ5CgkgIGluIG1vc3QgY2FzZXMuCgkgIEFkZGl0aW9uYWxseSBwYXJzZSBtZXRhZGF0YSBhbHdheXMuIElmIHdlIGFscmVhZHkgaGF2ZQoJICBhIG1ldGFkYXRhIHNldCB3aXRoIHRoZSBzYW1lIFVJRCByZXBsYWNlIGl0IG9ubHkgaWYKCSAgdGhlIG5ldyBtZXRhZGF0YSBzZXQgaXMgZnJvbSBhIGxhdGVyIG9mZnNldC4gVGhpcwoJICBmaXhlcyBtZXRhZGF0YSBwYXJzaW5nIG9mIGZpbGVzIHdoZXJlIGZvbGxvd2luZyBwYXJ0aXRpb25zCgkgIGRvbid0IGhhdmUgYSBjb21wbGV0ZSBjb3B5IG9mIHRoZSBwcmV2aW91cyBtZXRhZGF0YS4KCjIwMDktMDEtMjIgMTE6NDQ6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBCdWlsZCB0aGUgcmFuZG9tIGluZGV4IHBhY2sgd2hpbGUgcGFyc2luZwoJICBJZiB0aGUgZmlsZSBjb250YWlucyBubyByYW5kb20gaW5kZXggcGFjayBvciBqdXN0CgkgIGFuIGludmFsaWQgb25lIGJ1aWxkIHRoZSByYW5kb20gaW5kZXggcGFjayB3aGlsZQoJICBwYXJzaW5nLgoKMjAwOS0wMS0yMiAxMTo0Mzo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5oOgoJKiBnc3QvbXhmL214ZmFsYXcuYzoKCSogZ3N0L214Zi9teGZhbGF3Lmg6CgkqIGdzdC9teGYvbXhmZDEwLmM6CgkqIGdzdC9teGYvbXhmZDEwLmg6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJKiBnc3QvbXhmL214ZmRtczEuYzoKCSogZ3N0L214Zi9teGZkbXMxLmg6CgkqIGdzdC9teGYvbXhmZHYtZGlmLmM6CgkqIGdzdC9teGYvbXhmZHYtZGlmLmg6CgkqIGdzdC9teGYvbXhmanBlZzIwMDAuYzoKCSogZ3N0L214Zi9teGZqcGVnMjAwMC5oOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkqIGdzdC9teGYvbXhmbXBlZy5oOgoJKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSogZ3N0L214Zi9teGZ0eXBlcy5oOgoJKiBnc3QvbXhmL214ZnVwLmM6CgkqIGdzdC9teGYvbXhmdXAuaDoKCSogZ3N0L214Zi9teGZ2YzMuYzoKCSogZ3N0L214Zi9teGZ2YzMuaDoKCSAgVXBkYXRlIGNvcHlyaWdodHMgZm9yIDIwMDkKCjIwMDktMDEtMjIgMTE6NDI6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmRtczEuYzoKCSogZ3N0L214Zi9teGZkbXMxLmg6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgIFNpbXBsaWZ5IHBhcnNpbmcgb2YgVUwvVVVJRCBhcnJheXMKCSAgU2ltcGxpZnkgcGFyc2luZyBvZiBVTC9VVUlEIGFycmF5cyBieSBhYnN0cmFjdGluZyBpdAoJICBpbnRvIGEgc2VwYXJhdGUgZnVuY3Rpb24uCgoyMDA5LTAxLTIyIDExOjM3OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXhmL214Zi5jOgoJKiBnc3QvbXhmL214ZmFsYXcuYzoKCSogZ3N0L214Zi9teGZkMTAuYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRtczEuYzoKCSogZ3N0L214Zi9teGZkbXMxLmg6CgkqIGdzdC9teGYvbXhmanBlZzIwMDAuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvbXhmL214ZnVwLmM6CgkqIGdzdC9teGYvbXhmdmMzLmM6CgkgIEltcGxlbWVudCBwYXJzaW5nIG9mIERNUzEgKFNNUFRFIFMzODBNKQoKMjAwOS0wMS0yMiAxMTowMDo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBEaXNhYmxlIHRoZSBmaWx0ZXIgcGx1Z2luIGZyb20gdGhlIGJ1aWxkCgkgIFRoZSBmaWx0ZXIgcGx1Z2luIG9ubHkgY29udGFpbnMgYSBsaW1pdGVkIElJUiBmaWx0ZXIgZWxlbWVudAoJICB3aGljaCBpcyBub3cgb2Jzb2xldGVkIGJ5IHRoZSBhdWRpb2lpcmZpbHRlciBlbGVtZW50IGZyb20KCSAgZ3N0LXBsdWdpbnMtZ29vZC9hdWRpb2Z4LgoKMjAwOS0wMS0yMiAxMTo1NjozNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsIC0+IDAuMTAuMTAuMQoKMjAwOS0wMS0yMiAwNjoxMjo1NSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgSW5zdGFsbCBhbmQgdXNlIHByZS1jb21taXQgaW5kZW50YXRpb24gaG9vayBmcm9tIGNvbW1vbgoKMjAwOS0wMS0yMSAxMjoyMjo1NCArMDEwMCAgQW5keSBXaW5nbyA8d2luZ29Ab2Jsb25nLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgUmV2ZXJ0ICJhZGQgYXVkaW9idWZmZXIgdG8gdGhlIGJ1aWxkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDFjNmFjMTcwYjlmMjE4YzY3M2MwZGFhZjVjNTY4YzYwMDBhMzdmYzMuCgoyMDA5LTAxLTIxIDEyOjE4OjQ5ICswMTAwICBBbmR5IFdpbmdvIDx3aW5nb0BvYmxvbmcubmV0PgoKCSAgYWRkIGF1ZGlvYnVmZmVyIHRvIHRoZSBidWlsZAoJICAqIGNvbmZpZ3VyZS5hYzogQWRkIGF1ZGlvYnVmZmVyIHRvIHRoZSBidWlsZC4KCjIwMDktMDEtMjEgMDQ6MzI6MTYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJICBhdXRvZ2VuLnNoIDogVXNlIGdpdCBzdWJtb2R1bGUKCj09PSByZWxlYXNlIDAuMTAuMTAgPT09CgoyMDA5LTAxLTE5IDIzOjE1OjM2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10d29sYW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogcG8vTElOR1VBUzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMTAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbGVhc2UgMC4xMC4xMAoKMjAwOS0wMS0xOSAyMjo0MTo1OCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA5LTAxLTA5IDIzOjQ0OjM4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogMC4xMC45LjMgcHJlLXJlbGVhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAwLjEwLjkuMyBwcmUtcmVsZWFzZQoKMjAwOS0wMS0wOSAyMjowOTowNiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6IERvbid0IGZvcndhcmQgZHVyYXRpb24gcmVxdWVzdHMgaW4gQllURVMsIHNpbmNlIHRoZSByZXR1cm5lZCB2YWx1ZSBkb2Vzbid0IG1lYW4gYW55dGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBEb24ndCBmb3J3YXJkIGR1cmF0aW9uIHJlcXVlc3RzIGluIEJZVEVTLCBzaW5jZSB0aGUgcmV0dXJuZWQKCSAgdmFsdWUgZG9lc24ndCBtZWFuIGFueXRoaW5nLiAgRml4ZXMgIzU2Njk1OQoKMjAwOS0wMS0wOSAyMTo1OTo0OCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzogQWRkIHZpZGVvL3gtcXQtcGFydCBhbmQgdmlkZW8veC1tNC1wYXJ0IHRvIGNhcHMgc28gc2Nocm9lbmMvc2Nocm9wYXJzZSBjYW4gdXNlIGl0LiAgRml4ZXMgIzUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6IEFkZCB2aWRlby94LXF0LXBhcnQgYW5kIHZpZGVvL3gtbTQtcGFydAoJICB0byBjYXBzIHNvIHNjaHJvZW5jL3NjaHJvcGFyc2UgY2FuIHVzZSBpdC4gIEZpeGVzICM1NjY5NTgKCjIwMDktMDEtMDkgMTY6NDk6NTcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6IEFkZGl0aW9uYWwgcGF0Y2ggZm9yIHJlc2luIGZpeGVzIHRpbWUtYmFzZWQgc2Vla2luZyBpbiB0aXRsZXMgdGhhdCBkb24ndCBzdGFydCBhdCBzZWN0b3IgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICBBZGRpdGlvbmFsIHBhdGNoIGZvciByZXNpbiBmaXhlcyB0aW1lLWJhc2VkIHNlZWtpbmcgaW4gdGl0bGVzCgkgIHRoYXQgZG9uJ3Qgc3RhcnQgYXQgc2VjdG9yIDAgaW4gdGhlIFZUUywgYW5kIGZpeGVzIGludGVycHJldGF0aW9uCgkgIG9mIHRoZSBjZWxsIGVsYXBzZWQgdGltZSwgc28gdGhhdCBpdCByZXBvcnRzIHRoZSBjb3JyZWN0IHRpbWUgYWZ0ZXIKCSAgdGhlIHNlZWsgY29tcGxldGVzLgoJICBSZWFsbHkgZml4ZXMgIzU2Njk1Ny4KCjIwMDktMDEtMDggMTc6NTc6MTkgKzAwMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkgIGV4dC9sYWRzcGEvc2VhcmNoLmM6IEF2b2lkIHNlYXJjaGluZyAobnVsbCkgcGF0aHMgb3IgY3Jhc2hpbmcgb24gcGxhdGZvcm1zIHdoZXJlIHByaW50aW5nIGEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIFBhdGNoIGJ5OiBCcmlhbiBDYW1lcm9uIDxicmlhbiBkb3QgY2FtZXJvbiBhdCBzdW4gZG90IGNvbT4KCSAgKiBleHQvbGFkc3BhL3NlYXJjaC5jOiAoTEFEU1BBUGx1Z2luU2VhcmNoKToKCSAgQXZvaWQgc2VhcmNoaW5nIChudWxsKSBwYXRocyBvciBjcmFzaGluZyBvbiBwbGF0Zm9ybXMgd2hlcmUgcHJpbnRpbmcgYQoJICBOVUxMIHN0cmluZyBzZWdmYXVsdHMuIEZpeGVzICM1NjcwMDQuCgoyMDA5LTAxLTA4IDEyOjQyOjE4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9yZXNpbmR2ZC86IEFkZCBzdXBwb3J0IGZvciB0aW1lIGJhc2VkIHNlZWtpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICAqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkgIEFkZCBzdXBwb3J0IGZvciB0aW1lIGJhc2VkIHNlZWtpbmcuCgkgIE1ha2Ugc2V0dGluZyBkdmQ6Ly8gcmVzZXQgdG8gdGhlIGRlZmF1bHQgZGV2aWNlLgoJICBNYWtlIHRoZSAnYXVkaW9tdW5nZScgZWxlbWVudCBzZW5kIGFueSBuZXcgc2VnbWVudCBzdGFydCBiZWZvcmUKCSAgdGhlICdnYXAgZmlsbGVyJyBidWZmZXIgaXQgZ2VuZXJhdGVzLCBhbmQgYW55IHNlZ21lbnQgY2xvc2VzCgkgIGFmdGVyLgoJICBGaXhlczogIzU2Njk1NwoKMjAwOS0wMS0wOCAwOTo0MDoyMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzogQWRkIHBsdWdpbiBkZXBlbmRlbmN5IGZvciB0aGUgTEFEU1BBIHBsdWdpbiBkaXJlY3Rvcmllcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzogKHBsdWdpbl9pbml0KToKCSAgQWRkIHBsdWdpbiBkZXBlbmRlbmN5IGZvciB0aGUgTEFEU1BBIHBsdWdpbiBkaXJlY3Rvcmllcy4KCSAgRml4ZXMgYnVnICM1NjY4NzguCgoyMDA5LTAxLTA2IDIyOjUxOjM3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEaXN0IHRlc3QgaGVhZGVycyBmb3IgYW1yIGFuZCBhYWMgcGFyc2Vycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIERpc3QgdGVzdCBoZWFkZXJzIGZvciBhbXIgYW5kIGFhYyBwYXJzZXJzLgoJICBSZW1vdmUgbGVmdG92ZXIgbGluZXMgbWVudGlvbmVkIHNwZWV4cmVzYW1wbGUgdGVzdHMuCgoyMDA5LTAxLTA2IDIyOjM1OjUwICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvYWNtbXAzZGVjL01ha2VmaWxlLmFtOiBGaXggdHlwbyBpbiB0aGUgb3Bwb3NpdGUgd2F5IHRvIGdpdmUgdGhlIHBsdWdpbiBhIHNlbnNpYmxlIG5hbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9hY21tcDNkZWMvTWFrZWZpbGUuYW06CgkgIEZpeCB0eXBvIGluIHRoZSBvcHBvc2l0ZSB3YXkgdG8gZ2l2ZSB0aGUgcGx1Z2luIGEgc2Vuc2libGUgbmFtZS4KCjIwMDktMDEtMDYgMjI6MTY6NTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL2FjbW1wM2RlYy9NYWtlZmlsZS5hbTogRml4IHR5cG8gaW4gdGhlIG1ha2VmaWxlIHRhcmdldCBwcmV2ZW50aW5nIGRpc3RpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9hY21tcDNkZWMvTWFrZWZpbGUuYW06CgkgIEZpeCB0eXBvIGluIHRoZSBtYWtlZmlsZSB0YXJnZXQgcHJldmVudGluZyBkaXN0aW5nLgoKMjAwOS0wMS0wNSAyMzowMzozMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW1vdmUgQXBwU3JjL0FwcFNpbmsgdGhhdCBhcmUgbW92aW5nIHRvIC1iYXNlLiBQYXJ0aWFsbHkgZml4ZXMgIzU2NDQyMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBwLnhtbDoKCSAgKiBleGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgKiBleGFtcGxlcy9hcHAvLmN2c2lnbm9yZToKCSAgKiBleGFtcGxlcy9hcHAvTWFrZWZpbGUuYW06CgkgICogZXhhbXBsZXMvYXBwL2FwcHNpbmstc3JjLmM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1yYS5jOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc2Vla2FibGUuYzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbS5jOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtMi5jOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmNfZXguYzoKCSAgKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC8uY3ZzaWdub3JlOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHAtbWFyc2hhbC5saXN0OgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwYnVmZmVyLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBidWZmZXIuaDoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuaDoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmg6CgkgICogZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBwL2dzdGFwcC5jOgoJICBSZW1vdmUgQXBwU3JjL0FwcFNpbmsgdGhhdCBhcmUgbW92aW5nIHRvIC1iYXNlLiBQYXJ0aWFsbHkgZml4ZXMKCSAgIzU2NDQyMQoKMjAwOS0wMS0wNSAxNzo0MTo1MSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOiBHdWFyZCBpbnRlcnZhbCBpcyA0IGlmIGRlc2NyaXB0b3IgcGFydCBzaG93cyBiaW5hcnkgMTEgKDMgbm90IDQpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgR3VhcmQgaW50ZXJ2YWwgaXMgNCBpZiBkZXNjcmlwdG9yIHBhcnQgc2hvd3MgYmluYXJ5IDExICgzIG5vdCA0KS4KCjIwMDktMDEtMDUgMTc6MzA6NTUgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmg6IEZpeCB1cCBzYXRlbGxpdGUgZGVsaXZlcnkgc3Vic3lzdGVtIGRlZnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSAgRml4IHVwIHNhdGVsbGl0ZSBkZWxpdmVyeSBzdWJzeXN0ZW0gZGVmcy4KCjIwMDktMDEtMDUgMTc6MjY6MDAgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmg6IEZpeCB1cCB0ZXJyZXN0cmlhbCBkZWxpdmVyeSBzeXN0ZW0gZGVzY3JpcHRvciBkZWZzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkgIEZpeCB1cCB0ZXJyZXN0cmlhbCBkZWxpdmVyeSBzeXN0ZW0gZGVzY3JpcHRvciBkZWZzLgoJICBUaGV5IHNob3VsZCBiZSBzaGlmdGVkIG90aGVyd2lzZSB3cm9uZyB2YWx1ZXMgYXJlIHNlZW4uCgoyMDA5LTAxLTA1IDEzOjQxOjA3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogIkdlbmVyYXRpb24gVUlEIiBhbmQgIlRoaXMgR2VuZXJhdGlvbiBVSUQiIGFyZSBkaWZmZXJlbnQgc28gaGFuZGxlIHRoZW0gZGlmZmVyZW50LiBBbHNvIGJvdGggYXJlIG5vdCBwYXJ0IG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgICogZ3N0L214Zi9teGZtZXRhZGF0YS5jOiAobXhmX21ldGFkYXRhX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3ByZWZhY2VfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfaWRlbnRpZmljYXRpb25faGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2Vzc2VuY2VfY29udGFpbmVyX2RhdGFfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19wYWNrYWdlX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3RyYWNrX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3NlcXVlbmNlX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3N0cnVjdHVyYWxfY29tcG9uZW50X2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9sb2NhdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2xvY2F0b3JfY2xhc3NfaW5pdCk6CgkgICogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJICAiR2VuZXJhdGlvbiBVSUQiIGFuZCAiVGhpcyBHZW5lcmF0aW9uIFVJRCIgYXJlIGRpZmZlcmVudCBzbyBoYW5kbGUKCSAgdGhlbSBkaWZmZXJlbnQuIEFsc28gYm90aCBhcmUgbm90IHBhcnQgb2YgZXZlcnkgbWV0YWRhdGEgdHlwZS4KCjIwMDktMDEtMDUgMTI6MzQ6MTggKzAwMDAgIFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4KCgkgIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzogRml4IGNvbG9yIG9mZnNldCBjYWxjdWxhdGlvbiBmb3IgMjRicHAuIEZpeGVzIGJ1ZyAjNTY2NjEzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNhc2NoYSBIYXVlciA8cyBkb3QgaGF1ZXIgYXQgcGVuZ3V0cm9uaXggZG90IGRlPgoJICBMdW90YW8gRnUgPGwgZG90IGZ1IGF0IHBlbmd1dHJvbml4IGRvdCBkZT4KCSAgKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6IChnZXRfcGl4X29mZnNldCksCgkgIChnc3RfYmF5ZXIycmdiX3NldF9jYXBzKToKCSAgRml4IGNvbG9yIG9mZnNldCBjYWxjdWxhdGlvbiBmb3IgMjRicHAuIEZpeGVzIGJ1ZyAjNTY2NjEzLgoKMjAwOS0wMS0wNSAxMToyODo0OSArMDAwMCAgdmFuaXN0YSA8dmFuaXN0YUBnbWFpbC5jb20+CgoJICBnc3QvbXBlZ3RzbXV4LzogSW1wcm92ZSBtdXhpbmcgb2YgQUMzL2gyNjQgc3RyZWFtcyBhIGJpdC4gRml4ZXMgYnVnICM1NTA2MTMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogdmFuaXN0YSA8dmFuaXN0YSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6IChtcGVndHNtdXhfY3JlYXRlX3N0cmVhbSk6CgkgICogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOiAodHNtdXhfd3JpdGVfcG10KToKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6ICh0c211eF9zdHJlYW1fbmV3KSwKCSAgKHRzbXV4X3N0cmVhbV93cml0ZV9wZXNfaGVhZGVyKSwgKHRzbXV4X3N0cmVhbV9nZXRfZXNfZGVzY3JzKToKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmg6CgkgIEltcHJvdmUgbXV4aW5nIG9mIEFDMy9oMjY0IHN0cmVhbXMgYSBiaXQuIEZpeGVzIGJ1ZyAjNTUwNjEzLgoKMjAwOS0wMS0wNSAxMDozNDowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBEb24ndCBhbGxvdyBuZWdhdGl2ZSBvciB6ZXJvIGVkaXQgcmF0ZXMgdG8gcHJldmVudCBkaXZpc2lvbiBieSB6ZXJvIGFuZCB3ZSBzdXBwb3J0IG5lZ2F0aXZlIGVkaXQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyksCgkgIChnc3RfbXhmX2RlbXV4X3BhZF9uZXh0X2NvbXBvbmVudCk6CgkgIERvbid0IGFsbG93IG5lZ2F0aXZlIG9yIHplcm8gZWRpdCByYXRlcyB0byBwcmV2ZW50IGRpdmlzaW9uCgkgIGJ5IHplcm8gYW5kIHdlIHN1cHBvcnQgbmVnYXRpdmUgZWRpdCByYXRlcyBhbnl3YXkuCgoyMDA5LTAxLTA1IDEwOjI4OjU4ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogVXNlIGh5cGhlbiBpbiBwcm9wZXJ0eSBuYW1lLCBwZXJmb3JtIHNhZmV0eSBidWZmZXIgc2l6ZSBjaGVjayBwcmlvciB0byBtZW0gYWNjZXNzLCBhbmQgc29tZSBtby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IChnc3RfeDI2NF9lbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfeDI2NF9lbmNfaGVhZGVyX2J1ZiksIChnc3RfeDI2NF9lbmNfZW5jb2RlX2ZyYW1lKToKCSAgVXNlIGh5cGhlbiBpbiBwcm9wZXJ0eSBuYW1lLCBwZXJmb3JtIHNhZmV0eSBidWZmZXIgc2l6ZSBjaGVjawoJICBwcmlvciB0byBtZW0gYWNjZXNzLCBhbmQgc29tZSBtb3JlIHBhcmVudGhlc2VzIGluIG1hY3JvLgoKMjAwOS0wMS0wNSAxMDoyMjoyOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEZpeCBjb21waWxhdGlvbiB3aXRoIGRlYnVnZ2luZyBkaXNhYmxlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkgIChteGZfbWV0YWRhdGFfd2F2ZV9hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfYndmX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X2hhbmRsZV9rbHZfcGFja2V0KToKCSAgKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6IChteGZfbWV0YWRhdGFfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfcHJlZmFjZV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9pZGVudGlmaWNhdGlvbl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZXNzZW5jZV9jb250YWluZXJfZGF0YV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BhY2thZ2VfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfc291cmNlX3BhY2thZ2VfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfdHJhY2tfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfc2VxdWVuY2VfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfc3RydWN0dXJhbF9jb21wb25lbnRfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfc291cmNlX2NsaXBfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZG1fc2VnbWVudF9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZmlsZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kYXRhX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKG14Zl9wYXJ0aXRpb25fcGFja19wYXJzZSksCgkgIChteGZfaW5kZXhfdGFibGVfc2VnbWVudF9wYXJzZSksIChteGZfcHJpbWVyX3BhY2tfcGFyc2UpLAoJICAobXhmX2xvY2FsX3RhZ19hZGRfdG9faGFzaF90YWJsZSk6CgkgIEZpeCBjb21waWxhdGlvbiB3aXRoIGRlYnVnZ2luZyBkaXNhYmxlZC4KCjIwMDktMDEtMDUgMTA6MDA6MjEgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgY29uZmlndXJlLmFjOiBBbHNvIG1lbnRpb24ganAya2VuYyBhcyBhIGpwMmsgcGx1Z2luIGZlYXR1cmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQWxzbyBtZW50aW9uIGpwMmtlbmMgYXMgYSBqcDJrIHBsdWdpbiBmZWF0dXJlLgoKMjAwOS0wMS0wNCAxMToxMTowNiArMDAwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicEBrLWQtdy5vcmc+CgoJICBzeXMvZHZiL2R2YmJhc2ViaW4uYzogRml4IHNvbWUgbWVtb3J5IGxlYWtzLiBGaXhlcyBidWcgIzU2NjM1Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwIGF0IGstZC13IGRvdCBvcmc+CgkgICogc3lzL2R2Yi9kdmJiYXNlYmluLmM6IChkdmJfYmFzZV9iaW5faW5pdCksCgkgIChkdmJfYmFzZV9iaW5fZmluYWxpemUpLCAoZHZiX2Jhc2VfYmluX2FjdGl2YXRlX3Byb2dyYW0pLAoJICAoZHZiX2Jhc2VfYmluX3BtdF9pbmZvX2NiKSwgKGR2Yl9iYXNlX2Jpbl9wYWRfYWRkZWRfY2IpLAoJICAoZHZiX2Jhc2VfYmluX3Byb2dyYW1fZGVzdHJveSk6CgkgIEZpeCBzb21lIG1lbW9yeSBsZWFrcy4gRml4ZXMgYnVnICM1NjYzNTYuCgoyMDA5LTAxLTAyIDE3OjQwOjA2ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBXaGVuIGFuIFNTUkMgaXMgZm91bmQgb24gdGhlIGNhcHMgb2YgdGhlIHNlbmRlciBSVFAsIHVzZSB0aGlzIGFzIHRoZSBpbnRlcm5hbCBTU1JDLiBGaXhlcyAjNTY1OTEwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZXRjYXBzX3NlbmRfcnRwKSwgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9zZXRfaW50ZXJuYWxfc3NyYyk6CgkgIFdoZW4gYW4gU1NSQyBpcyBmb3VuZCBvbiB0aGUgY2FwcyBvZiB0aGUgc2VuZGVyIFJUUCwgdXNlIHRoaXMgYXMgdGhlCgkgIGludGVybmFsIFNTUkMuIEZpeGVzICM1NjU5MTAuCgoyMDA5LTAxLTAyIDE2OjUwOjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBSZW5hbWUgYSBtZXRob2QgdG8gYmV0dGVyIHJlZmxlY3Qgd2hhdCBpdCByZWFsbHkgZG9lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldGNhcHNfc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKGNoZWNrX2NvbGxpc2lvbiksCgkgIChydHBfc2Vzc2lvbl9zY2hlZHVsZV9ieWVfbG9ja2VkKSwgKHJ0cF9zZXNzaW9uX3NjaGVkdWxlX2J5ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBSZW5hbWUgYSBtZXRob2QgdG8gYmV0dGVyIHJlZmxlY3Qgd2hhdCBpdCByZWFsbHkgZG9lcy4KCjIwMDktMDEtMDIgMTE6MDA6MTcgKzAwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSAgZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOiBNb3ZlIC1sZ2NyeXB0byBmcm9tIF9MREZMQUdTIHRvIF9MSUJBREQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hcGV4c2luay9NYWtlZmlsZS5hbToKCSAgTW92ZSAtbGdjcnlwdG8gZnJvbSBfTERGTEFHUyB0byBfTElCQURELgoKMjAwOS0wMS0wMiAwMTo0NDoxMSArMDAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJICBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06IExpbmsgYWdhaW5zdCAtbGdjcnB5dG8gZm9yIFJTQV9uZXcgYW5kIFJTQV9mcmVlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06CgkgIExpbmsgYWdhaW5zdCAtbGdjcnB5dG8gZm9yIFJTQV9uZXcgYW5kIFJTQV9mcmVlLgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncy4KCjIwMDktMDEtMDIgMDE6MTI6MzUgKzAwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzogSW5pdGlhbGl6ZSBzY3JfcmF0ZV9uIGFuZCBzY3JfcmF0ZV9kIGluIG9yZGVyIHRvIGZpeCBjb21waWxlciB3YXJuaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgSW5pdGlhbGl6ZSBzY3JfcmF0ZV9uIGFuZCBzY3JfcmF0ZV9kIGluIG9yZGVyIHRvIGZpeCBjb21waWxlciB3YXJuaW5ncy4KCjIwMDgtMTItMzEgMDg6NTM6MDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEltcGxlbWVudCBzdXBwb3J0IGZvciBPUDJhL2IvYyBhbmQgT1AzYS9iL2MsIGkuZS4gdHJhY2tzIHdpdGggbW9yZSB0aGFuIGEgc2luZ2xlIGNvbXBvbmVudC4gVGhpcyBjdXJyZW50bHkgb25seSB3b3Jrcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzogKG14Zl9id2ZfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksCgkgIChteGZfYWVzM19oYW5kbGVfZXNzZW5jZV9lbGVtZW50KToKCSAgKiBnc3QvbXhmL214ZmFsYXcuYzogKG14Zl9hbGF3X2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpOgoJICAqIGdzdC9teGYvbXhmZDEwLmM6IChteGZfZDEwX3BpY3R1cmVfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksCgkgIChteGZfZDEwX3NvdW5kX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcGFkX2luaXQpLAoJICAoZ3N0X214Zl9kZW11eF9jaG9vc2VfcGFja2FnZSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpLAoJICAoZ3N0X214Zl9kZW11eF9wYWRfbmV4dF9jb21wb25lbnQpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfZ2VuZXJpY19jb250YWluZXJfZXNzZW5jZV9lbGVtZW50KSwKCSAgKGdzdF9teGZfZGVtdXhfcGFyc2VfZm9vdGVyX21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2tsdl9wYWNrZXQpLCAoZ3N0X214Zl9kZW11eF9zcmNfcXVlcnkpOgoJICAqIGdzdC9teGYvbXhmZHYtZGlmLmM6IChteGZfZHZfZGlmX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuYzogKG14Zl9qcGVnMjAwMF9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KToKCSAgKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6IChteGZfbWV0YWRhdGFfc2VxdWVuY2VfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfc3RydWN0dXJhbF9jb21wb25lbnRfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9pbml0KToKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzogKG14Zl9tcGVnX3ZpZGVvX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLAoJICAobXhmX21wZWdfYXVkaW9faGFuZGxlX2Vzc2VuY2VfZWxlbWVudCk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICAqIGdzdC9teGYvbXhmdXAuYzogKG14Zl91cF9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KToKCSAgKiBnc3QvbXhmL214ZnZjMy5jOiAobXhmX3ZjM19oYW5kbGVfZXNzZW5jZV9lbGVtZW50KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZkZW11eC5jOiAoX3NpbmtfY2hhaW4pOgoJICBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgT1AyYS9iL2MgYW5kIE9QM2EvYi9jLCBpLmUuIHRyYWNrcyB3aXRoCgkgIG1vcmUgdGhhbiBhIHNpbmdsZSBjb21wb25lbnQuIFRoaXMgY3VycmVudGx5IG9ubHkgd29ya3MgZm9yCgkgIHRoZSBjYXNlIHdoZXJlIHRoZSBjb21wb25lbnRzIGFyZSBzdG9yZWQgaW4gcGxheWJhY2sgb3JkZXIKCSAgaW4gdGhlIGZpbGUuCgkgIFNldCBzb21lIG1vcmUgZGVmYXVsdC9kaXN0aW5ndWlzaGVkIHZhbHVlcyBmb3IgdGhlIHN0cnVjdHVyYWwKCSAgbWV0YWRhdGEuCgkgIE1ha2Ugc29tZSB0eXBlcyBtb3JlIHN0cmljdCBieSBjaG9vc2luZyB0aGUgY29ycmVjdCBzdWJjbGFzc2VzLgoJICBTZXQgRElTQ09OVCBmbGFnIG9uIGJ1ZmZlcnMgYWZ0ZXIgYSBjb21wb25lbnQgc3dpdGNoLgoJICBUYWtlIHRoZSBsYXN0IHBhcnRpdGlvbiBmcm9tIHRoZSByYW5kb20gaW5kZXggcGFjayBmb3IgdGhlIGZvb3RlcgoJICBwYXJ0aXRpb24gb2YgdGhlIGhlYWRlciBwYXJ0aXRpb24gZG9lc24ndCByZWZlcmVuY2UgdGhlIGZvb3RlcgoJICBwYXJ0aXRpb24uIFRoaXMgZ2l2ZXMgdXMgdGhlIGZpbmFsIHN0cnVjdHVyYWwgbWV0YWRhdGEgZm9yCgkgIHNvbWUgbW9yZSBmaWxlcyBpbiB0aGUgYmVnaW5uaW5nLgoKMjAwOC0xMi0yOSAxODoyMjoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6IFVzZSB0aGUgYWRqdXN0ZWQgU0NSIGZvciBjYWxjdWxhdGluZyB0aGUgbXV4IHJhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6IChnc3RfZmx1cHNfZGVtdXhfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9mbHVwc19kZW11eF9wYXJzZV9wYWNrX3N0YXJ0KToKCSAgVXNlIHRoZSBhZGp1c3RlZCBTQ1IgZm9yIGNhbGN1bGF0aW5nIHRoZSBtdXggcmF0ZS4KCSAgRG9uJ3QgdXBkYXRlIHRoZSByYXRlIGVzdGltYXRpb24gYWZ0ZXIgYSBkaXNjb250LgoKMjAwOC0xMi0yOSAxNzo1NToxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lio6IFRoZSBwb3NpdGlvbiBtZW1iZXIgaW4gdGhlIG5ld3NlZ21lbnQgZXZlbnQgY29ycmVzcG9uZHMgdG8gdGhlIHN0cmVhbV90aW1lIG9mIHRoZSBzZWdtZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOiAoZ3N0X2ZsdXBzX2RlbXV4X3NlbmRfZGF0YSk6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgVGhlIHBvc2l0aW9uIG1lbWJlciBpbiB0aGUgbmV3c2VnbWVudCBldmVudCBjb3JyZXNwb25kcyB0byB0aGUKCSAgc3RyZWFtX3RpbWUgb2YgdGhlIHNlZ21lbnQgc3RhcnQgcG9zaXRpb24uCgoyMDA4LTEyLTI5IDE3OjMwOjAzICswMDAwICBSb2JpbiBTdG9ja2VyIDxyb2JpbkBuaWJvci5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOiBDb252ZXJ0aW5nIGZyb20gdGltZSB0byBieXRlcyBvcGVyYXRlcyBvbiB0aGUgc3RyZWFtX3RpbWUsIG5vdCB0aGUgU0NSIHRpbWVsaW5lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJvYmluIFN0b2NrZXIgPHJvYmluIGF0IG5pYm9yIGRvdCBvcmc+CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzogKGdzdF9mbHVwc19kZW11eF9zcmNfcXVlcnkpOgoJICBDb252ZXJ0aW5nIGZyb20gdGltZSB0byBieXRlcyBvcGVyYXRlcyBvbiB0aGUgc3RyZWFtX3RpbWUsIG5vdCB0aGUgU0NSCgkgIHRpbWVsaW5lLgoJICBUaGUgcG9zaXRpb24gcmVwb3J0aW5nIHNob3VsZCBoYXBwZW4gaW4gc3RyZWFtX3RpbWUsIG5vdCB0aGUgc2VnbWVudAoJICB0aW1lc3RhbXAgcmFuZ2UuIFNlZSAjNTU3MTYxLgoKMjAwOC0xMi0yOSAxNjo0NToyMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLio6IEFkZCBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzIHRvIGNvbmZpZ3VyZSBhbmQgcmV0cmlldmUgdGhlIG1pbiBhbmQgbWF4IGxhdGVuY2llcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzogKGdzdF9hcHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2FwcF9zcmNfaW5pdCksIChnc3RfYXBwX3NyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2FwcF9zcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9hcHBfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9hcHBfc3JjX3NldF9sYXRlbmNpZXMpLCAoZ3N0X2FwcF9zcmNfc2V0X2xhdGVuY3kpLAoJICAoZ3N0X2FwcF9zcmNfZ2V0X2xhdGVuY3kpLCAoZ3N0X2FwcF9zcmNfcHVzaF9idWZmZXJfZnVsbCk6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuaDoKCSAgQWRkIHByb3BlcnRpZXMgYW5kIG1ldGhvZHMgdG8gY29uZmlndXJlIGFuZCByZXRyaWV2ZSB0aGUgbWluIGFuZCBtYXgKCSAgbGF0ZW5jaWVzLgoKMjAwOC0xMi0yOSAxNjoyOTowOCArMDAwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicEBrLWQtdy5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzogRml4IG1lbWxlYWsuIEZpeGVzICM1NjU2MTQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicCBhdCBrLWQtdyBkb3Qgb3JnPgoJICAqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOiAobXBlZ3RzX3BhY2tldGl6ZXJfcGFyc2VfZWl0KToKCSAgRml4IG1lbWxlYWsuIEZpeGVzICM1NjU2MTQuCgoyMDA4LTEyLTI5IDE2OjE4OjQ3ICswMDAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwQGstZC13Lm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOiBBZGQgYSBzY3JhbWJsZWQgZmllbGQgdG8gdGhlIHNlcnZpY2Ugc3RydWN0dXJlcyByZXRyaWV2ZWQgZnJvbSBTRFQgdG8gZGV0ZXJtaW5lIGlmIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBQw7Zsc3RlcmwgPHNlYnAgYXQgay1kLXcgZG90IG9yZz4KCSAgKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzogKG1wZWd0c19wYWNrZXRpemVyX3BhcnNlX3NkdCk6CgkgIEFkZCBhIHNjcmFtYmxlZCBmaWVsZCB0byB0aGUgc2VydmljZSBzdHJ1Y3R1cmVzIHJldHJpZXZlZCBmcm9tIFNEVCB0bwoJICBkZXRlcm1pbmUgaWYgYSBjaGFubmVsIGlzIHNjcmFtYmxlZC4gRml4ZXMgIzU2NTYxMy4KCjIwMDgtMTItMjkgMTU6NTQ6NDQgKzAwMDAgIERhbWllbiBMZXNwaWF1IDxkYW1pZW4ubGVzcGlhdUBnbWFpbC5jb20+CgoJICBnc3QvcGNhcHBhcnNlLzogUGF0Y2ggdG8gbWFrZSBnc3RwY2FwcGFyc2UgY29tcGlsZSB3aXRoIG1pbmd3MzIgZ2NjLiBGaXhlcyAjNTY1NDM5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IERhbWllbiBMZXNwaWF1IDxkYW1pZW4gZG90IGxlc3BpYXUgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvcGNhcHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIFBhdGNoIHRvIG1ha2UgZ3N0cGNhcHBhcnNlIGNvbXBpbGUgd2l0aCBtaW5ndzMyIGdjYy4gRml4ZXMgIzU2NTQzOS4KCjIwMDgtMTItMjkgMTU6NDk6MzcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IFVzZSBtZXRob2QgdG8gZ2V0IHRoZSBpbnRlcm5hbCBTU1JDLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0Y2Fwc19zZW5kX3J0cCk6CgkgIFVzZSBtZXRob2QgdG8gZ2V0IHRoZSBpbnRlcm5hbCBTU1JDLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwgKHJ0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSk6CgkgIEFkZCBwcm9wZXJ0eSB0byBjb25naXVyZSB0aGUgaW50ZXJuYWwgU1NSQyBvZiB0aGUgc2Vzc2lvbi4KCSAgRml4ZXMgIzU2NTkxMC4KCjIwMDgtMTItMjkgMTU6MjE6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IE9ubHkgY2hhbmdlIHRoZSBTU1JDIG9mIHRoZSBzZXNzaW9uIGFuZCByZXNldCB0aGUgaW50ZXJuYWwgc291cmNlIHdoZW4gdGhlIFNTUkMgYWN0dWFsbHkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fc2V0X2ludGVybmFsX3NzcmMpOgoJICBPbmx5IGNoYW5nZSB0aGUgU1NSQyBvZiB0aGUgc2Vzc2lvbiBhbmQgcmVzZXQgdGhlIGludGVybmFsIHNvdXJjZSB3aGVuCgkgIHRoZSBTU1JDIGFjdHVhbGx5IGNoYW5nZWQuIFNlZSAjNTY1OTEwLgoKMjAwOC0xMi0yOSAxNDoyMTo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS4qOiBXaGVuIG5vIHBheWxvYWQgd2FzIHNwZWNpZmllZCBvbiB0aGUgY2FwcyBidXQgdGhlcmUgd2FzIGEgY2xvY2stcmF0ZSwgYXNzdW1lIHRoZSBjbG9jay1yYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfaW5pdCksCgkgIChydHBfc291cmNlX3VwZGF0ZV9jYXBzKSwgKGdldF9jbG9ja19yYXRlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgV2hlbiBubyBwYXlsb2FkIHdhcyBzcGVjaWZpZWQgb24gdGhlIGNhcHMgYnV0IHRoZXJlIHdhcyBhIGNsb2NrLXJhdGUsCgkgIGFzc3VtZSB0aGUgY2xvY2stcmF0ZSBjb3JyZXNwb25kcyB0byB0aGUgZmlyc3QgcGF5bG9hZCB0eXBlIGZvdW5kIGluIHRoZQoJICBSVFAgcGFja2V0cy4gRml4ZXMgIzU2NTUwOS4KCjIwMDgtMTItMjMgMTY6MzI6MDUgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBXaXRoIGNvbnN0YW50IHJlYWQgZmFpbHVyZXMsIG1ha2Ugc3VyZSB3ZSBleGl0IHRoZSByZWFkX2RldmljZSBtZXRob2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIFdpdGggY29uc3RhbnQgcmVhZCBmYWlsdXJlcywgbWFrZSBzdXJlIHdlIGV4aXQgdGhlIHJlYWRfZGV2aWNlCgkgIG1ldGhvZC4KCjIwMDgtMTItMjMgMTU6MjY6MzAgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBQb3N0IGJ1cyBtZXNzYWdlIHdpdGggZHZiIHJlYWQgZmFpbHVyZSB3aGVuIHVuYWJsZSB0byByZWFkIGZyb20gZGV2aWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBQb3N0IGJ1cyBtZXNzYWdlIHdpdGggZHZiIHJlYWQgZmFpbHVyZSB3aGVuIHVuYWJsZSB0byByZWFkIGZyb20KCSAgZGV2aWNlLgoKMjAwOC0xMi0yMyAxMjoyNTo0NyArMDAwMCAgTHVvdGFvIEZ1IDxsLmZ1QHBlbmd1dHJvbml4LmRlPgoKCSAgc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOiBGaXggdGhlIERlcHRoIGNhbGN1bGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEx1b3RhbyBGdSA8bCBkb3QgZnUgYXQgcGVuZ3V0cm9uaXggZG90IGRlPgoJICAqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzogKGdzdF9mYmRldnNpbmtfZ2V0Y2Fwcyk6CgkgIEZpeCB0aGUgRGVwdGggY2FsY3VsYXRpb24uCgkgIEZpeGVzICM1NjQxMTQuCgoyMDA4LTEyLTIzIDExOjM5OjU5ICswMDAwICBBcm5vdXQgVmFuZGVjYXBwZWxsZSA8YXJub3V0QG1pbmQuYmU+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuKjogS2VlcCB0cmFjayBvZiB0aGUgbGFzdCBvdXRnb2luZyB0aW1lc3RhbXAgYW5kIG9mIHRoZSBsYXN0IHNlbmRlci1zaWRlIHRpbWUuICBUaW1lc3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBcm5vdXQgVmFuZGVjYXBwZWxsZSA8YXJub3V0IGF0IG1pbmQgZG90IGJlPgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfcmVzZXRfc2tldyksCgkgIChjYWxjdWxhdGVfc2tldyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIEtlZXAgdHJhY2sgb2YgdGhlIGxhc3Qgb3V0Z29pbmcgdGltZXN0YW1wIGFuZCBvZiB0aGUgbGFzdCBzZW5kZXItc2lkZQoJICB0aW1lLiAgVGltZXN0YW1wcyBjYW4gb25seSBnbyBmb3J3YXJkIGlmIHRoZXkgZG8gYXQgdGhlIHNlbmRlcgoJICBzaWRlLCBjYW4gb25seSBnbyBiYWNrIGlmIHRoZXkgZG8gYXQgdGhlIHNlbmRlciBzaWRlLCBhbmQgcmVtYWluIHRoZQoJICBzYW1lIGlmIHRoZXkgcmVtYWluIHRoZSBzYW1lIGF0IHRoZSBzZW5kZXIgc2lkZS4gRml4ZXMgIzU2NTMxOS4KCjIwMDgtMTItMjIgMjA6NTY6MTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmbXBlZy5jOiBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBoLjI2NCB2aWRlbyAoU01QVEUgUlAyMDA4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6IChteGZfbXBlZ19lc19jcmVhdGVfY2FwcyksCgkgIChteGZfbXBlZ19jcmVhdGVfY2Fwcyk6CgkgIEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIGguMjY0IHZpZGVvIChTTVBURSBSUDIwMDgpLgoKMjAwOC0xMi0yMiAyMDozNzoyNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZtZXRhZGF0YS4qOiBJZiByZXNvbHZpbmcgYSBtZXRhZGF0YSBvYmplY3QgZmFpbGVkIHRoZSBmaXJzdCB0aW1lIHJldHVybgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6IChteGZfbWV0YWRhdGFfYmFzZV9yZXNvbHZlKToKCSAgKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkgIElmIHJlc29sdmluZyBhIG1ldGFkYXRhIG9iamVjdCBmYWlsZWQgdGhlIGZpcnN0IHRpbWUgcmV0dXJuCgkgIEZBTFNFIGZvciBhIHNlY29uZCBteGZfbWV0YWRhdGFfYmFzZV9yZXNvbHZlKCkgY2FsbCBpbnN0ZWFkCgkgIG9mIFRSVUUuCgoyMDA4LTEyLTIyIDEwOjE0OjM1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogQ2xlYW51cCBvZiB0aGUgaW5jbHVkZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmLmM6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmg6CgkgICogZ3N0L214Zi9teGZkMTAuYzoKCSAgKiBnc3QvbXhmL214ZmRtczEuYzoKCSAgKiBnc3QvbXhmL214ZmRtczEuaDoKCSAgKiBnc3QvbXhmL214Zm1wZWcuaDoKCSAgKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIENsZWFudXAgb2YgdGhlIGluY2x1ZGVzLgoKMjAwOC0xMi0xOSAxODo1Mzo0NyArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXRtdXgvZ3N0cXRtdXguYzogRG8gbm90IHRlbXB0IG9yIHN1Z2dlc3QgdG8gdmlvbGF0ZSBnc3RfY29sbGVjdF9wYWRzIEFQSSBzcGVjaWZpY2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzogKGdzdF9xdF9tdXhfY2hhbmdlX3N0YXRlKToKCSAgRG8gbm90IHRlbXB0IG9yIHN1Z2dlc3QgdG8gdmlvbGF0ZSBnc3RfY29sbGVjdF9wYWRzIEFQSSBzcGVjaWZpY2F0aW9uLgoKMjAwOC0xMi0xOSAxODozMzo0NyArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXRtdXgvOiBEdWFsIGxpY2Vuc2UgcXRtdXggTEdQTC9NSVQuICBGaXhlcyAjNTY0MjMyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSAgKiBnc3QvcXRtdXgvZGVzY3JpcHRvcnMuYzoKCSAgKiBnc3QvcXRtdXgvZGVzY3JpcHRvcnMuaDoKCSAgKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkgICogZ3N0L3F0bXV4L2Z0eXBjYy5oOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5oOgoJICAqIGdzdC9xdG11eC9wcm9wZXJ0aWVzLmM6CgkgICogZ3N0L3F0bXV4L3Byb3BlcnRpZXMuaDoKCSAgRHVhbCBsaWNlbnNlIHF0bXV4IExHUEwvTUlULiAgRml4ZXMgIzU2NDIzMi4KCjIwMDgtMTItMTkgMTA6MDY6MjQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBBZGQgbXhmX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yX3NldF9jYXBzKCkgdG8gc2V0IHJhdGUgYW5kIGNoYW5uZWxzIGFuZCB1c2UgdGhpcyBmb3IgYWxsIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzogKG14Zl9id2ZfY3JlYXRlX2NhcHMpLAoJICAobXhmX2FlczNfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmYWxhdy5jOiAobXhmX2FsYXdfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmZDEwLmM6IChteGZfZDEwX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgICogZ3N0L214Zi9teGZtZXRhZGF0YS5jOiAobXhmX21ldGFkYXRhX3NvdXJjZV9wYWNrYWdlX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3Jfc2V0X2NhcHMpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yX3NldF9jYXBzKToKCSAgKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6IChteGZfbXBlZ19lc19jcmVhdGVfY2Fwcyk6CgkgIEFkZCBteGZfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3Jfc2V0X2NhcHMoKSB0bwoJICBzZXQgcmF0ZSBhbmQgY2hhbm5lbHMgYW5kIHVzZSB0aGlzIGZvciBhbGwgc291bmQgZXNzZW5jZS4KCSAgR2l2ZSBzb21lIGRlYnVnIG91dHB1dCB3aGVuIHNldHRpbmcgcGljdHVyZSBlc3NlbmNlIGNhcHMgd2l0aAoJICBpbnZhbGlkIGRlc2NyaXB0b3IgdmFsdWVzLgoJICBGaXggaGVpZ2h0IGNhbGN1bGF0aW9uIGZyb20gdGhlIGZyYW1lIGxheW91dCBhIGJpdCBtb3JlIGFuZAoJICBhZGQgYSBUT0RPIHRvIGNoZWNrIGlmIGl0J3MgcmVhbGx5IGNvcnJlY3Qgbm93IG9yIGlmIGl0IG5lZWRzCgkgIG1vcmUgZml4aW5nIChlc3BlY2lhbGx5LCBkb2VzIHRoZSBmcmFtZXJhdGUgbmVlZCBhZGp1c3RtZW50cz8pLgoKMjAwOC0xMi0xOCAxNzo0OTowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEFkZCBzdXBwb3J0IGZvciBWQy0zIChha2EgRE54SEQgZXNzZW5jZSwgc2VlIFNNUFRFIDIwMTktNCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkgICogZ3N0L214Zi9teGYuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvbXhmL214ZnZjMy5jOiAobXhmX2lzX3ZjM19lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl92YzNfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksIChteGZfdmMzX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl92YzNfaW5pdCk6CgkgICogZ3N0L214Zi9teGZ2YzMuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIFZDLTMgKGFrYSBETnhIRCBlc3NlbmNlLCBzZWUgU01QVEUgMjAxOS00KS4KCSAgVGhpcyBpcyB1bnRlc3RlZCBiZWNhdXNlIG9mIGxhY2sgb2Ygc2FtcGxlIGZpbGVzIGJ1dCBzaG91bGQKCSAgd29yayBmaW5lLgoKMjAwOC0xMi0xNyAxMzo1MTo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEFkZCBhcHBzcmMgYW5kIGFwcHNpbmsgZG9jdW1lbnRhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOiAoZ3N0X2FwcF9zcmNfY2xhc3NfaW5pdCk6CgkgIEFkZCBhcHBzcmMgYW5kIGFwcHNpbmsgZG9jdW1lbnRhdGlvbi4KCjIwMDgtMTItMTcgMTI6MDY6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogSW4gcHVzaCBtb2RlIHNraXAgdGhlIHJ1biBpbiBhZ2FpbiBpZiB3ZSBnZXQgYnVmZmVycyB3aXRoIGFuIG9mZnNldCBiZWZvcmUgdGhlIHJ1biBpbi4gVGhpcyBjYW4gaC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X2NoYWluKToKCSAgSW4gcHVzaCBtb2RlIHNraXAgdGhlIHJ1biBpbiBhZ2FpbiBpZiB3ZSBnZXQgYnVmZmVycyB3aXRoCgkgIGFuIG9mZnNldCBiZWZvcmUgdGhlIHJ1biBpbi4gVGhpcyBjYW4gaGFwcGVuIG9uIHNlZWtzIGZvciBleGFtcGxlLgoKMjAwOC0xMi0xNiAxNjoyNjo1MiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgVG90YWxseSByZW1vdmUgdGhlIGludGVybmFsIHRhZ2xpc3RzIGFuZCBmdWxseSB1c2UgdGFnc2V0dGVyLiBGaXhlcyB2YXJpb3VzIHRhZyBtdXhpbmcgaXNzdWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgICogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5oOgoJICAqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICBUb3RhbGx5IHJlbW92ZSB0aGUgaW50ZXJuYWwgdGFnbGlzdHMgYW5kIGZ1bGx5IHVzZSB0YWdzZXR0ZXIuIEZpeGVzCgkgIHZhcmlvdXMgdGFnIG11eGluZyBpc3N1ZXMuCgoyMDA4LTEyLTE2IDEyOjQ2OjM3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZkZW11eC5jOiBJbmNyZWFzZSB0aGUgdGltZW91dCB0byAzIG1pbnV0ZXMgdG8gcHJldmVudCB0aW1lb3V0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmZGVtdXguYzogKG14ZmRlbXV4X3N1aXRlKToKCSAgSW5jcmVhc2UgdGhlIHRpbWVvdXQgdG8gMyBtaW51dGVzIHRvIHByZXZlbnQgdGltZW91dHMuCgoyMDA4LTEyLTE2IDEyOjM3OjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZkZW11eC4qOiBNYWtlIHN1cmUgdGhlIG1haW4gbG9vcCBpcyBhbHJlYWR5IHJ1bm5pbmcgd2hlbiBoYW5kbGluZyB0aGUgRU9TIGV2ZW50IGluIHB1bGwgbW9kZS4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmZGVtdXguYzogKF9zaW5rX2V2ZW50KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZkZW11eC5oOgoJICBNYWtlIHN1cmUgdGhlIG1haW4gbG9vcCBpcyBhbHJlYWR5IHJ1bm5pbmcgd2hlbiBoYW5kbGluZyB0aGUgRU9TCgkgIGV2ZW50IGluIHB1bGwgbW9kZS4gVGhpcyB3b3JrcyBhcm91bmQgYSByYWNlIGNvbmRpdGlvbiB0aGF0IGNhbgoJICBoYXBwZW4gaWYgdGhlIGVsZW1lbnQgZ29lcyBpbnRvIFBMQVlJTkcsIGhhbmRsZXMgZXZlcnl0aGluZyBhbmQKCSAgc2VuZHMgRU9TIGJlZm9yZSB0aGUgbWFpbiBsb29wIGlzIHN0YXJ0ZWQuCgoyMDA4LTEyLTE2IDEyOjMwOjM0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogSW1wbGVtZW50IGFuIGVzc2VuY2UgZWxlbWVudCBoYW5kbGluZyByZWdpc3RyeSBhbmQgdXNlIHRoaXMgaW5zdGVhZCBvZiBhbiBoYXJkY29kZWQsIGxhcmdlIGlmLXRoZW4tZWxzZSBibG9jay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmM6IChteGZfaXNfYWVzX2J3Zl9lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9id2ZfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksCgkgIChteGZfYWVzM19oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwgKG14Zl9id2ZfY3JlYXRlX2NhcHMpLAoJICAobXhmX2FlczNfY3JlYXRlX2NhcHMpLCAobXhmX2Flc19id2ZfY3JlYXRlX2NhcHMpLAoJICAobXhmX2Flc19id2ZfaW5pdCk6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmg6CgkgICogZ3N0L214Zi9teGZhbGF3LmM6IChteGZfaXNfYWxhd19lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9hbGF3X2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLCAobXhmX2FsYXdfY3JlYXRlX2NhcHMpLAoJICAobXhmX2FsYXdfaW5pdCk6CgkgICogZ3N0L214Zi9teGZhbGF3Lmg6CgkgICogZ3N0L214Zi9teGZkMTAuYzogKG14Zl9pc19kMTBfZXNzZW5jZV90cmFjayksCgkgIChteGZfZDEwX3BpY3R1cmVfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksCgkgIChteGZfZDEwX3NvdW5kX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLCAobXhmX2QxMF9jcmVhdGVfY2FwcyksCgkgIChteGZfZDEwX2luaXQpOgoJICAqIGdzdC9teGYvbXhmZDEwLmg6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9yZXNldF9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfZ2VuZXJpY19jb250YWluZXJfZXNzZW5jZV9lbGVtZW50KToKCSAgKiBnc3QvbXhmL214ZmR2LWRpZi5jOiAobXhmX2lzX2R2X2RpZl9lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9kdl9kaWZfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksIChteGZfZHZfZGlmX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl9kdl9kaWZfaW5pdCk6CgkgICogZ3N0L214Zi9teGZkdi1kaWYuaDoKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6IChteGZfaXNfanBlZzIwMDBfZXNzZW5jZV90cmFjayksCgkgIChteGZfanBlZzIwMDBfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksIChteGZfanBlZzIwMDBfY3JlYXRlX2NhcHMpLAoJICAobXhmX2pwZWcyMDAwX2luaXQpOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuaDoKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzogKG14Zl9pc19tcGVnX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX21wZWdfdmlkZW9faGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksCgkgIChteGZfbXBlZ19hdWRpb19oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwgKG14Zl9tcGVnX2VzX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl9tcGVnX2NyZWF0ZV9jYXBzKSwgKG14Zl9tcGVnX2luaXQpOgoJICAqIGdzdC9teGYvbXhmbXBlZy5oOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKG14Zl9lc3NlbmNlX2VsZW1lbnRfaGFuZGxlcl9yZWdpc3RlciksCgkgIChteGZfZXNzZW5jZV9lbGVtZW50X2hhbmRsZXJfZmluZCk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICAqIGdzdC9teGYvbXhmdXAuYzogKG14Zl9pc191cF9lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl91cF9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwgKG14Zl91cF9yZ2JhX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl91cF9jcmVhdGVfY2FwcyksIChteGZfdXBfaW5pdCk6CgkgICogZ3N0L214Zi9teGZ1cC5oOgoJICBJbXBsZW1lbnQgYW4gZXNzZW5jZSBlbGVtZW50IGhhbmRsaW5nIHJlZ2lzdHJ5IGFuZCB1c2UgdGhpcyBpbnN0ZWFkCgkgIG9mIGFuIGhhcmRjb2RlZCwgbGFyZ2UgaWYtdGhlbi1lbHNlIGJsb2NrLgoKMjAwOC0xMi0xNiAxMDo1MDo0MCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBCbGFja2xpc3QgcmZic3JjIGZyb20gdGhlIHN0YXRlIGNoYW5nZSB0ZXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgQmxhY2tsaXN0IHJmYnNyYyBmcm9tIHRoZSBzdGF0ZSBjaGFuZ2UgdGVzdC4KCjIwMDgtMTItMTYgMDk6NTk6MzggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHB1c2ggYW5kIHB1bGwgbW9kZSB1bml0IHRlc3QgZm9yIG14ZmRlbXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZkZW11eC5jOiAoX3BhZF9hZGRlZCksIChfc2lua19jaGFpbiksCgkgIChfc2lua19ldmVudCksIChfY3JlYXRlX3NpbmtfcGFkKSwgKF9jcmVhdGVfc3JjX3BhZF9wdXNoKSwKCSAgKF9zcmNfZ2V0cmFuZ2UpLCAoX3NyY19xdWVyeSksIChfY3JlYXRlX3NyY19wYWRfcHVsbCksCgkgIChHU1RfU1RBUlRfVEVTVCksIChteGZkZW11eF9zdWl0ZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmZGVtdXguaDoKCSAgQWRkIHB1c2ggYW5kIHB1bGwgbW9kZSB1bml0IHRlc3QgZm9yIG14ZmRlbXV4LgoKMjAwOC0xMi0xNiAwODozNTowNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIGluaXRpYWwgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIE1YRiBwbHVnaW4gYW5kIG14ZmRlbXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgICogZ3N0L214Zi9teGZkZW11eC5oOgoJICBBZGQgaW5pdGlhbCBkb2N1bWVudGF0aW9uIGZvciB0aGUgTVhGIHBsdWdpbiBhbmQgbXhmZGVtdXguCgoyMDA4LTEyLTE2IDA4OjIxOjI5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogUmVuYW1lIE1YRk1ldGFkYXRhQmFzZSBtZXRob2RzIHRvIHJlZmxlY3QgdGhhdCB0aGV5IGJlbG9uZyB0bwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfcmVzb2x2ZV9yZWZlcmVuY2VzKToKCSAgKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6IChteGZfbWV0YWRhdGFfYmFzZV9yZXNvbHZlX2RlZmF1bHQpLAoJICAobXhmX21ldGFkYXRhX2Jhc2VfY2xhc3NfaW5pdCksIChteGZfbWV0YWRhdGFfYmFzZV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfYmFzZV9yZXNvbHZlKSwgKG14Zl9tZXRhZGF0YV9uZXcpLAoJICAobXhmX21ldGFkYXRhX3ByZWZhY2VfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX2Vzc2VuY2VfY29udGFpbmVyX2RhdGFfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19wYWNrYWdlX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX3NvdXJjZV9wYWNrYWdlX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX3RyYWNrX3Jlc29sdmUpLCAobXhmX21ldGFkYXRhX3NlcXVlbmNlX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX2RtX3NlZ21lbnRfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3JfcmVzb2x2ZSk6CgkgICogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJICBSZW5hbWUgTVhGTWV0YWRhdGFCYXNlIG1ldGhvZHMgdG8gcmVmbGVjdCB0aGF0IHRoZXkgYmVsb25nIHRvCgkgIE1YRk1ldGFkYXRhQmFzZSBhbmQgbm90IE1YRk1ldGFkYXRhLgoKMjAwOC0xMi0xNSAxODoxMjoyNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IFJldHVybiBGQUxTRSB3aGVuIHBhcnNpbmcgYSBtZXRhZGF0YSB0YWcgZmFpbGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSAgKG14Zl9tZXRhZGF0YV93YXZlX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9hZXMzX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKToKCSAgKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIChteGZfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKToKCSAgUmV0dXJuIEZBTFNFIHdoZW4gcGFyc2luZyBhIG1ldGFkYXRhIHRhZyBmYWlsZWQuCgkgIFJlbW92ZSBzb21lIHVzZWxlc3MgcmV0dXJuIHZhbHVlIGFzc2lnbm1lbnRzLgoKMjAwOC0xMi0xNSAxNzoyNzowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IENvbnZlcnQgdGhlIHN0cnVjdHVyYWwgbWV0YWRhdGEgdG8gR3N0TWluaU9iamVjdHMgdG8gbWFrZSBhIGxvdCBvZiBjb2RlIGVhc2llciBhbmQgdG8gbWFrZSBldmVyeXRoaW5nIGJldHRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkgICogZ3N0L214Zi9teGYuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSAgKG14Zl9tZXRhZGF0YV93YXZlX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV93YXZlX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV93YXZlX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9hZXMzX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9maW5hbGl6ZSksCgkgIChteGZfbWV0YWRhdGFfYWVzM19hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfYWVzM19hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfYWVzM19hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfY2xhc3NfaW5pdCksCgkgIChteGZfaXNfYWVzX2J3Zl9lc3NlbmNlX3RyYWNrKSwgKG14Zl9id2ZfY3JlYXRlX2NhcHMpLAoJICAobXhmX2FlczNfY3JlYXRlX2NhcHMpLCAobXhmX2Flc19id2ZfY3JlYXRlX2NhcHMpLAoJICAobXhmX2Flc19id2ZfaW5pdCk6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmg6CgkgICogZ3N0L214Zi9teGZhbGF3LmM6IChteGZfaXNfYWxhd19lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9hbGF3X2NyZWF0ZV9jYXBzKSwgKG14Zl9hbGF3X2luaXQpOgoJICAqIGdzdC9teGYvbXhmYWxhdy5oOgoJICAqIGdzdC9teGYvbXhmZDEwLmM6IChteGZfaXNfZDEwX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX2QxMF9jcmVhdGVfY2FwcyksIChteGZfZDEwX2luaXQpOgoJICAqIGdzdC9teGYvbXhmZDEwLmg6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9yZXNldF9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfcmVzb2x2ZV9yZWZlcmVuY2VzKSwKCSAgKGdzdF9teGZfZGVtdXhfZmluZF9wYWNrYWdlKSwgKGdzdF9teGZfZGVtdXhfY2hvb3NlX3BhY2thZ2UpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2dlbmVyaWNfY29udGFpbmVyX2Vzc2VuY2VfZWxlbWVudCksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9rbHZfcGFja2V0KSwgKGdzdF9teGZfZGVtdXhfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgICogZ3N0L214Zi9teGZkdi1kaWYuYzogKG14Zl9pc19kdl9kaWZfZXNzZW5jZV90cmFjayksCgkgIChteGZfZHZfZGlmX2NyZWF0ZV9jYXBzKSwgKG14Zl9kdl9kaWZfaW5pdCk6CgkgICogZ3N0L214Zi9teGZkdi1kaWYuaDoKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6IChteGZfaXNfanBlZzIwMDBfZXNzZW5jZV90cmFjayksCgkgIChteGZfanBlZzIwMDBfY3JlYXRlX2NhcHMpLCAobXhmX2pwZWcyMDAwX2luaXQpOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuaDoKCSAgKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6IChteGZfbWV0YWRhdGFfYmFzZV9maW5hbGl6ZSksCgkgIChteGZfbWV0YWRhdGFfYmFzZV9oYW5kbGVfdGFnKSwgKG14Zl9tZXRhZGF0YV9iYXNlX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX2Jhc2VfaW5pdCksIChteGZfbWV0YWRhdGFfYmFzZV9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9wYXJzZSksIChteGZfbWV0YWRhdGFfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfaGFuZGxlX3RhZyksIChteGZfbWV0YWRhdGFfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfaW5pdCksIChteGZfbWV0YWRhdGFfaW5pdF90eXBlcyksCgkgIChteGZfbWV0YWRhdGFfcmVnaXN0ZXIpLCAobXhmX21ldGFkYXRhX25ldyksCgkgIChteGZfbWV0YWRhdGFfcHJlZmFjZV9maW5hbGl6ZSksIChteGZfbWV0YWRhdGFfcHJlZmFjZV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9wcmVmYWNlX3Jlc29sdmUpLCAobXhmX21ldGFkYXRhX3ByZWZhY2VfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfcHJlZmFjZV9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9pZGVudGlmaWNhdGlvbl9maW5hbGl6ZSksCgkgIChteGZfbWV0YWRhdGFfaWRlbnRpZmljYXRpb25faGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfaWRlbnRpZmljYXRpb25faW5pdCksCgkgIChteGZfbWV0YWRhdGFfaWRlbnRpZmljYXRpb25fY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlX2ZpbmFsaXplKSwKCSAgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX2NvbnRlbnRfc3RvcmFnZV9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZXNzZW5jZV9jb250YWluZXJfZGF0YV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9lc3NlbmNlX2NvbnRhaW5lcl9kYXRhX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX2Vzc2VuY2VfY29udGFpbmVyX2RhdGFfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZXNzZW5jZV9jb250YWluZXJfZGF0YV9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BhY2thZ2VfZmluYWxpemUpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGFja2FnZV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BhY2thZ2VfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19wYWNrYWdlX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGFja2FnZV9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9tYXRlcmlhbF9wYWNrYWdlX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX21hdGVyaWFsX3BhY2thZ2VfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfbWF0ZXJpYWxfcGFja2FnZV9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9zb3VyY2VfcGFja2FnZV9maW5hbGl6ZSksCgkgIChteGZfbWV0YWRhdGFfc291cmNlX3BhY2thZ2VfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfc291cmNlX3BhY2thZ2VfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfc291cmNlX3BhY2thZ2VfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfc291cmNlX3BhY2thZ2VfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfdHJhY2tfZmluYWxpemUpLCAobXhmX21ldGFkYXRhX3RyYWNrX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3RyYWNrX3Jlc29sdmUpLCAobXhmX21ldGFkYXRhX3RyYWNrX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3RyYWNrX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3RyYWNrX2lkZW50aWZpZXJfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX3RpbWVsaW5lX3RyYWNrX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3RpbWVsaW5lX3RyYWNrX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3RpbWVsaW5lX3RyYWNrX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2V2ZW50X3RyYWNrX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2V2ZW50X3RyYWNrX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2V2ZW50X3RyYWNrX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3N0YXRpY190cmFja19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9zdGF0aWNfdHJhY2tfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfc2VxdWVuY2VfZmluYWxpemUpLAoJICAobXhmX21ldGFkYXRhX3NlcXVlbmNlX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3NlcXVlbmNlX3Jlc29sdmUpLCAobXhmX21ldGFkYXRhX3NlcXVlbmNlX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3NlcXVlbmNlX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3N0cnVjdHVyYWxfY29tcG9uZW50X2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3N0cnVjdHVyYWxfY29tcG9uZW50X2luaXQpLAoJICAobXhmX21ldGFkYXRhX3N0cnVjdHVyYWxfY29tcG9uZW50X2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3RpbWVjb2RlX2NvbXBvbmVudF9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV90aW1lY29kZV9jb21wb25lbnRfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfdGltZWNvZGVfY29tcG9uZW50X2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3NvdXJjZV9jbGlwX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3NvdXJjZV9jbGlwX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX3NvdXJjZV9jbGlwX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3NvdXJjZV9jbGlwX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2RtX3NvdXJjZV9jbGlwX2ZpbmFsaXplKSwKCSAgKG14Zl9tZXRhZGF0YV9kbV9zb3VyY2VfY2xpcF9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9kbV9zb3VyY2VfY2xpcF9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9kbV9zb3VyY2VfY2xpcF9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9kbV9zZWdtZW50X2ZpbmFsaXplKSwKCSAgKG14Zl9tZXRhZGF0YV9kbV9zZWdtZW50X2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2RtX3NlZ21lbnRfcmVzb2x2ZSksIChteGZfbWV0YWRhdGFfZG1fc2VnbWVudF9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9kbV9zZWdtZW50X2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvcl9maW5hbGl6ZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvcl9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3JfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2ZpbGVfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9maWxlX2Rlc2NyaXB0b3JfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZmlsZV9kZXNjcmlwdG9yX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3Jfc2V0X2NhcHMpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2NkY2lfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfY2RjaV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9jZGNpX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3JnYmFfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfZmluYWxpemUpLAoJICAobXhmX21ldGFkYXRhX3JnYmFfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfcmdiYV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9yZ2JhX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGF0YV9lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kYXRhX2Vzc2VuY2VfZGVzY3JpcHRvcl9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2RhdGFfZXNzZW5jZV9kZXNjcmlwdG9yX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3JfZmluYWxpemUpLAoJICAobXhmX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvcl9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yX2luaXQpLAoJICAobXhmX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3JfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfbG9jYXRvcl9pbml0KSwgKG14Zl9tZXRhZGF0YV9sb2NhdG9yX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3RleHRfbG9jYXRvcl9maW5hbGl6ZSksCgkgIChteGZfbWV0YWRhdGFfdGV4dF9sb2NhdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3RleHRfbG9jYXRvcl9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV90ZXh0X2xvY2F0b3JfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfbmV0d29ya19sb2NhdG9yX2ZpbmFsaXplKSwKCSAgKG14Zl9tZXRhZGF0YV9uZXR3b3JrX2xvY2F0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfbmV0d29ya19sb2NhdG9yX2luaXQpLAoJICAobXhmX21ldGFkYXRhX25ldHdvcmtfbG9jYXRvcl9jbGFzc19pbml0KToKCSAgKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6CgkgIChteGZfbWV0YWRhdGFfbXBlZ192aWRlb19kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX21wZWdfdmlkZW9fZGVzY3JpcHRvcl9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9tcGVnX3ZpZGVvX2Rlc2NyaXB0b3JfY2xhc3NfaW5pdCksCgkgIChteGZfaXNfbXBlZ19lc3NlbmNlX3RyYWNrKSwgKG14Zl9tcGVnX2VzX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl9tcGVnX2NyZWF0ZV9jYXBzKSwgKG14Zl9tcGVnX2luaXQpOgoJICAqIGdzdC9teGYvbXhmbXBlZy5oOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKG14Zl9pbmRleF90YWJsZV9zZWdtZW50X3BhcnNlKSwKCSAgKG14Zl9sb2NhbF90YWdfYWRkX3RvX2hhc2hfdGFibGUpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgICogZ3N0L214Zi9teGZ1cC5jOiAobXhmX2lzX3VwX2Vzc2VuY2VfdHJhY2spLCAobXhmX3VwX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl91cF9pbml0KToKCSAgKiBnc3QvbXhmL214ZnVwLmg6CgkgIENvbnZlcnQgdGhlIHN0cnVjdHVyYWwgbWV0YWRhdGEgdG8gR3N0TWluaU9iamVjdHMgdG8gbWFrZSBhIGxvdCBvZgoJICBjb2RlIGVhc2llciBhbmQgdG8gbWFrZSBldmVyeXRoaW5nIGJldHRlciBleHRlbnNpYmxlLgoJICBBZGQgYSAicmVnaXN0cnkiIGZvciBtZXRhZGF0YSBoYW5kbGVycyB0byBpbXByb3ZlIGV4dGVuc2liaWxpdHkgZXZlbgoJICBtb3JlIGFuZCB0byByZW1vdmUgbWV0YWRhdGEgdHlwZSBzcGVjaWZpY3MgZnJvbSBteGZkZW11eC4KCSAgQ2xlYW4gdXAgYSBsb3Qgb2YgcGFydHMgYW5kIGFkZCBzb21lIG1vcmUgTlVMTCBjaGVja3MuCgoyMDA4LTEyLTE1IDE1OjU2OjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvZmFhYy9nc3RmYWFjLmM6IEZpeCBkZWZhdWx0IGZvciBvdXRwdXRmb3JtYXQgcHJvcGVydHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgRml4IGRlZmF1bHQgZm9yIG91dHB1dGZvcm1hdCBwcm9wZXJ0eS4KCjIwMDgtMTItMTUgMTI6MDI6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleGFtcGxlcy9hcHAvOiBGaXggZXhhbXBsZSB0byB1bnJlZiBhZnRlciBlbWl0aW5nIHRoZSBwdXNoLWJ1ZmZlciBhY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtcmEuYzogKGZlZWRfZGF0YSk6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zZWVrYWJsZS5jOiAoZmVlZF9kYXRhKToKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbS5jOiAocmVhZF9kYXRhKToKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbTIuYzogKGZlZWRfZGF0YSk6CgkgIEZpeCBleGFtcGxlIHRvIHVucmVmIGFmdGVyIGVtaXRpbmcgdGhlIHB1c2gtYnVmZmVyIGFjdGlvbi4KCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOiAoZ3N0X2FwcF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYXBwX3NyY19wdXNoX2J1ZmZlcl9mdWxsKSwgKGdzdF9hcHBfc3JjX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9hcHBfc3JjX3B1c2hfYnVmZmVyX2FjdGlvbik6CgkgIERvbid0IHRha2UgdGhlIHJlZiBvbiB0aGUgYnVmZmVyIGluIHB1c2gtYnVmZmVyIGFjdGlvbiBiZWNhdXNlIGl0J3MgdG9vCgkgIGF3a3dhcmQgZm9yIGJpbmRpbmdzLiBGaXhlcyAjNTY0NDgyLgoKMjAwOC0xMi0xMyAxNjoyNjozOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIG00L01ha2VmaWxlLmFtOiBNb3JlIC5tNCB0aGF0IGFyZW4ndCBzaGlwcGVkIHdpdGggZ2V0dGV4dCAwLjE3IGFueW1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIG00L01ha2VmaWxlLmFtOgoJICBNb3JlIC5tNCB0aGF0IGFyZW4ndCBzaGlwcGVkIHdpdGggZ2V0dGV4dCAwLjE3IGFueW1vcmUuCgoyMDA4LTEyLTEzIDEzOjAwOjEwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgbTQvTWFrZWZpbGUuYW06IGludHR5cGVzLm00IGhhc24ndCBiZWVuIGF2YWlsYWJsZSBzaW5jZSBnZXR0ZXh0LTAuMTUsIGFuZCBzaW5jZSB3ZSBub3cgcmVxdWlyZSBnZXR0ZXh0ID49IDAuMTcgLi4uIHdlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIG00L01ha2VmaWxlLmFtOgoJICBpbnR0eXBlcy5tNCBoYXNuJ3QgYmVlbiBhdmFpbGFibGUgc2luY2UgZ2V0dGV4dC0wLjE1LCBhbmQgc2luY2Ugd2Ugbm93CgkgIHJlcXVpcmUgZ2V0dGV4dCA+PSAwLjE3IC4uLiB3ZSBjYW4gcmVtb3ZlIGl0IGZyb20gdGhlIGxpc3Qgb2YgZmlsZXMgdG8KCSAgZGlzdC4KCjIwMDgtMTItMTMgMDg6MDY6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogQWRkIGEgZ2VuZXJpYyBoYW5kbGVyIGZvciBkZXNjcmlwdGl2ZSBtZXRhZGF0YSBzbyB3ZSBjYW4gZ2V0IHNvbWUgZGVidWcgb3V0cHV0IGFuZCBsZXQgdXNlcnMgZmlsZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X2hhbmRsZV9kZXNjcmlwdGl2ZV9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9rbHZfcGFja2V0KToKCSAgQWRkIGEgZ2VuZXJpYyBoYW5kbGVyIGZvciBkZXNjcmlwdGl2ZSBtZXRhZGF0YSBzbyB3ZSBjYW4gZ2V0IHNvbWUKCSAgZGVidWcgb3V0cHV0IGFuZCBsZXQgdXNlcnMgZmlsZSBidWdzIGZvciB1bnN1cHBvcnQgZGVzY3JpcHRpdmUKCSAgbWV0YWRhdGEgc2NoZW1lcy4KCjIwMDgtMTItMTIgMTA6Mjk6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBNYWpvciB1cGRhdGUgb2YgdGhlIFRPRE8gbGlzdHMuIFRoZXJlJ3Mgc3RpbGwgbXVjaCB0byBkby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkgICogZ3N0L214Zi9teGZhbGF3LmM6IChteGZfYWxhd19jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAqIGdzdC9teGYvbXhmZHYtZGlmLmM6IChteGZfZHZfZGlmX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6CgkgICogZ3N0L214Zi9teGZ1cC5jOgoJICBNYWpvciB1cGRhdGUgb2YgdGhlIFRPRE8gbGlzdHMuIFRoZXJlJ3Mgc3RpbGwgbXVjaCB0byBkby4KCjIwMDgtMTItMTEgMTQ6MzU6MDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBJbXBsZW1lbnQgcGFyc2luZyBvZiBFdmVudCBUcmFja3MsIFN0YXRpYyBUcmFja3MsIERNIFNlZ21lbnRzIGFuZCBETSBTb3VyY2UgQ2xpcHMgYXMgYSBwcmVwYXJhdGlvbiBmb3IgZGVzYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV90cmFjayksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfcmVzb2x2ZV9yZWZlcmVuY2VzKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhKToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChteGZfbWV0YWRhdGFfdHJhY2tfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX3N0cnVjdHVyYWxfY29tcG9uZW50X3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9zdHJ1Y3R1cmFsX2NvbXBvbmVudF9yZXNldCk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICAqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgSW1wbGVtZW50IHBhcnNpbmcgb2YgRXZlbnQgVHJhY2tzLCBTdGF0aWMgVHJhY2tzLCBETSBTZWdtZW50cwoJICBhbmQgRE0gU291cmNlIENsaXBzIGFzIGEgcHJlcGFyYXRpb24gZm9yIGRlc2NyaXB0aXZlIG1ldGFkYXRhCgkgIHN1cHBvcnQuIE5leHQgc3RlcCBpcyB0byBpbXBsZW1lbnQgU01QVEUgUzM4ME0sICJEZXNjcmlwdGl2ZQoJICBNZXRhZGF0YSBTY2hlbWUtMSIuCgoyMDA4LTEyLTA5IDEzOjQ0OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmpwZWcyMDAwLmM6IEltcGxlbWVudCBkZXRlY3Rpb24gb2YgdGhlIGNvbG9yc3BhY2UgdXNlZCBieSB0aGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5jOiAobXhmX2pwZWcyMDAwX2NyZWF0ZV9jYXBzKToKCSAgSW1wbGVtZW50IGRldGVjdGlvbiBvZiB0aGUgY29sb3JzcGFjZSB1c2VkIGJ5IHRoZQoJICBKUEVHMjAwMCBjb2Rlc3RyZWFtLiBYWVogY29sb3JzcGFjZSBpc24ndCBzdXBwb3J0ZWQgYnkKCSAgb3VyIGRlY29kZXJzIHlldCB1bmZvcnR1bmF0ZWx5LgoKMjAwOC0xMi0wOCAxNTo0NjoxMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZwYXJzZS5jOiBBbGwgZnJhbWUgbGF5b3V0IHZhbHVlcyBleGNlcHQgMCBhcmUgZm9yIGludGVybGFjZWQgdmlkZW8sIG5vdCBvbmx5IDEgYW5kIDIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3NldF9jYXBzKToKCSAgQWxsIGZyYW1lIGxheW91dCB2YWx1ZXMgZXhjZXB0IDAgYXJlIGZvciBpbnRlcmxhY2VkIHZpZGVvLAoJICBub3Qgb25seSAxIGFuZCAyLgoKMjAwOC0xMi0wOCAxNToyODo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IFJlbW92ZSB0aGUgY29uY2VwdCBvZiAiZmluYWwiIG1ldGFkYXRhLCBicm9rZW4gZmlsZXMgaGF2ZSB1cGRhdGVkIG1ldGFkYXRhIGluIGZvbGxvd2luZyBwYXJ0aXRpb25zIGV2ZW4gaWYgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcmVzZXRfbWV0YWRhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfcHJpbWVyX3BhY2spLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfcHJlZmFjZSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfcmVzb2x2ZV9yZWZlcmVuY2VzKSwKCSAgKGdzdF9teGZfZGVtdXhfY2hvb3NlX3BhY2thZ2UpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKSwKCSAgKGdzdF9teGZfZGVtdXhfcGFyc2VfZm9vdGVyX21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2tsdl9wYWNrZXQpOgoJICAqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIFJlbW92ZSB0aGUgY29uY2VwdCBvZiAiZmluYWwiIG1ldGFkYXRhLCBicm9rZW4gZmlsZXMgaGF2ZSB1cGRhdGVkCgkgIG1ldGFkYXRhIGluIGZvbGxvd2luZyBwYXJ0aXRpb25zIGV2ZW4gaWYgdGhlIGN1cnJlbnQgcGFydGl0aW9uCgkgIGlzIGNsb3NlZCBhbmQgY29tcGxldGUuCgkgIElmIHRoZXJlJ3MgYSBzZWNvbmQgcHJpbWVyIHBhY2sgaW5zaWRlIGEgcGFydGl0aW9uIGlnbm9yZSB0aGUgc2Vjb25kCgkgIG9uZSBpbnN0ZWFkIG9mIHRocm93aW5nIGFuIGVycm9yLgoJICBTdG9yZSB0aGUgdHlwZSBvZiBhIHRyYWNrIChhdWRpbywgdmlkZW8sIHRpbWVzdGFtcCwgLi4uKSBpbnNpZGUgdGhlCgkgIHRyYWNrIHN0cnVjdC4KCSAgUG9zdCBuby1tb3JlLXBhZHMgb25seSBvbmNlIGZvciBhIHN0cmVhbSBhbmQgbm90IGEgc2Vjb25kIHRpbWUKCSAgd2hlbiBzd2l0Y2hpbmcgdGhlIGN1cnJlbnRseSBwbGF5aW5nIHBhY2thZ2UuCgkgIFdoZW4gdXBkYXRpbmcgYWxsIHN0cmVhbXMgbWFrZSBzdXJlIHRoYXQgd2UgY291bGQgc2VsZWN0IGFuZCBmaW5kCgkgIGEgcGFja2FnZSBpbnN0ZWFkIG9mIGRlcmVmZXJlbmNpbmcgTlVMTC4KCSAgQWxsb3cgZGVzY3JpcHRpdmUgbWV0YWRhdGEgaW5zaWRlIG1ldGFkYXRhIHBhcnRzIG9mIGEgZmlsZSB3aGVuCgkgIHB1bGxpbmcgdGhlIGZvb3RlciBtZXRhZGF0YSB0b28uCgkgIE9ubHkgc3dpdGNoIHRoZSBjdXJyZW50bHkgcGxheWluZyBwYWNrYWdlIGlmIGEgbmV3IG9uZSB3YXMgY2hvc2VuCgkgIGFuZCB0aGUgbWV0YWRhdGEgaXMgaW4gYSByZXNvbHZlZCBzdGF0ZS4gSWYgdGhlIGxhdHRlciBpc24ndCB0cnVlCgkgIHBvc3Rwb25lIHRoZSBzd2l0Y2ggdW50aWwgdGhlIG1ldGFkYXRhIGlzIHJlc29sdmVkLgoJICBQdWxsIHRoZSBmb290ZXIgbWV0YWRhdGEgZGlyZWN0bHkgYWZ0ZXIgcGFyc2luZyB0aGUgaGVhZGVyIHBhcnRpdGlvbgoJICBwYWNrIGlmIGl0J3Mgbm90IGNsb3NlZCBvciBub3QgY29tcGxldGUgaW5zdGVhZCBvZiB3YWl0aW5nIHVudGlsCgkgIHRoZSBuZXh0IEtMViBwYWNrZXQuCgoyMDA4LTEyLTA4IDEzOjQ4OjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZnVwLmM6IERvbid0IGNyZWF0ZSBhIHN1YmJ1ZmZlciwgaW5zdGVhZCBqdXN0IGNoYW5nZSB0aGUgYnVmZmVyIG1ldGFkYXRhIG9mIHRoZSBpbnB1dCBidWZmZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmdXAuYzogKG14Zl91cF9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KToKCSAgRG9uJ3QgY3JlYXRlIGEgc3ViYnVmZmVyLCBpbnN0ZWFkIGp1c3QgY2hhbmdlIHRoZSBidWZmZXIgbWV0YWRhdGEKCSAgb2YgdGhlIGlucHV0IGJ1ZmZlci4KCjIwMDgtMTItMDcgMjA6MTI6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogUmVuYW1lIEdzdE1YRlBhZCB0byBHc3RNWEZEZW11eFBhZCB0byBwcmV2ZW50IG5hbWUgY2xhc2hlcyB3aXRoIHRoZSBHc3RNWEZNdXhQYWQgaW4gdGhlIG11eGVyIChsYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3BhZF9maW5hbGl6ZSksCgkgIChnc3RfbXhmX2RlbXV4X3BhZF9jbGFzc19pbml0KSwgKGdzdF9teGZfZGVtdXhfcGFkX2luaXQpLAoJICAoZ3N0X214Zl9kZW11eF9yZW1vdmVfcGFkKSwgKGdzdF9teGZfZGVtdXhfcmVzZXRfbWV0YWRhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9jb21iaW5lX2Zsb3dzKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV9yZXNvbHZlX3JlZmVyZW5jZXMpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2dlbmVyaWNfY29udGFpbmVyX2Vzc2VuY2VfZWxlbWVudCksCgkgIChnc3RfbXhmX2RlbXV4X3B1bGxfcmFuZG9tX2luZGV4X3BhY2spLCAoZ3N0X214Zl9kZW11eF9sb29wKSwKCSAgKGdzdF9teGZfZGVtdXhfc3JjX3F1ZXJ5KToKCSAgUmVuYW1lIEdzdE1YRlBhZCB0byBHc3RNWEZEZW11eFBhZCB0byBwcmV2ZW50IG5hbWUgY2xhc2hlcwoJICB3aXRoIHRoZSBHc3RNWEZNdXhQYWQgaW4gdGhlIG11eGVyIChsYXRlcikuCgkgIFB1bGwgdGhlIHJhbmRvbSBpbmRleCBwYWNrIG9ubHkgZGlyZWN0bHkgYWZ0ZXIgc2tpcHBpbmcgdGhlIHJ1bgoJICBpbiBhbmQgZG9uJ3QgYWxsb2NhdGUgYW4gYXJyYXkgZm9yIGl0IGlmIHBhcnNpbmcgaXQgZmFpbGVkLgoKMjAwOC0xMi0wNyAxODo1Mjo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkMTAuYzogVXNlIHRoZSBtYXBwaW5nIGRhdGEgZm9yIHN0b3JpbmcgdGhlIGNoYW5uZWwgY291bnQgYW5kIHRoZSB3aWR0aCBpbnN0ZWFkIG9mIHBhcnNpbmcgY2FwcyBmb3IgZXZlcnkgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZDEwLmM6IChteGZfZDEwX3NvdW5kX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLAoJICAobXhmX2QxMF9jcmVhdGVfY2Fwcyk6CgkgIFVzZSB0aGUgbWFwcGluZyBkYXRhIGZvciBzdG9yaW5nIHRoZSBjaGFubmVsIGNvdW50IGFuZCB0aGUKCSAgd2lkdGggaW5zdGVhZCBvZiBwYXJzaW5nIGNhcHMgZm9yIGV2ZXJ5IGJ1ZmZlci4KCjIwMDgtMTItMDcgMTg6Mzk6NDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmdXAuYzogSGFuZGxlIHRoZSBpbWFnZSBzdGFydCBhbmQgZW5kIG9mZnNldHMsIG90aGVyd2lzZSB3ZSBvdXRwdXQgdG9vIGxhcmdlIGltYWdlIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmdXAuYzogKG14Zl91cF9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwKCSAgKG14Zl91cF9yZ2JhX2NyZWF0ZV9jYXBzKToKCSAgSGFuZGxlIHRoZSBpbWFnZSBzdGFydCBhbmQgZW5kIG9mZnNldHMsIG90aGVyd2lzZSB3ZSBvdXRwdXQKCSAgdG9vIGxhcmdlIGltYWdlIGJ1ZmZlcnMuCgoyMDA4LTEyLTA3IDE3OjU3OjEzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214Zm1wZWcuYzogU2V0IGNvZGVjIG5hbWUgdGFncyBmb3IgdGhlIE1QRUcgYXVkaW8gZXNzZW5jZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6IChteGZfbXBlZ19lc19jcmVhdGVfY2Fwcyk6CgkgIFNldCBjb2RlYyBuYW1lIHRhZ3MgZm9yIHRoZSBNUEVHIGF1ZGlvIGVzc2VuY2UuCgoyMDA4LTEyLTA3IDE3OjE2OjI5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgdW5jb21wcmVzc2VkIHZpZGVvIGVzc2VuY2UgKFNNUFRFIFMzODRNKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpOgoJICAqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgKiBnc3QvbXhmL214ZnVwLmM6IChteGZfaXNfdXBfZXNzZW5jZV90cmFjayksCgkgIChteGZfdXBfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksIChteGZfdXBfcmdiYV9jcmVhdGVfY2FwcyksCgkgIChteGZfdXBfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmdXAuaDoKCSAgQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgdW5jb21wcmVzc2VkIHZpZGVvIGVzc2VuY2UgKFNNUFRFIFMzODRNKS4KCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkgIChteGZfbWV0YWRhdGFfcmdiYV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9yZ2JhX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3Jlc2V0KToKCSAgRml4IHBhcnNpbmcgb2YgdGhlIFJHQkEgZGVzY3JpcHRvciBhbmQgYWRkIHN1cHBvcnQgZm9yIHBhcnNpbmcKCSAgdGhlIHBpeGVsIGxheW91dC4KCjIwMDgtMTItMDYgMjA6NDY6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogVGhlIHByZXZpb3VzIHBhcnRpdGlvbiBmaWVsZCBvZiB0aGUgcGFydGl0aW9uIGlzIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IHBhcnRpdGlvbiBhbmQgbm90IHRvIHRoZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3BhcnNlX2Zvb3Rlcl9tZXRhZGF0YSk6CgkgIFRoZSBwcmV2aW91cyBwYXJ0aXRpb24gZmllbGQgb2YgdGhlIHBhcnRpdGlvbiBpcyByZWxhdGl2ZQoJICB0byB0aGUgY3VycmVudCBwYXJ0aXRpb24gYW5kIG5vdCB0byB0aGUgb2Zmc2V0IG9mIHRoZSBoZWFkZXIKCSAgcGFydGl0aW9uLgoKMjAwOC0xMi0wNiAxOTo0NjowNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkMTAuYzogRG9jdW1lbnQgZGVjb2Rpbmcgb2YgdGhlIEFFUzMgZGF0YSBhbmQgYWxzbyBza2lwIHRoZSAzMiBiaXQgaGVhZGVyIGluIHRoZSBiZWdpbm5pbmcgb2YgZXZlcnkgYnVmZmVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZDEwLmM6IChteGZfZDEwX3NvdW5kX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpOgoJICBEb2N1bWVudCBkZWNvZGluZyBvZiB0aGUgQUVTMyBkYXRhIGFuZCBhbHNvIHNraXAgdGhlIDMyIGJpdAoJICBoZWFkZXIgaW4gdGhlIGJlZ2lubmluZyBvZiBldmVyeSBidWZmZXIsIG90aGVyd2lzZSB3ZSBnZXQKCSAgb25lIGJyb2tlbiBhdWRpbyBjaGFubmVsLgoKMjAwOC0xMi0wNSAxMjoyNjowMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEltcGxlbWVudCBwYXJzaW5nIG9mIHRoZSBnZW5lcmljIGRhdGEgZXNzZW5jZSBkZXNjcmlwdG9yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3Jlc2V0X21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2dlbmVyaWNfZGF0YV9lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3Jlc29sdmVfcmVmZXJlbmNlcyksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YSk6CgkgICogZ3N0L214Zi9teGZkZW11eC5oOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2RhdGFfZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGF0YV9lc3NlbmNlX2Rlc2NyaXB0b3JfcmVzZXQpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIEltcGxlbWVudCBwYXJzaW5nIG9mIHRoZSBnZW5lcmljIGRhdGEgZXNzZW5jZSBkZXNjcmlwdG9yLgoKMjAwOC0xMi0wNSAxMDozMjo1NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBHZW5lcmFsaXplIHNvbWUgbGluZXMgb2YgY29kZXMgdGhhdCBhcmUgbW9yZSBvciBsZXNzIHRoZSBzYW1lIGJ5IGEgbWFjcm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV9yZXNvbHZlX3JlZmVyZW5jZXMpOgoJICBHZW5lcmFsaXplIHNvbWUgbGluZXMgb2YgY29kZXMgdGhhdCBhcmUgbW9yZSBvciBsZXNzIHRoZSBzYW1lCgkgIGJ5IGEgbWFjcm8uCgoyMDA4LTEyLTA0IDIwOjExOjE3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IEFwcGFyZW50bHkgQUNfQ09ORklHX01BQ1JPX0RJUiBicmVha3Mgd2hlbiB1c2luZyBtb3JlIHRoYW4gb25lIG1hY3JvIGRpcmVjdG9yeSwgcmV2ZXJ0aW5nIGxhc3QgY2hhbmdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEFwcGFyZW50bHkgQUNfQ09ORklHX01BQ1JPX0RJUiBicmVha3Mgd2hlbiB1c2luZyBtb3JlCgkgIHRoYW4gb25lIG1hY3JvIGRpcmVjdG9yeSwgcmV2ZXJ0aW5nIGxhc3QgY2hhbmdlLgoKMjAwOC0xMi0wNCAxOTo1MDoxMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBTZXQgQUNfQ09ORklHX01BQ1JPX0RJUiB0byBjb21tb24vbTQgdG8gcG9pbnQgYXV0b2NvbmYgdG8gb3VyIE00IG1hY3Jvcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBTZXQgQUNfQ09ORklHX01BQ1JPX0RJUiB0byBjb21tb24vbTQgdG8gcG9pbnQgYXV0b2NvbmYgdG8KCSAgb3VyIE00IG1hY3Jvcy4KCjIwMDgtMTItMDQgMTc6NTE6MzcgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IEVuc3VyZSB3ZSBlbWl0IG5vdGlmeTo6YWN0aXZlLXBhZCB3aGVuIGF1dG8tc2VsZWN0aW5nIGEgcGFkIGR1ZSB0byBpdCBoYXZpbmcgYWN0aXZpdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBFbnN1cmUgd2UgZW1pdCBub3RpZnk6OmFjdGl2ZS1wYWQgd2hlbiBhdXRvLXNlbGVjdGluZyBhIHBhZAoJICBkdWUgdG8gaXQgaGF2aW5nIGFjdGl2aXR5IGFuZCB1cyBub3QgaGF2aW5nIGFuIGV4aXN0aW5nIGFjdGl2ZQoJICBwYWQuIEZpeGVzICM1NjMxNDcKCjIwMDgtMTItMDQgMTM6Mjg6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBDb2Rpbmcgc3R5bGUgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV9yZXNvbHZlX3JlZmVyZW5jZXMpOgoJICAqIGdzdC9teGYvbXhmZHYtZGlmLmM6IChteGZfZHZfZGlmX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6IChteGZfanBlZzIwMDBfY3JlYXRlX2NhcHMpOgoJICBDb2Rpbmcgc3R5bGUgZml4ZXMuCgkgICogZ3N0L214Zi9teGZtcGVnLmM6IChteGZfbXBlZ19hdWRpb19oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwKCSAgKG14Zl9tcGVnX2VzX2NyZWF0ZV9jYXBzKSwgKG14Zl9tcGVnX2NyZWF0ZV9jYXBzKToKCSAgQWRkIHN1cHBvcnQgZm9yIE1QRUcsIEFDMywgRFRTIGF1ZGlvLgoKMjAwOC0xMi0wNCAwOToyNjoyNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBJZ25vcmUgemVybyBzaXplZCBlc3NlbmNlIGVsZW1lbnRzLiBUaGV5J3JlIG9mdGVuIGluc2VydGVkIHRvIGZ1bGZpbGwgdGhlIHN0cmVhbWluZyByZXF1aXJlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2dlbmVyaWNfY29udGFpbmVyX2Vzc2VuY2VfZWxlbWVudCk6CgkgIElnbm9yZSB6ZXJvIHNpemVkIGVzc2VuY2UgZWxlbWVudHMuIFRoZXkncmUgb2Z0ZW4gaW5zZXJ0ZWQKCSAgdG8gZnVsZmlsbCB0aGUgc3RyZWFtaW5nIHJlcXVpcmVtZW50cy4KCjIwMDgtMTItMDQgMDg6NTA6NDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmcGFyc2UuYzogRml4IHNldHRpbmcgb2YgdGhlIGhlaWdodC93aWR0aCBhbmQgUEFSIG9mIHZpZGVvIHN0cmVhbXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3NldF9jYXBzKToKCSAgRml4IHNldHRpbmcgb2YgdGhlIGhlaWdodC93aWR0aCBhbmQgUEFSIG9mIHZpZGVvIHN0cmVhbXMuCgoyMDA4LTEyLTA0IDA4OjM3OjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogQWRkIHN1cHBvcnQgZm9yIFNNUFRFIEQxMCBlc3NlbmNlIChTTVBURSAzODZNKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXhmL214ZmQxMC5jOiAobXhmX2lzX2QxMF9lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9kMTBfcGljdHVyZV9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwKCSAgKG14Zl9kMTBfc291bmRfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksIChteGZfZDEwX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmQxMC5oOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyk6CgkgIEFkZCBzdXBwb3J0IGZvciBTTVBURSBEMTAgZXNzZW5jZSAoU01QVEUgMzg2TSkuCgkgICogZ3N0L214Zi9teGZwYXJzZS5jOgoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3Jfc2V0X2NhcHMpOgoJICBEb24ndCBzZXQgd2lkdGgvaGVpZ2h0IGFuZCBQQVIgb24gdGhlIGNhcHMgYXMgdGhvc2UgdmFsdWVzIGFyZQoJICB3cm9uZyBmb3IgbW9zdCBmaWxlcyAoaGVpZ2h0IGlzIHNvbWV0aW1lcyB0aGUgaGVpZ2h0IG9mIGEgZmllbGQKCSAgYW5kIGFzcGVjdCByYXRpbyBpcyBzb21lIHJhbmRvbSB2YWx1ZSkuCgkgICogZ3N0L214Zi9teGZhZXMtYndmLmM6IChteGZfYndmX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl9hZXMzX2NyZWF0ZV9jYXBzKToKCSAgRml4IGNhbGN1bGF0aW9uIG9mIGJsb2NrIGFsaWduIGlmIGl0IGlzbid0IHNldCBpbiB0aGUgZGVzY3JpcHRvci4KCjIwMDgtMTItMDMgMTY6MDg6MjggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBBZGQgc3VwcG9ydCBmb3IgQUVTMyBhdWRpbyAoU01QVEUgMzgyTSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJICAobXhmX21ldGFkYXRhX2FlczNfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2FlczNfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX3Jlc2V0KSwKCSAgKG14Zl9hZXMzX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLCAobXhmX2J3Zl9jcmVhdGVfY2FwcyksCgkgIChteGZfYWVzM19jcmVhdGVfY2FwcyksIChteGZfYWVzX2J3Zl9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmg6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9yZXNldF9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9hZXMzX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfcmVzb2x2ZV9yZWZlcmVuY2VzKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhKToKCSAgKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIEFkZCBzdXBwb3J0IGZvciBBRVMzIGF1ZGlvIChTTVBURSAzODJNKS4KCSAgKiBnc3QvbXhmL214ZmR2LWRpZi5jOiAobXhmX2R2X2RpZl9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5jOiAobXhmX2pwZWcyMDAwX2NyZWF0ZV9jYXBzKToKCSAgRml4IGNvZGluZyBzdHlsZS4KCjIwMDgtMTItMDMgMTM6MTc6NDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2dlbmVyaWNfY29udGFpbmVyX2Vzc2VuY2VfZWxlbWVudCk6CgkgIEltcHJvdmUgZGVidWdnaW5nIGEgYml0LgoKMjAwOC0xMi0wMyAxMTo0MzowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBDaGVjayBpZiBzdHJpbmdzIGFyZSB2YWxpZCBVVEY4IGJlZm9yZSB1c2luZyB0aGVtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChGTFZfR0VUX1NUUklORyk6CgkgIENoZWNrIGlmIHN0cmluZ3MgYXJlIHZhbGlkIFVURjggYmVmb3JlIHVzaW5nIHRoZW0uCgoyMDA4LTEyLTAzIDEwOjE1OjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZnBhcnNlLmM6IFJlbW92ZSBGSVhNRSwgemVyby1VTHMgYW5kIFVNSURzIGFyZSByZWFsbHkgaW52YWxpZCBhbmQgd2UgY2FuIHVzZSB0aGVtIGFzICJ1bnNldCIgdmFsdWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSAgUmVtb3ZlIEZJWE1FLCB6ZXJvLVVMcyBhbmQgVU1JRHMgYXJlIHJlYWxseSBpbnZhbGlkIGFuZCB3ZSBjYW4KCSAgdXNlIHRoZW0gYXMgInVuc2V0IiB2YWx1ZS4KCjIwMDgtMTItMDMgMDg6MDQ6MzggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogVXNlIGEgc2luZ2xlICJ0cmFja18ldSIgc3JjIHBhZCB0ZW1wbGF0ZSBhbmQgdXNlIHRoZSB0cmFjayBJRCBvZiB0aGUgcGxheWJhY2sgcGFja2FnZSBmb3IgdGhlIHBhZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpLAoJICAoZ3N0X214Zl9kZW11eF9iYXNlX2luaXQpOgoJICBVc2UgYSBzaW5nbGUgInRyYWNrXyV1IiBzcmMgcGFkIHRlbXBsYXRlIGFuZCB1c2UgdGhlIHRyYWNrIElECgkgIG9mIHRoZSBwbGF5YmFjayBwYWNrYWdlIGZvciB0aGUgcGFkIG5hbWUgaW5zdGVhZCBvZiB0aGUgdHJhY2sgSUQKCSAgb2YgdGhlIHNvdXJjZSBwYWNrYWdlLCBhcyB0aGUgbGF0dGVyIGNvdWxkIGJlIHRoZSBzYW1lIGZvcgoJICBtb3JlIHRoYW4gb25lIHRyYWNrIGlmIHRoZXkncmUgaW4gZGlmZmVyZW50IHBhY2thZ2VzLgoKMjAwOC0xMi0wMiAwNjoyMToyMSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBleHQvanAyay9nc3RqYXNwZXJlbmMuYzogU29tZSBjb21waWxlcnMgY29tcGxhaW4gYWJvdXQgdW5pbml0aWFsaXplZCB2YXJpYWJsZTsgYWRkIGEgZ19hc3NlcnRfbm90X3JlYWNoZWQoKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzogU29tZSBjb21waWxlcnMgY29tcGxhaW4gYWJvdXQKCSAgdW5pbml0aWFsaXplZCB2YXJpYWJsZTsgYWRkIGEgZ19hc3NlcnRfbm90X3JlYWNoZWQoKQoKMjAwOC0xMi0wMSAxOTozNjozNSArMDAwMCAg7J2066y47ZiVIDxpd2luZ3NAZ21haWwuY29tPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzogRG9uJ3QgZm9yZ2V0IHRvIHJlbGVhc2UgdGhlIGxvY2sgYWdhaW4gaWYgd2UgYmFpbCBvdXQgYmVjYXVzZSBzb21lIHBhZCBpcyBmbHVzaGluZyBvciB3Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTog7J2066y47ZiVIDxpd2luZ3MgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOiAoZ3N0X2FwcF9zcmNfcHVzaF9idWZmZXIpOgoJICBEb24ndCBmb3JnZXQgdG8gcmVsZWFzZSB0aGUgbG9jayBhZ2FpbiBpZiB3ZSBiYWlsIG91dCBiZWNhdXNlIHNvbWUKCSAgcGFkIGlzIGZsdXNoaW5nIG9yIHdlJ3ZlIHJlYWNoZWQgRU9TLCBvdGhlcndpc2UgdGhpbmdzIHdpbGwgbG9jayB1cAoJICBuZXh0IHRpbWUgX3B1c2hfYnVmZmVyKCkgaXMgY2FsbGVkICgjNTYyODAyKS4KCjIwMDgtMTItMDEgMTY6Mzc6NDUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F0bXV4L2F0b21zLmM6IEZpeCBtajIgc2FtcGxlIGRlc2NyaXB0aW9uIG1ldGFkYXRhIGNvbnN0cnVjdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0bXV4L2F0b21zLmM6IChidWlsZF9qcDJoX2V4dGVuc2lvbik6CgkgIEZpeCBtajIgc2FtcGxlIGRlc2NyaXB0aW9uIG1ldGFkYXRhIGNvbnN0cnVjdGlvbi4KCjIwMDgtMTItMDEgMTU6NTA6NDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmanBlZzIwMDAuYzogVXNlIG5ldyBpbWFnZS94LWpwYyBjYXBzIGZvciB0aGUgcmF3IEpQRUcyMDAwIGNvZGVzdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuYzogKG14Zl9qcGVnMjAwMF9jcmVhdGVfY2Fwcyk6CgkgIFVzZSBuZXcgaW1hZ2UveC1qcGMgY2FwcyBmb3IgdGhlIHJhdyBKUEVHMjAwMCBjb2Rlc3RyZWFtLgoJICBGb3Igbm93IGFzc3VtZSBzUkdCIGFzIGNvbG9yc3BhY2UsIGhhcyB0byBiZSByZWFkIGZyb20gdGhlIGRlc2NyaXB0b3IKCSAgc29tZWhvdyBsYXRlci4KCjIwMDgtMTItMDEgMTU6NDg6MTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9qcDJrLzogQWRkIGltYWdlL3gtanBjIGNhcHMgbmFtZSBmb3IgcmVhbCwgcmF3IEpQRUcyMDAwIGNvZGVzdHJlYW0gZGF0YS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6IChnc3RfamFzcGVyX2RlY19zaW5rX3NldGNhcHMpOgoJICAqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOiAoZ3N0X2phc3Blcl9lbmNfcmVzZXQpLAoJICAoZ3N0X2phc3Blcl9lbmNfc2V0X3NyY19jYXBzKSwgKGdzdF9qYXNwZXJfZW5jX2luaXRfZW5jb2RlciksCgkgIChnc3RfamFzcGVyX2VuY19zaW5rX3NldGNhcHMpLCAoZ3N0X2phc3Blcl9lbmNfZ2V0X2RhdGEpOgoJICAqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5oOgoJICBBZGQgaW1hZ2UveC1qcGMgY2FwcyBuYW1lIGZvciByZWFsLCByYXcgSlBFRzIwMDAgY29kZXN0cmVhbSBkYXRhLgoJICBJbiAwLjExIHdlIHNob3VsZCBtZXJnZSBpbWFnZS94LWoyYyBhbmQgaW1hZ2UveC1qcGMgYW5kIHNpbXBseSBkcm9wCgkgIHRoZSBub24tc3RhbmRhcmQgYm94aW5nIGluIHRoZSBqYXNwZXIgZWxlbWVudHMgYW5kIGhhbmRsZSBpdCBpbgoJICBxdG11eC9xdGRlbXV4LgoJICBpbWFnZS94LWpwYyB3aWxsIGJlIHVzZWQgYnkgbXhmZGVtdXggbGF0ZXIuCgkgIEFsc28gYWRkIHN1cHBvcnQgZm9yIEpQMiBvdXRwdXQgaW4ganAya2VuYy4KCjIwMDgtMTItMDEgMTU6MjQ6MzcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBBZGQgdGhlIGNvZGVjIG5hbWUsIGFuZCBpZiBwb3NzaWJsZSB0aGUgYXZnIGJpdHJhdGUsIHRvIHRoZSBwYWQncyB0YWdsaXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzogKG14Zl9id2ZfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmYWxhdy5jOiAobXhmX2FsYXdfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2dlbmVyaWNfY29udGFpbmVyX2Vzc2VuY2VfZWxlbWVudCk6CgkgICogZ3N0L214Zi9teGZkdi1kaWYuYzogKG14Zl9kdl9kaWZfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuYzogKG14Zl9qcGVnMjAwMF9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6IChteGZfbXBlZ19lc19jcmVhdGVfY2FwcyksCgkgIChteGZfbXBlZ19jcmVhdGVfY2Fwcyk6CgkgIEFkZCB0aGUgY29kZWMgbmFtZSwgYW5kIGlmIHBvc3NpYmxlIHRoZSBhdmcgYml0cmF0ZSwgdG8gdGhlIHBhZCdzIHRhZ2xpc3QuCgoyMDA4LTEyLTAxIDE0OjI1OjE5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IElmIHRoZSBwcmVmYWNlIHJlZmVyZW5jZXMgYSBwcmltYXJ5IHBhY2thZ2UgdXNlIHRoaXMgYXMgdGhlIGRlZmF1bHQgcGxheWJhY2sgcGFja2FnZSB1bmxlc3Mgb25lIHcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9jaG9vc2VfcGFja2FnZSk6CgkgIElmIHRoZSBwcmVmYWNlIHJlZmVyZW5jZXMgYSBwcmltYXJ5IHBhY2thZ2UgdXNlIHRoaXMgYXMgdGhlIGRlZmF1bHQKCSAgcGxheWJhY2sgcGFja2FnZSB1bmxlc3Mgb25lIHdhcyBzcGVjaWZpZWQgYnkgdGhlICJwYWNrYWdlIiBwcm9wZXJ0eS4KCSAgSWYgdGhlcmUncyBubyBwcmVmYWNlIHByaW1hcnkgcGFja2FnZSBzdGlsbCB0cnkgdG8gdXNlIHRoZSBmaXJzdAoJICBtYXRlcmlhbCBwYWNrYWdlLgoKMjAwOC0xMS0zMCAxNzo1ODozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBJZiB0aGVyZSdzIG5vIGRlc2NyaXB0b3IgZm9yIHRoZSB0cmFjayBpbiB0aGUgdHJhY2sncyBzb3VyY2UgcGFja2FnZSBhbmQgdGhlcmUncyBhIHNpbmdsZSBkZXNjcmlwLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV9yZXNvbHZlX3JlZmVyZW5jZXMpOgoJICBJZiB0aGVyZSdzIG5vIGRlc2NyaXB0b3IgZm9yIHRoZSB0cmFjayBpbiB0aGUgdHJhY2sncyBzb3VyY2UKCSAgcGFja2FnZSBhbmQgdGhlcmUncyBhIHNpbmdsZSBkZXNjcmlwdG9yIHdpdGhvdXQgYSBsaW5rZWQgdHJhY2sKCSAgYXNzdW1lIHRoYXQgaXQgYmVsb25ncyB0byB0aGlzIHRyYWNrLgoKMjAwOC0xMS0zMCAxNzo0MjozMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IFNvbWUgcmFuZG9tIGNsZWFudXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmYWxhdy5jOiAobXhmX2lzX2FsYXdfZXNzZW5jZV90cmFjayk6CgkgICogZ3N0L214Zi9teGZhbGF3Lmg6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKToKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6IChteGZfaXNfanBlZzIwMDBfZXNzZW5jZV90cmFjayk6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5oOgoJICAqIGdzdC9teGYvbXhmbXBlZy5jOiAobXhmX2lzX21wZWdfZXNzZW5jZV90cmFjayksCgkgIChteGZfbXBlZ19lc19jcmVhdGVfY2FwcyksIChteGZfbXBlZ19jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZtcGVnLmg6CgkgIFNvbWUgcmFuZG9tIGNsZWFudXAuCgoyMDA4LTExLTMwIDE3OjI2OjU1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogQWRkIHByb3BlcnR5IHRvIHNlbGVjdCB0aGUgdG9wLWxldmVsIHNvdXJjZSBwYWNrYWdlIG9yIG1hdGVyaWFsIHBhY2thZ2UgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgcGxheWJhY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcmVtb3ZlX3BhZHMpLAoJICAoZ3N0X214Zl9kZW11eF9yZXNldCksIChnc3RfbXhmX2RlbXV4X2ZpbmRfcGFja2FnZSksCgkgIChnc3RfbXhmX2RlbXV4X2Nob29zZV9wYWNrYWdlKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9rbHZfcGFja2V0KSwgKGdzdF9teGZfZGVtdXhfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9teGZfZGVtdXhfZ2V0X3Byb3BlcnR5KSwgKGdzdF9teGZfZGVtdXhfZmluYWxpemUpLAoJICAoZ3N0X214Zl9kZW11eF9jbGFzc19pbml0KToKCSAgKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOiAobXhmX3VtaWRfZnJvbV9zdHJpbmcpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgQWRkIHByb3BlcnR5IHRvIHNlbGVjdCB0aGUgdG9wLWxldmVsIHNvdXJjZSBwYWNrYWdlIG9yIG1hdGVyaWFsCgkgIHBhY2thZ2UgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgcGxheWJhY2suCgoyMDA4LTExLTMwIDE2OjIxOjQyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IE1ha2Ugc3VyZSB0aGF0IGRlbXV4LT5vZmZzZXQgaGFzIHRoZSBjb3JyZWN0IHZhbHVlIGJlZm9yZSBjYWxsaW5nIGFueSBnc3RfbXhmX2RlbXV4X2hhbmRsZV8qIGZ1bmMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9wdWxsX3JhbmRvbV9pbmRleF9wYWNrKToKCSAgTWFrZSBzdXJlIHRoYXQgZGVtdXgtPm9mZnNldCBoYXMgdGhlIGNvcnJlY3QgdmFsdWUgYmVmb3JlCgkgIGNhbGxpbmcgYW55IGdzdF9teGZfZGVtdXhfaGFuZGxlXyogZnVuY3Rpb25zLgoKMjAwOC0xMS0zMCAxNDoxMjowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IFNldCB0aGUgY29ycmVjdCBNUEVHIHZpZGVvIHZlcnNpb24gaWYgcG9zc2libGUgYW5kIGFkZCBzdXBwb3J0IGZvciBNUEVHNCB2aWRlbywgaW5jbHVkaW5nIGNvZGVjX2RhdGEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuYzogKG14Zl9qcGVnMjAwMF9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6IChteGZfbXBlZ192aWRlb19jcmVhdGVfY2Fwcyk6CgkgIFNldCB0aGUgY29ycmVjdCBNUEVHIHZpZGVvIHZlcnNpb24gaWYgcG9zc2libGUgYW5kIGFkZCBzdXBwb3J0CgkgIGZvciBNUEVHNCB2aWRlbywgaW5jbHVkaW5nIGNvZGVjX2RhdGEuCgoyMDA4LTExLTI5IDIwOjI1OjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgSlBFRzIwMDAgZW5jb2RlZCB2aWRlbyBlc3NlbmNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyk6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5jOiAobXhmX2lzX2pwZWcyMDAwX3ZpZGVvX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX2pwZWcyMDAwX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLCAobXhmX2pwZWcyMDAwX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmg6CgkgIEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIEpQRUcyMDAwIGVuY29kZWQgdmlkZW8gZXNzZW5jZS4KCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9zZXRfY2Fwcyk6CgkgIFNldCB0aGUgZnJhbWVyYXRlIGluIHRoZSB2aWRlbyBjYXBzLgoKMjAwOC0xMS0yOSAyMDowNzoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6IERvbid0IHVucmVmIHRoZSBlbGVtZW50IGluc3RhbmNlIGlmIHdlIGRvbid0IG93biBhIHJlZmVyZW5jZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6IChnc3RfamFzcGVyX2RlY19zaW5rX3NldGNhcHMpOgoJICBEb24ndCB1bnJlZiB0aGUgZWxlbWVudCBpbnN0YW5jZSBpZiB3ZSBkb24ndCBvd24gYSByZWZlcmVuY2UuCgoyMDA4LTExLTI5IDEzOjMzOjMwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBSZXF1aXJlIGdldHRleHQgMC4xNyBiZWNhdXNlIG9sZGVyIHZlcnNpb25zIGRvbid0IG1peCB3aXRoIGxpYnRvb2wgMi4yLiBBdCBidWlsZCB0aW1lIGFuIG9sZGVyIGdldHRleHQgdmVyc2lvbiB3aWxsIHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBDeWd3aW4gUG9ydHMgbWFpbnRhaW5lcgoJICA8eXNlbGtvd2l0eiBhdCB1c2VycyBkb3Qgc291cmNlZm9yZ2UgZG90IG5ldD4KCSAgKiBhdXRvZ2VuLnNoOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSBnZXR0ZXh0IDAuMTcgYmVjYXVzZSBvbGRlciB2ZXJzaW9ucyBkb24ndCBtaXggd2l0aCBsaWJ0b29sCgkgIDIuMi4gQXQgYnVpbGQgdGltZSBhbiBvbGRlciBnZXR0ZXh0IHZlcnNpb24gd2lsbCBzdGlsbCB3b3JrLgoJICBGaXhlcyBidWcgIzU1NjA5MS4KCjIwMDgtMTEtMjggMTg6NTU6MDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogT25seSB0cnkgdG8gcHVsbCB0aGUgcmFuZG9tIGluZGV4IHBhY2sgYXQgdGhlIGVuZCBvZiBmaWxlIG9uZSB0aW1lIGFuZCBub3QgZm9yIGV2ZXJ5IHNpbmdsZSBwYWNrZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3B1bGxfcmFuZG9tX2luZGV4X3BhY2spOgoJICBPbmx5IHRyeSB0byBwdWxsIHRoZSByYW5kb20gaW5kZXggcGFjayBhdCB0aGUgZW5kIG9mIGZpbGUgb25lIHRpbWUKCSAgYW5kIG5vdCBmb3IgZXZlcnkgc2luZ2xlIHBhY2tldCBpZiBpdCBmYWlscy4KCjIwMDgtMTEtMjggMTg6MTM6MzAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBBZGQgc3VwcG9ydCBmb3IgQS1MYXcgZW5jb2RlZCBhdWRpbyBlc3NlbmNlIChTTVBURSAzODhNIGFuZCAzODJNKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzogKG14Zl9id2ZfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmYWxhdy5jOiAobXhmX2lzX2FsYXdfYXVkaW9fZXNzZW5jZV90cmFjayksCgkgIChteGZfYWxhd19oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwgKG14Zl9hbGF3X2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmFsYXcuaDoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpOgoJICBBZGQgc3VwcG9ydCBmb3IgQS1MYXcgZW5jb2RlZCBhdWRpbyBlc3NlbmNlIChTTVBURSAzODhNIGFuZCAzODJNKS4KCjIwMDgtMTEtMjggMTQ6MjI6NTAgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IGNoYW5nZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgY2hhbmdlcwoKMjAwOC0xMS0yOCAxMToyNDoyNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEltcGxlbWVudCBwYXJzaW5nIG9mIGluZGV4IHRhYmxlIHNlZ21lbnRzLCB3aGljaCB3aWxsIGxhdGVyIGJlIHVzZWQgZm9yIHNlZWtpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaW5kZXhfdGFibGVfc2VnbWVudCk6CgkgICogZ3N0L214Zi9teGZkZW11eC5oOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKG14Zl9pbmRleF90YWJsZV9zZWdtZW50X3BhcnNlKSwKCSAgKG14Zl9pbmRleF90YWJsZV9zZWdtZW50X3Jlc2V0KToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgICogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBJbXBsZW1lbnQgcGFyc2luZyBvZiBpbmRleCB0YWJsZSBzZWdtZW50cywgd2hpY2ggd2lsbCBsYXRlciBiZQoJICB1c2VkIGZvciBzZWVraW5nLgoKMjAwOC0xMS0yOCAwOTo0OTo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgVXBkYXRlIGF1ZGlvcmVzYW1wbGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIG5ldyBlbGVtZW50IG5hbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIFVwZGF0ZSBhdWRpb3Jlc2FtcGxlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBuZXcgZWxlbWVudCBuYW1lLgoKMjAwOC0xMS0yOCAwODozNzozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBBbmQgbm93IGFsc28gdXBkYXRlIHRoZSBkZWJ1ZyBjYXRlZ29yeSBmcm9tIGF1ZGlvcmVzYW1wbGUgdG8gbGVnYWN5cmVzYW1wbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgQW5kIG5vdyBhbHNvIHVwZGF0ZSB0aGUgZGVidWcgY2F0ZWdvcnkgZnJvbSBhdWRpb3Jlc2FtcGxlCgkgIHRvIGxlZ2FjeXJlc2FtcGxlLgoKMjAwOC0xMS0yNyAxOToyNzowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBSZW1vdmUgc3BlZXhyZXNhbXBsZSBmcm9tIHRoZSBidWlsZCBzeXN0ZW0gdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlbW92ZSBzcGVleHJlc2FtcGxlIGZyb20gdGhlIGJ1aWxkIHN5c3RlbSB0b28uCgoyMDA4LTExLTI3IDE5OjIyOjQyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBSZW1vdmUgb2xkIHNwZWV4cmVzYW1wbGUgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL1JFQURNRToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9hcmNoLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZml4ZWRfYXJtNC5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2ZpeGVkX2FybTVlLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZml4ZWRfYmZpbi5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2ZpeGVkX2RlYnVnLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZml4ZWRfZ2VuZXJpYy5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvcmVzYW1wbGUuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9yZXNhbXBsZV9zc2UuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXIuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfZG91YmxlLmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX2Zsb2F0LmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX2ludC5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl93cmFwcGVyLmg6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlZXhyZXNhbXBsZS5jOgoJICBSZW1vdmUgb2xkIHNwZWV4cmVzYW1wbGUgZmlsZXMuCgoyMDA4LTExLTI3IDE3OjA3OjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6IFJlbW92ZSBvbGQgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJICBSZW1vdmUgb2xkIGZpbGUuCgoyMDA4LTExLTI3IDE3OjA2OjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOiBBZGQgbWlzc2luZyBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJICBBZGQgbWlzc2luZyBmaWxlLgoKMjAwOC0xMS0yNyAxNjo1ODozMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgSW50ZWdyYXRlIHRoZSBtb3ZlZCBhdWRpb3Jlc2FtcGxlIGludG8gdGhlIGJ1aWxkIHN5c3RlbSBhbmQgcmVuYW1lIGl0IHRvIGxlZ2FjeXJlc2FtcGxlLiBGaXhlcyBidWcgIzU1ODEyNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10d29sYW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6IChzZXR1cF9hdWRpb3Jlc2FtcGxlKSwKCSAgKEdTVF9TVEFSVF9URVNUKToKCSAgSW50ZWdyYXRlIHRoZSBtb3ZlZCBhdWRpb3Jlc2FtcGxlIGludG8gdGhlIGJ1aWxkIHN5c3RlbSBhbmQKCSAgcmVuYW1lIGl0IHRvIGxlZ2FjeXJlc2FtcGxlLiBGaXhlcyBidWcgIzU1ODEyNC4KCjIwMDgtMTEtMjcgMTY6MjY6MzkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBJbXBsZW1lbnQgcGFyc2luZyBvZiB0aGUgcmFuZG9tIGluZGV4IHBhY2ssIHdoaWNoIHByb3ZpZGVzIGEgc2VlayB0YWJsZSAoaW5jbHVkaW5nIGJvZHkgc2lkKSB0byB0aGUgc3RhcnQgby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX3JhbmRvbV9pbmRleF9wYWNrKSwKCSAgKGdzdF9teGZfZGVtdXhfcHVsbF9yYW5kb21faW5kZXhfcGFjayksIChnc3RfbXhmX2RlbXV4X2xvb3ApOgoJICAqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChteGZfcmFuZG9tX2luZGV4X3BhY2tfcGFyc2UpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIEltcGxlbWVudCBwYXJzaW5nIG9mIHRoZSByYW5kb20gaW5kZXggcGFjaywgd2hpY2ggcHJvdmlkZXMgYSBzZWVrCgkgIHRhYmxlIChpbmNsdWRpbmcgYm9keSBzaWQpIHRvIHRoZSBzdGFydCBvZiBwYXJ0aXRpb24gcGFja3MuCgkgIExhdGVyIHRoaXMgd2lsbCBiZSB1c2VkIGZvciByZWFkaW5nIGFsbCBpbmRleCB0YWJsZSBzZWdtZW50cyBvZgoJICB0aGUgY29tcGxldGUgZmlsZSBlZmZpY2llbnRseS4KCjIwMDgtMTEtMjcgMTA6MDk6NTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBBZGQgZnVuZGFtZW50YWwgc3VwcG9ydCBmb3IgRFYtRElGIGVzc2VuY2Ugc3RyZWFtcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfa2x2X3BhY2tldCk6CgkgICogZ3N0L214Zi9teGZkdi1kaWYuYzogKG14Zl9pc19kdl9kaWZfZXNzZW5jZV90cmFjayksCgkgIChteGZfZHZfZGlmX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLCAobXhmX2R2X2RpZl9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZkdi1kaWYuaDoKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChteGZfaXNfZGVzY3JpcHRpdmVfbWV0YWRhdGEpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgQWRkIGZ1bmRhbWVudGFsIHN1cHBvcnQgZm9yIERWLURJRiBlc3NlbmNlIHN0cmVhbXMuCgkgIEhhbmRsZSBkZXNjcmlwdGl2ZSBtZXRhZGF0YSBwYWNrZXRzIGFzIG1ldGFkYXRhIHBhY2tldHMuCgoyMDA4LTExLTI3IDA4OjQ5OjA4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4Lio6IE9ubHkgdHJ5IHRvIHB1bGwgdGhlIGZvb3RlciBtZXRhZGF0YSBvbmNlIGFuZCBub3Qgb24gZXZlcnkgS0xWIHBhY2tldCBpZiBpdCBmYWlsZWQgYmVmb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2tsdl9wYWNrZXQpOgoJICAqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgT25seSB0cnkgdG8gcHVsbCB0aGUgZm9vdGVyIG1ldGFkYXRhIG9uY2UgYW5kIG5vdCBvbiBldmVyeSBLTFYgcGFja2V0CgkgIGlmIGl0IGZhaWxlZCBiZWZvcmUuCgoyMDA4LTExLTI2IDEyOjQwOjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiBNYWtlIG9idGFpbl9zb3VyY2UgcmV0dXJuIGFuIGFkaXRpb25hbCByZWYgc28gdGhhdCB3ZSBkb24ndCBsb3NlIG91ciByZWYgdG8gaXQgd2hlbiBhIHNlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKG9idGFpbl9zb3VyY2UpLAoJICAocnRwX3Nlc3Npb25fY3JlYXRlX3NvdXJjZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnIpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllKToKCSAgTWFrZSBvYnRhaW5fc291cmNlIHJldHVybiBhbiBhZGl0aW9uYWwgcmVmIHNvIHRoYXQgd2UgZG9uJ3QgbG9zZSBvdXIgcmVmCgkgIHRvIGl0IHdoZW4gYSBzZXNzaW9uIGNsZWFudXAgb2NjdXJzIHdoZW4gd2UgYXJlIGVtaXRpbmcgYSBzaWduYWwuCgkgIEVtaXQgdGhlIG9uX25ld19zc3JjIHNpZ25hbCBmb3IgdGhlIENTUkMsIG5vdCB0aGUgU1NSQy4KCSAgRml4ZXMgIzU2MjMxOS4KCjIwMDgtMTEtMjYgMTI6MDI6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUmVzZXQgdGhlIHN5bmMgcGFyYW1ldGVycyB3aGVuIGNsZWFyaW5nIHRoZSBwYXlsb2FkIHR5cGUgbWFwIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9yZXNldF9zeW5jKSwKCSAgKGdzdF9ydHBfYmluX2NsZWFyX3B0X21hcCk6CgkgIFJlc2V0IHRoZSBzeW5jIHBhcmFtZXRlcnMgd2hlbiBjbGVhcmluZyB0aGUgcGF5bG9hZCB0eXBlIG1hcCB0b28uCgkgIEZpeGVzICM1NjIzMTIuCgoyMDA4LTExLTI2IDExOjQ0OjM3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLio6IFJlbW92ZSBhIGxvdCBvZiBwZXIgc3RyZWFtIHN0YXRlIHRoYXQgaXMgbm90IG5lZWRlZCBhbmQgcGFzcyBuZXcgaW5mbyBpbiB0aGUgbWV0aG9kIGNhbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ2V0X2NsaWVudCksCgkgIChnc3RfcnRwX2Jpbl9yZXNldF9zeW5jKSwgKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksCgkgIChnc3RfcnRwX2Jpbl9oYW5kbGVfc3luYyksIChjcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgUmVtb3ZlIGEgbG90IG9mIHBlciBzdHJlYW0gc3RhdGUgdGhhdCBpcyBub3QgbmVlZGVkIGFuZCBwYXNzIG5ldyBpbmZvIGluCgkgIHRoZSBtZXRob2QgY2FsbC4KCSAgQWRkIHNpZ25hbCB0byByZXNldCBzeW5jIHBhcmFtZXRlcnMuCgkgIEF2b2lkIHBhcnNpbmcgdGhlIGNhcHMgdG8gZ2V0IGEgY2xvY2tfYmFzZSwgd2UgZ2V0IHRoaXMgZnJvbSB0aGUgc3luYwoJICBzaWduYWwgbm93LgoKMjAwOC0xMS0yNiAxMTozMDoyOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBQcm9wZXJseSBjb21iaW5lIGZsb3cgcmV0dXJucyBvZiB0aGUgc291cmNlIHBhZHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfcGFkX2luaXQpLAoJICAoZ3N0X214Zl9kZW11eF9yZXNldF9tZXRhZGF0YSksIChnc3RfbXhmX2RlbXV4X2NvbWJpbmVfZmxvd3MpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfZ2VuZXJpY19jb250YWluZXJfZXNzZW5jZV9lbGVtZW50KToKCSAgUHJvcGVybHkgY29tYmluZSBmbG93IHJldHVybnMgb2YgdGhlIHNvdXJjZSBwYWRzLgoJICBJbXByb3ZlIGRlYnVnZ2luZyBhbmQgcmVzZXQgcGFkIGZpZWxkcyB0b2dldGhlciB3aXRoIHRoZQoJICBtZXRhZGF0YSB0byBwcmV2ZW50IGludmFsaWQgbWVtb3J5IHJlZmVyZW5jZXMuCgkgICogZ3N0L214Zi9teGZwYXJzZS5jOiAobXhmX21ldGFkYXRhX3ByZWZhY2VfcGFyc2UpOgoJICBGaXggdHlwby4KCjIwMDgtMTEtMjYgMTA6Mzc6MzQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBXaGVuIG1lbXNldCdpbmcgdGhlIGRlc2NyaXB0b3JzIHRvIHplcm9lcyBvbmx5IHRvdWNoIHRoZSBwYXJ0IG9mIHRoaXMgZGVzY3JpcHRvciwgbm90IGl0J3MgcGFyZW50IHR5cGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJICAobXhmX21ldGFkYXRhX3dhdmVfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX3Jlc2V0KToKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzogKG14Zl9tZXRhZGF0YV9tcGVnX3ZpZGVvX2Rlc2NyaXB0b3JfcmVzZXQpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKG14Zl9tZXRhZGF0YV9maWxlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZmlsZV9kZXNjcmlwdG9yX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3NvdW5kX2Vzc2VuY2VfZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfY2RjaV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfcmdiYV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvcl9yZXNldCk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICBXaGVuIG1lbXNldCdpbmcgdGhlIGRlc2NyaXB0b3JzIHRvIHplcm9lcyBvbmx5IHRvdWNoIHRoZSBwYXJ0CgkgIG9mIHRoaXMgZGVzY3JpcHRvciwgbm90IGl0J3MgcGFyZW50IHR5cGUuCgkgIFNldCBjb3JyZWN0IGRlZmF1bHQgdmFsdWVzIGZvciBhbGwgbWV0YWRhdGEgZmllbGRzLgoKMjAwOC0xMS0yNiAwNDo1NzoyMiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lio6IEVuYWJsZSBsYXRlbmN5IGNvZGUsIHNpbmNlIHdlJ3JlIGRlZmluaXRlbHkgYWZ0ZXIgMC4xMC4xMgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBFbmFibGUgbGF0ZW5jeSBjb2RlLCBzaW5jZSB3ZSdyZSBkZWZpbml0ZWx5IGFmdGVyIDAuMTAuMTIKCjIwMDgtMTEtMjUgMTg6Mjg6MTggKzAwMDAgIEpvbmF0aGFuIE1hdHRoZXcgPG5vdHZlcnlzbWFydEBnbWFpbC5jb20+CgoJICBleHQvc3BjL2dzdHNwYy5jOiBQb3N0IGFuIGVycm9yIGFuZCBwdXNoIEVPUyB3aGVuIHdlIGNhbid0IHN0YXJ0IHBsYXliYWNrIGZvciBzb21lIHJlYXNvbi4gYWxzbyBhdm9pZCBhIGNyYXNoIHdoZW4gZmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb25hdGhhbiBNYXR0aGV3IDxub3R2ZXJ5c21hcnQgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBleHQvc3BjL2dzdHNwYy5jOiAoZ3N0X3NwY19kZWNfc2lua19ldmVudCksIChzcGNfc2V0dXApOgoJICBQb3N0IGFuIGVycm9yIGFuZCBwdXNoIEVPUyB3aGVuIHdlIGNhbid0IHN0YXJ0IHBsYXliYWNrIGZvciBzb21lIHJlYXNvbi4KCSAgYWxzbyBhdm9pZCBhIGNyYXNoIHdoZW4gZmVkIGFuIGVtcHR5IGZpbGUuIEZpeGVzICM0ODA1NDMuCgoyMDA4LTExLTI1IDE2OjM3OjUwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVleHJlc2FtcGxlLmM6IE1ha2UgdW5pdCB0ZXN0IGFnYWluIGZhc3RlciB0byBwcmV2ZW50IHRpbWVvdXRzIHdpdGggdmFsZ3JpbmQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWV4cmVzYW1wbGUuYzogKHRlc3RfcGlwZWxpbmUpOgoJICBNYWtlIHVuaXQgdGVzdCBhZ2FpbiBmYXN0ZXIgdG8gcHJldmVudCB0aW1lb3V0cyB3aXRoIHZhbGdyaW5kLgoKMjAwOC0xMS0yNSAxNToxMjowNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogRml4IGV2ZW50IGxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0Y3Bfc3JjKToKCSAgRml4IGV2ZW50IGxlYWsuCgoyMDA4LTExLTI1IDE0OjQ5OjM0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogU2V0IHZpZGVvIGRpbWVuc2lvbnMgYW5kIHBpeGVsIGFzcGVjdCByYXRpbyBvbiB0aGUgY2Fwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6IChteGZfbXBlZ192aWRlb19jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOgoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3Jfc2V0X2NhcHMpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgU2V0IHZpZGVvIGRpbWVuc2lvbnMgYW5kIHBpeGVsIGFzcGVjdCByYXRpbyBvbiB0aGUgY2Fwcy4KCjIwMDgtMTEtMjUgMTA6MjY6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBBZGQgaW5pdGlhbCBwYXJzaW5nIG9mIFJHQkEgZGVzY3JpcHRvcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcmVzZXRfbWV0YWRhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2ZpbGVfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfY2RjaV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9yZ2JhX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX21wZWdfdmlkZW9fZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9nZW5lcmljX3NvdW5kX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV93YXZlX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfcmVzb2x2ZV9yZWZlcmVuY2VzKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhKToKCSAgKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOgoJICAobXhmX21ldGFkYXRhX3JnYmFfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfcmdiYV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9yZXNldCk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICAqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgQWRkIGluaXRpYWwgcGFyc2luZyBvZiBSR0JBIGRlc2NyaXB0b3JzLgoJICBEb24ndCBpbml0aWFsaXplIGRlc2NyaXB0b3IgR0FycmF5IHdpdGggemVyb2VzLgoKMjAwOC0xMS0yNSAwOTozODoyNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IFJld3JpdGUgcGFyc2luZyBvZiBkZXNjcmlwdG9ycyB0byBnbyB0b3AtZG93biBpbnN0ZWFkIG9mIGJvdHRvbS11cCB3aGljaCBtYWtlcyBpdCBwb3NzaWJsZSB0byBoYXZlIHRoZSBidWZmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJICAobXhmX21ldGFkYXRhX3dhdmVfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5oOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9maWxlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2NkY2lfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfbXBlZ192aWRlb19kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX3dhdmVfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV9yZXNvbHZlX3JlZmVyZW5jZXMpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGEpOgoJICAqIGdzdC9teGYvbXhmbXBlZy5jOgoJICAobXhmX21ldGFkYXRhX21wZWdfdmlkZW9fZGVzY3JpcHRvcl9oYW5kbGVfdGFnKToKCSAgKiBnc3QvbXhmL214Zm1wZWcuaDoKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChteGZfcGFydGl0aW9uX3BhY2tfcGFyc2UpLAoJICAobXhmX3ByaW1lcl9wYWNrX3BhcnNlKSwgKG14Zl9tZXRhZGF0YV9wcmVmYWNlX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9pZGVudGlmaWNhdGlvbl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9lc3NlbmNlX2NvbnRhaW5lcl9kYXRhX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BhY2thZ2VfcGFyc2UpLCAobXhmX21ldGFkYXRhX3RyYWNrX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9zZXF1ZW5jZV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfc3RydWN0dXJhbF9jb21wb25lbnRfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX2ZpbGVfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3NvdW5kX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2NkY2lfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9sb2NhdG9yX3BhcnNlKToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgIFJld3JpdGUgcGFyc2luZyBvZiBkZXNjcmlwdG9ycyB0byBnbyB0b3AtZG93biBpbnN0ZWFkIG9mIGJvdHRvbS11cAoJICB3aGljaCBtYWtlcyBpdCBwb3NzaWJsZSB0byBoYXZlIHRoZSBidWZmZXIgZGF0YSBub24td3JpdGFibGUuCgkgIEltcHJvdmUgZGVidWdnaW5nIGEgYml0LgoKMjAwOC0xMS0yNSAwMDoyMDoyMiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgQWRkIG5ldyBkaXJlY3RvcnkgZm9yIG5ldyBhY21tcDNkZWMgcGx1Z2luCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgIEFkZCBuZXcgZGlyZWN0b3J5IGZvciBuZXcgYWNtbXAzZGVjIHBsdWdpbgoJICAqIHN5cy9hY21lbmMvTWFrZWZpbGUuYW06CgkgICogc3lzL2FjbWVuYy9hY21tcDNkZWMuYzoKCSAgQWRkIG5ldyBhY21tcDNkZWMgcGx1Z2luLCB3aGljaCB1c2VzIEFDTSBmb3IgZGVjb2RpbmcgbXAzIG9uIHdpbmRvd3MuCgoyMDA4LTExLTI0IDExOjMxOjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IE1ha2Ugc3VyZSB0byBvbmx5IG91dHB1dCBnZW5lcmljIGNvbnRhaW5lciBlc3NlbmNlIGVsZW1lbnRzIGZvciBhIHRyYWNrIGlmIHRoZSBib2R5IFNJRCBvZiB0aGUgc3UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfZ2VuZXJpY19jb250YWluZXJfZXNzZW5jZV9lbGVtZW50KToKCSAgTWFrZSBzdXJlIHRvIG9ubHkgb3V0cHV0IGdlbmVyaWMgY29udGFpbmVyIGVzc2VuY2UgZWxlbWVudHMKCSAgZm9yIGEgdHJhY2sgaWYgdGhlIGJvZHkgU0lEIG9mIHRoZSBzdXJyb3VuZGluZyBwYXJ0aXRpb24gaXMKCSAgdGhlIHNhbWUgYXMgdGhlIGJvZHkgU0lEIG9mIHRoZSB0cmFjaydzIHNvdXJjZSBwYWNrYWdlLgoKMjAwOC0xMS0yNCAxMToxNzoxOSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEZpeCBub24ga2V5IHVuaXQgc2Vla2luZyBieSBhbHdheXMgZ29pbmcgdG8gdGhlIHByZXZpb3VzIGtleWZyYW1lLiBNYXJrIHRoZSBkaXNjb250IGZsYWcgd2hlbiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMTEtMjQgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9maW5kX29mZnNldCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKToKCSAgRml4IG5vbiBrZXkgdW5pdCBzZWVraW5nIGJ5IGFsd2F5cyBnb2luZyB0byB0aGUgcHJldmlvdXMKCSAga2V5ZnJhbWUuIE1hcmsKCSAgdGhlIGRpc2NvbnQgZmxhZyB3aGVuIHdlJ3ZlIG1vdmVkIGluIHRoZSBmaWxlLgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfYXVkaW9fbmVnb3RpYXRlKTogTVAzCgkgIHN0cmVhbXMKCSAgYXJlIHBhcnNlZCBhbHJlYWR5LCBtYWtlcyBhdXRvcGx1Z2dlZCBwaXBlbGluZXMgc2hvcnRlci4KCjIwMDgtMTEtMjQgMTA6NDY6MDEgKzAwMDAgIHZhbmlzdGEgPHZhbmlzdGFAZ21haWwuY29tPgoKCSAgZ3N0L21wZWd0c211eC86IEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIG11eGluZyBBQzMvRFRTL0xQQ00gaW50byBNUEVHIFRTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IHZhbmlzdGEgPHZhbmlzdGEgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOiAobXBlZ3RzbXV4X2NyZWF0ZV9zdHJlYW0pOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzogKHRzbXV4X3N0cmVhbV9uZXcpOgoJICBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBtdXhpbmcgQUMzL0RUUy9MUENNIGludG8gTVBFRyBUUy4KCSAgRml4ZXMgYnVnICM1NTA2MTMuCgoyMDA4LTExLTI0IDEwOjQxOjEzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogQWxsb3cgbm9uLU1YRiBLTFYgcGFja2V0cyBhbmQganVzdCBkcm9wIHRoZW0gaW5zdGVhZCBvZiB0aHJvd2luZyBhbiBlcnJvciBhbmQgaGFuZGxlIDkgYnl0ZSBwcm9kdWN0IHZlcnNpb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9wdWxsX2tsdl9wYWNrZXQpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfa2x2X3BhY2tldCksIChnc3RfbXhmX2RlbXV4X2NoYWluKToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChteGZfcHJvZHVjdF92ZXJzaW9uX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9pZGVudGlmaWNhdGlvbl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlX3BhcnNlKToKCSAgQWxsb3cgbm9uLU1YRiBLTFYgcGFja2V0cyBhbmQganVzdCBkcm9wIHRoZW0gaW5zdGVhZCBvZiB0aHJvd2luZwoJICBhbiBlcnJvciBhbmQgaGFuZGxlIDkgYnl0ZSBwcm9kdWN0IHZlcnNpb25zIGFzIHdyaXR0ZW4gYnkgQXZpZC4KCSAgVGhpcyBkb2Vzbid0IGFkZCBzdXBwb3J0IGZvciB0aGUgbm9uLXN0YW5kYXJkIEF2aWQgTVhGIGZpbGVzCgkgIGJ1dCBhdCBsZWFzdCBtYWtlcyBpdCBwb3NzaWJsZSB0byBwYXJzZSB0aGVpciBoZWFkZXIgbWV0YWRhdGEuCgkgIEZpeCBhIGNvcHkmcGFzdGUgZXJyb3IgaW4gZGVidWcgb3V0cHV0LgoKMjAwOC0xMS0yMyAxNzo1MDowOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2phY2svOiBRdWVyeSBwb3J0IGxhdGVuY2llcyBmb3Igc2luay9zcmMgZGVsYXlzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIFF1ZXJ5IHBvcnQgbGF0ZW5jaWVzIGZvciBzaW5rL3NyYyBkZWxheXMuCgkgICogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBObyBwcmludGYgcGxlYXNlLgoKMjAwOC0xMS0yMyAxMToyNTozMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBBY3R1YWxseSB3ZSBzdXBwb3J0IGEgbGVuZ3RoIHN0b3JlZCBpbnNpZGUgOCBieXRlcyBidXQgaXQgbXVzdCBiZSBzbWFsbGVyIHRoYW4gR19NQVhVSU5UIGZvciBHc3RCLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcHVsbF9rbHZfcGFja2V0KSwKCSAgKGdzdF9teGZfZGVtdXhfY2hhaW4pOgoJICBBY3R1YWxseSB3ZSBzdXBwb3J0IGEgbGVuZ3RoIHN0b3JlZCBpbnNpZGUgOCBieXRlcyBidXQgaXQgbXVzdAoJICBiZSBzbWFsbGVyIHRoYW4gR19NQVhVSU5UIGZvciBHc3RCdWZmZXIuCgoyMDA4LTExLTIzIDExOjE2OjM2ICswMDAwICBUYWwgU2hhbGlmIDx0c2hhbGlmQG5hcmdpbGEub3JnPgoKCSAgZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6IEZpeCBmb3JtYXQgc3RyaW5nLiBGaXhlcyBidWcgIzU2MTk5Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUYWwgU2hhbGlmIDx0c2hhbGlmIGF0IG5hcmdpbGEgZG90IG9yZz4KCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgKHJzbl9kdmRzcmNfcHJlcGFyZV9zdHJlYW1zaW5mb19ldmVudCk6CgkgIEZpeCBmb3JtYXQgc3RyaW5nLiBGaXhlcyBidWcgIzU2MTk5Mi4KCjIwMDgtMTEtMjIgMTU6MzE6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IEFkZCBwcm9wZXJ0eSB0byBjb25maWd1cmUgdGhlIFJUQ1AgTVRVLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKHJ0cF9zZXNzaW9uX2luaXQpLCAocnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSk6CgkgIEFkZCBwcm9wZXJ0eSB0byBjb25maWd1cmUgdGhlIFJUQ1AgTVRVLgoKMjAwOC0xMS0yMiAxNToyNDo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogQWRkIEdfUEFSQU1fU1RBVElDX1NUUklOR1MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoY29weV9zb3VyY2UpLCAocnRwX3Nlc3Npb25fY3JlYXRlX3NvdXJjZXMpLAoJICAocnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KToKCSAgQWRkIEdfUEFSQU1fU1RBVElDX1NUUklOR1MuCgkgIEFkZCBwcm9wZXJ0eSB0byByZXR1cm4gYSBHVmFsdWVBcnJheSBvZiBhbGwga25vd24gUlRQU291cmNlcyBpbiB0aGUKCSAgc2Vzc2lvbi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfY2xhc3NfaW5pdCksCgkgIChydHBfc291cmNlX2NyZWF0ZV9zZGVzKSwgKHJ0cF9zb3VyY2Vfc2V0X3Byb3BlcnR5KSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X3Byb3BlcnR5KToKCSAgUmVtb3ZlIHByb3BlcnRpZXMgdG8gc2V0IHRoZSB2YXJpb3VzIFNERVMgaXRlbXMsIGFuIGFwcGxpY2F0aW9uIGlzIG5ldmVyCgkgIHN1cHBvc2VkIHRvIGNoYW5nZSB0aGUgUlRQU291cmNlIGRhdGEuCgkgIENoYW5nZSB0aGUgU0RFUyBnZXR0ZXIgcHJvcGVydGllcyB0byBvbmUgU0RFUyBwcm9wZXJ0eSB0aGF0IHJldHVybnMgYWxsCgkgIFNERVMgaXRlbXMgaW4gYSBHc3RTdHJ1Y3R1cmUuCgoyMDA4LTExLTIyIDE1OjAyOjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVleHJlc2FtcGxlLmM6IE1ha2UgdGhlIHVuaXQgdGVzdCBhIGJpdCBmYXN0ZXIgdG8gcHJldmVudCB0aW1lb3V0cywgZXNwZWNpYWxseSB3aXRoIHZhbGdyaW5kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVleHJlc2FtcGxlLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIE1ha2UgdGhlIHVuaXQgdGVzdCBhIGJpdCBmYXN0ZXIgdG8gcHJldmVudCB0aW1lb3V0cywgZXNwZWNpYWxseQoJICB3aXRoIHZhbGdyaW5kLgoKMjAwOC0xMS0yMiAxNDo1MTowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IFNvbWUgbW9yZSBmb3JtYXQgc3RyaW5nIGZpeGVzIGFuZCB1c2FnZSBvZiBndWludCBpbnN0ZWFkIG9mIGdpbnQgd2hlcmUgbmVnYXRpdmUgdmFsdWVzIGRvbid0IG1ha2Ugc2Vuc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcHVzaF9zcmNfZXZlbnQpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChnc3RfbXhmX3VsX2hhc2gpLAoJICAobXhmX3BhcnRpdGlvbl9wYWNrX3BhcnNlKSwgKG14Zl9wcmltZXJfcGFja19wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfcHJlZmFjZV9wYXJzZSksIChteGZfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BhY2thZ2VfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX3NlcXVlbmNlX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3JfcGFyc2UpOgoJICBTb21lIG1vcmUgZm9ybWF0IHN0cmluZyBmaXhlcyBhbmQgdXNhZ2Ugb2YgZ3VpbnQgaW5zdGVhZCBvZiBnaW50CgkgIHdoZXJlIG5lZ2F0aXZlIHZhbHVlcyBkb24ndCBtYWtlIHNlbnNlLgoKMjAwOC0xMS0yMiAxNDo0MjowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IFVzZSBndWludCBpbnN0ZWFkIG9mIGd1aW50NjQgb3IgZ3NpemUgZm9yIGFsbCBidWZmZXIgc2l6ZXMgYW5kIHVzZSBjb3JyZWN0IGZvcm1hdCBzdHJpbmdzIGZvciB0aGVtLiBPbmx5IGxvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJICAobXhmX21ldGFkYXRhX3dhdmVfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX3BhcnNlKToKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuaDoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3B1bGxfcmFuZ2UpLAoJICAoZ3N0X214Zl9kZW11eF9wdWxsX2tsdl9wYWNrZXQpLAoJICAoZ3N0X214Zl9kZW11eF9wYXJzZV9mb290ZXJfbWV0YWRhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfa2x2X3BhY2tldCksCgkgIChnc3RfbXhmX2RlbXV4X3B1bGxfYW5kX2hhbmRsZV9rbHZfcGFja2V0KSwgKGdzdF9teGZfZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9teGYvbXhmbXBlZy5jOiAobXhmX21ldGFkYXRhX21wZWdfdmlkZW9fZGVzY3JpcHRvcl9wYXJzZSk6CgkgICogZ3N0L214Zi9teGZtcGVnLmg6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOiAobXhmX3RpbWVzdGFtcF9wYXJzZSksIChteGZfZnJhY3Rpb25fcGFyc2UpLAoJICAobXhmX3V0ZjE2X3RvX3V0ZjgpLCAobXhmX3Byb2R1Y3RfdmVyc2lvbl9wYXJzZSksCgkgIChteGZfcGFydGl0aW9uX3BhY2tfcGFyc2UpLCAobXhmX3ByaW1lcl9wYWNrX3BhcnNlKSwKCSAgKG14Zl9sb2NhbF90YWdfcGFyc2UpLCAobXhmX21ldGFkYXRhX3ByZWZhY2VfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2lkZW50aWZpY2F0aW9uX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2Vzc2VuY2VfY29udGFpbmVyX2RhdGFfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGFja2FnZV9wYXJzZSksIChteGZfbWV0YWRhdGFfdHJhY2tfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX3NlcXVlbmNlX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9zdHJ1Y3R1cmFsX2NvbXBvbmVudF9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9maWxlX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9jZGNpX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9sb2NhdG9yX3BhcnNlKToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgIFVzZSBndWludCBpbnN0ZWFkIG9mIGd1aW50NjQgb3IgZ3NpemUgZm9yIGFsbCBidWZmZXIgc2l6ZXMgYW5kCgkgIHVzZSBjb3JyZWN0IGZvcm1hdCBzdHJpbmdzIGZvciB0aGVtLiBPbmx5IGxvY2FsIHRhZyBzZXQgc2l6ZXMKCSAgYXJlIHN0aWxsIGd1aW50MTYgYXMgdGhleSBjYW4ndCBiZSBsYXJnZXIuCgkgIE9ubHkgYWxsb3cgS0xWIHBhY2tldHMgb2Ygc2l6ZXMgYmVsb3cgMTw8MzIgYXMgR1N0cmVhbWVyIG9ubHkgdXNlcwoJICBndWludCBmb3IgYnVmZmVyIHNpemVzLiBUaGUgTVhGIHN0YW5kYXJkIGFsbG93cyBwYWNrZXQgc2l6ZXMgdXAKCSAgdG8gMTw8NjQuCgoyMDA4LTExLTIyIDEzOjE3OjI0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEFsc28gdW5yZWYgdGhlIHRhcmdldCBwYWQgZm9yIHVua25vd24gcGFkcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9yZWxlYXNlX3BhZCk6CgkgIEFsc28gdW5yZWYgdGhlIHRhcmdldCBwYWQgZm9yIHVua25vd24gcGFkcy4KCjIwMDgtMTEtMjIgMDg6MjM6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kY2NwL2dzdGRjY3AuYzogVXNlIEdfR1NJWkVfRk9STUFUIGluc3RlYWQgb2YgIiV1IiBmb3IgYSBzaXplX3QgdmFyaWFibGUgaW4gdGhlIGZvcm1hdCBzdHJpbmcgdG8gcHJldmVudCBhIGNvbXBpbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwLmM6IChnc3RfZGNjcF9zb2NrZXRfd3JpdGUpOgoJICBVc2UgR19HU0laRV9GT1JNQVQgaW5zdGVhZCBvZiAiJXUiIGZvciBhIHNpemVfdCB2YXJpYWJsZSBpbgoJICB0aGUgZm9ybWF0IHN0cmluZyB0byBwcmV2ZW50IGEgY29tcGlsZXIgd2FybmluZy4KCjIwMDgtMTEtMjEgMTY6MTc6MjIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUmVsZWFzZSB0aGUgcmlnaHQgcGFkcyBvbiBydHBiaW4uIEZpeGVzICM1NjE3NTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9yZWxlYXNlX3BhZCk6CgkgIFJlbGVhc2UgdGhlIHJpZ2h0IHBhZHMgb24gcnRwYmluLiBGaXhlcyAjNTYxNzUyLgoKMjAwOC0xMS0yMSAxNTo0NToxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOiBBZGQgYSAiZmlsdGVyLWxlbmd0aCIgcHJvcGVydHkgdGhhdCBtYXBzIHRvIHRoZSBxdWFsaXR5IHZhbHVlcyBmb3IgY29tcGF0aWJpbHR5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9jbGFzc19pbml0KSwgKGdzdF9zcGVleF9yZXNhbXBsZV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2dldF9wcm9wZXJ0eSk6CgkgIEFkZCBhICJmaWx0ZXItbGVuZ3RoIiBwcm9wZXJ0eSB0aGF0IG1hcHMgdG8gdGhlIHF1YWxpdHkgdmFsdWVzCgkgIGZvciBjb21wYXRpYmlsdHkgd2l0aCBhdWRpb3Jlc2FtcGxlLgoKMjAwOC0xMS0yMSAxMDozNzoxMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBSZW1vdmUgdGhlICJleHBlcmltZW50YWwiIGZsYWcgZnJvbSB0aGUgZGVpbnRlcmxhY2UyIHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZW1vdmUgdGhlICJleHBlcmltZW50YWwiIGZsYWcgZnJvbSB0aGUgZGVpbnRlcmxhY2UyIHBsdWdpbi4KCjIwMDgtMTEtMjEgMTA6Mjc6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBmaXJzdCB2ZXJzaW9uIG9mIGFuIE1YRiBkZW11eGVyLiBDdXJyZW50bHkgaXQgc3VwcG9ydHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkgICogZ3N0L214Zi9teGYuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSAgKG14Zl9tZXRhZGF0YV93YXZlX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfd2F2ZV9hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX2lzX2Flc19id2ZfZXNzZW5jZV90cmFjayksIChteGZfYndmX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLAoJICAobXhmX2J3Zl9jcmVhdGVfY2FwcyksIChteGZfYWVzX2J3Zl9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmg6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9wYWRfZmluYWxpemUpLAoJICAoZ3N0X214Zl9wYWRfY2xhc3NfaW5pdCksIChnc3RfbXhmX3BhZF9pbml0KSwKCSAgKGdzdF9teGZfZGVtdXhfZmx1c2gpLCAoZ3N0X214Zl9kZW11eF9yZW1vdmVfcGFkKSwKCSAgKGdzdF9teGZfZGVtdXhfcmVzZXRfbXhmX3N0YXRlKSwgKGdzdF9teGZfZGVtdXhfcmVzZXRfbWV0YWRhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9yZXNldCksIChnc3RfbXhmX2RlbXV4X3B1bGxfcmFuZ2UpLAoJICAoZ3N0X214Zl9kZW11eF9wdXNoX3NyY19ldmVudCksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9wYXJ0aXRpb25fcGFjayksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9wcmltZXJfcGFjayksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9wcmVmYWNlKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2lkZW50aWZpY2F0aW9uKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2NvbnRlbnRfc3RvcmFnZSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9lc3NlbmNlX2NvbnRhaW5lcl9kYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX21hdGVyaWFsX3BhY2thZ2UpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfc291cmNlX3BhY2thZ2UpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfdHJhY2spLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfc2VxdWVuY2UpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfc3RydWN0dXJhbF9jb21wb25lbnQpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2ZpbGVfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfY2RjaV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9tcGVnX3ZpZGVvX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfd2F2ZV9hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfbG9jYXRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfcmVzb2x2ZV9yZWZlcmVuY2VzKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9nZW5lcmljX2NvbnRhaW5lcl9zeXN0ZW1faXRlbSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9nZW5lcmljX2NvbnRhaW5lcl9lc3NlbmNlX2VsZW1lbnQpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfcmFuZG9tX2luZGV4X3BhY2spLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaW5kZXhfdGFibGVfc2VnbWVudCksCgkgIChnc3RfbXhmX2RlbXV4X3B1bGxfa2x2X3BhY2tldCksCgkgIChnc3RfbXhmX2RlbXV4X3BhcnNlX2Zvb3Rlcl9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9rbHZfcGFja2V0KSwKCSAgKGdzdF9teGZfZGVtdXhfcHVsbF9hbmRfaGFuZGxlX2tsdl9wYWNrZXQpLCAoZ3N0X214Zl9kZW11eF9sb29wKSwKCSAgKGdzdF9teGZfZGVtdXhfY2hhaW4pLCAoZ3N0X214Zl9kZW11eF9zcmNfZXZlbnQpLAoJICAoZ3N0X214Zl9kZW11eF9zcmNfcXVlcnlfdHlwZSksIChnc3RfbXhmX2RlbXV4X3NyY19xdWVyeSksCgkgIChnc3RfbXhmX2RlbXV4X3NpbmtfYWN0aXZhdGUpLCAoZ3N0X214Zl9kZW11eF9zaW5rX2FjdGl2YXRlX3B1c2gpLAoJICAoZ3N0X214Zl9kZW11eF9zaW5rX2FjdGl2YXRlX3B1bGwpLCAoZ3N0X214Zl9kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9teGZfZGVtdXhfY2hhbmdlX3N0YXRlKSwgKGdzdF9teGZfZGVtdXhfZmluYWxpemUpLAoJICAoZ3N0X214Zl9kZW11eF9iYXNlX2luaXQpLCAoZ3N0X214Zl9kZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9teGZfZGVtdXhfaW5pdCk6CgkgICogZ3N0L214Zi9teGZkZW11eC5oOgoJICAqIGdzdC9teGYvbXhmbXBlZy5jOiAobXhmX21ldGFkYXRhX21wZWdfdmlkZW9fZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfbXBlZ192aWRlb19kZXNjcmlwdG9yX3Jlc2V0KSwKCSAgKG14Zl9pc19tcGVnX3ZpZGVvX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX21wZWdfdmlkZW9faGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksCgkgIChteGZfbXBlZ192aWRlb19jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZtcGVnLmg6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOiAobXhmX2lzX214Zl9wYWNrZXQpLCAobXhmX2lzX3BhcnRpdGlvbl9wYWNrKSwKCSAgKG14Zl9pc19oZWFkZXJfcGFydGl0aW9uX3BhY2spLCAobXhmX2lzX2JvZHlfcGFydGl0aW9uX3BhY2spLAoJICAobXhmX2lzX2Zvb3Rlcl9wYXJ0aXRpb25fcGFjayksIChteGZfaXNfZmlsbCksCgkgIChteGZfaXNfcHJpbWVyX3BhY2spLCAobXhmX2lzX21ldGFkYXRhKSwKCSAgKG14Zl9pc19yYW5kb21faW5kZXhfcGFjayksIChteGZfaXNfaW5kZXhfdGFibGVfc2VnbWVudCksCgkgIChteGZfaXNfZ2VuZXJpY19jb250YWluZXJfc3lzdGVtX2l0ZW0pLAoJICAobXhmX2lzX2dlbmVyaWNfY29udGFpbmVyX2Vzc2VuY2VfZWxlbWVudCksCgkgIChteGZfaXNfZ2VuZXJpY19jb250YWluZXJfZXNzZW5jZV9jb250YWluZXJfbGFiZWwpLAoJICAobXhmX3VsX2lzX2VxdWFsKSwgKG14Zl91bF9pc196ZXJvKSwgKG14Zl91bF90b19zdHJpbmcpLAoJICAobXhmX3VtaWRfaXNfZXF1YWwpLCAobXhmX3VtaWRfaXNfemVybyksIChteGZfdW1pZF90b19zdHJpbmcpLAoJICAoZ3N0X214Zl91bF9oYXNoKSwgKGdzdF9teGZfdWxfZXF1YWwpLCAobXhmX3RpbWVzdGFtcF9wYXJzZSksCgkgIChteGZfdGltZXN0YW1wX2lzX3Vua25vd24pLCAobXhmX3RpbWVzdGFtcF9jb21wYXJlKSwKCSAgKG14Zl9mcmFjdGlvbl9wYXJzZSksIChteGZfdXRmMTZfdG9fdXRmOCksCgkgIChteGZfcHJvZHVjdF92ZXJzaW9uX3BhcnNlKSwgKG14Zl9wYXJ0aXRpb25fcGFja19wYXJzZSksCgkgIChteGZfcGFydGl0aW9uX3BhY2tfcmVzZXQpLCAoX214Zl9tYXBwaW5nX3VsX2ZyZWUpLAoJICAobXhmX3ByaW1lcl9wYWNrX3BhcnNlKSwgKG14Zl9wcmltZXJfcGFja19yZXNldCksCgkgIChteGZfbG9jYWxfdGFnX3BhcnNlKSwgKGdzdF9teGZfbG9jYWxfdGFnX2ZyZWUpLAoJICAoZ3N0X21ldGFkYXRhX2FkZF9jdXN0b21fdGFnKSwgKG14Zl9tZXRhZGF0YV9wcmVmYWNlX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9wcmVmYWNlX3Jlc2V0KSwgKG14Zl9tZXRhZGF0YV9pZGVudGlmaWNhdGlvbl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfaWRlbnRpZmljYXRpb25fcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX2NvbnRlbnRfc3RvcmFnZV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9lc3NlbmNlX2NvbnRhaW5lcl9kYXRhX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9lc3NlbmNlX2NvbnRhaW5lcl9kYXRhX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BhY2thZ2VfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGFja2FnZV9yZXNldCksIChteGZfbWV0YWRhdGFfdHJhY2tfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX3RyYWNrX3Jlc2V0KSwgKG14Zl9tZXRhZGF0YV90cmFja19pZGVudGlmaWVyX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9zZXF1ZW5jZV9wYXJzZSksIChteGZfbWV0YWRhdGFfc2VxdWVuY2VfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX3N0cnVjdHVyYWxfY29tcG9uZW50X3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9zdHJ1Y3R1cmFsX2NvbXBvbmVudF9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX2ZpbGVfZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZmlsZV9kZXNjcmlwdG9yX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3NvdW5kX2Vzc2VuY2VfZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX2NkY2lfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2NkY2lfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX2xvY2F0b3JfcGFyc2UpLCAobXhmX21ldGFkYXRhX2xvY2F0b3JfcmVzZXQpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIEFkZCBmaXJzdCB2ZXJzaW9uIG9mIGFuIE1YRiBkZW11eGVyLiBDdXJyZW50bHkgaXQgc3VwcG9ydHMKCSAgTVBFRyB2aWRlbyBhbmQgcmF3IGF1ZGlvIGFuZCBPUCAxYS9iL2MuCgoyMDA4LTExLTIxIDAwOjQ3OjM3ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOiBGaXggZmx1c2hpbmcvc2Vla2luZyBwcm9ibGVtcyByZXR1cm5pbmcgZXJyb3IgY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSAgRml4IGZsdXNoaW5nL3NlZWtpbmcgcHJvYmxlbXMgcmV0dXJuaW5nIGVycm9yIGNvZGUuCgkgIEZpeCBtcDMgZGVjb2Rpbmcgd2l0aCB3aW5YUCAoY3Jhc2hlZCByYW5kb21seSwgb2NjYXNpb25hbGx5KS4KCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJICBGaXggcHJvYmxlbXMgd2hlbiBmcmFtZXJhdGUgaXMgbWlzc2luZyBmcm9tIHZpZGVvLgoKMjAwOC0xMS0yMCAxODo0MTozNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogUGFzcyB0aGUgcnVubmluZyB0aW1lIHRvIHRoZSBzZXNzaW9uIHdoZW4gcHJvY2Vzc2luZyBSVFAgcGFja2V0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ2V0X2N1cnJlbnRfdGltZXMpLAoJICAocnRjcF90aHJlYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKToKCSAgUGFzcyB0aGUgcnVubmluZyB0aW1lIHRvIHRoZSBzZXNzaW9uIHdoZW4gcHJvY2Vzc2luZyBSVFAgcGFja2V0cy4KCSAgSW1wcm92ZSB0aGUgdGltZSBmdW5jdGlvbiB0byBwcm92aWRlIG1vcmUgaW5mby4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKHJ0cF9zZXNzaW9uX2luaXQpLCAodXBkYXRlX2Fycml2YWxfc3RhdHMpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCksIChzZXNzaW9uX3N0YXJ0X3J0Y3ApLAoJICAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBNYXJrIHRoZSBpbnRlcm5hbCBzb3VyY2Ugd2l0aCBhIGZsYWcuCgkgIFVzZSBydW5uaW5nX3RpbWUgaW5zdGVhZCBvZiB0aGUgbW9yZSB1c2VsZXNzIHRpbWVzdGFtcC4KCSAgVmFsaWRhdGUgYSBzb3VyY2Ugd2hlbiBhIHZhbGlkIFNERVMgaGFzIGJlZW4gcmVjZWl2ZWQuCgkgIFBhc3MgdGhlIGN1cnJlbnQgc3lzdGVtIHRpbWUgd2hlbiBwcm9jZXNzaW5nIFNSIHBhY2tldHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2NsYXNzX2luaXQpLAoJICAocnRwX3NvdXJjZV9pbml0KSwgKHJ0cF9zb3VyY2VfY3JlYXRlX3N0YXRzKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X3Byb3BlcnR5KSwgKHJ0cF9zb3VyY2Vfc2VuZF9ydHApLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3JiKSwgKHJ0cF9zb3VyY2VfZ2V0X25ld19yYiksCgkgIChydHBfc291cmNlX2dldF9sYXN0X3JiKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgQWRkIHByb3BlcnR5IHRvIGdldCBzb3VyY2Ugc3RhdHMuCgkgIE1hcmsgcGFyYW1zIGFzIFNUQVRJQ19TVFJJTkdTLgoJICBDYWxjdWxhdGUgdGhlIGJpdHJhdGUgYXQgdGhlIHNlbmRlciBTU1JDLgoJICBBdm9pZCBuZWdhdGl2ZSB2YWx1ZXMgaW4gdGhlIHJvdW5kIHRyaXAgdGltZSBjYWxjdWxhdGlvbnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgVXBkYXRlIHNvbWUgZG9jcyBhbmQgY2hhbmdlIHNvbWUgdmFyaWFibGUgbmFtZSB0byBtb3JlIGNsb3NlbHkgcmVmbGVjdAoJICB3aGF0IGl0IGNvbnRhaW5zLgoKMjAwOC0xMS0yMCAxNjowMToyNyArMDAwMCAgTGVhbmRybyBNZWxvIGRlIFNhbGVzIDxsZWFuZHJvYWxAZ21haWwuY29tPgoKCSAgZ3N0L2RjY3AvOiBDb2RlU3R5bGUgaW1wcm92ZW1lbnRzIGFuZCBtaW5vciBmaXhlcyB0byB0aGUgRENDUCBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogTGVhbmRybyBNZWxvIGRlIFNhbGVzIDxsZWFuZHJvYWxAZ21haWwuY29tPgoJICAqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwLmg6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuYzoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5oOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuYzoKCSAgKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5jOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuYzoKCSAgKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc3JjLmg6CgkgIENvZGVTdHlsZSBpbXByb3ZlbWVudHMgYW5kIG1pbm9yIGZpeGVzIHRvIHRoZSBEQ0NQIHBsdWdpbi4KCSAgRml4ZXMgIzU1MzgyMy4KCjIwMDgtMTEtMjAgMDg6MTk6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBJbml0aWFsaXplIHJldHVybiB2YWx1ZSB0byBmaXggY29tcGlsZXIgd2FybmluZyBhYm91dCB1bmluaXRpYWxpemVkIHZhcmlhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbl9ydGNwKToKCSAgSW5pdGlhbGl6ZSByZXR1cm4gdmFsdWUgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgdW5pbml0aWFsaXplZAoJICB2YXJpYWJsZS4KCjIwMDgtMTEtMTkgMTY6NDg6MzggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogTWFyayBzaWduYWwgYXJnIGFzIHN0YXRpYyBzY29wZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCk6CgkgIE1hcmsgc2lnbmFsIGFyZyBhcyBzdGF0aWMgc2NvcGUuCgoyMDA4LTExLTE5IDA5OjA2OjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFJlbW92ZSBpbnRlcm5hbCBzeW5jIHBhZCwgdXNlIHNpZ25hbHMgaW5zdGVhZCB0byBnZXQgbGlwLXN5bmMgbm90aWZpY2F0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoZ3N0X3J0cF9iaW5faGFuZGxlX3N5bmMpLCAoY3JlYXRlX3N0cmVhbSksIChmcmVlX3N0cmVhbSksCgkgIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBSZW1vdmUgaW50ZXJuYWwgc3luYyBwYWQsIHVzZSBzaWduYWxzIGluc3RlYWQgdG8gZ2V0IGxpcC1zeW5jCgkgIG5vdGlmaWNhdGlvbnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9pbnRlcm5hbF9saW5rcyksIChjcmVhdGVfcnRjcF9zaW5rKSwKCSAgKHJlbW92ZV9ydGNwX3NpbmspLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3JlcXVlc3RfbmV3X3BhZCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NpbmtfcnRjcF9ldmVudCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW5fcnRjcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgTWFrZSBpdCBwb3NzaWJsZSB0byBzZW5kIFNSIHBhY2tldHMgdG8gdGhlIGppdHRlcmJ1ZmZlci4KCSAgQ2hlY2sgaWYgdGhlIFNSIHRpbWVzdGFtcHMgYXJlIHZhbGlkIGJ5IGNvbXBhcmluZyB0aGVtIHRvIHRoZSBSVFAKCSAgdGltZXN0YW1wcy4KCSAgU2lnbmFsIHRoZSBTUiBwYWNrZXQgYW5kIHRoZSB0aW1pbmcgaW5mb3JtYXRpb24gdG8gbGlzdGVuZXJzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiAoY3JlYXRlX2RlbXV4X3BhZF9mb3Jfc3NyYyksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfcnRjcF9jaGFpbiksIChnc3RfcnRwX3NzcmNfZGVtdXhfc3JjX3F1ZXJ5KToKCSAgUmVtb3ZlIHNvbWUgdW51c2VkIGNvZGUuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9yZXNldF9za2V3KSwKCSAgKGNhbGN1bGF0ZV9za2V3KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX2dldF9zeW5jKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgS2VlcCB0cmFjayBvZiB0aGUgbGFzdCBzZWVuIFJUUCB0aW1lc3RhbXAgc28gdGhhdCB3ZSBjYW4gZmlsdGVyIG91dAoJICBpbnZhbGlkIFNSIHBhY2tldHMuCgoyMDA4LTExLTE4IDE2OjUyOjExICswMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkgIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzogQXZvaWQgZGVhZGxvY2sgZHVyaW5nIHBhZCBhY3RpdmF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkgIEF2b2lkIGRlYWRsb2NrIGR1cmluZyBwYWQgYWN0aXZhdGlvbi4KCSAgRml4ZXMgIzU2MTI0MS4KCjIwMDgtMTEtMTggMDE6MDk6MDkgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L3F0bXV4L2dzdHF0bXV4LmM6IFF1aWV0IGEgZGVidWdnaW5nIG1lc3NhZ2UgdGhhdCBJIHJlY2VudGx5IGFkZGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzogUXVpZXQgYSBkZWJ1Z2dpbmcgbWVzc2FnZSB0aGF0IEkgcmVjZW50bHkKCSAgYWRkZWQuCgoyMDA4LTExLTE3IDE5OjQ3OjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogRml4IEdTVF9ERUJVRyBjYWxsIHRvIG9ubHkgaGF2ZSBhcyBtYW55IGFyZ3VtZW50cyBhcyByZXF1aXJlZCBieSB0aGUgZm9ybWF0IHN0cmluZy4gRml4ZXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChnZXRfY2xvY2tfcmF0ZSk6CgkgIEZpeCBHU1RfREVCVUcgY2FsbCB0byBvbmx5IGhhdmUgYXMgbWFueSBhcmd1bWVudHMgYXMgcmVxdWlyZWQKCSAgYnkgdGhlIGZvcm1hdCBzdHJpbmcuIEZpeGVzIGEgY29tcGlsZXIgd2FybmluZy4KCjIwMDgtMTEtMTcgMTU6MTc6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRG8gbm90IHRyeSB0byBrZWVwIHRyYWNrIG9mIHRoZSBjbG9jay1yYXRlIG91cnNlbHZlcyBidXQgc2ltcGx5IGdldCB0aGUgdmFsdWUgZnJvbSB0aGUgamkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoZ3N0X3J0cF9iaW5fc3luY19jaGFpbiksIChjcmVhdGVfc3RyZWFtKSwgKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIERvIG5vdCB0cnkgdG8ga2VlcCB0cmFjayBvZiB0aGUgY2xvY2stcmF0ZSBvdXJzZWx2ZXMgYnV0IHNpbXBseSBnZXQgdGhlCgkgIHZhbHVlIGZyb20gdGhlIGppdHRlcmJ1ZmZlci4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9zeW5jKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgQWRkIHNvbWUgZGVidWcgaW5mby4KCSAgUGFzcyB0aGUgY2xvY2stcmF0ZSB0byB0aGUgaml0dGVyYnVmZmVyLgoJICBBbHNvIHBhc3MgdGhlIGNsb2NrLXJhdGUgYWxvbmcgd2l0aCB0aGUgcnRwIHRpbWVzdGFtcCB3aGVuIGdldHRpbmcgdGhlCgkgIHN5bmMgcGFyYW1ldGVycy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKToKCSAgRml4IHNvbWUgZGVidWcuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9yZXNldF9za2V3KSwKCSAgKGNhbGN1bGF0ZV9za2V3KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX2dldF9zeW5jKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgS2VlcCB0cmFjayBvZiBjbG9jay1yYXRlIGNoYW5nZXMgYW5kIHJldHVybiB0aGUgY2xvY2stcmF0ZSB0b2dldGhlciB3aXRoCgkgIHRoZSBydHAgdGltZXN0YW1wcyB1c2VkIGZvciBzeW5jLgoJICBEb24ndCB0cnkgdG8gY29uc3RydWN0IHRpbWVzdGFtcHMgd2hlbiB3ZSBoYXZlIG5vIGJhc2VfdGltZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKGdldF9jbG9ja19yYXRlKToKCSAgUmVxdWVzdCBhIG5ldyBjbG9jay1yYXRlIHdoZW4gdGhlIHBheWxvYWQgdHlwZSBjaGFuZ2VzLgoJICBSZXNldCB0aGUgaml0dGVyIGNhbGN1bGF0aW9uIHdoZW4gdGhlIGNsb2NrLXJhdGUgY2hhbmdlcy4KCjIwMDgtMTEtMTcgMDk6MzM6NTAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogQWRkIG1pc3NpbmcgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlX2RhdGEuaDoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZV9kYXRhLmg6CgkgIEFkZCBtaXNzaW5nIGZpbGVzLgoKMjAwOC0xMS0xNSAwMjo1NjozMSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvcXRtdXgvZ3N0cXRtdXguKjogVXNlIGR0cyBmcm9tIEdTVF9CVUZGRVJfT0ZGU0VUX0VORCgpIGZvciB2aWRlby94LXF0LXBhcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICBVc2UgZHRzIGZyb20gR1NUX0JVRkZFUl9PRkZTRVRfRU5EKCkgZm9yIHZpZGVvL3gtcXQtcGFydC4KCjIwMDgtMTEtMTQgMjM6MDE6NTYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL3F0d3JhcHBlci9jb2RlY21hcHBpbmcuYzogQWRkIHNvbWUgb2Ygb3VyIGZhdm9yaXRlIGNvZGVjcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3F0d3JhcHBlci9jb2RlY21hcHBpbmcuYzogQWRkIHNvbWUgb2Ygb3VyIGZhdm9yaXRlIGNvZGVjcy4KCjIwMDgtMTEtMTQgMjE6NDQ6MzIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBHdWFyZCBhZ2FpbnN0IGEgTlVMTCBkZXJlZmVyZW5jZSBJIHNvbWVob3cgZW5jb3VudGVyZWQgLSB3aXRoIGEgRkxVU0hfU1RPUCBhcnJpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgR3VhcmQgYWdhaW5zdCBhIE5VTEwgZGVyZWZlcmVuY2UgSSBzb21laG93IGVuY291bnRlcmVkIC0KCSAgd2l0aCBhIEZMVVNIX1NUT1AgYXJyaXZpbmcgZWl0aGVyIGJlZm9yZSBiYXNldHJhbnNmb3JtIF9zdGFydCgpLAoJICBvciBhZnRlciBfc3RvcCgpLgoJICAqIGdzdC90eXBlZmluZC9nc3R0eXBlZmluZGZ1bmN0aW9ucy5jOgoJICBNYWtlIHN1cmUgd2UgbmV2ZXIganVtcCBiYWNrd2FyZHMgd2hlbiB0eXBlZmluZGluZyBjb3JydXB0IG1vdiBmaWxlcy4KCjIwMDgtMTEtMTQgMjE6MjQ6NTEgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F0bXV4LzogUmV2ZXJ0IHByZXZpb3VzIGNvbW1pdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0bXV4L2F0b21zLmM6CgkgICogZ3N0L3F0bXV4L2F0b21zLmg6CgkgICogZ3N0L3F0bXV4L2Rlc2NyaXB0b3JzLmM6CgkgICogZ3N0L3F0bXV4L2Rlc2NyaXB0b3JzLmg6CgkgICogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJICAqIGdzdC9xdG11eC9mdHlwY2MuaDoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuaDoKCSAgKiBnc3QvcXRtdXgvcHJvcGVydGllcy5jOgoJICAqIGdzdC9xdG11eC9wcm9wZXJ0aWVzLmg6CgkgIFJldmVydCBwcmV2aW91cyBjb21taXQuCgoyMDA4LTExLTE0IDIwOjM4OjE4ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdG11eC86IER1YWwgbGljZW5zZSBMR1BML01JVCwgYXMgYXBwYXJlbnRseSBzdXBwb3NlZCB0by4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0bXV4L2F0b21zLmM6CgkgICogZ3N0L3F0bXV4L2F0b21zLmg6CgkgICogZ3N0L3F0bXV4L2Rlc2NyaXB0b3JzLmM6CgkgICogZ3N0L3F0bXV4L2Rlc2NyaXB0b3JzLmg6CgkgICogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJICAqIGdzdC9xdG11eC9mdHlwY2MuaDoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuaDoKCSAgKiBnc3QvcXRtdXgvcHJvcGVydGllcy5jOgoJICAqIGdzdC9xdG11eC9wcm9wZXJ0aWVzLmg6CgkgIER1YWwgbGljZW5zZSBMR1BML01JVCwgYXMgYXBwYXJlbnRseSBzdXBwb3NlZCB0by4KCjIwMDgtMTEtMTQgMjA6MTc6MTAgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F0bXV4LzogQ3V0IGRldG91ciBpbiBzYW1wbGUgZGVzY3JpcHRpb24gZXh0ZW5zaW9uIGNvbnN0cnVjdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0bXV4L2F0b21zLmM6IChidWlsZF9lc2RzX2V4dGVuc2lvbiksCgkgIChidWlsZF9tb3ZfYWFjX2V4dGVuc2lvbiksIChidWlsZF9qcDJoX2V4dGVuc2lvbiksCgkgIChidWlsZF9jb2RlY19kYXRhX2V4dGVuc2lvbik6CgkgICogZ3N0L3F0bXV4L2F0b21zLmg6CgkgICogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5jOiAoZ3N0X3F0X211eF9hdWRpb19zaW5rX3NldF9jYXBzKSwKCSAgKGdzdF9xdF9tdXhfdmlkZW9fc2lua19zZXRfY2Fwcyk6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6IChnc3RfcXRfbXV4X21hcF9mb3JtYXRfdG9faGVhZGVyKToKCSAgQ3V0IGRldG91ciBpbiBzYW1wbGUgZGVzY3JpcHRpb24gZXh0ZW5zaW9uIGNvbnN0cnVjdGlvbi4KCSAgQWxzbyBhY3R1YWxseSBpbXBsZW1lbnQgSVNPIEpQRUcyMDAwIG1qMiBmb3JtYXQuCgoyMDA4LTExLTE0IDE5OjUyOjI0ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogQ29uc3RydWN0IHNvdXJjZSBjYXBzIGluIG1vcmUgY29udmVudGlvbmFsIChhbmQgY29ycmVjdCkgbWFubmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IChnc3RfeDI2NF9lbmNfc2V0X3NyY19jYXBzKToKCSAgQ29uc3RydWN0IHNvdXJjZSBjYXBzIGluIG1vcmUgY29udmVudGlvbmFsIChhbmQgY29ycmVjdCkgbWFubmVyLgoKMjAwOC0xMS0xNCAxNjoxNTo0MyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBubyBtb3JlIGVnZ2luZyB0aGUgcHVkZGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbm8gbW9yZSBlZ2dpbmcgdGhlIHB1ZGRpbmcKCjIwMDgtMTEtMTQgMTQ6MjM6MDIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC1saWJzL2dzdC9wbGF5LzogUmVtb3ZlIGNydWZ0LiBUaGlzIGlzIG5vdCBlbnRlcmVkIGJ5IG1ha2UgYW5kIGl0cyBub3QgZXZlbiBjb21waWxhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvcGxheS8uY3ZzaWdub3JlOgoJICAqIGdzdC1saWJzL2dzdC9wbGF5L3BsYXkuaDoKCSAgKiBnc3QtbGlicy9nc3QvcGxheS9wbGF5LnZjcHJvajoKCSAgUmVtb3ZlIGNydWZ0LiBUaGlzIGlzIG5vdCBlbnRlcmVkIGJ5IG1ha2UgYW5kIGl0cyBub3QgZXZlbiBjb21waWxhYmxlLgoKMjAwOC0xMS0xMyAyMjozMDo1NCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6IFNldCBwaXhlbC1hc3BlY3QtcmF0aW8gY29ycmVjdGx5IGluIHRoZSBlbmNvZGVyIEFQSSwgYXMgd2VsbCBhcyBzb21lIGRlZmF1bHQgZ3N0cmVhbWVyaXNoIGMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBTZXQgcGl4ZWwtYXNwZWN0LXJhdGlvIGNvcnJlY3RseSBpbiB0aGUgZW5jb2RlciBBUEksIGFzIHdlbGwKCSAgYXMgc29tZSBkZWZhdWx0IGdzdHJlYW1lcmlzaCBjb2xvcnNwYWNlIHByb3BlcnRpZXMuICBBbHNvLAoJICBhcHBhcmVudGx5LCBjaGFuZ2UgYSBidW5jaCBvZiBpbmRlbnRhdGlvbi4KCjIwMDgtMTEtMTMgMjE6NDQ6MTUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZXh0L2pwMmsvOiBBZGQganAya2VuYyB0byBqcDJrIHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwMmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6IChnc3RfamFzcGVyX2RlY19jbGFzc19pbml0KSwKCSAgKGdzdF9qYXNwZXJfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6IChnc3RfamFzcGVyX2VuY19iYXNlX2luaXQpLAoJICAoZ3N0X2phc3Blcl9lbmNfY2xhc3NfaW5pdCksIChnc3RfamFzcGVyX2VuY19pbml0KSwKCSAgKGdzdF9qYXNwZXJfZW5jX3Jlc2V0KSwgKGdzdF9qYXNwZXJfZW5jX3NldF9zcmNfY2FwcyksCgkgIChnc3RfamFzcGVyX2VuY19pbml0X2VuY29kZXIpLCAoZ3N0X2phc3Blcl9lbmNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9qYXNwZXJfZW5jX2dldF9kYXRhKSwgKGdzdF9qYXNwZXJfZW5jX2NoYWluKSwKCSAgKGdzdF9qYXNwZXJfZW5jX3NldF9wcm9wZXJ0eSksIChnc3RfamFzcGVyX2VuY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2phc3Blcl9lbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvanAyay9nc3RqYXNwZXJlbmMuaDoKCSAgKiBleHQvanAyay9nc3RqcDJrLmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZCBqcDJrZW5jIHRvIGpwMmsgcGx1Z2luLgoKMjAwOC0xMS0xMyAyMTozMToxNCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBleHQvanAyay9nc3RqYXNwZXJkZWMuKjogTWFrZSBwYWQgdGVtcGxhdGUgY2FwcyByZWZsZWN0IHRoZSBzdXBwb3J0ZWQgZm9ybWF0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6IChnc3RfamFzcGVyX2RlY19pbml0KSwKCSAgKGdzdF9qYXNwZXJfZGVjX3Jlc2V0KSwgKGdzdF9qYXNwZXJfZGVjX25lZ290aWF0ZSksCgkgIChnc3RfamFzcGVyX2RlY19nZXRfcGljdHVyZSk6CgkgICogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmg6CgkgIE1ha2UgcGFkIHRlbXBsYXRlIGNhcHMgcmVmbGVjdCB0aGUgc3VwcG9ydGVkIGZvcm1hdHMuCgkgIEFkZCBvciBtb2RpZnkgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzLCBhbmQgc2xpZ2h0bHkgc2ltcGxpZnkgaW1hZ2UKCSAgcGFzc2luZyB0byBlbmNvZGluZyBsaWJyYXJ5LgoKMjAwOC0xMS0xMyAxNzoyNDo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOiBEb24ndCBhdXRvcGx1ZyBhYWNwYXJzZSB1bnRpbCBpdCB3b3Jrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6IChwbHVnaW5faW5pdCk6CgkgIERvbid0IGF1dG9wbHVnIGFhY3BhcnNlIHVudGlsIGl0IHdvcmtzLgoKMjAwOC0xMS0xMyAxNTo0ODo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogU21hbGwgY2xlYW51cHMgYW5kIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfcmVzZXRfc2tldyksCgkgIChjYWxjdWxhdGVfc2tldyk6CgkgIFNtYWxsIGNsZWFudXBzIGFuZCBzb21lIG1vcmUgZGVidWcgaW5mby4KCjIwMDgtMTEtMTMgMTU6MjA6MTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHVuaXQgdGVzdHMgZm9yIG5ldyBwYXJzZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FtcnBhcnNlLmM6CgkgIEFkZCB1bml0IHRlc3RzIGZvciBuZXcgcGFyc2Vycy4KCjIwMDgtMTEtMTMgMTQ6MzE6NDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IFVwZGF0ZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJICBVcGRhdGUgZG9jcy4KCjIwMDgtMTEtMTMgMTQ6MjE6MzkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC86IEZpeCBiYXNlcGFyc2UgdHlwZSBuYW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgICogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBGaXggYmFzZXBhcnNlIHR5cGUgbmFtZS4KCjIwMDgtMTEtMTMgMTI6NTk6MzQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEFkZCB0d28gbmV3IGJhc2VwYXJzZSBiYXNlZCBwYXJzZXJzIChhYWMgYW5kIGFtcikgZnJvbSBCdWcgIzUxODg1Ny4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9hYWNwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuaDoKCSAgKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgICogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICAqIGdzdC9hbXJwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYW1ycGFyc2UvZ3N0YW1ycGFyc2UuYzoKCSAgKiBnc3QvYW1ycGFyc2UvZ3N0YW1ycGFyc2UuaDoKCSAgKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgICogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICBBZGQgdHdvIG5ldyBiYXNlcGFyc2UgYmFzZWQgcGFyc2VycyAoYWFjIGFuZCBhbXIpIGZyb20gQnVnICM1MTg4NTcuCgoyMDA4LTExLTEyIDEwOjMyOjI0ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6IEZpeCB1bmluaXRpYWxpemVkIHdhcm5pbmdzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICBGaXggdW5pbml0aWFsaXplZCB3YXJuaW5ncwoKMjAwOC0xMS0xMSAxOTozMTozNSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICB0ZXN0cy9jaGVjay86IEFkZCB1bml0IHRlc3QgZm9yIHF0bXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOiAoc2V0dXBfc3JjX3BhZCksCgkgICh0ZWFyZG93bl9zcmNfcGFkKSwgKHNldHVwX3F0bXV4KSwgKGNsZWFudXBfcXRtdXgpLAoJICAoY2hlY2tfcXRtdXhfcGFkKSwgKEdTVF9TVEFSVF9URVNUKSwgKHF0bXV4X3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0IGZvciBxdG11eC4KCjIwMDgtMTEtMTEgMTk6MjQ6MTIgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F0bXV4L2dzdHF0bXV4LmM6IEFkZCBzb21lIG1vcmUgc2FmZXR5L3Nhbml0eSBjaGVja3MgaW4gdGFnIG1hbmlwdWxhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6IChnc3RfcXRfbXV4X2FkZF9tZXRhZGF0YV90YWdzKToKCSAgQWRkIHNvbWUgbW9yZSBzYWZldHkvc2FuaXR5IGNoZWNrcyBpbiB0YWcgbWFuaXB1bGF0aW9uLgoKMjAwOC0xMS0xMCAxNToyNjo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBBbHNvIGNvbmZpZ3VyZSB0aGUgbmV4dCBleHBlY3RlZCBvdXRwdXQgc2VxbnVtIHdoZW4gd2UgZ2V0IGEgc2VxbnVtLWJhc2Ugb24gdGhlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pOgoJICBBbHNvIGNvbmZpZ3VyZSB0aGUgbmV4dCBleHBlY3RlZCBvdXRwdXQgc2VxbnVtIHdoZW4gd2UgZ2V0IGEgc2VxbnVtLWJhc2UKCSAgb24gdGhlIGNhcHMuCgoyMDA4LTExLTEwIDE0OjUzOjQ1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0LzogV2ltLCB5b3UncmUgYSBiYWQgYm95LiBZb3UgZG9uJ3Qgd2FudCBwZW9wbGUgdG8gY29udGFjdCB5b3Ugb3Igd2hhdD8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzoKCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBXaW0sIHlvdSdyZSBhIGJhZCBib3kuIFlvdSBkb24ndCB3YW50IHBlb3BsZSB0byBjb250YWN0IHlvdSBvciB3aGF0PwoKMjAwOC0xMS0xMCAxNDowMTo0MiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGlpci5jOiBGaXggbmFtZSB0YWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6CgkgIEZpeCBuYW1lIHRhZy4KCjIwMDgtMTEtMDggMDI6MDA6NTggKzAwMDAgIFRoaWFnbyBTb3VzYSBTYW50b3MgPHRoaWFnb3NzYW50b3NAZ21haWwuY29tPgoKCSAgQ29weSBxdG11eCBmcm9tIHJldmlzaW9uIDE0OCBvZiB0aGUgZ3N0LXF0bXV4IHJlcG9zaXRvcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogVGhpYWdvIFNvdXNhIFNhbnRvcyA8dGhpYWdvc3NhbnRvc0BnbWFpbC5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9xdG11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSAgKiBnc3QvcXRtdXgvZGVzY3JpcHRvcnMuYzoKCSAgKiBnc3QvcXRtdXgvZGVzY3JpcHRvcnMuaDoKCSAgKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkgICogZ3N0L3F0bXV4L2Z0eXBjYy5oOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5oOgoJICAqIGdzdC9xdG11eC9wcm9wZXJ0aWVzLmM6CgkgICogZ3N0L3F0bXV4L3Byb3BlcnRpZXMuaDoKCSAgQ29weSBxdG11eCBmcm9tIHJldmlzaW9uIDE0OCBvZiB0aGUgZ3N0LXF0bXV4IHJlcG9zaXRvcnkuCgkgIEZpeGVzICM1NTAyODAuCgoyMDA4LTExLTA3IDE3OjM1OjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuKjogQWRkIGlzLWxpdmUgcHJvcGVydHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6IChnc3RfYXBwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9hcHBfc3JjX2luaXQpLCAoZ3N0X2FwcF9zcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hcHBfc3JjX2dldF9wcm9wZXJ0eSksIChnc3RfYXBwX3NyY19wdXNoX2J1ZmZlcik6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuaDoKCSAgQWRkIGlzLWxpdmUgcHJvcGVydHkuCgkgIEFkZCBzb21lIG1vcmUgZG9jcy4KCjIwMDgtMTEtMDYgMjI6NTQ6MzkgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBGaXggYmFzaWMgbmF2aWdhdGlvbiBldmVudHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgRml4IGJhc2ljIG5hdmlnYXRpb24gZXZlbnRzCgoyMDA4LTExLTA2IDE0OjA1OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogQnJpbmcgcHJvcGVydGllcyBpbnRvIHRoaXMgY2VudHVyeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfcHJvcGVydHkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9nZXRfcHJvcGVydHkpOgoJICBCcmluZyBwcm9wZXJ0aWVzIGludG8gdGhpcyBjZW50dXJ5LgoKMjAwOC0xMS0wNiAxMzowMDo1NCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IFNldCBmaWx0ZXJzIGluIFBBVVNFRCBvciBQTEFZSU5HLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBTZXQgZmlsdGVycyBpbiBQQVVTRUQgb3IgUExBWUlORy4KCjIwMDgtMTEtMDYgMTI6MTc6MDggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6IE1ha2UgcHJpdmF0ZSBzZWN0aW9uIHBhZHMgaGF2ZSBhIGNhcHMgc2V0IHNvIHRoZXkgYXJlIG5vdCB0cmllZCB0byBiZSBsaW5rZWQgaW4gcGFyc2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBNYWtlIHByaXZhdGUgc2VjdGlvbiBwYWRzIGhhdmUgYSBjYXBzIHNldCBzbyB0aGV5IGFyZSBub3QgdHJpZWQKCSAgdG8gYmUgbGlua2VkIGluIHBhcnNlX2xhdW5jaCBmb3IgZXhhbXBsZS4KCjIwMDgtMTEtMDYgMTE6MzE6MDMgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6IE5vIG5lZWQgdG8gcmVjbGFjdWxhdGUgZmx1c2ggaW4gdGhpcyBjYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEpvc2VwIFRvcnJhCgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBObyBuZWVkIHRvIHJlY2xhY3VsYXRlIGZsdXNoIGluIHRoaXMgY2FzZS4KCSAgRml4ZXMgc29tZSBiYWQgZGVjb2RlIGVycm9ycyBpbnRyb2R1Y2VkLgoKMjAwOC0xMS0wNiAxMDo0Mjo1OSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguKjogRml4IHR5cG8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgIEZpeCB0eXBvLgoKMjAwOC0xMS0wNSAyMzozMTo0MSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IEZpeCBSR0IgbWFzayBpbiBjYXBzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgIEZpeCBSR0IgbWFzayBpbiBjYXBzCgoyMDA4LTExLTA1IDIyOjI1OjI1ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi86IEFkZCBIZXh0aWxlIGVuY29kaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIEFkZCBIZXh0aWxlIGVuY29kaW5nCgoyMDA4LTExLTA1IDE4OjUyOjM4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOiBIZXVyaXN0aWMgYXBwcm9hY2ggd2hlbiByZXN5bmNpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogSm9zZXAgVG9ycmEKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIEhldXJpc3RpYyBhcHByb2FjaCB3aGVuIHJlc3luY2luZy4KCjIwMDgtMTEtMDUgMTg6MTE6NTUgKzAwMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPG1hcmR1a0BrLWQtdy5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmM6IExlbmd0aCBzaG91bGQgYmUgYSBndWludDggbm90IGEgZ2ludC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBTZWJhc3RpYW4gUMO2bHN0ZXJsCgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5jOgoJICBMZW5ndGggc2hvdWxkIGJlIGEgZ3VpbnQ4IG5vdCBhIGdpbnQuCgkgICogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIENvbnZlcnQgdGV4dCB0byB1dGY4IGZvciBlYWNoIGRlc2NyaXB0b3Igc2VwYXJhdGVseSBhbmQgbm90CgkgIGNvbmNhdGVuYXRlIHRoZW0gZmlyc3QgYW5kIGNvbnZlcnQgYWZ0ZXIuCgoyMDA4LTExLTA0IDIwOjI2OjAwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOiBTZW5kIHRhZyBldmVudC4gRml4ZXMgIzU1OTI4Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgU2VuZCB0YWcgZXZlbnQuIEZpeGVzICM1NTkyODYuCgoyMDA4LTExLTA0IDE4OjAzOjU1ICswMDAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxtYXJkdWtAay1kLXcub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOiBGaXggYW5vdGhlciBtZW1sZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IFNlYmFzdGlhbiBQw7Zsc3RlcmwKCSAgKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIEZpeCBhbm90aGVyIG1lbWxlYWsuCgoyMDA4LTExLTA0IDE3OjI1OjA5ICswMDAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxtYXJkdWtAay1kLXcub3JnPgoKCSAgRml4IG1lbWxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IFNlYmFzdGlhbiBQw7Zsc3RlcmwKCSAgKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBGaXggbWVtbGVha3MuCgoyMDA4LTExLTA0IDEyOjQyOjMwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJ3Yi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHMvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHNkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hdWRpb2ZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2J6Mi9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2RhdWRpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2VsdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGMxMzk0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpdngvTWFrZWZpbGUuYW06CgkgICogZXh0L2R0cy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ3NtL01ha2VmaWxlLmFtOgoJICAqIGV4dC9oZXJtZXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgICogZXh0L2pwMmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGNzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJmYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJtbXMvTWFrZWZpbGUuYW06CgkgICogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBsZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L211c2VwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXl0aHR2L01ha2VmaWxlLmFtOgoJICAqIGV4dC9uYXMvTWFrZWZpbGUuYW06CgkgICogZXh0L25lb24vTWFrZWZpbGUuYW06CgkgICogZXh0L29mYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvcG9seXAvTWFrZWZpbGUuYW06CgkgICogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkgICogZXh0L3Nob3V0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmFwc2hvdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25kZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zd2ZkZWMvTWFrZWZpbGUuYW06CgkgICogZXh0L3Rhcmtpbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGhlb3JhL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aW1pZGl0eS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdHdvbGFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveDI2NC9NYWtlZmlsZS5hbToKCSAgKiBleHQveGluZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveHZpZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWlmZnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvYnVmZmVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2R4YXBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jaGFydC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY29sb3JzcGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGNjcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJICAqIGdzdC9mZXN0aXZhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbGFjcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ2FtZXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2gyNjRwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICAqIGdzdC9taXhtYXRyaXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWcxc3lzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgICogZ3N0L251dmRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9vdmVybGF5L01ha2VmaWxlLmFtOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGNhcHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydGpwZWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2VsZWN0b3IvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Ntb290aC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21vb3Rod2F2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3N0ZXJlby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3ViZW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC90dGEvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZiaWRlYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9kcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlydHVhbGR1Yi9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICAqIHN5cy9hY21lbmMvTWFrZWZpbGUuYW06CgkgICogc3lzL2Nkcm9tL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHZiL01ha2VmaWxlLmFtOgoJICAqIHN5cy9keHIzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9mYmRldi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzNC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcWNhbS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcXR3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy92Y2QvTWFrZWZpbGUuYW06CgkgICogc3lzL3dpbmluZXQvTWFrZWZpbGUuYW06CgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoKMjAwOC0xMS0wNCAwODoyNDoxMCArMDAwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8bWFyZHVrQGstZC13Lm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzogRml4IG1lbWxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogU2ViYXN0aWFuIFDDtmxzdGVybAoJICAqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgRml4IG1lbWxlYWsuCgoyMDA4LTExLTAzIDIyOjAwOjA5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4YW1wbGVzL3NjYWxldGVtcG8vLmN2c2lnbm9yZTogQWRkIGV4YW1wbGUgdG8gY3ZzIGlnbm9yZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL3NjYWxldGVtcG8vLmN2c2lnbm9yZToKCSAgQWRkIGV4YW1wbGUgdG8gY3ZzIGlnbm9yZXMuCgoyMDA4LTExLTAzIDIxOjI3OjMxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOiBGaXggbWlzbWF0Y2hlZCBzaWduZWRuZXNzIGNvbXBpbGVyIHdhcm5pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJICAob3Blbl9kZWNvZGVyKToKCSAgRml4IG1pc21hdGNoZWQgc2lnbmVkbmVzcyBjb21waWxlciB3YXJuaW5nLgoKMjAwOC0xMS0wMyAwODo1NTo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOiBBZGQgVE9ETyBhdCB0aGUgdG9wIG9mIHRoZSBmaWxlIGZvciBlbmFibGluZyBTU0UvQVJNIHNwZWNpZmljIG9wdGltaXphdGlvbnMgYW5kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9jb252ZXJ0X2J1ZmZlcik6CgkgIEFkZCBUT0RPIGF0IHRoZSB0b3Agb2YgdGhlIGZpbGUgZm9yIGVuYWJsaW5nIFNTRS9BUk0gc3BlY2lmaWMKCSAgb3B0aW1pemF0aW9ucyBhbmQgY2hvb3NpbmcgdGhlIGZhc3Rlc3QgaW1wbGVtZW50YXRpb24gYXQgcnVudGltZS4KCSAgQWRkIGdfYXNzZXJ0X25vdF9yZWFjaGVkKCkgYXQgdHdvIHBsYWNlcyB0aGF0IHNob3VsZCByZWFsbHkgbmV2ZXIKCSAgYmUgcmVhY2hlZC4KCjIwMDgtMTEtMDIgMDk6MTk6MjQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzogRml4IGZvcm1hdCBzdHJpbmcgYW5kIGFyZ3VtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2NoZWNrX2Rpc2NvbnQpOgoJICBGaXggZm9ybWF0IHN0cmluZyBhbmQgYXJndW1lbnRzLgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3Jlc2FtcGxlX3NzZS5oOgoJICBBZGQgbWlzc2luZyBmaWxlLgoKMjAwOC0xMS0wMSAyMTozNzowNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOiBEaXN0IHRoZSBwbGF5IHNjcmlwdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSAgRGlzdCB0aGUgcGxheSBzY3JpcHRzLgoKMjAwOC0xMS0wMSAxOTozODozNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvOiBBZGQgbWlzc2luZyBoZWFkZXJzIHRvIE1ha2VmaWxlLmFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfYmFzZV9pbml0KSwgKGdzdF9zcGVleF9yZXNhbXBsZV9nZXRfZnVuY3MpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2NvbnZlcnRfYnVmZmVyKSwgKF9iZW5jaG1hcmtfaW50X2Zsb2F0KSwKCSAgKF9iZW5jaG1hcmtfaW50X2ludCksIChfYmVuY2htYXJrX2ludGVnZXJfcmVzYW1wbGluZyksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3Jlc2FtcGxlLmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX2RvdWJsZS5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl9mbG9hdC5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl9pbnQuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfd3JhcHBlci5oOgoJICBBZGQgbWlzc2luZyBoZWFkZXJzIHRvIE1ha2VmaWxlLmFtLgoJICBVcGRhdGUgY29weXJpZ2h0LCB5ZWFycyBhbmQgbXkgbWFpbCBhZGRyZXNzLgoJICBCZW5jaG1hcmsgdGhlIGludGVnZXIgcmVzYW1wbGluZyBpbXBsZW1lbnRhdGlvbiBhZ2FpbnN0IHRoZQoJICBmbG9hdCBpbXBsZW1lbnRhdGlvbiBhbmQgdXNlIHRoZSBmYXN0ZXIgb25lIGZvciA4LzE2IGJpdCBpbnRlZ2VyCgkgIGlucHV0LiBPbiBtb3N0IHJlY2VudCBzeXN0ZW1zIHRoZSBmbG9hdGluZyBwb2ludCB2ZXJzaW9uIGlzIGZhc3Rlci4KCjIwMDgtMTAtMzEgMTg6Mzk6MzcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogVXNlIEFDX1RSWV9DT01QSUxFIGluc3RlYWQgb2YgQUNfVFJZX1JVTiBhcyB0aGUgcmVzdWx0IG9mIHRoZSBsaW5raW5nIGlzIHdoYXQgaXMgaW50ZXJlc3RpbmcsIG5vdCB0aGF0IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVzZSBBQ19UUllfQ09NUElMRSBpbnN0ZWFkIG9mIEFDX1RSWV9SVU4gYXMgdGhlIHJlc3VsdCBvZiB0aGUgbGlua2luZwoJICBpcyB3aGF0IGlzIGludGVyZXN0aW5nLCBub3QgdGhhdCBpdCBhY3R1YWxseSBydW5zLgoJICBGaXhlcyBjcm9zcy1jb21waWxhdGlvbiBhbmQgZml4ZXMgYnVnICM1NTg2MzkuCgoyMDA4LTEwLTMwIDE5OjU0OjM4ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzogQWRkIEFMQUMgc3VwcG9ydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkgIEFkZCBBTEFDIHN1cHBvcnQuCgkgIEZpeCBkZWNvZGUgb2YgbW9ubyBBQUMgZmlsZXMgY3JlYXRlZCBieSBpdHVuZXMuCgkgIFNldCBvdXRwdXQgZm9ybWF0IGNvcnJlY3RseSAoZG9uJ3QgYXNrIHF1aWNrdGltZSB0bwoJICByZXNhbXBsZSBmb3IgdXMpLgoJICBVc2UgYSBsYXJnZXIgZGVjb2RlIGJ1ZmZlciB0byBhdm9pZCBwcm9ibGVtcyB3aXRoIGxhcmdlCgkgIEFMQUMgcGFja2V0cy4KCSAgRml4IGRlY29kZSB0byBsb29wIHVudGlsIHdlIGhhdmUgYWxsIG91dHB1dCBkYXRhLgoJICAqIHN5cy9xdHdyYXBwZXIvcXR1dGlscy5jOgoJICBGaXggaW5jbHVkZXMgc28gd2UgY29tcGlsZSBvbiBtb3JlIE9TZXMuCgoyMDA4LTEwLTMwIDE1OjMxOjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBSZXF1aXJlIGF0IGxlYXN0IEd0ayAyLjguMCBmb3IgdGhlIGRlbW9zICh0aGF0J3MgdGhlIG9sZGVzdCBJIGNhbiB0ZXN0IHdpdGg7IEknbSBmYWlybHkgY2VydGFpbiBHdGsgMi4wLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSBhdCBsZWFzdCBHdGsgMi44LjAgZm9yIHRoZSBkZW1vcyAodGhhdCdzIHRoZSBvbGRlc3QgSSBjYW4KCSAgdGVzdCB3aXRoOyBJJ20gZmFpcmx5IGNlcnRhaW4gR3RrIDIuMC4wIGlzIG5vdCBnb29kIGVub3VnaCBhbnkKCSAgbG9uZ2VyKTsgY2xlYW4gdXAgc29tZSB1bnVzZWQgR3RrLXJlbGF0ZWQgY29uZmlndXJlIGNydWZ0LgoJICAqIGV4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuYzoKCSAgRGVmaW5lIEd0ayAyLjEyIGZ1bmN0aW9uIHRvIG5vb3Agd2hlbiBjb21waWxpbmcgYWdhaW5zdCBvbGRlciBHdGsuCgoyMDA4LTEwLTMwIDE0OjU1OjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6IFRoZSBsZW5ndGggZm9yIHRoZSBidWZmZXIgY29udmVyc2lvbiBmdW5jdGlvbiBpcyB0aGUgbnVtYmVyIG9mIGF1ZGlvIGZyYW1lcywgaS4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2NvbnZlcnRfYnVmZmVyKToKCSAgVGhlIGxlbmd0aCBmb3IgdGhlIGJ1ZmZlciBjb252ZXJzaW9uIGZ1bmN0aW9uIGlzIHRoZSBudW1iZXIgb2YKCSAgYXVkaW8gZnJhbWVzLCBpLmUuIHdlIG5lZWQgdG8gbXVsdGlwbHkgaXQgYnkgdGhlIG51bWJlciBvZiBjaGFubmVscwoJICB0byBnZXQgdGhlIG51bWJlciBvZiB2YWx1ZXMuIEFsc28gc3BvdHRlZCBieSB0aGUgdW5pdCB0ZXN0IGFmdGVyCgkgIHJ1bm5pbmcgaW4gdmFsZ3JpbmQuCgoyMDA4LTEwLTMwIDE0OjQ2OjMxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVleHJlc2FtcGxlLmM6IEFkZCBwaXBlbGluZSB1bml0IHRlc3RzIGZvciB0ZXN0aW5nIGFsbCBzdXBwb3J0ZWQgZm9ybWF0cyB3aXRoIHVwL2Rvd25zYW1wbGluZyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlZXhyZXNhbXBsZS5jOiAoZWxlbWVudF9tZXNzYWdlX2NiKSwKCSAgKGVvc19tZXNzYWdlX2NiKSwgKHRlc3RfcGlwZWxpbmUpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoc3BlZXhyZXNhbXBsZV9zdWl0ZSk6CgkgIEFkZCBwaXBlbGluZSB1bml0IHRlc3RzIGZvciB0ZXN0aW5nIGFsbCBzdXBwb3J0ZWQgZm9ybWF0cyB3aXRoCgkgIHVwL2Rvd25zYW1wbGluZyBhbmQgZGlmZmVyZW50IGluL291dHJhdGVzLgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9wdXNoX2RyYWluKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9wcm9jZXNzKToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfd3JhcHBlci5oOgoJICBGaXggYnVncyBpZGVudGlmaWVkIGJ5IHRoZSB0ZXN0c3VpdGUuCgoyMDA4LTEwLTMwIDEzOjQ0OjQxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS86IEFkZCBzdXBwb3J0IGZvciBpbnQ4LCBpbnQyNCBhbmQgaW50MzIgaW5wdXQgYnkgY29udmVydGluZyBpbnRlcm5hbGx5IHRvL2Zyb20gaW50MTYgb3IgZG91YmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6IChnc3Rfc3BlZXhfcmVzYW1wbGVfc3RvcCksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfZ2V0X2Z1bmNzKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV90cmFuc2Zvcm1fc2l6ZSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfY29udmVydF9idWZmZXIpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3B1c2hfZHJhaW4pLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3Byb2Nlc3MpOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfd3JhcHBlci5oOgoJICBBZGQgc3VwcG9ydCBmb3IgaW50OCwgaW50MjQgYW5kIGludDMyIGlucHV0IGJ5IGNvbnZlcnRpbmcgaW50ZXJuYWxseQoJICB0by9mcm9tIGludDE2IG9yIGRvdWJsZS4KCjIwMDgtMTAtMzAgMTM6Mzg6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLio6IEJldHRlciBmaXggZm9yICM1NDYzMTkgYW5kIHNpbWlsYXIgY2FzZXMgYnkgZXhwbGljaXRseSByZWdpc3RlcmluZyB3aGVuIHdlJ3JlIGluIHBsYXlpbmcgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICBCZXR0ZXIgZml4IGZvciAjNTQ2MzE5IGFuZCBzaW1pbGFyIGNhc2VzIGJ5IGV4cGxpY2l0bHkKCSAgcmVnaXN0ZXJpbmcgd2hlbiB3ZSdyZSBpbiBwbGF5aW5nIHN0YXRlIG9yIG5vdC4KCjIwMDgtMTAtMzAgMTM6MDI6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6IFdoaXRlc3BhY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIFdoaXRlc3BhY2UuCgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgQWRkIGEgRklYTUU6LiBub3Qgc3VyZSBpZiB0aGlzIGNvZGUgZG9lcyB0aGUgZm9yd2FyZGluZyBjb3JyZWN0bHkuCgoyMDA4LTEwLTMwIDEyOjQzOjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgc3VwcG9ydCBmb3IgZG91YmxlIHNhbXBsZXMgYXMgaW5wdXQgYW5kIHJlZmFjdG9yIHRoZSB1c2FnZSBvZiB0aGUgZGlmZmVyZW50IGNvbXBpbGF0aW9uIGZsYXZvcnMgb2YgdGhlIHNwZWV4IHJlc2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvYXJjaC5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzogKGdzdF9zcGVleF9yZXNhbXBsZV9zdG9wKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9nZXRfdW5pdF9zaXplKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9nZXRfZnVuY3MpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2luaXRfc3RhdGUpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3VwZGF0ZV9zdGF0ZSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcmVzZXRfc3RhdGUpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3BhcnNlX2NhcHMpLAoJICAoX2djZCksIChnc3Rfc3BlZXhfcmVzYW1wbGVfdHJhbnNmb3JtX3NpemUpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3NldF9jYXBzKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9wdXNoX2RyYWluKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9wcm9jZXNzKSwgKGdzdF9zcGVleF9yZXNhbXBsZV90cmFuc2Zvcm0pLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3F1ZXJ5KSwgKGdzdF9zcGVleF9yZXNhbXBsZV9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9yZXNhbXBsZS5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlci5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl9kb3VibGUuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfd3JhcHBlci5oOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWV4cmVzYW1wbGUuYzogKHNldHVwX3NwZWV4cmVzYW1wbGUpLAoJICAodGVzdF9wZXJmZWN0X3N0cmVhbV9pbnN0YW5jZSksIChHU1RfU1RBUlRfVEVTVCksCgkgICh0ZXN0X2Rpc2NvbnRfc3RyZWFtX2luc3RhbmNlKToKCSAgQWRkIHN1cHBvcnQgZm9yIGRvdWJsZSBzYW1wbGVzIGFzIGlucHV0IGFuZCByZWZhY3RvciB0aGUgdXNhZ2UKCSAgb2YgdGhlIGRpZmZlcmVudCBjb21waWxhdGlvbiBmbGF2b3JzIG9mIHRoZSBzcGVleCByZXNhbXBsZXIuCgoyMDA4LTEwLTMwIDEyOjEzOjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6IFJldHVybiB0aGUgcmVzdWx0IG9mIHBhcmVudF9jbGFzcy0+ZXZlbnQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJICBSZXR1cm4gdGhlIHJlc3VsdCBvZiBwYXJlbnRfY2xhc3MtPmV2ZW50KCkuCgoyMDA4LTEwLTMwIDExOjUwOjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F1ZGlvYnVmZmVyLzogQWRkIGZpcnN0IHZlcnNpb24gb2YgYW4gYXVkaW9yaW5nYnVmZmVyIGVsZW1lbnQgdGhhdCBjYW4gYmUgaW5zZXJ0ZWQgaW4gdGhlIHBpcGVsaW5lIHRvIGNvbnZlcnQgcHVzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2J1ZmZlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9idWZmZXIvZ3N0YXVkaW9yaW5nYnVmZmVyLmM6CgkgIChnc3RfaW50X3JpbmdfYnVmZmVyX2FjcXVpcmUpLCAoZ3N0X2ludF9yaW5nX2J1ZmZlcl9yZWxlYXNlKSwKCSAgKGdzdF9pbnRfcmluZ19idWZmZXJfc3RhcnQpLCAoZ3N0X2ludF9yaW5nX2J1ZmZlcl9iYXNlX2luaXQpLAoJICAoZ3N0X2ludF9yaW5nX2J1ZmZlcl9jbGFzc19pbml0KSwgKGdzdF9pbnRfcmluZ19idWZmZXJfaW5pdCksCgkgIChnc3RfaW50X3JpbmdfYnVmZmVyX25ldyksIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9nZXRfdHlwZSksCgkgIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9jbGFzc19pbml0KSwgKGdzdF9hdWRpb19yaW5nYnVmZmVyX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfZmluYWxpemUpLCAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfZ2V0Y2FwcyksCgkgIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9zZXRjYXBzKSwgKGdzdF9hdWRpb19yaW5nYnVmZmVyX2J1ZmZlcmFsbG9jKSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX2hhbmRsZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX3JlbmRlciksIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9jaGFpbiksCgkgIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfZ2V0X3JhbmdlKSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX3NyY19jaGVja2dldHJhbmdlX2Z1bmN0aW9uKSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX3NpbmtfYWN0aXZhdGVfcHVzaCksCgkgIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9zcmNfYWN0aXZhdGVfcHVzaCksCgkgIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9zcmNfYWN0aXZhdGVfcHVsbCksCgkgIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX2dldF9wcm9wZXJ0eSksIChwbHVnaW5faW5pdCk6CgkgIEFkZCBmaXJzdCB2ZXJzaW9uIG9mIGFuIGF1ZGlvcmluZ2J1ZmZlciBlbGVtZW50IHRoYXQgY2FuIGJlIGluc2VydGVkIGluCgkgIHRoZSBwaXBlbGluZSB0byBjb252ZXJ0IHB1c2gtYmFzZWQgdXBzdHJlYW0gaW50byBhIHB1bGwtYmFzZWQKCSAgZG93bnN0cmVhbS4KCjIwMDgtMTAtMzAgMTE6NDM6MTIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogUmV0dXJuIHRoZSByZXN1bHQgb2YgcGFyZW50X2NsYXNzLT5ldmVudCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIFJldHVybiB0aGUgcmVzdWx0IG9mIHBhcmVudF9jbGFzcy0+ZXZlbnQoKS4KCjIwMDgtMTAtMzAgMDA6MTc6MTIgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmM6IEFJRkYgaXMgYWx3YXlzIHNpZ25lZCwgZXZlbiBmb3IgOCBiaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmM6CgkgIEFJRkYgaXMgYWx3YXlzIHNpZ25lZCwgZXZlbiBmb3IgOCBiaXQuCgoyMDA4LTEwLTI5IDE3OjAyOjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6IEZpeCB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6IChnc3RfYXBwX3NpbmtfY2xhc3NfaW5pdCk6CgkgIEZpeCB0aGUgZG9jcy4KCjIwMDgtMTAtMjkgMTY6NTM6NTQgKzAwMDAgIFJvYmluIFN0b2NrZXIgPHJvYmluQG5pYm9yLm9yZz4KCgkgIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiBBIFJlYWxWaWRlbyB2aWRlbyBpbnNpZGUgYSBjb250YWluZXIgKGZvciBleGFtcGxlIE1LVikgc2hvdWxkIHVzZSB0aGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSb2JpbiBTdG9ja2VyIDxyb2JpbiBhdCBuaWJvciBkb3Qgb3JnPgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAoZ3N0X3JlYWxfdmlkZW9fZGVjX3NldGNhcHMpOgoJICBBIFJlYWxWaWRlbyB2aWRlbyBpbnNpZGUgYSBjb250YWluZXIgKGZvciBleGFtcGxlIE1LVikgc2hvdWxkIHVzZSB0aGUKCSAgUEFSIHdoaWNoIGlzIHNwZWNpZmllZCBvbiB0aGUgc2lua3BhZCBjYXBzLiBGaXhlcyAjNTU4NDE2LgoKMjAwOC0xMC0yOSAxMjoxMToyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS4qOiBSZXdyaXRlIHRpbWVzdGFtcCB0cmFja2luZyB0byBtYWtlIGl0IG1vcmUgcm9idXN0IGFuZCBndWFyYW50ZWUgYSBjb250aW5vdXMgc3RyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzogKGdzdF9zcGVleF9yZXNhbXBsZV9zdGFydCksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfZ2V0X3VuaXRfc2l6ZSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHVzaF9kcmFpbiksIChnc3Rfc3BlZXhfcmVzYW1wbGVfZXZlbnQpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2NoZWNrX2Rpc2NvbnQpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3Byb2Nlc3MpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3RyYW5zZm9ybSk6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5oOgoJICBSZXdyaXRlIHRpbWVzdGFtcCB0cmFja2luZyB0byBtYWtlIGl0IG1vcmUgcm9idXN0IGFuZCBndWFyYW50ZWUKCSAgYSBjb250aW5vdXMgc3RyZWFtLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWV4cmVzYW1wbGUuYzogKHNldHVwX3NwZWV4cmVzYW1wbGUpLAoJICAoY2xlYW51cF9zcGVleHJlc2FtcGxlKSwgKGZhaWxfdW5sZXNzX3BlcmZlY3Rfc3RyZWFtKSwKCSAgKHRlc3RfcGVyZmVjdF9zdHJlYW1faW5zdGFuY2UpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAodGVzdF9kaXNjb250X3N0cmVhbV9pbnN0YW5jZSksIChsaXZlX3N3aXRjaF9hbGxvY19vbmx5XzQ4MDAwKSwKCSAgKGxpdmVfc3dpdGNoX2dldF9zaW5rX2NhcHMpLCAobGl2ZV9zd2l0Y2hfcHVzaCksCgkgIChzcGVleHJlc2FtcGxlX3N1aXRlKToKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIHNwZWV4cmVzYW1wbGUgYmFzZWQgb24gdGhlIGF1ZGlvcmVzYW1wbGUgdW5pdCB0ZXN0cy4KCjIwMDgtMTAtMjkgMDE6MDA6MjIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6IE1ha2Ugc3VyZSB0byBzdGFydCB0aGUgTkFWIHBhY2tldCBwcm9jZXNzaW5nIHdoZW4gY2hhbmdpbmcgc3RhdGUgdG8gUExBWUlORyAgYnkgcGFzc2luZyBhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICBNYWtlIHN1cmUgdG8gc3RhcnQgdGhlIE5BViBwYWNrZXQgcHJvY2Vzc2luZyB3aGVuIGNoYW5naW5nCgkgIHN0YXRlIHRvIFBMQVlJTkcgIGJ5IHBhc3NpbmcgYSBmbGFnIHRoYXQgaW5kaWNhdGVzIHRoZSBzdGF0ZQoJICBjaGFuZ2UgaXMgaW4gcHJvZ3Jlc3MuCgkgIEZpeGVzOiAjNTQ2MzE5CgoyMDA4LTEwLTI4IDIwOjA2OjI3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvcmVzaW5kdmQvcmVzaW4tcGxheTogUmVtb3ZlICRAIHRvIGZpeCBwYXJzZV9sYXVuY2ggd2FybmluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW4tcGxheToKCSAgUmVtb3ZlICRAIHRvIGZpeCBwYXJzZV9sYXVuY2ggd2FybmluZwoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbi1wbGF5MjoKCSAgQWRkIGEgdmVyc2lvbiB0aGF0IHVzZXMgZGVpbnRlcmxhY2UgYW5kIHh2aW1hZ2VzaW5rLgoKMjAwOC0xMC0yOCAxOTozMDozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS4qOiBTb21lIHJhbmRvbSBjbGVhbnVwLCBhZGQgR19MSUtFTFkgYW5kIGZyaWVuZHMsIHVzZSBHU1RfREVCVUdfT0JKRUNUIGluc3RlYWQgb2YgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9nZXRfdW5pdF9zaXplKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9maXhhdGVfY2FwcyksIChnc3Rfc3BlZXhfcmVzYW1wbGVfaW5pdF9zdGF0ZSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfdXBkYXRlX3N0YXRlKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9wYXJzZV9jYXBzKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV90cmFuc2Zvcm1fc2l6ZSksIChnc3Rfc3BlZXhfcmVzYW1wbGVfc2V0X2NhcHMpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3B1c2hfZHJhaW4pLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2V2ZW50KSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9jaGVja19kaXNjb250KSwgKGdzdF9zcGVleF9maXhfb3V0cHV0X2J1ZmZlciksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHJvY2VzcyksIChnc3Rfc3BlZXhfcmVzYW1wbGVfdHJhbnNmb3JtKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9xdWVyeSksIChnc3Rfc3BlZXhfcmVzYW1wbGVfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmg6CgkgIFNvbWUgcmFuZG9tIGNsZWFudXAsIGFkZCBHX0xJS0VMWSBhbmQgZnJpZW5kcywgdXNlIEdTVF9ERUJVR19PQkpFQ1QKCSAgaW5zdGVhZCBvZiBHU1RfREVCVUcsIC4uLgoKMjAwOC0xMC0yOCAxODo0NDo0NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBJbXBsZW1lbnQgcG9zaXRpb24gcXVlcnkgaW4gdGltZSBmb3JtYXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcXVlcnkpOgoJICBJbXBsZW1lbnQgcG9zaXRpb24gcXVlcnkgaW4gdGltZSBmb3JtYXQuCgoyMDA4LTEwLTI4IDE4OjQxOjE5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2LzogUHV0IHRoZSBHc3RTZWdtZW50IGRpcmVjdGx5IGludG8gdGhlIGluc3RhbmNlIHN0cnVjdCBpbnN0ZWFkIG9mIGFsbG9jYXRpbmcgYW5kIGZyZWUnaW5nIGl0IGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NsZWFudXApLAoJICAoZ3N0X2Zsdl9kZW11eF9sb29wKSwgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpLCAoZ3N0X2Zsdl9kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9mbHZfZGVtdXhfZGlzcG9zZSksIChnc3RfZmx2X2RlbXV4X2luaXQpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyksIChnc3RfZmx2X3BhcnNlX3RhZ190aW1lc3RhbXApOgoJICBQdXQgdGhlIEdzdFNlZ21lbnQgZGlyZWN0bHkgaW50byB0aGUgaW5zdGFuY2Ugc3RydWN0IGluc3RlYWQgb2YKCSAgYWxsb2NhdGluZyBhbmQgZnJlZSdpbmcgaXQgYWdhaW4uCgkgIFB1c2ggdGFncyBhbHJlYWR5IGlmIG9ubHkgb25lIHBhZCB3YXMgYWRkZWQsIG5vIG5lZWQgdG8gd2FpdCBmb3IKCSAgdGhlIHNlY29uZCBvbmUuCgkgIFdoZW4gZ2VuZXJhdGluZyBvdXIgaW5kZXggc2V0IGhhc192aWRlbyBhbmQgaGFzX2F1ZGlvIGlmIHdlIGZpbmQKCSAgdmlkZW8gb3IgYXVkaW8gaW4gY2FzZSB0aGUgRkxWIGhlYWRlciBoYXMgaW5jb3JyZWN0IGRhdGEuCgoyMDA4LTEwLTI4IDE2OjI4OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6IEZpeGF0ZSB0byB0aGUgbmVhcmVzdCBzdXBwb3J0ZWQgcmF0ZSBpbnN0ZWFkIG9mIHRoZSBmaXJzdCBvbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9jbGFzc19pbml0KSwgKGdzdF9zcGVleF9yZXNhbXBsZV9maXhhdGVfY2FwcyksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHJvY2Vzcyk6CgkgIEZpeGF0ZSB0byB0aGUgbmVhcmVzdCBzdXBwb3J0ZWQgcmF0ZSBpbnN0ZWFkIG9mIHRoZSBmaXJzdCBvbmUuCgoyMDA4LTEwLTI4IDE2OjI1OjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IEZpeGF0ZSB0aGUgcmF0ZSB0byB0aGUgbmVhcmVzdCBzdXBwb3J0ZWQgcmF0ZSBpbnN0ZWFkIG9mIHRoZSBmaXJzdCBvbmUuIEZpeGVzIGIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAoZ3N0X2F1ZGlvcmVzYW1wbGVfY2xhc3NfaW5pdCksIChhdWRpb3Jlc2FtcGxlX2ZpeGF0ZV9jYXBzKToKCSAgRml4YXRlIHRoZSByYXRlIHRvIHRoZSBuZWFyZXN0IHN1cHBvcnRlZCByYXRlIGluc3RlYWQgb2YKCSAgdGhlIGZpcnN0IG9uZS4gRml4ZXMgYnVnICM1NDk1MTAuCgoyMDA4LTEwLTI4IDExOjQ2OjI4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS86IFVwZGF0ZSBTcGVleCByZXNhbXBsZXIgd2l0aCBsYXRlc3QgdmVyc2lvbiBmcm9tIFNwZWV4IEdJVC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvUkVBRE1FOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2FyY2guaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9maXhlZF9hcm00Lmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZml4ZWRfYXJtNWUuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9maXhlZF9iZmluLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZml4ZWRfZGVidWcuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9maXhlZF9nZW5lcmljLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvcmVzYW1wbGUuYzogKGNvbXB1dGVfZnVuYyksIChtYWluKSwgKHNpbmMpLAoJICAoY3ViaWNfY29lZiksIChyZXNhbXBsZXJfYmFzaWNfZGlyZWN0X3NpbmdsZSksCgkgIChyZXNhbXBsZXJfYmFzaWNfZGlyZWN0X2RvdWJsZSksCgkgIChyZXNhbXBsZXJfYmFzaWNfaW50ZXJwb2xhdGVfc2luZ2xlKSwKCSAgKHJlc2FtcGxlcl9iYXNpY19pbnRlcnBvbGF0ZV9kb3VibGUpLCAodXBkYXRlX2ZpbHRlciksCgkgIChzcGVleF9yZXNhbXBsZXJfaW5pdF9mcmFjKSwgKHNwZWV4X3Jlc2FtcGxlcl9wcm9jZXNzX25hdGl2ZSksCgkgIChzcGVleF9yZXNhbXBsZXJfbWFnaWMpLCAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfZmxvYXQpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfaW50KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9wcm9jZXNzX2ludGVybGVhdmVkX2Zsb2F0KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9wcm9jZXNzX2ludGVybGVhdmVkX2ludCksCgkgIChzcGVleF9yZXNhbXBsZXJfc2V0X3JhdGVfZnJhYyksIChzcGVleF9yZXNhbXBsZXJfc2tpcF96ZXJvcyksCgkgIChzcGVleF9yZXNhbXBsZXJfcmVzZXRfbWVtKToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXIuaDoKCSAgVXBkYXRlIFNwZWV4IHJlc2FtcGxlciB3aXRoIGxhdGVzdCB2ZXJzaW9uIGZyb20gU3BlZXggR0lULgoKMjAwOC0xMC0yOCAwMTo1Mzo0OSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuKjogQ2FsY3VsYXRlIHdpZHRoIGZyb20gZGVwdGggY29ycmVjdGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5jOgoJICAqIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmg6CgkgIENhbGN1bGF0ZSB3aWR0aCBmcm9tIGRlcHRoIGNvcnJlY3RseS4KCSAgUmVhZCBTU05EIGhlYWRlciBwcm9wZXJseSAoZml4ZXMgMjQgYml0IEFJRkYgcmVhZGluZykuCgoyMDA4LTEwLTI3IDE3OjAxOjIyICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogQWRhcHQgdG8gc2xpZ2h0bHkgbW9kaWZpZWQgeDI2NCBBUEkuICBGaXhlcyAjNTU1MjM4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IChnc3RfeDI2NF9lbmNfaW5pdF9lbmNvZGVyKToKCSAgQWRhcHQgdG8gc2xpZ2h0bHkgbW9kaWZpZWQgeDI2NCBBUEkuICBGaXhlcyAjNTU1MjM4LgoKMjAwOC0xMC0yNyAxNjozMjo0OSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBleHQvZmFhYy9nc3RmYWFjLmM6IFByZXZlbnQgZW5kbGVzcyBsb29wIGlmIGJ1ZmZlciBhbGxvYyBlcnJvci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfc2lua19ldmVudCk6CgkgIFByZXZlbnQgZW5kbGVzcyBsb29wIGlmIGJ1ZmZlciBhbGxvYyBlcnJvci4KCjIwMDgtMTAtMjcgMDk6NDU6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvOiBEb24ndCBtZW1jcHkoKSBhbGwgZGF0YSB3ZSB3YW50IHRvIHB1c2ggZG93bnN0cmVhbSwgaW5zdGVhZCBqdXN0IGNyZWF0ZSBzdWJidWZmZXJzIGFuZCBwdXNoIHRoZW0gZG93bnN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jaGFpbiksCgkgIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwgKGdzdF9mbHZfZGVtdXhfcHVsbF9oZWFkZXIpLAoJICAoZ3N0X2Zsdl9kZW11eF9jcmVhdGVfaW5kZXgpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ190aW1lc3RhbXApLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdHlwZSksCgkgIChnc3RfZmx2X3BhcnNlX2hlYWRlcik6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5oOgoJICBEb24ndCBtZW1jcHkoKSBhbGwgZGF0YSB3ZSB3YW50IHRvIHB1c2ggZG93bnN0cmVhbSwgaW5zdGVhZCBqdXN0CgkgIGNyZWF0ZSBzdWJidWZmZXJzIGFuZCBwdXNoIHRoZW0gZG93bnN0cmVhbS4KCSAgRml4IHNvbWUgbWlub3IgbWVtb3J5IGxlYWtzLgoKMjAwOC0xMC0yNyAwOTo0Mjo1NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBSZXF1aXJlIENWUyBvZiBjb3JlIGZvciB0aGUgbGFzdCBjaGFuZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSBDVlMgb2YgY29yZSBmb3IgdGhlIGxhc3QgY2hhbmdlLgoKMjAwOC0xMC0yNyAwOTo0MToxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9NYWtlZmlsZS5hbTogRml4IChub24tY3JpdGljYWwpIHN5bnRheCBlcnJvciBhbmQgYWRkIGFsbCByZXF1aXJlZCBDRkxBR1MgYW5kIExJQlMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkgIEZpeCAobm9uLWNyaXRpY2FsKSBzeW50YXggZXJyb3IgYW5kIGFkZCBhbGwgcmVxdWlyZWQgQ0ZMQUdTIGFuZCBMSUJTLgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKEZMVl9HRVRfU1RSSU5HKSwKCSAgKGdzdF9mbHZfcGFyc2VfbWV0YWRhdGFfaXRlbSksIChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdGltZXN0YW1wKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3R5cGUpOgoJICBSZXdyaXRlIHRoZSBzY3JpcHQgdGFnIHBhcnNpbmcgdG8gbWFrZSBzdXJlIHdlIGRvbid0IHRyeSB0byByZWFkCgkgIG1vcmUgZGF0YSB0aGFuIHdlIGhhdmUuIEFsc28gdXNlIEdTVF9SRUFEX1VJTlQyNF9CRSBkaXJlY3RseSBhbmQKCSAgZml4IHNvbWUgbWlub3IgbWVtb3J5IGxlYWtzLgoJICBUaGlzIHNob3VsZCBtYWtlIGFsbCBjcmFzaGVzIG9uIGZ1enplZCBGTFYgZmlsZXMgZGlzYXBwZWFyLgoKMjAwOC0xMC0yNyAwOTozNzoyMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBQcm9wZXJseSBjaGVjayBldmVyeXdoZXJlIHRoYXQgd2UgaGF2ZSBlbm91Z2ggZGF0YSB0byBwYXJzZSBhbmQgZG9uJ3QgcmVhZCBvdXRzaWRlIHRoZSBhbGxvY2F0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKEZMVl9HRVRfU1RSSU5HKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3R5cGUpLCAoZ3N0X2Zsdl9wYXJzZV9oZWFkZXIpOgoJICBQcm9wZXJseSBjaGVjayBldmVyeXdoZXJlIHRoYXQgd2UgaGF2ZSBlbm91Z2ggZGF0YSB0byBwYXJzZSBhbmQKCSAgZG9uJ3QgcmVhZCBvdXRzaWRlIHRoZSBhbGxvY2F0ZWQgbWVtb3J5IHJlZ2lvbi4KCjIwMDgtMTAtMjcgMDk6MzU6MzQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogSWYgdGhlIGNhcHMgY2hhbmdlIGR1cmluZyBwbGF5YmFjayBhbmQgbmVnb3RpYXRpb24gZmFpbHMgZXJyb3Igb3V0IGluc3RlYWQgb2YgdHJ5aW5nIHRvIGNvbnRpbnVlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6CgkgIElmIHRoZSBjYXBzIGNoYW5nZSBkdXJpbmcgcGxheWJhY2sgYW5kIG5lZ290aWF0aW9uIGZhaWxzIGVycm9yIG91dAoJICBpbnN0ZWFkIG9mIHRyeWluZyB0byBjb250aW51ZS4KCjIwMDgtMTAtMjcgMDk6MzM6NDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvOiBBZGQgc3VwcG9ydCBmb3IgU3BlZXggYXVkaW8gYW5kIGFsbG93IGJ1ZmZlcnMgd2l0aG91dCB2YWxpZCB0aW1lc3RhbXAgaW4gdGhlIG11eGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdm11eC5jOiAoZ3N0X2Zsdl9tdXhfYXVkaW9fcGFkX3NldGNhcHMpLAoJICAoZ3N0X2Zsdl9tdXhfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9mbHZfbXV4X3dyaXRlX2J1ZmZlciksCgkgIChnc3RfZmx2X211eF9jb2xsZWN0ZWQpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV9hdWRpb19uZWdvdGlhdGUpOgoJICBBZGQgc3VwcG9ydCBmb3IgU3BlZXggYXVkaW8gYW5kIGFsbG93IGJ1ZmZlcnMgd2l0aG91dCB2YWxpZAoJICB0aW1lc3RhbXAgaW4gdGhlIG11eGVyLgoKMjAwOC0xMC0yNyAwOTozMjowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBEb24ndCBwb3N0IGFuIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBpZiBzZW5kaW5nIEVPUyBkb3duc3RyZWFtIGRpZG4ndCB3b3JrLiBGaXhlcyBidWcgIzU1MDQ1NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9sb29wKSwKCSAgKGdzdF9mbHZfZGVtdXhfZmluZF9vZmZzZXQpLCAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCk6CgkgIERvbid0IHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGlmIHNlbmRpbmcgRU9TIGRvd25zdHJlYW0KCSAgZGlkbid0IHdvcmsuIEZpeGVzIGJ1ZyAjNTUwNDU0LgoJICBGaXggc2VlayBldmVudCBoYW5kbGluZyB0byBsb29rIGF0IHRoZSBmbGFncyBvZiB0aGUgc2VlayBldmVudAoJICBpbnN0ZWFkIG9mIGFzc3VtaW5nIHNvbWUgcmFuZG9tIGZsYWdzLCBkb24ndCBzZW5kIHNlZ21lbnQtc3RhcnQKCSAgbWVzc2FnZXMgd2hlbiBvcGVyYXRpbmcgaW4gcHVzaCBtb2RlIGFuZCBwdXNoIHNlZWsgZXZlbnRzIHVwc3RyZWFtCgkgIGlmIHdlIGNvdWxkbid0IGhhbmRsZSB0aGVtLgoKMjAwOC0xMC0yNyAwOToyNzoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBFcnJvciBvdXQgZWFybHkgaWYgcHVsbGluZyBhIHRhZyBmYWlsZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpOgoJICBFcnJvciBvdXQgZWFybHkgaWYgcHVsbGluZyBhIHRhZyBmYWlsZWQuCgoyMDA4LTEwLTI3IDA5OjI1OjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2LzogSW4gcHVsbCBtb2RlIHdlIGNyZWF0ZSBvdXIgb3duIGluZGV4IGJlZm9yZSBkb2luZyBhbnl0aGluZyBlbHNlIGFuZCBkb24ndCB1c2UgdGhlIGluZGV4IHByb3ZpZGVkIGJ5IHNvbWUgZmkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jcmVhdGVfaW5kZXgpLAoJICAoZ3N0X2Zsdl9kZW11eF9sb29wKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdGltZXN0YW1wKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmg6CgkgIEluIHB1bGwgbW9kZSB3ZSBjcmVhdGUgb3VyIG93biBpbmRleCBiZWZvcmUgZG9pbmcgYW55dGhpbmcgZWxzZQoJICBhbmQgZG9uJ3QgdXNlIHRoZSBpbmRleCBwcm92aWRlZCBieSBzb21lIGZpbGVzICh3aGljaCBhcmUgbW9yZSB0aGFuCgkgIG9mdGVuIGluY29ycmVjdCBhbmQgY2F1c2UgZmFpbGVkIHNlZWtzKS4KCSAgRm9yIHB1c2ggbW9kZSB3ZSBzdGlsbCB1c2UgdGhlIGluZGV4IHByb3ZpZGVkIGJ5IHRoZSBmaWxlIGFuZCBleHRlbmQgaXQKCSAgd2hpbGUgZG9pbmcgdGhlIHBsYXliYWNrLgoKMjAwOC0xMC0yNyAwOToyMDowMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBJbnN0ZWFkIG9mIHVzaW5nIGdzdF9wYWRfZXZlbnRfZGVmYXVsdCgpIHVzZSBhIHNtYWxsIGdzdF9wYWRfcHVzaF9ldmVudCgpIHdyYXBwZXIgdGhhdCBvbmx5IGRvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcHVzaF9zcmNfZXZlbnQpLAoJICAoZ3N0X2Zsdl9kZW11eF9sb29wKSwgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCksCgkgIChnc3RfZmx2X2RlbXV4X3NpbmtfZXZlbnQpOgoJICBJbnN0ZWFkIG9mIHVzaW5nIGdzdF9wYWRfZXZlbnRfZGVmYXVsdCgpIHVzZSBhIHNtYWxsCgkgIGdzdF9wYWRfcHVzaF9ldmVudCgpIHdyYXBwZXIgdGhhdCBvbmx5IGRvZXMgd2hhdCB3ZSB3YW50IGFuZCBpcyBtdWNoCgkgIG1vcmUgc2ltcGxlLgoKMjAwOC0xMC0yNyAwOToxNDo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC4qOiBJZiBvdXIgaW5kZXggd2FzIGNyZWF0ZWQgYnkgdGhlIGVsZW1lbnQgYW5kIG5vdCBwcm92aWRlZCBmcm9tIHRoZSBvdXRzaWRlIHdlIHNob3VsZCBkZXN0cm95IGl0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9mbHZfZGVtdXhfc2V0X2luZGV4KSwgKGdzdF9mbHZfZGVtdXhfaW5pdCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICBJZiBvdXIgaW5kZXggd2FzIGNyZWF0ZWQgYnkgdGhlIGVsZW1lbnQgYW5kIG5vdCBwcm92aWRlZCBmcm9tIHRoZQoJICBvdXRzaWRlIHdlIHNob3VsZCBkZXN0cm95IGl0IHdoZW4gc3RhcnRpbmcgYSBuZXcgc3RyZWFtIHRvIGdldAoJICBhbGwgb2xkIGVudHJpZXMgcmVtb3ZlZC4KCjIwMDgtMTAtMjcgMDk6MTI6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQgd2hlbiBwdWxsaW5nIGEgYnVmZmVyIGZyb20gdXBzdHJlYW0gZmFpbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcHVsbF9yYW5nZSk6CgkgIEltcHJvdmUgZGVidWdnaW5nIGEgYml0IHdoZW4gcHVsbGluZyBhIGJ1ZmZlciBmcm9tIHVwc3RyZWFtIGZhaWxzLgoKMjAwOC0xMC0yNyAwOToxMDo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi86IENsb3NlIHRoZSBjdXJyZW50bHkgcGxheWluZyBzZWdtZW50IGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQgaW5zdGVhZCBvZiB0aGUgdGhyZWFkIHdoZXJlIHRoZSBzZWVrIGV2ZW50IGlzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2xlYW51cCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpLCAoZ3N0X2Zsdl9kZW11eF9kaXNwb3NlKToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOgoJICBDbG9zZSB0aGUgY3VycmVudGx5IHBsYXlpbmcgc2VnbWVudCBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkCgkgIGluc3RlYWQgb2YgdGhlIHRocmVhZCB3aGVyZSB0aGUgc2VlayBldmVudCBpcyBoYW5kbGVkLgoKMjAwOC0xMC0yNyAwODo1NzoyNyArMDAwMCAgRGF2aWQgSMOkcmRlbWFuIDxkYXZpZEBoYXJkZW1hbi5udT4KCgkgIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOiBBZGQgc3VwcG9ydCBmb3IgdGhlIGZyZXF1ZW5jeSBsaXN0IGRlc2NyaXB0b3IsIHdoaWNoIHByb3ZpZGVzIGFkZGl0aW9uYWwgZnJlcXVlbmNpZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IERhdmlkIEjDpHJkZW1hbiA8ZGF2aWQgYXQgaGFyZGVtYW4gZG90IG51PgoJICAqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOiAobXBlZ3RzX3BhY2tldGl6ZXJfcGFyc2Vfbml0KToKCSAgQWRkIHN1cHBvcnQgZm9yIHRoZSBmcmVxdWVuY3kgbGlzdCBkZXNjcmlwdG9yLCB3aGljaCBwcm92aWRlcwoJICBhZGRpdGlvbmFsIGZyZXF1ZW5jaWVzIHRoYXQgc2hvdWxkIGJlIHNjYW5uZWQgYnkgYSBEVkIgYXBwbGljYXRpb24uCgkgIEZpeGVzIGJ1ZyAjNTU3ODE0LgoKMjAwOC0xMC0yNyAwODo1Mjo1MCArMDAwMCAgdmFuaXN0YSA8dmFuaXN0YUBnbWFpbC5jb20+CgoJICBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOiBGaXggRU9TIGxvZ2ljIGJ5IGNvcnJlY3RseSBwb3BwaW5nIHRoZSBjb2xsZWN0IHBhZCBidWZmZXJzIG9ubHkgd2hlbiB3ZSd2ZSBjaG9zZW4gdG8gdXNlIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiB2YW5pc3RhIDx2YW5pc3RhIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzogKG1wZWd0c211eF9jaG9vc2VfYmVzdF9zdHJlYW0pOgoJICBGaXggRU9TIGxvZ2ljIGJ5IGNvcnJlY3RseSBwb3BwaW5nIHRoZSBjb2xsZWN0IHBhZCBidWZmZXJzIG9ubHkKCSAgd2hlbiB3ZSd2ZSBjaG9zZW4gdG8gdXNlIHRoZW0gaW5zdGVhZCBvZiBwb3BwaW5nIHRoZW0gYWx3YXlzIGFuZAoJICBzdG9yaW5nIHRoZW0gaW4gYSBwcml2YXRlIHF1ZXVlLgoJICBCZWZvcmUgdGhlIHBpcGVsaW5lIHdvdWxkIGRlYWRsb2NrIGlmIGFsbCBwYWRzIGdvIEVPUyBhdCB0aGUgc2FtZQoJICB0aW1lLiBGaXhlcyBidWcgIzU1Nzc2My4KCjIwMDgtMTAtMjYgMjA6MDc6NTEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuOS4xCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjkuMQoKPT09IHJlbGVhc2UgMC4xMC45ID09PQoKMjAwOC0xMC0yNCAyMjo0NToxMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuOQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzZSAwLjEwLjkKCjIwMDgtMTAtMjQgMjE6NDM6MTcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA4LTEwLTI0IDE2OjQxOjMzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQ29tbWl0IDAuMTAuOC40IHByZS1yZWxlYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ29tbWl0IDAuMTAuOC40IHByZS1yZWxlYXNlCgoyMDA4LTEwLTIwIDE0OjE5OjE3ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzogRml4IHJldmVyc2UgcGxheWJhY2sgcmVncmVzc2lvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzogKGdzdF9mbHVwc19kZW11eF9zZW5kX2RhdGEpOgoJICBGaXggcmV2ZXJzZSBwbGF5YmFjayByZWdyZXNzaW9uLgoJICBGaXhlcyAjNTU3MDgwCgoyMDA4LTEwLTE5IDEyOjM5OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2FwZXhzaW5rL2dzdGFwZXhwbHVnaW4uYzogU2V0IGFwZXhzaW5rJ3MgcmFuayB0byBOT05FIHNvIGl0IGRvZXNuJ3QgZ2V0IHVzZWQgYnkgYXV0b2F1ZGlvc2luayAodGhlcmUncyBubyBwb2ludCByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hcGV4c2luay9nc3RhcGV4cGx1Z2luLmM6IChwbHVnaW5faW5pdCk6CgkgIFNldCBhcGV4c2luaydzIHJhbmsgdG8gTk9ORSBzbyBpdCBkb2Vzbid0IGdldCB1c2VkIGJ5CgkgIGF1dG9hdWRpb3NpbmsgKHRoZXJlJ3Mgbm8gcG9pbnQgcmVhbGx5KS4gKCM1NTY1ODgpCgoyMDA4LTEwLTE2IDE3OjEyOjA0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogMC4xMC44LjMgcHJlLXJlbGVhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAwLjEwLjguMyBwcmUtcmVsZWFzZQoKMjAwOC0xMC0xNiAxNjozNzozMyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguKjogUHJvcGVybHkgaGFuZGxlIHNvbWUgcmVzeW5jIGNhc2VzIGluIHRoZSBvcHRpbWlzZWQgYnVmZmVyaW5nIHN0cmF0ZWd5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvc2VwIFRvcnJhCgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgUHJvcGVybHkgaGFuZGxlIHNvbWUgcmVzeW5jIGNhc2VzIGluIHRoZSBvcHRpbWlzZWQKCSAgYnVmZmVyaW5nIHN0cmF0ZWd5LgoKMjAwOC0xMC0xNiAxNjoxODozMSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL2FjbWVuYy9NYWtlZmlsZS5hbTogUmVtb3ZlIGluY29ycmVjdCB1c2Ugb2YgRElSRUNUU09VTkRfTERGTEFHUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0xMC0xNiAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgkgICogc3lzL2FjbWVuYy9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIGluY29ycmVjdCB1c2Ugb2YgRElSRUNUU09VTkRfTERGTEFHUwoKMjAwOC0xMC0xNiAxNToyMToxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZtdXguYzogRG9uJ3Qgc2V0IHZpZGVvX2NvZGVjIHRvIHRoZSB2YWx1ZSB0aGF0IGFjdHVhbGx5IHNob3VsZCBnbyBpbnRvIGF1ZGlvIGNvZGVjLCBvdGhlcndpc2Ugd2UgY3JlYXRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6IChnc3RfZmx2X211eF9hdWRpb19wYWRfc2V0Y2FwcyksCgkgIChnc3RfZmx2X211eF93cml0ZV9idWZmZXIpOgoJICBEb24ndCBzZXQgdmlkZW9fY29kZWMgdG8gdGhlIHZhbHVlIHRoYXQgYWN0dWFsbHkgc2hvdWxkIGdvCgkgIGludG8gYXVkaW8gY29kZWMsIG90aGVyd2lzZSB3ZSBjcmVhdGUgaW52YWxpZCBmaWxlcy4KCSAgRml4ZXMgYnVnICM1NTY1NjQuCgoyMDA4LTEwLTE2IDE1OjA2OjU1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciBiYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2RwYXJhbm9pYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2lvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nbm9tZXZmcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlidmlzdWFsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9vZ2cvTWFrZWZpbGUuYW06CgkgICogZXh0L3BhbmdvL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aGVvcmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3ZvcmJpcy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWRkZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvY29udmVydC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9yYXRlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb3Rlc3RzcmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZmbXBlZ2NvbG9yc3BhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGxheWJhY2svTWFrZWZpbGUuYW06CgkgICogZ3N0L3N1YnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC90Y3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3R5cGVmaW5kL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3JhdGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvc2NhbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvdGVzdHNyYy9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvdm9sdW1lL01ha2VmaWxlLmFtOgoJICAqIHN5cy92NGwvTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZS9NYWtlZmlsZS5hbToKCSAgKiBzeXMveHZpbWFnZS9NYWtlZmlsZS5hbToKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgYmFzZS4KCjIwMDgtMTAtMTYgMTQ6NTQ6MzYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IExlYXZlIGFwZXhzaW5rIG91dCBvZiB0aGUgc3RhdGVzIHRlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBMZWF2ZSBhcGV4c2luayBvdXQgb2YgdGhlIHN0YXRlcyB0ZXN0LgoKMjAwOC0xMC0xNiAxMzowNTozNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBGaXggcHJvYmxlbSB3aXRoIHVzaW5nIHRoZSBvdXRwdXQgc2VxbnVtIGNvdW50ZXIgdG8gY2hlY2sgZm9yIGlucHV0IHNlcW51bSBkaXNjby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RhcnQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgRml4IHByb2JsZW0gd2l0aCB1c2luZyB0aGUgb3V0cHV0IHNlcW51bSBjb3VudGVyIHRvIGNoZWNrIGZvciBpbnB1dAoJICBzZXFudW0gZGlzY29udGludWl0aWVzLgoJICBJbXByb3ZlIGdhcCBkZXRlY3Rpb24gYW5kIHJlY292ZXJ5LCByZXNldCBhbmQgZmx1c2ggdGhlIGppdHRlcmJ1ZmZlciBvbgoJICBzZXFudW0gcmVzdGFydC4gRml4ZXMgIzU1NjUyMC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCk6CgkgIEZpeCB3cm9uZyBHX0xJS0VMWS4KCjIwMDgtMTAtMTYgMTE6NTU6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBDb21taXQgMC4xMC44LjIgcHJlLXJlbGVhc2UgYnVtcCwgdGhhdCBhY3R1YWxseSB3ZW50IG91dCBpbiBhIHRhcmJhbGwgb24gMjAwOC0xMC0xMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENvbW1pdCAwLjEwLjguMiBwcmUtcmVsZWFzZSBidW1wLCB0aGF0IGFjdHVhbGx5IHdlbnQgb3V0IGluIGEKCSAgdGFyYmFsbCBvbiAyMDA4LTEwLTExCgoyMDA4LTEwLTE2IDA5OjUxOjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBJbnN0YWxsIGV2ZW50IGhhbmRsZXIgb24gdGhlIHJ0Y3Bfc3JjIHBhZCwgbWFrZSBMQVRFTkNZIGV2ZW50IHJldHVybgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydGNwX3NyYyksIChjcmVhdGVfc2VuZF9ydGNwX3NyYyk6CgkgIEluc3RhbGwgZXZlbnQgaGFuZGxlciBvbiB0aGUgcnRjcF9zcmMgcGFkLCBtYWtlIExBVEVOQ1kgZXZlbnQgcmV0dXJuCgkgIFRSVUUuCgoyMDA4LTEwLTE2IDA5OjE4OjMxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzogTWFrZSBzdXJlIHRoZSBtcGVncHNkZW11eCBlbGVtZW50IGNyZWF0ZXMgdmFsaWQgbmV3c2VnbWVudCBldmVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6IChnc3RfZmx1cHNfZGVtdXhfc2VuZF9kYXRhKToKCSAgTWFrZSBzdXJlIHRoZSBtcGVncHNkZW11eCBlbGVtZW50IGNyZWF0ZXMgdmFsaWQgbmV3c2VnbWVudCBldmVudHMuCgkgIEZpeGVzICM1NTY0MjgKCjIwMDgtMTAtMTYgMDg6MTc6NTkgKzAwMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPG1hcmR1a0BrLWQtdy5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzogRml4ZXMgc2VnZmF1bHQgaW4gZ2V0X2VuY29kaW5nX2FuZF9jb252ZXJ0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IFNlYmFzdGlhbiBQw7Zsc3RlcmwKCSAgKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgRml4ZXMgc2VnZmF1bHQgaW4gZ2V0X2VuY29kaW5nX2FuZF9jb252ZXJ0LgoJICBGaXhlcyAjNTU2NDgyCgoyMDA4LTEwLTE2IDA4OjEzOjQ5ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOiBGaXhlcyBhIHNlZ2ZhdWx0IGluIHRoZSBhZGFwdGF0aW9uIGJ1ZmZlciBzaXplIHN0cmF0ZWd5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEpvc2VwIFRvcnJhCgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBGaXhlcyBhIHNlZ2ZhdWx0IGluIHRoZSBhZGFwdGF0aW9uIGJ1ZmZlciBzaXplIHN0cmF0ZWd5LgoJICBGaXhlcyAjNTU2NDQwCgoyMDA4LTEwLTE1IDE3OjQ1OjM3ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogR3JhY2VmdWxseSBoYW5kbGUgdGhlIGNhc2VzIHdoZW4gd2UgZG9udCcgaGF2ZSBvdGhlcnBhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogKGdzdF9pbnB1dF9zZWxlY3Rvcl9ldmVudCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfcXVlcnkpOgoJICBHcmFjZWZ1bGx5IGhhbmRsZSB0aGUgY2FzZXMgd2hlbiB3ZSBkb250JyBoYXZlIG90aGVycGFkLgoJICBGaXhlcyAjNTU2NDMwCgoyMDA4LTEwLTE0IDE1OjEzOjA1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuYzogRml4IGRlYnVnZ2luZyBjYXRlZ29yeSBpbml0aWFsaXphdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuYzogKHBsdWdpbl9pbml0KToKCSAgRml4IGRlYnVnZ2luZyBjYXRlZ29yeSBpbml0aWFsaXphdGlvbi4KCSAgRml4ZXMgIzU1NjI3NAoKMjAwOC0xMC0xNCAxNDo1Mzo0MSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzogRml4IHNvbWUgbW9yZSBmb3JtYXQgc3RyaW5nIGNvbXBpbGVyIHdhcm5pbmdzIChmcm9tIE9TL1gpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOgoJICBGaXggc29tZSBtb3JlIGZvcm1hdCBzdHJpbmcgY29tcGlsZXIgd2FybmluZ3MgKGZyb20gT1MvWCkKCjIwMDgtMTAtMTMgMTI6Mjc6MDYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYyBmb3IgbGF0ZXN0IHBsdWdpbnMgY2hhbmdlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZm9yIGxhdGVzdCBwbHVnaW5zIGNoYW5nZXMKCjIwMDgtMTAtMTMgMDc6MzU6MjUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9hcGV4c2luay9nc3RhcGV4cmFvcC5jOiBGaXggZm9ybWF0IHN0cmluZyBjb21waWxlciB3YXJuaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FwZXhzaW5rL2dzdGFwZXhyYW9wLmM6IChnc3RfYXBleHJhb3BfY29ubmVjdCksCgkgIChnc3RfYXBleHJhb3Bfc2V0X3ZvbHVtZSk6CgkgIEZpeCBmb3JtYXQgc3RyaW5nIGNvbXBpbGVyIHdhcm5pbmdzLgoKMjAwOC0xMC0xMiAyMTo1MjoyNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvb3NzNC86IEFkZCBzb21lIHNwYWNlcyBpbiB0cmFuc2xhdGVhYmxlIHN0cmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJICBBZGQgc29tZSBzcGFjZXMgaW4gdHJhbnNsYXRlYWJsZSBzdHJpbmdzLgoJICBGaXhlczogIzU1NTk2OSAjNTU1OTY4ICM1NTU5NjUKCjIwMDgtMTAtMTIgMTc6MDg6MTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogRml4IHJlZ3Jlc3Npb24gb2YgaGFuZGxpbmcgZmxvdyByZXR1cm5zIGluIHB1bGwgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksCgkgIChnc3RfZmx2X2RlbXV4X3B1bGxfaGVhZGVyKToKCSAgRml4IHJlZ3Jlc3Npb24gb2YgaGFuZGxpbmcgZmxvdyByZXR1cm5zIGluIHB1bGwgbW9kZS4KCSAgRml4ZXMgYnVnICM1NTYwMDMuCgoyMDA4LTEwLTEyIDE3OjA0OjE3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvTWFrZWZpbGUuYW06IEFkZCBhcGV4c2luayB0byBTVUJESVJTLiBGaXhlcyBidWcgIzU1NTkxMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBBZGQgYXBleHNpbmsgdG8gU1VCRElSUy4gRml4ZXMgYnVnICM1NTU5MTIuCgoyMDA4LTEwLTExIDExOjAyOjE0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9tZXRhZGF0YS5jOiBNYWtlIHRoZSBtZXRhZGF0YSB0ZXN0IG5vdCBmYWlsIHdoZW4ganBlZ2VuYyBpc24ndCBhdmFpbGFibGUuLi4uIGFzIGl0IGlzbid0IGhlcmUsIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbWV0YWRhdGEuYzoKCSAgTWFrZSB0aGUgbWV0YWRhdGEgdGVzdCBub3QgZmFpbCB3aGVuIGpwZWdlbmMgaXNuJ3QgYXZhaWxhYmxlLi4uLgoJICBhcyBpdCBpc24ndCBoZXJlLCBiZWNhdXNlIGl0J3Mgbm90IGluIHRoaXMgbW9kdWxlLCBhbmQKCSAgdGhlcmVmb3JlIG5vdCBpbiB0aGUgcGx1Z2luIHBhdGggd2hlbiB0aGUgY2hlY2sgcnVucy4KCjIwMDgtMTAtMTAgMTY6MzM6MzYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogVXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyX2FuZF9zZXRfY2FwcygpIHRvIG1ha2Ugc3VyZSB3ZSBnZXQgYSBidWZmZXIgd2l0aCBjYXBzIHRoYXQgd2UgY2FuIHdvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6CgkgIFVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlcl9hbmRfc2V0X2NhcHMoKSB0byBtYWtlIHN1cmUgd2UgZ2V0CgkgIGEgYnVmZmVyIHdpdGggY2FwcyB0aGF0IHdlIGNhbiB3b3JrIHdpdGggKGkuZS4gdGhlIHBhZCdzIGNhcHMpLgoJICBBZGQgbm9uLWtleWZyYW1lIHZpZGVvIGZyYW1lcyB0byB0aGUgaW5kZXggdG9vIGJ1dCB3aXRob3V0IHRoZQoJICBrZXlmcmFtZSBmbGFnLgoJICBBZGQgYXVkaW8gZnJhbWVzIHRvIHRoZSBpbmRleCBvbmx5IGlmIHdlIGhhdmUgbm8gdmlkZW8gc3RyZWFtLgoKMjAwOC0xMC0xMCAxNjoxNTowOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBDcmVhdGUgcGFkcyBmcm9tIHRoZSBwYWQgdGVtcGxhdGVzLCB1c2UgZml4ZWQgY2FwcyBvbiB0aGVtIGFuZCBvbmx5IGFjdGl2YXRlIHRoZW0gYWZ0ZXIgdGhlIGNhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKToKCSAgQ3JlYXRlIHBhZHMgZnJvbSB0aGUgcGFkIHRlbXBsYXRlcywgdXNlIGZpeGVkIGNhcHMgb24gdGhlbQoJICBhbmQgb25seSBhY3RpdmF0ZSB0aGVtIGFmdGVyIHRoZSBjYXBzIGFyZSBzZXQuCgoyMDA4LTEwLTEwIDE1OjUxOjQyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IERpc2FibGUgZmxhY3BhcnNlIGZvciB0aGlzIHJlbGVhc2UgYXMgaXQncyB0b28gYnVnZ3kuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRGlzYWJsZSBmbGFjcGFyc2UgZm9yIHRoaXMgcmVsZWFzZSBhcyBpdCdzIHRvbyBidWdneS4KCjIwMDgtMTAtMTAgMTE6MTc6MDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmcgb24gT1MvWCBhYm91dCBwYXJhbWV0ZXJzIG5vdCBtYXRjaGluZyB0aGUgZGVidWcgZm9ybWF0IHN0cmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMTAtMTAgIEphbiBTY2htaWR0ICA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jIChnc3RfYmFzZV9wYXJzZV9wdXNoX2J1ZmZlciksCgkgIChnc3RfYmFzZV9wYXJzZV91cGRhdGVfdXBzdHJlYW1fZHVyYXRpb25zKToKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmcgb24gT1MvWCBhYm91dCBwYXJhbWV0ZXJzIG5vdCBtYXRjaGluZwoJICB0aGUgZGVidWcgZm9ybWF0IHN0cmluZy4KCjIwMDgtMTAtMTAgMTE6MDE6MzYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBGaXggY29tcGlsZXIgd2FybmluZyBvbiBPUy9YIGFib3V0IHBhcmFtZXRlcnMgbm90IG1hdGNoaW5nIHRoZSBkZWJ1ZyBmb3JtYXQgc3RyaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jIChnc3RfYmFzZV9wYXJzZV9wdXNoX2J1ZmZlciksCgkgIChnc3RfYmFzZV9wYXJzZV91cGRhdGVfdXBzdHJlYW1fZHVyYXRpb25zKToKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmcgb24gT1MvWCBhYm91dCBwYXJhbWV0ZXJzIG5vdCBtYXRjaGluZwoJICB0aGUgZGVidWcgZm9ybWF0IHN0cmluZy4KCjIwMDgtMTAtMDkgMTk6Mzg6NTIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzogRml4IHVudXNlZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nIHdoZW4gbm90IGJ1aWxkaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdG9tc21vY29tcF9jbGFzc19pbml0KToKCSAgRml4IHVudXNlZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nIHdoZW4gbm90IGJ1aWxkaW5nCgkgIFg4NiBhc3NlbWJseS4KCjIwMDgtMTAtMDkgMTY6NTE6MzUgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBmaXggdmFyaW91cyBidWlsZCBmaWxlcyB0byBhbGxvdyBmb3IgZGlzdGluZyBhbmQgdXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IHZhcmlvdXMgYnVpbGQgZmlsZXMgdG8gYWxsb3cgZm9yIGRpc3RpbmcgYW5kIHVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgY2hhbmdlcy4KCjIwMDgtMTAtMDkgMTY6MjA6MjYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvOiBHZXQgYW4gYXBwcm94aW1hdGUgZHVyYXRpb24gb2YgdGhlIGZpbGUgYnkgbG9va2luZyBhdCB0aGUgdGltZXN0YW1wIG9mIHRoZSBsYXN0IHRhZyBpbiBwdWxsIG1vZGUuIElmIHdlIGdldC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2xvb3ApOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX3RpbWVzdGFtcCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5oOgoJICBHZXQgYW4gYXBwcm94aW1hdGUgZHVyYXRpb24gb2YgdGhlIGZpbGUgYnkgbG9va2luZyBhdCB0aGUgdGltZXN0YW1wCgkgIG9mIHRoZSBsYXN0IHRhZyBpbiBwdWxsIG1vZGUuIElmIHdlIGdldCAobWF5YmUgYmV0dGVyKSBkdXJhdGlvbiBmcm9tCgkgIG1ldGFkYXRhIGxhdGVyIHdlJ2xsIHVzZSB0aGF0IGluc3RlYWQuCgoyMDA4LTEwLTA5IDE1OjQzOjAyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IFJlZmFjdG9yIF9wdWxsX3JhbmdlKCkgbG9naWMgd2l0aCBjaGVja3MgaW50byBhIHNlcGVyYXRlIGZ1bmN0aW9uIHRvIG1ha2UgdGhpbmdzIGEgYml0IG1vcmUgcmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9wdWxsX3JhbmdlKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLCAoZ3N0X2Zsdl9kZW11eF9wdWxsX2hlYWRlcik6CgkgIFJlZmFjdG9yIF9wdWxsX3JhbmdlKCkgbG9naWMgd2l0aCBjaGVja3MgaW50byBhIHNlcGVyYXRlIGZ1bmN0aW9uCgkgIHRvIG1ha2UgdGhpbmdzIGEgYml0IG1vcmUgcmVhZGFibGUuCgoyMDA4LTEwLTA5IDE1OjI2OjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IFVzZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jaGFpbiksCgkgIChnc3RfZmx2X2RlbXV4X2Jhc2VfaW5pdCk6CgkgIFVzZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUoKS4KCSAgSWYgd2UgZ2V0IEdTVF9GTE9XX05PVF9MSU5LRUQgaW4gdGhlIHBhcnNlIGxvb3AgYnV0IGF0IGxlYXN0CgkgIG9uZSBvZiB0aGUgcGFkcyBpcyBsaW5rZWQgY29udGludWUgdGhlIGxvb3AuCgoyMDA4LTEwLTA5IDEwOjAxOjM3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuKjogUGFzcyB0aGUgZGlzY29udCBmbGFnIGZyb20gdGhlIGlucHV0IGJ1ZmZlciBvbiB0byB0aGUgb3V0cHV0IGJ1ZmZlciBpbiB0aGUgQU1SIGVuY29kZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5oOgoJICBQYXNzIHRoZSBkaXNjb250IGZsYWcgZnJvbSB0aGUgaW5wdXQgYnVmZmVyIG9uIHRvIHRoZSBvdXRwdXQgYnVmZmVyIGluCgkgIHRoZSBBTVIgZW5jb2Rlci4KCjIwMDgtMTAtMDkgMTA6MDA6NTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogQ29ycmVjdCBjYXBzIGZvciB2aWRlbyBjb2RlYyBpZCA1OiBJdCdzIE9uMiBWUDYgd2l0aCBhbHBoYSBjaGFubmVsIHdoaWNoIG5lZWRzIGEgZGlmZmVyZW50IGRlYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX2F1ZGlvX25lZ290aWF0ZSksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3ZpZGVvX25lZ290aWF0ZSk6CgkgIENvcnJlY3QgY2FwcyBmb3IgdmlkZW8gY29kZWMgaWQgNTogSXQncyBPbjIgVlA2IHdpdGggYWxwaGEgY2hhbm5lbAoJICB3aGljaCBuZWVkcyBhIGRpZmZlcmVudCBkZWNvZGVyIGFuZCBoYXMgZGlmZmVyZW50IGNhcHMuCgkgIEFkZCBzdXBwb3J0IGZvciBhdWRpbyBjb2RlYyBpZCAxNCwgd2hpY2ggaXMgTVAzIHdpdGggOGtIeiBzYW1wbGluZwoJICByYXRlLgoJICBGaXggZW5kaWFubmVzcyBhbmQgc2lnbmVkbmVzcyBmb3IgcmF3IGF1ZGlvIGNvZGVjIGlkcy4KCSAgQWRkIHN1cHBvcnQgZm9yIGFsYXcgYW5kIG11bGF3IGF1ZGlvLgoKMjAwOC0xMC0wOSAwOTo0ODo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBHbyBvdXQgb2YgdGhlIHBhcnNlIGxvb3AgYXMgc29vbiBhcyB3ZSBnZXQgYW4gZXJyb3IgaW5zdGVhZCBvZiBwYXJzaW5nIHVudGlsIHRoZSBHc3RBZGFwdGVyIGlzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2hhaW4pOgoJICBHbyBvdXQgb2YgdGhlIHBhcnNlIGxvb3AgYXMgc29vbiBhcyB3ZSBnZXQgYW4gZXJyb3IgaW5zdGVhZAoJICBvZiBwYXJzaW5nIHVudGlsIHRoZSBHc3RBZGFwdGVyIGlzIGVtcHR5LgoJICBBZGQgc29tZSBleHBsYW5hdGlvbnMgYWJvdXQgdGhlIGhlYWRlciBhbmQgdGFnIHNpemUuCgkgIERvbid0IHByaW50IHN5bmNocm9uaXppbmcgbWVzc2FnZSBpZiBldmVyeXRoaW5nIGlzIGZpbmUuCgoyMDA4LTEwLTA5IDA5OjI2OjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2LzogQWRkIGZpcnN0IHZlcnNpb24gb2YgYSBGTFYgbXV4ZXIuIFRoZSBvbmx5IG1pc3NpbmcgZmVhdHVyZSBpcyB3cml0aW5nIG9mIHN0cmVhbSBtZXRhZGF0YS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZtdXguYzogKGdzdF9mbHZfbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfZmx2X211eF9jbGFzc19pbml0KSwgKGdzdF9mbHZfbXV4X2luaXQpLAoJICAoZ3N0X2Zsdl9tdXhfZmluYWxpemUpLCAoZ3N0X2Zsdl9tdXhfcmVzZXQpLAoJICAoZ3N0X2Zsdl9tdXhfaGFuZGxlX3NyY19ldmVudCksIChnc3RfZmx2X211eF9oYW5kbGVfc2lua19ldmVudCksCgkgIChnc3RfZmx2X211eF92aWRlb19wYWRfc2V0Y2FwcyksIChnc3RfZmx2X211eF9hdWRpb19wYWRfc2V0Y2FwcyksCgkgIChnc3RfZmx2X211eF9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X2Zsdl9tdXhfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X2Zsdl9tdXhfd3JpdGVfaGVhZGVyKSwgKGdzdF9mbHZfbXV4X3dyaXRlX2J1ZmZlciksCgkgIChnc3RfZmx2X211eF9jb2xsZWN0ZWQpLCAoZ3N0X2Zsdl9tdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBBZGQgZmlyc3QgdmVyc2lvbiBvZiBhIEZMViBtdXhlci4gVGhlIG9ubHkgbWlzc2luZyBmZWF0dXJlIGlzIHdyaXRpbmcKCSAgb2Ygc3RyZWFtIG1ldGFkYXRhLgoKMjAwOC0xMC0wOSAwOToyMTo0NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2FtcndiL2dzdGFtcndicGFyc2UuKjogQWRkIGZsdXNoIHNlZWsgaGFuZGxlci4gVGFrZW4gZnJvbSByZWNlbnQgYXJtbmJwYXJzZSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmg6CgkgIEFkZCBmbHVzaCBzZWVrIGhhbmRsZXIuIFRha2VuIGZyb20gcmVjZW50IGFybW5icGFyc2UgY2hhbmdlcy4KCSAgU3luYyB0aGUgY29kZSBtb3JlIGFuZCB1c2UgI2RlZmluZXMgZm9yIEhFQURFUi4KCjIwMDgtMTAtMDkgMDg6NDM6NDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLio6IEZpeCB0aGUgZHVyYXRpb24gcXVlcnkuIEFsc28gc2V0IGNhcHMgb24gdGhlIHBhZHMgYW5kIGJ1ZmZlcnMgbW9yZSBjb3JyZWN0bHkuIFRha2VuIGZyb20gci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmg6CgkgIEZpeCB0aGUgZHVyYXRpb24gcXVlcnkuIEFsc28gc2V0IGNhcHMgb24gdGhlIHBhZHMgYW5kIGJ1ZmZlcnMgbW9yZQoJICBjb3JyZWN0bHkuIFRha2VuIGZyb20gcmVjZW50IGFybW5icGFyc2UgY2hhbmdlcy4KCjIwMDgtMTAtMDggMTY6MjA6MjYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4LzogQWRkIEZsdWVuZG8gdG8gdGhlIExvbmcgTmFtZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIEFkZCBGbHVlbmRvIHRvIHRoZSBMb25nIE5hbWUuCgoyMDA4LTEwLTA4IDE1OjI1OjI0ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgTW92ZSBvZiBtcGVndHNwYXJzZSB0byBtcGVnZGVtdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnZGVtdXgvZmx1bXBlZ2RlbXV4LmM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSAgKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgICogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5oOgoJICBNb3ZlIG9mIG1wZWd0c3BhcnNlIHRvIG1wZWdkZW11eC4KCSAgRml4ZXMgIzU1NTE5My4KCjIwMDgtMTAtMDggMTU6MjI6MTIgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgTW92ZSBvZiBtcGVndHNwYXJzZSB0byBtcGVnZGVtdXgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE1vdmUgb2YgbXBlZ3RzcGFyc2UgdG8gbXBlZ2RlbXV4CgoyMDA4LTEwLTA4IDEwOjIxOjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOiBQcmV2ZW50IGEgZGl2aXNpb24gYnkgemVybyBpZiBsYXN0IG11eCByYXRlIHdhcyB6ZXJvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOiAoZ3N0X2ZsdXBzX2RlbXV4X3NlbmRfZGF0YSksCgkgIChnc3RfZmx1cHNfZGVtdXhfcGFyc2VfcGFja19zdGFydCk6CgkgIFByZXZlbnQgYSBkaXZpc2lvbiBieSB6ZXJvIGlmIGxhc3QgbXV4IHJhdGUgd2FzIHplcm8uCgkgIElmIHdlJ3JlIGdvaW5nIHRvIHNlbmQgYSBORVdTRUdNRU5UIGV2ZW50IGJ1dCB0aGUgc2VnbWVudCBzdGFydAoJICBhbmQgdGhlIGN1cnJlbnQgYnVmZmVyIHRpbWVzdGFtcCBkaWZmZXIgYnkgbW9yZSB0aGFuIGEgc2Vjb25kIHdlCgkgIHdpbGwgc3RhcnQgdGhlIE5FV1NFR01FTlQgYXQgdGhlIGJ1ZmZlciB0aW1lc3RhbXAuCgkgIFRoaXMgZml4ZXMgcGxheWJhY2sgb2YgdGhlIHR2Mi0xXzI1Lm1wZyBmaWxlLCB3aGljaCBoYXMgMCBhcyBmaXJzdCBTQ1IKCSAgYnV0IHRoZSBmaXJzdCBQVFMgYXJlIGFyb3VuZCAxIGhvdXIgYW5kIDQwIG1pbnV0ZXMuCgkgIEZpeGVzIGJ1ZyAjNTUzNzU1LgoKMjAwOC0xMC0wNyAyMToyOToyNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzogRml4IG5leHQvcHJldiBjaGFwdGVyIHNlZWtpbmcgYXQgdGhlIGJlZ2lubmluZyBvciBlbmQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICBGaXggbmV4dC9wcmV2IGNoYXB0ZXIgc2Vla2luZyBhdCB0aGUgYmVnaW5uaW5nIG9yIGVuZC4KCSAgVXNlIDY0LWJpdCBzY2FsaW5nIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBjb252ZXJ0aW5nIE1QRUcKCSAgdGltZXN0YW1wcy4KCjIwMDgtMTAtMDcgMTg6NTQ6NDEgKzAwMDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OiBBZGQgbWFyc2hhbGxlciBmb3IgbmV3IGFjdGlvbiBzaWduYWwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSMOldmFyZCBHcmFmZiA8aGF2YXJkIGRvdCBncmFmZiBhdCB0YW5kYmVyZyBkb3QgY29tPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkgIEFkZCBtYXJzaGFsbGVyIGZvciBuZXcgYWN0aW9uIHNpZ25hbC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2dldF9pbnRlcm5hbF9zZXNzaW9uKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBBZGQgYWN0aW9uIHNpZ25hbCB0byByZXRyaWV2ZSB0aGUgaW50ZXJuYWwgUlRQU2Vzc2lvbiBvYmplY3QuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSksIChnc3RfcnRwX3Nlc3Npb25fcmVsZWFzZV9wYWQpOgoJICBBZGQgcHJvcGVydHkgdG8gYWNjZXNzIHRoZSBpbnRlcm5hbCBSVFBTZXNzaW9uIG9iamVjdC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGNoZWNrX2NvbGxpc2lvbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBBZGQgYWN0aW9uIHNpZ25hbCB0byByZXRyaWV2ZSBhbiBSVFBTb3VyY2Ugb2JqZWN0IGJ5IFNTUkMuCgkgIFNlZSAjNTU1Mzk2LgoKMjAwOC0xMC0wNyAxMzoxNDo0MCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6IENob29zZSByaWdodCBwYWQgZm9yIHNlbmRpbmcgZXZlbnRzLiBGaXhlcyAjNTU1MjQ0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICBDaG9vc2UgcmlnaHQgcGFkIGZvciBzZW5kaW5nIGV2ZW50cy4gRml4ZXMgIzU1NTI0NAoKMjAwOC0xMC0wNyAxMTozMzoxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZWxlYXNlIHBhZHMgb2YgdGhlIHNlc3Npb24gbWFuYWdlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChmaW5kX3Nlc3Npb25fYnlfcGFkKSwKCSAgKGZyZWVfc2Vzc2lvbiksIChnc3RfcnRwX2Jpbl9kaXNwb3NlKSwgKHJlbW92ZV9yZWN2X3J0cCksCgkgIChyZW1vdmVfcmVjdl9ydGNwKSwgKHJlbW92ZV9zZW5kX3J0cCksIChyZW1vdmVfcnRjcCksCgkgIChnc3RfcnRwX2Jpbl9yZWxlYXNlX3BhZCk6CgkgIFJlbGVhc2UgcGFkcyBvZiB0aGUgc2Vzc2lvbiBtYW5hZ2VyLgoJICBTdGFydCBpbXBsZW1lbnRpbmcgcmVsZWFzaW5nIHBhZHMgb2YgZ3N0cnRwYmluLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHJlbW92ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKHJlbW92ZV9yZWN2X3J0Y3Bfc2luayksIChyZW1vdmVfc2VuZF9ydHBfc2luayksCgkgIChyZW1vdmVfc2VuZF9ydGNwX3NyYyksIChnc3RfcnRwX3Nlc3Npb25fcmVsZWFzZV9wYWQpOgoJICBJbXBsZW1lbnQgcmVsZWFzaW5nIHBhZHMgaW4gZ3N0cnRwc2Vzc2lvbi4KCjIwMDgtMTAtMDcgMTA6MDI6MjAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogT25seSB1cGRhdGUgdGhlIHNlcW51bS1iYXNlIHdoZW4gaXQgd2FzIG5vdCBhbHJlYWR5IGNvbmZpZ3VyZWQgZm9yIHRoZSBzdHJlYW1zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2Fwcyk6CgkgIE9ubHkgdXBkYXRlIHRoZSBzZXFudW0tYmFzZSB3aGVuIGl0IHdhcyBub3QgYWxyZWFkeSBjb25maWd1cmVkIGZvciB0aGUKCSAgc3RyZWFtcy4KCjIwMDgtMTAtMDYgMTY6MDE6NDkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWMKCSAgKiBleHQvbWV0YWRhdGEvUkVBRE1FOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJICBTdGFydCB1c2luZyBjb3JlIGdlbyB0YWdzIChidW1wIHJlcSkuIEZpeCBoYW5kbGluZyBvZiBsb2NhdGlvbgoJICByZWZlcmVuY2VzLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBTb3J0IGJsYWNrbGlzdGVkIGVsZW1lbnRzIGFuZCByZW1vdmUgbW92ZWQgb25lcy4gQWRkIG5ldyB0ZXN0LgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9tZXRhZGF0YS5jOgoJICBBZGQgZmlyc3QgdGVzdHMgZm9yIG1ldGFkYXRhIGVsZW1lbnQuCgkgICogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIE1vdmUgZnJlZSB0byBjb3JyZWN0IHBsYWNlLgoKMjAwOC0xMC0wNiAxNTo1MzowMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzogU3RvcCB0ZXN0IG9uIHN0YXRlLWNoYW5nZSBlcnJvci4gU2hvdWxkIGJlIGFwcGxpZWQgb24gb3RoZXIgbW9kdWxlcyBpZiB3ZSBhZ3JlZSB0aGF0IGl0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkgIFN0b3AgdGVzdCBvbiBzdGF0ZS1jaGFuZ2UgZXJyb3IuIFNob3VsZCBiZSBhcHBsaWVkIG9uIG90aGVyIG1vZHVsZXMgaWYKCSAgd2UgYWdyZWUgdGhhdCBpdCBtYWtlcyBzZW5zZS4KCjIwMDgtMTAtMDYgMTI6MDE6MTQgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzogQWN0dWFsbHkgY29weSB0aGUgc3RydWN0dXJlIHBhc3NlZCBpbiB3aGVuIGFzc2lnbmluZyBpdCBiZWNhdXNlIGl0IGdldHMgZnJlZWQgc3RyYWlnaHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIEFjdHVhbGx5IGNvcHkgdGhlIHN0cnVjdHVyZSBwYXNzZWQgaW4gd2hlbiBhc3NpZ25pbmcgaXQgYmVjYXVzZQoJICBpdCBnZXRzIGZyZWVkIHN0cmFpZ2h0IGFmdGVyIHRoZSBmdW5jdGlvbiBjYWxsLgoJICBSZTogcGF0X2luZm8gYW5kIHBtdF9pbmZvIEdzdFN0cnVjdHVyZXMuCgoyMDA4LTEwLTA2IDA4OjMyOjQxICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOiBGaXggd3JvbmcgZmlyaW5nIG9mIGNyaXRpY2FsIGludHJvZHVjZWQgYnkgcHJldmlvdXMgb3B0aW1pc2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvc2VwIFRvcnJhCgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBGaXggd3JvbmcgZmlyaW5nIG9mIGNyaXRpY2FsIGludHJvZHVjZWQgYnkgcHJldmlvdXMgb3B0aW1pc2F0aW9uLgoKMjAwOC0xMC0wMyAxNzoxMToxMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9mYWFjL2dzdGZhYWMuYzogV2FybiBhbmQgY2xhbXAgdG8gbWF4IGJpdHJhdGUgZm9yIHNhbXBsZXJhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2NvbmZpZ3VyZV9zb3VyY2VfcGFkKToKCSAgV2FybiBhbmQgY2xhbXAgdG8gbWF4IGJpdHJhdGUgZm9yIHNhbXBsZXJhdGUuCgkgIEZpeGVzICM1NTA0ODYuCgoyMDA4LTEwLTAzIDA5OjExOjE2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6IEZpeCBwb3NzaWJsZSBjcmFzaCB3aGVyZSBwYXQgaXMgcG9pbnRpbmcgdG8gYSBmcmVlZCBzdHJ1Y3R1cmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBGaXggcG9zc2libGUgY3Jhc2ggd2hlcmUgcGF0IGlzIHBvaW50aW5nIHRvIGEgZnJlZWQgc3RydWN0dXJlLgoKMjAwOC0xMC0wMyAwNTo1Nzo1OCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L21ldGFkYXRhLzogQWRkIG1hcHBpbmcgb2YgZm9ybWF0IGFuZCBtaW1lIHR5cGUgdG8geG1wLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFfbWFwcGluZy5odG06CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkgICogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJICBBZGQgbWFwcGluZyBvZiBmb3JtYXQgYW5kIG1pbWUgdHlwZSB0byB4bXAuCgoyMDA4LTEwLTAyIDE0OjQyOjI1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvbWV0YWRhdGEvOiBSZXZlcnRpbmcuIFdpbGwgbmVlZCB0byB3YWl0IGZvciBjb3JlIDAuMTAuMjEgcmVsZWFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21ldGFkYXRhL1JFQURNRToKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSAgUmV2ZXJ0aW5nLiBXaWxsIG5lZWQgdG8gd2FpdCBmb3IgY29yZSAwLjEwLjIxIHJlbGVhc2UuCgoyMDA4LTEwLTAyIDEzOjUyOjUwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvbWV0YWRhdGEvOiBVc2UgY29yZSBnc3AgdGFncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21ldGFkYXRhL1JFQURNRToKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSAgVXNlIGNvcmUgZ3NwIHRhZ3MuCgoyMDA4LTA5LTMwIDE3OjAzOjE0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOiBBZGQgc3VwcG9ydCBmb3IgR3N0SW5kZXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6IChnc3RfYmFzZV9wYXJzZV9maW5hbGl6ZSksCgkgIChnc3RfYmFzZV9wYXJzZV9jbGFzc19pbml0KSwgKGdzdF9iYXNlX3BhcnNlX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9iYXNlX3BhcnNlX2NoYW5nZV9zdGF0ZSksIChnc3RfYmFzZV9wYXJzZV9zZXRfaW5kZXgpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfZ2V0X2luZGV4KToKCSAgQWRkIHN1cHBvcnQgZm9yIEdzdEluZGV4LgoKMjAwOC0wOS0zMCAxNjo0MToxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuKjogUHJvdmlkZSBhIHZmdW5jIGZvciB0aGUgc3ViY2xhc3MgdG8gZGVjaWRlIHdoZXRoZXIgYSBmcmFtZSBpcyBpbnNpZGUgdGhlIHNlZ21lbnQgb3Igbm90Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6IChnc3RfYmFzZV9wYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF9iYXNlX3BhcnNlX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9iYXNlX3BhcnNlX3VwZGF0ZV91cHN0cmVhbV9kdXJhdGlvbnMpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfY29udmVydCksIChnc3RfYmFzZV9wYXJzZV9mcmFtZV9pbl9zZWdtZW50KToKCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICBQcm92aWRlIGEgdmZ1bmMgZm9yIHRoZSBzdWJjbGFzcyB0byBkZWNpZGUgd2hldGhlciBhIGZyYW1lIGlzIGluc2lkZQoJICB0aGUgc2VnbWVudCBvciBub3QgYW5kIGFkZCBhIGRlZmF1bHQgaW1wbGVtZW50YXRpb24uCgkgIEZpeCBhcHByb3hpbWF0ZSBiaXRyYXRlIGNhbGN1bGF0aW9ucy4KCjIwMDgtMDktMzAgMTY6MjI6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6IEFwcHJveGltYXRlIHRoZSBhdmVyYWdlIGJpdHJhdGUsIGR1cmF0aW9uIGFuZCBzaXplIGlmIHBvc3NpYmxlIGFuZCBhZGQgYSBkZWZhdWx0IGNvbnZlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOiAoZ3N0X2Jhc2VfcGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3RfYmFzZV9wYXJzZV9pbml0KSwgKGdzdF9iYXNlX3BhcnNlX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9iYXNlX3BhcnNlX3VwZGF0ZV91cHN0cmVhbV9kdXJhdGlvbnMpLCAoZ3N0X2Jhc2VfcGFyc2VfY2hhaW4pLAoJICAoZ3N0X2Jhc2VfcGFyc2VfbG9vcCksIChnc3RfYmFzZV9wYXJzZV9hY3RpdmF0ZSksCgkgIChnc3RfYmFzZV9wYXJzZV9jb252ZXJ0KSwgKGdzdF9iYXNlX3BhcnNlX3F1ZXJ5KToKCSAgQXBwcm94aW1hdGUgdGhlIGF2ZXJhZ2UgYml0cmF0ZSwgZHVyYXRpb24gYW5kIHNpemUgaWYgcG9zc2libGUKCSAgYW5kIGFkZCBhIGRlZmF1bHQgY29udmVyc2lvbiBmdW5jdGlvbiB3aGljaCB1c2VzIHRoaXMgZm9yCgkgIHRpbWU8LT5ieXRlIGNvbnZlcnNpb25zLgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0ZmxhY3BhcnNlLmM6IChnc3RfZmxhY19wYXJzZV9nZXRfZnJhbWVfc2l6ZSk6CgkgIEZpeCBwYXJzaW5nIGlmIHVwc3RyZWFtIGdpdmVzIC0xIGFzIGR1cmF0aW9uLgoKMjAwOC0wOS0zMCAxNTowODo1MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogUmVmIHRoZSBydHBzb3VyY2Ugb2JqZWN0IGJlZm9yZSB3ZSByZWxlYXNlIHRoZSBzZXNzaW9uIGxvY2sgd2hlbiB3ZSBlbWl0IHRoZSBzaWduYWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChvbl9uZXdfc3NyYyksIChvbl9zc3JjX2NvbGxpc2lvbiksCgkgIChvbl9zc3JjX3ZhbGlkYXRlZCksIChvbl9zc3JjX2FjdGl2ZSksIChvbl9zc3JjX3NkZXMpLAoJICAob25fYnllX3NzcmMpLCAob25fYnllX3RpbWVvdXQpLCAob25fdGltZW91dCksIChvbl9zZW5kZXJfdGltZW91dCk6CgkgIFJlZiB0aGUgcnRwc291cmNlIG9iamVjdCBiZWZvcmUgd2UgcmVsZWFzZSB0aGUgc2Vzc2lvbiBsb2NrIHdoZW4gd2UgZW1pdAoJICB0aGUgc2lnbmFscy4KCjIwMDgtMDktMzAgMTE6MTk6MTAgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBzeXMvOiBOZXcgcGx1Z2luIGZvciBhdWRpbyBjYXB0dXJlIGFuZCBwbGF5YmFjayB1c2luZyBXaW5kb3dzIEF1ZGlvIFNlc3Npb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy93YXNhcGkvTWFrZWZpbGUuYW06CgkgICogc3lzL3dhc2FwaS9nc3R3YXNhcGkuYzoKCSAgKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuYzoKCSAgKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuaDoKCSAgKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5jOgoJICAqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmg6CgkgICogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmM6CgkgICogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmg6CgkgIE5ldyBwbHVnaW4gZm9yIGF1ZGlvIGNhcHR1cmUgYW5kIHBsYXliYWNrIHVzaW5nIFdpbmRvd3MgQXVkaW8gU2Vzc2lvbgoJICBBUEkgKFdBU0FQSSkgYXZhaWxhYmxlIHdpdGggVmlzdGEgYW5kIG5ld2VyICgjNTIwOTAxKS4KCSAgQ29tZXMgd2l0aCBoYXJkY29kZWQgY2FwcyBhbmQgb2J2aW91c2x5IG5lZWRzIGxvdHMgb2YgbG92ZS4gSGF2ZW4ndAoJICBoYWQgdGltZSB0byB3b3JrIG9uIHRoaXMgY29kZSBzaW5jZSBpdCB3YXMgd3JpdHRlbiwgd2FzIGluaXRpYWxseSBqdXN0CgkgIGEgcXVpY2sgZXhwZXJpbWVudCB0byBwbGF5IGFyb3VuZCB3aXRoIHRoaXMgbmV3IEFQSS4KCjIwMDgtMDktMzAgMTA6NDM6NTQgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkgIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcAoJICAoQXVkaW9GYWtlU2luay5Eb1JlbmRlclNhbXBsZSk6CgkgIEZpeCBhIGNvdXBsZSBvZiBzaWduZWQvdW5zaWduZWQgY29tcGFyaXNvbiB3YXJuaW5ncy4KCjIwMDgtMDktMzAgMTA6MjI6MTAgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBzeXMvZHNob3dkZWN3cmFwcGVyLzogVXNlIHRoZSBfVCgpIG1hY3JvIHRvIHN1cHBvcnQgYm90aCBVbmljb2RlIGFuZCBNQkNTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuaCAoQXVkaW9GYWtlU2luay5BdWRpb0Zha2VTaW5rKToKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuaCAoVmlkZW9GYWtlU2luay5WaWRlb0Zha2VTaW5rKToKCSAgVXNlIHRoZSBfVCgpIG1hY3JvIHRvIHN1cHBvcnQgYm90aCBVbmljb2RlIGFuZCBNQkNTLgoKMjAwOC0wOS0zMCAxMDoxNzo0MSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIGV4dC9saWJtbXMvZ3N0bW1zLmMgKHBsdWdpbl9pbml0KTogRml4IHJldHVybiB0eXBlIG9mIHRoZSBHc3RVUklIYW5kbGVyOjpnZXRfdHlwZSgpIGltcGxlbWVudGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jIChwbHVnaW5faW5pdCk6CgkgIEZpeCByZXR1cm4gdHlwZSBvZiB0aGUgR3N0VVJJSGFuZGxlcjo6Z2V0X3R5cGUoKSBpbXBsZW1lbnRhdGlvbi4KCjIwMDgtMDktMjkgMDg6MjY6NTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBGTEFDIHBhcnNlciwgYmFzZWQgb24gR3N0QmFzZVBhcnNlLiBBbHNvIGFkZCB0aGUgYml0IGFuZCBieXRlIHJlYWRlciB0aGF0IHdpbGwgYmUgYWRkZWQgdG8gbGliZ3N0YmFzZSBsYXRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9mbGFjcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzogKGdzdF9iYXNlX3BhcnNlX2dldF90eXBlKSwKCSAgKGdzdF9iYXNlX3BhcnNlX2Jhc2VfaW5pdCksIChnc3RfYmFzZV9wYXJzZV9iYXNlX2ZpbmFsaXplKSwKCSAgKGdzdF9iYXNlX3BhcnNlX2ZpbmFsaXplKSwgKGdzdF9iYXNlX3BhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfaW5pdCksIChnc3RfYmFzZV9wYXJzZV9jaGVja19mcmFtZSksCgkgIChnc3RfYmFzZV9wYXJzZV9wYXJzZV9mcmFtZSksIChnc3RfYmFzZV9wYXJzZV9ieXRlcG9zX3RvX3RpbWUpLAoJICAoZ3N0X2Jhc2VfcGFyc2Vfc2lua19ldmVudCksIChnc3RfYmFzZV9wYXJzZV9zaW5rX2V2ZW50ZnVuYyksCgkgIChnc3RfYmFzZV9wYXJzZV9zcmNfZXZlbnQpLCAoZ3N0X2Jhc2VfcGFyc2Vfc3JjX2V2ZW50ZnVuYyksCgkgIChnc3RfYmFzZV9wYXJzZV9pc19zZWVrYWJsZSksIChnc3RfYmFzZV9wYXJzZV9wdXNoX2J1ZmZlciksCgkgIChnc3RfYmFzZV9wYXJzZV9oYW5kbGVfYW5kX3B1c2hfYnVmZmVyKSwgKGdzdF9iYXNlX3BhcnNlX2RyYWluKSwKCSAgKGdzdF9iYXNlX3BhcnNlX2NoYWluKSwgKGdzdF9iYXNlX3BhcnNlX3B1bGxfcmFuZ2UpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfbG9vcCksIChnc3RfYmFzZV9wYXJzZV9zaW5rX2FjdGl2YXRlKSwKCSAgKGdzdF9iYXNlX3BhcnNlX2FjdGl2YXRlKSwgKGdzdF9iYXNlX3BhcnNlX3NpbmtfYWN0aXZhdGVfcHVzaCksCgkgIChnc3RfYmFzZV9wYXJzZV9zaW5rX2FjdGl2YXRlX3B1bGwpLCAoZ3N0X2Jhc2VfcGFyc2Vfc2V0X2R1cmF0aW9uKSwKCSAgKGdzdF9iYXNlX3BhcnNlX3NldF9taW5fZnJhbWVfc2l6ZSksCgkgIChnc3RfYmFzZV9wYXJzZV9nZXRfcXVlcnl0eXBlcyksIChnc3RfYmFzZV9wYXJzZV9xdWVyeSksCgkgIChnc3RfYmFzZV9wYXJzZV9oYW5kbGVfc2VlayksIChnc3RfYmFzZV9wYXJzZV9zaW5rX3NldGNhcHMpOgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RiaXRyZWFkZXIuYzogKGdzdF9iaXRfcmVhZGVyX25ldyksCgkgIChnc3RfYml0X3JlYWRlcl9uZXdfZnJvbV9idWZmZXIpLCAoZ3N0X2JpdF9yZWFkZXJfZnJlZSksCgkgIChnc3RfYml0X3JlYWRlcl9pbml0KSwgKGdzdF9iaXRfcmVhZGVyX2luaXRfZnJvbV9idWZmZXIpLAoJICAoZ3N0X2JpdF9yZWFkZXJfc2V0X3BvcyksIChnc3RfYml0X3JlYWRlcl9nZXRfcG9zKSwKCSAgKGdzdF9iaXRfcmVhZGVyX2dldF9yZW1haW5pbmcpLCAoZ3N0X2JpdF9yZWFkZXJfc2tpcCksCgkgIChnc3RfYml0X3JlYWRlcl9za2lwX3RvX2J5dGUpOgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0Yml0cmVhZGVyLmg6CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RieXRlcmVhZGVyLmM6IChHRE9VQkxFX1NXQVBfTEVfQkUpLAoJICAoR0ZMT0FUX1NXQVBfTEVfQkUpLCAoZ3N0X2J5dGVfcmVhZGVyX25ldyksCgkgIChnc3RfYnl0ZV9yZWFkZXJfbmV3X2Zyb21fYnVmZmVyKSwgKGdzdF9ieXRlX3JlYWRlcl9mcmVlKSwKCSAgKGdzdF9ieXRlX3JlYWRlcl9pbml0KSwgKGdzdF9ieXRlX3JlYWRlcl9pbml0X2Zyb21fYnVmZmVyKSwKCSAgKGdzdF9ieXRlX3JlYWRlcl9zZXRfcG9zKSwgKGdzdF9ieXRlX3JlYWRlcl9nZXRfcG9zKSwKCSAgKGdzdF9ieXRlX3JlYWRlcl9nZXRfcmVtYWluaW5nKSwgKGdzdF9ieXRlX3JlYWRlcl9za2lwKSwKCSAgKGdzdF9ieXRlX3JlYWRlcl9nZXRfdWludDgpLCAoZ3N0X2J5dGVfcmVhZGVyX2dldF9pbnQ4KSwKCSAgKGdzdF9ieXRlX3JlYWRlcl9wZWVrX3VpbnQ4KSwgKGdzdF9ieXRlX3JlYWRlcl9wZWVrX2ludDgpLAoJICAoZ3N0X2J5dGVfcmVhZGVyX2dldF91aW50MjRfbGUpLCAoZ3N0X2J5dGVfcmVhZGVyX2dldF91aW50MjRfYmUpLAoJICAoZ3N0X2J5dGVfcmVhZGVyX2dldF9pbnQyNF9sZSksIChnc3RfYnl0ZV9yZWFkZXJfZ2V0X2ludDI0X2JlKSwKCSAgKGdzdF9ieXRlX3JlYWRlcl9wZWVrX3VpbnQyNF9sZSksIChnc3RfYnl0ZV9yZWFkZXJfcGVla191aW50MjRfYmUpLAoJICAoZ3N0X2J5dGVfcmVhZGVyX3BlZWtfaW50MjRfbGUpLCAoZ3N0X2J5dGVfcmVhZGVyX3BlZWtfaW50MjRfYmUpOgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0Ynl0ZXJlYWRlci5oOgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0ZmxhYy5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0ZmxhY3BhcnNlLmM6IChnc3RfZmxhY19wYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X2ZsYWNfcGFyc2VfY2xhc3NfaW5pdCksIChnc3RfZmxhY19wYXJzZV9pbml0KSwKCSAgKGdzdF9mbGFjX3BhcnNlX2ZpbmFsaXplKSwgKGdzdF9mbGFjX3BhcnNlX3N0YXJ0KSwKCSAgKGdzdF9mbGFjX3BhcnNlX3N0b3ApLCAoZ3N0X2ZsYWNfcGFyc2VfZ2V0X2ZyYW1lX3NpemUpLAoJICAoZ3N0X2ZsYWNfcGFyc2VfY2hlY2tfdmFsaWRfZnJhbWUpLAoJICAoZ3N0X2ZsYWNfcGFyc2VfaGFuZGxlX3N0cmVhbWluZm8pLAoJICAoZ3N0X2ZsYWNfcGFyc2VfaGFuZGxlX3ZvcmJpc2NvbW1lbnQpLAoJICAoZ3N0X2ZsYWNfcGFyc2VfaGFuZGxlX3BpY3R1cmUpLCAoX3ZhbHVlX2FycmF5X2FwcGVuZF9idWZmZXIpLAoJICAoZ3N0X2ZsYWNfcGFyc2VfaGFuZGxlX2hlYWRlcnMpLCAoZ3N0X2ZsYWNfcGFyc2VfZ2VuZXJhdGVfaGVhZGVycyksCgkgIChnc3RfZmxhY19wYXJzZV9wYXJzZV9mcmFtZSk6CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RmbGFjcGFyc2UuaDoKCSAgQWRkIEZMQUMgcGFyc2VyLCBiYXNlZCBvbiBHc3RCYXNlUGFyc2UuIEFsc28gYWRkIHRoZSBiaXQgYW5kIGJ5dGUgcmVhZGVyCgkgIHRoYXQgd2lsbCBiZSBhZGRlZCB0byBsaWJnc3RiYXNlIGxhdGVyLgoJICBUaGUgRkxBQyBwYXJzZXIgaXMgY3VycmVudGx5IG5vdCAxMDAlIGJ1ZyBmcmVlIGFuZCBmYWlscyB0byBnZXQgdGhlCgkgIGNvcnJlY3QgZnJhbWUgc2l6ZSBmb3Igc29tZSBmcmFtZXMgaW4gc29tZSBzdHJlYW1zLgoKMjAwOC0wOS0yNyAwMToxMjozMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvcmVzaW5kdmQvOiBBZGQgaW4gVGl0bGUvQ2hhcHRlciBzZWVraW5nLCBhbmQgc2ltcGxlIGJ1dCBidWdneSBhdWRpbyBhbmQgc3VidGl0bGUgc3RyZWFtIHNlbGVjdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICAqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguaDoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuYzoKCSAgQWRkIGluIFRpdGxlL0NoYXB0ZXIgc2Vla2luZywgYW5kIHNpbXBsZSBidXQgYnVnZ3kgYXVkaW8KCSAgYW5kIHN1YnRpdGxlIHN0cmVhbSBzZWxlY3Rpb24uCgoyMDA4LTA5LTI0IDE3OjIxOjQxICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvZHNob3dkZWN3cmFwcGVyLzogUHJlZmVyIGtub3duLWdvb2QgZmlsdGVycywgY3JlYXRlIGRpcmVjdGx5IGJ5IEdVSUQgaWYgcG9zc2libGUsIGZhbGwgYmFjayB0byBjcmVhdGluZyBoaWdoZXN0LW0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuaDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZmFrZXNyYy5jcHA6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3V0aWwuY3BwOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d1dGlsLmg6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuaDoKCSAgUHJlZmVyIGtub3duLWdvb2QgZmlsdGVycywgY3JlYXRlIGRpcmVjdGx5IGJ5IEdVSUQgaWYgcG9zc2libGUsCgkgIGZhbGwgYmFjayB0byBjcmVhdGluZyBoaWdoZXN0LW1lcml0IGZpbHRlciBvdGhlcndpc2UuCgkgIEZpeGVzIHBsYXliYWNrIHdpdGggcmFuZG9tIGRzaG93IGZpbHRlcnMgaW5zdGFsbGVkIGluIHNvbWUKCSAgY2FzZXMuCgoyMDA4LTA5LTIzIDE4OjEzOjMxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBGaXggc29tZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9nZXRfc3luYyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAob25fc2VuZGVyX3RpbWVvdXQpLAoJICAoc2Vzc2lvbl9jbGVhbnVwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgRml4IHNvbWUgZG9jcy4KCjIwMDgtMDktMjMgMTc6MzQ6NDQgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBQYXRjaCBmcm9tOiBKb3NlcCBUb3JyYQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggZnJvbTogSm9zZXAgVG9ycmEKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBVc2UgYSBwcmVhbGxvY2F0ZWQgYnVmZmVyIHBlciBzdHJlYW0gZm9yIFBFUyBwYWNrZXRzIHNlbnQgb24gc3JjIHBhZHMuCgkgIEFkYXB0aXZlbHkgYWRqdXN0IGJ1ZmZlciBzaXplIGFwcHJvcHJpYXRlbHkuCgoyMDA4LTA5LTE3IDE0OjQ3OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogQ2xlYW4gdXAgdGhlIGRlYnVnIGxvZ2dpbmcgY29kZSBhbmQgI2lmZGVmIG1lc3MgYSBiaXQ6IHdoZXRoZXIgb3Igbm90IGdzdHJlYW1lciBkZWJ1ZyBtZXNzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX3N0YXJ0KSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc2VuZF9yZXF1ZXN0X2FuZF9yZWRpcmVjdCk6CgkgIENsZWFuIHVwIHRoZSBkZWJ1ZyBsb2dnaW5nIGNvZGUgYW5kICNpZmRlZiBtZXNzIGEgYml0OiB3aGV0aGVyIG9yIG5vdAoJICBnc3RyZWFtZXIgZGVidWcgbWVzc2FnZXMgc2hvdWxkIGJlIG91dHB1dCBzaG91bGQgbm90IGRlcGVuZCBvbiBhbgoJICBlbGVtZW50IHByb3BlcnR5OyBhbHNvLCBHU1RfRUxFTUVOVF9FUlJPUiB3aWxsIGxlYXZlIGEgbGluZSBpbiB0aGUgbG9nCgkgIGFscmVhZHksIHNvIG1lcmdlIHRoZSBtb3JlIHVzZWZ1bCBkZWJ1ZyBsb2cgbWVzc2FnZXMgd2l0aCB0aGUgbGVzcyB1c2VmdWwKCSAgZXJyb3IgZGVidWcgc3RyaW5ncy4KCjIwMDgtMDktMTcgMTQ6MjI6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiBEb24ndCBwb3N0IExJQlJBUllfSU5JVCBlcnJvcnMgd2hlcmUgd2Ugc2hvdWxkIGJlIHBvc3RpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfc3RhcnQpOgoJICBEb24ndCBwb3N0IExJQlJBUllfSU5JVCBlcnJvcnMgd2hlcmUgd2Ugc2hvdWxkIGJlIHBvc3RpbmcKCSAgUkVTT1VSQ0UgT1BFTl9SRUFEIGVycm9ycy4gRml4ZXMgIzU1MjUwNi4KCjIwMDgtMDktMTcgMTM6NTk6MjEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzIG9uIE9TL1gKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiAoamFja19wcm9jZXNzX2NiKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKGNhbGN1bGF0ZV9za2V3KToKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzIG9uIE9TL1gKCjIwMDgtMDktMTcgMDk6MDY6NTcgKzAwMDAgIE1pY2hhZWwgS3J1Zmt5IDxta3J1Zmt5QGxpbnV4dHYub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogQWRkIGFkYXB0ZXJfbmFtZSBmb3IgYnVzIG1lc3NhZ2UgaW4gQVRTQyBjYXNlLiBGaXhlcyAjNTUyNTM2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IE1pY2hhZWwgS3J1Zmt5CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgQWRkIGFkYXB0ZXJfbmFtZSBmb3IgYnVzIG1lc3NhZ2UgaW4gQVRTQyBjYXNlLiBGaXhlcyAjNTUyNTM2LgoKMjAwOC0wOS0xNSAwOTozOTowMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2NlbHQvZ3N0Y2VsdGVuYy5oOiBIZWxwIGd0ay1kb2MgdG8gcGFyc2UgdGhpcyBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jZWx0L2dzdGNlbHRlbmMuaDoKCSAgSGVscCBndGstZG9jIHRvIHBhcnNlIHRoaXMgY29ycmVjdGx5LgoJICAqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIEFkZCBtaXNzaW5nIGluY2x1ZGUuCgoyMDA4LTA5LTE1IDA5OjM0OjE0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleGFtcGxlcy9NYWtlZmlsZS5hbTogT25seSBidWlsdCBzY2FsZXRlbXBvIGV4YW1wbGUgaWYgd2UgaGF2ZSBndGsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL01ha2VmaWxlLmFtOgoJICBPbmx5IGJ1aWx0IHNjYWxldGVtcG8gZXhhbXBsZSBpZiB3ZSBoYXZlIGd0ay4KCjIwMDgtMDktMTMgMDE6Mzc6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRG8gbm90IHRyeSB0byBhZGp1c3QgdGhlIG9mZnNldCBvZiBzdHJlYW1zIGZvciB3aGljaCB3ZSBoYXZlIG5vdCB5ZXQgc2VlbiBhbiBTUiBwYWNrZXQuIEEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksCgkgIChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLCAoZ3N0X3J0cF9iaW5fc3luY19jaGFpbik6CgkgIERvIG5vdCB0cnkgdG8gYWRqdXN0IHRoZSBvZmZzZXQgb2Ygc3RyZWFtcyBmb3Igd2hpY2ggd2UgaGF2ZSBub3QgeWV0CgkgIHNlZW4gYW4gU1IgcGFja2V0LiBBdm9pZHMgbGFyZ2UgdHMtb2Zmc2V0cyBpbiBzb21lIGNhc2VzLgoKMjAwOC0wOS0xMCAyMzoxNToxMSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL2RzaG93ZGVjd3JhcHBlci86IE1ham9yIHJld3JpdGUgb2YgZHNob3dkZWN3cmFwcGVyLiBDb252ZXJ0cyBjb2RlIHRvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuaDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZGVjd3JhcHBlci5jOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dkZWN3cmFwcGVyLmNwcDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZGVjd3JhcHBlci5oOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc3JjLmNwcDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZmFrZXNyYy5oOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d1dGlsLmNwcDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dXRpbC5oOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmg6CgkgIE1ham9yIHJld3JpdGUgb2YgZHNob3dkZWN3cmFwcGVyLiBDb252ZXJ0cyBjb2RlIHRvCgkgIEMrKywgbW92ZXMgdG8gZGlyZWN0IHVzZSBvZiBEaXJlY3RTaG93IGJhc2UgY2xhc3NlcywKCSAgbWFrZSBhIGxvdCBvZiBjb2RlIGNsZWFyZXIsIHNpbXBsaWZ5LCBldGMuCgkgIEZpeCBkZWNvZGUgb2YgTVAzIG9uIFZpc3RhIGJ5IHdvcmtpbmcgYXJvdW5kIGFuIGFwcGFyZW50CgkgIGJ1ZyBpbiB0aGUgZGVjb2Rlci4KCjIwMDgtMDktMTAgMTI6MDU6MzkgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBzeXMvd2lua3MvZ3N0a3NjbG9jay5jIChnc3Rfa3NfY2xvY2tfd29ya2VyX3RocmVhZF9mdW5jLCBnc3Rfa3NfY2xvY2tfc3RhcnQpOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvd2lua3MvZ3N0a3NjbG9jay5jIChnc3Rfa3NfY2xvY2tfd29ya2VyX3RocmVhZF9mdW5jLAoJICBnc3Rfa3NfY2xvY2tfc3RhcnQpOgoJICBTeW5jaHJvbml6ZSBLUyBjbG9jayBhcyBhIHNpbmdsZS1zaG90IG9wZXJhdGlvbiBmb3Igbm93LCB0aGVyZSdzIG5vdAoJICBtdWNoIHBvaW50IGluIGRvaW5nIGl0IHBlcmlvZGljYWxseSB1bnRpbCB3ZSdyZSBhY3R1YWxseSB1c2luZyB0aGUKCSAgS1MgdGltZXN0YW1wcyBmb3IgYW55dGhpbmcgZWxzZSB0aGFuIGp1c3QgZGlzY2FyZGluZyBvbGQgZnJhbWVzLgoJICAqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmMgKGdzdF9rc192aWRlb19zcmNfb3Blbl9kZXZpY2UpOgoJICBQcm92aWRlIHRoZSBHc3RDbG9jayB3aGVuIG9wZW5pbmcgdGhlIGRldmljZSBpZiB3ZSBhbHJlYWR5IGhhdmUgb25lLgoKMjAwOC0wOS0wOSAyMzo1ODowMiArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmMgKEdTVF9ERUJVR19JU19FTkFCTEVELCBsYXN0X3RpbWVzdGFtcCwgZ3N0X2tzX3ZpZGVvX2RldmljZV9wcmVwYXJlX2J1ZmZlcnMsIGdzdF9rc192aWRlby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jIChHU1RfREVCVUdfSVNfRU5BQkxFRCwgbGFzdF90aW1lc3RhbXAsCgkgIGdzdF9rc192aWRlb19kZXZpY2VfcHJlcGFyZV9idWZmZXJzLCBnc3Rfa3NfdmlkZW9fZGV2aWNlX2NyZWF0ZV9waW4sCgkgIGdzdF9rc192aWRlb19kZXZpY2Vfc2V0X3N0YXRlLCBnc3Rfa3NfdmlkZW9fZGV2aWNlX3JlcXVlc3RfZnJhbWUsCgkgIGdzdF9rc192aWRlb19kZXZpY2VfcmVhZF9mcmFtZSk6CgkgIEd1YXJkIGFnYWluc3QgY2FwdHVyaW5nIG9sZCBmcmFtZXMgYnkga2VlcGluZyB0cmFjayBvZiB0aGUgbGFzdAoJICB0aW1lc3RhbXAgYW5kIGFsc28gemVyby1maWxsIHRoZSBidWZmZXJzIGJlZm9yZSBlYWNoIGNhcHR1cmUuCgkgIE9ubHkgYXNzaWduIGEgbWFzdGVyIGNsb2NrIGlmIHRoZSBwaW4gaGFzbid0IGFscmVhZHkgZ290IG9uZS4KCSAgQWN0dWFsbHkgZnJlZSBidWZmZXJzIG9uIHRoZSB3YXkgZG93biB0byBhdm9pZCBhIGh1Z2UgbWVtb3J5IGxlYWssCgkgIGFzIHRoaXMgd2FzIHByZXZpb3VzbHkgZG9uZSB3aGVuIGNoYW5naW5nIHN0YXRlIHRvIEFDUVVJUkUgZG93bndhcmRzCgkgIGFuZCB3ZSBub3cgc2tpcCB0aGF0IHN0YXRlIG9uIHRoZSB3YXkgZG93bi4KCSAgQWRkIHNvbWUgZGVidWcuCgkgICogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYyAoREVGQVVMVF9ERVZJQ0VfUEFUSCwgREVGQVVMVF9ERVZJQ0VfTkFNRSwKCSAgREVGQVVMVF9ERVZJQ0VfSU5ERVgsIEtTX1dPUktFUl9MT0NLLCBLU19XT1JLRVJfVU5MT0NLLAoJICBLU19XT1JLRVJfV0FJVCwgS1NfV09SS0VSX05PVElGWSwgS1NfV09SS0VSX1dBSVRfRk9SX1JFU1VMVCwKCSAgS1NfV09SS0VSX05PVElGWV9SRVNVTFQsIEtTX1dPUktFUl9TVEFURV9TVEFSVElORywKCSAgS1NfV09SS0VSX1NUQVRFX1JFQURZLCBLU19XT1JLRVJfU1RBVEVfU1RPUFBJTkcsCgkgIEtTX1dPUktFUl9TVEFURV9FUlJPUiwgS3NXb3JrZXJTdGF0ZSwgZGV2aWNlX3BhdGgsIGRldmljZV9uYW1lLAoJICBkZXZpY2VfaW5kZXgsIHJ1bm5pbmcsIHdvcmtlcl90aHJlYWQsIHdvcmtlcl9sb2NrLAoJICB3b3JrZXJfbm90aWZ5X2NvbmQsIHdvcmtlcl9yZXN1bHRfY29uZCwgd29ya2VyX3N0YXRlLAoJICB3b3JrZXJfcGVuZGluZ19jYXBzLCB3b3JrZXJfc2V0Y2Fwc19yZXN1bHQsIHdvcmtlcl9wZW5kaW5nX3J1biwKCSAgd29ya2VyX3J1bl9yZXN1bHQsIGdzdF9rc192aWRlb19zcmNfcmVzZXQsCgkgIGdzdF9rc192aWRlb19zcmNfYXBwbHlfZHJpdmVyX3F1aXJrcywgZ3N0X2tzX3ZpZGVvX3NyY19vcGVuX2RldmljZSwKCSAgZ3N0X2tzX3ZpZGVvX3NyY19jbG9zZV9kZXZpY2UsIGdzdF9rc192aWRlb19zcmNfd29ya2VyX2Z1bmMsCgkgIGdzdF9rc192aWRlb19zcmNfc3RhcnRfd29ya2VyLCBnc3Rfa3NfdmlkZW9fc3JjX3N0b3Bfd29ya2VyLAoJICBnc3Rfa3NfdmlkZW9fc3JjX2NoYW5nZV9zdGF0ZSwgZ3N0X2tzX3ZpZGVvX3NyY19zZXRfY2xvY2ssCgkgIGdzdF9rc192aWRlb19zcmNfc2V0X2NhcHMsIGdzdF9rc192aWRlb19zcmNfdGltZXN0YW1wX2J1ZmZlciwKCSAgZ3N0X2tzX3ZpZGVvX3NyY19jcmVhdGUpOgoJICBSZW1vdmUgRU5BQkxFX0NMT0NLX0RFQlVHIGRlZmluZSwgaXQncyBHU1RfTEVWRUxfREVCVUcgYWZ0ZXIgYWxsLgoJICBHZXQgcmlkIG9mIFBST1BfRU5TTEFWRV9LU0NMT0NLIGFuZCBhbHdheXMgc2xhdmUgdGhlIGtzIGNsb2NrIHRvIHRoZQoJICBHU3RyZWFtZXIgY2xvY2ssIGl0IGRvZXNuJ3Qgc2VlbSB0byBodXJ0IGFuZCBtYXRjaGVzIERpcmVjdFNob3cncwoJICBiZWhhdmlvci4gQXMgYW4gYWRkZWQgYm9udXMgd2UgdXN1YWxseSBnZXQgUHJlc2VudGF0aW9uVGltZSBzZXQgZm9yCgkgIGVhY2ggZnJhbWUsIHNvIHdlIGNhbiBleHBhbmQgb24gdGhpcyBsYXRlciBmb3Igc21hcnRlciBsYXRlbmN5CgkgIHJlcG9ydGluZyAoYnkgbG9va2luZyBhdCB0aGUgZGlmZiBiZXR3ZWVuIHRoZSB0aW1lc3RhbXAgZnJvbSB0aGUKCSAgZHJpdmVyIGFuZCB0aGUgdGltZSBhY2NvcmRpbmcgdG8gdGhlIEdTdHJlYW1lciBjbG9jaykuCgkgIFVzZSBhbiBpbnRlcm5hbCB3b3JrZXIgdGhyZWFkIGZvciBvcGVuaW5nIHRoZSBkZXZpY2UsIHNldHRpbmcgY2FwcywKCSAgY2hhbmdpbmcgaXRzIHN0YXRlIGFuZCBjbG9zaW5nIGl0LiBUaGlzIHdheSB3ZSdyZSBhIGxvdCBtb3JlCgkgIGNvbXBhdGlibGUgd2l0aCBkcml2ZXJzIHRoYXQgcmVseSBvbiBoYWNrcyB0byBkbyB2aWRlby1lZmZlY3RzCgkgIGJldHdlZW4gdGhlIGxvdy1sZXZlbCBOVCBBUEkgYW5kIHRoZSBhcHBsaWNhdGlvbi4gSWNrLgoJICBTdGFydCB0aGUga3MgY2xvY2sgYW5kIHNldCB0aGUgcGluIHRvIEtTU1RBVEVfUlVOIG9uIHRoZSBmaXJzdAoJICBjcmVhdGUoKSBzbyB0aGF0IHdlJ2xsIGhvcGVmdWxseSBnZXQgaG9sZCBvZiB0aGUgR1N0cmVhbWVyIGNsb2NrCgkgIGZyb20gdGhlIHZlcnkgYmVnaW5uaW5nLiBUaGlzIHdheSB0aGVyZSdzIG5vIGNoYW5jZSB0aGF0IHRoZQoJICB0aW1lc3RhbXBzIHdpbGwgbWFrZSBhIHN1ZGRlbiBqdW1wIGluIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHN0cmVhbQoJICB3aGVuIHdlJ3JlIHJ1bm5pbmcgd2l0aCBhIGNsb2NrLgoJICAqIHN5cy93aW5rcy9rc2hlbHBlcnMuYyAoQ0hFQ0tfT1BUSU9OU19GTEFHLAoJICBrc19vcHRpb25zX2ZsYWdzX3RvX3N0cmluZyk6CgkgIFJlb3JkZXIgdGhlIGZsYWdzIHRvIG1hdGNoIHRoZSBoZWFkZXJmaWxlIG9yZGVyLCBhbmQgbWFrZSB0aGUgc3RyaW5nCgkgIGEgYml0IG1vcmUgY29tcGFjdC4KCSAgKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYyAoa3NfdmlkZW9fcHJvYmVfZmlsdGVyX2Zvcl9jYXBzKToKCSAgQXZvaWQgbGVha2luZyBLU1BST1BFUlRZX1BJTl9EQVRBUkFOR0VTLgoKMjAwOC0wOS0wOSAxNzo1NjoxMCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBBZGQganAyayBwbHVnaW4uICBGaXhlcyAjNTUwNjU3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9qcDJrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOiAoZ3N0X2phc3Blcl9kZWNfYmFzZV9pbml0KSwKCSAgKGdzdF9qYXNwZXJfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X2phc3Blcl9kZWNfaW5pdCksCgkgIChnc3RfamFzcGVyX2RlY19yZXNldCksIChnc3RfamFzcGVyX2RlY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2phc3Blcl9kZWNfbmVnb3RpYXRlKSwgKGdzdF9qYXNwZXJfZGVjX2dldF9waWN0dXJlKSwKCSAgKGdzdF9qYXNwZXJfZGVjX2NoYWluKSwgKGdzdF9qYXNwZXJfZGVjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfamFzcGVyX2RlY19nZXRfcHJvcGVydHkpLCAoZ3N0X2phc3Blcl9kZWNfY2hhbmdlX3N0YXRlKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvanAyay9nc3RqYXNwZXJkZWMuaDoKCSAgQWRkIGpwMmsgcGx1Z2luLiAgRml4ZXMgIzU1MDY1Ny4KCjIwMDgtMDktMDkgMTE6NDc6NDIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvbXBlZ2RlbXV4LzogRml4IGNvbmZsaWN0aW5nIHB1YmxpYyBuYW1lcyBpbiBuZXcgbXBlZyBkZW11eGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9mbHVtcGVnZGVtdXguYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOiAoZ3N0X2ZsdXBzX2RlbXV4X3N5bmNfZ2V0X3R5cGUpLAoJICAoZ3N0X2ZsdXBzX2RlbXV4X2dldF90eXBlKSwgKGdzdF9mbHVwc19kZW11eF9wbHVnaW5faW5pdCk6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOiAoZ3N0X2ZsdXRzX2RlbXV4X2dldF90eXBlKSwKCSAgKGdzdF9mbHV0c19kZW11eF9wbHVnaW5faW5pdCk6CgkgIEZpeCBjb25mbGljdGluZyBwdWJsaWMgbmFtZXMgaW4gbmV3IG1wZWcgZGVtdXhlcnMuCgkgIEZpeGVzICM1NTA0NjgKCjIwMDgtMDktMDkgMDE6MTQ6MTAgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmM6IFN1cHBvcnQgY2h1bmtzIGluIEFJRkYgaW4gYW55IG9yZGVyIGluIHB1bGwgbW9kZSwgYW5kIGFueSBvcmRlciBzbyBsb25nIGFzIHdlIGdldCBDT01NIGJlZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5jOgoJICBTdXBwb3J0IGNodW5rcyBpbiBBSUZGIGluIGFueSBvcmRlciBpbiBwdWxsIG1vZGUsIGFuZCBhbnkgb3JkZXIgc28KCSAgbG9uZyBhcyB3ZSBnZXQgQ09NTSBiZWZvcmUgdGhlIGFjdHVhbCBkYXRhIChTU05EKSBpbiBwdXNoIG1vZGUuCgkgIEZpeGVzIHBsYXliYWNrIG9mIEFJRkMgZmlsZXMuCgoyMDA4LTA5LTA4IDIwOjI3OjIzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogUmVzZXQgdGhlIHNlbGVjdG9yIHN0YXRlIHdoZW4gZ29pbmcgdG8gUkVBRFkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IChnc3Rfc2VsZWN0b3JfcGFkX3Jlc2V0KSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9yZXNldCksIChnc3RfaW5wdXRfc2VsZWN0b3JfY2hhbmdlX3N0YXRlKToKCSAgUmVzZXQgdGhlIHNlbGVjdG9yIHN0YXRlIHdoZW4gZ29pbmcgdG8gUkVBRFkuCgoyMDA4LTA5LTA1IDEzOjUyOjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLio6IEFkZCBzaWduYWwgdG8gbm90aWZ5IGxpc3RlbmVycyB3aGVuIGEgc2VuZGVyIGJlY29tZXMgYSByZWNlaXZlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChvbl9zZW5kZXJfdGltZW91dCksCgkgIChjcmVhdGVfc2Vzc2lvbiksIChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoZ3N0X3J0cF9iaW5fc3luY19jaGFpbiksIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfYmluX3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIEFkZCBzaWduYWwgdG8gbm90aWZ5IGxpc3RlbmVycyB3aGVuIGEgc2VuZGVyIGJlY29tZXMgYSByZWNlaXZlci4KCSAgVHdlYWsgbGlwLXN5bmMgY29kZSwgZG9uJ3Qgc3RvcmUgb3VyIG93biBjb3B5IG9mIHRoZSB0cy1vZmZzZXQgb2YgdGhlCgkgIGppdHRlcmJ1ZmZlciwgZG9uJ3QgYWRqdXN0IHN5bmMgaWYgdGhlIGNoYW5nZSBpcyBsZXNzIHRoYW4gNG1zZWMuCgkgIEdldCB0aGUgUlRQIHRpbWVzdGFtcCA8LT4gR1N0cmVhbWVyIHRpbWVzdGFtcCByZWxhdGlvbiBkaXJlY3RseSBmcm9tCgkgIHRoZSBqaXR0ZXJidWZmZXIgaW5zdGVhZCBvZiBvdXIgaW5hY2N1cmF0ZSB2ZXJzaW9uIGZyb20gdGhlIHNvdXJjZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3N5bmMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICBBZGQgR19MSUtFTFkgbWFjcm9zLCB1c2UgZ2xvYmFsIGRlZmluZXMgZm9yIG1heCBwYWNrZXQgcmVvcmRlciBhbmQKCSAgZHJvcG91dHMuCgkgIFJlc2V0IHRoZSBqaXR0ZXJidWZmZXIgY2xvY2sgc2tldyBkZXRlY3Rpb24gd2hlbiBwYWNrZXRzIHNlcW51bXMgYXJlCgkgIGNoYW5nZWQgdW5leHBlY3RlZGx5LgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKG9uX3NlbmRlcl90aW1lb3V0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgIEFkZCBzZW5kZXIgdGltZW91dCBzaWduYWwuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9yZXNldF9za2V3KSwKCSAgKGNhbGN1bGF0ZV9za2V3KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9nZXRfc3luYyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIEFkZCBzb21lIEdfTElLRUxZIG1hY3Jvcy4KCSAgS2VlcCB0cmFjayBvZiB0aGUgZXh0ZW5kZWQgUlRQIHRpbWVzdGFtcCBzbyB0aGF0IHdlIGNhbiByZXBvcnQgdGhlIFJUUAoJICB0aW1lc3RhbXAgPC0+IEdTdHJlYW1lciB0aW1lc3RhbXAgcmVsYXRpb24gZm9yIGxpcC1zeW5jLgoJICBSZW1vdmUgc2VydmVyIHRpbWVzdGFtcCBnYXAgZGV0ZWN0aW9uIGNvZGUsIHRoZSBzZXJ2ZXIgY2FuIHNvbWV0aW1lcwoJICBtYWtlIGEgaHVnZSBnYXAgaW4gdGltZXN0YW1wcyAodGFsayBzcHVydHMsLi4uKSBzZWUgIzU0OTc3NC4KCSAgRGV0ZWN0IHRpbWV0YW1wIHdlaXJkbmVzcyBpbnN0ZWFkIGJ5IG9ic2VydmluZyB0aGUgc2VuZGVyL3JlY2VpdmVyCgkgIHRpbWVzdGFtcCByZWxhdGlvbiBhbmQgcmVzeW5jIGlmIGl0IGNoYW5nZXMgbW9yZSB0aGFuIDEgc2Vjb25kLgoJICBBZGQgbWV0aG9kIHRvIHJlcG9ydCBhYm91dCB0aGUgY3VycmVudCBydHAgPC0+IGdzdCB0aW1lc3RhbXAgcmVsYXRpb24KCSAgd2hpY2ggaXMgbmVlZGVkIGZvciBsaXAtc3luYy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKG9uX3NlbmRlcl90aW1lb3V0KSwgKGNoZWNrX2NvbGxpc2lvbiksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwKCSAgKHNlc3Npb25fY2xlYW51cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBBZGQgc2VuZGVyIHRpbWVvdXQgc2lnbmFsLgoJICBSZW1vdmUgaW5hY2N1cmF0ZSBydHAgPC0+IGdzdCB0aW1lc3RhbXAgcmVsYXRpb24gY29kZSwgdGhlCgkgIGppdHRlcmJ1ZmZlciBjYW4gbm93IGRvIGFuIGFjY3VyYXRlIHJlcG9ydGluZyBhYm91dCB0aGlzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9pbml0KSwKCSAgKHJ0cF9zb3VyY2VfdXBkYXRlX2NhcHMpLCAoY2FsY3VsYXRlX2ppdHRlciksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgUmVtb3ZlIGluYWNjdXJhdGUgcnRwIDwtPiBnc3QgdGltZXN0YW1wIHJlbGF0aW9uIGNvZGUuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgRGVmaW5lIGdsb2JhbCBtYXgtcmVvcmRlciBhbmQgbWF4LWRyb3BvdXQgY29uc3RhbnRzIGZvciB1c2UgaW4gdmFyaW91cwoJICBzdWJzeXN0ZW1zLgoKMjAwOC0wOS0wNSAxMTowNzozMiArMDAwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8bWFyZHVrQGstZC13Lm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IEFkZCBEVkIgQWRhcHRlciBuYW1lIHRvIHN0cnVjdHVyZSBzZW50IG92ZXIgYnVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IFNlYmFzdGlhbiBQw7Zsc3RlcmwKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBBZGQgRFZCIEFkYXB0ZXIgbmFtZSB0byBzdHJ1Y3R1cmUgc2VudCBvdmVyIGJ1cy4KCjIwMDgtMDktMDMgMTQ6MDI6MjkgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgbXBlZyBkZW11eGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbXBlZyBkZW11eGVyCgoyMDA4LTA5LTAyIDE3OjQzOjQyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L21wZWdkZW11eC86IEZpeCBidWlsZCBvbiBtYWNvc3guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6IChnc3RfZmx1cHNfZGVtdXhfcGFyc2VfcGFja19zdGFydCk6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOiAoZ3N0X2ZsdXRzX2RlbXV4X2RhdGFfY2IpOgoJICBGaXggYnVpbGQgb24gbWFjb3N4LgoKMjAwOC0wOS0wMiAxMjowNDozMiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIEFkZCBGbHVlbmRvIE1QRUcgUFMgYW5kIFRTIGRlbXV4ZXJzIHRvIGdzdC1wbHVnaW5zLWJhZC4gVGhpcyBpcyBub3cgZHVhbCBsaWNlbnNlZCBNUEwgYW5kIExHUEwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnZGVtdXgvZmx1bXBlZ2RlbXV4LmM6CgkgICogZ3N0L21wZWdkZW11eC9mbHV0c3BhdGluZm8uYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcGF0aW5mby5oOgoJICAqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRpbmZvLmM6CgkgICogZ3N0L21wZWdkZW11eC9mbHV0c3BtdGluZm8uaDoKCSAgKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10c3RyZWFtaW5mby5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRzdHJlYW1pbmZvLmg6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVmcy5oOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5oOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgICogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5oOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0c2VjdGlvbmZpbHRlci5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0c2VjdGlvbmZpbHRlci5oOgoJICBBZGQgRmx1ZW5kbyBNUEVHIFBTIGFuZCBUUyBkZW11eGVycyB0byBnc3QtcGx1Z2lucy1iYWQuIFRoaXMKCSAgaXMgbm93IGR1YWwgbGljZW5zZWQgTVBMIGFuZCBMR1BMLgoKMjAwOC0wOS0wMiAxMToyMzowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6IFNldCBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6IChuZXdfcGFja2V0X2NiKToKCSAgU2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycy4KCjIwMDgtMDktMDIgMDk6NTY6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBFbmFibGUvZml4IHVwIHRyYW5zbGF0aW9ucyBmb3IgdGhlc2UgcGx1Z2lucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL3BsdWdpbi5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICAqIGV4dC90d29sYW1lL2dzdHR3b2xhbWUuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5jOiAocGx1Z2luX2luaXQpOgoJICBFbmFibGUvZml4IHVwIHRyYW5zbGF0aW9ucyBmb3IgdGhlc2UgcGx1Z2lucy4KCSAgKiBwby9MSU5HVUFTOgoJICBBZGQgJ2NhJyB0byBMSU5HVUFTLgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICAqIHBvL1BPVEZJTEVTLnNraXA6CgkgIEFkZCBtb3JlIGZpbGVzIGZvciB0cmFuc2xhdGlvbiBhbmQgbW9yZSBmaWxlcyB3aGljaCB0b29scwoJICBzaG91bGQgc2tpcC4KCjIwMDgtMDktMDIgMDk6NDY6MDQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6IEZpeCBidWlsZCBvbiBtYWNvc3guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzogKHRzbXV4X3dyaXRlX3RzX2hlYWRlcik6CgkgIEZpeCBidWlsZCBvbiBtYWNvc3guCgoyMDA4LTA5LTAxIDE3OjU0OjAwICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBleGFtcGxlcy9NYWtlZmlsZS5hbToKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZpbGUgYW5kIGFkZCBtaXNzaW5nIHN1YmRpcnMgaW4gTWFrZWZpbGUuYW0KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZpbGUgYW5kIGFkZCBtaXNzaW5nIHN1YmRpcnMgaW4gTWFrZWZpbGUuYW0KCjIwMDgtMDktMDEgMTc6NDk6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2FhYy5jOiBBbGxvY2F0ZSBhIGZpeGVkIHNpemUgYnVmZmVyIG9uIHRoZSBzdGFjayBpbnN0ZWFkIG9mIHVzaW5nIG1hbGxvYygpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9hYWMuYzogKG1wZWd0c211eF9wcmVwYXJlX2FhYyk6CgkgIEFsbG9jYXRlIGEgZml4ZWQgc2l6ZSBidWZmZXIgb24gdGhlIHN0YWNrIGluc3RlYWQgb2YgdXNpbmcgbWFsbG9jKCkuCgkgICogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOiAodHNtdXhfbmV3KSwgKHRzbXV4X2ZyZWUpLAoJICAodHNtdXhfcHJvZ3JhbV9uZXcpLCAodHNtdXhfcHJvZ3JhbV9mcmVlKToKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6ICh0c211eF9zdHJlYW1fbmV3KSwKCSAgKHRzbXV4X3N0cmVhbV9mcmVlKSwgKHRzbXV4X3N0cmVhbV9jb25zdW1lKSwKCSAgKHRzbXV4X3N0cmVhbV9hZGRfZGF0YSk6CgkgIFVzZSBHU2xpY2UuCgoyMDA4LTA5LTAxIDE3OjQ3OjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOiBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIE1QRUc0IHZpZGVvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOiAobXBlZ3RzbXV4X2NyZWF0ZV9zdHJlYW0pOgoJICBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIE1QRUc0IHZpZGVvLgoKMjAwOC0wOS0wMSAxNzo0MTozOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9tcGVndHNtdXgvdHNtdXgvOiBGaXggYnVpbGQgb2YgbXBlZ3RzbXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkgICogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5oOgoJICBGaXggYnVpbGQgb2YgbXBlZ3RzbXV4LgoKMjAwOC0wOS0wMSAxNjozODo0MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIEZsdWVuZG8gTVBFRy1UUyBtdXhlciBhbmQgbGlidHNtdXggdG8gZ3N0LXBsdWdpbnMtYmFkLiBUaGlzIGlzIHJlbmFtZWQgdG8gbXBlZ3RzbXV4IHRvIHByZXZlbnQgY29uZmxpY3RzLiBBbHNvIGFsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6IChtcGVndHNtdXhfYmFzZV9pbml0KSwKCSAgKG1wZWd0c211eF9jbGFzc19pbml0KSwgKG1wZWd0c211eF9pbml0KSwgKG1wZWd0c211eF9kaXNwb3NlKSwKCSAgKGdzdF9tcGVndHNtdXhfc2V0X3Byb3BlcnR5KSwgKGdzdF9tcGVndHNtdXhfZ2V0X3Byb3BlcnR5KSwKCSAgKHJlbGVhc2VfYnVmZmVyX2NiKSwgKG1wZWd0c211eF9jcmVhdGVfc3RyZWFtKSwKCSAgKG1wZWd0c211eF9jcmVhdGVfc3RyZWFtcyksIChtcGVndHNtdXhfY2hvb3NlX2Jlc3Rfc3RyZWFtKSwKCSAgKG1wZWd0c211eF9jb2xsZWN0ZWQpLCAobXBlZ3RzbXV4X3JlcXVlc3RfbmV3X3BhZCksCgkgIChtcGVndHNtdXhfcmVsZWFzZV9wYWQpLCAobmV3X3BhY2tldF9jYiksCgkgIChtcGVndHNkZW11eF9wcmVwYXJlX3NyY3BhZCksIChtcGVndHNtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICAqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2FhYy5jOiAobXBlZ3RzbXV4X3ByZXBhcmVfYWFjKToKCSAgKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9hYWMuaDoKCSAgKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9oMjY0LmM6IChtcGVndHNtdXhfcHJlcGFyZV9oMjY0KToKCSAgKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9oMjY0Lmg6CgkgICogZ3N0L21wZWd0c211eC90c211eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L2NyYy5oOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzogKHRzbXV4X25ldyksICh0c211eF9zZXRfd3JpdGVfZnVuYyksCgkgICh0c211eF9zZXRfcGF0X2ZyZXF1ZW5jeSksICh0c211eF9nZXRfcGF0X2ZyZXF1ZW5jeSksICh0c211eF9mcmVlKSwKCSAgKHRzbXV4X3Byb2dyYW1fbmV3KSwgKHRzbXV4X3NldF9wbXRfZnJlcXVlbmN5KSwKCSAgKHRzbXV4X2dldF9wbXRfZnJlcXVlbmN5KSwgKHRzbXV4X3Byb2dyYW1fYWRkX3N0cmVhbSksCgkgICh0c211eF9wcm9ncmFtX3NldF9wY3Jfc3RyZWFtKSwgKHRzbXV4X2dldF9uZXdfcGlkKSwKCSAgKHRzbXV4X2NyZWF0ZV9zdHJlYW0pLCAodHNtdXhfZmluZF9zdHJlYW0pLCAodHNtdXhfcGFja2V0X291dCksCgkgICh0c211eF93cml0ZV9hZGFwdGF0aW9uX2ZpZWxkKSwgKHRzbXV4X3dyaXRlX3RzX2hlYWRlciksCgkgICh0c211eF93cml0ZV9zdHJlYW1fcGFja2V0KSwgKHRzbXV4X3Byb2dyYW1fZnJlZSksCgkgICh0c211eF93cml0ZV9zZWN0aW9uKSwgKHRzbXV4X3dyaXRlX3NlY3Rpb25faGRyKSwKCSAgKHRzbXV4X3dyaXRlX3BhdCksICh0c211eF93cml0ZV9wbXQpOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Y29tbW9uLmg6CgkgICogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOiAodHNtdXhfc3RyZWFtX25ldyksCgkgICh0c211eF9zdHJlYW1fZ2V0X3BpZCksICh0c211eF9zdHJlYW1fZnJlZSksCgkgICh0c211eF9zdHJlYW1fc2V0X2J1ZmZlcl9yZWxlYXNlX2Z1bmMpLCAodHNtdXhfc3RyZWFtX2NvbnN1bWUpLAoJICAodHNtdXhfc3RyZWFtX2F0X3Blc19zdGFydCksICh0c211eF9zdHJlYW1fYnl0ZXNfYXZhaWwpLAoJICAodHNtdXhfc3RyZWFtX2J5dGVzX2luX2J1ZmZlciksICh0c211eF9zdHJlYW1fZ2V0X2RhdGEpLAoJICAodHNtdXhfc3RyZWFtX3Blc19oZWFkZXJfbGVuZ3RoKSwKCSAgKHRzbXV4X3N0cmVhbV9maW5kX3B0c19kdHNfd2l0aGluKSwKCSAgKHRzbXV4X3N0cmVhbV93cml0ZV9wZXNfaGVhZGVyKSwgKHRzbXV4X3N0cmVhbV9hZGRfZGF0YSksCgkgICh0c211eF9zdHJlYW1fZ2V0X2VzX2Rlc2NycyksICh0c211eF9zdHJlYW1fcGNyX3JlZiksCgkgICh0c211eF9zdHJlYW1fcGNyX3VucmVmKSwgKHRzbXV4X3N0cmVhbV9pc19wY3IpLAoJICAodHNtdXhfc3RyZWFtX2dldF9wdHMpOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uaDoKCSAgQWRkIEZsdWVuZG8gTVBFRy1UUyBtdXhlciBhbmQgbGlidHNtdXggdG8gZ3N0LXBsdWdpbnMtYmFkLiBUaGlzCgkgIGlzIHJlbmFtZWQgdG8gbXBlZ3RzbXV4IHRvIHByZXZlbnQgY29uZmxpY3RzLiBBbHNvIGFsbCByZWxldmFudAoJICBpbmZvcm1hdGlvbnMgYWJvdXQgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGFyZSBhZGRlZCB0byB0aGUgdG9wIG9mCgkgIGV2ZXJ5IGZpbGUgYnV0IGFwYXJ0IGZyb20gdGhhdCBubyBjaGFuZ2VzIGNvbXBhcmVkIHRvIHRoZSBsYXRlc3QKCSAgU1ZOIHZlcnNpb25zIGhhcHBlbmVkLgoKMjAwOC0wOS0wMSAxNjowNTo0NSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzogTm93IHRoYXQgR3N0QmFzZVRyYW5zZm9ybSBpcyAnZml4ZWQnIC4uLiByZW1vdmUgY3J1ZnQgZnJvbSB0ZXN0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOiAoc2V0dXBfYXVkaW9yZXNhbXBsZSksCgkgIChmYWlsX3VubGVzc19wZXJmZWN0X3N0cmVhbSksICh0ZXN0X3BlcmZlY3Rfc3RyZWFtX2luc3RhbmNlKSwKCSAgKHRlc3RfZGlzY29udF9zdHJlYW1faW5zdGFuY2UpOgoJICBOb3cgdGhhdCBHc3RCYXNlVHJhbnNmb3JtIGlzICdmaXhlZCcgLi4uIHJlbW92ZSBjcnVmdCBmcm9tIHRlc3RzLgoJICBBZGQgZGVidWdnaW5nIGZvciBjb2hlcmVuY2UuCgoyMDA4LTA5LTAxIDEzOjIzOjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogUmV1c2UgdGhlIGdldF9saW5rZWRfcGFkcyBmb3IgYm90aCBzb3VyY2UgYW5kIHNpbmtwYWRzIGJlY2F1c2UgdGhleSBhcmUgdGhlIHNhbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IChnc3RfaW5wdXRfc2VsZWN0b3JfaW5pdCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfZXZlbnQpLCAoZ3N0X2lucHV0X3NlbGVjdG9yX3F1ZXJ5KToKCSAgUmV1c2UgdGhlIGdldF9saW5rZWRfcGFkcyBmb3IgYm90aCBzb3VyY2UgYW5kIHNpbmtwYWRzIGJlY2F1c2UgdGhleSBhcmUKCSAgdGhlIHNhbWUuCgkgIEltcGxlbWVudCBhIGN1c3R1bSBldmVudCBoYW5kbGVyIGFuZCBnZXQgdGhlIGludGVybmFsbHkgbGlua2VkIHBhZAoJICBkaXJlY3RseSBpbnN0ZWFkIG9mIHJlbHlpbmcgb24gdGhlIGRlZmF1bHQgKHNsb3dlcikgaW1wbGVtZW50YXRpb24uCgoyMDA4LTA4LTMxIDE1OjAxOjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6IENvcnJlY3RseSB0YWtlIHRoZSBncmFudWxlcG9zIGZyb20gdXBzdHJlYW0gaWYgcG9zc2libGUgYW5kIGNvcnJlY3RseSBoYW5kbGUgdGhlIGdyYW51bGVwb3MgaW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOiAoY2VsdF9kZWNfY2hhaW5fcGFyc2VfZGF0YSk6CgkgIENvcnJlY3RseSB0YWtlIHRoZSBncmFudWxlcG9zIGZyb20gdXBzdHJlYW0gaWYgcG9zc2libGUgYW5kCgkgIGNvcnJlY3RseSBoYW5kbGUgdGhlIGdyYW51bGVwb3MgaW4gdmFyaW91cyBjYWxjdWxhdGlvbnM6IHRoZQoJICBncmFudWxlcG9zIGlzIHRoZSBzYW1wbGUgbnVtYmVyIG9mIHRoZSBfbGFzdF8gc2FtcGxlIGluIGEgZnJhbWUsIG5vdAoJICB0aGUgZmlyc3QuCgkgICogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOiAoZ3N0X2NlbHRfZW5jX3NpbmtldmVudCksCgkgIChnc3RfY2VsdF9lbmNfZW5jb2RlKSwgKGdzdF9jZWx0X2VuY19jaGFpbiksCgkgIChnc3RfY2VsdF9lbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmg6CgkgIEhhbmRsZSBub24temVybyBzdGFydCB0aW1lc3RhbXBzIGluIHRoZSBlbmNvZGVyIGFuZCBkZXRlY3QvaGFuZGxlCgkgIHN0cmVhbSBkaXNjb250aW51aXRpZXMuIEZpeGVzIGJ1ZyAjNTQ3MDc1LgoKMjAwOC0wOC0zMSAxMjoyMDozMyArMDAwMCAgUm92IEp1dmFubyA8cm92anV2YW5vQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEFkZCBzY2FsZXRlbXBvIHBsdWdpbiwgd2hpY2ggYWxsb3dzIHRvIHNjYWxlIHRoZSBzcGVlZCBvZiBhdWRpbyB3aXRob3V0IGNoYW5naW5nIHRoZSBwaXRjaCBieSBoYW5kbGluZyBzZWVrcyB3aXRoIGEgci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJvdiBKdXZhbm8gPHJvdmp1dmFubyBhdCB1c2VycyBkb3Qgc291cmNlZm9yZ2UgZG90IG5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkgICogZXhhbXBsZXMvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSAgKiBleGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmM6IChwb3Bfc3RhdHVzX2JhciksCgkgIChzdGF0dXNfYmFyX3ByaW50ZiksIChkZW1vX2d1aV9zZWVrX2Jhcl9mb3JtYXQpLCAodXBkYXRlX3Bvc2l0aW9uKSwKCSAgKGRlbW9fZ3VpX3NlZWtfYmFyX2NoYW5nZSksIChkZW1vX2d1aV9kb19jaGFuZ2VfcmF0ZSksCgkgIChkZW1vX2d1aV9kb19zZXRfcmF0ZSksIChkZW1vX2d1aV9kb19yYXRlX2VudGVyZWQpLAoJICAoZGVtb19ndWlfZG9fdG9nZ2xlX2FkdmFuY2VkKSwgKGRlbW9fZ3VpX2RvX3RvZ2dsZV9kaXNhYmxlZCksCgkgIChkZW1vX2d1aV9kb19zZWVrKSwgKGRlbW9fZ3VpX2RvX3BsYXkpLCAoZGVtb19ndWlfZG9fcGF1c2UpLAoJICAoZGVtb19ndWlfZG9fcGxheV9wYXVzZSksIChkZW1vX2d1aV9kb19vcGVuX2ZpbGUpLAoJICAoZGVtb19ndWlfZG9fcGxheWxpc3RfcHJldiksIChkZW1vX2d1aV9kb19wbGF5bGlzdF9uZXh0KSwKCSAgKGRlbW9fZ3VpX2RvX2Fib3V0X2RpYWxvZyksIChkZW1vX2d1aV9kb19xdWl0KSwKCSAgKGRlbW9fZ3VpX3JlcXVlc3Rfc2V0X3N0cmlkZSksIChkZW1vX2d1aV9yZXF1ZXN0X3NldF9vdmVybGFwKSwKCSAgKGRlbW9fZ3VpX3JlcXVlc3Rfc2V0X3NlYXJjaCksIChkZW1vX2d1aV9yYXRlX2NoYW5nZWQpLAoJICAoZGVtb19ndWlfcGxheWluZ19zdGFydGVkKSwgKGRlbW9fZ3VpX3BsYXlpbmdfcGF1c2VkKSwKCSAgKGRlbW9fZ3VpX3BsYXlpbmdfZW5kZWQpLCAoZGVtb19ndWlfcGxheWVyX2Vycm9yZWQpLAoJICAoZGVtb19ndWlfc3RyaWRlX2NoYW5nZWQpLCAoZGVtb19ndWlfb3ZlcmxhcF9jaGFuZ2VkKSwKCSAgKGRlbW9fZ3VpX3NlYXJjaF9jaGFuZ2VkKSwgKGRlbW9fZ3VpX3NldF9wbGF5ZXJfZnVuYyksCgkgIChkZW1vX2d1aV9zZXRfcGxheWxpc3RfZnVuYyksIChidWlsZF9ndmFsdWVfYXJyYXkpLAoJICAoY3JlYXRlX2FjdGlvbiksIChkZW1vX2d1aV9zaG93X2Z1bmMpLCAoZGVtb19ndWlfc2V0X3BsYXllciksCgkgIChkZW1vX2d1aV9zZXRfcGxheWxpc3QpLCAoZGVtb19ndWlfc2hvdyksIChkZW1vX2d1aV9nZXRfcHJvcGVydHkpLAoJICAoZGVtb19ndWlfc2V0X3Byb3BlcnR5KSwgKGRlbW9fZ3VpX2luaXQpLCAoZGVtb19ndWlfY2xhc3NfaW5pdCksCgkgIChkZW1vX2d1aV9nZXRfdHlwZSk6CgkgICogZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5oOgoJICAqIGV4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1tYWluLmM6IChoYW5kbGVfZXJyb3JfbWVzc2FnZSksCgkgIChoYW5kbGVfcXVpdCksIChtYWluKToKCSAgKiBleGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tcGxheWVyLmM6IChub19waXBlbGluZSksCgkgIChkZW1vX3BsYXllcl9ldmVudF9saXN0ZW5lciksIChkZW1vX3BsYXllcl9zdGF0ZV9jaGFuZ2VkX2NiKSwKCSAgKGRlbW9fcGxheWVyX2Vvc19jYiksIChkZW1vX3BsYXllcl9idWlsZF9waXBlbGluZSksIChfc2V0X3JhdGUpLAoJICAoZGVtb19wbGF5ZXJfc2NhbGVfcmF0ZV9mdW5jKSwgKGRlbW9fcGxheWVyX3NldF9yYXRlX2Z1bmMpLAoJICAoX3NldF9zdGF0ZV9hbmRfd2FpdCksIChkZW1vX3BsYXllcl9sb2FkX3VyaV9mdW5jKSwKCSAgKGRlbW9fcGxheWVyX3BsYXlfZnVuYyksIChkZW1vX3BsYXllcl9wYXVzZV9mdW5jKSwgKF9zZWVrX3RvKSwKCSAgKGRlbW9fcGxheWVyX3NlZWtfYnlfZnVuYyksIChkZW1vX3BsYXllcl9zZWVrX3RvX2Z1bmMpLAoJICAoZGVtb19wbGF5ZXJfZ2V0X3Bvc2l0aW9uX2Z1bmMpLCAoZGVtb19wbGF5ZXJfZ2V0X2R1cmF0aW9uX2Z1bmMpLAoJICAoZGVtb19wbGF5ZXJfc2NhbGVfcmF0ZSksIChkZW1vX3BsYXllcl9zZXRfcmF0ZSksCgkgIChkZW1vX3BsYXllcl9sb2FkX3VyaSksIChkZW1vX3BsYXllcl9wbGF5KSwgKGRlbW9fcGxheWVyX3BhdXNlKSwKCSAgKGRlbW9fcGxheWVyX3NlZWtfYnkpLCAoZGVtb19wbGF5ZXJfc2Vla190byksCgkgIChkZW1vX3BsYXllcl9nZXRfcG9zaXRpb24pLCAoZGVtb19wbGF5ZXJfZ2V0X2R1cmF0aW9uKSwKCSAgKGRlbW9fcGxheWVyX2dldF9wcm9wZXJ0eSksIChkZW1vX3BsYXllcl9zZXRfcHJvcGVydHkpLAoJICAoZGVtb19wbGF5ZXJfaW5pdCksIChkZW1vX3BsYXllcl9jbGFzc19pbml0KSwKCSAgKGRlbW9fcGxheWVyX2dldF90eXBlKToKCSAgKiBleGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tcGxheWVyLmg6CgkgICogZ3N0L3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOiAoYmVzdF9vdmVybGFwX29mZnNldF9mbG9hdCksCgkgIChiZXN0X292ZXJsYXBfb2Zmc2V0X3MxNiksIChvdXRwdXRfb3ZlcmxhcF9mbG9hdCksCgkgIChvdXRwdXRfb3ZlcmxhcF9zMTYpLCAoZmlsbF9xdWV1ZSksIChyZWluaXRfYnVmZmVycyksCgkgIChnc3Rfc2NhbGV0ZW1wb190cmFuc2Zvcm0pLCAoZ3N0X3NjYWxldGVtcG9fdHJhbnNmb3JtX3NpemUpLAoJICAoZ3N0X3NjYWxldGVtcG9fc2lua19ldmVudCksIChnc3Rfc2NhbGV0ZW1wb19zZXRfY2FwcyksCgkgIChnc3Rfc2NhbGV0ZW1wb19nZXRfcHJvcGVydHkpLCAoZ3N0X3NjYWxldGVtcG9fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zY2FsZXRlbXBvX2Jhc2VfaW5pdCksIChnc3Rfc2NhbGV0ZW1wb19jbGFzc19pbml0KSwKCSAgKGdzdF9zY2FsZXRlbXBvX2luaXQpOgoJICAqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uaDoKCSAgKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvcGx1Z2luLmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZCBzY2FsZXRlbXBvIHBsdWdpbiwgd2hpY2ggYWxsb3dzIHRvIHNjYWxlIHRoZSBzcGVlZCBvZiBhdWRpbyB3aXRob3V0CgkgIGNoYW5naW5nIHRoZSBwaXRjaCBieSBoYW5kbGluZyBzZWVrcyB3aXRoIGEgcmF0ZSE9MS4wLgoJICBJbnRlZ3JhdGUgaXQgaW50byB0aGUgZG9jcyBhbmQgYWRkIHRoZSBleGFtcGxlIGFwcGxpY2F0aW9uIGZvciBpdC4KCSAgRml4ZXMgYnVnICM1Mzc3MDAuCgoyMDA4LTA4LTMwIDIwOjIyOjAxICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzogRml4IHNvbWUgbWVtbGVha3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzogRml4IHNvbWUgbWVtbGVha3MuCgoyMDA4LTA4LTMwIDA2OjMwOjQyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzogRml4IEVPUyBoYW5kbGluZy4gIENsZWFuIHVwIGF0IG9iamVjdCBkaXNwb3NhbC4gIEhhbmRsZSA0OjI6MiBhbmQgNDo0OjQgdmlkZW8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzogRml4IEVPUyBoYW5kbGluZy4gIENsZWFuIHVwIGF0CgkgIG9iamVjdCBkaXNwb3NhbC4gIEhhbmRsZSA0OjI6MiBhbmQgNDo0OjQgdmlkZW8uCgoyMDA4LTA4LTI5IDE0OjA1OjI1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOiBGaXggY29tcGlsZXIgd2FybmluZyBvbiBGb3J0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgIEZpeCBjb21waWxlciB3YXJuaW5nIG9uIEZvcnRlLgoKMjAwOC0wOC0yOSAxMzo1NzozOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IENvbW1pdCBGSU9OUkVBRAljaGVjaywgbmVlZGVkIGZvciB0aGUgZGNjcCBzcmMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ29tbWl0IEZJT05SRUFECWNoZWNrLCBuZWVkZWQgZm9yIHRoZSBkY2NwIHNyYy4KCjIwMDgtMDgtMjkgMTI6MTY6MjcgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZpbGUgdG8gaW5jbHVkZSBsYXRlc3QgcGx1Z2lucywgYWRkIGFwZXhzcmMgZGlyZXRvcnkgdG8gZGlzdGVkIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmaWxlIHRvIGluY2x1ZGUgbGF0ZXN0IHBsdWdpbnMsIGFkZCBhcGV4c3JjIGRpcmV0b3J5IHRvIGRpc3RlZCBmaWxlcwoKMjAwOC0wOC0yOSAxMTozNjo0MSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9mYWFjL2dzdGZhYWMuKjogQWRkIGNvZGUgZm9yIGNhbGN1bGF0aW5nIHByb3BlciB0aW1lc3RhbXAvZHVyYXRpb24gZm9yIHRoZSB0cmFpbGluZyBlbmNvZGVkIGJ1ZmZlcnMgdGhhdCBmYWFjIHdpbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19pbml0KSwgKGdzdF9mYWFjX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2ZhYWNfY2hhaW4pLCAoZ3N0X2ZhYWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkgIEFkZCBjb2RlIGZvciBjYWxjdWxhdGluZyBwcm9wZXIgdGltZXN0YW1wL2R1cmF0aW9uIGZvciB0aGUgdHJhaWxpbmcKCSAgZW5jb2RlZCBidWZmZXJzIHRoYXQgZmFhYyB3aWxsIG91dHB1dCB3aGVuIHJlY2VpdmluZyBFT1MuCgoyMDA4LTA4LTI5IDA4OjU3OjE0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IEZpeCBDRkxBR1MgYW5kIExJQlMgZm9yIHRoZSBhcGV4c2luay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggQ0ZMQUdTIGFuZCBMSUJTIGZvciB0aGUgYXBleHNpbmsuCgoyMDA4LTA4LTI4IDIyOjAyOjI4ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmMgKGtzX3ZpZGVvX21lZGlhX3R5cGVfZnJlZSk6IEF2b2lkIGxlYWtpbmcgdGhlIEtTREFUQVJBTkdFIG1lbWJlciBvZiBlYWNoIEtzVmlkZW9NZWRpYVR5cGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jIChrc192aWRlb19tZWRpYV90eXBlX2ZyZWUpOgoJICBBdm9pZCBsZWFraW5nIHRoZSBLU0RBVEFSQU5HRSBtZW1iZXIgb2YgZWFjaCBLc1ZpZGVvTWVkaWFUeXBlLgoKMjAwOC0wOC0yOCAxNzoxNjo1MSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvZGNjcC86IEZpeCBjb21waWxhdGlvbiBvbiBTb2xhcmlzIGJ5IGluY2x1ZGluZyBmaWxpby5oIGFzIG5lZWRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuYzoKCSAgRml4IGNvbXBpbGF0aW9uIG9uIFNvbGFyaXMgYnkgaW5jbHVkaW5nIGZpbGlvLmggYXMgbmVlZGVkLgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsMi5pbmM6CgkgIEZpeCBjb21waWxhdGlvbiB3aXRoIEZvcnRlIC0gYXBwYXJlbnRseSBpdCBoYXRlcyBjb25jYXRlbmF0aW5nIGEKCSAgbWFjcm8gYXJndW1lbnQgdGhhdCBzdGFydHMgd2l0aCBhbiB1bmRlcnNjb3JlPz8KCjIwMDgtMDgtMjggMTc6MDE6MzAgKzAwMDAgIErDqXLDqW1pZSBCZXJuYXJkIDxncmVtaW1haWxAZ21haWwuY29tPgoKCSAgQWRkIGFwZXhzaW5rIGZvciBhdWRpbyBvdXRwdXQgdG8gQXBwbGUgQWlyUG9ydCBFeHByZXNzIFdpcmVsZXNzIGRldmljZXMuIEZpeGVzIGJ1ZyAjNTQyNTEwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IErDqXLDqW1pZSBCZXJuYXJkIDxncmVtaW1haWwgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2FwZXhzaW5rL0xHUEwtMy4wLnR4dDoKCSAgKiBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2FwZXhzaW5rL2dzdGFwZXhwbHVnaW4uYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvYXBleHNpbmsvZ3N0YXBleHJhb3AuYzogKGdfc3RyZGVsKSwgKGdzdF9hcGV4cmFvcF9zZW5kKSwKCSAgKGdzdF9hcGV4cmFvcF9yZWN2KSwgKGdzdF9hcGV4cmFvcF9uZXcpLCAoZ3N0X2FwZXhyYW9wX2ZyZWUpLAoJICAoZ3N0X2FwZXhyYW9wX3NldF9ob3N0KSwgKGdzdF9hcGV4cmFvcF9nZXRfaG9zdCksCgkgIChnc3RfYXBleHJhb3Bfc2V0X3BvcnQpLCAoZ3N0X2FwZXhyYW9wX2dldF9wb3J0KSwKCSAgKGdzdF9hcGV4cmFvcF9zZXRfdXNlcmFnZW50KSwgKGdzdF9hcGV4cmFvcF9nZXRfdXNlcmFnZW50KSwKCSAgKGdzdF9hcGV4cmFvcF9jb25uZWN0KSwgKGdzdF9hcGV4cmFvcF9nZXRfamFja3R5cGUpLAoJICAoZ3N0X2FwZXhyYW9wX2dldF9qYWNrc3RhdHVzKSwgKGdzdF9hcGV4cmFvcF9jbG9zZSksCgkgIChnc3RfYXBleHJhb3Bfc2V0X3ZvbHVtZSksIChnc3RfYXBleHJhb3Bfd3JpdGVfYml0cyksCgkgIChnc3RfYXBleHJhb3Bfd3JpdGUpLCAoZ3N0X2FwZXhyYW9wX2ZsdXNoKToKCSAgKiBleHQvYXBleHNpbmsvZ3N0YXBleHJhb3AuaDoKCSAgKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzogKGdzdF9hcGV4c2lua19qYWNrc3RhdHVzX2dldF90eXBlKSwKCSAgKGdzdF9hcGV4c2lua19qYWNrdHlwZV9nZXRfdHlwZSksIChnc3RfYXBleHNpbmtfaW50ZXJmYWNlc19pbml0KSwKCSAgKGdzdF9hcGV4c2lua19pbXBsZW1lbnRzX2ludGVyZmFjZV9pbml0KSwKCSAgKGdzdF9hcGV4c2lua19taXhlcl9pbnRlcmZhY2VfaW5pdCksCgkgIChnc3RfYXBleHNpbmtfaW50ZXJmYWNlX3N1cHBvcnRlZCksCgkgIChnc3RfYXBleHNpbmtfbWl4ZXJfbGlzdF90cmFja3MpLCAoZ3N0X2FwZXhzaW5rX21peGVyX3NldF92b2x1bWUpLAoJICAoZ3N0X2FwZXhzaW5rX21peGVyX2dldF92b2x1bWUpLCAoZ3N0X2FwZXhzaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfYXBleHNpbmtfY2xhc3NfaW5pdCksIChnc3RfYXBleHNpbmtfaW5pdCksCgkgIChnc3RfYXBleHNpbmtfc2V0X3Byb3BlcnR5KSwgKGdzdF9hcGV4c2lua19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2FwZXhzaW5rX2ZpbmFsaXNlKSwgKGdzdF9hcGV4c2lua19vcGVuKSwKCSAgKGdzdF9hcGV4c2lua19wcmVwYXJlKSwgKGdzdF9hcGV4c2lua193cml0ZSksCgkgIChnc3RfYXBleHNpbmtfdW5wcmVwYXJlKSwgKGdzdF9hcGV4c2lua19kZWxheSksCgkgIChnc3RfYXBleHNpbmtfcmVzZXQpLCAoZ3N0X2FwZXhzaW5rX2Nsb3NlKToKCSAgKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuaDoKCSAgQWRkIGFwZXhzaW5rIGZvciBhdWRpbyBvdXRwdXQgdG8gQXBwbGUgQWlyUG9ydCBFeHByZXNzIFdpcmVsZXNzCgkgIGRldmljZXMuIEZpeGVzIGJ1ZyAjNTQyNTEwLgoKMjAwOC0wOC0yOCAxNToyMTo0NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogU2VuZCBFT1Mgd2hlbiB0aGUgc2Vzc2lvbiBvYmplY3QgaW5zdHJ1Y3RzIHVzIHRvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKToKCSAgU2VuZCBFT1Mgd2hlbiB0aGUgc2Vzc2lvbiBvYmplY3QgaW5zdHJ1Y3RzIHVzIHRvLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgTWFrZSBpdCBwb3NzaWJsZSBmb3IgdGhlIHNlc3Npb24gbWFuYWdlciB0byBpbnN0cnVjdCB1cyB0byBzZW5kIEVPUy4gV2UKCSAgY3VycmVudGx5IHdpbGwgRU9TIHdoZW4gdGhlIHNlc3Npb24gaXMgYSBzZW5kZXIgYW5kIHdoZW4gdGhlIHNlbmRlciBwYXJ0CgkgIGdvZXMgRU9TLiBUaGlzIGlzIG5vdCBlbnRpcmVseSBjb3JyZWN0IGJlaGF2aW91ciBiZWNhdXNlIHRoZSBzZXNzaW9uCgkgIGNvdWxkIHN0aWxsIHBhcnRpY2lwYXRlIGFzIGEgcmVjZWl2ZXIuCgkgIEZpeGVzICM1NDk0MDkuCgoyMDA4LTA4LTI4IDAxOjAzOjI0ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5jOiBSZWFkIHNpemUgb2YgY2h1bmtzIHByZWNlZWRpbmcgdGhlIGF1ZGlvIGRhdGEgd2l0aCB0aGUgY29ycmVjdCBlbmRpYW5uZXNzLiBGaXhlcyBwbGF5YmFjayAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuYzoKCSAgUmVhZCBzaXplIG9mIGNodW5rcyBwcmVjZWVkaW5nIHRoZSBhdWRpbyBkYXRhIHdpdGggdGhlCgkgIGNvcnJlY3QgZW5kaWFubmVzcy4gRml4ZXMgcGxheWJhY2sgb2Ygc29tZSBmaWxlcy4KCSAgRml4ZXMgIzUzODUwMAoKMjAwOC0wOC0yOCAwMDoyNToyOCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgQWRkIGFuIEFJRkYgcGFyc2luZyBlbGVtZW50LCBoZWF2aWx5IGJhc2VkIG9uIHdhdnBhcnNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2FpZmZwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5jOgoJICAqIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmg6CgkgIEFkZCBhbiBBSUZGIHBhcnNpbmcgZWxlbWVudCwgaGVhdmlseSBiYXNlZCBvbiB3YXZwYXJzZS4KCjIwMDgtMDgtMjcgMjE6MzM6MDcgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkgIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmMgKGdzdF9rc192aWRlb19kZXZpY2VfY2xhc3NfaW5pdCwgZ3N0X2tzX3ZpZGVvX2RldmljZV9zZXRfc3RhdGUpOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jIChnc3Rfa3NfdmlkZW9fZGV2aWNlX2NsYXNzX2luaXQsCgkgIGdzdF9rc192aWRlb19kZXZpY2Vfc2V0X3N0YXRlKToKCSAgRG9uJ3Qgc2V0IHRoZSBwaW4gc3RhdGUgdG8gS1NTVEFURV9SVU4gZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZC4KCSAgU2tpcCBLU1NUQVRFX0FDUVVJUkUgd2hlbiBjaGFuZ2luZyBwaW4gc3RhdGUgZG93bndhcmRzLgoJICBCZSBuaWNlIGFuZCBzcGVjaWZ5IEdfUEFSQU1fU1RBVElDX1NUUklOR1MuCgkgIFJlbW92ZSB1bnVzZWQgZmluYWxpemUgbWV0aG9kLgoJICAqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmMgKERFRkFVTFRfRU5BQkxFX1FVSVJLUywgUFJPUF9FTkFCTEVfUVVJUktTLAoJICBlbmFibGVfcXVpcmtzLCBnc3Rfa3NfdmlkZW9fc3JjX2NsYXNzX2luaXQsIGdzdF9rc192aWRlb19zcmNfaW5pdCwKCSAgZ3N0X2tzX3ZpZGVvX3NyY19maW5hbGl6ZSwgZ3N0X2tzX3ZpZGVvX3NyY19nZXRfcHJvcGVydHksCgkgIGdzdF9rc192aWRlb19zcmNfc2V0X3Byb3BlcnR5LCBnc3Rfa3NfdmlkZW9fc3JjX3Jlc2V0LAoJICBnc3Rfa3NfdmlkZW9fc3JjX2FwcGx5X2RyaXZlcl9xdWlya3MsIGdzdF9rc192aWRlb19zcmNfY2hhbmdlX3N0YXRlLAoJICBnc3Rfa3NfdmlkZW9fc3JjX3NldF9jYXBzKToKCSAgRmlyc3QgZHJpdmVyIHF1aXJrOiB3b3JrIGFyb3VuZCBMb2dpdGVjaCdzIGhvc3RpbGUgZHJpdmVyIHNvZnR3YXJlIHRvCgkgIGltcHJvdmUgc3RhYmlsaXR5IGFuZCBwZXJmb3JtYW5jZS4gU2VlIGNvbW1lbnRzIGZvciBkZXRhaWxzLgoJICBQcm92aWRlIGEgcHJvcGVydHkgdG8gZGlzYWJsZSBkcml2ZXIgcXVpcmtzIChlbmFibGVkIGJ5IGRlZmF1bHQpLgoJICBCZSBuaWNlIGFuZCBzcGVjaWZ5IEdfUEFSQU1fU1RBVElDX1NUUklOR1MuCgkgIFJlbW92ZSB1bnVzZWQgZGlzcG9zZSBtZXRob2QuCgkgIFR3ZWFrIGluY2x1ZGUgb3JkZXIuCgoyMDA4LTA4LTI3IDE1OjQ1OjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogSW1wbGVtZW50IHRoZSBMQVRFTkNZIHF1ZXJ5IGluIGEgYmV0dGVyIHdheSBieSB0YWtpbmcgdGhlIGxhdGVuY3kgb2YgYWxsIHNpbmtwYWRzIGFuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IChnc3RfaW5wdXRfc2VsZWN0b3JfaW5pdCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfcXVlcnkpOgoJICBJbXBsZW1lbnQgdGhlIExBVEVOQ1kgcXVlcnkgaW4gYSBiZXR0ZXIgd2F5IGJ5IHRha2luZyB0aGUgbGF0ZW5jeSBvZiBhbGwKCSAgc2lua3BhZHMgYW5kIHRha2luZyB0aGUgbWluL21heCBpbnN0ZWFkIG9mIGp1c3QgdGFraW5nIGEgcmFuZG9tIHBhZC4KCjIwMDgtMDgtMjYgMTI6MzM6MTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvOiBVbnJvbGwgdGhlIGxvb3AgdG8gaGFuZGxlIHR3byBieXRlcyBhdCBvbmNlLiBUaGlzIHNob3VsZCBnaXZlIGEgc21hbGwgc3BlZWR1cCBhbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BCb3R0b20uaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFRvcC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TdHJhbmdlQm9iLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1dpZXJkQm9iLmluYzoKCSAgVW5yb2xsIHRoZSBsb29wIHRvIGhhbmRsZSB0d28gYnl0ZXMgYXQgb25jZS4gVGhpcyBzaG91bGQgZ2l2ZQoJICBhIHNtYWxsIHNwZWVkdXAgYW5kIG1ha2VzIGl0IHBvc3NpYmxlIHRvIGhhbmRsZSBjaHJvbWEgYW5kIGx1bWEKCSAgZGlmZmVyZW50IHdoaWNoIGlzIG5lZWRlZCBsYXRlci4KCjIwMDgtMDgtMjYgMTE6MTg6MzggKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay4qOiBEb24ndCBwdXQgZ2xvYmFscyBvbmx5IHVzZWQgYnkgb25lICcuYycgZmlsZSBpbiBhIGhlYWRlciAhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuaDoKCSAgRG9uJ3QgcHV0IGdsb2JhbHMgb25seSB1c2VkIGJ5IG9uZSAnLmMnIGZpbGUgaW4gYSBoZWFkZXIgIQoJICBEZWNsYXJlIGl0IGFzIHN0YXRpYywgZml4ZXMgYnVpbGQgb24gbWFjb3N4LgoKMjAwOC0wOC0yNiAxMToxMzoyNCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9kY2NwL2dzdGRjY3AuYzogV2hvb3BzLCB0aGF0IHdhcyBvbmUgZml4IHRvbyBtdWNoIDopCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kY2NwL2dzdGRjY3AuYzogKGdzdF9kY2NwX3NlbmRfYnVmZmVyKToKCSAgV2hvb3BzLCB0aGF0IHdhcyBvbmUgZml4IHRvbyBtdWNoIDopCgoyMDA4LTA4LTI2IDExOjA4OjM0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2RjY3AvZ3N0ZGNjcC5jOiBzaXplX3QncyBzaXplIHZhcmllcyBieSBwbGF0Zm9ybS9hcmNoaXRlY3R1cmUuIFVzZSBnbGliIGNvbnZlbmllbmNlIG1hY3JvIGluc3RlYWQuIEZpeGVzIGJ1aWxkIG9uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kY2NwL2dzdGRjY3AuYzogKGdzdF9kY2NwX3JlYWRfYnVmZmVyKSwKCSAgKGdzdF9kY2NwX3NlbmRfYnVmZmVyKSwgKGdzdF9kY2NwX3NldF9zb2NrX3dpbmRvd3NpemUpOgoJICBzaXplX3QncyBzaXplIHZhcmllcyBieSBwbGF0Zm9ybS9hcmNoaXRlY3R1cmUuIFVzZSBnbGliIGNvbnZlbmllbmNlCgkgIG1hY3JvIGluc3RlYWQuIEZpeGVzIGJ1aWxkIG9uIG1hY29zeC4KCSAgUmVtb3ZlIGVuZGluZyAnXG4nIGluIGRlYnVnIHN0YXRlbWVudHMuCgoyMDA4LTA4LTI2IDExOjAxOjQzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzogUmVtb3ZlIHVudXNlZCBjb2RlIGFuZCBmaXggaW5jbHVkZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6IChnc3RfcGNhcF9wYXJzZV9jbGFzc19pbml0KToKCSAgUmVtb3ZlIHVudXNlZCBjb2RlIGFuZCBmaXggaW5jbHVkZXMuCgoyMDA4LTA4LTI1IDE0OjM3OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyLzogRmlyc3QgcGFydCBvZiB0aGUgQyBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgdG9tc21vY29tcCBkZWludGVybGFjaW5nIGFsZ29yaXRobS4gVGhpcyBvbmx5IHN1cHBvcnRzIHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3RvbXNtb2NvbXBfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BUb3AuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU3RyYW5nZUJvYi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwyLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1dpZXJkQm9iLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL3RvbXNtb2NvbXBtYWNyb3MuaDoKCSAgRmlyc3QgcGFydCBvZiB0aGUgQyBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgdG9tc21vY29tcCBkZWludGVybGFjaW5nCgkgIGFsZ29yaXRobS4gVGhpcyBvbmx5IHN1cHBvcnRzIHNlYXJjaC1lZmZvcnQ9MCBjdXJyZW50bHksIGlzIHBhaW5mdWxseQoJICBzbG93IGFuZCBuZWVkcyBzb21lIGNsZWFudXAgbGF0ZXIgd2hlbiBhbGwgc2VhcmNoLWVmZm9ydCBzZXR0aW5ncwoJICBhcmUgaW1wbGVtZW50ZWQgaW4gQy4KCjIwMDgtMDgtMjQgMjI6MDU6NDggKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBOZXcgcGx1Z2luIGZvciBsb3ctbGF0ZW5jeSB2aWRlbyBjYXB0dXJlIG9uIFdpbmRvd3MgKCM1MTk5MzUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy93aW5rcy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2lua3MvZ3N0a3NjbG9jay5jOgoJICAqIHN5cy93aW5rcy9nc3Rrc2Nsb2NrLmg6CgkgICogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSAgKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5oOgoJICAqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkgICogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuaDoKCSAgKiBzeXMvd2lua3Mva3NoZWxwZXJzLmM6CgkgICogc3lzL3dpbmtzL2tzaGVscGVycy5oOgoJICAqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJICAqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5oOgoJICBOZXcgcGx1Z2luIGZvciBsb3ctbGF0ZW5jeSB2aWRlbyBjYXB0dXJlIG9uIFdpbmRvd3MgKCM1MTk5MzUpLgoJICBVc2VzIEtlcm5lbCBTdHJlYW1pbmcsIHRoZSBsb3dlc3QgbGV2ZWwgQVBJIGZvciBkb2luZyB2aWRlbyBjYXB0dXJlCgkgIG9uIFdpbmRvd3MgKG1vcmUgb3IgbGVzcyBqdXN0IHJhdyBpb2N0bHMpLgoKMjAwOC0wOC0yNCAxNjo1NTo0OCArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIEFkZGVkIGRvY3VtZW50YXRpb24gYmxvYnMuIFRoYW5rcyB0byBTdGVmYW4gZm9yIG5vdGljaW5nIQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICAqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmM6CgkgICogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuYzoKCSAgQWRkZWQgZG9jdW1lbnRhdGlvbiBibG9icy4gVGhhbmtzIHRvIFN0ZWZhbiBmb3Igbm90aWNpbmchCgoyMDA4LTA4LTI0IDEzOjUzOjI5ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgTmV3IHBsdWdpbjogcGNhcHBhcnNlICgjNTIwODk5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9wY2FwcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5oOgoJICBOZXcgcGx1Z2luOiBwY2FwcGFyc2UgKCM1MjA4OTkpLgoKMjAwOC0wOC0yNCAxMzoyMzo0NCArMDAwMCAgSGFha29uIFNwb3JzaGVpbSA8aGFrb24uc3BvcnNoZWltQHRhbmRiZXJnLmNvbT4KCgkgIE5ldyBwbHVnaW46IHdpbnNjcmVlbmNhcCAoIzQ2Mzk0MSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogSGFha29uIFNwb3JzaGVpbSA8aGFrb24uc3BvcnNoZWltQHRhbmRiZXJnLmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy93aW5zY3JlZW5jYXAvTWFrZWZpbGUuYW06CgkgICogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuYzoKCSAgKiBzeXMvd2luc2NyZWVuY2FwL2dzdGR4OXNjcmVlbmNhcHNyYy5oOgoJICAqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmM6CgkgICogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuaDoKCSAgKiBzeXMvd2luc2NyZWVuY2FwL2dzdHdpbnNjcmVlbmNhcC5jOgoJICAqIHN5cy93aW5zY3JlZW5jYXAvZ3N0d2luc2NyZWVuY2FwLmg6CgkgIE5ldyBwbHVnaW46IHdpbnNjcmVlbmNhcCAoIzQ2Mzk0MSkuCgoyMDA4LTA4LTIzIDAwOjAxOjM5ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuYzogRmxpcCBtcGVnMS9tcGVnMiBhcnJheXMgZm9yIG1wZWcgYXVkaW8uIERldGVjdCB3aGljaCB0eXBlIHRoZSBhdWRpbyBpcyBjb3JyZWMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmM6CgkgIEZsaXAgbXBlZzEvbXBlZzIgYXJyYXlzIGZvciBtcGVnIGF1ZGlvLiBEZXRlY3Qgd2hpY2ggdHlwZSB0aGUgYXVkaW8KCSAgaXMgY29ycmVjdGx5LCBpbnN0ZWFkIG9mIGJhY2t3YXJkcy4gTm8gZnVuY3Rpb25hbCBjaGFuZ2VzLCBzaW5jZSB0aGlzCgkgIG1pc3Rha2Ugd2FzIGNvbXBsZXRlbHkgc2VsZi1jb25zaXN0ZW50LgoKMjAwOC0wOC0yMiAwNjoyNzo1NyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDogQWRkLCBidXQgY29tbWVudGVkIG91dCB4bWwvZWxlbWVudC1kYzEzOTQueG1sLiBJdHMgZG9jdW1lbnRlZCwgYnV0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgIEFkZCwgYnV0IGNvbW1lbnRlZCBvdXQgeG1sL2VsZW1lbnQtZGMxMzk0LnhtbC4gSXRzIGRvY3VtZW50ZWQsIGJ1dAoJICBJIGNhbid0IGdldCBpdCB0byBiZSBidWlsZC4KCSAgKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkgICogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBGaXggZG9jIHdhcm5pbmdzIGFuZCByZWZvcm1hdCB0aGUgZG9jIGJsb2NrLgoKMjAwOC0wOC0yMSAxMzoyMjozOCArMDAwMCAgTGVhbmRybyBNZWxvIGRlIFNhbGVzIDxsZWFuZHJvYWxAZ21haWwuY29tPgoKCSAgQWRkIGRjY3AgcGx1Z2luLiBGaXhlcyAjNTQyMzkwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IExlYW5kcm8gTWVsbyBkZSBTYWxlcyA8bGVhbmRyb2FsQGdtYWlsLmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSAgKiBnc3QvZGNjcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcC5oOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuaDoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5oOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BwbHVnaW4uYzoKCSAgKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5jOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmg6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5jOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuaDoKCSAgKiB0ZXN0cy9pY2xlcy9kY2NwL1JFQURNRToKCSAgKiB0ZXN0cy9pY2xlcy9kY2NwL2NhbGwvUkVBRE1FOgoJICAqIHRlc3RzL2ljbGVzL2RjY3AvY2FsbC9EQ0NQQ2xpZW50LmM6CgkgICogdGVzdHMvaWNsZXMvZGNjcC9jYWxsL0RDQ1BTZXJ2ZXIuYzoKCSAgKiB0ZXN0cy9pY2xlcy9kY2NwL2ZpbGUvRENDUENsaWVudFNhdmVGaWxlLmM6CgkgICogdGVzdHMvaWNsZXMvZGNjcC9maWxlL0RDQ1BTZXJ2ZXJTZW5kRmlsZS5jOgoJICAqIHRlc3RzL2ljbGVzL2RjY3AvbWljL0RDQ1BDbGllbnRQbGF5TWljLmM6CgkgICogdGVzdHMvaWNsZXMvZGNjcC9taWMvRENDUFNlcnZlck1pYy5jOgoJICAqIHRlc3RzL2ljbGVzL2RjY3AvbXAzL0RDQ1BDbGllbnRQbGF5TVAzLmM6CgkgICogdGVzdHMvaWNsZXMvZGNjcC9tcDMvRENDUFNlcnZlclNlbmRNUDMuYzoKCSAgKiB0ZXN0cy9pY2xlcy9kY2NwL21wM1NwZWV4L0RDQ1BDbGllbnRQbGF5U3BlZXhNUDMuYzoKCSAgKiB0ZXN0cy9pY2xlcy9kY2NwL21wM1NwZWV4L0RDQ1BTZXJ2ZXJTZW5kU3BlZXhNUDMuYzoKCSAgKiB0ZXN0cy9pY2xlcy9kY2NwL21wM1N0cmVhbS9EQ0NQQ2xpZW50UGxheU1QM1N0cmVhbS5jOgoJICAqIHRlc3RzL2ljbGVzL2RjY3AvbXAzU3RyZWFtL0RDQ1BTZXJ2ZXJTZW5kTVAzU3RyZWFtLmM6CgkgIEFkZCBkY2NwIHBsdWdpbi4gRml4ZXMgIzU0MjM5MC4KCjIwMDgtMDgtMjAgMjI6MjQ6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFJlbW92ZSBiaXRzIHRoYXQgcHJlc3VtYWJseSB3ZXJlbid0IHN1cHBvc2VkIHRvIGJlIGNvbW1pdHRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZW1vdmUgYml0cyB0aGF0IHByZXN1bWFibHkgd2VyZW4ndCBzdXBwb3NlZCB0byBiZSBjb21taXR0ZWQuCgoyMDA4LTA4LTIwIDIxOjQ0OjIyICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBBZGQgbmV3IHdpbmRvd3MgQUNNIGVuY29kZXIgd3JhcHBlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOgoJICAqIHN5cy9hY21lbmMvYWNtZW5jLmM6CgkgIEFkZCBuZXcgd2luZG93cyBBQ00gZW5jb2RlciB3cmFwcGVyLgoKMjAwOC0wOC0xOCAxMToxMzowNyArMDAwMCAgTWljaGFlbCBLcnVma3kgPG1rcnVma3lAbGludXh0di5vcmc+CgoJICBzeXMvZHZiLzogQWRkIEFUU0MgdHVubmluZyBhbmQgY2hhbm5lbHMuY29uZiBwYXJzaW5nIHN1cHBvcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogTWljaGFlbCBLcnVma3kKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICAqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBBZGQgQVRTQyB0dW5uaW5nIGFuZCBjaGFubmVscy5jb25mIHBhcnNpbmcgc3VwcG9ydC4KCSAgRml4ZXMgIzUzNzQ1NQoKMjAwOC0wOC0xMyAyMTo1ODowOCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzLzogSW5pdGlhbGlzZSBDT00gd2l0aCBkZWZhdWx0IGZsYWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuYzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuaDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuYzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuaDoKCSAgKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJICAqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5oOgoJICBJbml0aWFsaXNlIENPTSB3aXRoIGRlZmF1bHQgZmxhZ3MuCgkgIE9ubHkgZGVpbml0aWFsaXNlIGlmIHRoZSBpbml0aWFsaXNhdGlvbiB3YXMgc3VjY2Vzc2Z1bC4KCjIwMDgtMDgtMTMgMTQ6MzE6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUmVzZXQgcnRwIHRpbWVzdGFtcCBpbnRlcnBvbGxhdGlvbiB3aGVuIHdlIGRldGVjdCBhIGdhcCB3aGVuIHRoZSBjbG9ja19iYXNlIGNoYW5nZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGdzdF9ydHBfYmluX3N5bmNfY2hhaW4pLCAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgUmVzZXQgcnRwIHRpbWVzdGFtcCBpbnRlcnBvbGxhdGlvbiB3aGVuIHdlIGRldGVjdCBhIGdhcCB3aGVuIHRoZQoJICBjbG9ja19iYXNlIGNoYW5nZWQuCgkgIERvbid0IHRyeSB0byBhZGp1c3QgdGhlIHRzLW9mZnNldCB3aGVuIGl0J3MgdG9vIGJpZyAoPiAzc2Vjb25kcykKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fc2V0X3NzcmMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgQWRkIG1ldGhvZCB0byBzZXQgc2Vzc2lvbiBTU1JDLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKGNoZWNrX2NvbGxpc2lvbiksCgkgIChydHBfc2Vzc2lvbl9zZXRfaW50ZXJuYWxfc3NyYyksIChydHBfc2Vzc2lvbl9nZXRfaW50ZXJuYWxfc3NyYyksCgkgIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEFkZGVkIGRlYnVnZ2luZyBmb3IgdGhlIGNvbGxpc2lvbiBjaGVja3MuCgkgIEFkZCBtZXRob2QgdG8gY2hhbmdlIHRoZSBpbnRlcm5hbCBTU1JDIG9mIHRoZSBzZXNzaW9uLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCk6CgkgIFJlc2V0IHRoZSBjbG9jayBiYXNlIHdoZW4gd2UgZGV0ZWN0IGxhcmdlIGp1bXBzIGluIHRoZSBzZXFudW1zLgoKMjAwOC0wOC0xMiAxNjoxMzoxNSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBleHQveDI2NC9nc3R4MjY0ZW5jLio6IERvIG5vdCBkZWFsIHdpdGggZHVwbGljYXRlZCBpbnB1dCAodGltZXN0YW1wcykuICBJZiBuZWVkZWQsIGEgZ2VuZXJpYyBlbGVtZW50IGNhbiBkbyBzby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiAoZ3N0X3gyNjRfZW5jX3Jlc2V0KSwKCSAgKGdzdF94MjY0X2VuY19jaGFpbiksIChnc3RfeDI2NF9lbmNfZW5jb2RlX2ZyYW1lKToKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmg6CgkgIERvIG5vdCBkZWFsIHdpdGggZHVwbGljYXRlZCBpbnB1dCAodGltZXN0YW1wcykuICBJZiBuZWVkZWQsCgkgIGEgZ2VuZXJpYyBlbGVtZW50IGNhbiBkbyBzby4KCSAgRG8gbm90IG1hbmlwdWxhdGUgaW5wdXQgdGltZXN0YW1wcyBvbiB0aGUgd2F5IG91dCwKCSAgc2luY2UgdGhhdCBzaGlmdHMgdGhlIHRpbWVsaW5lIGFuZCBBL1Ygc3luYy4KCjIwMDgtMDgtMTIgMTU6NDE6NDggKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6IEludGVncmF0ZSBuZXcgcHJvcGVydGllcyBpbnRvIGRvY3VtZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICBJbnRlZ3JhdGUgbmV3IHByb3BlcnRpZXMgaW50byBkb2N1bWVudGF0aW9uLgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogKGdzdF94MjY0X2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF94MjY0X2VuY19pbml0KSwgKGdzdF94MjY0X2VuY19pbml0X2VuY29kZXIpLAoJICAoZ3N0X3gyNjRfZW5jX3NldF9wcm9wZXJ0eSksIChnc3RfeDI2NF9lbmNfZ2V0X3Byb3BlcnR5KToKCSAgRml4IHVwIEFQSSBwcmlvciB0byBldmVudHVhbCBwbHVnaW4gbW92ZS4KCSAgQVBJOiBHc3RYMjY0RW5jOnBhc3MgKHByb3ZpZGVzIG1vcmUgb3B0aW9ucywgYW5kIGNoYW5nZWQgdG8gZW51bSkKCjIwMDgtMDgtMTIgMTQ6MzE6NTcgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgVXBkYXRlIGFuZCBhZGQgZG9jdW1lbnRhdGlvbiBmb3IgbXBsZXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJICAqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSAgVXBkYXRlIGFuZCBhZGQgZG9jdW1lbnRhdGlvbiBmb3IgbXBsZXguCgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICBEb2N1bWVudGF0aW9uIHVwZGF0ZS4KCjIwMDgtMDgtMTIgMTM6MDg6MzkgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgQWRkIGRvY3VtZW50YXRpb24gYW5kIHVuaXQgdGVzdCBmb3IgeDI2NGVuYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveDI2NGVuYy5jOiAoc2V0dXBfeDI2NGVuYyksCgkgIChjbGVhbnVwX3gyNjRlbmMpLCAoR1NUX1NUQVJUX1RFU1QpLCAoeDI2NGVuY19zdWl0ZSksIChtYWluKToKCSAgQWRkIGRvY3VtZW50YXRpb24gYW5kIHVuaXQgdGVzdCBmb3IgeDI2NGVuYy4KCjIwMDgtMDgtMTEgMTc6MjQ6NTggKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiBBbGxvY2F0ZSBzb21lIGJ1ZmZlcnMgaW4gbW9yZSBhZGFwdGl2ZSBhbmQgZWNvbm9taWNhbCBmYXNoaW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IChnc3RfeDI2NF9lbmNfaW5pdCksCgkgIChnc3RfeDI2NF9lbmNfaGVhZGVyX2J1ZiksIChnc3RfeDI2NF9lbmNfZW5jb2RlX2ZyYW1lKToKCSAgQWxsb2NhdGUgc29tZSBidWZmZXJzIGluIG1vcmUgYWRhcHRpdmUgYW5kIGVjb25vbWljYWwgZmFzaGlvbi4KCjIwMDgtMDgtMTEgMTU6MTY6MTQgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBmb3Igc3VmZmljaWVudGx5IHVwLXRvLWRhdGUgeDI2NCBBUEkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2hlY2sgZm9yIHN1ZmZpY2llbnRseSB1cC10by1kYXRlIHgyNjQgQVBJLgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogKGdzdF94MjY0X2VuY19wYXNzX2dldF90eXBlKSwKCSAgKGdzdF94MjY0X2VuY19iYXNlX2luaXQpLCAoZ3N0X3gyNjRfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3gyNjRfZW5jX2luaXQpLCAoZ3N0X3gyNjRfZW5jX2luaXRfZW5jb2RlciksCgkgIChnc3RfeDI2NF9lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF94MjY0X2VuY19nZXRfcHJvcGVydHkpOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuaDoKCSAgRXhwb3NlIHNvbWUgbW9yZSBwYXJhbWV0ZXJzIG9mIHRoZSB4MjY0IGVuY29kZXIgYXMgcHJvcGVydGllcy4KCjIwMDgtMDgtMTEgMDc6MjA6MTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBQcmludCB0aGUgcGFkLW5hbWUgaW4gZGVidWcgbG9nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgUHJpbnQgdGhlIHBhZC1uYW1lIGluIGRlYnVnIGxvZy4KCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuYzoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuYzoKCSAgVXNlICItIiBpbnN0ZWFkIG9mICJfIiBpbiBwcm9wZXJ0eSBuYW1lcy4gQ2FuIHdlIGNhbGwgdGhlbSBqdXN0CgkgICJkZXZpY2UiIGxpa2UgZXZlcnl3aGVyZSBlbHNlPwoKMjAwOC0wOC0wOCAxNTowNzoxMiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IENvZGluZyBzdHlsZSBhbmQgbGF5b3V0OyByZS1vcmRlciBzb21lIGZ1bmN0aW9ucyBpbiBtb3JlIHR5cGljYWwgYW5kIG5hdHVyYWwgZmxvdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiAoZ3N0X3gyNjRfZW5jX2xvZ19jYWxsYmFjayksCgkgIChnc3RfeDI2NF9lbmNfZmluYWxpemUpLCAoZ3N0X3gyNjRfZW5jX2hlYWRlcl9idWYpLAoJICAoZ3N0X3gyNjRfZW5jX3NldF9zcmNfY2FwcyksIChnc3RfeDI2NF9lbmNfc2lua19zZXRfY2FwcyksCgkgIChnc3RfeDI2NF9lbmNfZmx1c2hfZnJhbWVzKToKCSAgQ29kaW5nIHN0eWxlIGFuZCBsYXlvdXQ7IHJlLW9yZGVyIHNvbWUgZnVuY3Rpb25zIGluIG1vcmUKCSAgdHlwaWNhbCBhbmQgbmF0dXJhbCBmbG93LgoKMjAwOC0wOC0wOCAxNDoxOToxNiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBleHQveDI2NC86IFVzZSBHUXVldWUgaW4gc3RlYWQgb2YgY3VzdG9tIHF1ZXVlIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94MjY0L01ha2VmaWxlLmFtOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogKGdzdF94MjY0X2VuY19zZXRfc3JjX2NhcHMpLAoJICAoZ3N0X3gyNjRfZW5jX3Npbmtfc2V0X2NhcHMpLCAoZ3N0X3gyNjRfZW5jX2luaXQpLAoJICAoZ3N0X3gyNjRfZW5jX3Jlc2V0KSwgKGdzdF94MjY0X2VuY19maW5hbGl6ZSksCgkgIChnc3RfeDI2NF9lbmNfZmx1c2hfZnJhbWVzKSwgKGdzdF94MjY0X2VuY19zaW5rX2V2ZW50KSwKCSAgKGdzdF94MjY0X2VuY19jaGFpbiksIChnc3RfeDI2NF9lbmNfZW5jb2RlX2ZyYW1lKSwKCSAgKGdzdF94MjY0X2VuY19jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3gyNjRfZW5jX3NldF9wcm9wZXJ0eSk6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5oOgoJICBVc2UgR1F1ZXVlIGluIHN0ZWFkIG9mIGN1c3RvbSBxdWV1ZSBjb2RlLgoJICBGYWN0b3JpemUgZmx1c2hpbmcgb3V0IGVuY29kZXIgZGVsYXllZCBmcmFtZXMuCgkgIEZhY3Rvcml6ZSBpbml0aWFsaXphdGlvbiBhbmQgc3RhdGUgY2hhbmdlIHJlc2V0LgoKMjAwOC0wOC0wOCAxMDo1NjowMiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBVc2UgY29uZmlndXJlLWdlbmVyYXRlZCBfc3RkaW50LmguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuaDoKCSAgKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6CgkgIFVzZSBjb25maWd1cmUtZ2VuZXJhdGVkIF9zdGRpbnQuaC4KCjIwMDgtMDgtMDggMTA6MTM6MzYgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZXh0L3gyNjQvOiBVc2UgdmlkZW8gZm9ybWF0IGxpYnJhcnkgYW5kIEdTVF9XUklURV8qX0JFIG1hY3JvcyB3aGVyZSBhcHBsaWNhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveDI2NC9NYWtlZmlsZS5hbToKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IChnc3RfeDI2NF9lbmNfaGVhZGVyX2J1ZiksCgkgIChnc3RfeDI2NF9lbmNfc2lua19zZXRfY2FwcyksIChnc3RfeDI2NF9lbmNfYmFzZV9pbml0KSwKCSAgKGdzdF94MjY0X2VuY19jbGFzc19pbml0KSwgKGdzdF94MjY0X2VuY19sb2dfY2FsbGJhY2spLAoJICAoZ3N0X3gyNjRfZW5jX2luaXQpLCAoZ3N0X3gyNjRfZW5jX2luaXRfZW5jb2RlciksCgkgIChnc3RfeDI2NF9lbmNfZmluYWxpemUpLCAoZ3N0X3gyNjRfZW5jX2NoYWluKSwKCSAgKGdzdF94MjY0X2VuY19lbmNvZGVfZnJhbWUpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuaDoKCSAgVXNlIHZpZGVvIGZvcm1hdCBsaWJyYXJ5IGFuZCBHU1RfV1JJVEVfKl9CRSBtYWNyb3Mgd2hlcmUgYXBwbGljYWJsZS4KCSAgVXNlIGZpbmFsaXplIGluIHN0ZWFkIG9mIGRpc3Bvc2UuCgkgIFNldCB1cCBkZWJ1ZyBjYXRlZ29yeSBhbmQgbG9nIGNhbGxiYWNrLgoKMjAwOC0wOC0wNyAxNjoyMDozMCArMDAwMCAgRnJlZGVyaWMgQ3JvemF0IDxmY3JvemF0QG1hbmRyaXZhLm9yZz4KCgkgIE1ha2Ugc3VyZSBnZXR0ZXh0IHJldHVybnMgdHJhbnNsYXRpb25zIGluIFVURi04IGVuY29kaW5nIHJhdGhlciB0aGFuIGluIHRoZSBjdXJyZW50IGxvY2FsZSBlbmNvZGluZyAoIzU0NjgyMikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRnJlZGVyaWMgQ3JvemF0IDxmY3JvemF0QG1hbmRyaXZhLm9yZz4KCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOiAocGx1Z2luX2luaXQpOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IChnc3RfZHZic3JjX3BsdWdpbl9pbml0KToKCSAgKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6IChwbHVnaW5faW5pdCk6CgkgIE1ha2Ugc3VyZSBnZXR0ZXh0IHJldHVybnMgdHJhbnNsYXRpb25zIGluIFVURi04IGVuY29kaW5nIHJhdGhlcgoJICB0aGFuIGluIHRoZSBjdXJyZW50IGxvY2FsZSBlbmNvZGluZyAoIzU0NjgyMikuCgoyMDA4LTA4LTA3IDE0OjM0OjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvdHdvbGFtZS9nc3R0d29sYW1lLio6IEFsbG93IHJhdyBmbG9hdCBzYW1wbGVzIGFzIGlucHV0IGZvciBlbmNvZGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZS5jOiAoZ3N0X3R3b19sYW1lX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfdHdvX2xhbWVfY2hhaW4pOgoJICAqIGV4dC90d29sYW1lL2dzdHR3b2xhbWUuaDoKCSAgQWxsb3cgcmF3IGZsb2F0IHNhbXBsZXMgYXMgaW5wdXQgZm9yIGVuY29kaW5nLgoKMjAwOC0wOC0wNyAxMzoxNToyMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6IFRyeSBjb21taXR0aW5nIHRoaXMgb25jZSBhZ2Fpbi4gTm93IHByb3Blcmx5IHJlbmFtZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBUcnkgY29tbWl0dGluZyB0aGlzIG9uY2UgYWdhaW4uIE5vdyBwcm9wZXJseSByZW5hbWVkLgoKMjAwOC0wOC0wNyAwOTowOTo0NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWwKCSAgQWRkIG5ldyBlbGVtZW50IHRvIGRvY3MuCgkgICogZXh0L2phY2svZ3N0amFjay5oCgkgIEFkZCBtaXNzaW5nIGZpbGUuCgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmg6CgkgIFJlbmFtZSBqYWNrYXVkaW9zcmMgdG8gamFja19hdWRpb19zcmMuCgoyMDA4LTA4LTA3IDA4OjQ3OjQwICswMDAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkgIGV4dC9qYWNrLzogQWRkIGEgamFja2F1ZGlvc3JjLiBSZWZhY3RvciBzaW5rIHNsaWdodGx5IGZvciBiZXR0ZXIgY29kZSByZXVzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCSAgKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvamFjay9nc3RqYWNrLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuaDoKCSAgKiBleHQvamFjay9nc3RqYWNrcmluZ2J1ZmZlci5oOgoJICBBZGQgYSBqYWNrYXVkaW9zcmMuIFJlZmFjdG9yIHNpbmsgc2xpZ2h0bHkgZm9yIGJldHRlciBjb2RlIHJldXNlLgoJICBGaXhlcyAjNTQ1MTk3LgoKMjAwOC0wOC0wNiAxNTo0OTo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIHR3b2xhbWUgYW5kIGNlbHQgcGx1Z2lucyB0byB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHdvbGFtZS54bWw6CgkgIEFkZCB0d29sYW1lIGFuZCBjZWx0IHBsdWdpbnMgdG8gdGhlIGRvY3MuCgoyMDA4LTA4LTA1IDA5OjQyOjUzICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IE1ha2UgdGhlIGJ1ZmZlciBtZXRhZGF0YSB3cml0YWJsZSBiZWZvcmUgaW5zZXJ0aW5nIGl0IGluIHRoZSBqaXR0ZXJidWZmZXIgYmVjYXVzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBNYWtlIHRoZSBidWZmZXIgbWV0YWRhdGEgd3JpdGFibGUgYmVmb3JlIGluc2VydGluZyBpdCBpbiB0aGUKCSAgaml0dGVyYnVmZmVyIGJlY2F1c2UgdGhlIGppdHRlcmJ1ZmZlciB3aWxsIG1vZGlmeSB0aGUgdGltZXN0YW1wcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgVXBkYXRlIG1ldGhvZCBjb21tZW50IGFib3V0IHJlcXVpcmluZyB3cml0YWJsZSBtZXRhZGF0YSBvbiBidWZmZXJzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwKToKCSAgTWFrZSB0aGUgUlRDUCBidWZmZXIgbWV0YWRhdGEgd3JpdGFibGUgYmVjYXVzZSB3ZSB3YW50IHRvIG1vZGlmeSB0aGUKCSAgbWV0YWRhdGEuCgkgIEZpeGVzICM1NDYzMTIuCgoyMDA4LTA4LTA1IDA5OjA1OjM1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogTW92ZSB0aGUgc2VsZWN0LWFsbCBsb2dpYyBpbnRvIHRoZSBhY3RpdmF0aW9uIG9mIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgcGFkLiBXZSB3YW50Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IChnc3Rfc2VsZWN0b3JfcGFkX2J1ZmZlcmFsbG9jKSwKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfY2hhaW4pLCAoZ3N0X2lucHV0X3NlbGVjdG9yX2dldGNhcHMpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX2FjdGl2YXRlX3NpbmtwYWQpOgoJICBNb3ZlIHRoZSBzZWxlY3QtYWxsIGxvZ2ljIGludG8gdGhlIGFjdGl2YXRpb24gb2YgdGhlIGN1cnJlbnRseSBzZWxlY3RlZAoJICBwYWQuIFdlIHdhbnQgdG8gcmVtZW1iZXIgdGhlIGxhc3QgcGFkIHdpdGggYWN0aXZpdHkgaW4gc2VsZWN0LWFsbCBtb2RlLgoJICBGaXggdGhlIGdldGNhcHMgZnVuY3Rpb24sIHdlIGNhbiBwcm9kdWNlIHRoZSB1bmlvbiBvZiB0aGUgdXBzdHJlYW0gY2FwcwoJICBpbiBzZWxlY3QtYWxsIG1vZGUsIG5vdCB0aGUgaW50ZXJzZWN0aW9uIGxpa2UgcHJveHlfZ2V0Y2FwcygpIGRvZXMuCgoyMDA4LTA4LTA1IDA5OjAwOjUwICswMDAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEZpeCBkZWJ1ZyBieSBsb2dnaW5nIHRoZSByaWdodCBzZXFudW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSMOldmFyZCBHcmFmZiA8aGF2YXJkIGRvdCBncmFmZiBhdCB0YW5kYmVyZyBkb3QgY29tPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKToKCSAgRml4IGRlYnVnIGJ5IGxvZ2dpbmcgdGhlIHJpZ2h0IHNlcW51bS4KCjIwMDgtMDgtMDUgMDg6NTg6MjcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUmVsZWFzZSBsb2NrIGJlZm9yZSBlbWl0dGluZyB0aGUgcmVxdWVzdC1wdC1tYXAgc2lnbmFsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ2V0X3B0X21hcCk6CgkgIFJlbGVhc2UgbG9jayBiZWZvcmUgZW1pdHRpbmcgdGhlIHJlcXVlc3QtcHQtbWFwIHNpZ25hbC4KCSAgRml4ZXMgIzU0MzQ4MC4KCjIwMDgtMDgtMDIgMTg6NDg6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvOiBVc2Ugb2lsX21lbWNweSgpIGluc3RlYWQgb2YgbWVtY3B5KCkgYXMgaXQncyBmYXN0ZXIgZm9yIHRoZSBzaXplcyB0aGF0IGFyZSB1c3VhbGx5IHVzZWQgaGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2ludGVycG9sYXRlX3NjYW5saW5lKSwKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2NvcHlfc2NhbmxpbmUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfZGVpbnRlcmxhY2VfZnJhbWUpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zY2FsZXJib2IuYzoKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX3NjYWxlcl9ib2IpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzogKEZpZWxkY29weSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmUuYzogKGRlaW50ZXJsYWNlX3NjYW5saW5lX3dlYXZlKSwKCSAgKGNvcHlfc2NhbmxpbmUpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlYmZmLmM6IChkZWludGVybGFjZV9zY2FubGluZV93ZWF2ZSksCgkgIChjb3B5X3NjYW5saW5lKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZXRmZi5jOiAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfd2VhdmUpLAoJICAoY29weV9zY2FubGluZSk6CgkgIFVzZSBvaWxfbWVtY3B5KCkgaW5zdGVhZCBvZiBtZW1jcHkoKSBhcyBpdCdzIGZhc3RlciBmb3IgdGhlIHNpemVzIHRoYXQKCSAgYXJlIHVzdWFsbHkgdXNlZCBoZXJlLgoKMjAwOC0wOC0wMiAxODozNjoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi86IEFkZCB0aGUgcmVtYWluaW5nIHR2dGltZSBkZWludGVybGFjaW5nIG1ldGhvZHMgYW5kIGZpeCB0aGUgZGVpbnRlcmxhY2VfZnJhbWUoKSBpbXBsZW1lbnRhdGlvbiBvZiBHLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2RlaW50ZXJsYWNlX2ZyYW1lKSwKCSAgKGdzdF9kZWludGVybGFjZTJfbWV0aG9kc19nZXRfdHlwZSksIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvbGluZWFyLmM6CgkgIChkZWludGVybGFjZV9zY2FubGluZV9saW5lYXJfYyksIChkZWludGVybGFjZV9zY2FubGluZV9saW5lYXJfbW14KSwKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX2xpbmVhcl9tbXhleHQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9saW5lYXJfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2xpbmVhcl9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9saW5lYXJibGVuZC5jOgoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfbGluZWFyX2JsZW5kX2MpLAoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfbGluZWFyX2JsZW5kMl9jKSwKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX2xpbmVhcl9ibGVuZF9tbXgpLAoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfbGluZWFyX2JsZW5kMl9tbXgpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9saW5lYXJfYmxlbmRfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2xpbmVhcl9ibGVuZF9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9wbHVnaW5zLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc2NhbGVyYm9iLmM6CgkgIChkZWludGVybGFjZV9zY2FubGluZV9zY2FsZXJfYm9iKSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfc2NhbGVyX2JvYl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfc2NhbGVyX2JvYl9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZS5jOiAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfd2VhdmUpLAoJICAoY29weV9zY2FubGluZSksIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3dlYXZlX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF93ZWF2ZV9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZWJmZi5jOiAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfd2VhdmUpLAoJICAoY29weV9zY2FubGluZSksIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3dlYXZlX2JmZl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfd2VhdmVfYmZmX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZldGZmLmM6IChkZWludGVybGFjZV9zY2FubGluZV93ZWF2ZSksCgkgIChjb3B5X3NjYW5saW5lKSwgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfd2VhdmVfdGZmX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF93ZWF2ZV90ZmZfaW5pdCk6CgkgIEFkZCB0aGUgcmVtYWluaW5nIHR2dGltZSBkZWludGVybGFjaW5nIG1ldGhvZHMgYW5kIGZpeCB0aGUKCSAgZGVpbnRlcmxhY2VfZnJhbWUoKSBpbXBsZW1lbnRhdGlvbiBvZiBHc3REZWludGVybGFjZVNpbXBsZU1ldGhvZC4KCjIwMDgtMDgtMDIgMTg6MzA6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogSW1wbGVtZW50IHRoZSBWRklSIGRlaW50ZXJsYWNpbmcgbWV0aG9kIGFzIHNpbXBsZSBtZXRob2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2xpbmVfYyksCgkgIChkZWludGVybGFjZV9saW5lX21teCksIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3ZmaXJfY2xhc3NfaW5pdCk6CgkgIEltcGxlbWVudCB0aGUgVkZJUiBkZWludGVybGFjaW5nIG1ldGhvZCBhcyBzaW1wbGUgbWV0aG9kLgoKMjAwOC0wOC0wMiAxODoxODo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuKjogQWRkIGEgR3N0RGVpbnRlcmxhY2VTaW1wbGVNZXRob2Qgc3ViY2xhc3Mgb2YgR3N0RGVpbnRlcmxhY2VNZXRob2QgdGhhdCBjYW4gYmUgdXNlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9pbnRlcnBvbGF0ZV9zY2FubGluZSksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9jb3B5X3NjYW5saW5lKSwKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2RlaW50ZXJsYWNlX2ZyYW1lKSwKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgQWRkIGEgR3N0RGVpbnRlcmxhY2VTaW1wbGVNZXRob2Qgc3ViY2xhc3Mgb2YgR3N0RGVpbnRlcmxhY2VNZXRob2QgdGhhdAoJICBjYW4gYmUgdXNlZCBieSBzaW1wbGUgZGVpbnRlcmxhY2luZyBtZXRob2RzLiBUaGV5IG9ubHkgaGF2ZSB0byBwcm92aWRlCgkgIGEgZnVuY3Rpb24gZm9yIGludGVycG9sYXRpbmcgYSBzY2FubGluZSBvciBjb3B5aW5nIGEgc2NhbmxpbmUuCgoyMDA4LTA4LTAyIDE4OjE1OjQ5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiBSZXNwZWN0IHRoZSBsYXRlbmN5IG9mIHRoZSBkZWludGVybGFjaW5nIGFsZ29yaXRobSBmb3IgdGhlIHRpbWVzdGFtcHMgb2YgZXZlcnkgYnUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogKGdzdF9kZWludGVybGFjZTJfY2hhaW4pOgoJICBSZXNwZWN0IHRoZSBsYXRlbmN5IG9mIHRoZSBkZWludGVybGFjaW5nIGFsZ29yaXRobSBmb3IgdGhlIHRpbWVzdGFtcHMKCSAgb2YgZXZlcnkgYnVmZmVyLgoKMjAwOC0wOC0wMiAxODoxMzoyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvOiBBZGQgdGhlIE1NWCByZWdpc3RlcnMgdG8gdGhlIGNsb2JiZXJlZCByZWdpc3RlcnMgb25seSBpZiBfX01NWF9fIGlzIGRlZmluZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEJvdHRvbS5pbmM6CgkgIEFkZCB0aGUgTU1YIHJlZ2lzdGVycyB0byB0aGUgY2xvYmJlcmVkIHJlZ2lzdGVycyBvbmx5IGlmIF9fTU1YX18gaXMKCSAgZGVmaW5lZC4KCjIwMDgtMDgtMDIgMTg6MDk6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvOiBFbmFibGUgdG9tc21vY29tcCBhZ2FpbiBhcyB0aGUgQyBwb3J0IHdpbGwgYmUgcmVhZHkgZm9yIHRoZSBuZXh0IHJlbGVhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfbWV0aG9kc19nZXRfdHlwZSksIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KToKCSAgRW5hYmxlIHRvbXNtb2NvbXAgYWdhaW4gYXMgdGhlIEMgcG9ydCB3aWxsIGJlIHJlYWR5IGZvciB0aGUgbmV4dAoJICByZWxlYXNlLgoKMjAwOC0wOC0wMiAxODowMjo0NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogRG9uJ3QgdXNlIHByb3h5X2dldGNhcHMoKSBidXQgaW1wbGVtZW50IG91ciBvd24gZ2V0Y2FwcygpIGZ1bmN0aW9uIHRoYXQgZG91Ymxlcy9oLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IChnc3RfZGVpbnRlcmxhY2UyX2luaXQpLAoJICAoZ3N0X2dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yKSwgKGdzdF9mcmFjdGlvbl9kb3VibGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9nZXRjYXBzKSwgKGdzdF9kZWludGVybGFjZTJfc2V0Y2Fwcyk6CgkgIERvbid0IHVzZSBwcm94eV9nZXRjYXBzKCkgYnV0IGltcGxlbWVudCBvdXIgb3duIGdldGNhcHMoKSBmdW5jdGlvbgoJICB0aGF0IGRvdWJsZXMvaGFsZnMgdGhlIGZyYW1lcmF0ZSBpZiBhbGwgZmllbGRzIHNob3VsZCBiZSBzZW50IG91dC4KCjIwMDgtMDgtMDIgMTc6Mzk6MTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBUd29MQU1FIE1QMiBlbmNvZGluZyBlbGVtZW50LCBiYXNlZCBvbiB0aGUgTEFNRSBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC90d29sYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC90d29sYW1lL2dzdHR3b2xhbWUuYzogKGdzdF90d29fbGFtZV9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF90d29fbGFtZV9wYWRkaW5nX2dldF90eXBlKSwgKGdzdF90d29fbGFtZV9lbXBoYXNpc19nZXRfdHlwZSksCgkgIChnc3RfdHdvX2xhbWVfcmVsZWFzZV9tZW1vcnkpLCAoZ3N0X3R3b19sYW1lX2ZpbmFsaXplKSwKCSAgKGdzdF90d29fbGFtZV9iYXNlX2luaXQpLCAoZ3N0X3R3b19sYW1lX2NsYXNzX2luaXQpLAoJICAoZ3N0X3R3b19sYW1lX3NyY19zZXRjYXBzKSwgKGdzdF90d29fbGFtZV9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X3R3b19sYW1lX2luaXQpLCAoZ3N0X3R3b19sYW1lX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdHdvX2xhbWVfZ2V0X3Byb3BlcnR5KSwgKGdzdF90d29fbGFtZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF90d29fbGFtZV9jaGFpbiksIChnc3RfdHdvX2xhbWVfc2V0dXApLAoJICAoZ3N0X3R3b19sYW1lX2NoYW5nZV9zdGF0ZSksIChnc3RfdHdvX2xhbWVfZ2V0X2RlZmF1bHRfc2V0dGluZ3MpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGV4dC90d29sYW1lL2dzdHR3b2xhbWUuaDoKCSAgQWRkIFR3b0xBTUUgTVAyIGVuY29kaW5nIGVsZW1lbnQsIGJhc2VkIG9uIHRoZSBMQU1FIGVsZW1lbnQuCgoyMDA4LTA4LTAyIDE3OjI5OjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgQ0VMVCBlbmNvZGVyIGFuZCBkZWNvZGVyIGVsZW1lbnRzIGJhc2VkIG9uIHRoZSBTcGVleCBlbGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2VsdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2VsdC9nc3RjZWx0LmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOiAoZ3N0X2NlbHRfZGVjX2Jhc2VfaW5pdCksCgkgIChnc3RfY2VsdF9kZWNfY2xhc3NfaW5pdCksIChnc3RfY2VsdF9kZWNfcmVzZXQpLAoJICAoZ3N0X2NlbHRfZGVjX2luaXQpLCAoY2VsdF9kZWNfY29udmVydCksCgkgIChjZWx0X2dldF9zaW5rX3F1ZXJ5X3R5cGVzKSwgKGNlbHRfZGVjX3NpbmtfcXVlcnkpLAoJICAoY2VsdF9nZXRfc3JjX3F1ZXJ5X3R5cGVzKSwgKGNlbHRfZGVjX3NyY19xdWVyeSksCgkgIChjZWx0X2RlY19zcmNfZXZlbnQpLCAoY2VsdF9kZWNfc2lua19ldmVudCksCgkgIChjZWx0X2RlY19jaGFpbl9wYXJzZV9oZWFkZXIpLCAoY2VsdF9kZWNfY2hhaW5fcGFyc2VfY29tbWVudHMpLAoJICAoY2VsdF9kZWNfY2hhaW5fcGFyc2VfZGF0YSksIChjZWx0X2RlY19jaGFpbiksCgkgIChjZWx0X2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9jZWx0L2dzdGNlbHRkZWMuaDoKCSAgKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6IChnc3RfY2VsdF9lbmNfc2V0dXBfaW50ZXJmYWNlcyksCgkgIChnc3RfY2VsdF9lbmNfYmFzZV9pbml0KSwgKGdzdF9jZWx0X2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF9jZWx0X2VuY19maW5hbGl6ZSksIChnc3RfY2VsdF9lbmNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9jZWx0X2VuY19zaW5rX2dldGNhcHMpLCAoZ3N0X2NlbHRfZW5jX2NvbnZlcnRfc3JjKSwKCSAgKGdzdF9jZWx0X2VuY19jb252ZXJ0X3NpbmspLCAoZ3N0X2NlbHRfZW5jX2dldF9sYXRlbmN5KSwKCSAgKGdzdF9jZWx0X2VuY19nZXRfcXVlcnlfdHlwZXMpLCAoZ3N0X2NlbHRfZW5jX3NyY19xdWVyeSksCgkgIChnc3RfY2VsdF9lbmNfc2lua19xdWVyeSksIChnc3RfY2VsdF9lbmNfaW5pdCksCgkgIChnc3RfY2VsdF9lbmNfY3JlYXRlX21ldGFkYXRhX2J1ZmZlciksIChnc3RfY2VsdF9lbmNfc2V0dXApLAoJICAoZ3N0X2NlbHRfZW5jX2J1ZmZlcl9mcm9tX2RhdGEpLCAoZ3N0X2NlbHRfZW5jX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9jZWx0X2VuY19zZXRfaGVhZGVyX29uX2NhcHMpLCAoZ3N0X2NlbHRfZW5jX3NpbmtldmVudCksCgkgIChnc3RfY2VsdF9lbmNfY2hhaW4pLCAoZ3N0X2NlbHRfZW5jX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfY2VsdF9lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9jZWx0X2VuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9jZWx0L2dzdGNlbHRlbmMuaDoKCSAgQWRkIENFTFQgZW5jb2RlciBhbmQgZGVjb2RlciBlbGVtZW50cyBiYXNlZCBvbiB0aGUgU3BlZXggZWxlbWVudHMuCgoyMDA4LTA4LTAyIDE3OjE2OjM5ICswMDAwICBUYWwgU2hhbGlmIDx0c2hhbGlmQG5hcmdpbGEub3JnPgoKCSAgZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogVXNlIGdfc2V0ZW52KCkgYW5kIGdfdW5zZXRlbnYoKSBpbnN0ZWFkIG9mIHNldGVudigpIHRvIGZpeCBjb21waWxhdGlvbiB3aXRoIG1pbmd3LiBGaXhlcyBidWcgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVGFsIFNoYWxpZiA8dHNoYWxpZiBhdCBuYXJnaWxhIGRvdCBvcmc+CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3NpbmtfaW5pdHNkbCk6CgkgIFVzZSBnX3NldGVudigpIGFuZCBnX3Vuc2V0ZW52KCkgaW5zdGVhZCBvZiBzZXRlbnYoKSB0byBmaXggY29tcGlsYXRpb24KCSAgd2l0aCBtaW5ndy4gRml4ZXMgYnVnICM1NDUyNDcuCgoyMDA4LTA4LTAxIDIzOjMwOjI5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjguMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC44LjEKCjIwMDgtMDgtMDEgMTU6Mzk6NDQgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICByZW1vdmUgbW92ZWQgcGx1Z2lucyBmcm9tIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIG1vdmVkIHBsdWdpbnMgZnJvbSBzcGVjIGZpbGUKCj09PSByZWxlYXNlIDAuMTAuOCA9PT0KCjIwMDgtMDctMzEgMjI6MTU6MTcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC44CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWxlYXNlIDAuMTAuOAoKMjAwOC0wNy0zMSAyMjowMzoyNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBjb21tb246CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDgtMDctMjQgMjM6NTM6NTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiAwLjEwLjcuMyBwcmUtcmVsZWFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIDAuMTAuNy4zIHByZS1yZWxlYXNlCgkgICogcG8vTElOR1VBUzoKCSAgKiBwby9pZC5wbzoKCSAgQWRkIEluZG9uZXNpYW4gdHJhbnNsYXRpb24uCgoyMDA4LTA3LTI0IDAwOjMyOjM3ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzogR3VhcmQgdW5pc3RkLmggd2l0aCBIQVZFX1VOSVNURF9ICgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICBHdWFyZCB1bmlzdGQuaCB3aXRoIEhBVkVfVU5JU1REX0gKCSAgKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfaXQuY3BwOgoJICAqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc25kZmlsZS5jcHA6CgkgICogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRmaWxlLmg6CgkgICogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zdGRhZnguaDoKCSAgU3VwcG9ydCBmb3IgY29tcGlsaW5nIHdpdGggTVNWQzogdXNlIF9NU0NfVkVSIGZvciBkZXRlY3RpbmcgTVNWQyBpbnN0ZWFkCgkgIG9mIE1TQ19WRVIuIE1ha2UgQ2FuUGFja1NhbXBsZXMgdGFrZSB0aGUgdHlwZSBpdCdzIHBhc3NlZC4gQ2hhbmdlIHNjb3BlCgkgIG9mIGEgdmFyaWFibGUgaW4gbG9hZF9pdC5jcHAgdG8gTVNWQydzIHNjb3BpbmcgcnVsZXMuCgkgICogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBHdWFyZCB1bmlzdGQuaCB3aXRoIEhBVkVfVU5JU1REX0gKCSAgRml4ZXMgIzU0NDQ1Ny4KCjIwMDgtMDctMjIgMDY6Mjc6NDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOiBGaXggY29tcGlsZXIgd2FybmluZy4gRml4ZXMgIzU0NDA1MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkgIEZpeCBjb21waWxlciB3YXJuaW5nLiBGaXhlcyAjNTQ0MDUwLgoKMjAwOC0wNy0yMSAyMToxMjoyNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IERvbid0IGNoZWNrIGZvciBuYXZfcHJpbnQuaCBhbnkgbW9yZSAtIGl0IHNob3VsZCBiZSBpbmNsdWRlZCBpbiB0aGUgbGliZHZkbmF2IGRldmVsb3BtZW50IHBhY2thZ2UgaWYgbGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEb24ndCBjaGVjayBmb3IgbmF2X3ByaW50LmggYW55IG1vcmUgLSBpdCBzaG91bGQgYmUgaW5jbHVkZWQgaW4KCSAgdGhlIGxpYmR2ZG5hdiBkZXZlbG9wbWVudCBwYWNrYWdlIGlmIGxpYmR2ZG5hdiBoZWFkZXJzIGRlcGVuZCBvbiBpdC4KCSAgRml4ZXM6ICM1NDM4NDYKCjIwMDgtMDctMjEgMTY6MDM6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIExpbmsgdGhlIGxhZHNwYSBwbHVnaW4gd2l0aCAtbGRsLiBJdCdzIG5lZWRlZCBmb3IgZGxvcGVuKCkgYW5kIGZyaWVuZHMgZm9yIGxvYWRpbmcgdGhlIGxhZHNwYSBwbHVnaW5zIGFuZCBwcmV2aW91c2x5IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgTGluayB0aGUgbGFkc3BhIHBsdWdpbiB3aXRoIC1sZGwuIEl0J3MgbmVlZGVkIGZvciBkbG9wZW4oKSBhbmQgZnJpZW5kcwoJICBmb3IgbG9hZGluZyB0aGUgbGFkc3BhIHBsdWdpbnMgYW5kIHByZXZpb3VzbHkgd2FzIGxpbmtlZCBpbiBieQoJICBnbW9kdWxlLiBGaXhlcyBidWcgIzU0Mzg0OC4KCjIwMDgtMDctMjEgMTA6MTY6NTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvTWFrZWZpbGUuYW06IFVzZSBHU1RfQ1hYRkxBR1MgaW5zdGVhZCBvZiBHU1RfQ0ZMQUdTIGZvciBDWFhGTEFHUy4gR1NUX0NGTEFHUyBjYW4gY29udGFpbiBjb21waS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL01ha2VmaWxlLmFtOgoJICBVc2UgR1NUX0NYWEZMQUdTIGluc3RlYWQgb2YgR1NUX0NGTEFHUyBmb3IgQ1hYRkxBR1MuIEdTVF9DRkxBR1MKCSAgY2FuIGNvbnRhaW4gY29tcGlsZXIgcGFyYW1ldGVycyB0aGF0IGFyZSBpbnZhbGlkIGZvciBDKysuCgkgIEZpeGVzIGJ1ZyAjNTQzODYwLgoKMjAwOC0wNy0yMSAxMDoxNToxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOiBEaXN0IG1pc3NpbmcgaGVhZGVyIGZpbGVzLiBGaXhlcyBidWcgIzU0Mzg2MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJICBEaXN0IG1pc3NpbmcgaGVhZGVyIGZpbGVzLiBGaXhlcyBidWcgIzU0Mzg2MS4KCjIwMDgtMDctMTkgMTQ6MTI6NTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiAwLjEwLjcuMiBwcmUtcmVsZWFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIDAuMTAuNy4yIHByZS1yZWxlYXNlCgoyMDA4LTA3LTE5IDE0OjAyOjUwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9NYWtlZmlsZS5hbTogRGlzdCBhbmQgcmVjdXJzZSBpbnRvIHJlc2luZHZkIHN1YmRpcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIERpc3QgYW5kIHJlY3Vyc2UgaW50byByZXNpbmR2ZCBzdWJkaXIKCjIwMDgtMDctMTkgMTM6NDM6MDQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBSZW1vdmUgaW50ZXJsZWF2ZSBhbmQgcmVwbGF5Z2FpbiBjb25maWd1cmUuYWMgcGllY2VzIHRvbwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlbW92ZSBpbnRlcmxlYXZlIGFuZCByZXBsYXlnYWluIGNvbmZpZ3VyZS5hYyBwaWVjZXMgdG9vCgoyMDA4LTA3LTE5IDEzOjI5OjIyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHBvLzogQWRkIG5ldyBsaXRodW5pYW4gdHJhbnNsYXRpb24sIGFuZCBhZGQgZnJlbmNoIHRvIHRoZSBMSU5HVUFTIGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL0xJTkdVQVM6CgkgICogcG8vbHQucG86CgkgIEFkZCBuZXcgbGl0aHVuaWFuIHRyYW5zbGF0aW9uLCBhbmQgYWRkIGZyZW5jaCB0byB0aGUgTElOR1VBUwoJICBmaWxlLgoKMjAwOC0wNy0xOSAwMDo1ODo0OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW1vdmUgaW50ZXJsZWF2ZSBhbmQgcmVwbGF5Z2FpbiBwbHVnaW5zIHRoYXQgaGF2ZSBtb3ZlZCB0byAtZ29vZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuaDoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJICAqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5oOgoJICAqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5oOgoJICAqIGdzdC9yZXBsYXlnYWluL3JlcGxheWdhaW4uYzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZXBsYXlnYWluLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5jOgoJICAqIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6CgkgIFJlbW92ZSBpbnRlcmxlYXZlIGFuZCByZXBsYXlnYWluIHBsdWdpbnMgdGhhdCBoYXZlIG1vdmVkIHRvIC1nb29kCgoyMDA4LTA3LTE4IDA4OjM0OjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBEaXNhYmxlIHRoZSB0b21zbW9jb21wIGFsZ29yaXRobSBmb3IgdGhpcyByZWxlYXNlIGFzIGl0J3MgYnVnZ3kgYW5kIGhhcyBubyBDIGltcGxlbWVudGF0aW9uIHlldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfbWV0aG9kc19nZXRfdHlwZSksIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGFjZTJfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2xfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfaF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3ZmaXJfY2xhc3NfaW5pdCk6CgkgIERpc2FibGUgdGhlIHRvbXNtb2NvbXAgYWxnb3JpdGhtIGZvciB0aGlzIHJlbGVhc2UgYXMgaXQncyBidWdneQoJICBhbmQgaGFzIG5vIEMgaW1wbGVtZW50YXRpb24geWV0LgoJICBCdWlsZCB0aGUgZGVpbnRlcmxhY2UyIHBsdWdpbiBvbiBhbGwgYXJjaGl0ZWN0dXJlcyBidXQgc3RpbGwgbWFyayBpdAoJICBhcyBleHBlcmltZW50YWwuCgkgIEJ1aWxkIHRoZSB4ODYgaW5saW5lIGFzc2VtYmx5IG9ubHkgaWYgR0NDIGlubGluZSBhc3NlbWJseSBpcyBzdXBwb3J0ZWQKCSAgYW5kIG9ubHkgb24geDg2IG9yIGFtZDY0LiBGaXhlcyBidWcgIzU0MzI4Ni4KCjIwMDgtMDctMTYgMTQ6MTU6MzkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IEFkZCBzb21lIGNhc3RzIHRvIGZpeCB0aGUgYnVpbGQgb24gRm9ydGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChvcGVuX2xpYnJhcnkpOgoJICBBZGQgc29tZSBjYXN0cyB0byBmaXggdGhlIGJ1aWxkIG9uIEZvcnRlCgoyMDA4LTA3LTE0IDE0OjEzOjU0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvOiBGaXggYnVpbGQgb24geDg2XzY0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfbF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9oX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdmZpcl9jbGFzc19pbml0KToKCSAgRml4IGJ1aWxkIG9uIHg4Nl82NAoKMjAwOC0wNy0xNCAwNzo1MDowMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6IFJlbW92ZSB3aGl0ZXNwYWNlIGxpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgUmVtb3ZlIHdoaXRlc3BhY2UgbGluZS4KCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uaDoKCSAgTWFrZSBpdCBzbyB0aGF0IGF1ZGlvL3ZpZGVvIHBhZHMgYXJlbid0IGFkZGVkIHRvIHRoZSBiaW4KCSAgdW50aWwgYWZ0ZXIgZGF0YSBmbG93IHN0YXJ0cy4KCSAgKiBleHQvcmVzaW5kdmQvcmVzaW4tcGxheToKCSAgTW92ZSB2aWRlbyBidWZmZXIgcXVldWUgb3V0c2lkZSByZXNpbmR2ZGJpbgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICBDaGVjayB0aGF0IHRoZSBuYXZfY2xvY2tfaWQgZGlkbid0IGFscmVhZHkgZ2V0IHVuc2NoZWR1bGVkLgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIFJlbW92ZSBhc3NlcnQgdGhhdCBzb21ldGltZXMgdHJpZ2dlcnMgZXJyb25lb3VzbHkuCgoyMDA4LTA3LTEzIDEwOjU2OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbTogQWx3YXlzIHVzZSB0aGUgQyBpbXBsZW1lbnRhdGlvbiBpZiB3aWR0aCBpcyBub3QgYSBtdWx0aXBsZSBvZiA0LiBUaGUgYXNzZW1ibHkgb3AuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgIEFsd2F5cyB1c2UgdGhlIEMgaW1wbGVtZW50YXRpb24gaWYgd2lkdGggaXMgbm90IGEgbXVsdGlwbGUgb2YgNC4gVGhlCgkgIGFzc2VtYmx5IG9wdGltaXplZCB2ZXJzaW9uIG9ubHkgaGFuZGxlIHRoaXMgYW5kIGNhbGxpbmcgdGhlIEMKCSAgaW1wbGVtZW50YXRpb24gZm9yIHRoZSByZW1haW5pbmcgcGFydCBkb2Vzbid0IHdvcmsgYmVjYXVzZSBpdCBuZWVkcwoJICBwcmV2aW91cyBjYWxjdWxhdGlvbnMuCgoyMDA4LTA3LTEzIDEwOjUyOjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS86IFNvbWUgY2xlYW51cCwgdXNlIDNETk9XIGluc3RlYWQgb2YgVEROT1cgaW4gbWFjcm9zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aG1hY3Jvcy5oOgoJICBTb21lIGNsZWFudXAsIHVzZSAzRE5PVyBpbnN0ZWFkIG9mIFRETk9XIGluIG1hY3Jvcy4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3RvbXNtb2NvbXBfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL3RvbXNtb2NvbXBtYWNyb3MuaDoKCSAgVGhlIFNTRSBtZXRob2QgaW4gZmFjdCBvbmx5IG5lZWRzIE1NWEVYVCwgZGVjbGFyZSBpdCBhcyBzdWNoLgoKMjAwOC0wNy0xMSAxNDowNjowOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBkb2NzL3BsdWdpbnMvLmN2c2lnbm9yZTogSWdub3JlICotdW5kZWNsYXJlZC50eHQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zLy5jdnNpZ25vcmU6CgkgIElnbm9yZSAqLXVuZGVjbGFyZWQudHh0CgkgICogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSAgVHVybiBnX3ByaW50J3MgaW50byBkZWJ1ZyBzdGF0ZW1lbnRzLgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbi1wbGF5OgoJICAqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uaDoKCSAgKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmM6CgkgICogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5oOgoJICAqIGV4dC9yZXNpbmR2ZC9yc253cmFwcGVkYnVmZmVyLmM6CgkgICogZXh0L3Jlc2luZHZkL3JzbndyYXBwZWRidWZmZXIuaDoKCSAgQWRkIGEgYmxvYXRlZCBpbXBsZW1lbnRhdGlvbiBvZiBhIHJlYWxseSBzaW1wbGUgaWRlYTogUmVwbGFjZSB0aGUKCSAgcGl4ZWwtYXNwZWN0LXJhdGlvIGluIHRoZSBvdXRwdXQgdmlkZW8gd2l0aCBhIHByZXNjcmliZWQgb25lIHdoZW4KCSAgbmVjZXNzYXJ5LiBUaGVyZSBtdXN0IGJlIGFuIGVhc2llciB3YXkuCgkgIFNwbGl0IHRoZSBkdmRzcHUgb3V0IG9mIHRoZSByZXNpbmR2ZGJpbiBhbmQgcHV0IG91dCB0aGUgc3VicGljdHVyZQoJICBzdHJlYW0gb24gdGhlIHN1YnBpY3R1cmUgcGFkLgoJICAqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgU2VuZCB2aWRlby1hc3BlY3QgZXZlbnRzIGRvd24gdGhlIHBpcGUgZnJvbSB0aGUgZGVtdXhlci4KCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgSGFuZGxlIHRpbWVkLXN0aWxscyBzb21ld2hhdCB1c2luZyBnX2NvbmRfdGltZWRfd2FpdCwgd2l0aCBhIEZJWE1FCgkgIHRvIG1ha2UgaXQgdXNlIGNsb2NrLXdhaXRpbmcgbGF0ZXIuCgkgICogZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuYzoKCSAgRG9uJ3Qgb3ZlcndyaXRlIHRoZSBsYXN0X3N0b3AgaW4gdGhlIGJhc2VzcmMgc2VnbWVudCBhZnRlciBhIHNlYW1sZXNzCgkgIHNlZWsuCgoyMDA4LTA3LTExIDEzOjU0OjUyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIGRvY3MvcGx1Z2lucy8uZ2l0aWdub3JlOgoJICBDb21taXQgZmlsZSB0aGF0IG1vYXAgc2VlbXMgdG8gaGF2ZSBtaXNzZWQ6IElnbm9yZSAqLXVuZGVjbGFyZWQudHh0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDb21taXQgZmlsZSB0aGF0IG1vYXAgc2VlbXMgdG8gaGF2ZSBtaXNzZWQ6IElnbm9yZSAqLXVuZGVjbGFyZWQudHh0CgoyMDA4LTA3LTEwIDIxOjA2OjAzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBDbGVhbnVwIFBsdWdpbiBkb2NzLiBMaW5rIHRvIHNpZ25hbHMgYW5kIHByb3BlcnRpZXMuIEZpeCBzdWItc2VjdGlvbiB0aXRsZXMuIERyb3AgbWVudGluaW5nIHRoYXQgYWxsIG91ciBleGFtcGxlIHBpcGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy1vdmVycmlkZXMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRkZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9jb252ZXJ0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9yYXRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9yZXNhbXBsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdGVzdHNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkcGFyYW5vaWEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWNvZGViaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZm1wZWdjb2xvcnNwYWNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ25vbWV2ZnMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saWJ2aXN1YWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZ2cueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wYW5nby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBsYXliYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVldWUyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3VicGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10Y3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aGVvcmEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10eXBlZmluZGZ1bmN0aW9ucy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVyaWRlY29kZWJpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9yYXRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zY2FsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvdGVzdHNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvbHVtZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvcmJpcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmltYWdlc2luay54bWw6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYW1peGVyLmM6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYXNpbmsuYzoKCSAgKiBleHQvYWxzYS9nc3RhbHNhc3JjLmM6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmM6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuYzoKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNpbmsuYzoKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNyYy5jOgoJICAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NpbmsuYzoKCSAgKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzcmMuYzoKCSAgKiBleHQvb2dnL2dzdG9nZ2RlbXV4LmM6CgkgICogZXh0L29nZy9nc3RvZ2dtdXguYzoKCSAgKiBleHQvcGFuZ28vZ3N0Y2xvY2tvdmVybGF5LmM6CgkgICogZXh0L3BhbmdvL2dzdHRleHRvdmVybGF5LmM6CgkgICogZXh0L3BhbmdvL2dzdHRleHRyZW5kZXIuYzoKCSAgKiBleHQvcGFuZ28vZ3N0dGltZW92ZXJsYXkuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZW5jLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFwYXJzZS5jOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzZGVjLmM6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNlbmMuYzoKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc3BhcnNlLmM6CgkgICogZXh0L3ZvcmJpcy92b3JiaXN0YWcuYzoKCSAgKiBnc3QvYWRkZXIvZ3N0YWRkZXIuYzoKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L2dzdGF1ZGlvY29udmVydC5jOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBnc3QvYXVkaW90ZXN0c3JjL2dzdGF1ZGlvdGVzdHNyYy5jOgoJICAqIGdzdC9mZm1wZWdjb2xvcnNwYWNlL2dzdGZmbXBlZ2NvbG9yc3BhY2UuYzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0ZGVjb2RlYmluMi5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmluLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliaW4yLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdHF1ZXVlMi5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3R1cmlkZWNvZGViaW4uYzoKCSAgKiBnc3QvdGNwL2dzdG11bHRpZmRzaW5rLmM6CgkgICogZ3N0L3RjcC9nc3R0Y3BzZXJ2ZXJzaW5rLmM6CgkgICogZ3N0L3ZpZGVvcmF0ZS9nc3R2aWRlb3JhdGUuYzoKCSAgKiBnc3QvdmlkZW9zY2FsZS9nc3R2aWRlb3NjYWxlLmM6CgkgICogZ3N0L3ZpZGVvdGVzdHNyYy9nc3R2aWRlb3Rlc3RzcmMuYzoKCSAgKiBnc3Qvdm9sdW1lL2dzdHZvbHVtZS5jOgoJICAqIHN5cy94aW1hZ2UveGltYWdlc2luay5jOgoJICAqIHN5cy94dmltYWdlL3h2aW1hZ2VzaW5rLmM6CgkgIENsZWFudXAgUGx1Z2luIGRvY3MuIExpbmsgdG8gc2lnbmFscyBhbmQgcHJvcGVydGllcy4gRml4IHN1Yi1zZWN0aW9uCgkgIHRpdGxlcy4gRHJvcCBtZW50aW5pbmcgdGhhdCBhbGwgb3VyIGV4YW1wbGUgcGlwZWxpbmVzIGFyZSAic2ltcGxlIgoJICBwaXBlbGluZXMuCgoyMDA4LTA3LTEwIDIwOjIzOjA5ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzogQ29udmVydCBleHRlbmRlZCBldmVudCB0ZXh0IHRvIFVURi04LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBDb252ZXJ0IGV4dGVuZGVkIGV2ZW50IHRleHQgdG8gVVRGLTguCgoyMDA4LTA3LTEwIDE4OjUxOjExICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEb2N1bWVudCBvbmUgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJICAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkgIERvY3VtZW50IG9uZSBtb3JlLgoKMjAwOC0wNy0xMCAwOToyMDoyMyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9nc3RtcGVnZGVzYy5oOiBGaXggZXh0ZW5kZWQgZXZlbnQgZGVzY3JpcHRvciBwYXJzaW5nLCBvdXQgYnkgMSBpbiBwb3NpdGlvbiBvZiB0ZXh0IGxlbmd0aC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2dzdG1wZWdkZXNjLmg6CgkgIEZpeCBleHRlbmRlZCBldmVudCBkZXNjcmlwdG9yIHBhcnNpbmcsIG91dCBieSAxIGluIHBvc2l0aW9uIG9mCgkgIHRleHQgbGVuZ3RoLgoKMjAwOC0wNy0wOSAxMjoxMzowOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6IEFkZCBhIG5vdGUgdG8gdGhlIGRvY3MsIHRoYXQgZmVzdGl2YWwgbmVlZCB0byBiZSBydW5uaW5nLiBBbHNvIGxvZyBhbiBlcnJvciBpdCBpdCBpcyBub3QuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICBBZGQgYSBub3RlIHRvIHRoZSBkb2NzLCB0aGF0IGZlc3RpdmFsIG5lZWQgdG8gYmUgcnVubmluZy4gQWxzbyBsb2cgYW4KCSAgZXJyb3IgaXQgaXQgaXMgbm90LiBGaXhlcyAjNTQxMzI3CgoyMDA4LTA3LTA4IDIxOjIwOjI3ICswMDAwICBJbGphIFBhdmtvdmljIDxpbGxzZW5AZ3VtYmxmYXJ6LmRlPgoKCSAgZ3N0L2xpYnJmYi9nc3RyZmJzcmMuKjogQWRkIHZpZXctb25seSBwcm9wZXJ0eSB0byBpZ25vcmUgdGhlIG5hdmlnYXRpb24gZXZlbnRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogSWxqYSBQYXZrb3ZpYyA8aWxsc2VuQGd1bWJsZmFyei5kZT4KCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmg6CgkgIEFkZCB2aWV3LW9ubHkgcHJvcGVydHkgdG8gaWdub3JlIHRoZSBuYXZpZ2F0aW9uIGV2ZW50cwoKMjAwOC0wNy0wOCAxODo1Mzo0MSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmM6IFJldmVydCBwcmV2aW91cyBwYXRjaCBhcGFydCBmcm9tIHR5cG8gZml4ZXM7IHRoZSBwYXRjaCB3YXMgbm90IGluZGVwZW5kZW50bHkgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jOgoJICBSZXZlcnQgcHJldmlvdXMgcGF0Y2ggYXBhcnQgZnJvbSB0eXBvIGZpeGVzOyB0aGUgcGF0Y2ggd2FzIG5vdAoJICBpbmRlcGVuZGVudGx5IHVzZWZ1bC4KCjIwMDgtMDctMDggMTc6NDE6NTUgKzAwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvQG5udmEub3JnPgoKCSAgc3lzL2RzaG93ZGVjd3JhcHBlci86IEFkZCBBQUMsIEFDMyB0byBoYW5kbGVkIGNvZGVjcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyb0BubnZhLm9yZz4KCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuYzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZGVjd3JhcHBlci5oOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jOgoJICBBZGQgQUFDLCBBQzMgdG8gaGFuZGxlZCBjb2RlY3MuCgkgIEZpeCBoYW5kbGluZyBvZiBmbHVzaCBldmVudHMuCgkgIEltcHJvdmUgZGVidWcvZXJyb3Igb3V0cHV0LgoJICBGaXggYSBudW1iZXIgb2YgdHlwb3MgaW4gY29tbWVudHMgYW5kIHZhcmlhYmxlIG5hbWVzLgoKMjAwOC0wNy0wOCAxNToyNDo0NCArMDAwMCAgSWxqYSBQYXZrb3ZpYyA8aWxsc2VuQGd1bWJsZmFyei5kZT4KCgkgIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOiBJbXBsZW1lbnQgU2VydmVyQ3V0VGV4dCBtZXNzYWdlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogSWxqYSBQYXZrb3ZpYyA8aWxsc2VuQGd1bWJsZmFyei5kZT4KCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgSW1wbGVtZW50IFNlcnZlckN1dFRleHQgbWVzc2FnZQoKMjAwOC0wNy0wOCAxNDoyODowOCArMDAwMCAgSWxqYSBQYXZrb3ZpYyA8aWxsc2VuQGd1bWJsZmFyei5kZT4KCgkgIGdzdC9saWJyZmIvOiBBZGQgcHJvcGVydHkgZm9yIHNoYXJlZCBkZXNrdG9wCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogSWxqYSBQYXZrb3ZpYyA8aWxsc2VuQGd1bWJsZmFyei5kZT4KCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICBBZGQgcHJvcGVydHkgZm9yIHNoYXJlZCBkZXNrdG9wCgoyMDA4LTA3LTA4IDE0OjAxOjE5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IERvbid0IGluY2x1ZGUgRVJST1JfQ0ZMQUdTIGluIEdTVF9DWFhGTEFHUyBhcyBpdCBtaWdodCBpbmNsdWRlIGZsYWdzIHRoYXQgYXJlIGludmFsaWQgZm9yIEMrKy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEb24ndCBpbmNsdWRlIEVSUk9SX0NGTEFHUyBpbiBHU1RfQ1hYRkxBR1MgYXMgaXQgbWlnaHQgaW5jbHVkZQoJICBmbGFncyB0aGF0IGFyZSBpbnZhbGlkIGZvciBDKysuCgoyMDA4LTA3LTA4IDEzOjMxOjM3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBEb24ndCB1c2UgZGVjbGFyYXRpb25zIGFmdGVyIHN0YXRlbWVudHMgaW4gdGhlIHJlbWFpbmluZyBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BjL2dzdHNwYy5jOiAoc3BjX3NldHVwKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BUb3AuaW5jOgoJICBEb24ndCB1c2UgZGVjbGFyYXRpb25zIGFmdGVyIHN0YXRlbWVudHMgaW4gdGhlIHJlbWFpbmluZyBjb2RlLgoKMjAwOC0wNy0wOCAxMzoyODo1MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0LzogRG9uJ3QgdXNlIGRlY2xhcmF0aW9ucyBhZnRlciBzdGF0ZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6CgkgIEpvbmF0aGFuIFJvc3NlciA8am9uYXRoYW4gZG90IHJvc3NlciBhdCByZCBkb3QgYmJjIGRvdCBjbyBkb3QgdWs+CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOiAobWV0YWRhdGFwYXJzZV9oYW5kbGVfdW5pdF90YWdzKToKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgKG1ldGFkYXRhcGFyc2VfeG1wX2l0ZXJfYWRkX3RvX3RhZ19saXN0KToKCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiAoZ3N0X215dGh0dl9zcmNfc3RhcnQpOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOiAoZ3N0X3dpbGRtaWRpX2xvb3ApOgoJICBEb24ndCB1c2UgZGVjbGFyYXRpb25zIGFmdGVyIHN0YXRlbWVudHMuCgoyMDA4LTA3LTA3IDEzOjIyOjI2ICswMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyb0BubnZhLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOiBGaXggbWVtb3J5IGxlYWsgYnkgdW5yZWZmaW5nIHN0cnVjdHVyZXMgd2hlbiBub3QgbmVlZGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEFsZXNzYW5kcm8gRGVjaW5hCgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIEZpeCBtZW1vcnkgbGVhayBieSB1bnJlZmZpbmcgc3RydWN0dXJlcyB3aGVuIG5vdCBuZWVkZWQuCgkgIEZpeGVzICM1MzkyOTIuCgoyMDA4LTA3LTA3IDEwOjQzOjQ1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6IFVzZSBmbG9hdGluZyBwb2ludCBtYXRoIGZvciBsYXRlbmNpZXMgPCAwIHNlYyBpbiBsb2cgb3V0cHV0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIFVzZSBmbG9hdGluZyBwb2ludCBtYXRoIGZvciBsYXRlbmNpZXMgPCAwIHNlYyBpbiBsb2cgb3V0cHV0LgoKMjAwOC0wNy0wNiAyMDo0Mzo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsMi5pbmM6IE1hcmsgaW50ZXJuYWwgcHJvY2Vzc2luZyBmdW5jdGlvbnMgYXMgc3RhdGljIGlubGluZSBmb3IgcXVpdGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbDIuaW5jOgoJICBNYXJrIGludGVybmFsIHByb2Nlc3NpbmcgZnVuY3Rpb25zIGFzIHN0YXRpYyBpbmxpbmUgZm9yIHF1aXRlIHNvbWUKCSAgc3BlZWR1cCBhcyB0aGV5J3JlIHVzZWQgb25seSBvbmNlIGFuZCBuZWVkIHRvIGdldCBtYW55IGxvY2FsIHZhcmlhYmxlcwoJICBwYXNzZWQgYXMgcGFyYW1ldGVyLgoKMjAwOC0wNy0wNSAxOToyMDozMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuKjogQ2FsbCB0aGUgY3VycmVudCBpbnN0YW5jZSAic2VsZiIgaW5zdGVhZCBvZiAib2JqZWN0Ii4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZGVpbnRlcmxhY2VfZnJhbWUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwgKGdzdF9kZWludGVybGFjZTJfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3Jlc2V0X2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9yZXNldCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9wcm9wZXJ0eSksIChnc3RfZGVpbnRlcmxhY2UyX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3BvcF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfaGVhZF9oaXN0b3J5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfcHVzaF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKSwgKGdzdF9kZWludGVybGFjZTJfc2lua19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoYW5nZV9zdGF0ZSksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgQ2FsbCB0aGUgY3VycmVudCBpbnN0YW5jZSAic2VsZiIgaW5zdGVhZCBvZiAib2JqZWN0Ii4KCjIwMDgtMDctMDUgMTk6MTE6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLio6IEluY2x1ZGUgbGF0ZW5jeSBvZiB0aGUgbWV0aG9kIGluIHRoZSByZXR1cm5lZCBsYXRlbmN5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9nZXRfbGF0ZW5jeSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfcHVzaF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKSwgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBJbmNsdWRlIGxhdGVuY3kgb2YgdGhlIG1ldGhvZCBpbiB0aGUgcmV0dXJuZWQgbGF0ZW5jeS4KCSAgRml4IG91dHB1dHRpbmcgb2YgYWxsIGZpZWxkcywgaS5lLiBkb3VibGluZyBvZiB0aGUgZnJhbWVyYXRlLgoKMjAwOC0wNy0wNSAxNjo0NzozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi86IFVzZSBhIEdzdE9iamVjdCBzdWJ0eXBlIGZvciB0aGUgZGVpbnRlcmxhY2luZyBtZXRob2RzIGFuZCBleHBvcnQgdGhlIGRpZmZlcmVudCBzZXR0aW5ncyBmb3IgZWFjaCBkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9kZWludGVybGFjZV9mcmFtZSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dldF9maWVsZHNfcmVxdWlyZWQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9tZXRob2RzX2dldF90eXBlKSwgKF9kb19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGlsZF9wcm94eV9nZXRfY2hpbGRfYnlfaW5kZXgpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGlsZF9wcm94eV9nZXRfY2hpbGRyZW5fY291bnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGlsZF9wcm94eV9pbnRlcmZhY2VfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9maW5hbGl6ZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9sX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9sX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9sX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfbF9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6IChncmVlZHlEU2NhbGVyX0MpLAoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5aCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9oX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9oX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9oX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfaF9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvcGx1Z2lucy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdG9tc21vY29tcF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF90b21zbW9jb21wX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3RvbXNtb2NvbXBfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3RvbXNtb2NvbXBfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfZnJhbWVfdmZpciksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3ZmaXJfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3ZmaXJfaW5pdCk6CgkgIFVzZSBhIEdzdE9iamVjdCBzdWJ0eXBlIGZvciB0aGUgZGVpbnRlcmxhY2luZyBtZXRob2RzIGFuZCBleHBvcnQKCSAgdGhlIGRpZmZlcmVudCBzZXR0aW5ncyBmb3IgZWFjaCBkZWludGVybGFjaW5nIG1ldGhvZCB2aWEgR09iamVjdAoJICBwcm9wZXJ0aWVzLgoJICBJbXBsZW1lbnQgR3N0Q2hpbGRQcm94eSBpbnRlcmZhY2UgdG8gYWxsb3cgYWNjZXNzIHRvIHRoZSB1c2VkCgkgIGRlaW50ZXJsYWNpbmcgbWV0aG9kIGFuZCB0byBhbGxvdyBhZGp1c3RpbmcgdGhlIGRpZmZlcmVudCBzZXR0aW5ncy4KCSAgTW92ZSBnbG9iYWwgdmFyaWFibGVzIG9mIHRoZSB0b21zbW9jb21wIGRlaW50ZXJsYWNpbmcgbWV0aG9kIGludG8KCSAgZnVuY3Rpb24gbG9jYWwgdmFyaWFibGVzIHRvIG1ha2UgaXQgcG9zc2libGUgdG8gdXNlIHRoaXMgZGVpbnRlcmxhY2luZwoJICBtZXRob2QgZnJvbSBkaWZmZXJlbnQgaW5zdGFuY2VzLgoKMjAwOC0wNy0wNSAxMjoyMjozNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206IFN1cHBvcnQgd2lkdGhzIHRoYXQgYXJlIG5vdCBhIG11bHRpcGx5IG9mIDQgd2hlbiB1c2luZyB0aGUgYXNzZW1ibHkgb3B0aW1pemVkIGdyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICBTdXBwb3J0IHdpZHRocyB0aGF0IGFyZSBub3QgYSBtdWx0aXBseSBvZiA0IHdoZW4gdXNpbmcgdGhlIGFzc2VtYmx5CgkgIG9wdGltaXplZCBncmVlZHloIGltcGxlbWVudGF0aW9ucy4KCjIwMDgtMDctMDQgMTg6NTQ6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzogT25seSBidWlsZCB0aGUgYXNzZW1ibHkgb3B0aW1pemVkIGltcGxlbWVudGF0aW9ucyBvbiB4ODYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeWgpOgoJICBPbmx5IGJ1aWxkIHRoZSBhc3NlbWJseSBvcHRpbWl6ZWQgaW1wbGVtZW50YXRpb25zIG9uIHg4Ni4KCjIwMDgtMDctMDQgMTg6NTI6MzcgKzAwMDAgIERhbWllbiBMZXNwaWF1IDxkYW1pZW4ubGVzcGlhdUBnbWFpbC5jb20+CgoJICBjb25maWd1cmUuYWM6IEZpeCBjaGVja2luZyBvZiBoZWFkZXJzIGZvciB0aGUgT1NTNCBwbHVnaW4gdG8gZmFpbCBpZiBhIHNpbmdsZSBoZWFkZXIgZG9lc24ndCBleGlzdCBhbHJlYWR5LiBBQ19DSEVDS18uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuIGRvdCBsZXNwaWF1IGF0IGdtYWlsIGRvdCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggY2hlY2tpbmcgb2YgaGVhZGVycyBmb3IgdGhlIE9TUzQgcGx1Z2luIHRvIGZhaWwgaWYgYSBzaW5nbGUKCSAgaGVhZGVyIGRvZXNuJ3QgZXhpc3QgYWxyZWFkeS4gQUNfQ0hFQ0tfSEVBREVSUyBvbmx5IGZhaWxzIGlmIG5vbmUKCSAgb2YgdGhlIGhlYWRlcnMgaXMgZm91bmQuIEZpeGVzIGJ1ZyAjNTQxNTQzLgoKMjAwOC0wNy0wNCAxNjowNjowOSArMDAwMCAgRGFtaWVuIExlc3BpYXUgPGRhbWllbi5sZXNwaWF1QGdtYWlsLmNvbT4KCgkgIEZpeCBidWlsdCBvZiB0aGUgZmVzdGl2YWwgcGx1Z2luIHdpdGggbWluZ3czMiBieSBsaW5raW5nIHRvIHdzMl8zMi5kbGwgYW5kIGluY2x1ZGluZyB3aW5zb2NrIGhlYWRlcnMuIEZpeGVzIGJ1ZyAjNTQxNTIyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IERhbWllbiBMZXNwaWF1IDxkYW1pZW4gZG90IGxlc3BpYXUgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2Zlc3RpdmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICBGaXggYnVpbHQgb2YgdGhlIGZlc3RpdmFsIHBsdWdpbiB3aXRoIG1pbmd3MzIgYnkgbGlua2luZyB0byB3czJfMzIuZGxsCgkgIGFuZCBpbmNsdWRpbmcgd2luc29jayBoZWFkZXJzLiBGaXhlcyBidWcgIzU0MTUyMi4KCjIwMDgtMDctMDMgMTQ6NDQ6NTEgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBDb3JyZWN0ZWQgYSB0eXBvIChpbnRlcnBvbGxhdGUgLT4gaW50ZXJwb2xhdGUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBDaGFuZ2VMb2c6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2dldF9uZXdfc3IpOgoJICBDb3JyZWN0ZWQgYSB0eXBvIChpbnRlcnBvbGxhdGUgLT4gaW50ZXJwb2xhdGUpLgoKMjAwOC0wNy0wMyAxNDozMToxMCArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IENoYW5nZWQgc29tZSBHU1RfREVCVUcoKSB0byBHU1RfTE9HKCkgdG8gcmVkdWNlIHRoZSBzcGFtIHdoZW4gYSBwaXBlbGluZSBpcyBydW5uaW5nIG5vcm1hbGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRwKSwgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3N5bmNfcnRjcCksIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRjcCksIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHNvdXJjZV9wdXNoX3J0cCksCgkgIChydHBfc2Vzc2lvbl9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChwdXNoX3BhY2tldCksIChjYWxjdWxhdGVfaml0dGVyKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApLCAocnRwX3NvdXJjZV9zZW5kX3J0cCk6CgkgIENoYW5nZWQgc29tZSBHU1RfREVCVUcoKSB0byBHU1RfTE9HKCkgdG8gcmVkdWNlIHRoZSBzcGFtIHdoZW4gYQoJICBwaXBlbGluZSBpcyBydW5uaW5nIG5vcm1hbGx5LgoKMjAwOC0wNy0wMyAxMzo0NzoxOSArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IERvIG5vdCBtaXggdGhlIHVzZSBvZiBnX2dldF9jdXJyZW50X3RpbWUoKSB3aXRoIGdzdF9jbG9ja19nZXRfdGltZSgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25faW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZmluYWxpemUpLCAocnRjcF90aHJlYWQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChjaGVja19jb2xsaXNpb24pLAoJICAodXBkYXRlX2Fycml2YWxfc3RhdHMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwKSwgKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfYnllX2xvY2tlZCksIChydHBfc2Vzc2lvbl9zZW5kX2J5ZSksCgkgIChydHBfc2Vzc2lvbl9uZXh0X3RpbWVvdXQpLCAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKSwgKHNlc3Npb25fY2xlYW51cCksCgkgIChpc19ydGNwX3RpbWUpLCAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBEbyBub3QgbWl4IHRoZSB1c2Ugb2YgZ19nZXRfY3VycmVudF90aW1lKCkgd2l0aCBnc3RfY2xvY2tfZ2V0X3RpbWUoKS4KCjIwMDgtMDctMDEgMjE6NDA6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLio6IFF1ZXVlIG5ldy1zZWdtZW50IGV2ZW50cyBhbmQgc2VuZCB0aGVtIGFmdGVyIGNhcHMgaGF2ZSBiZWVuIGRldGVybWluZWQgYW5kIHNldCwgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5oOgoJICBRdWV1ZSBuZXctc2VnbWVudCBldmVudHMgYW5kIHNlbmQgdGhlbSBhZnRlciBjYXBzIGhhdmUgYmVlbgoJICBkZXRlcm1pbmVkIGFuZCBzZXQsIHNvIHRoYXQgdGhlIGRlY29kZXIgd2lsbCBoYXZlIGJlZW4gYXV0by1wbHVnZ2VkLgoKMjAwOC0wNy0wMSAxMToyODoxNyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL3F0d3JhcHBlci86IE1ha2UgcXR3cmFwcGVyIGNvbXBpbGUvd29yayBvbiB3aW4zMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5IDogTWljaGFlbCBTbWl0aCA8bXNtaXRoIEAgeGlwaCBkb3Qgb3JnPgoJICAqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOiAocXR3cmFwcGVyX2F1ZGlvX2RlY29kZXJfaW5pdCksCgkgIChjbGVhcl9BdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24pLCAoZmlsbF9pbmRlc2NfbXAzKSwKCSAgKGZpbGxfaW5kZXNjX2FhYyksIChtYWtlX3NhbXJfbWFnaWNfY29va2llKSwgKHdyaXRlX2xlbiksCgkgIChtYWtlX2FhY19tYWdpY19jb29raWUpLCAob3Blbl9kZWNvZGVyKSwgKHByb2Nlc3NfYnVmZmVyX2NiKSwKCSAgKHF0d3JhcHBlcl9hdWRpb19kZWNvZGVyX2NoYWluKSwKCSAgKHF0d3JhcHBlcl9hdWRpb19kZWNvZGVyX3NpbmtfZXZlbnQpLAoJICAocXR3cmFwcGVyX2F1ZGlvX2RlY29kZXJfYmFzZV9pbml0KSwKCSAgKHF0d3JhcHBlcl9hdWRpb19kZWNvZGVyX2NsYXNzX2luaXQpLAoJICAocXR3cmFwcGVyX2F1ZGlvX2RlY29kZXJzX3JlZ2lzdGVyKToKCSAgKiBzeXMvcXR3cmFwcGVyL2NvZGVjbWFwcGluZy5oOgoJICAqIHN5cy9xdHdyYXBwZXIvaW1hZ2VkZXNjcmlwdGlvbi5jOiAoaW1hZ2VfZGVzY3JpcHRpb25fZm9yX2F2YzEpLAoJICAoaW1hZ2VfZGVzY3JpcHRpb25fZm9yX21wNHYpLCAoaW1hZ2VfZGVzY3JpcHRpb25fZnJvbV9zdHNkX2J1ZmZlcik6CgkgICogc3lzL3F0d3JhcHBlci9pbWFnZWRlc2NyaXB0aW9uLmg6CgkgICogc3lzL3F0d3JhcHBlci9xdHV0aWxzLmM6IChnZXRfbmFtZV9pbmZvX2Zyb21fY29tcG9uZW50KSwKCSAgKGR1bXBfYXZjY19hdG9tKSwgKGR1bXBfaW1hZ2VfZGVzY3JpcHRpb24pLAoJICAoQWxsb2NhdGVBdWRpb0J1ZmZlckxpc3QpOgoJICAqIHN5cy9xdHdyYXBwZXIvcXR1dGlscy5oOgoJICAqIHN5cy9xdHdyYXBwZXIvcXR3cmFwcGVyLmM6IChwbHVnaW5faW5pdCk6CgkgICogc3lzL3F0d3JhcHBlci9xdHdyYXBwZXIuaDoKCSAgKiBzeXMvcXR3cmFwcGVyL3ZpZGVvZGVjb2RlcnMuYzoKCSAgKHF0d3JhcHBlcl92aWRlb19kZWNvZGVyX2Jhc2VfaW5pdCksIChvcGVuX2RlY29kZXIpLAoJICAoZGVjb21wcmVzc0NiKSwgKHF0d3JhcHBlcl92aWRlb19kZWNvZGVyX2NoYWluKSwKCSAgKHF0d3JhcHBlcl92aWRlb19kZWNvZGVyc19yZWdpc3Rlcik6CgkgIE1ha2UgcXR3cmFwcGVyIGNvbXBpbGUvd29yayBvbiB3aW4zMi4KCSAgTG90cyBvZiBmaXhlcwoJICBGaXhlcyAjNTMxODQwCgoyMDA4LTA2LTMwIDE5OjE5OjI2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6IEZpeCBzaXplIGNhbGN1bGF0aW9uIGZvciBSR0IgYnVmZmVycyAtPiBicHAgaXMgaW4gYml0cywgc28gZGl2aWRlIGJ5IDgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgRml4IHNpemUgY2FsY3VsYXRpb24gZm9yIFJHQiBidWZmZXJzIC0+IGJwcCBpcyBpbiBiaXRzLCBzbyBkaXZpZGUgYnkgOAoKMjAwOC0wNi0zMCAwNzo1MTowNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi86IFJlbW92ZSB1c2VsZXNzIGZpbGUgYW5kIG1hcmsgZXZlcnl0aGluZyBwb3NzaWJsZSBhcyBzdGF0aWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOiAodG9tc21vY29tcF9pbml0KSwKCSAgKHRvbXNtb2NvbXBfZmlsdGVyX21teCksICh0b21zbW9jb21wX2ZpbHRlcl8zZG5vdyksCgkgICh0b21zbW9jb21wX2ZpbHRlcl9zc2UpLCAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfdG9tc21vY29tcCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5oOgoJICBSZW1vdmUgdXNlbGVzcyBmaWxlIGFuZCBtYXJrIGV2ZXJ5dGhpbmcgcG9zc2libGUgYXMgc3RhdGljLgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgVXNlICJfc3RkaW50LmgiIGluc3RlYWQgb2YgPHN0ZGludC5oPi4KCjIwMDgtMDYtMjkgMTA6NTY6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvOiBHZXQgcmlkIG9mIHNwZWVkeS5bY2hdIGFzIHdlIGRvbid0IHVzZSBtb3N0IG9mIGl0J3MgY29kZSBhbnl3YXkgYW5kIGl0IGRvZXNuJ3Qgc2VlbSB0byBiZSByZWxpY2Vucy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IChnc3RfZGVpbnRlcmxhY2UyX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHRvb2xzLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5LmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5Lmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOiAoRmllbGRjb3B5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2ZyYW1lX3ZmaXIpOgoJICBHZXQgcmlkIG9mIHNwZWVkeS5bY2hdIGFzIHdlIGRvbid0IHVzZSBtb3N0IG9mIGl0J3MgY29kZSBhbnl3YXkKCSAgYW5kIGl0IGRvZXNuJ3Qgc2VlbSB0byBiZSByZWxpY2Vuc2VkIHRvIExHUEwuIFVzZSBtZW1jcHkoKSBpbnN0ZWFkCgkgIG9mIHRoZSBzcGVlZHkgbWVtY3B5IGV2ZXJ5d2hlcmUgaW5zdGVhZC4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBSZW1vdmUgbWFueSB1bnVzZWQgZGVjbGFyYXRpb25zLgoKMjAwOC0wNi0yOCAyMDo1MTozNiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvcHRpb25zLio6IEV4cG9zZSB0aGUgYWRkaXRpb25hbCBNUEVHIEhEVFYgZm9ybWF0IHByb2ZpbGVzIGF2YWlsYWJsZSBpbiBsYXRlc3QgbWpwZWd0b29scyB2ZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb3B0aW9ucy5jYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvcHRpb25zLmhoOgoJICBFeHBvc2UgdGhlIGFkZGl0aW9uYWwgTVBFRyBIRFRWIGZvcm1hdCBwcm9maWxlcyBhdmFpbGFibGUgaW4gbGF0ZXN0CgkgIG1qcGVndG9vbHMgdmVyc2lvbi4KCjIwMDgtMDYtMjggMTg6MTM6MDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IERpdmlkZSBsYXRlbmN5IGJlIDIgdG8gY29udmVydCBmcm9tIGZpZWxkcyB0byBmcmFtZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSk6CgkgIERpdmlkZSBsYXRlbmN5IGJlIDIgdG8gY29udmVydCBmcm9tIGZpZWxkcyB0byBmcmFtZXMuCgoyMDA4LTA2LTI4IDE4OjEwOjUyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogRG9uJ3QgdXNlIHNjYW5saW5lcyBmdW5jdGlvbiBmcm9tIGdzdGRlaW50ZXJsYWNlMiBhcyBpdCdzIG5vdCBhcHByb3BpYXRlIGZvciB0aGlzIG0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5KToKCSAgRG9uJ3QgdXNlIHNjYW5saW5lcyBmdW5jdGlvbiBmcm9tIGdzdGRlaW50ZXJsYWNlMiBhcyBpdCdzCgkgIG5vdCBhcHByb3BpYXRlIGZvciB0aGlzIG1ldGhvZC4gSW5zdGVhZCBpbXBsZW1lbnQgZGVpbnRlcmxhY2VfZnJhbWUKCSAgZnVuY3Rpb24gYnkgdGFraW5nIHRoZSBvbmUgZnJvbSBncmVlZHloLgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzogKGdyZWVkeURTY2FsZXJfQyk6CgkgIFNtYWxsIGZpeCBmb3IgdGhlIEMgaW1wbGVtZW50YXRpb24uCgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfZnJhbWVfdmZpcik6CgkgIERvbid0IHVzZSB0aGUgc2NhbmxpbmVzIGZ1bmN0aW9uIGZyb20gZ3N0ZGVpbnRlcmxhY2UyIGFzIGl0J3Mgb25seQoJICB1c2VkIGZvciB0aGlzIG1ldGhvZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBJbnN0ZWFkIGltcGxlbWVudAoJICBkZWludGVybGFjZV9mcmFtZSBmdW5jdGlvbiBhbmQgbWFrZSBpdCBhIGJpdCBtb3JlIGVmZmljaWVudC4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3B1c2hfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0Y2FwcyksIChnc3RfZGVpbnRlcmxhY2UyX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpOgoJICBGaXggY29kaW5nIHN0eWxlIGFuZCByZW1vdmUgc2NhbmxpbmVzIGZ1bmN0aW9uIGFzIGl0J3MgdW51c2VkIG5vdy4KCjIwMDgtMDYtMjggMTc6MjU6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lLzogQWRkIGEgQyBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIGdyZWVkeWggZGVpbnRlcmxhY2luZyBtZXRob2QsIGNsZWFuIHVwIHRoZSBjb2RlIGEgYml0IGFuZCBtYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6IChncmVlZHlEU2NhbGVyX0MpLAoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5aCksIChkc2NhbGVyX2dyZWVkeWhfZ2V0X21ldGhvZCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aG1hY3Jvcy5oOgoJICBBZGQgYSBDIGltcGxlbWVudGF0aW9uIGZvciB0aGUgZ3JlZWR5aCBkZWludGVybGFjaW5nIG1ldGhvZCwgY2xlYW4KCSAgdXAgdGhlIGNvZGUgYSBiaXQgYW5kIG1hcmsgdGhlIFNTRSB2ZXJzaW9uIGFzIE1NWEVYVCBhcyBpdCBkb2Vzbid0CgkgIHJlcXVpcmUgYW55IFNTRSBpbnN0cnVjdGlvbnMuCgoyMDA4LTA2LTI3IDEzOjIyOjM0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiBJZiB3ZSdyZSBvdXRwdXR0aW5nIGFsbCBmaWVsZHMgdGhlIGZyYW1lcmF0ZSBoYXMgdG8gYmUgZG91YmxlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X3Byb3BlcnR5KSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKToKCSAgSWYgd2UncmUgb3V0cHV0dGluZyBhbGwgZmllbGRzIHRoZSBmcmFtZXJhdGUgaGFzIHRvIGJlIGRvdWJsZWQuCgkgIFNldCBkdXJhdGlvbiBvbiB0aGUgb3V0Z29pbmcgYnVmZmVycy4KCjIwMDgtMDYtMjYgMTU6NTI6NDAgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIFlVVjRNUEVHMiBlbmNvZGVyIGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIFlVVjRNUEVHMiBlbmNvZGVyIGVsZW1lbnQuCgoyMDA4LTA2LTI1IDE2OjA1OjA4ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC90b21zbW9jb21wbWFjcm9zLmg6IFJlbW92ZSB1bm5lZWRlZCBtYWNyb3MgdGhhdCBicmVhayBidWlsZCBvbiBtYWNvc3guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvdG9tc21vY29tcG1hY3Jvcy5oOgoJICBSZW1vdmUgdW5uZWVkZWQgbWFjcm9zIHRoYXQgYnJlYWsgYnVpbGQgb24gbWFjb3N4LgoKMjAwOC0wNi0yNCAxNTo0ODoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRGVwZW5kIG9uIHJlbGVhc2VkIHZlcnNpb25zIG9mIGNvcmUgYW5kIC1iYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERlcGVuZCBvbiByZWxlYXNlZCB2ZXJzaW9ucyBvZiBjb3JlIGFuZCAtYmFzZS4KCjIwMDgtMDYtMjQgMTI6MDg6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiBPcHRpbWl6ZSBNTVgvTU1YRVhUIGltcGxlbWVudGF0aW9ucyBhIGJpdCBieSByZXF1aXJpbmcgdHdvIGxlc3MgbWVtb3J5IGFjY2Vzc2VzIGFuZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KToKCSAgT3B0aW1pemUgTU1YL01NWEVYVCBpbXBsZW1lbnRhdGlvbnMgYSBiaXQgYnkgcmVxdWlyaW5nIHR3byBsZXNzCgkgIG1lbW9yeSBhY2Nlc3NlcyBhbmQgZml4IHRoZSB3b3JrYXJvdW5kIGZvciB0aGUgbWlzc2luZyByaWdodCBzaGlmdAoJICBvbiBieXRlcyB0byB1bnNldCB0aGUgaGlnaGVzdCBiaXQgb2YgZXZlcnkgYnl0ZS4KCjIwMDgtMDYtMjQgMTA6MTU6NDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiBSZW1vdmUgc2ZlbmNlIGluc3RydWN0aW9uIGFzIGl0J3Mgbm90IG5lZWRlZCBhbmQgYWN0dWFsbHkgaXMgYW4gU1NFIGluc3RydWN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KToKCSAgUmVtb3ZlIHNmZW5jZSBpbnN0cnVjdGlvbiBhcyBpdCdzIG5vdCBuZWVkZWQgYW5kIGFjdHVhbGx5IGlzIGFuIFNTRQoJICBpbnN0cnVjdGlvbi4KCjIwMDgtMDYtMjQgMTA6MTI6MDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiBBZGQgcGxhaW4gTU1YIGltcGxlbWVudGF0aW9uIGZvciB0aGUgZ3JlZWR5bCBtZXRob2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZSk6CgkgIEFkZCBwbGFpbiBNTVggaW1wbGVtZW50YXRpb24gZm9yIHRoZSBncmVlZHlsIG1ldGhvZC4KCjIwMDgtMDYtMjQgMDk6NDA6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06IE1vdmUgdGhlIGFzc2VtYmx5IGluY2x1ZGVzIHRvIG5vaW5zdF9IRUFERVJTIHdoZXJlIHRoZXkgYmVsb25nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICBNb3ZlIHRoZSBhc3NlbWJseSBpbmNsdWRlcyB0byBub2luc3RfSEVBREVSUyB3aGVyZSB0aGV5IGJlbG9uZy4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfbGluZV9tbXgpOgoJICBGaXggQyBhbmQgTU1YIGltcGxlbWVudGF0aW9ucyBhIGJpdCBtb3JlLgoKMjAwOC0wNi0yNCAwOToxMDo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IEZpeCB0aGUgQyBpbXBsZW1lbnRhdGlvbiB0byBwcm9kdWNlIGNvcnJlY3QgcmVzdWx0cyBhbmQgb3B0aW1pemUgdGhlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmUpOgoJICBGaXggdGhlIEMgaW1wbGVtZW50YXRpb24gdG8gcHJvZHVjZSBjb3JyZWN0IHJlc3VsdHMgYW5kIG9wdGltaXplIHRoZQoJICBNTVhFWFQgaW1wbGVtZW50YXRpb24uCgkgIEhhbmRsZSBvZGQgd2lkdGhzIGFuZCBkb24ndCByZWFkIG92ZXIgYXJyYXkgYm91bmRhcmllcyBpbiB0aGUgTU1YRVhUCgkgIGltcGxlbWVudGF0aW9uLgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2xpbmVfYyksCgkgIChkZWludGVybGFjZV9saW5lX21teCksIChkZWludGVybGFjZV9zY2FubGluZV92ZmlyKToKCSAgRml4IGEgc21hbGwgcm91bmRpbmcgYnVnIGluIHRoZSBNTVggaW1wbGVtZW50YXRpb24sIHRoZSBNTVgKCSAgaW1wbGVtZW50YXRpb24gZG9lc24ndCBhY3R1YWxseSBuZWVkIE1NWEVYVCBpbnN0cnVjdGlvbnMgc28gZG9uJ3QgbWFyawoJICBpdCBhcyBzdWNoLgoJICBIYW5kbGUgb2RkIHdpZHRocyBpbiBib3RoIGltcGxlbWVudGF0aW9ucy4KCjIwMDgtMDYtMjEgMjE6MjA6MjQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmM6IFVzZSB0aGUgcmlnaHQgaTE4biBoZWFkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmM6CgkgIFVzZSB0aGUgcmlnaHQgaTE4biBoZWFkZXIuCgoyMDA4LTA2LTIxIDA5OjA1OjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogSW1wbGVtZW50IGEgQyB2ZXJzaW9uIG9mIHRoZSBncmVlZHkgbG93IG1vdGlvbiBhbGdvcml0aG0gYW5kIG1hcmsgdGhlIGFzc2VtYmx5IG9wdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX3NzZSksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZSk6CgkgIEltcGxlbWVudCBhIEMgdmVyc2lvbiBvZiB0aGUgZ3JlZWR5IGxvdyBtb3Rpb24gYWxnb3JpdGhtIGFuZCBtYXJrIHRoZQoJICBhc3NlbWJseSBvcHRpbWl6ZWQgdmVyc2lvbiBhcyBTU0UgYXMgaXQgdXNlcyBTU0UgaW5zdHJ1Y3Rpb25zCgkgIGFkZGl0aW9uYWwgdG8gTU1YIGluc3RydWN0aW9ucy4KCjIwMDgtMDYtMjAgMTY6NTQ6MjggKzAwMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPG1hcmR1a0BrLWQtdy5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOiBGaXggcHJvYmxlbSB3aGVuIGVtcHR5IHN0cmluZyBpcyBwcm92aWRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gUMO2bHN0ZXJsCgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgRml4IHByb2JsZW0gd2hlbiBlbXB0eSBzdHJpbmcgaXMgcHJvdmlkZWQuCgoyMDA4LTA2LTIwIDE0OjQ4OjQwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IE1ha2UgaXQgcG9zc2libGUgdG8gdXNlIHRoZSB2ZmlyIG1ldGhvZCBvbiBYODYgQ1BVcyB3aXRob3V0IE1NWEVYVCB0b28gYnV0IHVzZSB0aGUgTU0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfbGluZV9tbXhleHQpLAoJICAoZGVpbnRlcmxhY2VfbGluZV9jKSwgKGRlaW50ZXJsYWNlX3NjYW5saW5lX3ZmaXIpOgoJICBNYWtlIGl0IHBvc3NpYmxlIHRvIHVzZSB0aGUgdmZpciBtZXRob2Qgb24gWDg2IENQVXMgd2l0aG91dCBNTVhFWFQgdG9vCgkgIGJ1dCB1c2UgdGhlIE1NWEVYVCBvcHRpbWl6ZWQgY29kZSB3aGVuZXZlciBwb3NzaWJsZS4KCjIwMDgtMDYtMjAgMTQ6MzU6MjUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLio6IFJlc2V0IGVsZW1lbnQgc3RhdGUgb24gUEFVU0VELT5SRUFEWSBwcm9wZXJseSwgZG9uJ3QgbGVhayBhbnkgYnVmZmVycyB3aGVuIGZpbmFsaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGFjZTJfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3Jlc2V0X2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9yZXNldCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2ZpbmFsaXplKSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zaW5rX2V2ZW50KSwgKGdzdF9kZWludGVybGFjZTJfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBSZXNldCBlbGVtZW50IHN0YXRlIG9uIFBBVVNFRC0+UkVBRFkgcHJvcGVybHksIGRvbid0IGxlYWsgYW55IGJ1ZmZlcnMKCSAgd2hlbiBmaW5hbGl6aW5nLCBhbGxvY2F0ZSBidWZmZXJzIHdpdGggZ3N0X3BhZF9hbGxvY19idWZmZXIoKSBhbmQKCSAgcHJvcGVybHkgcmV0dXJuIGZsb3cgcmV0dXJucyBmcm9tIGdzdF9wYWRfcHVzaCgpIGluc3RlYWQgb2YgaWdub3JpbmcgdGhlbS4KCjIwMDgtMDYtMjAgMTM6NDU6MDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvdG9tc21vY29tcG1hY3Jvcy5oOiBBZGQgbWlzc2luZyBoZWFkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvdG9tc21vY29tcG1hY3Jvcy5oOgoJICBBZGQgbWlzc2luZyBoZWFkZXIuCgoyMDA4LTA2LTIwIDEzOjI0OjI5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBGaXggY29tcGlsYXRpb24gb24gZ2VuZXJpYyB4ODYvYW1kNjQgYW5kIGluY2x1ZGUgZGVpbnRlcmxhY2UyIGluIHRoZSBidWlsZCBzeXN0ZW0uIEJlY2F1c2Ugb2Ygc2V2ZXJhbCBidWdzIGl0J3Mgc3RpbGwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSAgRml4IGNvbXBpbGF0aW9uIG9uIGdlbmVyaWMgeDg2L2FtZDY0IGFuZCBpbmNsdWRlIGRlaW50ZXJsYWNlMiBpbiB0aGUKCSAgYnVpbGQgc3lzdGVtLiBCZWNhdXNlIG9mIHNldmVyYWwgYnVncyBpdCdzIHN0aWxsIGVuYWJsZWQgb25seQoJICBieSAtLWVuYWJsZS1leHBlcmltZW50YWwuCgoyMDA4LTA2LTIwIDEzOjA3OjU2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy4qOiBTY2hlZHVsZSBOQVYgcGFja2V0cyBhbmQgYWN0aXZhdGUgdGhlbSB3aXRoIGFuIGFzeW5jIGNsb2NrIGNhbGxiYWNrIGF0IHRoZSByaWdodCBtb21lbnQuIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgU2NoZWR1bGUgTkFWIHBhY2tldHMgYW5kIGFjdGl2YXRlIHRoZW0gd2l0aCBhbiBhc3luYyBjbG9jayBjYWxsYmFjawoJICBhdCB0aGUgcmlnaHQgbW9tZW50LiBUaGlzIG1ha2VzIGRlbGF5ZWQgbWVudSBoaWdobGlnaHRzIGFwcGVhcgoJICBhdCB0aGUgY29ycmVjdCB0aW1lIGFuZCBmaXhlcyBCYWNrIFRvIFRoZSBGdXR1cmUuCgkgIFdoZW4gb3V0cHV0dGluZyBuZXcgc2VnbWVudCBpbiBkb19zZWVrKCksIGNhbGN1bGF0ZSBvdXIgcG9zaXRpb24KCSAgdmFsdWUgcHJvcGVybHksIHNvIHdlIHJlcG9ydCB0aGUgcmlnaHQgdGltZSB3aGVuIHBvcHBpbmcgaW4gYW5kCgkgIG91dCBvZiB0aGUgbWVudXMuCgkgICogZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuYzoKCSAgV2hlbiBoYW5kbGluZyBhIG5vbi1mbHVzaGluZyBzZWVrLCBhY2N1bXVsYXRlIHRoZSBzZWdtZW50LAoJICByYXRoZXIgdGhhbiBoYXZpbmcgZXZlcnkgc2VlayBzdGFydCBmcm9tIDAgYW5kIG1lc3Npbmcgd2l0aCBzeW5jCgoyMDA4LTA2LTE5IDEzOjE4OjI0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBVc2UgQk9JTEVSUExBVEUgbWFjcm8gYW5kIHVwZGF0ZSB0ZXN0IHRvIHRoZSBsYXRlc3QgYXBpIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICAqIHRlc3RzL2ljbGVzL291dHB1dC1zZWxlY3Rvci10ZXN0LmM6CgkgIFVzZSBCT0lMRVJQTEFURSBtYWNybyBhbmQgdXBkYXRlIHRlc3QgdG8gdGhlIGxhdGVzdCBhcGkgY2hhbmdlcy4KCjIwMDgtMDYtMTkgMTE6MjU6MzcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleGFtcGxlcy9hcHAvYXBwc2luay1zcmMuYzogRG9uJ3QgdXNlIGEgYnVmZmVyIGFmdGVyIHVucmVmZmluZyBpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNpbmstc3JjLmM6IChvbl9uZXdfYnVmZmVyX2Zyb21fc291cmNlKToKCSAgRG9uJ3QgdXNlIGEgYnVmZmVyIGFmdGVyIHVucmVmZmluZyBpdC4KCjIwMDgtMDYtMTggMDc6MDI6NTQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzogQWRkIGRlc2NyaXB0aW9uIHRhZyBtYXBwaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkgIEFkZCBkZXNjcmlwdGlvbiB0YWcgbWFwcGluZy4KCjIwMDgtMDYtMTggMDY6MzE6MTMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCBndGstZG9jIHdhcm5pbmdzLiBBbHNvIGRvbid0IG1pc3VzZSBhcGktZG9jIGNvbW1lbnRzIGZvciBub3JtYWwgY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1yYS5jOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc2Vla2FibGUuYzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbS5jOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtMi5jOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDoKCSAgKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkgICogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5oOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5jOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5LmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5Lmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOgoJICBGaXggZ3RrLWRvYyB3YXJuaW5ncy4gQWxzbyBkb24ndCBtaXN1c2UgYXBpLWRvYyBjb21tZW50cyBmb3Igbm9ybWFsCgkgIGNvbW1lbnRzLgoKMjAwOC0wNi0xNyAxOTo1MjowMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzogUGFyc2UgdGhlIFVSSSBhcmd1bWVudCBpbnRvIHRoZSBkZXZpY2UgbmFtZSBzbyBkdmQ6Ly8vcGF0aC90by9pbWFnZSB3b3Jrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgIFBhcnNlIHRoZSBVUkkgYXJndW1lbnQgaW50byB0aGUgZGV2aWNlIG5hbWUgc28gZHZkOi8vL3BhdGgvdG8vaW1hZ2UKCSAgd29ya3MuCgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIEltcGxlbWVudCBhIHRyaXZpYWwgZHVyYXRpb24gcXVlcnkgcmVwb3J0aW5nIHRoZSBjdXJyZW50IFBHQyBsZW5ndGguCgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgUmVuYW1lIHR5cG8gaW4gdGhlIGZ1bmN0aW9uIG5hbWUuCgoyMDA4LTA2LTE3IDExOjAxOjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IERpc2FibGUgZGVpbnRlcmxhY2UyIHBsdWdpbiBhZ2FpbiB3aGljaCB3YXMgYWNjaWRlbnRseSBlbmFibGVkIHdpdGggbGFzdCBjb21taXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRGlzYWJsZSBkZWludGVybGFjZTIgcGx1Z2luIGFnYWluIHdoaWNoIHdhcyBhY2NpZGVudGx5IGVuYWJsZWQKCSAgd2l0aCBsYXN0IGNvbW1pdC4KCjIwMDgtMDYtMTcgMTA6NTM6MzUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIE1ha2UgcmVzaW5kdmQgd29yayB3aXRoIGxpYmR2ZG5hdiA+PSA0LjAuMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICBNYWtlIHJlc2luZHZkIHdvcmsgd2l0aCBsaWJkdmRuYXYgPj0gNC4wLjAuCgoyMDA4LTA2LTE3IDAxOjA4OjE0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQ2hlY2sgZm9yIGxpYmR2ZG5hdiB0byBidWlsZCByZXNpbmR2ZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDaGVjayBmb3IgbGliZHZkbmF2IHRvIGJ1aWxkIHJlc2luZHZkLgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkgICogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZWZzLmg6CgkgICogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICAqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguaDoKCSAgKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2Rlc2MuYzoKCSAgKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2Rlc2MuaDoKCSAgKiBleHQvcmVzaW5kdmQvZ3N0cGVzZmlsdGVyLmM6CgkgICogZXh0L3Jlc2luZHZkL2dzdHBlc2ZpbHRlci5oOgoJICAqIGV4dC9yZXNpbmR2ZC9wbHVnaW4uYzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW4tcGxheToKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uaDoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmg6CgkgICogZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuYzoKCSAgKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5oOgoJICAqIGV4dC9yZXNpbmR2ZC9yc25wdXNoc3JjLmM6CgkgICogZXh0L3Jlc2luZHZkL3JzbnB1c2hzcmMuaDoKCSAgKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuYzoKCSAgKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuaDoKCSAgRmlyc3QgY29tbWl0IG9mIERWRC1WaWRlbyBwbGF5YmFjayBjb21wb25lbnQgJ3JzbmR2ZGJpbicKCSAgYW5kIGhlbHBlciBlbGVtZW50cy4KCSAgVXNlIC0tZW5hYmxlLWV4cGVyaW1lbnRhbCBmb3Igbm93LCBidXQgZmVlbCBmcmVlIHRvIGdpdmUgaXQgYQoJICB0cnkgdXNpbmcgdGhlIHJlc2luLXBsYXkgc2NyaXB0LgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIEFkZCBzb21lIGV4dHJhIGd1YXJkcyBmb3IgbWFsZm9ybWVkIGV2ZW50cy4KCjIwMDgtMDYtMTcgMDA6Mzc6NDkgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIGRpcmFjIHJlcXVpcmVtZW50IHRvIDAuMTAgZHVlIHRvIGFwaSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgZGlyYWMgcmVxdWlyZW1lbnQgdG8gMC4xMCBkdWUgdG8gYXBpIGNoYW5nZXMuCgoyMDA4LTA2LTE2IDE0OjExOjM2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6CgkgIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmMgKGdzdF9hcHBfc3JjX3NldF9tYXhfYnl0ZXMpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTA2LTE2ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmMgKGdzdF9hcHBfc3JjX3NldF9tYXhfYnl0ZXMpCgkgIChnc3RfYXBwX3NyY19nZXRfbWF4X2J5dGVzLCBnc3RfYXBwX3NyY19wdXNoX2J1ZmZlcik6IFVzZQoJICBHX0dVSU5UNjRfRk9STUFULiBBdm9pZCBvdmVyZmxvdyBpbiBnZXRfbWF4X2J5dGVzKCkuCgoyMDA4LTA2LTE2IDEyOjM3OjM0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBNb3ZlIGRvY2Jsb2IgdXB3YXJkcy4gQmFsYW5jZSB0YWdzIGFuZCByZXN0b3JlIGJsYW5rIGxpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIE1vdmUgZG9jYmxvYiB1cHdhcmRzLiBCYWxhbmNlIHRhZ3MgYW5kIHJlc3RvcmUgYmxhbmsgbGluZS4KCjIwMDgtMDYtMTYgMTE6NDc6MzQgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBGaXggb3V0IG9mIGRhdGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgRml4IG91dCBvZiBkYXRlIGRvY3MuCgoyMDA4LTA2LTE2IDExOjI5OjQ2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgUGF0Y2ggZnJvbTogVmluY2VudCBHZW5pZXV4CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBmcm9tOiBWaW5jZW50IEdlbmlldXgKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgRml4IHJlZmNvdW50IGlzc3VlcywgZml4ZXMgIzUzODU2MC4KCjIwMDgtMDYtMTYgMDk6MjI6MzAgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBQYXJzZSB0aGUgZXh0ZW5kZWQgZXZlbnQgZGVzY3JpcHRvci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2dzdG1wZWdkZXNjLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgUGFyc2UgdGhlIGV4dGVuZGVkIGV2ZW50IGRlc2NyaXB0b3IuCgoyMDA4LTA2LTE2IDA3OjMwOjM0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaW5hbCByb3VuZCBvZiBkb2MgdXBkYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgICogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSAgKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmM6CgkgIEZpbmFsIHJvdW5kIG9mIGRvYyB1cGRhdGVzLgoKMjAwOC0wNi0xNiAwNzowMzo1OCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0LzogTW9yZSBkb2MgdXBkYXRlcy4gTW9yZSB4cmVmcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIE1vcmUgZG9jIHVwZGF0ZXMuIE1vcmUgeHJlZnMuCgoyMDA4LTA2LTEzIDIyOjQ2OjQzICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9mbHYvOiBJbnRyb2R1Y2UgZGVtdXhpbmcgc3VwcG9ydCBmb3IgQUFDIGFuZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wNi0xNCAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NsZWFudXApLAoJICAoZ3N0X2Zsdl9kZW11eF9kaXNwb3NlKToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV9hdWRpb19uZWdvdGlhdGUpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV92aWRlb19uZWdvdGlhdGUpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBJbnRyb2R1Y2UgZGVtdXhpbmcgc3VwcG9ydCBmb3IgQUFDCgkgIGFuZAoJICBILjI2NC9BVkMgaW5zaWRlIEZMVi4KCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuYzoKCSAgKGdzdF9kc2hvd2F1ZGlvZGVjX2luaXQpLAoJICAoZ3N0X2RzaG93YXVkaW9kZWNfY2hhaW4pLCAoZ3N0X2RzaG93YXVkaW9kZWNfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2RzaG93YXVkaW9kZWNfc2lua19ldmVudCksIChnc3RfZHNob3dhdWRpb2RlY19zZXR1cF9ncmFwaCk6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmg6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmM6CgkgIChnc3RfZHNob3d2aWRlb2RlY19pbml0KSwKCSAgKGdzdF9kc2hvd3ZpZGVvZGVjX3NpbmtfZXZlbnQpLCAoZ3N0X2RzaG93dmlkZW9kZWNfY2hhaW4pLAoJICAoZ3N0X2RzaG93dmlkZW9kZWNfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2RzaG93dmlkZW9kZWNfc3JjX2dldGNhcHMpOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5oOiBMb3Qgb2YgcmFuZG9tIGZpeGVzCgkgIHRvIGltcHJvdmUgc3RhYmlsaXR5IChyZWYgY291bnRpbmcsIHNhZmV0eSBjaGVja3MuLi4pCgoyMDA4LTA2LTEzIDE4OjI1OjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IERpc2FibGUgc2lwcm8gb24gNjRiaXRzLCBpdCBjcmFzaGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogKGdzdF9yZWFsX2F1ZGlvX2RlY19wcm9iZV9tb2R1bGVzKToKCSAgRGlzYWJsZSBzaXBybyBvbiA2NGJpdHMsIGl0IGNyYXNoZXMuCgoyMDA4LTA2LTEzIDE4OjAzOjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IEFkZCByYXZlcnNpb25zIHdlIGNhbiBzdXBwb3J0IG9uIHRoZSBjYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogKGdzdF9yZWFsX2F1ZGlvX2RlY19jaGFpbiksCgkgIChjbG9zZV9saWJyYXJ5KSwgKG9wZW5fbGlicmFyeSksCgkgIChnc3RfcmVhbF9hdWRpb19kZWNfcHJvYmVfbW9kdWxlcyksIChnc3RfcmVhbF9hdWRpb19kZWNfZ2V0Y2FwcyksCgkgIChnc3RfcmVhbF9hdWRpb19kZWNfc2V0Y2FwcyksIChnc3RfcmVhbF9hdWRpb19kZWNfaW5pdCksCgkgIChnc3RfcmVhbF9hdWRpb19kZWNfY2hhbmdlX3N0YXRlKSwgKGdzdF9yZWFsX2F1ZGlvX2RlY19maW5hbGl6ZSk6CgkgIEFkZCByYXZlcnNpb25zIHdlIGNhbiBzdXBwb3J0IG9uIHRoZSBjYXBzLgoJICBSZWZhY3RvciB0aGUgbG9hZGluZyBvZiB0aGUgcmVhbCBjb2RlY3MgbGlrZSByZWFsdmlkZW8gc28gdGhhdCB3ZSBjYW4KCSAgaW1wbGVtZW50IHByb2JpbmcuCgkgIFByb2JlIGFsbCBzdXBwb3J0ZWQgZm9ybWF0cyBieSB0cnlpbmcgdG8gbG9hZCB0aGUgLnNvIGZpbGVzLCBvbmx5IHJlcG9ydAoJICB0aGUgdmVyc2lvbnMgb24gdGhlIGNhcHMgdGhhdCB3ZSBjYW4gYWN0dWFsbHkgbG9hZC4KCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKGdzdF9yZWFsX3ZpZGVvX2RlY19jaGFpbiksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfZ2V0Y2FwcyksIChnc3RfcmVhbF92aWRlb19kZWNfc2V0Y2FwcyksCgkgIChvcGVuX2xpYnJhcnkpLCAoY2xvc2VfbGlicmFyeSksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfcHJvYmVfbW9kdWxlcyksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfY2hhbmdlX3N0YXRlKSwgKGdzdF9yZWFsX3ZpZGVvX2RlY19pbml0KSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19maW5hbGl6ZSksIChnc3RfcmVhbF92aWRlb19kZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmg6CgkgIENoYW5nZSB0aGUgbG9hZGluZyBvZiB0aGUgbGlicmFyeSBsaWtlIHRoZSBhdWRpbyBkZWNvZGVyLgoJICBQcm9iZSB0aGUgc3VwcG9ydGVkIGZvcm1hdHMgYnkgdHJ5aW5nIHRvIGxvYWQgdGhlIC5zbyBmaWxlcyBhbmQgb25seQoJICByZXBvcnQgdGhlIHZlcnNpb25zIG9uIHRoZSBjYXBzIHRoYXQgd2UgY2FuIGFjdHVhbGx5IGxvYWQuCgoyMDA4LTA2LTEzIDE1OjQ2OjAzICswMDAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxtYXJkdWtAay1kLXcub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzogSGFuZGxlIGNoYXJhY3RlciBzZXRzIGluIHN0cmluZ3MgY29taW5nIGZyb20gRFZCIFNJIGFjY29yZGluZyB0byB0aGUgRFZCIFNJIHNwZWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogU2ViYXN0aWFuIFDDtmxzdGVybAoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIEhhbmRsZSBjaGFyYWN0ZXIgc2V0cyBpbiBzdHJpbmdzIGNvbWluZyBmcm9tIERWQiBTSSBhY2NvcmRpbmcKCSAgdG8gdGhlIERWQiBTSSBzcGVjLgoKMjAwOC0wNi0xMyAxNDozMzo1MiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3JlcGxheWdhaW4vOiBNb3JlIGRvYyB1cGRhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSAgTW9yZSBkb2MgdXBkYXRlcy4KCjIwMDgtMDYtMTMgMTE6NTk6MjMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbAoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbAoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWwKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGltaWRpdHkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgICogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICAqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJICBBZGQgbWlzc2luZyBlbGVtZW50cyB0byBkb2NzLiBGaXggZG9jLW1hcmt1cDogdXNlIGNvbnZpbmllbmNlIHN5bnRheAoJICBmb3IgZXhhbXBsZXMgKHByb2R1Y2VzIHZhbGlkIGRvY2Jvb2spLCBhZGQgc2V2ZXJhbCByZWZzZWMyIHdoZW4gd2UKCSAgaGF2ZSBzZXZlcmFsIHRpdGxlcy4gRml4IHNvbWUgdHlwZXMuCgoyMDA4LTA2LTEyIDE1OjQ3OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXhhbXBsZXMvYXBwLzogQWRkIGJlZWZlZCB1cCBleGFtcGxlIGFwcCBmcm9tIGJ1ZyAjNDEzNDE4LiBJdCBub3cgYWxzbyB1c2VzIGFwcHNpbmsgaW5zdGVhZCBvZiBmYWtlc2luayBmb3IgbW9yZSB1bHRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2FwcC8uY3ZzaWdub3JlOgoJICAqIGV4YW1wbGVzL2FwcC9NYWtlZmlsZS5hbToKCSAgKiBleGFtcGxlcy9hcHAvYXBwc2luay1zcmMuYzogKG9uX25ld19idWZmZXJfZnJvbV9zb3VyY2UpLAoJICAob25fc291cmNlX21lc3NhZ2UpLCAob25fc2lua19tZXNzYWdlKSwgKG1haW4pOgoJICBBZGQgYmVlZmVkIHVwIGV4YW1wbGUgYXBwIGZyb20gYnVnICM0MTM0MTguIEl0IG5vdyBhbHNvIHVzZXMgYXBwc2luawoJICBpbnN0ZWFkIG9mIGZha2VzaW5rIGZvciBtb3JlIHVsdGltYXRlIGNvb2xuZXNzLgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6IChnc3RfYXBwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9hcHBfc3JjX2luaXQpLCAoZ3N0X2FwcF9zcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hcHBfc3JjX2dldF9wcm9wZXJ0eSksIChnc3RfYXBwX3NyY191bmxvY2spLAoJICAoZ3N0X2FwcF9zcmNfdW5sb2NrX3N0b3ApLCAoZ3N0X2FwcF9zcmNfY3JlYXRlKSwKCSAgKGdzdF9hcHBfc3JjX3NldF9tYXhfYnl0ZXMpLCAoZ3N0X2FwcF9zcmNfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2FwcF9zcmNfZW5kX29mX3N0cmVhbSk6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuaDoKCSAgQWRkIGJsb2NrIHByb3BlcnR5IHRvIGFsbG93IHB1c2ggYmFzZWQgaW1wbGVtZW50YXRpb24gdG8gYmxvY2sgd2hlbiB3ZQoJICBmaWxsIHVwIHRoZSBhcHBzcmMgcXVldWVzLgoJICBFbWl0IHRoZSBlbm91Z2gtZGF0YSBzaWduYWwgd2hpbGUgcmVsZWFzaW5nIG91ciBsb2NrLgoKMjAwOC0wNi0xMiAxNDo1MDoyNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXhhbXBsZXMvYXBwLy5jdnNpZ25vcmU6IElnbm9yZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9hcHAvLmN2c2lnbm9yZToKCSAgSWdub3JlIG1vcmUuCgoyMDA4LTA2LTEyIDE0OjQ5OjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEbyBub3QgdXNlIHNob3J0X2Rlc2NyaXB0aW9uIGluIHNlY3Rpb24gZG9jcyBmb3IgZWxlbWVudHMuIFdlIGV4dHJhY3QgdGhlbSBmcm9tIGVsZW1lbnQgZGV0YWlscyBhbmQgdGhlcmUgd2lsbCBiZSB3YXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgICogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzoKCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkgICogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgICogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSAgRG8gbm90IHVzZSBzaG9ydF9kZXNjcmlwdGlvbiBpbiBzZWN0aW9uIGRvY3MgZm9yIGVsZW1lbnRzLiBXZSBleHRyYWN0CgkgIHRoZW0gZnJvbSBlbGVtZW50IGRldGFpbHMgYW5kIHRoZXJlIHdpbGwgYmUgd2FybmluZ3MgaWYgdGhleSBkaWZmZXIuCgkgIEFsc28gZml4aW5nIHVwIHRoZSBDaGFuZ2VMb2cgb3JkZXIuCgoyMDA4LTA2LTEyIDE0OjIwOjQwICswMDAwICBTZWJhc3RpZW4gTWVybGUgPHN5bGFuZUBnbWFpbC5jb20+CgoJICBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzogRml4IHRoZSBzaWduIG9mIHRoZSBkYXRhIHdlIHBhc3MgdG8gdGhlIGRlY29kZXIgc28gdGhhdCB0aGUgZGVjb2RlciBjb21waWxlcyB3aXRoIG5ld2VyIHJlZmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpZW4gTWVybGUgPHN5bGFuZSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOiAoZ3N0X2FtcndiZGVjX2NoYWluKToKCSAgRml4IHRoZSBzaWduIG9mIHRoZSBkYXRhIHdlIHBhc3MgdG8gdGhlIGRlY29kZXIgc28gdGhhdCB0aGUgZGVjb2RlcgoJICBjb21waWxlcyB3aXRoIG5ld2VyIHJlZmVyZW5jZSBjb2RlIGFzIHdlbGwuIEZpeGVzICM1Mjg2MTguCgoyMDA4LTA2LTEyIDEzOjUxOjUxICswMDAwICBTZWJhc3RpZW4gTWVybGUgPHN5bGFuZUBnbWFpbC5jb20+CgoJICBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzogRml4IHRoZSBzaWduIG9mIHRoZSBkYXRhIHdlIHBhc3MgdG8gdGhlIGRlY29kZXIgc28gdGhhdCB0aGUgZGVjb2RlciBjb21waWxlcyB3aXRoIG5ld2VyIHJlZmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpZW4gTWVybGUgPHN5bGFuZSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOiAoZ3N0X2FtcndiZGVjX2NoYWluKToKCSAgRml4IHRoZSBzaWduIG9mIHRoZSBkYXRhIHdlIHBhc3MgdG8gdGhlIGRlY29kZXIgc28gdGhhdCB0aGUgZGVjb2RlcgoJICBjb21waWxlcyB3aXRoIG5ld2VyIHJlZmVyZW5jZSBjb2RlIGFzIHdlbGwuIEZpeGVzICM1Mjg2MTguCgoyMDA4LTA2LTEyIDEzOjA2OjM3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzogSW5jbHVkZSBzdGRsaWIuaC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvdGVzdC1vc3M0LmM6CgkgIEluY2x1ZGUgc3RkbGliLmguCgoyMDA4LTA2LTExIDExOjEyOjQ5ICswMDAwICBNYXJ0aW4gRWlrZXJtYW5uIDxtZWlrZXJAdXBiLmRlPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi86IEFkZCBhIGRlaW50ZXJsYWNlciBwbHVnaW4gYmFzZWQgb24gdGhlIHR2dGltZS9EU2NhbGVyIGRlaW50ZXJsYWNlciwgd2hpY2ggd2FzIHJlbGljZW5zZWQgdG8gTEdQTCBmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5OiBNYXJ0aW4gRWlrZXJtYW5uIDxtZWlrZXIgYXQgdXBiIGRvdCBkZT4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX21ldGhvZF9nZXRfdHlwZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2ZpZWxkc19nZXRfdHlwZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2ZpZWxkX2xheW91dF9nZXRfdHlwZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2Jhc2VfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KSwgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9wcm9wZXJ0eSksIChnc3RfZGVpbnRlcmxhY2UyX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2ZpbmFsaXplKSwgKGdzdF9kZWludGVybGFjZTJfcG9wX2hpc3RvcnkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9oZWFkX2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9wdXNoX2hpc3RvcnkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9kZWludGVybGFjZV9zY2FubGluZXMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldGNhcHMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zaW5rX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2hhbmdlX3N0YXRlKSwgKGdzdF9kZWludGVybGFjZTJfc3JjX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KSwgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5X3R5cGVzKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiAoY29weV9zY2FubGluZSksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChkc2NhbGVyX2dyZWVkeWxfZ2V0X21ldGhvZCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5aCksIChkc2NhbGVyX2dyZWVkeWhfZ2V0X21ldGhvZCksCgkgIChncmVlZHloX2luaXQpLCAoZ3JlZWR5aF9maWx0ZXJfbW14KSwgKGdyZWVkeWhfZmlsdGVyXzNkbm93KSwKCSAgKGdyZWVkeWhfZmlsdGVyX3NzZSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWhtYWNyb3MuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9tbXguaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9wbHVnaW5zLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR0b29scy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkeS5jOiAobXVsdGlwbHlfYWxwaGEpLCAoY2xpcDI1NSksCgkgIChjb21iX2ZhY3Rvcl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRpZmZfZmFjdG9yX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGRpZmZfZmFjdG9yX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGlmZl9wYWNrZWQ0MjJfYmxvY2s4eDhfbW14KSwgKGRpZmZfcGFja2VkNDIyX2Jsb2NrOHg4X2MpLAoJICAocGFja2VkNDQ0X3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQyMl90b19wYWNrZWQ0NDRfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0MjJfdG9fcGFja2VkNDQ0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHZmaWx0ZXJfY2hyb21hXzEyMV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKHZmaWx0ZXJfY2hyb21hXzEyMV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgICh2ZmlsdGVyX2Nocm9tYV8zMzJfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgICh2ZmlsdGVyX2Nocm9tYV8zMzJfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoa2lsbF9jaHJvbWFfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfbW14KSwKCSAgKGtpbGxfY2hyb21hX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX2MpLAoJICAoaW52ZXJ0X2NvbG91cl9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9tbXgpLAoJICAoaW52ZXJ0X2NvbG91cl9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9jKSwKCSAgKG1pcnJvcl9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9jKSwKCSAgKGludGVycG9sYXRlX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbnZlcnRfdXl2eV90b195dXl2X3NjYW5saW5lX21teCksCgkgIChjb252ZXJ0X3V5dnlfdG9feXV5dl9zY2FubGluZV9jKSwKCSAgKGludGVycG9sYXRlX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoaW50ZXJwb2xhdGVfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14ZXh0KSwgKHNtYWxsX21lbWNweSksCgkgIChzcGVlZHlfbWVtY3B5X2MpLCAoc3BlZWR5X21lbWNweV9tbXgpLCAoc3BlZWR5X21lbWNweV9tbXhleHQpLAoJICAoYmxpdF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksIChibGl0X3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoYmxpdF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9jb2xvdXI0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9jb2xvdXI0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF90b19wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9hbHBoYW1hc2tfdG9fcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9hbHBoYW1hc2tfdG9fcGFja2VkNDQ0NF9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX2FscGhhbWFza19hbHBoYV90b19wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAocHJlbXVsdGlwbHlfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKHByZW11bHRpcGx5X3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGJsZW5kX3BhY2tlZDQyMl9zY2FubGluZV9jKSwgKGJsZW5kX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAocXVhcnRlcl9ibGl0X3ZlcnRpY2FsX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAocXVhcnRlcl9ibGl0X3ZlcnRpY2FsX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKHN1YnBpeF9ibGl0X3ZlcnRpY2FsX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGE4X3N1YnBpeF9ibGl0X3NjYW5saW5lX2MpLCAobXlyb3VuZCksIChpbml0X1JHQl90b19ZQ2JDcl90YWJsZXMpLAoJICAoaW5pdF9ZQ2JDcl90b19SR0JfdGFibGVzKSwgKHJnYjI0X3RvX3BhY2tlZDQ0NF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgIChyZ2JhMzJfdG9fcGFja2VkNDQ0NF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0NDRfdG9fcmdiMjRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAocGFja2VkNDQ0X3RvX25vbnByZW11bHRpcGxpZWRfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKGFzcGVjdF9hZGp1c3RfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwgKHNldHVwX3NwZWVkeV9jYWxscyksCgkgIChzcGVlZHlfZ2V0X2FjY2VsKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zc2UuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6IChGaWVsZGNvcHkpLAoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfdG9tc21vY29tcCksIChkc2NhbGVyX3RvbXNtb2NvbXBfZ2V0X21ldGhvZCksCgkgICh0b21zbW9jb21wX2luaXQpLCAodG9tc21vY29tcF9maWx0ZXJfbW14KSwKCSAgKHRvbXNtb2NvbXBfZmlsdGVyXzNkbm93KSwgKHRvbXNtb2NvbXBfZmlsdGVyX3NzZSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcDBBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BCb3R0b20uaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEVkZ2VBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BFZGdlQTguaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEEyLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBNi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQUguaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEFIMi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVG9wLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BWQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVkFILmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1N0cmFuZ2VCb2IuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsMi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9XaWVyZEJvYi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfbGluZSksCgkgIChkZWludGVybGFjZV9zY2FubGluZV92ZmlyKSwgKGNvcHlfc2NhbmxpbmUpLAoJICAoZHNjYWxlcl92ZmlyX2dldF9tZXRob2QpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3g4Ni02NF9tYWNyb3MuaW5jOgoJICBBZGQgYSBkZWludGVybGFjZXIgcGx1Z2luIGJhc2VkIG9uIHRoZSB0dnRpbWUvRFNjYWxlciBkZWludGVybGFjZXIsCgkgIHdoaWNoIHdhcyByZWxpY2Vuc2VkIHRvIExHUEwgZm9yIEdTdHJlYW1lciBhbmQgaW4gdGhlb3J5IHByb3ZpZGVzCgkgIGJldHRlciBhbmQgZmFzdGVyIHJlc3VsdHMgdGhhbiB0aGUgc2ltcGxlIGRlaW50ZXJsYWNlIGVsZW1lbnQuCgkgIEZpeGVzIGJ1ZyAjMTYzNTc4LgoJICBQb3J0ZWQgdG8gR1N0cmVhbWVyIDAuMTAgYnV0IHN0aWxsIG5vdCBlbmFibGVkIG9yIGluY2x1ZGVkIGluIHRoZQoJICBidWlsZCBzeXN0ZW0gYnkgZGVmYXVsdCBiZWNhdXNlIG9mIGJhZCBhcnRlZmFjdHMgY2F1c2VkIGJ5IGEgYnVnCgkgIHNvbWV3aGVyZSBhbmQgYXMgaXQgY2FuIGJlIG9ubHkgYnVpbGQgb24geDg2L2FtZDY0IEFUTSBhbmQgcmVxdWlyZXMKCSAgc3BlY2lhbCBDRkxBR1MuIFdpbGwgYmUgZml4ZWQgc29vbi4KCjIwMDgtMDYtMTEgMTE6MTI6MTQgKzAwMDAgIE1hcnRpbiBFaWtlcm1hbm4gPG1laWtlckB1cGIuZGU+CgoJICBnc3QvZGVpbnRlcmxhY2UyLzogQWRkIGEgZGVpbnRlcmxhY2VyIHBsdWdpbiBiYXNlZCBvbiB0aGUgdHZ0aW1lL0RTY2FsZXIgZGVpbnRlcmxhY2VyLCB3aGljaCB3YXMgcmVsaWNlbnNlZCB0byBMR1BMIGYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6IE1hcnRpbiBFaWtlcm1hbm4gPG1laWtlciBhdCB1cGIgZG90IGRlPgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfbWV0aG9kX2dldF90eXBlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfZmllbGRzX2dldF90eXBlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfZmllbGRfbGF5b3V0X2dldF90eXBlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfYmFzZV9pbml0KSwgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X3Byb3BlcnR5KSwgKGdzdF9kZWludGVybGFjZTJfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfZmluYWxpemUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9wb3BfaGlzdG9yeSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2hlYWRfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX3B1c2hfaGlzdG9yeSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2RlaW50ZXJsYWNlX3NjYW5saW5lcyksIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0Y2FwcyksIChnc3RfZGVpbnRlcmxhY2UyX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnlfdHlwZXMpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IChjb3B5X3NjYW5saW5lKSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGRzY2FsZXJfZ3JlZWR5bF9nZXRfbWV0aG9kKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKSwgKGRzY2FsZXJfZ3JlZWR5aF9nZXRfbWV0aG9kKSwKCSAgKGdyZWVkeWhfaW5pdCksIChncmVlZHloX2ZpbHRlcl9tbXgpLCAoZ3JlZWR5aF9maWx0ZXJfM2Rub3cpLAoJICAoZ3JlZWR5aF9maWx0ZXJfc3NlKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aG1hY3Jvcy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL21teC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3BsdWdpbnMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHRvb2xzLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5LmM6IChtdWx0aXBseV9hbHBoYSksIChjbGlwMjU1KSwKCSAgKGNvbWJfZmFjdG9yX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGlmZl9mYWN0b3JfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoZGlmZl9mYWN0b3JfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkaWZmX3BhY2tlZDQyMl9ibG9jazh4OF9tbXgpLCAoZGlmZl9wYWNrZWQ0MjJfYmxvY2s4eDhfYyksCgkgIChwYWNrZWQ0NDRfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAocGFja2VkNDIyX3RvX3BhY2tlZDQ0NF9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQyMl90b19wYWNrZWQ0NDRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAodmZpbHRlcl9jaHJvbWFfMTIxX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAodmZpbHRlcl9jaHJvbWFfMTIxX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKHZmaWx0ZXJfY2hyb21hXzMzMl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKHZmaWx0ZXJfY2hyb21hXzMzMl9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChraWxsX2Nocm9tYV9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9tbXgpLAoJICAoa2lsbF9jaHJvbWFfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfYyksCgkgIChpbnZlcnRfY29sb3VyX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX21teCksCgkgIChpbnZlcnRfY29sb3VyX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX2MpLAoJICAobWlycm9yX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX2MpLAoJICAoaW50ZXJwb2xhdGVfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29udmVydF91eXZ5X3RvX3l1eXZfc2NhbmxpbmVfbW14KSwKCSAgKGNvbnZlcnRfdXl2eV90b195dXl2X3NjYW5saW5lX2MpLAoJICAoaW50ZXJwb2xhdGVfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChpbnRlcnBvbGF0ZV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDQ0NF9zY2FubGluZV9tbXgpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDQ0NF9zY2FubGluZV9tbXhleHQpLCAoc21hbGxfbWVtY3B5KSwKCSAgKHNwZWVkeV9tZW1jcHlfYyksIChzcGVlZHlfbWVtY3B5X21teCksIChzcGVlZHlfbWVtY3B5X21teGV4dCksCgkgIChibGl0X3BhY2tlZDQyMl9zY2FubGluZV9jKSwgKGJsaXRfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChibGl0X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX2NvbG91cjQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX2NvbG91cjQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X3RvX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX2FscGhhbWFza190b19wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX2FscGhhbWFza190b19wYWNrZWQ0NDQ0X3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfYWxwaGFtYXNrX2FscGhhX3RvX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChwcmVtdWx0aXBseV9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAocHJlbXVsdGlwbHlfcGFja2VkNDQ0NF9zY2FubGluZV9tbXhleHQpLAoJICAoYmxlbmRfcGFja2VkNDIyX3NjYW5saW5lX2MpLCAoYmxlbmRfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChxdWFydGVyX2JsaXRfdmVydGljYWxfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChxdWFydGVyX2JsaXRfdmVydGljYWxfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoc3VicGl4X2JsaXRfdmVydGljYWxfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoYThfc3VicGl4X2JsaXRfc2NhbmxpbmVfYyksIChteXJvdW5kKSwgKGluaXRfUkdCX3RvX1lDYkNyX3RhYmxlcyksCgkgIChpbml0X1lDYkNyX3RvX1JHQl90YWJsZXMpLCAocmdiMjRfdG9fcGFja2VkNDQ0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHJnYmEzMl90b19wYWNrZWQ0NDQ0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQ0NF90b19yZ2IyNF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0NDRfdG9fbm9ucHJlbXVsdGlwbGllZF9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAoYXNwZWN0X2FkanVzdF9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLCAoc2V0dXBfc3BlZWR5X2NhbGxzKSwKCSAgKHNwZWVkeV9nZXRfYWNjZWwpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkeS5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NzZS5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzogKEZpZWxkY29weSksCgkgIChkZWludGVybGFjZV9mcmFtZV9kaV90b21zbW9jb21wKSwgKGRzY2FsZXJfdG9tc21vY29tcF9nZXRfbWV0aG9kKSwKCSAgKHRvbXNtb2NvbXBfaW5pdCksICh0b21zbW9jb21wX2ZpbHRlcl9tbXgpLAoJICAodG9tc21vY29tcF9maWx0ZXJfM2Rub3cpLCAodG9tc21vY29tcF9maWx0ZXJfc3NlKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wMEEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEJvdHRvbS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wRWRnZUEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEVkZ2VBOC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQTIuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEE2LmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBSC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQUgyLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BUb3AuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFZBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BWQUguaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU3RyYW5nZUJvYi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwyLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1dpZXJkQm9iLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9saW5lKSwKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX3ZmaXIpLCAoY29weV9zY2FubGluZSksCgkgIChkc2NhbGVyX3ZmaXJfZ2V0X21ldGhvZCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUveDg2LTY0X21hY3Jvcy5pbmM6CgkgIEFkZCBhIGRlaW50ZXJsYWNlciBwbHVnaW4gYmFzZWQgb24gdGhlIHR2dGltZS9EU2NhbGVyIGRlaW50ZXJsYWNlciwKCSAgd2hpY2ggd2FzIHJlbGljZW5zZWQgdG8gTEdQTCBmb3IgR1N0cmVhbWVyIGFuZCBpbiB0aGVvcnkgcHJvdmlkZXMKCSAgYmV0dGVyIGFuZCBmYXN0ZXIgcmVzdWx0cyB0aGFuIHRoZSBzaW1wbGUgZGVpbnRlcmxhY2UgZWxlbWVudC4KCSAgRml4ZXMgYnVnICMxNjM1NzguCgkgIFBvcnRlZCB0byBHU3RyZWFtZXIgMC4xMCBidXQgc3RpbGwgbm90IGVuYWJsZWQgb3IgaW5jbHVkZWQgaW4gdGhlCgkgIGJ1aWxkIHN5c3RlbSBieSBkZWZhdWx0IGJlY2F1c2Ugb2YgYmFkIGFydGVmYWN0cyBjYXVzZWQgYnkgYSBidWcKCSAgc29tZXdoZXJlIGFuZCBhcyBpdCBjYW4gYmUgb25seSBidWlsZCBvbiB4ODYvYW1kNjQgQVRNIGFuZCByZXF1aXJlcwoJICBzcGVjaWFsIENGTEFHUy4gV2lsbCBiZSBmaXhlZCBzb29uLgoKMjAwOC0wNi0xMSAwNzo1ODo0NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLio6IEluaXRpYWxpemUgd2lsZG1pZGkgb25seSBvbmNlIGluIHRoZSBwbHVnaW4gaW5pdCBmdW5jdGlvbiBpbnN0ZWFkIG9mIG9uY2UgZm9yIGV2ZXJ5IGluc3RhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5OiAgU29uaWNhZHZhbmNlMSBhdCBHTUFJTCBkb3QgQ09NCgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6IChnc3Rfd2lsZG1pZGlfaW5pdCksCgkgIChnc3Rfd2lsZG1pZGlfY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuaDoKCSAgSW5pdGlhbGl6ZSB3aWxkbWlkaSBvbmx5IG9uY2UgaW4gdGhlIHBsdWdpbiBpbml0IGZ1bmN0aW9uIGluc3RlYWQKCSAgb2Ygb25jZSBmb3IgZXZlcnkgaW5zdGFuY2UuIFRoZSBzZWNvbmQgYW5kIGZvbGxvd2luZyBjYWxscyB0byB0aGUKCSAgd2lsZG1pZGkgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24gd2lsbCBmYWlsLiBGaXhlcyBidWcgIzUyNTYxMy4KCSAgQWxzbyBkb24ndCByZWdpc3RlciB0aGUgZWxlbWVudCBhdCBhbGwgaWYgd2lsZG1pZGkgaW5pdGlhbGl6YXRpb24KCSAgZmFpbHMuCgoyMDA4LTA2LTEwIDEyOjU0OjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzogQ2FsbCBnc3RfZWxlbWVudF9ub19tb3JlX3BhZHMoKSBhZnRlciBhbGwgcGFkcyBhcmUgYWRkZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBDYWxsIGdzdF9lbGVtZW50X25vX21vcmVfcGFkcygpIGFmdGVyIGFsbCBwYWRzIGFyZSBhZGRlZC4KCjIwMDgtMDYtMDkgMTc6NTc6MDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzogQWRkIHNpbXBsZSByZXZlcnNlIHBsYXliYWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzogKGdzdF9yYXdfcGFyc2VfcHVzaF9idWZmZXIpLAoJICAoZ3N0X3Jhd19wYXJzZV9sb29wKSwgKGdzdF9yYXdfcGFyc2VfaGFuZGxlX3NlZWtfcHVzaCksCgkgIChnc3RfcmF3X3BhcnNlX2hhbmRsZV9zZWVrX3B1bGwpOgoJICBBZGQgc2ltcGxlIHJldmVyc2UgcGxheWJhY2suCgoyMDA4LTA2LTA5IDEyOjA1OjAwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLio6IEZpeCBzZWVraW5nLCB0aW1lc3RhbXBzLCBkdXJhdGlvbiBhbmQgc29tZSBtb3JlLiBGaXhlcyAjNTM2MzA5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzogKGdzdF9yYXdfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X3Jhd19wYXJzZV9wdXNoX2J1ZmZlciksIChnc3RfcmF3X3BhcnNlX2NoYWluKSwKCSAgKGdzdF9yYXdfcGFyc2VfbG9vcCksIChnc3RfcmF3X3BhcnNlX3NpbmtfYWN0aXZhdGVwdWxsKSwKCSAgKGdzdF9yYXdfcGFyc2VfY29udmVydCksIChnc3RfcmF3X3BhcnNlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3Jhd19wYXJzZV9oYW5kbGVfc2Vla19wdXNoKSwgKGdzdF9yYXdfcGFyc2VfaGFuZGxlX3NlZWtfcHVsbCksCgkgIChnc3RfcmF3X3BhcnNlX3NyY19xdWVyeSksIChnc3RfcmF3X3BhcnNlX2dldF9mcHMpOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5oOgoJICBGaXggc2Vla2luZywgdGltZXN0YW1wcywgZHVyYXRpb24gYW5kIHNvbWUgbW9yZS4gRml4ZXMgIzUzNjMwOS4KCjIwMDgtMDYtMDYgMTY6NTA6NTEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleGFtcGxlcy9hcHAvOiBBZGRlZCAzIG1vcmUgZXhhbXBsZSBhcHBsaWNhdGlvbiBmb3IgdXNpbmcgYXBwc3JjIGluIHJhbmRvbS1hY2Nlc3MgbW9kZSwgcHVsbC1tb2RlIHN0cmVhbWluZyBhbmQgcHVsbCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvYXBwL01ha2VmaWxlLmFtOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtcmEuYzogKGZlZWRfZGF0YSksIChzZWVrX2RhdGEpLAoJICAoZm91bmRfc291cmNlKSwgKGJ1c19tZXNzYWdlKSwgKG1haW4pOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc2Vla2FibGUuYzogKGZlZWRfZGF0YSksIChzZWVrX2RhdGEpLAoJICAoZm91bmRfc291cmNlKSwgKGJ1c19tZXNzYWdlKSwgKG1haW4pOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtMi5jOiAoZmVlZF9kYXRhKSwgKGZvdW5kX3NvdXJjZSksCgkgIChidXNfbWVzc2FnZSksIChtYWluKToKCSAgQWRkZWQgMyBtb3JlIGV4YW1wbGUgYXBwbGljYXRpb24gZm9yIHVzaW5nIGFwcHNyYyBpbiByYW5kb20tYWNjZXNzIG1vZGUsCgkgIHB1bGwtbW9kZSBzdHJlYW1pbmcgYW5kIHB1bGwgbW9kZSBzZWVrYWJsZS4KCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOiAoZ3N0X2FwcF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYXBwX3NyY19zdGFydCksIChnc3RfYXBwX3NyY19kb19nZXRfc2l6ZSksCgkgIChnc3RfYXBwX3NyY19jcmVhdGUpOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmg6CgkgIE1ha2Ugc3RyZWFtLXR5cGUgcHJvcGVydHkgd3JpdGFibGUuCgkgIFVuc2V0IGZsdXNoaW5nIHdoZW4gc3RhcnRpbmcgc28gdGhhdCB3ZSByZXVzZSBhcHBzcmMuCgkgIEluZm9ybSBiYXNlc3JjIGFib3V0IHRoZSBjb25maWd1cmVkIHNpemUuCgkgIEVtaXQgc2Vlay1kYXRhIHNpZ25hbCB3aGVuIHdlIGFyZSBnb2luZyB0byBhIGRpZmZlcmVudCBvZmZzZXQgaW4KCSAgcmFuZG9tLWFjY2VzcyBtb2RlLgoKMjAwOC0wNi0wNiAxNDoxOTo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtLmM6IFVzZSBkZWVwLW5vdGlmeSB1bnRpbCB3ZSBjYW4gZGVwZW5kIG9uIGEgcGxheWJpbjIgd2l0aCBzdXBwb3J0IGZvciB0aGUgc291cmNlIHByb3BlcnR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbS5jOiAoZm91bmRfc291cmNlKSwgKG1haW4pOgoJICBVc2UgZGVlcC1ub3RpZnkgdW50aWwgd2UgY2FuIGRlcGVuZCBvbiBhIHBsYXliaW4yIHdpdGggc3VwcG9ydCBmb3IgdGhlCgkgIHNvdXJjZSBwcm9wZXJ0eS4KCjIwMDgtMDYtMDYgMTM6MDE6MDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRml4IGRlYWRsb2NrIHdoZW4gc2h1dHRpbmcgZG93biwgdXNlIGEgbmV3IGxvY2sgaW5zdGVhZCB0byBwcm9wZXJseSBzaHV0ZG93bi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9pbml0KSwKCSAgKGdzdF9ydHBfYmluX2ZpbmFsaXplKSwgKGdzdF9ydHBfYmluX2NoYW5nZV9zdGF0ZSk6CgkgIEZpeCBkZWFkbG9jayB3aGVuIHNodXR0aW5nIGRvd24sIHVzZSBhIG5ldyBsb2NrIGluc3RlYWQgdG8gcHJvcGVybHkKCSAgc2h1dGRvd24uCgoyMDA4LTA2LTA1IDE2OjM4OjUwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXhhbXBsZXMvYXBwLzogQWRkZWQgYW4gZXhhbXBsZSBvbiBob3cgdG8gdXNlIGFwcHNyYyBpbiBwbGF5YmluIGluIHN0cmVhbWluZyBtb2RlIGZyb20gYW4gbW1hcHBlZCBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9hcHAvLmN2c2lnbm9yZToKCSAgKiBleGFtcGxlcy9hcHAvTWFrZWZpbGUuYW06CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0uYzogKHJlYWRfZGF0YSksIChzdGFydF9mZWVkKSwKCSAgKHN0b3BfZmVlZCksIChmb3VuZF9zb3VyY2UpLCAoYnVzX21lc3NhZ2UpLCAobWFpbik6CgkgIEFkZGVkIGFuIGV4YW1wbGUgb24gaG93IHRvIHVzZSBhcHBzcmMgaW4gcGxheWJpbiBpbiBzdHJlYW1pbmcgbW9kZSBmcm9tCgkgIGFuIG1tYXBwZWQgZmlsZS4KCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjX2V4LmM6IChtYWluKToKCSAgU2V0IHBpcGVsaW5lIHRvIE5VTEwgdG8gZnJlZSBxdWV1ZWQgYnVmZmVycy4KCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcC1tYXJzaGFsLmxpc3Q6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzogKHN0cmVhbV90eXBlX2dldF90eXBlKSwgKF9kb19pbml0KSwKCSAgKGdzdF9hcHBfc3JjX2NsYXNzX2luaXQpLCAoZ3N0X2FwcF9zcmNfaW5pdCksCgkgIChnc3RfYXBwX3NyY19mbHVzaF9xdWV1ZWQpLCAoZ3N0X2FwcF9zcmNfZGlzcG9zZSksCgkgIChnc3RfYXBwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X2FwcF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hcHBfc3JjX3VubG9jayksIChnc3RfYXBwX3NyY191bmxvY2tfc3RvcCksCgkgIChnc3RfYXBwX3NyY19zdGFydCksIChnc3RfYXBwX3NyY19zdG9wKSwgKGdzdF9hcHBfc3JjX2lzX3NlZWthYmxlKSwKCSAgKGdzdF9hcHBfc3JjX2NoZWNrX2dldF9yYW5nZSksIChnc3RfYXBwX3NyY19kb19zZWVrKSwKCSAgKGdzdF9hcHBfc3JjX2NyZWF0ZSksIChnc3RfYXBwX3NyY19zZXRfc3RyZWFtX3R5cGUpLAoJICAoZ3N0X2FwcF9zcmNfZ2V0X3N0cmVhbV90eXBlKSwgKGdzdF9hcHBfc3JjX3NldF9tYXhfYnl0ZXMpLAoJICAoZ3N0X2FwcF9zcmNfZ2V0X21heF9ieXRlcyksIChnc3RfYXBwX3NyY19wdXNoX2J1ZmZlciksCgkgIChnc3RfYXBwX3NyY19lbmRfb2Zfc3RyZWFtKSwgKGdzdF9hcHBfc3JjX3VyaV9nZXRfdHlwZSksCgkgIChnc3RfYXBwX3NyY191cmlfZ2V0X3Byb3RvY29scyksIChnc3RfYXBwX3NyY191cmlfZ2V0X3VyaSksCgkgIChnc3RfYXBwX3NyY191cmlfc2V0X3VyaSksIChnc3RfYXBwX3NyY191cmlfaGFuZGxlcl9pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5oOgoJICBNZWFzdXJlIG1heCBxdWV1ZSBzaXplIGluIGJ5dGVzIGluc3RlYWQuCgkgIEFkZCBzdXBwb3J0IGZvciAzIG1vZGVzIG9mIG9wZXJhdGlvbiwgc3RyZWFtaW5nLCBzZWVrYWJsZSBhbmQKCSAgcmFuZG9tLWFjY2VzcywgbWFraW5nIGJhc2VzcmMgaGFuZGxlIHRoZSBzY2hlZHVsaW5nIG1vZGVzIGZvciBlYWNoLgoJICBBZGQgYXBwc3JjOi8vIHVyaSBoYW5kbGVyIHNvIHRoYXQgYXV0b21hdGljIHBsdWdnaW5nIGNhbiBiZSBkb25lIGZyb20KCSAgcGxheWJpbjIgb3IgdXJpZGVjb2RlYmluLCBmb3IgZXhhbXBsZS4KCSAgQWRkZWQgc3VwcG9ydCBmb3IgY3VzdG9tIHNlZ21lbnQgZm9ybWF0cy4KCSAgQWRkIHN1cHBvcnQgZm9yIHB1c2ggYW5kIHB1bGwgYmFzZWQgb3BlcmF0aW9ucyBmcm9tIHRoZSBhcHBsaWNhdGlvbi4KCSAgRXhwYW5kIHRoZSBtZXRob2RzIHNvIHRoYXQgZXJyb3JzIGNhbiBiZSBkZXRlY3RlZC4KCSAgRmx1c2ggdGhlIHF1ZXVlZCBidWZmZXJzIG9uIHNlZWtzIGFuZCB3aGVuIHNodXR0aW5nIGRvd24uCgkgIEFkZCBzaWduYWxzIHRvIGluZm9ybSB0aGUgYXBwIHRoYXQgYSBzZWVrIG11c3QgaGFwcGVuLgoKMjAwOC0wNi0wNSAxMTowNzoxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvOiBQcm9wZXJseSBpbXBsZW1lbnQgZHVyYXRpb24gYW5kIHBvc2l0aW9uIHF1ZXJpZXMgaW4gYnl0ZXMgZm9ybWF0LiBXZSBoYXZlIHRvIHRha2UgdGhlIHVwc3RyZWFtIHJlcGx5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9hZGRfbmV3X3BhZHMpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9zcmNfcXVlcnkpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeV9kdXJhdGlvbiksCgkgIChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnkpOgoJICBQcm9wZXJseSBpbXBsZW1lbnQgZHVyYXRpb24gYW5kIHBvc2l0aW9uIHF1ZXJpZXMgaW4gYnl0ZXMgZm9ybWF0LiBXZQoJICBoYXZlIHRvIHRha2UgdGhlIHVwc3RyZWFtIHJlcGx5IGFuZCBkaXZpZGUvbXVsdGlwbHkgaXQgYnkgdGhlIG51bWJlcgoJICBvZiBjaGFubmVscyB0byBnZXQgdGhlIGNvcnJlY3QgcmVzdWx0LgoKMjAwOC0wNi0wNCAyMToxODo1MyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL2RzaG93dmlkZW9zaW5rLzogRml4IHVwIGNvcHlyaWdodCBub3RpY2Ugb24gbmV3IHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9mYWtlc3JjLmNwcDoKCSAgKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb2Zha2VzcmMuaDoKCSAgKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJICAqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5oOgoJICBGaXggdXAgY29weXJpZ2h0IG5vdGljZSBvbiBuZXcgcGx1Z2luLgoKMjAwOC0wNi0wNCAxNzowMjozOCArMDAwMCAgSm9uIFRyb3dicmlkZ2UgPHRyb3dAeGltaWFuLmNvbT4KCgkgIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzogVXBkYXRlIHByb3BlcnRpZXMgZm9yIHJlY2VudCBkaXJhYyBjaGFuZ2VzLiAgUGF0Y2ggZnJvbSBKb25hdGhhbiBSb3NzZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzogVXBkYXRlIHByb3BlcnRpZXMgZm9yIHJlY2VudAoJICBkaXJhYyBjaGFuZ2VzLiAgUGF0Y2ggZnJvbSBKb25hdGhhbiBSb3NzZXIuCgoyMDA4LTA2LTA0IDExOjMzOjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiBUcnkgaGFyZGVyIG5vdCB0byBjcmFzaCB3aGVuIHdlIGdldCBhbiBFT1MgZXZlbnQgYnV0IGhhdmVuJ3Qgc2V0IHVwIHRoZSBlbmNvZGVyIHlldCAoYXMgbWF5IGhhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogKGdzdF94MjY0X2VuY19oZWFkZXJfYnVmKSwKCSAgKGdzdF94MjY0X2VuY19zaW5rX2V2ZW50KSwgKGdzdF94MjY0X2VuY19jaGFpbiksCgkgIChnc3RfeDI2NF9lbmNfZW5jb2RlX2ZyYW1lKToKCSAgVHJ5IGhhcmRlciBub3QgdG8gY3Jhc2ggd2hlbiB3ZSBnZXQgYW4gRU9TIGV2ZW50IGJ1dCBoYXZlbid0IHNldAoJICB1cCB0aGUgZW5jb2RlciB5ZXQgKGFzIG1heSBoYXBwZW4gd2hlbiB1cHN0cmVhbSBlcnJvcnMgb3V0IHdpdGgKCSAgbm90LW5lZ290aWF0ZWQsIGZvciBleGFtcGxlKS4gQWxzbywgYWx3YXlzIHB1c2ggdGhlIEVPUyBldmVudAoJICBkb3duc3RyZWFtLgoKMjAwOC0wNi0wNCAwNjo0ODo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS4qOiBVc2UgYW4gYWx3YXlzIGluY3JlYXNpbmcgaW50ZWdlciBmb3IgdGhlIG51bWJlciBpbiB0aGUgbmFtZSBvZiB0aGUgcmVxdWVzdGVkIHNpbmsgcGFkcyB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGdzdF9pbnRlcmxlYXZlX3BhZF9nZXRfdHlwZSksCgkgIChnc3RfaW50ZXJsZWF2ZV9wYWRfZ2V0X3Byb3BlcnR5KSwgKGdzdF9pbnRlcmxlYXZlX3BhZF9jbGFzc19pbml0KSwKCSAgKGdzdF9pbnRlcmxlYXZlX3JlcXVlc3RfbmV3X3BhZCksIChnc3RfaW50ZXJsZWF2ZV9yZWxlYXNlX3BhZCk6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJICBVc2UgYW4gYWx3YXlzIGluY3JlYXNpbmcgaW50ZWdlciBmb3IgdGhlIG51bWJlciBpbiB0aGUgbmFtZSBvZiB0aGUKCSAgcmVxdWVzdGVkIHNpbmsgcGFkcyB0byBndWFyYW50dWVlIGEgdW5pcXVlIG5hbWUuIEFkZCBhICJjaGFubmVsIgoJICBwcm9wZXJ0eSB0byBHc3RJbnRlcmxlYXZlUGFkIHRvIG1ha2UgaXQgcG9zc2libGUgZm9yIGFwcGxpY2F0aW9ucwoJICB0byByZXRyaWV2ZSB0aGUgY2hhbm5lbCBudW1iZXIgaW4gdGhlIG91dHB1dCBmb3IgZXZlcnkgcGFkLgoJICBVc2UgZ190eXBlX3JlZ2lzdGVyX3N0YXRpY19zaW1wbGUoKSBpbnN0ZWFkIG9mCgkgIGdfdHlwZV9yZWdpc3Rlcl9zdGF0aWMoKSB0byBzYXZlIHNvbWUgcmVsb2NhdGlvbnMuCgoyMDA4LTA2LTAzIDE1OjQxOjA1ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBhdXRvZ2VuLnNoOgoJICBmaXggcGFja2FnZSBuYW1lCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggcGFja2FnZSBuYW1lCgoyMDA4LTA2LTAzIDE0OjM1OjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IFN0b3AgR3N0Q29sbGVjdFBhZHMgYmVmb3JlIGNhbGxpbmcgdGhlIHBhcmVudCdzIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiB3aGVuIGdvaW5nIGZyb20gUEEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoZ3N0X2ludGVybGVhdmVfcGFkX2dldF90eXBlKSwKCSAgKGdzdF9pbnRlcmxlYXZlX2NoYW5nZV9zdGF0ZSk6CgkgIFN0b3AgR3N0Q29sbGVjdFBhZHMgYmVmb3JlIGNhbGxpbmcgdGhlIHBhcmVudCdzIHN0YXRlIGNoYW5nZSBmdW5jdGlvbgoJICB3aGVuIGdvaW5nIGZyb20gUEFVU0VEIHRvIFJFQURZIGFzIHdlIG90aGVyd2lzZSBkZWFkbG9jay4KCSAgRml4ZXMgYnVnICM1MzYyNTguCgoyMDA4LTA2LTAzIDExOjEwOjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuKjogUGFyc2UgY29kZWNfZGF0YSBhbmQgdXNlIHRoZSBuYWx1X3NpemVfbGVuZ3RoIGZpZWxkIHRvIGdldCB0aGUgTkFMVSBsZW5ndGggaW4gcGFja2V0aXplLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IChnc3RfbmFsX2JzX2luaXQpLAoJICAoZ3N0X2gyNjRfcGFyc2Vfc2lua19zZXRjYXBzKSwgKGdzdF9oMjY0X3BhcnNlX2NoYWluX2ZvcndhcmQpLAoJICAoZ3N0X2gyNjRfcGFyc2VfcXVldWVfYnVmZmVyKSwgKGdzdF9oMjY0X3BhcnNlX2NoYWluX3JldmVyc2UpLAoJICAoZ3N0X2gyNjRfcGFyc2VfY2hhaW4pOgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIFBhcnNlIGNvZGVjX2RhdGEgYW5kIHVzZSB0aGUgbmFsdV9zaXplX2xlbmd0aCBmaWVsZCB0byBnZXQgdGhlIE5BTFUKCSAgbGVuZ3RoIGluIHBhY2tldGl6ZWQgaDI2NC4KCSAgV2hlbiBxdWV1ZWluZyBhIHBhY2tldGl6ZWQgYnVmZmVyIGluIHJldmVyc2UgbW9kZSwgZG9uJ3QgdW5yZWYgdGhlCgkgIGJ1ZmZlciB0d2ljZS4KCSAgQXZvaWQgYWNjZXNzaW5nIHRoZSBidWZmZXIgVElNRVNUQU1QIGZpZWxkIGFmdGVyIHdlIHB1c2hlZCBpdCBvbgoJICB0aGUgYWRhcHRvci4KCjIwMDgtMDYtMDMgMDk6MDM6MTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogVXNlIG5ldyBnc3RfYXVkaW9fY2hlY2tfY2hhbm5lbF9wb3NpdGlvbnMoKSBmdW5jdGlvbiBhbmQgcmVnaXN0ZXIgdGhlIEdzdEludGVybGVhdmVQYWQgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIChnc3RfaW50ZXJsZWF2ZV9jaGVja19jaGFubmVsX3Bvc2l0aW9ucyksCgkgIChnc3RfaW50ZXJsZWF2ZV9zZXRfY2hhbm5lbF9wb3NpdGlvbnMpLAoJICAoZ3N0X2ludGVybGVhdmVfY2xhc3NfaW5pdCk6CgkgIFVzZSBuZXcgZ3N0X2F1ZGlvX2NoZWNrX2NoYW5uZWxfcG9zaXRpb25zKCkgZnVuY3Rpb24gYW5kIHJlZ2lzdGVyCgkgIHRoZSBHc3RJbnRlcmxlYXZlUGFkIHR5cGUgZnJvbSBhIHRocmVhZHNhZmUgY29udGV4dC4KCjIwMDgtMDYtMDIgMjE6NTE6NTIgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogUmV2ZXJ0IGFjY2lkZW50YWwgYWRkaXRpb24gaW4gY29uZmlndXJlLmFjLiBTb3JyeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZXZlcnQgYWNjaWRlbnRhbCBhZGRpdGlvbiBpbiBjb25maWd1cmUuYWMuIFNvcnJ5LgoKMjAwOC0wNi0wMiAxODoyMzo1NCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgQWRkIGEgbmV3IHdpbjMyIHZpZGVvc2luay4gVXNlcyB0aGUgRGlyZWN0U2hvdyByZW5kZXJlcnMgZm9yIGhpZ2gtcGVyZm9ybWFuY2UgdmlkZW8gcmVuZGVyaW5nIG9uIHdpbjMyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd3ZpZGVvc2luay9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3d2aWRlb3NpbmsvUkVBRE1FOgoJICAqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvZmFrZXNyYy5jcHA6CgkgICogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9mYWtlc3JjLmg6CgkgICogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSAgKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuaDoKCSAgQWRkIGEgbmV3IHdpbjMyIHZpZGVvc2luay4gVXNlcyB0aGUgRGlyZWN0U2hvdyByZW5kZXJlcnMgZm9yCgkgIGhpZ2gtcGVyZm9ybWFuY2UgdmlkZW8gcmVuZGVyaW5nIG9uIHdpbjMyLgoJICBDdXJyZW50bHkgb25seSBzdXBwb3J0cyBzb21lIFlVViBmb3JtYXRzLgoJICBSYW5rIFBSSU1BUlksIHNpbmNlIGl0J3MgbXVjaCBtb3JlIHVzZWZ1bCBmb3IgdGhlIGNvbW1vbiBjYXNlcyB0aGF0IHRoZQoJICBkaXJlY3RkcmF3IHNpbmsgKHdoaWNoIG9ubHkgZG9lcyBSR0IpLgoKMjAwOC0wNi0wMiAxODowNjozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zcGMvTWFrZWZpbGUuYW06IERpc3QgdGFnLmgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwYy9NYWtlZmlsZS5hbToKCSAgRGlzdCB0YWcuaAoKMjAwOC0wNi0wMiAxNzowNjozNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogQWx3YXlzIGRyYWluIGJlZm9yZSBhY3RpdmF0aW5nIHRoZSBuZXcgc2VnbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfc2lua19ldmVudCk6CgkgIEFsd2F5cyBkcmFpbiBiZWZvcmUgYWN0aXZhdGluZyB0aGUgbmV3IHNlZ21lbnQuCgoyMDA4LTA2LTAyIDEyOjQyOjE0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLio6IEFsbG93IHNldHRpbmcgY2hhbm5lbCBwb3NpdGlvbnMgdmlhIGEgcHJvcGVydHkgYW5kIGFsbG93IHVzaW5nIHRoZSBjaGFubmVsIHBvc2l0aW9ucyBvbiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoZ3N0X2ludGVybGVhdmVfcGFkX2dldF90eXBlKSwKCSAgKGdzdF9pbnRlcmxlYXZlX2ZpbmFsaXplKSwgKGdzdF9hdWRpb19jaGVja19jaGFubmVsX3Bvc2l0aW9ucyksCgkgIChnc3RfaW50ZXJsZWF2ZV9zZXRfY2hhbm5lbF9wb3NpdGlvbnMpLAoJICAoZ3N0X2ludGVybGVhdmVfY2xhc3NfaW5pdCksIChnc3RfaW50ZXJsZWF2ZV9pbml0KSwKCSAgKGdzdF9pbnRlcmxlYXZlX3NldF9wcm9wZXJ0eSksIChnc3RfaW50ZXJsZWF2ZV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2ludGVybGVhdmVfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9pbnRlcmxlYXZlX3JlbGVhc2VfcGFkKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3Npbmtfc2V0Y2FwcyksIChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnlfZHVyYXRpb24pLAoJICAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5X2xhdGVuY3kpLCAoZ3N0X2ludGVybGVhdmVfY29sbGVjdGVkKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgIEFsbG93IHNldHRpbmcgY2hhbm5lbCBwb3NpdGlvbnMgdmlhIGEgcHJvcGVydHkgYW5kIGFsbG93IHVzaW5nIHRoZQoJICBjaGFubmVsIHBvc2l0aW9ucyBvbiB0aGUgaW5wdXQgYXMgdGhlIGNoYW5uZWwgcG9zaXRpb25zIG9mIHRoZSBvdXRwdXQuCgkgIEZpeCBzb21lIGJyb2tlbiBsb2dpYyBhbmQgbWVtb3J5IGxlYWtzLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzogKHNyY19oYW5kb2ZmX2Zsb2F0MzIpLAoJICAoc2lua19oYW5kb2ZmX2Zsb2F0MzIpLCAoR1NUX1NUQVJUX1RFU1QpLCAoaW50ZXJsZWF2ZV9zdWl0ZSk6CgkgIEFkZCB1bml0IHRlc3RzIGZvciBjaGVja2luZyBjb3JyZWN0IGhhbmRsaW5nIG9mIGNoYW5uZWwgcG9zaXRpb25zLgoKMjAwOC0wNi0wMiAxMDoxODoyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuKjogQWRkIGJhc2ljIHJldmVyc2UgcGxheWJhY2sgc3VwcG9ydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfZGlzcG9zZSksIChjbGVhcl9xdWV1ZWQpLAoJICAoZmx1c2hfcXVldWVkKSwgKGdzdF9mYWFkX2RyYWluKSwgKGdzdF9mYWFkX2RvX3Jhd19zZWVrKSwKCSAgKGdzdF9mYWFkX3NyY19ldmVudCksIChnc3RfZmFhZF9zaW5rX2V2ZW50KSwgKGdzdF9mYWFkX2NoYWluKSwKCSAgKGdzdF9mYWFkX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJICBBZGQgYmFzaWMgcmV2ZXJzZSBwbGF5YmFjayBzdXBwb3J0LgoJICBDbGVhciBkZWNvZGVyIHN0YXRlIGFmdGVyIGRpc2NvbnRzLgoJICBSZW1vdmUgc29tZSB1bnVzZWQgY29kZS4KCSAgTWFyayBvdXRwdXQgYnVmZmVycyB3aXRoIGEgZGlzY29udCBhZnRlciBhIGRlY29kaW5nIGVycm9yLgoKMjAwOC0wNi0wMiAwNzozNzozMSArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzogRml4IG1wZWc0dmlkZW9wYXJzZSBvbiBiaWcgZW5kaWFuIGFyY2hpdGVjdHVyZXMuIEZpeGVzIGJ1ZyAjNTM2MDQyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgKGdzdF9tcGVnNHZwYXJzZV9oYW5kbGVfdm9zKToKCSAgRml4IG1wZWc0dmlkZW9wYXJzZSBvbiBiaWcgZW5kaWFuIGFyY2hpdGVjdHVyZXMuIEZpeGVzIGJ1ZyAjNTM2MDQyLgoKMjAwOC0wNS0yOSAxOTo1Njo1MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvbXBsZXguYzogRG9uJ3QgdXNlIHRoZSBkZXByZWNhdGVkIGdzdF9lbGVtZW50X2dldF9wYWQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBsZXguYzogKHNldHVwX3NyY19wYWQpLAoJICAodGVhcmRvd25fc3JjX3BhZCk6CgkgIERvbid0IHVzZSB0aGUgZGVwcmVjYXRlZCBnc3RfZWxlbWVudF9nZXRfcGFkKCkuCgoyMDA4LTA1LTI5IDE5OjExOjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleGFtcGxlcy9kaXJlY3RmYi9nc3RkZmIuYzogRG9uJ3QgdXNlIHRoZSBkZXByZWNhdGVkIGdzdF9lbGVtZW50X2dldF9wYWQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvZGlyZWN0ZmIvZ3N0ZGZiLmM6IChtYWluKToKCSAgRG9uJ3QgdXNlIHRoZSBkZXByZWNhdGVkIGdzdF9lbGVtZW50X2dldF9wYWQoKS4KCjIwMDgtMDUtMjggMDg6NTM6MDAgKzAwMDAgIE9ua2FyIFNoaW5kZSA8b25rYXJzaGluZGVAZ21haWwuY29tPgoKCSAgc3lzL3ZjZC92Y2RzcmMuYzogQWxsb3cgdGhlIHRyYWNrIHRvIGJlIHNldCBieSB1c2luZyB0aGUgdXJpLiBGaXhlcyAjNTM1MDQzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IDxvbmthcnNoaW5kZSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIHN5cy92Y2QvdmNkc3JjLmM6IChnc3RfdmNkc3JjX3VyaV9nZXRfdXJpKSwKCSAgKGdzdF92Y2RzcmNfdXJpX3NldF91cmkpOgoJICBBbGxvdyB0aGUgdHJhY2sgdG8gYmUgc2V0IGJ5IHVzaW5nIHRoZSB1cmkuIEZpeGVzICM1MzUwNDMuCgoyMDA4LTA1LTI4IDA4OjE0OjE2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnlfZHVyYXRpb24pLAoJICAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5X2xhdGVuY3kpLCAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5KToKCSAgSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkuCgoyMDA4LTA1LTI3IDE3OjUzOjU4ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6IEFkZCBHU1RfQlVGRkVSX0ZMQUdfREVMVEFfVU5JVCB0byBub3QgSSBmcmFtZSBidWZmZXJzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBBZGQgR1NUX0JVRkZFUl9GTEFHX0RFTFRBX1VOSVQgdG8gbm90IEkgZnJhbWUgYnVmZmVycwoKMjAwOC0wNS0yNyAxNjo0ODoxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBCcmVhayBvdXQgb2YgY2FsbGJhY2tzIHdoZW4gd2UgYXJlIHNodXR0aW5nIGRvd24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICAoZ3N0X3J0cF9iaW5fcHJvcGFnYXRlX3Byb3BlcnR5X3RvX2ppdHRlcmJ1ZmZlciksCgkgIChnc3RfcnRwX2Jpbl9jaGFuZ2Vfc3RhdGUpLCAobmV3X3BheWxvYWRfZm91bmQpLAoJICAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgQnJlYWsgb3V0IG9mIGNhbGxiYWNrcyB3aGVuIHdlIGFyZSBzaHV0dGluZyBkb3duLgoJICBNYWtlIHN1cmUgbm8gc3RhdGUgY2hhbmdlcyBjYW4gaGFwcGVuIHdoZW4gd2UgcmVjb25maWd1cmUuCgoyMDA4LTA1LTI3IDE2OjMyOjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgY29uZmlndXJlLmFjOiBSZXF1aXJlIENWUyBjb3JlIGFuZCBiYXNlIGZvciBuZXcgYXVkaW8gY2xvY2sgcmVzZXQgbWV0aG9kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlcXVpcmUgQ1ZTIGNvcmUgYW5kIGJhc2UgZm9yIG5ldyBhdWRpbyBjbG9jayByZXNldCBtZXRob2QuCgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6IChhbHNhc3BkaWZzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgIFJlc2V0IHRoZSBhdWRpbyBjbG9jay4gU2VlICM1MjE3NjEuCgoyMDA4LTA1LTI2IDE3OjUyOjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiBJbmNsdWRlIHRoZSBlbGVtZW50IG5hbWUgaW4gdGhlIHBvcnQgbmFtZSB0byBhdm9pZCBkdXBsaWNhdGUgcG9ydCBuYW1lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19hbGxvY2F0ZV9jaGFubmVscyk6CgkgIEluY2x1ZGUgdGhlIGVsZW1lbnQgbmFtZSBpbiB0aGUgcG9ydCBuYW1lIHRvIGF2b2lkIGR1cGxpY2F0ZSBwb3J0IG5hbWVzLgoKMjAwOC0wNS0yNiAxMDoyODo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IEFkZCBhbm90aGVyIGV4YW1wbGUgbGF1bmNoIGxpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBBZGQgYW5vdGhlciBleGFtcGxlIGxhdW5jaCBsaW5lLgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGludGVybGVhdmVfMjQpLAoJICAoZ3N0X2ludGVybGVhdmVfZmluYWxpemUpLCAoZ3N0X2ludGVybGVhdmVfYmFzZV9pbml0KSwKCSAgKGdzdF9pbnRlcmxlYXZlX2NsYXNzX2luaXQpLCAoZ3N0X2ludGVybGVhdmVfaW5pdCksCgkgIChnc3RfaW50ZXJsZWF2ZV9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X2ludGVybGVhdmVfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X2ludGVybGVhdmVfY2hhbmdlX3N0YXRlKSwgKF9fcmVtb3ZlX2NoYW5uZWxzKSwKCSAgKF9fc2V0X2NoYW5uZWxzKSwgKGdzdF9pbnRlcmxlYXZlX3NpbmtfZ2V0Y2FwcyksCgkgIChnc3RfaW50ZXJsZWF2ZV9zZXRfcHJvY2Vzc19mdW5jdGlvbiksCgkgIChnc3RfaW50ZXJsZWF2ZV9zaW5rX3NldGNhcHMpLCAoZ3N0X2ludGVybGVhdmVfc2lua19ldmVudCksCgkgIChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnlfZHVyYXRpb24pLCAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5KSwKCSAgKGZvcndhcmRfZXZlbnRfZnVuYyksIChmb3J3YXJkX2V2ZW50KSwgKGdzdF9pbnRlcmxlYXZlX3NyY19ldmVudCksCgkgIChnc3RfaW50ZXJsZWF2ZV9jb2xsZWN0ZWQpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSAgTWFqb3IgcmV3cml0ZSBvZiBpbnRlcmxlYXZlIHVzaW5nIEdzdENvbGxlY3RwYWRzLiBUaGlzIG5ldyB2ZXJzaW9uCgkgIGFsc28gc3VwcG9ydHMgYWxtb3N0IGFsbCByYXcgYXVkaW8gZm9ybWF0cyBhbmQgaGFzIGJldHRlciBjYXBzCgkgIG5lZ290aWF0aW9uLiBGaXhlcyBidWcgIzUwNjU5NC4KCSAgQWxzbyB1cGRhdGUgZG9jcyBhbmQgYWRkIHNvbWUgbW9yZSBleGFtcGxlcy4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6IChpbnRlcmxlYXZlX2NoYWluX2Z1bmMpLAoJICAoR1NUX1NUQVJUX1RFU1QpLCAoc3JjX2hhbmRvZmZfZmxvYXQzMiksIChzaW5rX2hhbmRvZmZfZmxvYXQzMiksCgkgIChpbnRlcmxlYXZlX3N1aXRlKToKCSAgQWRkIHNvbWUgbW9yZSBleHRlbnNpdmUgdW5pdCB0ZXN0cyBmb3IgaW50ZXJsZWF2ZS4KCjIwMDgtMDUtMjYgMTA6MDk6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogV2hlbiBjaGVja2luZyB0aGUgc2VxbnVtLCByZXNldCB0aGUgaml0dGVyYnVmZmVyIGlmIHRoZSBnYXAgaXMgdG9vIGJpZywgd2UgbmVlZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBXaGVuIGNoZWNraW5nIHRoZSBzZXFudW0sIHJlc2V0IHRoZSBqaXR0ZXJidWZmZXIgaWYgdGhlIGdhcCBpcyB0b28gYmlnLAoJICB3ZSBuZWVkIHRvIGRvIHRoaXMgc28gdGhhdCB3ZSBjYW4gYmV0dGVyIGhhbmRsZSBhIHJlc3RhcnRlZCBzb3VyY2UuCgkgIEZpeCBzb21lIGNvbW1lbnRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAoY2FsY3VsYXRlX3NrZXcpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KToKCSAgVHdlYWsgdGhlIHNrZXcgcmVzeW5jIGRpZmYuCgkgIFVzZSBvdXIgd29ya2luZyBzZXFudW0gY29tcGFyZSBmdW5jdGlvbiBpbiAtYmFzZS4KCSAgUmV3b3JrIHRoZSBqaXR0ZXJidWZmZXIgaW5zZXJ0IGNvZGUgdG8gbWFrZSBpdCBjbGVhcmVyIGFuZCBtb3JlCgkgIHBlcmZvcm1hbnQgYnkgb25seSByZXRyaWV2aW5nIHRoZSBzZXFudW0gb2YgdGhlIGlucHV0IGJ1ZmZlciBvbmNlIGFuZCBieQoJICBhZGRpbmcgc29tZSBHX0xJS0VMWSBjb21waWxlciBoaW50cy4KCSAgSW1wcm92ZSBkZWJ1Z2dpbmcgZm9yIGR1cGxpY2F0ZSBwYWNrZXRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCk6CgkgIEZpeCBhIGNvbW1lbnQsIHdlIGRvbid0IGRvIHNrZXcgY29ycmVjdGlvbiBoZXJlLi4KCjIwMDgtMDUtMjYgMTA6MDA6MjQgKzAwMDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUHJvcGFnYXRlIHRoZSBkby1sb3N0IGFuZCBsYXRlbmN5IHByb3BlcnRpZXMgdG8gdGhlIGppdHRlcmJ1ZmZlcnMgd2hlbiB0aGV5IGFyZSBjaGFuZ2VkIG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBIw6V2YXJkIEdyYWZmIDxoYXZhcmQgZG90IGdyYWZmIGF0IHRhbmRiZXJnIGRvdCBjb20+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIChnc3RfcnRwX2Jpbl9wcm9wYWdhdGVfcHJvcGVydHlfdG9faml0dGVyYnVmZmVyKSwKCSAgKGdzdF9ydHBfYmluX3NldF9wcm9wZXJ0eSk6CgkgIFByb3BhZ2F0ZSB0aGUgZG8tbG9zdCBhbmQgbGF0ZW5jeSBwcm9wZXJ0aWVzIHRvIHRoZSBqaXR0ZXJidWZmZXJzIHdoZW4KCSAgdGhleSBhcmUgY2hhbmdlZCBvbiBydHBiaW4uCgoyMDA4LTA1LTI2IDA5OjU3OjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgRG9uJ3QgdXNlIF9nc3RfcGFkKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jOiAoc3dpdGNoX3RpbWVyKToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOiAoZ3N0X3JnX3ZvbHVtZV9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzogKGNyZWF0ZV9zdHJlYW0pOgoJICAqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzogKGdzdF9zZHBfZGVtdXhfc3RyZWFtX2NvbmZpZ3VyZV91ZHApLAoJICAoZ3N0X3NkcF9kZW11eF9zdHJlYW1fY29uZmlndXJlX3VkcF9zaW5rKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKHBhZF9hZGRlZF9zZXR1cF9kYXRhX2NoZWNrX2Zsb2F0MzJfOGNoX2NiKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IChzZW5kX2Vvc19ldmVudCksCgkgIChzZW5kX3RhZ19ldmVudCk6CgkgIERvbid0IHVzZSBfZ3N0X3BhZCgpLgoKMjAwOC0wNS0yMiAxOTo0Nzo1MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIGludGVybGVhdmUvZGVpbnRlcmxlYXZlIHRvIHRoZSBkb2NzIGFuZCB3aGlsZSBhdCB0aGF0IHJ1biBtYWtlIHVwZGF0ZSBpbiBkb2NzL3BsdWdpbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgQWRkIGludGVybGVhdmUvZGVpbnRlcmxlYXZlIHRvIHRoZSBkb2NzIGFuZCB3aGlsZSBhdCB0aGF0CgkgIHJ1biBtYWtlIHVwZGF0ZSBpbiBkb2NzL3BsdWdpbnMuCgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgIEFkZCBhIHBhcmFwcmFwaCBhYm91dCB1c2luZyBhIHF1ZXVlIGFuZCBhdWRpb2NvbnZlcnQgYWZ0ZXIgdGhlIHNvdXJjZQoJICBwYWRzIHRvIHRoZSBkb2NzLgoKMjAwOC0wNS0yMiAxODo1NTowOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLio6IERvbid0IHNldCBhIGdldGNhcHMoKSBmdW5jdGlvbiBvbiB0aGUgc3JjIHBhZHMgYXMgaXQncyBub3QgcmVxdWlyZWQgYW5kIHRoZSBkZWZhdWx0IGdlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9iYXNlX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGVhdmVfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2FkZF9uZXdfcGFkcyksIChnc3RfZGVpbnRlcmxlYXZlX3NpbmtfZ2V0Y2Fwcyk6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmg6CgkgIERvbid0IHNldCBhIGdldGNhcHMoKSBmdW5jdGlvbiBvbiB0aGUgc3JjIHBhZHMgYXMgaXQncyBub3QgcmVxdWlyZWQKCSAgYW5kIHRoZSBkZWZhdWx0IGdldGNhcHMoKSBmdW5jdGlvbiByZXR1cm5zIHRoZSBjb3JyZWN0IHJlc3VsdHMgZm9yCgkgIG91ciBzcmMgcGFkcy4KCSAgQ29tcGxldGUgZG9jdW1lbnRhdGlvbiBhbmQgYWRkIG15c2VsZiB0byB0aGUgYXV0aG9ycyBvZiB0aGUgZWxlbWVudC4KCjIwMDgtMDUtMjIgMTY6MzM6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9pY2xlcy86IFNtYWxsIG9zczQgdGVzdCB0aGF0IHByb2JlcyBmb3IgYXZhaWxhYmxlIGRldmljZXMgYW5kIHJldHJpZXZlcyB0aGVpciBjYXBzIGFuZCBtaXhlciB0cmFja3MgYW5kIGFsbCB0aGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzogKG9wdF9zaG93X21peGVyX21lc3NhZ2VzKSwgKFdBSVRfVElNRSksCgkgIChzaG93X21peGVyX21lc3NhZ2VzKSwgKHByb2JlX21peGVyX3RyYWNrcyksIChwcm9iZV9wYWQpLAoJICAocHJvYmVfZGV0YWlscyksIChwcm9iZV9lbGVtZW50KSwgKG1haW4pOgoJICBTbWFsbCBvc3M0IHRlc3QgdGhhdCBwcm9iZXMgZm9yIGF2YWlsYWJsZSBkZXZpY2VzIGFuZCByZXRyaWV2ZXMKCSAgdGhlaXIgY2FwcyBhbmQgbWl4ZXIgdHJhY2tzIGFuZCBhbGwgdGhhdC4gQWxzbyBhbGxvd3MgdGVzdGluZyBvZgoJICBtaXhlciBjaGFuZ2UgbWVzc2FnZXMgb24gdGhlIGJ1cy4KCjIwMDgtMDUtMjIgMTU6MTQ6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvb3NzNC86IE1ha2UgZGV2aWNlLW5hbWUgcHJvYmluZyBpbiBOVUxMIHN0YXRlIHdvcmsgYmV0dGVyIChlLmcuIGZvciB0aGUgZ25vbWUtY29udHJvbC1jZW50ZXIgc291bmQgY2FwcGxldCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzogKGdzdF9vc3M0X21peGVyX29wZW4pOgoJICAqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuYzoKCSAgKGdzdF9vc3M0X3Byb3BlcnR5X3Byb2JlX2ZpbmRfZGV2aWNlX25hbWUpLAoJICAoZ3N0X29zczRfcHJvcGVydHlfcHJvYmVfZmluZF9kZXZpY2VfbmFtZV9ub2ZkKToKCSAgKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmg6CgkgICogc3lzL29zczQvb3NzNC1zaW5rLmM6IChnc3Rfb3NzNF9zaW5rX2dldF9wcm9wZXJ0eSk6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuYzogKGdzdF9vc3M0X3NvdXJjZV9nZXRfcHJvcGVydHkpOgoJICBNYWtlIGRldmljZS1uYW1lIHByb2JpbmcgaW4gTlVMTCBzdGF0ZSB3b3JrIGJldHRlciAoZS5nLiBmb3IgdGhlCgkgIGdub21lLWNvbnRyb2wtY2VudGVyIHNvdW5kIGNhcHBsZXQpLgoKMjAwOC0wNS0yMiAxNDowMzowNSArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzogTW92ZSBzb21lIGNvZGUgYXJvdW5kIHRvIGludGVncmF0ZSB0aGUgc3RhcnRjb2RlIHNlYXJjaGluZyB3aXRoIHRoZSBvdGhlciBiaXRzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOiAoZ3N0X21wZWc0dnBhcnNlX3B1c2gpLAoJICAoZ3N0X21wZWc0dnBhcnNlX2RyYWluKSwgKGdzdF9tcGVnNHZwYXJzZV9jaGFpbiksCgkgIChnc3RfbXBlZzR2cGFyc2VfY2hhbmdlX3N0YXRlKToKCSAgTW92ZSBzb21lIGNvZGUgYXJvdW5kIHRvIGludGVncmF0ZSB0aGUgc3RhcnRjb2RlIHNlYXJjaGluZyB3aXRoIHRoZQoJICBvdGhlciBiaXRzIG9mIHBhcnNpbmcsIGF2b2lkIGEgd2hvbGUgYnVuY2ggb2YgcGVla3MuCgkgIEdldCByaWQgb2YgaW52YWxpZCBkYXRhIHRoYXQgc2hvdWxkIG5vdCBoYXBwZW4gYWNjb3JkaW5nIHRvIHRoZSBzcGVjcy4KCSAgRml4ZXMgIzUzMzU1OS4KCjIwMDgtMDUtMjAgMDk6MzY6NTYgKzAwMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkgIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IENvcnJlY3RseSBzZXQgZHVyYXRpb24gdG8gZ2V0IGEgbW9yZSBjb3JyZWN0IHNlZWsgYmFyIGluIHRvdGVtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJhc3RpZW4gTm9jZXJhIDxoYWRlc3MgYXQgaGFkZXNzIGRvdCBuZXQ+CgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzogKGdzdF9teXRodHZfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X215dGh0dl9zcmNfaW5pdCksIChnc3RfbXl0aHR2X3NyY19jbGVhciksCgkgIChkb19yZWFkX3JlcXVlc3RfcmVzcG9uc2UpLCAoZ3N0X215dGh0dl9zcmNfY3JlYXRlKSwKCSAgKGdzdF9teXRodHZfc3JjX3N0YXJ0KToKCSAgQ29ycmVjdGx5IHNldCBkdXJhdGlvbiB0byBnZXQgYSBtb3JlIGNvcnJlY3Qgc2VlayBiYXIgaW4gdG90ZW0uCgkgIERpc2FibGUgcXVlcnkgYW5kIGV2ZW50IGZ1bmN0aW9ucyBhcyB0aGV5IGRvbid0IHdvcmsgYW5kIGRvIHNvbWUKCSAgc21hbGxlciBjbGVhbnVwLgoJICBGaXhlcyBidWcgIzUzMzczNi4KCjIwMDgtMDUtMjAgMDk6MDQ6NDggKzAwMDAgIEJyaWFuIEtvcm9wb2ZmIDxicmlhbmhrQGNzLndhc2hpbmd0b24uZWR1PgoKCSAgZXh0L3NwYy86IEFkZCBzdXBwb3J0IGZvciBzb21lIGVzc2VudGlhbCBmZWF0dXJlcyBsaWtlIHNlZWtpbmcsIHJlYWRpbmcgc29uZyBkdXJhdGlvbiBhbmQgZXh0ZW5kZWQgdGFncy4gRml4ZXMgYnVnICM0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQnJpYW4gS29yb3BvZmYgPGJyaWFuaGsgYXQgY3MgZG90IHdhc2hpbmd0b24gZG90IGVkdT4KCSAgKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zcGMvZ3N0c3BjLmM6IChnc3Rfc3BjX2RlY19jbGFzc19pbml0KSwKCSAgKGdzdF9zcGNfZGVjX3NyY19xdWVyeV90eXBlKSwgKGdzdF9zcGNfZGVjX2luaXQpLAoJICAoZ3N0X3NwY19kZWNfZGlzcG9zZSksIChnc3Rfc3BjX2RlY19zaW5rX2V2ZW50KSwKCSAgKGdzdF9zcGNfZHVyYXRpb24pLCAoZ3N0X3NwY19mYWRlb3V0KSwgKGdzdF9zcGNfZGVjX3NyY19ldmVudCksCgkgIChnc3Rfc3BjX2RlY19zcmNfcXVlcnkpLCAoc3BjX3BsYXkpLCAoc3BjX3NldHVwKToKCSAgKiBleHQvc3BjL2dzdHNwYy5oOgoJICAqIGV4dC9zcGMvdGFnLmM6IChzcGNfdGFnX2lzX2V4dGVuZGVkKSwgKHNwY190YWdfaXNfdGV4dF9mb3JtYXQpLAoJICAoc3BjX3RhZ19pc19wcmVzZW50KSwgKHNwY190YWdfdW5wYWNrX2RhdGUpLCAoc3BjX3RhZ19jbGVhciksCgkgIChzcGNfdGFnX2dldF9pbmZvKSwgKHNwY190YWdfZnJlZSk6CgkgICogZXh0L3NwYy90YWcuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIHNvbWUgZXNzZW50aWFsIGZlYXR1cmVzIGxpa2Ugc2Vla2luZywgcmVhZGluZyBzb25nCgkgIGR1cmF0aW9uIGFuZCBleHRlbmRlZCB0YWdzLiBGaXhlcyBidWcgIzQ1NDE1MS4KCjIwMDgtMDUtMTkgMTI6MzI6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiBTZXQga2VlcC1wb3NpdGlvbnMgcHJvcGVydHkgdG8gVFJVRSBmb3IgdGhlIDggY2hhbm5lbCB0ZXN0IHRvIGVuc3VyZSB0aGF0IHRoZSBvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgU2V0IGtlZXAtcG9zaXRpb25zIHByb3BlcnR5IHRvIFRSVUUgZm9yIHRoZSA4IGNoYW5uZWwgdGVzdCB0byBlbnN1cmUKCSAgdGhhdCB0aGUgb3JpZ2luYWwgY2hhbm5lbCBwb3NpdGlvbiBpcyBzZXQgb24gdGhlIG91dHB1dC4KCjIwMDgtMDUtMTkgMDc6NDY6MDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS4qOiBBZGQgYSBwcm9wZXJ0eSB0byBzZWxlY3Qgd2hldGhlciBjaGFubmVsIHBvc2l0aW9ucyBzaG91bGQgYmUga2VwdCBvbiB0aGUgbW9ubyBvdXRwdXQgYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2luaXQpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9hZGRfbmV3X3BhZHMpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9zZXRfcGFkc19jYXBzKSwgKGdzdF9kZWludGVybGVhdmVfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGVhdmVfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuaDoKCSAgQWRkIGEgcHJvcGVydHkgdG8gc2VsZWN0IHdoZXRoZXIgY2hhbm5lbCBwb3NpdGlvbnMgc2hvdWxkIGJlIGtlcHQgb24KCSAgdGhlIG1vbm8gb3V0cHV0IGJ1ZmZlcnMgb3Igc2hvdWxkIGJlIGRyb3BwZWQuCgoyMDA4LTA1LTE4IDEwOjI3OjI1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGRvY3MvTWFrZWZpbGUuYW06IE9vcHMgLSBmaXggdGhlIHNwZWxsaW5nIG9mIHRoZSB2YXJpYWJsZSBJIGFkZGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL01ha2VmaWxlLmFtOgoJICBPb3BzIC0gZml4IHRoZSBzcGVsbGluZyBvZiB0aGUgdmFyaWFibGUgSSBhZGRlZC4KCjIwMDgtMDUtMTcgMTk6Mzk6NTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS4qOiBRdWV1ZSBldmVudHMgdW50aWwgc3JjIHBhZHMgd2VyZSBhZGRlZCBhbmQgdGhleSBjYW4gYmUgc2VudC4gT3RoZXJ3aXNlIGRvd25zdHJlYW0gd2lsbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfZmluYWxpemUpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9pbml0KSwgKGdzdF9kZWludGVybGVhdmVfc2lua19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3Byb2Nlc3MpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX2FjdGl2YXRlX3B1c2gpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5oOgoJICBRdWV1ZSBldmVudHMgdW50aWwgc3JjIHBhZHMgd2VyZSBhZGRlZCBhbmQgdGhleSBjYW4gYmUgc2VudC4gT3RoZXJ3aXNlCgkgIGRvd25zdHJlYW0gd2lsbCBuZXZlciBnZXQgdGhlIGZpcnN0IG5ld3NlZ21lbnQgZXZlbnQuCgoyMDA4LTA1LTE3IDE0OjA1OjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogQWx3YXlzIHNldCB0aGUgY2hhbm5lbCBwb3NpdGlvbnMgd2hlbiBnc3RfYXVkaW9fZ2V0X2NoYW5uZWxfcG9zaXRpb25zKCkgcmV0dXJucyBzb21ldGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2dldGNhcHMpOgoJICBBbHdheXMgc2V0IHRoZSBjaGFubmVsIHBvc2l0aW9ucyB3aGVuIGdzdF9hdWRpb19nZXRfY2hhbm5lbF9wb3NpdGlvbnMoKQoJICByZXR1cm5zIHNvbWV0aGluZywgZXZlbiBpZiB0aGV5J3JlIG5vdCBzZXQgaW4gdGhlIGNhcHMuIFRoaXMgbWFrZXMKCSAgc3VyZSB0aGF0IHRoZSBvdXRwdXQgY2hhbm5lbHMgY2FuIGJlIGludGVybGVhdmVkIGFnYWluIGNvcnJlY3RseQoJICBpbiB0aGUgbW9uby9zdGVyZW8gY2FzZXMgdG9vLgoJICBEb24ndCBhc2sgZm9yIHRoZSBwZWVyY2FwcyBvZiB0aGUgY3VycmVudCBwYWQgaW4gZ2V0Y2FwcygpIGFzIHRoaXMKCSAgbWlnaHQgY2FsbCBnZXRjYXBzKCkgYWdhaW4gYW5kIGRlYWRsb2NrLgoKMjAwOC0wNS0xNiAyMjowMDo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6IENoZWNrIHNvbWUgbW9yZSBjb21tb24gbG9jYXRpb25zIGZvciBhIHZhbGlkIGNvbmZpZ3VyYXRpb24gZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6ICh3aWxkbWlkaV9vcGVuX2NvbmZpZyk6CgkgIENoZWNrIHNvbWUgbW9yZSBjb21tb24gbG9jYXRpb25zIGZvciBhIHZhbGlkIGNvbmZpZ3VyYXRpb24gZmlsZS4KCSAgRml4ZXMgYnVnICM1MzM0MzUuIFBhY2thZ2VycyBzaG91bGQgc3RpbGwgI2RlZmluZSBXSUxETUlESV9DRkcKCSAgdG8gdGhlIGRpc3RyaWJ1dGlvbnMgZGVmYXVsdCBsb2NhdGlvbi4KCjIwMDgtMDUtMTYgMjE6NTY6MjQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlLzogQWRkIHN1cHBvcnQgZm9yIGFsbCByYXcgYXVkaW8gZm9ybWF0cyBhbmQgcHJvdmlkZSBiZXR0ZXIgbmVnb3RpYXRpb24gaWYgdGhlIGNhcHMgYXJlIGNoYW5naW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGRlaW50ZXJsZWF2ZV8yNCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2ZpbmFsaXplKSwgKGdzdF9kZWludGVybGVhdmVfYmFzZV9pbml0KSwKCSAgKGdzdF9kZWludGVybGVhdmVfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxlYXZlX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9hZGRfbmV3X3BhZHMpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9zZXRfcGFkc19jYXBzKSwKCSAgKGdzdF9kZWludGVybGVhdmVfc2V0X3Byb2Nlc3NfZnVuY3Rpb24pLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX3NldGNhcHMpLCAoX19yZW1vdmVfY2hhbm5lbHMpLAoJICAoX19zZXRfY2hhbm5lbHMpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9nZXRjYXBzKSwKCSAgKGdzdF9kZWludGVybGVhdmVfcHJvY2VzcyksIChnc3RfZGVpbnRlcmxlYXZlX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGVhdmVfc2lua19hY3RpdmF0ZV9wdXNoKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGFsbCByYXcgYXVkaW8gZm9ybWF0cyBhbmQgcHJvdmlkZSBiZXR0ZXIgbmVnb3RpYXRpb24KCSAgaWYgdGhlIGNhcHMgYXJlIGNoYW5naW5nLgoJICBEb24ndCBhbGxvdyBjaGFuZ2VzIG9mIHRoZSBjaGFubmVsIHBvc2l0aW9ucyBhbmQgc2V0IHRoZSBwb3NpdGlvbiBvZgoJICB0aGUgY29ycmVzcG9uZGluZyBjaGFubmVsIG9uIHRoZSBzcmMgcGFkIGNhcHMuCgkgIEdlbmVyYWwgY2xlYW51cCBhbmQgc21hbGxlciBidWdmaXhlcy4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzogKGZsb2F0X2J1ZmZlcl9jaGVja19wcm9iZSk6CgkgIENoZWNrIHRoZSBjaGFubmVsIHBvc2l0aW9ucyBvbiB0aGUgb3V0cHV0IGJ1ZmZlciBjYXBzLgoKMjAwOC0wNS0xNiAxOTo1NjozMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBkb2NzL01ha2VmaWxlLmFtOiBEb24ndCBhdHRlbXB0IHRvIGJ1aWxkIHBsdWdpbiBkb2NzIHdoZW4gdGhleSdyZSBkaXNhYmxlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9NYWtlZmlsZS5hbToKCSAgRG9uJ3QgYXR0ZW1wdCB0byBidWlsZCBwbHVnaW4gZG9jcyB3aGVuIHRoZXkncmUgZGlzYWJsZWQuCgkgICogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJICBBZGQgbGliZ3N0dmlkZW8gdG8gdGhlIGxpbmsuCgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgIEZpeCBsaW5rIG9yZGVyLCBhbmQgbW92ZSBMSUJTIHRoaW5ncyB0byBfTElCUwoKMjAwOC0wNS0xNiAxNDo0OTowNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMudHlwZXM6IFJlbW92ZSBib2d1cyBhdHRlbXB0IHRvIHB1bGwgJ21ldGFkYXRhJyBwbHVnaW4ncyBiYXNlIGNsYXNzIGludG8gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy50eXBlczoKCSAgUmVtb3ZlIGJvZ3VzIGF0dGVtcHQgdG8gcHVsbCAnbWV0YWRhdGEnIHBsdWdpbidzIGJhc2UKCSAgY2xhc3MgaW50byB0aGUgZG9jcy4KCjIwMDgtMDUtMTQgMjE6MDI6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogU2ltcGx5IGRyb3AgYmFkIFJUUCBwYWNrZXRzIHdpdGggYSB3YXJuaW5nIGluc3RlYWQgb2YganVzdCBwb3N0aW5nIGFuIGVycm9yIGFuZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pOgoJICBTaW1wbHkgZHJvcCBiYWQgUlRQIHBhY2tldHMgd2l0aCBhIHdhcm5pbmcgaW5zdGVhZCBvZiBqdXN0IHBvc3RpbmcgYW4KCSAgZXJyb3IgYW5kIHN0b3BwaW5nLiBUaGlzIGlzIGEgcGVyZmVjdGx5IHJlY292ZXJhYmxlIGV2ZW50IGFuZCB3ZSBkb24ndAoJICBmb3JjZSBwZW9wbGUgdG8gdXNlIGFuIHJ0cGJpbiB0byBmaWx0ZXIgb3V0IGJhZCBwYWNrZXRzIGZpcnN0LgoKMjAwOC0wNS0xNCAyMDo1NzozMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6IFNldCBmaXhlZCBjYXBzIG9uIHRoZSBzcmNwYWQgYWZ0ZXIgd2UgY3JlYXRlZCB0aGUgcGFkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6IChnc3RfbXBlZzR2cGFyc2VfaW5pdCk6CgkgIFNldCBmaXhlZCBjYXBzIG9uIHRoZSBzcmNwYWQgYWZ0ZXIgd2UgY3JlYXRlZCB0aGUgcGFkLi4uCgoyMDA4LTA1LTE0IDE2OjIxOjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IFJlbW92ZSBkZWludGVybGVhdmUgdGVzdCBmcm9tIFZBTEdSSU5EX1RPX0ZJWCBhZ2FpbiBub3cgdGhhdCB0aGVyZSBhcmUgc3VwcHJlc3Npb25zIGluIGdzdC5zLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgZGVpbnRlcmxlYXZlIHRlc3QgZnJvbSBWQUxHUklORF9UT19GSVggYWdhaW4gbm93IHRoYXQKCSAgdGhlcmUgYXJlIHN1cHByZXNzaW9ucyBpbiBnc3Quc3VwcCB3aGljaCBtYWtlIHRoaXMgd29yayBmb3IgbWUuCgoyMDA4LTA1LTE0IDE0OjE5OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IEFkZCBkZWludGVybGVhdmUgdW5pdCB0ZXN0IHRvIFZBTEdSSU5EX1RPX0ZJWCwgc2luY2UgaXQgY2F1c2VzIHdlaXJkIGludmFsaWQgZnJlZSBlcnJvcnMgaW4gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBBZGQgZGVpbnRlcmxlYXZlIHVuaXQgdGVzdCB0byBWQUxHUklORF9UT19GSVgsIHNpbmNlIGl0IGNhdXNlcwoJICB3ZWlyZCBpbnZhbGlkIGZyZWUgZXJyb3JzIGluIHZhbGdyaW5kL2xpYmMgYWZ0ZXIgX2V4aXQgZm9yIHNvbWUKCSAgcmVhc29uLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiAocGFkc19jcmVhdGVkKSwKCSAgKHNldF9jaGFubmVsX3Bvc2l0aW9ucyksIChzcmNfaGFuZG9mZl9mbG9hdDMyXzhjaCksCgkgIChmbG9hdF9idWZmZXJfY2hlY2tfcHJvYmUpLAoJICAocGFkX2FkZGVkX3NldHVwX2RhdGFfY2hlY2tfZmxvYXQzMl84Y2hfY2IpLAoJICAobWFrZV9mYWtlX3NyY184Y2hhbnNfZmxvYXQzMiksIChHU1RfU1RBUlRfVEVTVCksCgkgIChkZWludGVybGVhdmVfc3VpdGUpOgoJICBBZGQgc29tZSBtb3JlIGRlaW50ZXJsZWF2ZSB1bml0IHRlc3QgYml0cyBJIGhhZCBsb2NhbGx5LgoKMjAwOC0wNS0xNCAxMzo1Nzo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogUmV2ZXJ0IHByZXZpb3VzIGNoYW5nZSB3aGljaCBtYWRlIGJhc2V0cmFuc2Zvcm0gaGFuZGxlIGJ1ZmZlcl9hbGxvYyBhbmQgd2hpY2ggYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IChnc3RfYXVkaW9yZXNhbXBsZV9pbml0KToKCSAgUmV2ZXJ0IHByZXZpb3VzIGNoYW5nZSB3aGljaCBtYWRlIGJhc2V0cmFuc2Zvcm0gaGFuZGxlIGJ1ZmZlcl9hbGxvYwoJICBhbmQgd2hpY2ggYnJlYWtzIHRoaW5ncyBiYWRseSBpbiB0aGUgbm9uLXBhc3N0aHJvdWdoIGNhc2Ugc2luY2UgaXQKCSAgcmV0dXJuZWQgYnVmZmVycyB3aXRoIGEgZGlmZmVyZW50IChpZS4gc29tZXRpbWVzIHNtYWxsZXIpIHNpemUgdGhhbgoJICB0aGUgc2l6ZSByZXF1ZXN0ZWQuCgoyMDA4LTA1LTE0IDA3OjMyOjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS86IFNwbGl0IGRlZmluaXRpb25zIGludG8gc2VwYXJhdGUgaGVhZGVyIGZpbGVzIGZvciBiZXR0ZXIgZG9jdW1lbnRhdGlvbiBnZW5lcmF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuaDoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgICogZ3N0L2ludGVybGVhdmUvcGx1Z2luLmg6CgkgIFNwbGl0IGRlZmluaXRpb25zIGludG8gc2VwYXJhdGUgaGVhZGVyIGZpbGVzIGZvciBiZXR0ZXIgZG9jdW1lbnRhdGlvbgoJICBnZW5lcmF0aW9uLgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9iYXNlX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGVhdmVfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9kZWludGVybGVhdmVfcHJvY2Vzcyk6CgkgIERvbid0IHVzZSBhbGxvY2EsIGFsbG93IGNhcHMgY2hhbmdlcyBhcyBsb25nIGFzIHRoZSBudW1iZXIgb2YgY2hhbm5lbHMKCSAgZG9lcyBub3QgY2hhbmdlLCBkb24ndCB1c2UgZ193YXJuaW5nLCByZXR1cm4gTk9UX05FR09USUFURUQgYXMgZWFybHkKCSAgYXMgcG9zc2libGUgYW5kIHNvbWUgb3RoZXIgY2xlYW51cC4KCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChnc3RfaW50ZXJsZWF2ZV9iYXNlX2luaXQpLAoJICAoZ3N0X2ludGVybGVhdmVfY2xhc3NfaW5pdCk6CgkgIERvIHNvbWUgcmFuZG9tIGNsZWFudXAuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChkZWludGVybGVhdmVfY2hhaW5fZnVuYyksIChkZWludGVybGVhdmVfcGFkX2FkZGVkKSwKCSAgKGRlaW50ZXJsZWF2ZV9zdWl0ZSk6CgkgIEFkZCB1bml0IHRlc3RzIGZvciB0aGUgZGVpbnRlcmxlYXZlIGVsZW1lbnQuCgoyMDA4LTA1LTEzIDE3OjIxOjA3ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS4qOiBQYXJzZSB0aGUgY29uZmlnIGRhdGEgKGVpdGhlciBvdXRib3VuZCBvciBpbiB0aGUgc3RyZWFtKSB0byBzZXQgd2lkdGgvaGVpZ2h0LCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIChnc3RfbXBlZzR2cGFyc2Vfc2V0X25ld19jYXBzKSwgKGdzdF9tcGVnNHZwYXJzZV9hbGlnbiksCgkgIChnZXRfYml0cyksIChuZXh0X3N0YXJ0X2NvZGUpLCAoZ3N0X21wZWc0dnBhcnNlX2hhbmRsZV92b3MpLAoJICAoZ3N0X21wZWc0dnBhcnNlX3B1c2gpLCAoZ3N0X21wZWc0dnBhcnNlX2RyYWluKSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9jaGFpbiksIChnc3RfbXBlZzR2cGFyc2Vfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9zaW5rX2V2ZW50KSwgKGdzdF9tcGVnNHZwYXJzZV9zcmNfcXVlcnkpLAoJICAoZ3N0X21wZWc0dnBhcnNlX3NldF9wcm9wZXJ0eSksIChnc3RfbXBlZzR2cGFyc2VfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9jbGFzc19pbml0KSwgKGdzdF9tcGVnNHZwYXJzZV9pbml0KToKCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5oOgoJICBQYXJzZSB0aGUgY29uZmlnIGRhdGEgKGVpdGhlciBvdXRib3VuZCBvciBpbiB0aGUgc3RyZWFtKSB0byBzZXQKCSAgd2lkdGgvaGVpZ2h0LCBhcGVjdCByYXRpb24sIGZyYW1lcmF0ZSBpbiB0aGUgY2FwcyBpZiBhcHBsaWNhYmxlLgoJICBNYXJrIGZyYW1lcyBhcyBHU1RfQlVGRkVSX0ZMQUdfREVMVEFfVU5JVCB3aGVuIHRoZXkgYXJlIG5vdAoJICBpbnRyYSBmcmFtZXMKCSAgU2V0IHRoZSB0aW1lc3RhbXBzIG9mIG91dGdvaW5nIGJ1ZmZlcnMgdG8gdGhlIGJ1ZmZlciBpbgoJICB3aGljaCB0aGUgVk9QIGhlYWRlciB3YXMgZm91bmQuCgkgIERyb3AgaW5jb21pbmcgZGF0YSB1bnRpbGwgY29uZmlndXJhdGlvbiBpcyBmb3VuZCAoYnkgZGVmYXVsdCwKCSAgY29uZmlndXJhYmxlIHVzaW5nIGEgcHJvcGVydHkpLgoJICBSZXBvcnQgYSAxIGZyYW1lIGxhdGVuY3kuIEZpeGVzICM1MzI3MjMuCgoyMDA4LTA1LTEzIDE2OjE2OjM1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IEFkZCBzb21lIGRlYnVnIGZvciB3aGVyZSB3ZSBhcmUgc2VhcmNoaW5nIGZvciBsaWJyYXJpZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAob3Blbl9saWJyYXJ5KToKCSAgQWRkIHNvbWUgZGVidWcgZm9yIHdoZXJlIHdlIGFyZSBzZWFyY2hpbmcgZm9yIGxpYnJhcmllcy4KCjIwMDgtMDUtMTMgMTA6NTk6NDkgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzogQWRkIHVuaXQgdGVzdCBmb3IgdGhlIGxhdGVzdCBiYXNldHJhbnNmb3JtIG5lZ290aWF0aW9uIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6CgkgIChsaXZlX3N3aXRjaF9hbGxvY19vbmx5XzQ4MDAwKSwgKGxpdmVfc3dpdGNoX2dldF9zaW5rX2NhcHMpLAoJICAobGl2ZV9zd2l0Y2hfcHVzaCksIChHU1RfU1RBUlRfVEVTVCk6CgkgIEFkZCB1bml0IHRlc3QgZm9yIHRoZSBsYXRlc3QgYmFzZXRyYW5zZm9ybSBuZWdvdGlhdGlvbiBjaGFuZ2VzLgoJICBTZWUgYnVnICM1MjY3NjguCgoyMDA4LTA1LTEzIDA5OjA2OjUxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEFjdHVhbGx5IGFkZCB0aGUgZG8tbG9zdCBwcm9wZXJ0eSB0byB0aGUgb2JqZWN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICBBY3R1YWxseSBhZGQgdGhlIGRvLWxvc3QgcHJvcGVydHkgdG8gdGhlIG9iamVjdC4KCjIwMDgtMDUtMTIgMTg6NDM6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogQXZvaWQgd2FpdGluZyBmb3IgYSBuZWdhdGl2ZSAoaHVnZSkgZHVyYXRpb24gd2hlbiB0aGUgbGFzdCBwYWNrZXQgaGFzIGEgbG93ZXIgdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIEF2b2lkIHdhaXRpbmcgZm9yIGEgbmVnYXRpdmUgKGh1Z2UpIGR1cmF0aW9uIHdoZW4gdGhlIGxhc3QgcGFja2V0IGhhcyBhCgkgIGxvd2VyIHRpbWVzdGFtcCB0aGFuIHRoZSBjdXJyZW50IHBhY2tldC4KCjIwMDgtMDUtMTIgMTQ6Mjg6MDkgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBNYWtlIHN1cmUgdG8gdW5yZWYgdGhlIHJ0cHNlc3Npb24gcmV0dXJuZWQgYnkgZ3N0X3BhZF9nZXRfcGFyZW50KCkgdG8gcHJldmVudCBhIG1lbW9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9xdWVyeV9zZW5kX3J0Y3Bfc3JjKToKCSAgTWFrZSBzdXJlIHRvIHVucmVmIHRoZSBydHBzZXNzaW9uIHJldHVybmVkIGJ5IGdzdF9wYWRfZ2V0X3BhcmVudCgpIHRvCgkgIHByZXZlbnQgYSBtZW1vcnkgbGVhay4KCjIwMDgtMDUtMTIgMTQ6MTc6MDYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDogUXVpZXRlbiBzb21lIGRvY3Mgb3V0cHV0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIFF1aWV0ZW4gc29tZSBkb2NzIG91dHB1dAoKMjAwOC0wNS0xMiAxNDoxMjowOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogSW5pdGlhbGlzZSB3aXRoIEdTVF9DTE9DS19USU1FX05PTkUgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIEluaXRpYWxpc2Ugd2l0aCBHU1RfQ0xPQ0tfVElNRV9OT05FIHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA4LTA1LTExIDE3OjIzOjIwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJhbmRvbSBkb2Mgb2YgdGhlIGRheTogdGhlIGRlaW50ZXJsYWNlIGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIFJhbmRvbSBkb2Mgb2YgdGhlIGRheTogdGhlIGRlaW50ZXJsYWNlIGVsZW1lbnQuCgoyMDA4LTA1LTA5IDEwOjIxOjA3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogTWFrZSBzdXJlIGFsbCBzY2hlZHVsZSBFSVQgYW5kIG5vbi1hY3R1YWwgdHJhbnNwb3J0IHN0cmVhbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBNYWtlIHN1cmUgYWxsIHNjaGVkdWxlIEVJVCBhbmQgbm9uLWFjdHVhbCB0cmFuc3BvcnQgc3RyZWFtCgkgIEVJVHMgYXJlIHBhcnNlZC4gQWxzbyBhZGQgcHJlc2VudC1mb2xsb3dpbmcgZmxhZyBhbmQKCSAgYWN0dWFsLXRyYW5zcG9ydC1zdHJlYW0gZmxhZyB0byBlaXQgYnVzIG1lc3NhZ2UuCgoyMDA4LTA1LTA5IDA3OjQxOjU4ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiBNYWtlIHN1cmUgdG8gdW5yZWYgdGhlIGNhcHMgdXNlZCBieSBSVFBTb3VyY2UgdG8gcHJldmVudCBhIG1lbW9yeSBsZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfZmluYWxpemUpOgoJICBNYWtlIHN1cmUgdG8gdW5yZWYgdGhlIGNhcHMgdXNlZCBieSBSVFBTb3VyY2UgdG8gcHJldmVudCBhIG1lbW9yeSBsZWFrLgoKMjAwOC0wNS0wOCAxOToxNjoxNyArMDAwMCAgQ2xpdmUgV3JpZ2h0IDxjbGl2ZV93cmlnaHRAbnRsd29ybGQuY29tPgoKCSAgc3lzL29zczQvb3NzNC1taXhlci1zbGlkZXIuYzogQXBwYXJlbnRseSBtb25vIHNsaWRlcnMgaGF2ZSB0aGUgbW9ubyB2YWx1ZSByZXBlYXRlZCBpbiB0aGUgdXBwZXIgYml0cywgc28gbWFzayB0aG9zZSBvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogQ2xpdmUgV3JpZ2h0IDxjbGl2ZV93cmlnaHQgbnRsd29ybGQgY29tPgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItc2xpZGVyLmM6IChnc3Rfb3NzNF9taXhlcl9zbGlkZXJfdW5wYWNrX3ZvbHVtZSk6CgkgIEFwcGFyZW50bHkgbW9ubyBzbGlkZXJzIGhhdmUgdGhlIG1vbm8gdmFsdWUgcmVwZWF0ZWQgaW4gdGhlIHVwcGVyIGJpdHMsCgkgIHNvIG1hc2sgdGhvc2Ugb3V0IHdoZW4gcmVhZGluZyB0aGVtLiBQcm9iYWJseSBtYWtlcyB0aGUgbWl4ZXIgYXBwbGV0CgkgIHdvcmsgcHJvcGVybHkgaW4gc29tZSBtb3JlIGNhc2VzLgoKMjAwOC0wNS0wOCAwOTo0MzozMyArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogVW5sb2NrIHRoZSBzZXNzaW9uIGxvY2sgd2hlbiBjYWxsaW5nIG9uZSBvZiBvdXIgY2FsbGJhY2tzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHNvdXJjZV9jbG9ja19yYXRlKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllKSwgKHJ0cF9zZXNzaW9uX3NlbmRfYnllX2xvY2tlZCk6CgkgIFVubG9jayB0aGUgc2Vzc2lvbiBsb2NrIHdoZW4gY2FsbGluZyBvbmUgb2Ygb3VyIGNhbGxiYWNrcy4KCSAgRml4ZXMgIzUzMjAxMS4KCjIwMDgtMDUtMDggMDY6MjM6MzkgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogU2VuZCBSVFAgQllFIGNvbW1hbmQgb24gRU9TLiBGaXhlcyBidWcgIzUzMTk1NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKToKCSAgU2VuZCBSVFAgQllFIGNvbW1hbmQgb24gRU9TLiBGaXhlcyBidWcgIzUzMTk1NS4KCjIwMDgtMDUtMDggMDY6MjA6NDIgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogTGV0IGF1ZGlvcmVzYW1wbGUgdXNlIHRoZSBidWZmZXIgYWxsb2NhdGlvbiBvZiBiYXNldHJhbnNmb3JtIGluc3RlYWQgb2YgaXQncyBvdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiAoZ3N0X2F1ZGlvcmVzYW1wbGVfaW5pdCk6CgkgIExldCBhdWRpb3Jlc2FtcGxlIHVzZSB0aGUgYnVmZmVyIGFsbG9jYXRpb24gb2YgYmFzZXRyYW5zZm9ybSBpbnN0ZWFkCgkgIG9mIGl0J3Mgb3duIHN0dWZmLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzogKGFsbG9jX29ubHlfNDgwMDApLAoJICAoR1NUX1NUQVJUX1RFU1QpLCAoYXVkaW9yZXNhbXBsZV9zdWl0ZSk6CgkgIEFkZCB1bml0IHRlc3QgZm9yIHRoZSByZWNlbnQgYmFzZXRyYW5zZm9ybSBidWdmaXgsIHdoZXJlIHVwc3RyZWFtCgkgIGNoYW5nZXMgY2FwcyB0byBzb21ldGhpbmcgdGhhdCBjYW4ndCBiZSBwYXNzZWQgdGhyb3VnaCBhbnltb3JlLgoKMjAwOC0wNS0wNyAyMDoyNTowOSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIHdpbjMyL2NvbW1vbi9jb25maWcuaC5pbjogRG9uJ3QgZGVmaW5lIEdTVF9GVU5DVElPTiwgaWYgR0xpYiBzdXBwb3J0cyBNU1ZDIHdlJ2QgbXVjaCByYXRoZXIgdXNlIHRoZSByZWFsIHRoaW5nIHRoYW4gaC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmguaW46CgkgIERvbid0IGRlZmluZSBHU1RfRlVOQ1RJT04sIGlmIEdMaWIgc3VwcG9ydHMgTVNWQyB3ZSdkIG11Y2ggcmF0aGVyCgkgIHVzZSB0aGUgcmVhbCB0aGluZyB0aGFuIGhhdmluZyAiPz8/IiB1bmNvbmRpdGlvbmFsbHkuCgoyMDA4LTA1LTA3IDEwOjM4OjIzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC86IEFkZCBtYXJzaGFsLmxpc3QsIG1ha2UgaXQgY29tcGlsZSBhbmQgYWRkIHRvIGN2c2lnbm9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC8uY3ZzaWdub3JlOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHAtbWFyc2hhbC5saXN0OgoJICBBZGQgbWFyc2hhbC5saXN0LCBtYWtlIGl0IGNvbXBpbGUgYW5kIGFkZCB0byBjdnNpZ25vcmUuCgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6IChnc3RfYXBwX3NpbmtfZGlzcG9zZSksCgkgIChnc3RfYXBwX3Npbmtfc3RvcCk6CgkgIFNtYWxsIGNsZWFudXBzLgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6IChnc3RfYXBwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9hcHBfc3JjX2luaXQpLCAoZ3N0X2FwcF9zcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hcHBfc3JjX2dldF9wcm9wZXJ0eSksIChnc3RfYXBwX3NyY191bmxvY2spLAoJICAoZ3N0X2FwcF9zcmNfdW5sb2NrX3N0b3ApLCAoZ3N0X2FwcF9zcmNfc3RhcnQpLCAoZ3N0X2FwcF9zcmNfc3RvcCksCgkgIChnc3RfYXBwX3NyY19jcmVhdGUpLCAoZ3N0X2FwcF9zcmNfc2V0X2NhcHMpLAoJICAoZ3N0X2FwcF9zcmNfZ2V0X2NhcHMpLCAoZ3N0X2FwcF9zcmNfc2V0X3NpemUpLAoJICAoZ3N0X2FwcF9zcmNfZ2V0X3NpemUpLCAoZ3N0X2FwcF9zcmNfc2V0X3NlZWthYmxlKSwKCSAgKGdzdF9hcHBfc3JjX2dldF9zZWVrYWJsZSksIChnc3RfYXBwX3NyY19zZXRfbWF4X2J1ZmZlcnMpLAoJICAoZ3N0X2FwcF9zcmNfZ2V0X21heF9idWZmZXJzKSwgKGdzdF9hcHBfc3JjX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9hcHBfc3JjX2VuZF9vZl9zdHJlYW0pOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmg6CgkgIEJlYXQgYXBwc3JjIGluIHNoYXBlLCBhZGQgc2lnbmFscyBhbmQgYWN0aW9ucy4KCSAgQWRkIHNvbWUgZG9jcy4KCSAgQWRkIHByb3BlcnRpZXMgZm9yIGNhcHMsIHNpemUsIHNlZWthYmlsaXR5IGFuZCBtYXgtYnVmZmVycy4KCSAgRml4IHVubG9jay9zdG9wIGNvZGUuCgoyMDA4LTA1LTA3IDA3OjUxOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBFcnJvciBvdXQgaWYgd2UgZG9uJ3QgaGF2ZSB0aGUgcmVxdWlyZWQgdmVyc2lvbnMgb2YgY29yZS9iYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEVycm9yIG91dCBpZiB3ZSBkb24ndCBoYXZlIHRoZSByZXF1aXJlZCB2ZXJzaW9ucyBvZiBjb3JlL2Jhc2UuCgoyMDA4LTA1LTA1IDEwOjI3OjQ1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLio6IFN0YXJ0IHNvbWUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6IChnc3RfYXBwX3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfYXBwX3NpbmtfaW5pdCksIChnc3RfYXBwX3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hcHBfc2lua19nZXRfcHJvcGVydHkpLCAoZ3N0X2FwcF9zaW5rX3VubG9ja19zdGFydCksCgkgIChnc3RfYXBwX3NpbmtfdW5sb2NrX3N0b3ApLCAoZ3N0X2FwcF9zaW5rX2ZsdXNoX3VubG9ja2VkKSwKCSAgKGdzdF9hcHBfc2lua19zdGFydCksIChnc3RfYXBwX3Npbmtfc3RvcCksIChnc3RfYXBwX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2FwcF9zaW5rX3ByZXJvbGwpLCAoZ3N0X2FwcF9zaW5rX3JlbmRlciksCgkgIChnc3RfYXBwX3Npbmtfc2V0X2NhcHMpLCAoZ3N0X2FwcF9zaW5rX3NldF9kcm9wKSwKCSAgKGdzdF9hcHBfc2lua19nZXRfZHJvcCk6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmg6CgkgIFN0YXJ0IHNvbWUgZG9jcy4KCSAgQWRkIHByb3BlcnR5IHRvIGRyb3AgYnVmZmVycyB3aGVuIHRoZSBxdWV1ZSBpcyBmaWxsZWQKCSAgRml4IHVubG9ja2luZyBhbmQgZmx1c2hpbmcgd2hlbiB0aGUgcXVldWVzIGFyZSBmaWxsZWQuCgoyMDA4LTA1LTAyIDE0OjQwOjA4ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIHdpbGRtaWRpIHBsdWdpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHdpbGRtaWRpIHBsdWdpbgoKMjAwOC0wNC0yOSAxOToxMTo1NiArMDAwMCAgSmVucyBHcmFuc2V1ZXIgPGplbnNnckBnbXgubmV0PgoKCSAgZ3N0L3N1YmVuYy9nc3RzcnRlbmMuYzogRGVjbGFyZSB2YXJpYWJsZXMgYXQgdGhlIGJlZ2lubmluZyBvZiBibG9ja3MuIEZpeGVzIGNvbXBpbGF0aW9uIHdpdGggZ2NjIDIueCBhbmQgb3RoZXIgY29tcGlsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmVucyBHcmFuc2V1ZXIgPGplbnNnciBhdCBnbXggZG90IG5ldD4KCSAgKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5jOiAoZ3N0X3NydF9lbmNfdGltZXN0YW1wX3RvX3N0cmluZyk6CgkgIERlY2xhcmUgdmFyaWFibGVzIGF0IHRoZSBiZWdpbm5pbmcgb2YgYmxvY2tzLiBGaXhlcyBjb21waWxhdGlvbiB3aXRoCgkgIGdjYyAyLnggYW5kIG90aGVyIGNvbXBpbGVycy4gRml4ZXMgYnVnICM1MzA2MTEuCgoyMDA4LTA0LTI5IDA5OjAyOjM1ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogRGV0ZWN0IFNJIHBpZHMgKE5JVCwgU0RULCBFSVQgZXRjLikgYmFzZWQgb24gdGFibGUgaWQgYW5kIG5vdCBieSBwaWQgbnVtYmVyLiBUaGlzIGFsbG93cyBmb3IgZXhhbXBsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgRGV0ZWN0IFNJIHBpZHMgKE5JVCwgU0RULCBFSVQgZXRjLikgYmFzZWQgb24gdGFibGUgaWQgYW5kIG5vdAoJICBieSBwaWQgbnVtYmVyLiBUaGlzIGFsbG93cyBmb3IgZXhhbXBsZSB0aGUgRVBHIGRhdGEgZnJvbSBVSydzCgkgIGZyZWVzYXQgdG8gYmUgcGlja2VkIHVwLgoKMjAwOC0wNC0yNSAyMzoyMjo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0LzogQ2FzdCBOVUxMIHNlbnRpbmVscyB0byB2b2lkICogYXMgTlVMTCBpcyBkZWZpbmVkIGFzIGFuIGludGVnZXIgY29uc3RhbnQgaW4gbW9zdCBlbnZpcm9ubWVudHMgd2hlbiB1c2luZyBDKysgYW5kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkgIENhc3QgTlVMTCBzZW50aW5lbHMgdG8gdm9pZCAqIGFzIE5VTEwgaXMgZGVmaW5lZCBhcyBhbiBpbnRlZ2VyCgkgIGNvbnN0YW50IGluIG1vc3QgZW52aXJvbm1lbnRzIHdoZW4gdXNpbmcgQysrIGFuZCBpdCdzIHNpemUgbWlnaHQKCSAgYmUgZGlmZmVyZW50IGZyb20gYSBwb2ludGVyLgoKMjAwOC0wNC0yNSAxODoxODo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay4qOiBBZGQgbW9yZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzogKGdzdF9hcHBfc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9hcHBfc2lua19pbml0KSwgKGdzdF9hcHBfc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2FwcF9zaW5rX2dldF9wcm9wZXJ0eSksIChnc3RfYXBwX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2FwcF9zaW5rX3ByZXJvbGwpLCAoZ3N0X2FwcF9zaW5rX3JlbmRlciksCgkgIChnc3RfYXBwX3Npbmtfc2V0X2VtaXRfc2lnbmFscyksIChnc3RfYXBwX3NpbmtfZ2V0X2VtaXRfc2lnbmFscyksCgkgIChnc3RfYXBwX3Npbmtfc2V0X21heF9idWZmZXJzKSwgKGdzdF9hcHBfc2lua19nZXRfbWF4X2J1ZmZlcnMpLAoJICAoZ3N0X2FwcF9zaW5rX3B1bGxfYnVmZmVyKToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuaDoKCSAgQWRkIG1vcmUgZG9jcy4KCSAgQWRkIHNpZ25hbHMgZm9yIHdoZW4gcHJlcm9sbCBhbmQgcmVuZGVyIGJ1ZmZlcnMgYXJlIGF2YWlsYWJsZS4KCSAgQWRkIHByb3BlcnR5IHRvIGNvbnRyb2wgc2lnbmFsIGVtaXNzaW9uLgoJICBBZGQgcHJvcGVydHkgdG8gY29udHJvbCB0aGUgbWF4IHF1ZXVlIHNpemUuCgoyMDA4LTA0LTI1IDE4OjEzOjA3ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QtbGlicy9nc3QvZHNob3cvTWFrZWZpbGUuYW06IFVzZSBDWFhGTEFHUyByYXRoZXIgdGhhbiBDRkxBR1M7IHRoZXNlIGFyZSBDKysgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9NYWtlZmlsZS5hbToKCSAgVXNlIENYWEZMQUdTIHJhdGhlciB0aGFuIENGTEFHUzsgdGhlc2UgYXJlIEMrKyBmaWxlcy4KCSAgRGVmaW5lIHJlcXVpcmVkIGNvbnN0YW50cyBhcHByb3ByaWF0ZWx5LgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgIEFkZCByZXF1aXJlZCBpbmNsdWRlIGRpciwgbGlicmFyaWVzLgoJICBEZWZpbmUgcmVxdWlyZWQgY29uc3RhbnRzIGFwcHJvcHJpYXRlbHkuCgoyMDA4LTA0LTI1IDExOjMyOjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLio6IEV4cG9zZSBuZXcgaml0dGVyYnVmZmVyIHByb3BlcnR5IGluIHJ0cGJpbiB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3N0cmVhbSksIChnc3RfcnRwX2Jpbl9pbml0KSwKCSAgKGdzdF9ydHBfYmluX3NldF9wcm9wZXJ0eSksIChnc3RfcnRwX2Jpbl9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBFeHBvc2UgbmV3IGppdHRlcmJ1ZmZlciBwcm9wZXJ0eSBpbiBydHBiaW4gdG9vLgoKMjAwOC0wNC0yNSAxMToyMjoxMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBEaXNhYmxlIHNlbmRpbmcgb3V0IHJ0cCBwYWNrZXQgbG9zdCBldmVudHMgYnkgZGVmYXVsdCBhbmQgbWFrZSBhIHByb3BlcnR5IHRvIGVuYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9wcm9wZXJ0eSk6CgkgIERpc2FibGUgc2VuZGluZyBvdXQgcnRwIHBhY2tldCBsb3N0IGV2ZW50cyBieSBkZWZhdWx0IGFuZCBtYWtlIGEKCSAgcHJvcGVydHkgdG8gZW5hYmUgaXQuIFdlIHdpbGwgbGlrZWx5IGVuYWJsZSBpdCBieSBkZWZhdWx0IHdoZW4gdGhlIGJhc2UKCSAgZGVwYXlsb2FkZXJzIGhhdmUgYSBkZWZhdWx0IGhhbmRsZXIgZm9yIHRoZW0gc28gdGhhdCB3ZSBkb24ndCBzZW5kIHRoZXNlCgkgIGV2ZW50cyBhbGwgdGhyb3VnaCB0aGUgcGlwZWxpbmUgZm9yIG5vdy4KCjIwMDgtMDQtMjUgMDk6MzU6NDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogUmVtb3ZlIHByaXZhdGUgdmVyc2lvbiBvZiBhIGZ1bmN0aW9uIHRoYXQgaXMgaW4gLWJhc2Ugbm93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdG9wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zcmNfZXZlbnQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgUmVtb3ZlIHByaXZhdGUgdmVyc2lvbiBvZiBhIGZ1bmN0aW9uIHRoYXQgaXMgaW4gLWJhc2Ugbm93LgoJICBBZGQgc3JjIGV2ZW50IGhhbmRsZXIuCgkgIFJld29yayB0aGUgaml0dGVyYnVmZmVyIHB1c2hpbmcgbG9vcCBzbyB0aGF0IGl0IGNhbiBxdWlja2x5IHJlYWN0IHRvCgkgIGxvc3QgcGFja2V0cyBhbmQgaW5zdHJ1Y3QgdGhlIGRlcGF5bG9hZGVyIG9mIHRoZW0uIFRoaXMgY2FuIHRoZW4gYmUgdXNlZAoJICB0byBpbXBsZW1lbnQgZXJyb3IgY29uY2VhbG1lbnQgZGF0YS4KCjIwMDgtMDQtMjUgMDg6MjE6MDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IFNldCB1cCBzb21lIGludGVybmFsIGxpbmtzIGZ1bmN0aW9ucyBmb3IgdGhlIFJUQ1AgYW5kIHN5bmMgcGFkcyBiZWNhdXNlIHRoZSBkZWZhdWx0cyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX3F1ZXJ5X3NlbmRfcnRjcF9zcmMpLCAoY3JlYXRlX3JlY3ZfcnRjcF9zaW5rKSwKCSAgKGNyZWF0ZV9zZW5kX3J0Y3Bfc3JjKToKCSAgU2V0IHVwIHNvbWUgaW50ZXJuYWwgbGlua3MgZnVuY3Rpb25zIGZvciB0aGUgUlRDUCBhbmQgc3luYyBwYWRzIGJlY2F1c2UKCSAgdGhlIGRlZmF1bHRzIGFyZSByZWFsbHkgbm90IGNvcnJlY3QuCgkgIEltcGxlbWVudCBhIHF1ZXJ5IGhhbmRsZXIgZm9yIHRoZSBSVENQIHNyYyBwYWQsIG1vc3RseSB0byBjb3JyZWN0bHkKCSAgcmVwb3J0IGFib3V0IHRoZSBsYXRlbmN5LgoKMjAwOC0wNC0yNSAwODoxNTo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQWxzbyBrZWVwIHRyYWNrIG9mIHRoZSBmaXJzdCBidWZmZXIgdGltZXN0YW1wIHRvZ2V0aGVyIHdpdGggdGhlIGZpcnN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGdzdF9ydHBfYmluX3N5bmNfY2hhaW4pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHVwZGF0ZV9hcnJpdmFsX3N0YXRzKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLCAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2luaXQpLAoJICAoY2FsY3VsYXRlX2ppdHRlcik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgQWxzbyBrZWVwIHRyYWNrIG9mIHRoZSBmaXJzdCBidWZmZXIgdGltZXN0YW1wIHRvZ2V0aGVyIHdpdGggdGhlIGZpcnN0CgkgIFJUUCB0aW1lc3RhbXAgYXMgdGhleSBib3RoIGFyZSBuZWVkZWQgdG8gY29uc3RydWN0IHRoZSB0aW1pbmcgb2YKCSAgb3V0Z29pbmcgcGFja2V0cyBpbiB0aGUgaml0dGVyYnVmZmVyIGFuZCBhcmUgdGhlcmVmb3JlIGFsc28gbmVlZGVkIHRvCgkgIG1hbmFnZSBsaXAtc3luYy4gVGhpcyBmaXhlcyBsaXAtc3luYyBpZiB0aGUgZmlyc3QgUlRQIHBhY2tldHMgYXJyaXZlCgkgIHdpdGggYSB3aWxkbHkgZGlmZmVyZW50IGdhcC4KCjIwMDgtMDQtMjUgMDg6MDc6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEZvcndhcmQgdW5rbm93biBxdWVyaWVzIHVwc3RyZWFtIGluc3RlYWQgb2YgcmV0dXJuaW5nIEZBTFNFIG9uIHRoZW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcXVlcnkpOgoJICBGb3J3YXJkIHVua25vd24gcXVlcmllcyB1cHN0cmVhbSBpbnN0ZWFkIG9mIHJldHVybmluZyBGQUxTRSBvbiB0aGVtLgoKMjAwOC0wNC0yNCAyMjoxOTo0OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIHN1cHBvcnQgZm9yIHRoZSBuZXcgbGlibXBjZGVjIEFQSSB3aGljaCBtYWdpY2FsbHkgZ2V0cyB1cyBzdXBwb3J0IGZvciBTVjggZmlsZXMuIEFsc28gZG8gc29tZSByYW5kb20gY2xlYW51cC4gRml4Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X211c2VwYWNrZGVjX2luaXQpLCAoZ3N0X211c2VwYWNrZGVjX2Rpc3Bvc2UpLAoJICAoZ3N0X211c2VwYWNrZGVjX2hhbmRsZV9zZWVrX2V2ZW50KSwgKGdzdF9tdXNlcGFja19zdHJlYW1faW5pdCksCgkgIChnc3RfbXVzZXBhY2tkZWNfbG9vcCksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmg6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrcmVhZGVyLmM6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrcmVhZGVyLmg6CgkgIEFkZCBzdXBwb3J0IGZvciB0aGUgbmV3IGxpYm1wY2RlYyBBUEkgd2hpY2ggbWFnaWNhbGx5IGdldHMgdXMgc3VwcG9ydAoJICBmb3IgU1Y4IGZpbGVzLiBBbHNvIGRvIHNvbWUgcmFuZG9tIGNsZWFudXAuIEZpeGVzIGJ1ZyAjNTI2OTA1LgoKMjAwOC0wNC0yNCAyMToyNDoxOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC43LjEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuNy4xCgkgID09PSByZWxlYXNlIDAuMTAuNyA9PT0KCj09PSByZWxlYXNlIDAuMTAuNyA9PT0KCjIwMDgtMDQtMjQgMDA6MTg6MzAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBwby9MSU5HVUFTOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC43CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWxlYXNlIDAuMTAuNwoKMjAwOC0wNC0yNCAwMDoxNToyNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBjb21tb246CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL2t5LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOC0wNC0yMiAxNTowNzozNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBEb24ndCBsZWFrIEdzdEF1ZGlvQ2hhbm5lbFBvc2l0aW9uLiBGaXhlcyAjNTI5Mzc4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIERvbid0IGxlYWsgR3N0QXVkaW9DaGFubmVsUG9zaXRpb24uIEZpeGVzICM1MjkzNzguCgoyMDA4LTA0LTIyIDA4OjE4OjA1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NkcC9nc3RzZHBkZW11eC5jOiBSZWYgY2Fwcywgc2VlICM1MjgyNDUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzogKHJlcXVlc3RfcHRfbWFwKToKCSAgUmVmIGNhcHMsIHNlZSAjNTI4MjQ1LgoKMjAwOC0wNC0yMiAwMDoyMTo1NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IDAuMTAuNi40IHByZS1yZWxlYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgMC4xMC42LjQgcHJlLXJlbGVhc2UKCjIwMDgtMDQtMjEgMjE6NTQ6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogRG9uJ3QgbGVhayBhIHRhZyBsaXN0LiBGaXhlcyBidWcgIzUyOTI4NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBEb24ndCBsZWFrIGEgdGFnIGxpc3QuIEZpeGVzIGJ1ZyAjNTI5Mjg1LgoKMjAwOC0wNC0yMSAyMTo1MjozMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvb2ZhLmM6IERvbid0IGxlYWsgdGhlIHRhZ3Mgc3RyaW5nIGFuZCB0YWcgbGlzdC4gRml4ZXMgYnVnICM1MjkyODMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29mYS5jOiAoYnVzX2hhbmRsZXIpOgoJICBEb24ndCBsZWFrIHRoZSB0YWdzIHN0cmluZyBhbmQgdGFnIGxpc3QuIEZpeGVzIGJ1ZyAjNTI5MjgzLgoKMjAwOC0wNC0yMSAwODoyNjozNyArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZWYgY2FwcyB3aGVuIGluc2VydGluZyBpbnRvIHRoZSBjYWNoZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwgKGdldF9wdF9tYXApLAoJICAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgUmVmIGNhcHMgd2hlbiBpbnNlcnRpbmcgaW50byB0aGUgY2FjaGUuCgkgIERvbid0IGxlYWsgcGFkcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfY2xvY2tfcmF0ZSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpOgoJICBBdm9pZCBhIGNhcHMgbGVhay4KCSAgRG9uJ3QgbGVhayByZWZjb3VudCBpbiBxdWVyeS4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2dldF9jYXBzKSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pOgoJICBBdm9pZCBjYXBzIGxlYWtzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHNvdXJjZV9nZXRfc2Rlc19zdHJ1Y3R1cmUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLCAocmV0dXJuX3RydWUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NsZWFyX3B0X21hcCksIChnc3RfcnRwX3Nlc3Npb25fY2FjaGVfY2FwcyksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xvY2tfcmF0ZSk6CgkgIFJlZiBjYXBzIHdoZW4gaW5zZXJ0aW5nIGludG8gdGhlIGNhY2hlLgoJICBGaXggc29tZSBtb3JlIGNhcHMgbGVha3MuIEZpeGVzICM1MjgyNDUuCgoyMDA4LTA0LTE4IDE4OjUxOjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6IEFkZCBjYXN0IHRvIHBsYWNhdGUgZ2NjIDQuMS4yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgQWRkIGNhc3QgdG8gcGxhY2F0ZSBnY2MgNC4xLjIuCgoyMDA4LTA0LTE3IDIzOjAxOjExICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogMC4xMC42LjMgcHJlLXJlbGVhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAwLjEwLjYuMyBwcmUtcmVsZWFzZQoKMjAwOC0wNC0xNyAxODoyODowNSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IFJldmVydCBwYXRjaCB0aGF0IGFkZGVkIGEgbG9vcCB0aW1lb3V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBSZXZlcnQgcGF0Y2ggdGhhdCBhZGRlZCBhIGxvb3AgdGltZW91dC4KCSAgRml4ZXMgIzUyODYxNC4KCjIwMDgtMDQtMTcgMDc6MzE6NDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFVuc2V0IEdWYWx1ZXMgYWZ0ZXIgZ19zaWduYWxfZW1pdHYgc28gdGhhdCB3ZSBhdm9pZCBhIHJlZmNvdW50IGxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ2V0X3B0X21hcCksIChmcmVlX2NsaWVudCksCgkgIChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLCAoZ3N0X3J0cF9iaW5fZ2V0X2ZyZWVfcGFkX25hbWUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9jbG9ja19yYXRlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2dldF9jYXBzKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xvY2tfcmF0ZSk6CgkgIFVuc2V0IEdWYWx1ZXMgYWZ0ZXIgZ19zaWduYWxfZW1pdHYgc28gdGhhdCB3ZSBhdm9pZCBhIHJlZmNvdW50IGxlYWsuCgkgIERvbid0IGxlYWsgYSBwYWRuYW1lLgoJICBEb24ndCBsZWFrIGNsaWVudCBzdHJlYW1zIGxpc3QuCgkgIExvY2sgcnRwYmluIHdoZW4gYXNzb2NpYXRpbmcgc3RyZWFtcy4gRml4ZXMgIzUyODI0NS4KCjIwMDgtMDQtMTYgMDk6NTA6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEb24ndCBpbmxjdWRlIGRjMTM5NHNyYyBpbiB0aGUgZ2VuZXJpYy9zdGF0ZXMgdGVzdCBhcyBpdCByZXF1aXJlcyBzcGVjaWFsIGhhcmR3YXJlLiBGaXhlcyBidS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRG9uJ3QgaW5sY3VkZSBkYzEzOTRzcmMgaW4gdGhlIGdlbmVyaWMvc3RhdGVzIHRlc3QgYXMgaXQgcmVxdWlyZXMKCSAgc3BlY2lhbCBoYXJkd2FyZS4gRml4ZXMgYnVnICM1MjgwMTEuCgoyMDA4LTA0LTE2IDA5OjQ4OjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9vZmEuYzogT25seSBjaGVjayBpZiB0aGUgZ2VuZXJhdGVkIGZpbmdlcnByaW50cyBhcmUgdmFsaWQgQmFzZTY0LiBUaGUgZmluZ2VycHJpbnRzIGFyZSBkaWZmZXJlbnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvb2ZhLmM6IChidXNfaGFuZGxlciksIChHU1RfU1RBUlRfVEVTVCk6CgkgIE9ubHkgY2hlY2sgaWYgdGhlIGdlbmVyYXRlZCBmaW5nZXJwcmludHMgYXJlIHZhbGlkIEJhc2U2NC4gVGhlCgkgIGZpbmdlcnByaW50cyBhcmUgZGlmZmVyZW50IHdoZW4gcnVubmluZyBvbiBkaWZmZXJlbnQgYXJjaGl0ZWN0dXJlcwoJICB3aGljaCBpcyBhKSBubyBwcm9ibGVtIGJlY2F1c2UgdGhlIGZpbmdlcnByaW50cyBhcmUgdG9sZXJhbnQgZW5vdWdoCgkgIGFuZCBiKSBpcyBjYXVzZWQgYnkgbGlib2ZhLiBGaXhlcyBidWcgIzUyODI2Ni4KCjIwMDgtMDQtMTYgMDk6NDU6MzAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC90aW1pZGl0eS9NYWtlZmlsZS5hbTogRGlzdCBhbGwgc291cmNlIGZpbGVzLCBubyBtYXR0ZXIgaWYgb25seSB0aW1pZGl0eSBvciB3aWxkbWlkaSBvciBub3RoaW5nIGlzIGZvdW5kIGJ5IGNvbmZpZy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGltaWRpdHkvTWFrZWZpbGUuYW06CgkgIERpc3QgYWxsIHNvdXJjZSBmaWxlcywgbm8gbWF0dGVyIGlmIG9ubHkgdGltaWRpdHkgb3Igd2lsZG1pZGkgb3IKCSAgbm90aGluZyBpcyBmb3VuZCBieSBjb25maWd1cmUuIEZpeGVzIGJ1ZyAjNTI4MDAwLgoKMjAwOC0wNC0xNCAyMDowOToyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOiBSZW1vdmUgc291cGh0dHBzcmMgcGx1Z2luIGZyb20gc3BlYyBmaWxlcywgaXQncyBtb3ZlZCB0byAtZ29vZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFJlbW92ZSBzb3VwaHR0cHNyYyBwbHVnaW4gZnJvbSBzcGVjIGZpbGVzLCBpdCdzIG1vdmVkIHRvIC1nb29kLgoKMjAwOC0wNC0xMyAyMzoxMTowOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogUmVtb3ZlIHNvdXAgdGVzdCBjZXJ0aWZpY2F0ZXMgZnJvbSB0aGUgZGlzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBzb3VwIHRlc3QgY2VydGlmaWNhdGVzIGZyb20gdGhlIGRpc3QuCgoyMDA4LTA0LTEzIDIwOjU0OjUyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzogRml4IGNvbXBpbGF0aW9uIGJ5IGNhc3Rpbmcgc3RyaW5nIGNvbnN0YW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBGaXggY29tcGlsYXRpb24gYnkgY2FzdGluZyBzdHJpbmcgY29uc3RhbnRzLgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgRml4IFdJTklORVRfRElSIHZhcmlhYmxlIHJlZmVyZW5jZS4KCjIwMDgtMDQtMTIgMjM6MzI6MTQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVtb3ZlIHNvdXAgcGx1Z2luIHRoYXQncyBtb3ZlZCB0byAtZ29vZCAoIzUyMzEyNCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291cC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgKiB0ZXN0cy9jaGVjay90ZXN0LWNlcnQucGVtOgoJICAqIHRlc3RzL2NoZWNrL3Rlc3Qta2V5LnBlbToKCSAgUmVtb3ZlIHNvdXAgcGx1Z2luIHRoYXQncyBtb3ZlZCB0byAtZ29vZCAoIzUyMzEyNCkKCjIwMDgtMDQtMTEgMjM6MTk6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IEhhbmRsZSBOVUxMIHJldHVybnMgZnJvbSBGTFZfR0VUX1NUUklORygpIG1vcmUgZ3JhY2VmdWxseS4gRml4ZXMgY3Jhc2ggY2F1c2VkIGJ5IGEgc3RybGVuIG9uIGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV9tZXRhZGF0YV9pdGVtKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCk6CgkgIEhhbmRsZSBOVUxMIHJldHVybnMgZnJvbSBGTFZfR0VUX1NUUklORygpIG1vcmUgZ3JhY2VmdWxseS4gRml4ZXMKCSAgY3Jhc2ggY2F1c2VkIGJ5IGEgc3RybGVuIG9uIGEgTlVMTCBzdHJpbmcgKCM1Mjc2MjIpLgoKMjAwOC0wNC0xMSAxOTozMzo1MyArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy4qOiBEb24ndCBpbmNyZWFzZSBsYXRlbmN5IGJ5IHF1ZXVpbmcgYnVmZmVycyBpbiBhbiBhc3luYyBxdWV1ZSB3aGVuIHRoZSBzdHJlYW1pbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyAgPG9sZS5hbmRyZS5yYXZuYXMgYXQgdGFuZGJlcmcgY29tPgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jOiAoUFJPUF9ERVZJQ0VfTkFNRSksCgkgIChnc3RfZHNob3d2aWRlb3NyY19jbGFzc19pbml0KSwgKGdzdF9kc2hvd3ZpZGVvc3JjX2luaXQpLAoJICAoZ3N0X2RzaG93dmlkZW9zcmNfZGlzcG9zZSksIChnc3RfZHNob3d2aWRlb3NyY19zdG9wKSwKCSAgKGdzdF9kc2hvd3ZpZGVvc3JjX3VubG9jayksIChnc3RfZHNob3d2aWRlb3NyY191bmxvY2tfc3RvcCksCgkgIChnc3RfZHNob3d2aWRlb3NyY19jcmVhdGUpLCAoZ3N0X2RzaG93dmlkZW9zcmNfcHVzaF9idWZmZXIpOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJICBEb24ndCBpbmNyZWFzZSBsYXRlbmN5IGJ5IHF1ZXVpbmcgYnVmZmVycyBpbiBhbiBhc3luYyBxdWV1ZSB3aGVuCgkgIHRoZSBzdHJlYW1pbmcgdGhyZWFkIGNhbid0IGtlZXAgdXAgb3IgaXNuJ3Qgc2NoZWR1bGVkIG9mdGVuCgkgIGVub3VnaCBmb3Igc29tZSBvdGhlciByZWFzb24sIGJ1dCBqdXN0IGRyb3AgdGhlIHByZXZpb3VzIGJ1ZmZlcgoJICBpbiB0aGF0IGNhc2UuIEFsc28gaW1wbGVtZW50IEdzdEJhc2VTcmM6OnVubG9jayBmb3IgZmFzdGVyCgkgIHVubG9ja2luZyB3aGVuIHNodXR0aW5nIGRvd24uICgjNTIwODkyKS4KCjIwMDgtMDQtMTEgMTg6NDY6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuKjogUmVtb3ZlIEdzdFhPdmVybGF5IHN0dWZmIGFuZCB1c2UgZ2RrcGl4YnVmc2luayBwbHVzIHNvbWUgcmF0aGVyIGNydWRlIGRyYXdpbmcvc2NhbGluZyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6IChFTkNfVU5LTk9XTiksIChsYXN0X3BpeGJ1ZiksCgkgIChkcmF3X3BpeGJ1ZiksIChjaGFuZ2VfdGFnX2xpc3QpLCAodXBkYXRlX2RyYXdfcGl4YnVmKSwKCSAgKHVpX2RyYXdpbmdfc2l6ZV9hbGxvY2F0ZV9jYiksIChvbl9kcmF3aW5nTWFpbl9leHBvc2VfZXZlbnQpLAoJICAob25fYnV0dG9uU2F2ZUZpbGVfY2xpY2tlZCksICh1aV9jcmVhdGUpLCAobWVfZ3N0X2J1c19jYWxsYmFja192aWV3KSwKCSAgKG1lX2dzdF9zZXR1cF92aWV3X3BpcGVsaW5lKSwgKHByb2Nlc3NfZmlsZSk6CgkgICogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmdsYWRlOgoJICBSZW1vdmUgR3N0WE92ZXJsYXkgc3R1ZmYgYW5kIHVzZSBnZGtwaXhidWZzaW5rIHBsdXMgc29tZSByYXRoZXIgY3J1ZGUKCSAgZHJhd2luZy9zY2FsaW5nIGxvZ2ljIHRvIG1ha2UgdGhpcyBjb21waWxlIGFuZCB3b3JrIG9uIGFsbCBwbGF0Zm9ybXMuCgkgIEZpeGVzICM1MTgyMjcuCgoyMDA4LTA0LTExIDEzOjU3OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIGNvcmUvYmFzZSByZXF1aXJlbWVudHMgdG8gcmVsZWFzZWQgdmVyc2lvbnMgdG8gYXZvaWQgY29uZnVzaW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50cyB0byByZWxlYXNlZCB2ZXJzaW9ucyB0byBhdm9pZAoJICBjb25mdXNpb24uCgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6IChkZWludGVybGFjZV9kZWJ1ZyksCgkgIChHU1RfQ0FUX0RFRkFVTFQpLCAoZ3N0X2RlaW50ZXJsYWNlX2Jhc2VfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2V0X2NhcHMpLCAocGx1Z2luX2luaXQpOgoJICBBZGQgZGVidWcgY2F0ZWdvcnksIHVzZSBfc2V0X2VsZW1lbnRfZGV0YWlsc19zaW1wbGUgYW5kCgkgIHJlbW92ZSBzcGVjaWFsIGNvZGUgcGF0aCBmb3IgWTQyQiB0byBjYWxjdWxhdGUgb2Zmc2V0cyBhbmQKCSAgc3RyaWRlczsgbGliZ3N0dmlkZW8ga25vd3MgaG93IHRvIGhhbmRsZSB0aGlzIGZvcm1hdCBub3cuCgoyMDA4LTA0LTExIDEzOjA4OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2NkeGFwYXJzZS86IFBvcnQgVkNEIHBhcnNlciAoZm9ybWVybHkgY2R4YXN0cmlwKSBmcm9tIDAuOCB0byAwLjEwLiBEb2Vzbid0IGRvIGFueXRoaW5nIHRoZSAwLjggdmVyc2lvbiBkaWRuJ3QgZG8gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9jZHhhcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmg6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3R2Y2RwYXJzZS5jOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0dmNkcGFyc2UuaDoKCSAgUG9ydCBWQ0QgcGFyc2VyIChmb3JtZXJseSBjZHhhc3RyaXApIGZyb20gMC44IHRvIDAuMTAuIERvZXNuJ3QgZG8KCSAgYW55dGhpbmcgdGhlIDAuOCB2ZXJzaW9uIGRpZG4ndCBkbyB0aG91Z2guCgoyMDA4LTA0LTExIDA4OjEzOjIyICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIHN5cy9vc3M0LzogRml4IGFyZ3VtZW50cyBmb3JtYXQgaW4gZGVidWcgc3RhdGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDQtMTEgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogc3lzL29zczQvb3NzNC1taXhlci1lbnVtLmM6CgkgIChnc3Rfb3NzNF9taXhlcl9lbnVtX2dldF92YWx1ZXNfbG9ja2VkKToKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOiAoZ3N0X29zczRfc291cmNlX2RlbGF5KTogRml4IGFyZ3VtZW50cwoJICBmb3JtYXQgaW4gZGVidWcgc3RhdGVtZW50cy4KCjIwMDgtMDQtMTAgMTU6Mjk6NDQgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBBZGQgd2luaW5ldHNyYyBmb3IgYmFzaWMgaHR0cC9mdHAgc3VwcG9ydCBvbiB3aW5kb3dzICgjNTIwODk3KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgIDxvbGUuYW5kcmUucmF2bmFzIGF0IHRhbmRiZXJnIGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy93aW5pbmV0L01ha2VmaWxlLmFtOgoJICAqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuYzoKCSAgKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmg6CgkgIEFkZCB3aW5pbmV0c3JjIGZvciBiYXNpYyBodHRwL2Z0cCBzdXBwb3J0IG9uIHdpbmRvd3MgKCM1MjA4OTcpLgoKMjAwOC0wNC0xMCAxMDowMTo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9uc2YvbnNmLmg6IENoYW5nZSBwcm90b3R5cGUgb2YgcHJvY2VzcyBmdW5jdGlvbiBoZXJlIHRvbyB0byBhdm9pZCAnaW5jb21wYXRpYmxlIGFzc2lnbm1lbnQnIHdhcm5pbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbnNmL25zZi5oOgoJICBDaGFuZ2UgcHJvdG90eXBlIG9mIHByb2Nlc3MgZnVuY3Rpb24gaGVyZSB0b28gdG8gYXZvaWQKCSAgJ2luY29tcGF0aWJsZSBhc3NpZ25tZW50JyB3YXJuaW5ncy4KCjIwMDgtMDQtMTAgMDc6MTE6NTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6IEluY3JlYXNlIHRoZSB0aW1lb3V0IGZvciB0aGUgaW50ZXJuZXQgdGVzdHMgdG8gMjUwIHNlY29uZHMgYW5kIGNoZWNrIGZvciBOVUxMIGNhcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOiAoZ290X2J1ZmZlciksCgkgIChzb3VwaHR0cHNyY19zdWl0ZSk6CgkgIEluY3JlYXNlIHRoZSB0aW1lb3V0IGZvciB0aGUgaW50ZXJuZXQgdGVzdHMgdG8gMjUwIHNlY29uZHMKCSAgYW5kIGNoZWNrIGZvciBOVUxMIGNhcHMgaW5zdGVhZCBvZiBqdXN0IGNyYXNoaW5nLgoJICBUaGUgcmVhbCBmaXggd291bGQgYmUgdG8gaW1wbGVtZW50IGFuIHNob3V0Y2FzdCBzZXJ2ZXIgZm9yIHRoZSB1bml0IHRlc3QKCSAgaW5zdGVhZCBvZiByZWx5aW5nIG9uIGEgd29ya2luZyBpbnRlcm5ldCBjb25uZWN0aW9uLgoJICBGaXhlcyBidWcgIzUyMTc0OS4KCjIwMDgtMDQtMDkgMjI6Mjc6NTAgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBBdm9pZCBsZWFraW5nIHBhZHMgaW4gdGhlIFJUUCBtYW5hZ2VyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGZyZWVfc2Vzc2lvbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2ZpbmFsaXplKToKCSAgQXZvaWQgbGVha2luZyBwYWRzIGluIHRoZSBSVFAgbWFuYWdlci4KCjIwMDgtMDQtMDkgMTM6NDM6NTEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L25zZi9uZXNfYXB1Lio6IERvbid0IGRvIHZvaWQgcG9pbnRlciBhcml0aG1ldGljIC0gaXQncyBhIGdjYyBleHRlbnNpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9uc2YvbmVzX2FwdS5jOiAoYXB1X3Byb2Nlc3MpOgoJICAqIGdzdC9uc2YvbmVzX2FwdS5oOgoJICBEb24ndCBkbyB2b2lkIHBvaW50ZXIgYXJpdGhtZXRpYyAtIGl0J3MgYSBnY2MgZXh0ZW5zaW9uLgoKMjAwOC0wNC0wNiAyMDoxODoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogV29yayBhcm91bmQgbWlzc2luZyBiaXRzIG9mIHRocmVhZC1zYWZldHkgb24gb2xkZXIgR0xpYnMgc29tZSBtb3JlIHRvIGF2b2lkIGFzc2VydGlvbnMgdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IChnc3RfamFja19hdWRpb19zaW5rX2NsYXNzX2luaXQpOgoJICBXb3JrIGFyb3VuZCBtaXNzaW5nIGJpdHMgb2YgdGhyZWFkLXNhZmV0eSBvbiBvbGRlciBHTGlicyBzb21lCgkgIG1vcmUgdG8gYXZvaWQgYXNzZXJ0aW9ucyB3aGVuIHN0YXJ0aW5nIHVwIG11bHRpcGxlIHBsYXliaW4KCSAgb2JqZWN0cyBjb25jdXJyZW50bHkgKHNlZSAjNTEyMzgyKS4KCjIwMDgtMDQtMDYgMDk6MDE6NDIgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IE9ubHkgaWdub3JlIGFjdHVhbCByZWRpcmVjdHMgbm90IGFsbCByZXNwb25zZXMgd2hlbiBpbiBzdGF0ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX3Jlc3BvbnNlX2NiKToKCSAgT25seSBpZ25vcmUgYWN0dWFsIHJlZGlyZWN0cyBub3QgYWxsIHJlc3BvbnNlcyB3aGVuIGluIHN0YXRlCgkgIEdTVF9TT1VQX0hUVFBfU1JDX1NFU1NJT05fSU9fU1RBVFVTX1JVTk5JTkcuIEZpeGVzIGJ1ZyAjNTI2MzM3LgoKMjAwOC0wNC0wNiAwODo1ODozOSArMDAwMCAgRGFtaWVuIExlc3BpYXUgPGRhbWllbi5sZXNwaWF1QGdtYWlsLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQWN0dWFsbHkgYnVpbGQgZGxscyB3aGVuIGNyb3NzLWNvbXBpbGluZyB3aXRoIG1pbmd3MzIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRGFtaWVuIExlc3BpYXUgPGRhbWllbiBkb3QgbGVzcGlhdSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQWN0dWFsbHkgYnVpbGQgZGxscyB3aGVuIGNyb3NzLWNvbXBpbGluZyB3aXRoIG1pbmd3MzIuCgkgIEZpeGVzIGJ1ZyAjNTI2MjQ3LgoKMjAwOC0wNC0wNSAxMTowMzoxMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvb2ZhLmM6IEFsc28gY2hlY2sgdGhhdCB3ZSBoYXZlIHByb2Nlc3NlZCBhdCBsZWFzdCAxMzUgc2Vjb25kcyBvZiBhdWRpbyB1bnRpbCB3ZSBzdG9wIGFuZCBjYWxjdWxhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29mYS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBBbHNvIGNoZWNrIHRoYXQgd2UgaGF2ZSBwcm9jZXNzZWQgYXQgbGVhc3QgMTM1IHNlY29uZHMgb2YgYXVkaW8KCSAgdW50aWwgd2Ugc3RvcCBhbmQgY2FsY3VsYXRlZCBhIGZpbmdlcnByaW50LgoKMjAwOC0wNC0wNCAyMDo0MzoxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLio6IEdzdFNydGVuYyA9PiBHc3RTcnRFbmMgYW5kIGdzdF9zcnRlbmNfID0+IGdzdF9zcnRfZW5jXy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3N1YmVuYy9nc3RzcnRlbmMuYzoKCSAgKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5oOgoJICBHc3RTcnRlbmMgPT4gR3N0U3J0RW5jIGFuZCBnc3Rfc3J0ZW5jXyA9PiBnc3Rfc3J0X2VuY18uCgoyMDA4LTA0LTA0IDE5OjE4OjM2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay86IEFkZCBzaW1wbGUgdW5pdCB0ZXN0cyBmb3IgdGhlIE9GQSBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvb2ZhLmM6IChidXNfaGFuZGxlciksIChHU1RfU1RBUlRfVEVTVCksCgkgIChvZmFfc3VpdGUpLCAobWFpbik6CgkgIEFkZCBzaW1wbGUgdW5pdCB0ZXN0cyBmb3IgdGhlIE9GQSBwbHVnaW4uCgoyMDA4LTA0LTAzIDE0OjIzOjQ3ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBjb21tb246CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYyBmaWxlIHdpdGggbmV3IG9zc3Y0IHBsdWdpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZSB3aXRoIG5ldyBvc3N2NCBwbHVnaW4KCjIwMDgtMDQtMDIgMjA6MTg6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBPU1N2NC4gTWl4ZXIgc3RpbGwgbmVlZHMgYSBiaXQgbW9yZSBsb3ZlLCBidXQgZXZlbiBtYWdpYyBoYXMgaXRzIGxpbWl0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzNC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkgICogc3lzL29zczQvb3NzNC1hdWRpby5oOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItZW51bS5jOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItZW51bS5oOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItc2xpZGVyLmM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci1zbGlkZXIuaDoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLXN3aXRjaC5jOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItc3dpdGNoLmg6CgkgICogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuaDoKCSAgKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmM6CgkgICogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5oOgoJICAqIHN5cy9vc3M0L29zczQtc2luay5jOgoJICAqIHN5cy9vc3M0L29zczQtc2luay5oOgoJICAqIHN5cy9vc3M0L29zczQtc291bmRjYXJkLmg6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5oOgoJICBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBPU1N2NC4gTWl4ZXIgc3RpbGwgbmVlZHMgYSBiaXQgbW9yZSBsb3ZlLAoJICBidXQgZXZlbiBtYWdpYyBoYXMgaXRzIGxpbWl0cy4KCjIwMDgtMDQtMDEgMjI6NDA6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBSZW5hbWUgbmV3IHNydGVuYyBwbHVnaW4gdG8gc3ViZW5jLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgICogZ3N0L3NydGVuYy9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3J0ZW5jL2dzdHNydGVuYy5jOgoJICAqIGdzdC9zcnRlbmMvZ3N0c3J0ZW5jLmg6CgkgICogZ3N0L3N1YmVuYy9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5jOiAocGx1Z2luX2luaXQpOgoJICBSZW5hbWUgbmV3IHNydGVuYyBwbHVnaW4gdG8gc3ViZW5jLgoKMjAwOC0wNC0wMSAyMDozMzoxOSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGZpeCBzcGVjJ2EnbGVjCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggc3BlYydhJ2xlYwoKMjAwOC0wNC0wMSAxOTo1Mzo1MyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6IENhYmxlIGRlbGl2ZXJ5IHN1YnN5c3RlbSBkZXNjcmlwdG9ycycgZnJlcXVlbmN5J3MgYmNkIGlzIG1lYXN1cmVkIGluIDEwMEh6IHVuaXRzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBDYWJsZSBkZWxpdmVyeSBzdWJzeXN0ZW0gZGVzY3JpcHRvcnMnIGZyZXF1ZW5jeSdzIGJjZAoJICBpcyBtZWFzdXJlZCBpbiAxMDBIeiB1bml0cyBzbyBhZGp1c3QgbXVsdGlwbGllciBhY2NvcmRpbmdseS4KCjIwMDgtMDQtMDEgMTM6NDI6NTUgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBBZGQgc3J0IHN1YnRpdGxlIGVuY29kZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9zcnRlbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NydGVuYy9nc3RzcnRlbmMuYzoKCSAgKiBnc3Qvc3J0ZW5jL2dzdHNydGVuYy5oOgoJICBBZGQgc3J0IHN1YnRpdGxlIGVuY29kZXIKCjIwMDgtMDMtMzEgMTY6MjQ6NDIgKzAwMDAgIGthcGlsIDxrYXBpbEBmbHVlbmRvLmNvbT4KCgkgIGV4dC9nc20vZ3N0Z3NtZGVjLio6IEluY3JlYXNlIHRoZSBhbGxvd2VkIHNhbXBsZXJhdGVzIGZvciB0aGUgbXMtZ3NtIGZvcm1hdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBrYXBpbCA8a2FwaWwgYXQgZmx1ZW5kbyBkb3QgY29tPgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6IChnc3RfZ3NtZGVjX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZ3NtZGVjX2NoYWluKToKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5oOgoJICBJbmNyZWFzZSB0aGUgYWxsb3dlZCBzYW1wbGVyYXRlcyBmb3IgdGhlIG1zLWdzbSBmb3JtYXQuCgkgIEZpeGVzICM0ODEzNTQuCgoyMDA4LTAzLTMwIDIxOjA2OjU4ICswMDAwICBKYW4gZGUgR3Jvb3QgPGphbkBqZ2MuaG9tZWlwLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IGJ1aWxkIHdpdGggLS1kaXNhYmxlLWV4dGVybmFsICgjNTI1MTAwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKYW4gZGUgR3Jvb3QgPGphbiBhdCBqZ2MgaG9tZWlwIG5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCBidWlsZCB3aXRoIC0tZGlzYWJsZS1leHRlcm5hbCAoIzUyNTEwMCkuCgoyMDA4LTAzLTI4IDA5OjQ4OjI3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogUmVwZWF0IGRpc2VxYyBjYWxsIHRvIGFsbG93IGZvciBzb21lIGRpc2VxYyBzd2l0Y2hlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgUmVwZWF0IGRpc2VxYyBjYWxsIHRvIGFsbG93IGZvciBzb21lIGRpc2VxYyBzd2l0Y2hlcy4KCjIwMDgtMDMtMjcgMTY6MzI6MjcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBleHQvTWFrZWZpbGUuYW06IERpc3Qgb2ZhIGNvcnJlY3RseSEgRml4ZXMgbm9uLXVuaW5zdGFsbGVkIGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIERpc3Qgb2ZhIGNvcnJlY3RseSEgRml4ZXMgbm9uLXVuaW5zdGFsbGVkIGJ1aWxkLgoKMjAwOC0wMy0yNyAxNTo1NzoxNCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IE1ha2UgZGlzZXFjIHdvcmsgbW9yZSByZWxpYWJseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgTWFrZSBkaXNlcWMgd29yayBtb3JlIHJlbGlhYmx5LgoKMjAwOC0wMy0yNiAwNzo0MDo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L25zZi86IFJlbW92ZSBtZW1ndWFyZCBhZ2FpbiBhbmQgYXBwbHkgaG9wZWZ1bGx5IGFsbCBwcmV2aW91c2x5IGRyb3BwZWQgbG9jYWwgcGF0Y2hlcy4gU2hvdWxkIGJlIHJlYWxseSBiZXR0ZXIgdGhhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgICogZ3N0L25zZi9mZHNfc25kLmM6CgkgICogZ3N0L25zZi9tbWM1X3NuZC5jOgoJICAqIGdzdC9uc2YvbnNmLmM6CgkgICogZ3N0L25zZi90eXBlcy5oOgoJICAqIGdzdC9uc2YvdnJjN19zbmQuYzoKCSAgKiBnc3QvbnNmL3ZyY3Zpc25kLmM6CgkgICogZ3N0L25zZi9tZW1ndWFyZC5jOgoJICAqIGdzdC9uc2YvbWVtZ3VhcmQuaDoKCSAgUmVtb3ZlIG1lbWd1YXJkIGFnYWluIGFuZCBhcHBseSBob3BlZnVsbHkgYWxsIHByZXZpb3VzbHkgZHJvcHBlZAoJICBsb2NhbCBwYXRjaGVzLiBTaG91bGQgYmUgcmVhbGx5IGJldHRlciB0aGFuIHRoZSBvbGQgdmVyc2lvbiBub3cuCgoyMDA4LTAzLTI1IDE2OjU4OjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L25zZi86IFVuYnJlYWsgY29tcGlsYXRpb24gYnkgZGlzYWJsaW5nIG1lbWd1YXJkIGFuZCBkb2luZyBzb21lIGRpcnR5IGhhY2sgZml4ZXMgdG8gbWFrZSBpdCBjb21waWxlIG9uIDY0Yml0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L25zZi9tZW1ndWFyZC5jOiAoX215X2ZyZWUpOgoJICAqIGdzdC9uc2YvdHlwZXMuaDoKCSAgVW5icmVhayBjb21waWxhdGlvbiBieSBkaXNhYmxpbmcgbWVtZ3VhcmQgYW5kIGRvaW5nIHNvbWUgZGlydHkgaGFjawoJICBmaXhlcyB0byBtYWtlIGl0IGNvbXBpbGUgb24gNjRiaXRzLgoKMjAwOC0wMy0yNSAxNTo1NjoxMyArMDAwMCAgQW5kcmVhcyBIZW5yaWtzc29uIDxhbmRyZWFzQGZhdGFsLnNldD4KCgkgIGdzdC9uc2YvOiBVcGRhdGUgb3VyIGludGVybmFsIG5vc2VmYXJ0IHRvIG5vc2VmYXJ0LTIuNy1tbHMgdG8gZml4IHNlZ2ZhdWx0cyBvbiBzb21lIGZpbGVzLiBGaXhlcyBidWcgIzQ5ODIzNy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbmRyZWFzIEhlbnJpa3Nzb24gPGFuZHJlYXMgYXQgZmF0YWwgZG90IHNldD4KCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9uc2YvZGlzNjUwMi5oOgoJICAqIGdzdC9uc2YvZmRzX3NuZC5jOgoJICAqIGdzdC9uc2YvZmRzX3NuZC5oOgoJICAqIGdzdC9uc2YvZm1vcGwuYzoKCSAgKiBnc3QvbnNmL2Ztb3BsLmg6CgkgICogZ3N0L25zZi9nc3Ruc2YuYzoKCSAgKiBnc3QvbnNmL2xvZy5jOgoJICAqIGdzdC9uc2YvbG9nLmg6CgkgICogZ3N0L25zZi9tZW1ndWFyZC5jOgoJICAqIGdzdC9uc2YvbWVtZ3VhcmQuaDoKCSAgKiBnc3QvbnNmL21tYzVfc25kLmM6CgkgICogZ3N0L25zZi9tbWM1X3NuZC5oOgoJICAqIGdzdC9uc2YvbmVzNjUwMi5jOgoJICAqIGdzdC9uc2YvbmVzNjUwMi5oOgoJICAqIGdzdC9uc2YvbmVzX2FwdS5jOgoJICAqIGdzdC9uc2YvbmVzX2FwdS5oOgoJICAqIGdzdC9uc2YvbnNmLmM6CgkgICogZ3N0L25zZi9uc2YuaDoKCSAgKiBnc3QvbnNmL29zZC5oOgoJICAqIGdzdC9uc2YvdHlwZXMuaDoKCSAgKiBnc3QvbnNmL3ZyYzdfc25kLmM6CgkgICogZ3N0L25zZi92cmM3X3NuZC5oOgoJICAqIGdzdC9uc2YvdnJjdmlzbmQuYzoKCSAgKiBnc3QvbnNmL3ZyY3Zpc25kLmg6CgkgIFVwZGF0ZSBvdXIgaW50ZXJuYWwgbm9zZWZhcnQgdG8gbm9zZWZhcnQtMi43LW1scyB0byBmaXggc2VnZmF1bHRzCgkgIG9uIHNvbWUgZmlsZXMuIEZpeGVzIGJ1ZyAjNDk4MjM3LgoJICBSZW1vdmUgc29tZSAvLyBjb21tZW50cywgZml4IHNvbWUgY29tcGlsZXIgd2FybmluZ3MgYW5kIHVzZSBwb3coKQoJICBpbnN0ZWFkIG9mIGEgc2xvdywgc2VsZm1hZGUgaW1wbGVtZW50YXRpb24uCgoyMDA4LTAzLTI1IDE1OjE3OjU4ICswMDAwICBFZCBDYXRtdXIgPGVkQGNhdG11ci5jby51az4KCgkgIGNvbmZpZ3VyZS5hYzogQWRkIHN1cHBvcnQgZm9yIG5lb24gMC4yOCwgd2hpY2ggZGlkbid0IGNoYW5nZSBBUEkuIEZpeGVzIGJ1ZyAjNTI0MDM1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEVkIENhdG11ciA8ZWQgYXQgY2F0bXVyIGRvdCBjbyBkb3QgdWs+CgkgICogY29uZmlndXJlLmFjOgoJICBBZGQgc3VwcG9ydCBmb3IgbmVvbiAwLjI4LCB3aGljaCBkaWRuJ3QgY2hhbmdlIEFQSS4gRml4ZXMgYnVnICM1MjQwMzUuCgoyMDA4LTAzLTI0IDEyOjMyOjU5ICswMDAwICBSZW5lIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBNYWtlIHJnYW5hbHlzaXMgYW5kIHJnbGltaXRlciBlbGVtZW50cyBHQVAtZmxhZyBhd2FyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jIChnc3RfcmdfYW5hbHlzaXNfaW5pdCksCgkgIChnc3RfcmdfYW5hbHlzaXNfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYyAoZ3N0X3JnX2xpbWl0ZXJfaW5pdCksCgkgIChnc3RfcmdfbGltaXRlcl90cmFuc2Zvcm1faXApOgoJICBNYWtlIHJnYW5hbHlzaXMgYW5kIHJnbGltaXRlciBlbGVtZW50cyBHQVAtZmxhZyBhd2FyZS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6ICh0ZXN0X2dhcF9idWZmZXJzKSwKCSAgKHJnYW5hbHlzaXNfc3VpdGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jICh0ZXN0X2dhcCksIChyZ2xpbWl0ZXJfc3VpdGUpOgoJICBBZGQgdGVzdHMgdG8gdmVyaWZ5IGdhcC1hd2FyZW5lc3MuCgoyMDA4LTAzLTIyIDE5OjI2OjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBEb24ndCBhdXRvcGx1ZyBzb3VwaHR0cHNyYyBmb3IgZGF2L2RhdnMuIFRoaXMgaXMgYmV0dGVyIGhhbmRsZWQgYnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9oZWFkZXJzX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2NodW5rX2FsbG9jYXRvciksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfY2h1bmtfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2dldF9wcm90b2NvbHMpOgoJICBEb24ndCBhdXRvcGx1ZyBzb3VwaHR0cHNyYyBmb3IgZGF2L2RhdnMuIFRoaXMgaXMgYmV0dGVyIGhhbmRsZWQgYnkKCSAgR0lPIGFuZCBHbm9tZVZGUyBhcyB0aGV5IHByb3ZpZGUgYXV0aGVudGljYXRpb24uCgkgIERvbid0IGxlYWsgdGhlIGljeSBjYXBzIGlmIHdlIGFscmVhZHkgc2V0IHRoZW0gYW5kIGdldCBhIG5ldwoJICBpY3ktbWV0YWludCBoZWFkZXIuCgkgIFRyeSBoYXJkZXIgdG8gc2V0IHRoZSBpY3kgY2FwcyBvbiB0aGUgb3V0cHV0IGJ1ZmZlciB0byBoYXZlIGNvcnJlY3QKCSAgY2FwcyBmb3IgdGhlIGZpcnN0IGJ1ZmZlciBhbHJlYWR5LgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6IChnb3RfYnVmZmVyKSwKCSAgKEdTVF9TVEFSVF9URVNUKToKCSAgQ2hlY2sgdGhhdCB3ZSBnZXQgYSBidWZmZXIgd2l0aCBhcHBsaWNhdGlvbi94LWljeSBjYXBzIGlmIGlyYWRpby1tb2RlCgkgIGlzIGVuYWJsZWQgYW5kIHdlIGhhdmUgYW4gaWNlY2FzdCBVUkwuCgoyMDA4LTAzLTIyIDE4OjE4OjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBBY3R1YWxseSBzZXQgdGhlIGljeSBjYXBzIG9uIG91ciBzcmMgcGFkIGlmIHdlIGhhdmUgaWNlY2FzdCBkYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfY2h1bmtfYWxsb2NhdG9yKToKCSAgQWN0dWFsbHkgc2V0IHRoZSBpY3kgY2FwcyBvbiBvdXIgc3JjIHBhZCBpZiB3ZSBoYXZlIGljZWNhc3QgZGF0YS4KCSAgRml4ZXMgYnVnICM1MjM4NTQuCgoyMDA4LTAzLTIyIDE1OjAwOjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBVc2UgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBldmVyeXdoZXJlIGZvciBHUGFyYW1TcGVjcyB0aGF0IHVzZSBzdGF0aWMgc3RyaW5ncyAoaS5lLiBhbGwpLiBUaGlzIGdpdmVzIHVzIGxlc3MgbWVtb3J5IHUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FtaXhlcmVsZW1lbnQuYzoKCSAgKGdzdF9hbHNhX21peGVyX2VsZW1lbnRfY2xhc3NfaW5pdCk6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYXNpbmsuYzogKGdzdF9hbHNhc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvYWxzYS9nc3RhbHNhc3JjLmM6IChnc3RfYWxzYXNyY19jbGFzc19pbml0KToKCSAgKiBleHQvY2RwYXJhbm9pYS9nc3RjZHBhcmFub2lhc3JjLmM6CgkgIChnc3RfY2RfcGFyYW5vaWFfc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5jOiAoZ3N0X2dpb19zaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmM6IChnc3RfZ2lvX3NyY19jbGFzc19pbml0KToKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNpbmsuYzogKGdzdF9naW9fc3RyZWFtX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zcmMuYzogKGdzdF9naW9fc3RyZWFtX3NyY19jbGFzc19pbml0KToKCSAgKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzaW5rLmM6IChnc3RfZ25vbWVfdmZzX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc3JjLmM6IChnc3RfZ25vbWVfdmZzX3NyY19jbGFzc19pbml0KToKCSAgKiBleHQvb2dnL2dzdG9nZ211eC5jOiAoZ3N0X29nZ19tdXhfY2xhc3NfaW5pdCk6CgkgICogZXh0L3BhbmdvL2dzdHRleHRvdmVybGF5LmM6IChnc3RfdGV4dF9vdmVybGF5X2NsYXNzX2luaXQpOgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0cmVuZGVyLmM6IChnc3RfdGV4dF9yZW5kZXJfY2xhc3NfaW5pdCk6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzogKGdzdF90aGVvcmFfZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZW5jLmM6IChnc3RfdGhlb3JhX2VuY19jbGFzc19pbml0KToKCSAgKiBleHQvdGhlb3JhL3RoZW9yYXBhcnNlLmM6IChnc3RfdGhlb3JhX3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzZW5jLmM6IChnc3Rfdm9yYmlzX2VuY19jbGFzc19pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YXVkaW9maWx0ZXJ0ZW1wbGF0ZS5jOgoJICAoZ3N0X2F1ZGlvX2ZpbHRlcl90ZW1wbGF0ZV9jbGFzc19pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YmFzZWF1ZGlvc2luay5jOgoJICAoZ3N0X2Jhc2VfYXVkaW9fc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YmFzZWF1ZGlvc3JjLmM6CgkgIChnc3RfYmFzZV9hdWRpb19zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0LWxpYnMvZ3N0L2NkZGEvZ3N0Y2RkYWJhc2VzcmMuYzoKCSAgKGdzdF9jZGRhX2Jhc2Vfc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL21peGVydHJhY2suYzoKCSAgKGdzdF9taXhlcl90cmFja19jbGFzc19pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvcnRwL2dzdGJhc2VydHBkZXBheWxvYWQuYzoKCSAgKGdzdF9iYXNlX3J0cF9kZXBheWxvYWRfY2xhc3NfaW5pdCk6CgkgICogZ3N0LWxpYnMvZ3N0L3J0cC9nc3RiYXNlcnRwcGF5bG9hZC5jOgoJICAoZ3N0X2Jhc2VydHBwYXlsb2FkX2NsYXNzX2luaXQpOgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvZ3N0YXVkaW9jb252ZXJ0LmM6CgkgIChnc3RfYXVkaW9fY29udmVydF9jbGFzc19pbml0KToKCSAgKiBnc3QvYXVkaW9yYXRlL2dzdGF1ZGlvcmF0ZS5jOiAoZ3N0X2F1ZGlvX3JhdGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAoZ3N0X2F1ZGlvcmVzYW1wbGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2F1ZGlvdGVzdHNyYy9nc3RhdWRpb3Rlc3RzcmMuYzoKCSAgKGdzdF9hdWRpb190ZXN0X3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdGRlY29kZWJpbjIuYzogKGdzdF9kZWNvZGVfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmFzZWJpbi5jOiAoZ3N0X3BsYXlfYmFzZV9iaW5fY2xhc3NfaW5pdCksCgkgIChwcmVyb2xsX3VubGlua2VkKToKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJpbi5jOiAoZ3N0X3BsYXlfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmluMi5jOiAoZ3N0X3BsYXlfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5c2luay5jOiAoZ3N0X3BsYXlfc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0cXVldWUyLmM6IChnc3RfcXVldWVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHN0cmVhbWluZm8uYzogKGdzdF9zdHJlYW1faW5mb19jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0c3RyZWFtc2VsZWN0b3IuYzogKGdzdF9zZWxlY3Rvcl9wYWRfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3R1cmlkZWNvZGViaW4uYzogKGdzdF91cmlfZGVjb2RlX2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3Qvc3VicGFyc2UvZ3N0c3VicGFyc2UuYzogKGdzdF9zdWJfcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3RjcC9nc3RtdWx0aWZkc2luay5jOiAoZ3N0X211bHRpX2ZkX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3RjcC9nc3R0Y3BjbGllbnRzaW5rLmM6IChnc3RfdGNwX2NsaWVudF9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC90Y3AvZ3N0dGNwY2xpZW50c3JjLmM6IChnc3RfdGNwX2NsaWVudF9zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3RjcC9nc3R0Y3BzZXJ2ZXJzaW5rLmM6IChnc3RfdGNwX3NlcnZlcl9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC90Y3AvZ3N0dGNwc2VydmVyc3JjLmM6IChnc3RfdGNwX3NlcnZlcl9zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvcmF0ZS9nc3R2aWRlb3JhdGUuYzogKGdzdF92aWRlb19yYXRlX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb3NjYWxlL2dzdHZpZGVvc2NhbGUuYzogKGdzdF92aWRlb19zY2FsZV9jbGFzc19pbml0KToKCSAgKiBnc3QvdmlkZW90ZXN0c3JjL2dzdHZpZGVvdGVzdHNyYy5jOgoJICAoZ3N0X3ZpZGVvX3Rlc3Rfc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC92b2x1bWUvZ3N0dm9sdW1lLmM6IChnc3Rfdm9sdW1lX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwvZ3N0djRsZWxlbWVudC5jOiAoZ3N0X3Y0bGVsZW1lbnRfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bC9nc3R2NGxtanBlZ3NpbmsuYzogKGdzdF92NGxtanBlZ3NpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bC9nc3R2NGxtanBlZ3NyYy5jOiAoZ3N0X3Y0bG1qcGVnc3JjX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwvZ3N0djRsc3JjLmM6IChnc3RfdjRsc3JjX2NsYXNzX2luaXQpOgoJICAqIHN5cy94aW1hZ2UveGltYWdlc2luay5jOiAoZ3N0X3hpbWFnZXNpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL3h2aW1hZ2UveHZpbWFnZXNpbmsuYzogKGdzdF94dmltYWdlc2lua19jbGFzc19pbml0KToKCSAgVXNlIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgZXZlcnl3aGVyZSBmb3IgR1BhcmFtU3BlY3MgdGhhdCB1c2UKCSAgc3RhdGljIHN0cmluZ3MgKGkuZS4gYWxsKS4gVGhpcyBnaXZlcyB1cyBsZXNzIG1lbW9yeSB1c2FnZSwKCSAgZmV3ZXIgYWxsb2NhdGlvbnMgYW5kIHRodXMgbGVzcyBtZW1vcnkgZGVmcmFnbWVudGF0aW9uLiBEZXBlbmQKCSAgb24gY29yZSBDVlMgZm9yIHRoaXMuIEZpeGVzIGJ1ZyAjNTIzODA2LgoKMjAwOC0wMy0yMSAxNDo1MDo0MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBpZiB0aGUgY29tcGlsZXIgc3VwcG9ydHMgZG8geyB9IHdoaWxlICgwKSBtYWNyb3MuIFRoaXMgZml4ZXMgYSB3YXJuaW5nIHdoZW4gY29tcGlsaW5nIHdpdGggZysrIDQuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2hlY2sgaWYgdGhlIGNvbXBpbGVyIHN1cHBvcnRzIGRvIHsgfSB3aGlsZSAoMCkgbWFjcm9zLiBUaGlzIGZpeGVzCgkgIGEgd2FybmluZyB3aGVuIGNvbXBpbGluZyB3aXRoIGcrKyA0LjMsIHJlc3VsdGluZyBpbiBhIGJ1aWxkIGZhaWx1cmUKCSAgYmVjYXVzZSBvZiAtV2Vycm9yLgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuY2M6CgkgICogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJICBJbmNsdWRlIDxzdHJpbmcuaD4gZm9yIG1lbWNweSBhbmQgZnJpZW5kcyB0byBmaXggdGhlIGJ1aWxkIHdpdGgKCSAgZ2NjIDQuMy4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIHRyYWlsaW5nIGJhY2tzbGFzaC4KCjIwMDgtMDMtMjAgMTg6MTA6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiBEbyBnX29iamVjdF9ub3RpZnkoKSBvbmx5IHdoZW4gbm90IGhvbGRpbmcgdGhlIGxvY2sgdG8gZ2V0IHRoZSBwcm9wZXJ0eSBiZWNhdXNlIG90aGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9zZXRfYWN0aXZlX3BhZCksIChnc3RfaW5wdXRfc2VsZWN0b3Jfc3dpdGNoKToKCSAgRG8gZ19vYmplY3Rfbm90aWZ5KCkgb25seSB3aGVuIG5vdCBob2xkaW5nIHRoZSBsb2NrIHRvIGdldCB0aGUgcHJvcGVydHkKCSAgYmVjYXVzZSBvdGhlcndpc2Ugd2UgcnVuIGludG8gYSBkZWFkbG9jayB3aXRoIHRoZSBkZWVwLW5vdGlmeSBoYW5kbGVycwoJICB0aGF0IGFyZSBwb3NzaWJseSBpbnN0YWxsZWQuCgoyMDA4LTAzLTIwIDE3OjQ4OjQ5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogUmVsZWFzZSB0aGUgc2VsZWN0b3IgbG9jayB3aGVuIHBhZCBhbGxvYyBoYXBwZW5zIG9uIGEgbm9uIHNlbGVjdGVkIHBhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogKGdzdF9zZWxlY3Rvcl9wYWRfY2xhc3NfaW5pdCksCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2V2ZW50KSwgKGdzdF9zZWxlY3Rvcl9wYWRfYnVmZmVyYWxsb2MpLAoJICAoZ3N0X3NlbGVjdG9yX3BhZF9jaGFpbiksIChnc3RfaW5wdXRfc2VsZWN0b3Jfc2V0X2FjdGl2ZV9wYWQpOgoJICBSZWxlYXNlIHRoZSBzZWxlY3RvciBsb2NrIHdoZW4gcGFkIGFsbG9jIGhhcHBlbnMgb24gYSBub24gc2VsZWN0ZWQgcGFkLgoKMjAwOC0wMy0yMCAxNzowNzowNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IEFkZCBwYWQgcHJvcGVydHkgdG8gY29uZmlndXJlIGJlaGF2aW91ciBvZiB0aGUgdW5zZWxlY3RlZCBwYWQsIGl0IGNhbiByZXR1cm4gT0sgb3IgTi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiAoZ3N0X3NlbGVjdG9yX3BhZF9jbGFzc19pbml0KSwKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfaW5pdCksIChnc3Rfc2VsZWN0b3JfcGFkX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2dldF9wcm9wZXJ0eSksIChnc3Rfc2VsZWN0b3JfcGFkX2V2ZW50KSwKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfYnVmZmVyYWxsb2MpLCAoZ3N0X3NlbGVjdG9yX3BhZF9jaGFpbiksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3Jfc2V0X2FjdGl2ZV9wYWQpOgoJICBBZGQgcGFkIHByb3BlcnR5IHRvIGNvbmZpZ3VyZSBiZWhhdmlvdXIgb2YgdGhlIHVuc2VsZWN0ZWQgcGFkLCBpdCBjYW4KCSAgcmV0dXJuIE9LIG9yIE5PVF9MSU5LRUQsIGJhc2VkIG9uIHRoZSB1c2UgY2FzZS4KCjIwMDgtMDMtMjAgMTY6NDg6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci4qOiBGaWd1cmUgb3V0IHRoZSBsb2NraW5nIGEgYml0IG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIChnc3Rfc2VsZWN0b3JfcGFkX2dldF9ydW5uaW5nX3RpbWUpLCAoZ3N0X3NlbGVjdG9yX3BhZF9yZXNldCksCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2V2ZW50KSwgKGdzdF9zZWxlY3Rvcl9wYWRfYnVmZmVyYWxsb2MpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3dhaXQpLCAoZ3N0X3NlbGVjdG9yX3BhZF9jaGFpbiksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfY2xhc3NfaW5pdCksIChnc3RfaW5wdXRfc2VsZWN0b3JfaW5pdCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfZGlzcG9zZSksIChnc3Rfc2VnbWVudF9zZXRfc3RhcnQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3NldF9hY3RpdmVfcGFkKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfZ2V0X2xpbmtlZF9wYWQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX2lzX2FjdGl2ZV9zaW5rcGFkKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9hY3RpdmF0ZV9zaW5rcGFkKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9yZXF1ZXN0X25ld19wYWQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3JlbGVhc2VfcGFkKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2lucHV0X3NlbGVjdG9yX2Jsb2NrKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9zd2l0Y2gpOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmg6CgkgIEZpZ3VyZSBvdXQgdGhlIGxvY2tpbmcgYSBiaXQgbW9yZS4KCSAgTWFyayBidWZmZXJzIHdpdGggZGlzY29udCBhZnRlciBzd2l0Y2hpbmcuCgkgIEZpeCBpbml0aWFsIHNlZ21lbnQgZm9yd2FyZGluZywgbWFrZSBzdXJlIHRvIG9ubHkgZm9yd2FyZCBvbmUgc2VnbWVudAoJICByZWdhcmRsZXNzIG9mIHdoYXQgdGhlIHNlcXVlbmNlIG9mIGJ1ZmZlcnMvc2VnbWVudHMgaXMuIFNlZSAjNTIyMjAzLgoJICBJbXByb3ZlIGZsdXNoaW5nIHdoZW4gYmxvY2tlZC4KCSAgUmV0dXJuIE5PVF9MSU5LRUQgd2hlbiBhIHN0cmVhbSBpcyBub3Qgc2VsZWN0ZWQuCgkgIE5vdCBBUEkgY2hhbmdlIGZvciB0aGUgc3dpdGNoIHNpZ25hbCBpbiB0aGUgZG9jcy4KCSAgRml4IHN0YXJ0L3RpbWUvYWNjdW0gdmFsdWVzIG9mIHRoZSBuZXcgc2VnbWVudC4KCSAgQ29ycmVjdGx5IHVubG9jayBhbmQgZmx1c2ggYSBibG9ja2luZyBzZWxlY3RvciB3aGVuIGdvaW5nIHRvIFJFQURZLgoKMjAwOC0wMy0yMCAxNTo1NDoyMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2xhZHNwYS86IEFkZCBzb21lIHRob3VnaHRzIGFuZCBGSVhNRSdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIEFkZCBzb21lIHRob3VnaHRzIGFuZCBGSVhNRSdzLgoKMjAwOC0wMy0yMCAxNTo0OToyMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOiBJbmNsdWRlIHN0ZGxpYi5oIGZvciBhYnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSAgSW5jbHVkZSBzdGRsaWIuaCBmb3IgYWJzLgoKMjAwOC0wMy0xOSAxOTo1Njo1OSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2ZyZWV6ZS86IEFkZCBleGFtcGxlIHRvIHNvdXJjZSBjb2RlIGRvY3VtZW50YXRpb24gYmxvYiBhbmQgcmVtb3ZlIHRoZSAzIGxpbmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZyZWV6ZS9GQVE6CgkgICogZ3N0L2ZyZWV6ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICBBZGQgZXhhbXBsZSB0byBzb3VyY2UgY29kZSBkb2N1bWVudGF0aW9uIGJsb2IgYW5kIHJlbW92ZSB0aGUgMyBsaW5lCgkgIEZBUS4KCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIEFkZCBhIHNvdXJjZSBjb2RlIGRvY3VtZW50YXRpb24gYmxvYi4KCjIwMDgtMDMtMTkgMTg6NDQ6NTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9vZmEvZ3N0b2ZhLmM6IEltcHJvdmUgZGVidWdnaW5nLCBjbGVhbiB1cCBhIGJpdCBhbmQgcmVhbGx5IGdlbmVyYXRlIHRoZSBmaW5nZXJwcmludCBhZnRlciAxMzUgc2Vjb25kcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L29mYS9nc3RvZmEuYzogKGNyZWF0ZV9maW5nZXJwcmludCksIChnc3Rfb2ZhX2V2ZW50KSwKCSAgKGdzdF9vZmFfdHJhbnNmb3JtX2lwKSwgKHBsdWdpbl9pbml0KToKCSAgSW1wcm92ZSBkZWJ1Z2dpbmcsIGNsZWFuIHVwIGEgYml0IGFuZCByZWFsbHkgZ2VuZXJhdGUgdGhlIGZpbmdlcnByaW50CgkgIGFmdGVyIDEzNSBzZWNvbmRzLgoKMjAwOC0wMy0xOSAxODoxOToxMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L29mYS9nc3RvZmEuYzogVXNlIEdQTCBhcyBsaWNlbnNlLCB0aGUgcGx1Z2luIGl0c2VsZiBpcyBMR1BMIGJ1dCBsaWJvZmEgaXMgR1BMLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvb2ZhL2dzdG9mYS5jOgoJICBVc2UgR1BMIGFzIGxpY2Vuc2UsIHRoZSBwbHVnaW4gaXRzZWxmIGlzIExHUEwgYnV0IGxpYm9mYSBpcyBHUEwuCgoyMDA4LTAzLTE5IDE4OjE0OjE3ICswMDAwICBFcmljIEJ1ZWhsIDxlcmljLmJ1ZWhsQGdtYWlsLmNvbT4KCgkgIEFkZCBhbiBPRkEgZWxlbWVudCwgdGhlIHN1Y2Nlc3NvciBvZiBNdXNpY0JyYWlueiBUUk0gZmluZ2VycHJpbnRpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5OiBFcmljIEJ1ZWhsIDxlcmljIGRvdCBidWVobCBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvb2ZhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9vZmEvZ3N0b2ZhLmM6IChnc3Rfb2ZhX2Jhc2VfaW5pdCksIChnc3Rfb2ZhX2ZpbmFsaXplKSwKCSAgKGdzdF9vZmFfY2xhc3NfaW5pdCksIChjcmVhdGVfZmluZ2VycHJpbnQpLCAoZ3N0X29mYV9ldmVudCksCgkgIChnc3Rfb2ZhX2luaXQpLCAoZ3N0X29mYV90cmFuc2Zvcm1faXApLCAoZ3N0X29mYV9nZXRfcHJvcGVydHkpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9vZmEvZ3N0b2ZhLmg6CgkgIEFkZCBhbiBPRkEgZWxlbWVudCwgdGhlIHN1Y2Nlc3NvciBvZiBNdXNpY0JyYWlueiBUUk0gZmluZ2VycHJpbnRpbmcuCgkgIEZpeGVzIGJ1ZyAjMzUxMzA5LgoKMjAwOC0wMy0xOCAxMDoxMjo0MCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jIChnc3RfZmFhZF9jaGFpbik6IEZpeCBhIGJhZCBmb3JtYXQgYXJndW1lbnQsIGFuZCBhIHBvdGVudGlhbCBpbnQgb3ZlcmZsb3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTAzLTE4ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYyAoZ3N0X2ZhYWRfY2hhaW4pOiBGaXggYSBiYWQgZm9ybWF0IGFyZ3VtZW50LAoJICBhbmQgYSBwb3RlbnRpYWwgaW50IG92ZXJmbG93LgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuaDogSW5jbHVkZSA8bmVhYWNkZWMuaD4gaWYgZmFhZCBpcyBuZWFhYy4KCSAgQXZvaWRzIGEgI3dhcm5pbmcgYWJvdXQgYW4gaWdub3JlZCAjcHJhZ21hLgoKMjAwOC0wMy0xNyAxNTo1MTowOCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jOiBVcGRhdGUgc3dpdGNoIGV4YW1wbGUgdG8gdXNlIGlucHV0IHNlbGVjdG9yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYzoKCSAgVXBkYXRlIHN3aXRjaCBleGFtcGxlIHRvIHVzZSBpbnB1dCBzZWxlY3Rvci4KCjIwMDgtMDMtMTcgMDk6MDI6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IEhhbmRsZSBIVFRQIHN0YXR1cyBjb2RlIDMwMyAoU2VlIE90aGVyKSB0aGUgc2FtZSB3YXkgYXMgMzAyIChGb3VuZCkuIE5vdCBzdXJlIHdoYXQgdG8gZG8gYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc2VuZF9yZXF1ZXN0X2FuZF9yZWRpcmVjdCk6CgkgIEhhbmRsZSBIVFRQIHN0YXR1cyBjb2RlIDMwMyAoU2VlIE90aGVyKSB0aGUgc2FtZSB3YXkKCSAgYXMgMzAyIChGb3VuZCkuIE5vdCBzdXJlIHdoYXQgdG8gZG8gYWJvdXQgYWxsIHRoZSBvdGhlciAzeHgKCSAgcmVkaXJlY3Qgc3RhdHVzIGNvZGVzLiBGaXhlcyBidWcgIzUyMjg4NC4KCjIwMDgtMDMtMTQgMjE6NDg6MzcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QtbGlicy9nc3QvZHNob3cvTWFrZWZpbGUuYW06IE1ha2Ugc3VyZSB0aGUgZHNob3cgaGVscGVyIGxpYnJhcnkgaGVhZGVycyBnZXQgZGlzdHJpYnV0ZWQgaW4gdGhlIG5leHQgcmVsZWFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L01ha2VmaWxlLmFtOgoJICBNYWtlIHN1cmUgdGhlIGRzaG93IGhlbHBlciBsaWJyYXJ5IGhlYWRlcnMgZ2V0IGRpc3RyaWJ1dGVkIGluIHRoZSBuZXh0CgkgIHJlbGVhc2UuCgoyMDA4LTAzLTE0IDE3OjM4OjEwICswMDAwICBXaWxsaWFtIE0uIEJyYWNrIDx3YnJhY2tAbW1tLmhrPgoKCSAgZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOiBTaWduaWZpY2FudCBpbXByb3ZlbWVudHMuICBGaXhlcyAjNTIxMzkyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdpbGxpYW0gTS4gQnJhY2sKCSAgKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6IFNpZ25pZmljYW50IGltcHJvdmVtZW50cy4gIEZpeGVzICM1MjEzOTIuCgoyMDA4LTAzLTE0IDE3OjIyOjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogQWRkIGxvdHMgb2YgZGVidWdnaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiAoZ3N0X3NlbGVjdG9yX3BhZF9ldmVudCksCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2J1ZmZlcmFsbG9jKSwgKGdzdF9zZWxlY3Rvcl9wYWRfY2hhaW4pLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3NldF9hY3RpdmVfcGFkKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3B1c2hfcGVuZGluZ19zdG9wKToKCSAgQWRkIGxvdHMgb2YgZGVidWdnaW5nLgoJICBGaXggdGltZSBtZW1iZXIgaW4gdGhlIG5ld3NlZ21lbnQgZXZlbnQuCgoyMDA4LTAzLTEzIDE2OjQ2OjA0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuKjogVmFyaW91cyBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogKGdzdF9zZWxlY3Rvcl9wYWRfY2xhc3NfaW5pdCksCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2ZpbmFsaXplKSwgKGdzdF9zZWxlY3Rvcl9wYWRfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfZXZlbnQpLCAoZ3N0X2lucHV0X3NlbGVjdG9yX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX2luaXQpLCAoZ3N0X2lucHV0X3NlbGVjdG9yX3NldF9hY3RpdmVfcGFkKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfcmVxdWVzdF9uZXdfcGFkKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9yZWxlYXNlX3BhZCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfcHVzaF9wZW5kaW5nX3N0b3ApLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3N3aXRjaCk6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuaDoKCSAgVmFyaW91cyBjbGVhbnVwcy4KCSAgQWRkZWQgdGFncyB0byB0aGUgcGFkcy4KCSAgU2VsZWN0IGFjdGl2ZSBwYWQgYmFzZWQgb24gdGhlIHBhZCBvYmplY3QgaW5zdGVhZCBvZiBpdHMgbmFtZS4KCSAgRml4IHJlZmNvdW50IGluIHNldF9hY3RpdmVfcGFkLgoJICBBZGQgcHJvcGVydHkgdG8gZ2V0IHRoZSBudW1iZXIgb2YgcGFkcy4KCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgKGdzdF9vdXRwdXRfc2VsZWN0b3JfY2xhc3NfaW5pdCksCgkgIChnc3Rfb3V0cHV0X3NlbGVjdG9yX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfb3V0cHV0X3NlbGVjdG9yX2dldF9wcm9wZXJ0eSk6CgkgIFZhcmlvdXMgY2xlYW51cHMuCgkgIFNlbGVjdCB0aGUgYWN0aXZlIHBhZCBiYXNlZCBvbiB0aGUgcGFkIG9iamVjdCBpbnN0ZWFkIG9mIGl0cyBuYW1lLgoJICBGaXggbG9ja2luZyB3aGVuIHNldHRpbmcgdGhlIGFjdGl2ZSBwYWQuCgkgICogZ3N0L3NlbGVjdG9yL2dzdHNlbGVjdG9yLW1hcnNoYWwubGlzdDoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zZWxlY3Rvci5jOiAoY2xlYW51cF9wYWQpLAoJICAoc2VsZWN0b3Jfc2V0X2FjdGl2ZV9wYWQpLCAocnVuX2lucHV0X3NlbGVjdG9yX2J1ZmZlcl9jb3VudCk6CgkgIEZpeGVzIGZvciBwYWQgaW5zdGVhZCBvZiBwYWRuYW1lIGZvciBwYWQgc2VsZWN0aW9uLgoKMjAwOC0wMy0xMyAxNDoyNToyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgVXNlIEdTVF9MSUNFTlNFLCBHU1RfUEFDS0FHRV9OQU1FIGFuZCBHU1RfUEFDS0FHRV9PUklHSU4gaW5zdGVhZCBvZiBoYXJkY29kaW5nIHZhbHVlcyB3aGVyZSBwb3NzaWJsZS4gRml4ZXMgYnVnICM1MjIyMTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtLmM6CgkgICogZXh0L2phY2svZ3N0amFjay5jOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSAgKiBnc3QvdHRhL2dzdHR0YS5jOgoJICBVc2UgR1NUX0xJQ0VOU0UsIEdTVF9QQUNLQUdFX05BTUUgYW5kIEdTVF9QQUNLQUdFX09SSUdJTiBpbnN0ZWFkCgkgIG9mIGhhcmRjb2RpbmcgdmFsdWVzIHdoZXJlIHBvc3NpYmxlLiBGaXhlcyBidWcgIzUyMjIxMi4KCjIwMDgtMDMtMTMgMDk6NDU6MDkgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy4qOiBUcnkgdG8gcmVzdW1lIG9uIHNlcnZlciBkaXNjb25uZWN0LiBGaXhlcyBidWcgIzUyMjEzNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfaW5pdCksCgkgIChnc3Rfc291cF9odHRwX3NyY19maW5pc2hlZF9jYiksIChnc3Rfc291cF9odHRwX3NyY19yZXNwb25zZV9jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19idWlsZF9tZXNzYWdlKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NyZWF0ZSk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgVHJ5IHRvIHJlc3VtZSBvbiBzZXJ2ZXIgZGlzY29ubmVjdC4gRml4ZXMgYnVnICM1MjIxMzQuCgoyMDA4LTAzLTEyIDE4OjQ0OjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOiBTZXQgY29ycmVjdCBwaXhlbCBhc3BlY3QgcmF0aW8gZm9yIHRoZSBlbmNvZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6IChnc3RfeHZpZGVuY19jaGFpbik6CgkgIFNldCBjb3JyZWN0IHBpeGVsIGFzcGVjdCByYXRpbyBmb3IgdGhlIGVuY29kZXIuCgoyMDA4LTAzLTExIDEyOjQwOjU4ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi4qOiBJbXBsZW1lbnQgY29sbGlzaW9uIGFuZCBsb29wIGRldGVjdGlvbiBpbiBydHBtYW5hZ2VyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKGZpbmRfYWRkX2NvbmZsaWN0aW5nX2FkZHJlc3NlcyksCgkgIChjaGVja19jb2xsaXNpb24pLCAob2J0YWluX3NvdXJjZSksIChydHBfc2Vzc2lvbl9jcmVhdGVfbmV3X3NzcmMpLAoJICAocnRwX3Nlc3Npb25fY3JlYXRlX3NvdXJjZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnIpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfYnllX2xvY2tlZCksIChydHBfc2Vzc2lvbl9zZW5kX2J5ZSksCgkgIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEltcGxlbWVudCBjb2xsaXNpb24gYW5kIGxvb3AgZGV0ZWN0aW9uIGluIHJ0cG1hbmFnZXIuCgkgIEZpeGVzICM1MjA2MjYuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX3Jlc2V0KSwKCSAgKHJ0cF9zb3VyY2VfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIEFkZCBtZXRob2QgdG8gcmVzZXQgc3RhdHMuCgoyMDA4LTAzLTExIDExOjM2OjAzICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBBdm9pZCBhIGRlYWRsb2NrIHdoZW4gam9pbmluZyB0aGUgUlRDUCB0aHJlYWQgaW4gUEFVU0VEIGJlY2F1c2UgaXQgbWlnaHQgYmUgYmxvY2tlZCBkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzICA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLAoJICAocnRjcF90aHJlYWQpLCAoc3RhcnRfcnRjcF90aHJlYWQpLCAoc3RvcF9ydGNwX3RocmVhZCksCgkgIChqb2luX3J0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFuZ2Vfc3RhdGUpOgoJICBBdm9pZCBhIGRlYWRsb2NrIHdoZW4gam9pbmluZyB0aGUgUlRDUCB0aHJlYWQgaW4gUEFVU0VEIGJlY2F1c2UgaXQgbWlnaHQKCSAgYmUgYmxvY2tlZCBkb3duc3RyZWFtLiBBbHNvIGF2b2lkIHNwYXduaW5nIG11bHRpcGxlIHJ0Y3AgdGhyZWFkcy4KCSAgRml4ZXMgIzUyMDg5NC4KCjIwMDgtMDMtMTEgMTA6NDM6MzIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiBEb24ndCB0cnkgdG8gcmVzZXQgdGhlIGNsb2NrIHNrZXcgd2hlbiB3ZSBoYXZlIG5vIHRpbWVzdGFtcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAoY2FsY3VsYXRlX3NrZXcpOgoJICBEb24ndCB0cnkgdG8gcmVzZXQgdGhlIGNsb2NrIHNrZXcgd2hlbiB3ZSBoYXZlIG5vIHRpbWVzdGFtcHMuCgkgIEZpeGVzICM1MTkwMDUuCgoyMDA4LTAzLTA4IDA0OjI3OjAzICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IEltcHJvdmUgdGhlIGhlYWRlciBjaGVja2luZyB0byBsb29rIGZvciB3aGF0IGZhYWQyIGxvb2tzIGZvciB0b28uIEZpeGVzIHBsYXliYWNrIG9mIHNhbWUgYXBwbGUgdHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGxvb2tzX2xpa2VfdmFsaWRfaGVhZGVyKToKCSAgSW1wcm92ZSB0aGUgaGVhZGVyIGNoZWNraW5nIHRvIGxvb2sgZm9yIHdoYXQgZmFhZDIgbG9va3MKCSAgZm9yIHRvby4gRml4ZXMgcGxheWJhY2sgb2Ygc2FtZSBhcHBsZSB0cmFpbGVycy4KCSAgRml4ZXMgYnVnICM0Njk5NzkuCgoyMDA4LTAzLTA3IDEzOjI4OjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IFJlYWxseSBjaGVjayBmb3IgbGliZGMxMzk0ID49IDIuMC4wLCBwa2ctY29uZmlnIHRoaW5rcyB0aGF0IDIuMC4wLXJjWCBpcyBuZXdlciB0aGFuIDIuMC4wIHNvIHdlIGNoZWNrIGYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZWFsbHkgY2hlY2sgZm9yIGxpYmRjMTM5NCA+PSAyLjAuMCwgcGtnLWNvbmZpZyB0aGlua3MgdGhhdAoJICAyLjAuMC1yY1ggaXMgbmV3ZXIgdGhhbiAyLjAuMCBzbyB3ZSBjaGVjayBmb3IgdGhpcyB0b28uCgoyMDA4LTAzLTA2IDA3OjAzOjA5ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzogQWRkIGEgYnVuY2ggb2YgcHJvcGVydGllcyBjcmliYmVkIGZyb20gdGhlIGVuY29kZXIgcHJvZ3JhbSBpbiBkaXJhYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOiBBZGQgYSBidW5jaCBvZiBwcm9wZXJ0aWVzIGNyaWJiZWQKCSAgZnJvbSB0aGUgZW5jb2RlciBwcm9ncmFtIGluIGRpcmFjLgoKMjAwOC0wMy0wNiAwMzoxNjoxMyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBSZXdyaXRlIERpcmFjIGVuY29kZXIgcGx1Z2luIGJhc2VkIG9uIFNjaHJvZWRpbmdlciBnc3RyZWFtZXIgZWxlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJhYy9nc3RkaXJhYy5jYzoKCSAgKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIFJld3JpdGUgRGlyYWMgZW5jb2RlciBwbHVnaW4gYmFzZWQgb24gU2Nocm9lZGluZ2VyIGdzdHJlYW1lcgoJICBlbGVtZW50cy4KCjIwMDgtMDMtMDUgMDY6MDM6MDMgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBQb3J0IG1wbGV4IGVsZW1lbnQgdG8gMC4xMC4gRml4ZXMgYnVnICM1MjAzMjkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3IGF0IHNreW5ldCBkb3QgYmU+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBsZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJICAqIGV4dC9tcGxleC9nc3RtcGxleC5oaDoKCSAgKiBleHQvbXBsZXgvZ3N0bXBsZXhpYml0c3RyZWFtLmNjOgoJICAqIGV4dC9tcGxleC9nc3RtcGxleGliaXRzdHJlYW0uaGg6CgkgICogZXh0L21wbGV4L2dzdG1wbGV4am9iLmNjOgoJICAqIGV4dC9tcGxleC9nc3RtcGxleGpvYi5oaDoKCSAgKiBleHQvbXBsZXgvZ3N0bXBsZXhvdXRwdXRzdHJlYW0uY2M6CgkgICogZXh0L21wbGV4L2dzdG1wbGV4b3V0cHV0c3RyZWFtLmhoOgoJICBQb3J0IG1wbGV4IGVsZW1lbnQgdG8gMC4xMC4gRml4ZXMgYnVnICM1MjAzMjkuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBsZXguYzogKHRlc3Rfc2lua19ldmVudCksIChzZXR1cF9zcmNfcGFkKSwKCSAgKHRlYXJkb3duX3NyY19wYWQpLCAoc2V0dXBfbXBsZXgpLCAoY2xlYW51cF9tcGxleCksCgkgIChHU1RfU1RBUlRfVEVTVCksIChtcGxleF9zdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdCBmb3IgdGhlIG1wbGV4IGVsZW1lbnQuCgoyMDA4LTAzLTA1IDA1OjM4OjA2ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgY29uZmlndXJlLmFjOiBDbGVhbiB1cCBkZXRlY3Rpb24gb2YgZGlmZmVyZW50IG1qcGVndG9vbHNBUEkgdmVyc2lvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3IGF0IHNreW5ldCBkb3QgYmU+CgkgICogY29uZmlndXJlLmFjOgoJICBDbGVhbiB1cCBkZXRlY3Rpb24gb2YgZGlmZmVyZW50IG1qcGVndG9vbHNBUEkgdmVyc2lvbnMuCgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5oaDoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvZGVyLmNjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29wdGlvbnMuY2M6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5jYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmhoOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3N0cmVhbXdyaXRlci5jYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNzdHJlYW13cml0ZXIuaGg6CgkgIFN0cmVhbWxpbmUgY29uZGl0aW9uYWwgY29kZSBmb3IgZXZvbHZpbmcgbWpwZWd0b29scyBBUEksCgkgIG9wdGltaXplIGFuZCBmaXgvcHJldmVudCBjcmFzaCBpbiBsb2cgaGFuZGxpbmcsIHVzZQoJICBuYW1lcy9uaWNrcyBmb3IgZW51bXMgaW4gdGhlIHVzdWFsIHdheSBhbmRtIGlub3IgdXBkYXRlcwoJICBpbiBjb2RlIGFuZCBwcm9wZXJ0aWVzL3NldHRpbmdzLiBQYXJ0aWFsbHkgZml4ZXMgYnVnICM1MjAzMjkuCgoyMDA4LTAzLTA0IDE3OjQ5OjE1ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogQWRkIHBhcnNpbmcgb2YgY2FibGUgZGVsaXZlcnkgc3lzdGVtIGRlc2NyaXB0b3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9nc3RtcGVnZGVzYy5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIEFkZCBwYXJzaW5nIG9mIGNhYmxlIGRlbGl2ZXJ5IHN5c3RlbSBkZXNjcmlwdG9yLgoKMjAwOC0wMy0wMyAxMjo0ODo1NiArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBjb25maWd1cmUuYWM6IFVzZSBBR19HU1RfQ0hFQ0tfUExVR0lOIGFuZCBBR19HU1RfRElTQUJMRV9QTFVHSU4gdG8gc2ltcGxpZnkgd2hpY2ggcGx1Zy1pbnMgYXJlIGluY2x1ZGVkL2V4Y2x1ZGVkLiAoIzQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBVc2UgQUdfR1NUX0NIRUNLX1BMVUdJTiBhbmQgQUdfR1NUX0RJU0FCTEVfUExVR0lOIHRvIHNpbXBsaWZ5IHdoaWNoCgkgIHBsdWctaW5zIGFyZSBpbmNsdWRlZC9leGNsdWRlZC4gKCM0OTgyMjIpCgoyMDA4LTAzLTAzIDA2OjA0OjAyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBDb3JyZWN0IGFsbCByZWxldmFudCB3YXJuaW5ncyBmb3VuZCBieSB0aGUgc3BhcnNlIHNlbWFudGljIGNvZGUgYW5hbHl6ZXIuIFRoaXMgaW5jbHVkZSBtYXJraW5nIHNldmVyYWwgc3ltYm9scyBzdGF0aWMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYW1peGVydHJhY2suYzogKGdzdF9hbHNhX21peGVyX3RyYWNrX2dldF90eXBlKToKCSAgKiBleHQvYWxzYS9nc3RhbHNhc2luay5jOiAoc2V0X2h3cGFyYW1zKToKCSAgKiBleHQvYWxzYS9nc3RhbHNhc3JjLmM6IChzZXRfaHdwYXJhbXMpOgoJICAqIGV4dC9naW8vZ3N0Z2lvLmM6IChnc3RfZ2lvX3VyaV9oYW5kbGVyX2dldF91cmkpOgoJICAqIGV4dC9vZ2cvZ3N0b2dnbXV4Lmg6CgkgICogZXh0L29nZy9nc3RvZ21wYXJzZS5jOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9hdWRpby5jOgoJICAqIGdzdC1saWJzL2dzdC9mZnQva2lzc19mZnRfZjY0LmM6IChraXNzX2ZmdF9mNjRfYWxsb2MpOgoJICAqIGdzdC1saWJzL2dzdC9wYnV0aWxzL21pc3NpbmctcGx1Z2lucy5jOgoJICAoZ3N0X21pc3NpbmdfdXJpX3NpbmtfbWVzc2FnZV9uZXcpLAoJICAoZ3N0X21pc3NpbmdfZWxlbWVudF9tZXNzYWdlX25ldyksCgkgIChnc3RfbWlzc2luZ19kZWNvZGVyX21lc3NhZ2VfbmV3KSwKCSAgKGdzdF9taXNzaW5nX2VuY29kZXJfbWVzc2FnZV9uZXcpOgoJICAqIGdzdC1saWJzL2dzdC9ydHAvZ3N0YmFzZXJ0cHBheWxvYWQuYzoKCSAgKiBnc3QtbGlicy9nc3QvcnRwL2dzdHJ0Y3BidWZmZXIuYzoKCSAgKGdzdF9ydGNwX3BhY2tldF9ieWVfZ2V0X3JlYXNvbik6CgkgICogZ3N0L2F1ZGlvY29udmVydC9nc3RhdWRpb2NvbnZlcnQuYzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZ3N0L2ZmbXBlZ2NvbG9yc3BhY2UvaW1nY29udmVydC5jOgoJICAqIGdzdC9wbGF5YmFjay90ZXN0LmM6IChnZW5fdmlkZW9fZWxlbWVudCksIChnZW5fYXVkaW9fZWxlbWVudCk6CgkgICogZ3N0L3R5cGVmaW5kL2dzdHR5cGVmaW5kZnVuY3Rpb25zLmM6CgkgICogZ3N0L3ZpZGVvc2NhbGUvdnNfNHRhcC5jOgoJICAqIGdzdC92aWRlb3NjYWxlL3ZzXzR0YXAuaDoKCSAgKiBzeXMvdjRsL2dzdHY0bGVsZW1lbnQuYzoKCSAgKiBzeXMvdjRsL2dzdHY0bHNyYy5jOiAoZ3N0X3Y0bHNyY19nZXRfYW55X2NhcHMpOgoJICAqIHN5cy92NGwvdjRsX2NhbGxzLmM6CgkgICogc3lzL3Y0bC92NGxzcmNfY2FsbHMuYzogKGdzdF92NGxzcmNfY2FwdHVyZV9pbml0KSwKCSAgKGdzdF92NGxzcmNfdHJ5X2NhcHR1cmUpOgoJICAqIHN5cy94aW1hZ2UveGltYWdlc2luay5jOiAoZ3N0X3hpbWFnZXNpbmtfY2hlY2tfeHNobV9jYWxscyksCgkgIChnc3RfeGltYWdlc2lua194aW1hZ2VfbmV3KToKCSAgKiBzeXMveHZpbWFnZS94dmltYWdlc2luay5jOiAoZ3N0X3h2aW1hZ2VzaW5rX2NoZWNrX3hzaG1fY2FsbHMpLAoJICAoZ3N0X3h2aW1hZ2VzaW5rX3h2aW1hZ2VfbmV3KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NvbnZlcnQuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6CgkgIChmYWlsX3VubGVzc19wZXJmZWN0X3N0cmVhbSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW90ZXN0c3JjLmM6IChzZXR1cF9hdWRpb3Rlc3RzcmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlY29kZWJpbi5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChzZXR1cF9nZHBkZXBheSksCgkgIChzZXR1cF9nZHBkZXBheV9zdHJlYW1oZWFkZXIpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOiAoc2V0dXBfZ2RwcGF5KSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHNldHVwX2dkcHBheV9zdHJlYW1oZWFkZXIpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dub21ldmZzc2luay5jOiAoc2V0dXBfZ25vbWV2ZnNzaW5rKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZkc2luay5jOiAoc2V0dXBfbXVsdGlmZHNpbmspOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RleHRvdmVybGF5LmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9yYXRlLmM6IChzZXR1cF92aWRlb3JhdGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvdGVzdHNyYy5jOiAoc2V0dXBfdmlkZW90ZXN0c3JjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2x1bWUuYzogKHNldHVwX3ZvbHVtZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9yYmlzZGVjLmM6IChzZXR1cF92b3JiaXNkZWMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvcmJpc3RhZy5jOgoJICAqIHRlc3RzL2NoZWNrL2dlbmVyaWMvY2xvY2stc2VsZWN0aW9uLmM6CgkgICogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzogKHNldHVwKSwgKHRlYXJkb3duKToKCSAgKiB0ZXN0cy9jaGVjay9saWJzL2NkZGFiYXNlc3JjLmM6CgkgICogdGVzdHMvY2hlY2svbGlicy92aWRlby5jOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9naW8uYzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvb2dnbXV4LmM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgKHNpbXBsZV9sYXVuY2hfbGluZXNfc3VpdGUpOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGhlb3JhZW5jLmM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3ZvcmJpc2RlYy5jOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy92b3JiaXNlbmMuYzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9zZWVrL3NjcnViYnkuYzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9zZWVrL3NlZWsuYzogKHF1ZXJ5X3Bvc2l0aW9uc19lbGVtcyksCgkgIChxdWVyeV9wb3NpdGlvbnNfcGFkcyk6CgkgICogdGVzdHMvaWNsZXMvc3RyZXNzLXhvdmVybGF5LmM6IChteWNsb2NrKToKCSAgQ29ycmVjdCBhbGwgcmVsZXZhbnQgd2FybmluZ3MgZm91bmQgYnkgdGhlIHNwYXJzZSBzZW1hbnRpYyBjb2RlCgkgIGFuYWx5emVyLiBUaGlzIGluY2x1ZGUgbWFya2luZyBzZXZlcmFsIHN5bWJvbHMgc3RhdGljLCB1c2luZwoJICBOVUxMIGluc3RlYWQgb2YgMCBmb3IgcG9pbnRlcnMgYW5kIHVzaW5nICJmb28gKHZvaWQpIiBpbnN0ZWFkCgkgIG9mICJmb28gKCkiIGZvciBkZWNsYXJhdGlvbnMuCgkgICogd2luMzIvY29tbW9uL2xpYmdzdHJ0cC5kZWY6CgkgIEFkZCBnc3RfcnRwX2J1ZmZlcl9zZXRfZXh0ZW5zaW9uX2RhdGEgdG8gdGhlIHN5bWJvbCBkZWZpbml0aW9uIGZpbGUuCgoyMDA4LTAzLTAzIDA0OjM5OjQ4ICswMDAwICBKZW5zIEdyYW5zZXVlciA8amVuc2dyQGdteC5uZXQ+CgoJICBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6IEZpeCBhdWRpbyBkaXNjb250aW51aXR5IHRoYXQgaGFwcGVucyB3aGVuIHNpbGVudCBjaHVua3MgYXJlIGZvbGxvd2VkIGJ5IHJlYWwgZGF0YSBhZ2Fpbi4gRml4ZXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlciA8amVuc2dyIGF0IGdteCBkb3QgbmV0PgoJICAqIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzogKGdzdF9tdmVfYXVkaW9fZGF0YSksCgkgIChnc3RfbXZlX2RlbXV4X2dldF90eXBlKToKCSAgRml4IGF1ZGlvIGRpc2NvbnRpbnVpdHkgdGhhdCBoYXBwZW5zIHdoZW4gc2lsZW50IGNodW5rcyBhcmUKCSAgZm9sbG93ZWQgYnkgcmVhbCBkYXRhIGFnYWluLiBGaXhlcyBidWcgIzUxOTkwNS4KCjIwMDgtMDMtMDEgMTI6NDk6MTMgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiLzogQWRkIERWQi1DIHN1cHBvcnQuIFNwZWNpYWwgdGhhbmtzIHRvIENocmlzdGlhbiBTY2hhbGxlciBmb3IgYSB0ZXN0aW5nIGdyb3VuZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgQWRkIERWQi1DIHN1cHBvcnQuIFNwZWNpYWwgdGhhbmtzIHRvIENocmlzdGlhbiBTY2hhbGxlcgoJICBmb3IgYSB0ZXN0aW5nIGdyb3VuZC4KCjIwMDgtMDItMjggMTM6MjI6MjQgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzogT25seSBzZW5kIFBNVHMgdG8gcHJvZ3JhbSBwYWRzIHRoYXQgdGhlIFBNVCBpcyBmb3IgZXZlbiBpZiBvbiBzYW1lIHBpZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIE9ubHkgc2VuZCBQTVRzIHRvIHByb2dyYW0gcGFkcyB0aGF0IHRoZSBQTVQgaXMgZm9yIGV2ZW4gaWYKCSAgb24gc2FtZSBwaWQuCgkgIEFzIGEgYnktcHJvZHVjdCwgd2Ugbm93IG5vIGxvbmdlciBoYXJkY29kZSBhbnkgcHNpIHBpZCBudW1iZXJzLgoJICBBbHNvIHJlbW92ZSBwY3Igc3RyZWFtIGZyb20gb2xkIHBtdCB3aGVuIHdlIGFwcGx5IGEgbmV3IHBtdC4KCjIwMDgtMDItMjggMTA6NDE6NTYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YV9tYXBwaW5nLmh0bToKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIE1hcCBEYXRlLVRpbWUgYW5kIEdQUyB0YWdzIGFuZCBDb252ZXJ0IGZyb20gRVhJRiB0byBYTVAgRGF0YXRpbWUgYXMgbG9jYWwgdGltZSAodGhvc2UgY2hhbmdlcyBoYXMgYmVlbiBkb25lIGluIHByZXZpby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTWFwIERhdGUtVGltZSBhbmQgR1BTIHRhZ3MgYW5kIENvbnZlcnQgZnJvbSBFWElGIHRvIFhNUCBEYXRhdGltZSBhcyBsb2NhbCB0aW1lICh0aG9zZSBjaGFuZ2VzIGhhcyBiZWVuIGRvbmUgaW4gcHJldmlvdXMgY29taXQgYnV0IGhhZCB0byBiZSByZXZlcnQgaW4gMjAwOC0wMi0xMCBkdWUgdG8gZnJvemVuKQoKMjAwOC0wMi0yNyAyMzoyOTo0NCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvY2FtdXRpbHMuYzogUmVtb3ZlIHRoZSBHX1ZBTFVFX0hPTERTX0JPWEVEIGNoZWNrcy4gVGhleSB3ZXJlIG9ubHkgYWRkZWQgdG8gaGVscCBkZWJ1ZyB0aGUgZGF0YSBjb3JydXB0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2NhbXV0aWxzLmM6CgkgIFJlbW92ZSB0aGUgR19WQUxVRV9IT0xEU19CT1hFRCBjaGVja3MuIFRoZXkgd2VyZQoJICBvbmx5IGFkZGVkIHRvIGhlbHAgZGVidWcgdGhlIGRhdGEgY29ycnVwdGlvbi4KCjIwMDgtMDItMjcgMTk6NDE6MTMgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2NhbXV0aWxzLmM6IERvbid0IGZyZWUgdGhlIHByb2dyYW0gZGVzY3JpcHRvcnMsIHRoaXMgc3RydWN0dXJlIGNvbnRhaW5pbmcgdGhlbSBpcyBzdGlsbHMgdG9yZWQgYWZ0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvY2FtdXRpbHMuYzoKCSAgRG9uJ3QgZnJlZSB0aGUgcHJvZ3JhbSBkZXNjcmlwdG9ycywgdGhpcyBzdHJ1Y3R1cmUKCSAgY29udGFpbmluZyB0aGVtIGlzIHN0aWxscyB0b3JlZCBhZnRlci4KCSAgRml4ZXMgZGF0YSBjb3JydXB0aW9uLgoKMjAwOC0wMi0yNyAxMjozNDowMCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvY2FtdXRpbHMuYzogRXh0cmEgY2hlY2tzIHRvIHByZXZlbnQgZGF0YSBjb3JydXB0aW9uL3NlZ2ZhdWx0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9jYW11dGlscy5jOgoJICBFeHRyYSBjaGVja3MgdG8gcHJldmVudCBkYXRhIGNvcnJ1cHRpb24vc2VnZmF1bHRzLgoKMjAwOC0wMi0yNiAxNToxMzo1NCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZpbGUKCjIwMDgtMDItMjYgMTI6MDQ6MjEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9uYXMvbmFzc2luay5jOiBGaXggYnVpbGQgd2FybmluZyBieSB1c2luZyBwb3J0YWJsZSBBUEkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOgoJICBGaXggYnVpbGQgd2FybmluZyBieSB1c2luZyBwb3J0YWJsZSBBUEkuCgoyMDA4LTAyLTI2IDEyOjAxOjM3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzogRml4IGNoYW5naW5nIHRvIHNhbWUgcGFkIHR3aWNlIGJlZm9yZSBhIGNoYWluIGNhbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICBGaXggY2hhbmdpbmcgdG8gc2FtZSBwYWQgdHdpY2UgYmVmb3JlIGEgY2hhaW4gY2FsbC4KCjIwMDgtMDItMjYgMDU6NTQ6MjYgKzAwMDAgIERhbmllbCBGaXNjaGVyIDxkYW5AZjNjLmNvbT4KCgkgIEFkZCBzdXBwb3J0IGZvciBsaWJkYzEzOTQgMi4wLjAgYW5kIGFib3ZlIGFuZCByZXF1aXJlIHRoaXMgdmVyc2lvbiBub3cuIEZpeGVzIGJ1ZyAjNTE0OTY0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IERhbmllbCBGaXNjaGVyIDxkYW4gYXQgZjNjIGRvdCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6IChnc3RfZGMxMzk0X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfZGMxMzk0X2dldF9jYW1fY2FwcyksIChnc3RfZGMxMzk0X29wZW5fY2FtX3dpdGhfYmVzdF9jYXBzKToKCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5oOgoJICBBZGQgc3VwcG9ydCBmb3IgbGliZGMxMzk0IDIuMC4wIGFuZCBhYm92ZSBhbmQgcmVxdWlyZSB0aGlzIHZlcnNpb24KCSAgbm93LiBGaXhlcyBidWcgIzUxNDk2NC4KCjIwMDgtMDItMjYgMDU6MzY6MTcgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBBZGQgc3VwcG9ydCBmb3Igc3BlY2lmeWluZyBhIGxpc3Qgb2YgY29va2llcyB0byBiZSBwYXNzZWQgaW4gdGhlIEhUVFAgcmVxdWVzdC4gRml4ZXMgYnVnICM1MTg3MjIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cF9odHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3Rfc291cF9odHRwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfY3JlYXRlKToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6IChydW5fdGVzdCksIChHU1RfU1RBUlRfVEVTVCksCgkgIChzb3VwaHR0cHNyY19zdWl0ZSk6CgkgIEFkZCBzdXBwb3J0IGZvciBzcGVjaWZ5aW5nIGEgbGlzdCBvZiBjb29raWVzIHRvIGJlIHBhc3NlZCBpbgoJICB0aGUgSFRUUCByZXF1ZXN0LiBGaXhlcyBidWcgIzUxODcyMi4KCjIwMDgtMDItMjUgMDg6NTM6NTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLio6IEFkZGVkICJzZWxlY3QtYWxsIiBwcm9wZXJ0eSB0byBtYWtlIGl0IHdvcmsgbGlrZSBhZ2dyZWdhdG9yIGluIDAuOC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5oOgoJICBBZGRlZCAic2VsZWN0LWFsbCIgcHJvcGVydHkgdG8gbWFrZSBpdCB3b3JrIGxpa2UgYWdncmVnYXRvciBpbiAwLjguCgkgICogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIEZpeCByZXNlbmQtbGF0ZXN0IGJlaGF2b2l1ci4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NlbGVjdG9yLmM6CgkgIEFkZCB1bml0IHRlc3RzIGZvciBzZWxlY3Rvci4KCjIwMDgtMDItMjUgMDY6Mjk6MTIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFJlbW92ZSBtaWRpIHR5cGVmaW5kZXJzIGFuZCByZXF1aXJlIGJhc2UgQ1ZTIGFzIHRoZXkgbW92ZWQgdGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzogKHBsdWdpbl9pbml0KToKCSAgUmVtb3ZlIG1pZGkgdHlwZWZpbmRlcnMgYW5kIHJlcXVpcmUgYmFzZSBDVlMgYXMgdGhleSBtb3ZlZCB0aGVyZS4KCjIwMDgtMDItMjQgMDk6NTc6NDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9NYWtlZmlsZS5hbTogT25seSBkaXNhYmxlIHRoZSBleHQvdGltaWRpdHkgZGlyZWN0b3J5IGlmIGJvdGgsIHdpbGRtaWRpIF9hbmRfIHRpbWlkaXR5IGFyZSBub3QgYXZhaWxhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIE9ubHkgZGlzYWJsZSB0aGUgZXh0L3RpbWlkaXR5IGRpcmVjdG9yeSBpZiBib3RoLCB3aWxkbWlkaQoJICBfYW5kXyB0aW1pZGl0eSBhcmUgbm90IGF2YWlsYWJsZS4KCjIwMDgtMDItMjQgMDQ6MjQ6MjAgKzAwMDAgIEVtaWxpbyBQb3p1ZWxvIE1vbmZvcnQgPHBvY2h1QHVidW50dS5jb20+CgoJICBleHQvTWFrZWZpbGUuYW06IEJ1aWxkIHRoZSB3aWxkbWlkaSBwbHVnaW4gaWYgaXQncyBlbmFibGVkIGFuZCBub3Qgb25seSB3aGVuIGJvdGgsIHRoZSB0aW1pZGl0eSBhbmQgd2lsZG1pZGkgcGx1Z2luLCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBFbWlsaW8gUG96dWVsbyBNb25mb3J0IDxwb2NodSBhdCB1YnVudHUgZG90IGNvbT4KCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIEJ1aWxkIHRoZSB3aWxkbWlkaSBwbHVnaW4gaWYgaXQncyBlbmFibGVkIGFuZCBub3Qgb25seSB3aGVuCgkgIGJvdGgsIHRoZSB0aW1pZGl0eSBhbmQgd2lsZG1pZGkgcGx1Z2luLCBhcmUgZW5hYmxlZC4KCjIwMDgtMDItMjMgMTU6MDE6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBDaGVjayBmb3IgYW5kIGRlZmluZSBFUlJPUl9DWFhGTEFHUyBhbmQgR1NUX0NYWEZMQUdTIGFuZCB1c2UgdGhlbSB3aGVuIGJ1aWxkaW5nIEMrKyBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L21wZWcyZW5jL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJICBDaGVjayBmb3IgYW5kIGRlZmluZSBFUlJPUl9DWFhGTEFHUyBhbmQgR1NUX0NYWEZMQUdTIGFuZCB1c2UgdGhlbQoJICB3aGVuIGJ1aWxkaW5nIEMrKyBjb2RlLgoKMjAwOC0wMi0yMyAxMTo1Njo0MSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIG11bHRpcHJvdG8gZHJpdmVyIChub3QgeWV0IG1lcmdlZCBpbnRvIHY0bC1kdmIgbWFpbmxpbmUgeWV0KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgbXVsdGlwcm90byBkcml2ZXIgKG5vdCB5ZXQgbWVyZ2VkIGludG8KCSAgdjRsLWR2YiBtYWlubGluZSB5ZXQpLgoJICBPbmx5IHdvcmtzIGZvciBEVkItUyBub3QgRFZCLVMyLCBEVkItVCwgRFZCLUMgb3Igb3RoZXIuCgoyMDA4LTAyLTIyIDEwOjE4OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvOiBVcGRhdGUgdG8gdmVyc2lvbiAwLjEwLjYuMS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRyZW1vci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgVXBkYXRlIHRvIHZlcnNpb24gMC4xMC42LjEuCgoyMDA4LTAyLTIyIDA5OjU2OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogUmVtb3ZlIGRvY3MgZm9yIGVsZW1lbnRzIHRoYXQgaGF2ZSBtb3ZlZCB0byBvdGhlciBtb2R1bGVzIG9yIGJlZW4gcmVuYW1lZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3dpdGNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgUmVtb3ZlIGRvY3MgZm9yIGVsZW1lbnRzIHRoYXQgaGF2ZSBtb3ZlZCB0byBvdGhlciBtb2R1bGVzCgkgIG9yIGJlZW4gcmVuYW1lZC4KCjIwMDgtMDItMjIgMDc6MjA6MDMgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBJbXBsZW1lbnQgemVyby1jb3B5IGFuZCBtYWtlIHRoZSBidWZmZXIgc2l6ZSBjb25maWd1cmFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19jYW5jZWxfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19maW5pc2hlZF9jYiksIChnc3Rfc291cF9odHRwX3NyY19jaHVua19mcmVlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2NodW5rX2FsbG9jYXRvciksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfY2h1bmtfY2IpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY3JlYXRlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3N0YXJ0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9wcm94eSk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgSW1wbGVtZW50IHplcm8tY29weSBhbmQgbWFrZSB0aGUgYnVmZmVyIHNpemUgY29uZmlndXJhYmxlLgoJICBQcmVmaXggcHJveHkgVVJJcyB3aXRoICJodHRwOi8vIiBpZiB0aGV5IGRvbid0IHN0YXJ0IHdpdGggaXQKCSAgYWxyZWFkeSBhbmQgY2F0Y2ggZXJyb3JzIGVhcmxpZXIsIGZpeGVzIGhhbmdpbmcgaW4gc29tZSBzaXR1YXRpb25zLgoJICBGaXhlcyBidWcgIzUxNDk0OC4KCjIwMDgtMDItMjIgMDY6NDI6MjggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2dzdC1wbHVnaW5zLWJhZC5zdXBwOiBBZGQgc3VwcHJlc3Npb25zIGZvciBTb3VuZFRvdWNoIHZhbGdyaW5kIHdhcm5pbmdzIGFuZCBhIHZhbGdyaW5kIHdhcm5pbmcgY2F1c2VkIGJ5IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9nc3QtcGx1Z2lucy1iYWQuc3VwcDoKCSAgQWRkIHN1cHByZXNzaW9ucyBmb3IgU291bmRUb3VjaCB2YWxncmluZCB3YXJuaW5ncyBhbmQKCSAgYSB2YWxncmluZCB3YXJuaW5nIGNhdXNlZCBieSB0aGUgTEFEU1BBIHNpbmUgcGx1Z2luIGFuZAoJICBoYXBwZW5pbmcgb24gZXZlcnkgZXhpdCgpLgoJICBSZW1vdmUgR0lPIHN1cHByZXNzaW9ucyBhcyBpdCdzIG5vdyBpbiAtYmFzZS4KCjIwMDgtMDItMjIgMDY6MzM6NDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IERvbid0IGFsbG9jYXRlIGFuZCBjb3B5IHRoZSBkYXRhIHRvIGEgbmV3IHBsYWNlIGJ1dCBpbnN0ZWFkIHB1dCB0aGUgZGF0YSBmcm9tIGdteXRoICh3aGljaC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiAoZ3N0X215dGh0dl9zcmNfY3JlYXRlKToKCSAgRG9uJ3QgYWxsb2NhdGUgYW5kIGNvcHkgdGhlIGRhdGEgdG8gYSBuZXcgcGxhY2UgYnV0IGluc3RlYWQKCSAgcHV0IHRoZSBkYXRhIGZyb20gZ215dGggKHdoaWNoIHdlIG93bikgaW50byB0aGUgYnVmZmVycyB0aGF0CgkgIGFyZSBwYXNzZWQgZG93bnN0cmVhbS4KCjIwMDgtMDItMjIgMDY6MzE6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOiBJZiBXSUxETUlESV9DRkcgaXMgbm90IGRlZmluZWQsIGRlZmluZSBpdCB0byB0aGUgZGVmYXVsdCB0aW1pZGl0eSBjb25maWd1cmUgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIElmIFdJTERNSURJX0NGRyBpcyBub3QgZGVmaW5lZCwgZGVmaW5lIGl0IHRvIHRoZSBkZWZhdWx0CgkgIHRpbWlkaXR5IGNvbmZpZ3VyZSBmaWxlLgoKMjAwOC0wMi0yMiAwNjoxMjowNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgUmVtb3ZlIGhhY2sgdG8gd29yayB3aXRoIG1qcGVndG9vbHMgMS45LjByYzMgYW5kIGFib3ZlIGFuZCBpbnN0ZWFkIHVzZSBtanBlZ19sb2dsZXZfdCgpIGZvciBnZXR0aW5nIHRoZSBsb2cgbGV2ZWxzLiBDLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5OgoJICBIYW5zIGRlIEdvZWRlIDxqIGRvdCB3IGRvdCByIGRvdCBkZWdvZWRlIGF0IGhocyBkb3Qgbmw+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgUmVtb3ZlIGhhY2sgdG8gd29yayB3aXRoIG1qcGVndG9vbHMgMS45LjByYzMgYW5kIGFib3ZlIGFuZCBpbnN0ZWFkCgkgIHVzZSBtanBlZ19sb2dsZXZfdCgpIGZvciBnZXR0aW5nIHRoZSBsb2cgbGV2ZWxzLiBDaGVjayBmb3IgdGhpcwoJICBmdW5jdGlvbiBpbiBjb25maWd1cmUuYWMgYXMgdGhlIHBrZy1jb25maWcgZmlsZSBkb2Vzbid0IHRlbGwgdXMKCSAgd2hpY2ggcmVsZWFzZSBjYW5kaWRhdGUgd2UgaGF2ZS4gRml4ZXMgYnVnICM1MTc4OTYuCgoyMDA4LTAyLTIyIDA1OjQ4OjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IENoZWNrIGZvciBYIGZvciB0aGUgbmFzIHBsdWdpbiB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIGJ1aWxkIGl0IGFnYWluLiBGaXhlcyBidWcgIzUxNzg5NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDaGVjayBmb3IgWCBmb3IgdGhlIG5hcyBwbHVnaW4gdG8gbWFrZSBpdCBwb3NzaWJsZSB0byBidWlsZCBpdAoJICBhZ2Fpbi4gRml4ZXMgYnVnICM1MTc4OTUuCgoyMDA4LTAyLTIyIDA1OjQyOjE2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogSWdub3JlIHNvbWUgbW9yZSBlbGVtZW50cyBmb3IgdGhlIHN0YXRlcyB1bml0IHRlc3QsIGxpa2UgZGZidmlkZW9zaW5rIHdoaWNoIHByb2R1Y2VzIGEgc2VnZmEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIElnbm9yZSBzb21lIG1vcmUgZWxlbWVudHMgZm9yIHRoZSBzdGF0ZXMgdW5pdCB0ZXN0LCBsaWtlCgkgIGRmYnZpZGVvc2luayB3aGljaCBwcm9kdWNlcyBhIHNlZ2ZhdWx0LiBGaXhlcyBidWcgIzUxNzg1NC4KCjIwMDgtMDItMjIgMDU6MzM6NTkgKzAwMDAgIEplbnMgR3JhbnNldWVyIDxqZW5zZ3JAZ214Lm5ldD4KCgkgIFNvbWUgQzg5IGZpeGVzLCBtb3ZpbmcgdmFyaWFibGUgZGVjbGFyYXRpb25zIHRvIHRoZSBiZWdpbm5pbmcgb2YgYSBibG9jay4gRml4ZXMgYnVnICM1MTc5MzcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmVucyBHcmFuc2V1ZXIgPGplbnNnciBhdCBnbXggZG90IG5ldD4KCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiAoZ3N0X3JmYl9wcm9wZXJ0eV9zZXRfdmVyc2lvbik6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6IChyZmJfZGVjb2Rlcl9tZXNzYWdlX3NldF9lbmNvZGluZ3MpLAoJICAocmZiX2RlY29kZXJfc3RhdGVfc2V0X2VuY29kaW5ncyk6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKG1wZWd0c19wYWNrZXRpemVyX3BhcnNlX25pdCksIChtcGVndHNfcGFja2V0aXplcl9wYXJzZV9zZHQpLAoJICAobXBlZ3RzX3BhY2tldGl6ZXJfcGFyc2VfZWl0KToKCSAgKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6IChnc3RfZmJkZXZzaW5rX2dldGNhcHMpLAoJICAoZ3N0X2ZiZGV2c2lua19zZXRjYXBzKSwgKGdzdF9mYmRldnNpbmtfcmVuZGVyKToKCSAgU29tZSBDODkgZml4ZXMsIG1vdmluZyB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgdG8gdGhlIGJlZ2lubmluZwoJICBvZiBhIGJsb2NrLiBGaXhlcyBidWcgIzUxNzkzNy4KCjIwMDgtMDItMjEgMjM6NTA6MzEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIGRldmVsb3BtZW50Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudC4uLgoKPT09IHJlbGVhc2UgMC4xMC42ID09PQoKMjAwOC0wMi0yMSAwMDoxMzozMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHJlbW9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHBvL0xJTkdVQVM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjYgLSBBIEJpZyBEZWVwIEJyZWF0aAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzZSAwLjEwLjYgLSBBIEJpZyBEZWVwIEJyZWF0aAoKMjAwOC0wMi0yMCAyMzozNToxOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8va3kucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDgtMDItMjAgMTY6MDQ6MzIgKzAwMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkgIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IFVzaW5nIHRoZSB3cm9uZyBHc3RGb3JtYXQgZm9yIHRoZSBmaWxlc2l6ZSwgYW5kIGZhaWwgc2VlayBwcm9wZXJseSBvbiBhbnl0aGluZyBidXQgX0JZVEVTIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wMi0yMCAgQmFzdGllbiBOb2NlcmEgIDxoYWRlc3NAaGFkZXNzLm5ldD4KCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiAoZ3N0X215dGh0dl9zcmNfZG9fc2VlayksCgkgIChnc3RfbXl0aHR2X3NyY19zdGFydCk6IFVzaW5nIHRoZSB3cm9uZyBHc3RGb3JtYXQgZm9yIHRoZSBmaWxlc2l6ZSwKCSAgYW5kIGZhaWwgc2VlayBwcm9wZXJseSBvbiBhbnl0aGluZyBidXQgX0JZVEVTIGZvcm1hdAoJICBGaXhlcyBidWcgIzUxNzY4NAoKMjAwOC0wMi0yMCAwOTozMzoyNSArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggc21hbGwgbWVtb3J5IGxlYWssIGxlYWtpbmcgY2Fwcy4gRml4ZXMgI2J1ZyA1MTc1NzEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBGaXggc21hbGwgbWVtb3J5IGxlYWssIGxlYWtpbmcgY2Fwcy4gRml4ZXMgI2J1ZyA1MTc1NzEuCgoyMDA4LTAyLTE5IDExOjUwOjQ1ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgY2hhbmdlIGdteXRoLTEuMCB0byBnbXl0aAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY2hhbmdlIGdteXRoLTEuMCB0byBnbXl0aAoKMjAwOC0wMi0xOSAxMDo1MTozNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3R0YS9NYWtlZmlsZS5hbTogTGluayB0dGEgcGx1Z2luIHdpdGggbGlibS4gRml4ZXMgYnVnICM1MTczOTEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC90dGEvTWFrZWZpbGUuYW06CgkgIExpbmsgdHRhIHBsdWdpbiB3aXRoIGxpYm0uIEZpeGVzIGJ1ZyAjNTE3MzkxLgoKMjAwOC0wMi0xNCAxNzowOTozOCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvY2FtdXRpbHMuYzogRG8gbm90IGFzc3VtZSAiZGVzY3JpcHRvcnMiIHByb3BlcnR5IGluIHRoZSBwbXQgc3RydWN0dXJlIGlzIHByZXNlbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvY2FtdXRpbHMuYzoKCSAgRG8gbm90IGFzc3VtZSAiZGVzY3JpcHRvcnMiIHByb3BlcnR5IGluIHRoZSBwbXQgc3RydWN0dXJlCgkgIGlzIHByZXNlbnQuCgkgIEZpeGVzICM1MTY0OTkuCgoyMDA4LTAyLTE0IDE2OjI1OjUxICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IElnbm9yZSBzdHJlYW1zIHRoYXQgZGlkIG5vdCByZWNlaXZlIGFuIFNSIHBhY2tldCB3aGVuIGRvaW5nIHN5bmNocm9uaXNhdGlvbi4gRml4ZXMgIzUxNjE2MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKToKCSAgSWdub3JlIHN0cmVhbXMgdGhhdCBkaWQgbm90IHJlY2VpdmUgYW4gU1IgcGFja2V0IHdoZW4gZG9pbmcKCSAgc3luY2hyb25pc2F0aW9uLiBGaXhlcyAjNTE2MTYwLgoKMjAwOC0wMi0xNCAxNDozMzoyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzogU2V0IG5fbGluZV9jdHJsX2kgdG8gMCB3aGVuZXZlciB3ZSBmcmVlIGxpbmVfY3RybF9pLiBQYXRjaCBiYXNlZCBvbiBhbiBpZGVhIGJ5IEphbiBTY2htaWR0LCBmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6IChnc3RfZHZkX3NwdV9oYW5kbGVfbmV3X3NwdV9idWYpOgoJICBTZXQgbl9saW5lX2N0cmxfaSB0byAwIHdoZW5ldmVyIHdlIGZyZWUgbGluZV9jdHJsX2kuIFBhdGNoIGJhc2VkCgkgIG9uIGFuIGlkZWEgYnkgSmFuIFNjaG1pZHQsIGZpeGVzIGJ1ZyAjNTE2NDM2LgoKMjAwOC0wMi0xNCAxNDoyMjo1NyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS86IE1ha2Ugc3VyZSB0aGUgZ3N0bXBlZ2Rlc2MgZGVidWcgbGluZXMgZG8gbm90IGNyaXRpY2FsIHdoZW4gR1NUX0RFQlVHIGlzIGVuYWJsZWQgYW5kIGFsc28gYWN0dWFsbHkgby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZ3N0bXBlZ2Rlc2MuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZ3N0bXBlZ2Rlc2MuaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgTWFrZSBzdXJlIHRoZSBnc3RtcGVnZGVzYyBkZWJ1ZyBsaW5lcyBkbyBub3QgY3JpdGljYWwKCSAgd2hlbiBHU1RfREVCVUcgaXMgZW5hYmxlZCBhbmQgYWxzbyBhY3R1YWxseSBvdXRwdXQuCgkgIFRoYW5rcyB0byBBbGVzc2FuZHJvIERlY2luYSBmb3Igc3BvdHRpbmcuCgkgIEZpeGVzICM1MTY0NDgKCjIwMDgtMDItMTMgMjM6NTI6NDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgQWxzbyBhZGQgZHNob3cgcGllY2VzIHRvIHRoZSBkaXN0ZWQgc3ViZGlycyB0byBmaXggZGlzdGNoZWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICBBbHNvIGFkZCBkc2hvdyBwaWVjZXMgdG8gdGhlIGRpc3RlZCBzdWJkaXJzIHRvIGZpeCBkaXN0Y2hlY2suCgoyMDA4LTAyLTEzIDE0OjQwOjMzICswMDAwICBKb3NlcCBUb3JyYSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoKCSAgZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogRml4IHBvdGVudGlhbCBidWZmZXIgbGVhayBpbiByZXZlcnNlIG1vZGUuIFJlLUZpeGVzICM1MTYwNjEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9zZXAgVG9ycmEgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOiAoZ3N0X2gyNjRfcGFyc2VfY2hhaW5fcmV2ZXJzZSk6CgkgIEZpeCBwb3RlbnRpYWwgYnVmZmVyIGxlYWsgaW4gcmV2ZXJzZSBtb2RlLiBSZS1GaXhlcyAjNTE2MDYxLgoKMjAwOC0wMi0xMyAxMToyMjowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBBbGxvdyBnbXl0aCB2ZXJzaW9ucyBmcm9tIDAuNCB1cCB0byAwLjcuOTksIHRoZSBBUEkgZGlkbid0IGNoYW5nZSB1bnRpbCAwLjcgZm9ydHVuYXRlbHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQWxsb3cgZ215dGggdmVyc2lvbnMgZnJvbSAwLjQgdXAgdG8gMC43Ljk5LCB0aGUgQVBJIGRpZG4ndCBjaGFuZ2UKCSAgdW50aWwgMC43IGZvcnR1bmF0ZWx5LgoKMjAwOC0wMi0xMiAyMzoxNjoyMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEdlbmVyYXRlIHRoZSBkaXJlY3RzaG93IE1ha2VmaWxlcyBzbyB0aGF0IHRoZSBkaXJlY3RvcmllcyBnZXQgZGlzdGVkLiBTdGlsbCBuZWVkcyBzb21lIGNvbmZpZ3VyZSB0aW1lIGQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBHZW5lcmF0ZSB0aGUgZGlyZWN0c2hvdyBNYWtlZmlsZXMgc28gdGhhdCB0aGUgZGlyZWN0b3JpZXMKCSAgZ2V0IGRpc3RlZC4gU3RpbGwgbmVlZHMgc29tZSBjb25maWd1cmUgdGltZSBkZXRlY3Rpb24gdG8gZW5hYmxlCgkgIGJ1aWxkaW5nIHRoZW0gdW5kZXIgTWluZ1cuCgoyMDA4LTAyLTEyIDIzOjEzOjU1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbTogRG9uJ3QgaW5zdGFsbCBhIGhlYWRlciBmaWxlLiBXZSB3aWxsIGhhdmUgdG8gbWVyZ2UgdGhlc2UgdGFncyBpbnRvIGxpYmdzdHRhZyBhZnRlciB0aGUgcmVsZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkgIERvbid0IGluc3RhbGwgYSBoZWFkZXIgZmlsZS4gV2Ugd2lsbCBoYXZlIHRvIG1lcmdlIHRoZXNlCgkgIHRhZ3MgaW50byBsaWJnc3R0YWcgYWZ0ZXIgdGhlIHJlbGVhc2UgYW5kIHVzZSB0aGVtIGZyb20gdGhlcmUuCgkgIEZpeGVzOiAjNTE1ODYwCgoyMDA4LTAyLTEyIDIyOjEwOjM5ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBBZGQgTWFrZWZpbGVzIHRvIHdpbjMyIHBsdWdpbnMgYW5kIGxpYi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgQWRkIE1ha2VmaWxlcyB0byB3aW4zMiBwbHVnaW5zIGFuZCBsaWIuCgkgIFRoZXkgd2lsbCBuZWVkIHRvIGJlIHRlc3RlZCBhbmQgcHJvYmFibHkgZml4ZWQgYnkgZGV2ZWxvcGVycwoJICB3b3JraW5nIHdpdGggbWluZ3cuIFRoaXMgaXMgYSBmaXJzdCBzdGVwIHRvIGluY2x1ZGUgc291cmNlIGZpbGVzCgkgIHdpdGggcmVsZWFzZXMuCgoyMDA4LTAyLTEyIDIxOjMxOjU3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9kdmJiYXNlYmluLmM6IEZpeCBsZWFrIG9mIGxvY2F0aW9uIHN0cmluZyByZXR1cm5lZCBmcm9tIGdzdF91cmlfZ2V0X2xvY2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgRml4IGxlYWsgb2YgbG9jYXRpb24gc3RyaW5nIHJldHVybmVkIGZyb20gZ3N0X3VyaV9nZXRfbG9jYXRpb24uCgkgIEZpeGVzIGJ1ZyAjNTE2MTE0CgoyMDA4LTAyLTEyIDIxOjAxOjE3ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIFJlbW92ZSBnbGltYWdlc2luaywgYXMgaXQncyBiZWVuIG1vdmVkIHRvIGdzdC1wbHVnaW5zLWdsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdsaW1hZ2VzaW5rLnhtbDoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL2dsc2luay9CVUdTOgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgICogc3lzL2dsc2luay9jb2xvcl9tYXRyaXguYzoKCSAgKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5jOgoJICAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmg6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsdGVzdHNyYy5jOgoJICAqIHN5cy9nbHNpbmsvZ2x0ZXN0c3JjLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsY29udmVydC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5LmM6CgkgICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZG93bmxvYWQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXJleGFtcGxlLmM6CgkgICogc3lzL2dsc2luay9nc3RnbHRlc3RzcmMuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdGVzdHNyYy5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdG9wZW5nbC5jOgoJICBSZW1vdmUgZ2xpbWFnZXNpbmssIGFzIGl0J3MgYmVlbiBtb3ZlZCB0byBnc3QtcGx1Z2lucy1nbC4KCSAgRml4ZXMgIzUxNjA5NC4KCjIwMDgtMDItMTIgMTg6Mjk6MjkgKzAwMDAgIEpvc2VwIFRvcnJhIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgoJICBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOiBGaXggcG90ZW50aWFsIGJ1ZmZlciBsZWFrIGluIHJldmVyc2UgbW9kZS4gRml4ZXMgIzUxNjA2MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb3NlcCBUb3JyYSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IChnc3RfaDI2NF9wYXJzZV9jaGFpbl9yZXZlcnNlKToKCSAgRml4IHBvdGVudGlhbCBidWZmZXIgbGVhayBpbiByZXZlcnNlIG1vZGUuIEZpeGVzICM1MTYwNjEuCgoyMDA4LTAyLTEyIDExOjA4OjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBzeXMvZHNob3dkZWN3cmFwcGVyLzogQ2hhaW4gdXAgZGlzcG9zZSBtZXRob2RzIHByb3Blcmx5LiBGaXhlcyBidWcgIzUxNTk3MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmM6CgkgIChnc3RfZHNob3dhdWRpb2RlY19kaXNwb3NlKToKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuYzoKCSAgKGdzdF9kc2hvd3ZpZGVvZGVjX2Rpc3Bvc2UpOgoJICBDaGFpbiB1cCBkaXNwb3NlIG1ldGhvZHMgcHJvcGVybHkuIEZpeGVzIGJ1ZyAjNTE1OTcwLgoKMjAwOC0wMi0xMiAxMTowMjozNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIENoYW5nZWxvZyBzdXJnZXJ5OiBtZW50aW9uIGJ1ZyA1MTU5MTkgZml4ZWQgaW4gbXkgcHJldmlvdXMgY29tbWl0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2Vsb2cgc3VyZ2VyeTogbWVudGlvbiBidWcgNTE1OTE5IGZpeGVkIGluIG15IHByZXZpb3VzIGNvbW1pdAoKMjAwOC0wMi0xMiAxMDo1NzoyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOiBGaXggbGVha2luZyBjYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgKG1wZWd2aWRlb3BhcnNlX2hhbmRsZV9zZXF1ZW5jZSksIChtcGVndmlkZW9wYXJzZV9kcmFpbl9hdmFpbCksCgkgIChnc3RfbXBlZ3ZpZGVvcGFyc2VfY2hhbmdlX3N0YXRlKToKCSAgRml4IGxlYWtpbmcgY2Fwcy4KCSAgRml4IHBvdGVudGlhbCBidWZmZXIgbGVhayBpbiBmb3J3YXJkIG1vZGUuCgkgIENsZWFudXAgcXVldWVzIHdoZW4gZ29pbmcgdG8gUkVBRFkuIEZpeGVzICM1MTU4MTUuCgoyMDA4LTAyLTEyIDEwOjI0OjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBkb2NzL3BsdWdpbnMvOiBSZW1vdmUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIEdJTyBwbHVnaW4gYXMgaXQgd2FzIG1vdmVkIHRvIGdzdC1wbHVnaW5zLWJhc2UuIEZpeGVzIGJ1ZyAjNTE1OTY0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdpby54bWw6CgkgIFJlbW92ZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgR0lPIHBsdWdpbiBhcyBpdCB3YXMgbW92ZWQgdG8KCSAgZ3N0LXBsdWdpbnMtYmFzZS4gRml4ZXMgYnVnICM1MTU5NjQuCgoyMDA4LTAyLTEyIDEwOjIyOjQyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIEZpeCBzb21lIGZpbmFsaXplIGxlYWtzIGJ5IGNoYWluaW5nIHVwIHRvIHRoZSBwYXJlbnQgbWV0aG9kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgICogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5jOgoJICBGaXggc29tZSBmaW5hbGl6ZSBsZWFrcyBieSBjaGFpbmluZyB1cCB0byB0aGUgcGFyZW50IG1ldGhvZC4KCjIwMDgtMDItMTIgMDU6MjE6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6IEluY2x1ZGUgZ2xpYi9ncHJpbnRmLmggZm9yIGdfdmFzcHJpbnRmKCkuIEZpeGVzIGJ1ZyAjNTE1NTY0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICBJbmNsdWRlIGdsaWIvZ3ByaW50Zi5oIGZvciBnX3Zhc3ByaW50ZigpLiBGaXhlcyBidWcgIzUxNTU2NC4KCjIwMDgtMDItMTIgMDU6MTk6MDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IEZyZWUgdGhlIHJmYiBkZWNvZGVyIG9uIGZpbmFsaXplLiBGaXhlcyBidWcgIzUxNTcyMS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogKGdzdF9yZmJfc3JjX2Rpc3Bvc2UpOgoJICBGcmVlIHRoZSByZmIgZGVjb2RlciBvbiBmaW5hbGl6ZS4gRml4ZXMgYnVnICM1MTU3MjEuCgoyMDA4LTAyLTExIDEzOjM0OjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6IEZyZWUgdGhlIGRldmljZSBzdHJpbmcgaW4gZmluYWxpemUuIEZpeGVzIGJ1ZyAjNTE1NzIyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6IChnc3RfZmJkZXZzaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ZiZGV2c2lua19maW5hbGl6ZSk6CgkgIEZyZWUgdGhlIGRldmljZSBzdHJpbmcgaW4gZmluYWxpemUuIEZpeGVzIGJ1ZyAjNTE1NzIyLgoKMjAwOC0wMi0xMSAxMzozMzoxMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOiBVbnNldCBHVmFsdWVzIGFmdGVyIHVzaW5nIHRoZW0uIEZpeGVzIGJ1ZyAjNTE1NzIwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6IChnc3RfeHZpZGVuY19pbml0KToKCSAgVW5zZXQgR1ZhbHVlcyBhZnRlciB1c2luZyB0aGVtLiBGaXhlcyBidWcgIzUxNTcyMC4KCjIwMDgtMDItMTEgMDU6MTE6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEaXNhYmxlIHRoZSBkdmIgcGx1Z2luIGZvciB0aGUgc3RhdGVzIHRlc3QuIEZpeGVzIGJ1ZyAjNTE1NTY3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRGlzYWJsZSB0aGUgZHZiIHBsdWdpbiBmb3IgdGhlIHN0YXRlcyB0ZXN0LiBGaXhlcyBidWcgIzUxNTU2Ny4KCjIwMDgtMDItMTAgMjE6MDM6NTQgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YV9tYXBwaW5nLmh0bToKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIFJldmVydCBjaGFuZ2VzIHRvIDIwMDgtMDItMDkgZHVlIHRvIGZyb3plbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmVydCBjaGFuZ2VzIHRvIDIwMDgtMDItMDkgZHVlIHRvIGZyb3plbi4KCjIwMDgtMDItMTAgMTk6NDQ6NTAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBGaXggSm9zZXAncyBzdXJuYW1lIGluIHRoZSBwcmV2aW91cyBmZXcgY29tbWl0cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IEpvc2VwJ3Mgc3VybmFtZSBpbiB0aGUgcHJldmlvdXMgZmV3IGNvbW1pdHMKCjIwMDgtMDItMTAgMTk6MDE6NDMgKzAwMDAgIEpvc2VwIFRvcnJlIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgoJICBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6IFRyaXZpYWwgZml4IGZvciBidWlsZCB3YXJuaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkgIFRyaXZpYWwgZml4IGZvciBidWlsZCB3YXJuaW5nLgoJICBQYXRjaCBieTogSm9zZXAgVG9ycmUgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCSAgRml4ZXM6ICM1MTU1ODgKCjIwMDgtMDItMTAgMTg6MzY6NDYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgQ29udmVydCBmcm9tIEVYSUYgdG8gWE1QIERhdGFUaW1lIGFzIGxvY2FsIHRpbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDb252ZXJ0IGZyb20gRVhJRiB0byBYTVAgRGF0YVRpbWUgYXMgbG9jYWwgdGltZS4KCjIwMDgtMDItMTAgMDQ6MzY6MTIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YV9tYXBwaW5nLmh0bToKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIE1hcCBEYXRlLVRpbWUgYW5kIEdQUyB0YWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTWFwIERhdGUtVGltZSBhbmQgR1BTIHRhZ3MuCgoyMDA4LTAyLTA5IDAzOjM3OjQwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9zZWxlY3Rvci9NYWtlZmlsZS5hbTogTGlzdGluZyB0aGUgbWFyc2hhbC5oIGluIHRoZSBub2Rpc3RfSEVBREVSUyBicmVha3MgZGlzdGNoZWNrLCBzbyBsZXQncyBub3QgZG8gdGhhdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvTWFrZWZpbGUuYW06CgkgIExpc3RpbmcgdGhlIG1hcnNoYWwuaCBpbiB0aGUgbm9kaXN0X0hFQURFUlMgYnJlYWtzIGRpc3RjaGVjaywgc28KCSAgbGV0J3Mgbm90IGRvIHRoYXQKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRGlzYWJsZSB0aGUgY3Jhc2hpbmcgY2RhdWRpbyBwbHVnaW4gZnJvbSB0aGUgc3RhdGVzIHRlc3Qgc28gSSBjYW4gbWFrZQoJICBwcmUtcmVsZWFzZXMuCgoyMDA4LTAyLTA5IDAyOjMzOjA2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHdpbjMyL3ZzNi86IENvbnZlcnQgdG8gRE9TIGxpbmUgZW5kaW5ncywgYW5kIHNldCAta2IKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvdnM2L2xpYmdzdGRzaG93ZGVjd3JhcHBlci5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGZsdi5kc3A6CgkgIENvbnZlcnQgdG8gRE9TIGxpbmUgZW5kaW5ncywgYW5kIHNldCAta2IKCjIwMDgtMDItMDggMTg6MjI6MDggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiLzogQWRkIFVSSSBIYW5kbGVyIGZvciBkdmIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIEFkZCBVUkkgSGFuZGxlciBmb3IgZHZiLgoJICBSZS1vcmRlciBwYWQgdGVtcGxhdGVzIHRvIHdvcmthcm91bmQgYSBidWcgaW4gcGxheWJhc2ViaW4uCgkgICogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgICogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmg6CgkgIEFkZCBjb2RlIHRvIHBhcnNlIGNoYW5uZWxzIGZyb20gemFwLXN0eWxlIGNoYW5uZWxzLmNvbmYgZmlsZXMuCgoyMDA4LTAyLTA4IDA0OjIyOjA2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbW92ZSBtdWx0aWZpbGUgcGx1Z2luLCB3aGljaCBoYXMgbW92ZWQgdG8gLWdvb2QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSAgKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5oOgoJICAqIGdzdC9tdWx0aWZpbGUvbXVsdGlmaWxlLnZwcm9qOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICBSZW1vdmUgbXVsdGlmaWxlIHBsdWdpbiwgd2hpY2ggaGFzIG1vdmVkIHRvIC1nb29kCgoyMDA4LTAyLTA4IDAzOjQ0OjEyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9tdWx0aWZpbGUvOiBVc2UgZ19maWxlX1tzZ11ldF9jb250ZW50cygpIGluc3RlYWQgb2YgdXNpbmcgc3RkaW8gZnVuY3Rpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICBVc2UgZ19maWxlX1tzZ11ldF9jb250ZW50cygpIGluc3RlYWQgb2YgdXNpbmcgc3RkaW8gZnVuY3Rpb25zLgoJICBTaG91bGQgYmUgbGVzcyBlcnJvciBwcm9uZS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgQ3JlYXRlIGEgdGVtcG9yYXJ5IGRpcmVjdG9yeSB1c2luZyBzdGFuZGFyZCBmdW5jdGlvbnMgaW5zdGVhZCBvZgoJICBjcmVhdGluZyBhIGRpcmVjdG9yeSBpbiB0aGUgY3VycmVudCBkaXIuCgoyMDA4LTAyLTA4IDAzOjI3OjE0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbW92ZSBzcGVjdHJ1bSBwbHVnaW4sIHdoaWNoIGhhcyBtb3ZlZCB0byAtZ29vZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZ3N0L3NwZWN0cnVtLy5jdnNpZ25vcmU6CgkgICogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVjdHJ1bS9SRUFETUU6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgICogZ3N0L3NwZWN0cnVtL3NwZWN0cnVtLnZjcHJvajoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOgoJICBSZW1vdmUgc3BlY3RydW0gcGx1Z2luLCB3aGljaCBoYXMgbW92ZWQgdG8gLWdvb2QKCjIwMDgtMDItMDggMDI6NDg6NTQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLio6IFJlbW92ZSBlcXVhbGl6ZXIgcGx1Z2luIGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgUmVtb3ZlIGVxdWFsaXplciBwbHVnaW4gZG9jcwoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBBZGQgR1NUX09QVElPTl9DRkxBR1MsIHRvIGdldCAtV2Vycm9yIC1XYWxsIGludG8gdGhlIHRlc3RzIGFzIGZvcgoJICBvdGhlciBtb2R1bGVzLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzIGZyb20gLVdhbGwgLVdlcnJvcgoKMjAwOC0wMi0wOCAwMjowMDo0OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW1vdmUgdGhlIGVxdWFsaXplciBwbHVnaW4sIHdoaWNoIGhhcyBtb3ZlZCB0byAtZ29vZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSAgKiBnc3QvZXF1YWxpemVyLy5jdnNpZ25vcmU6CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL2RlbW8uYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmg6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmg6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5oOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2VxdWFsaXplci5jOgoJICBSZW1vdmUgdGhlIGVxdWFsaXplciBwbHVnaW4sIHdoaWNoIGhhcyBtb3ZlZCB0byAtZ29vZAoKMjAwOC0wMi0wOCAwMToxMjowOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IE1ha2UgRElTQUJMRV9ERVBSRUNBVEVEIGRlZmluZWQgKm9ubHkqIGR1cmluZyBDVlMsIG5vdCBkdXJpbmcgcHJlLXJlbGVhc2VzIG9yIHJlbGVhc2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIE1ha2UgRElTQUJMRV9ERVBSRUNBVEVEIGRlZmluZWQgKm9ubHkqIGR1cmluZyBDVlMsIG5vdCBkdXJpbmcKCSAgcHJlLXJlbGVhc2VzIG9yIHJlbGVhc2VzLgoKMjAwOC0wMi0wOCAwMDo0ODozMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06IERvbid0IHNjYW4gZGVsZXRlZCB4aW5nbXV4IGhlYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBEb24ndCBzY2FuIGRlbGV0ZWQgeGluZ211eCBoZWFkZXIuCgoyMDA4LTAyLTA4IDAwOjQwOjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbW92ZSB0aGUgeGluZ211eCBwbHVnaW4sIGFzIHRoZSBlbGVtZW50IGhhcyBtb3ZlZCBpbnRvIG1wZWdhdWRpb3BhcnNlIGluIC11Z2x5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSAgKiBnc3QveGluZ2hlYWRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveGluZ211eC5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3hpbmdtdXhfdGVzdGRhdGEuaDoKCSAgUmVtb3ZlIHRoZSB4aW5nbXV4IHBsdWdpbiwgYXMgdGhlIGVsZW1lbnQgaGFzIG1vdmVkIGludG8KCSAgbXBlZ2F1ZGlvcGFyc2UgaW4gLXVnbHkuCgoyMDA4LTAyLTA3IDIzOjM3OjMyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogUmVtb3ZlIG1lbnRpb24gb2Ygbm9uLWV4aXN0ZW50IGhlYWRlcnMgdG8gZml4IHRoZSBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgbWVudGlvbiBvZiBub24tZXhpc3RlbnQgaGVhZGVycyB0byBmaXggdGhlIGJ1aWxkLgoKMjAwOC0wMi0wNyAyMzozMDo0NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW1vdmUgR0lPIHBsdWdpbiB3aGljaCBoYXMgbm93IG1vdmVkIHRvIC1iYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9naW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2dpby9nc3RnaW8uYzoKCSAgKiBleHQvZ2lvL2dzdGdpby5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvYmFzZXNpbmsuYzoKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzaW5rLmg6CgkgICogZXh0L2dpby9nc3RnaW9iYXNlc3JjLmM6CgkgICogZXh0L2dpby9nc3RnaW9iYXNlc3JjLmg6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmM6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmg6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuYzoKCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc2luay5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc2luay5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc3JjLmM6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zcmMuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZ2lvLmM6CgkgIFJlbW92ZSBHSU8gcGx1Z2luIHdoaWNoIGhhcyBub3cgbW92ZWQgdG8gLWJhc2UuCgoyMDA4LTAyLTA3IDIxOjUzOjM5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbW92ZSBscHdzaW5jIGFuZCBicHdzaW5jIGVsZW1lbnRzIC0gdGhleSd2ZSBiZWNvbWUgYXVkaW93c2luY2xpbWl0IGFuZCBhdWRpb3dzaW5jYmFuZCByZXNwZWN0aXZlbHksIGluIHRoZSBnc3QtcGx1Zy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmlsdGVyL2ZpbHRlci52Y3Byb2o6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RmaWx0ZXIuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGZpbHRlci5oOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jwd3NpbmMuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9scHdzaW5jLmM6CgkgIFJlbW92ZSBscHdzaW5jIGFuZCBicHdzaW5jIGVsZW1lbnRzIC0gdGhleSd2ZSBiZWNvbWUKCSAgYXVkaW93c2luY2xpbWl0IGFuZCBhdWRpb3dzaW5jYmFuZCByZXNwZWN0aXZlbHksIGluIHRoZQoJICBnc3QtcGx1Z2lucy1nb29kIGF1ZGlvZnggcGx1Z2luLgoKMjAwOC0wMi0wNyAyMTowMjoxOSArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZXh0XG5lb25cZ3N0bmVvbmh0dHBzcmMuYzogSW5jbHVkZSB1bmlzdGQuaCBvbmx5IGlmIF9IQVZFX1VOSVNURF9IIGlzIGRlZmluZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0XG5lb25cZ3N0bmVvbmh0dHBzcmMuYzoKCSAgSW5jbHVkZSB1bmlzdGQuaCBvbmx5IGlmIF9IQVZFX1VOSVNURF9IIGlzIGRlZmluZWQKCSAgKiBnc3RcbXBlZ3ZpZGVvcGFyc2VcbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgVXNlIEdfR1VJTlQ2NF9DT05TVEFOVCBHTElCIG1hY3JvIGZvciBjb25zdGFudAoJICAqIHN5c1xkc2hvd3NyY3dyYXBwZXJcZ3N0ZHNob3dhdWRpb3NyYy5jOgoJICAqIHN5c1xkc2hvd3NyY3dyYXBwZXJcZ3N0ZHNob3d2aWRlb3NyYy5jOgoJICAqIHN5c1xkc2hvd2RlY3dyYXBwZXJcZ3N0ZHNob3dhdWRpb2RlYy5jOgoJICAqIHN5c1xkc2hvd2RlY3dyYXBwZXJcZ3N0ZHNob3dhdWRpb2RlYy5oOgoJICAqIHN5c1xkc2hvd2RlY3dyYXBwZXJcZ3N0ZHNob3dkZWN3cmFwcGVyLmM6CgkgICogc3lzXGRzaG93ZGVjd3JhcHBlclxnc3Rkc2hvd2RlY3dyYXBwZXIuaDoKCSAgKiBzeXNcZHNob3dkZWN3cmFwcGVyXGdzdGRzaG93dmlkZW9kZWMuYwoJICAqIHN5c1xkc2hvd2RlY3dyYXBwZXJcZ3N0ZHNob3d2aWRlb2RlYy5oOgoJICBBZGQgYSBEaXJlY3RTaG93IGRlY29kZXIgd3JhcHBlci4KCSAgKiB3aW4zMlxNQU5JRkVTVDoKCSAgQWRkIG5ldyB3aW4zMiBmaWxlcyB0byBNQU5JRkVTVAoJICAqIHdpbjMyXHZzNlxnc3RfcGx1Z2luc19iYWQuZHN3OgoJICAqIHdpbjMyXHZzNlxsaWJnc3Rkc2hvdy5kc3A6CgkgICogd2luMzJcdnM2XGxpYmdzdGRzaG93ZGVjd3JhcHBlci5kc3A6CgkgICogd2luMzJcdnM2XGxpYmdzdGZsdi5kc3A6CgkgIEFkZCBuZXcgcHJvamVjdHMgdG8gYmFkIHdvcmtzcGFjZQoKMjAwOC0wMi0wNyAxNDo0NTowNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6IFBhcnNlIGNvbXBvbmVudCBkZXNjcmlwdG9yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBQYXJzZSBjb21wb25lbnQgZGVzY3JpcHRvci4KCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgQWRkIFNJIHBpZHMgdG8gZXZlcnkgcHJvZ3JhbSAoYnV0IGhhcmRjb2RlZCBjdXJyZW50bHkpLgoKMjAwOC0wMi0wNyAxMzo1OTo0MSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFfbWFwcGluZy5odG06CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuZ2xhZGU6CgkgIEFkZCBtb3JlIHRhZ3MuIEltcHJvdmUgdGVzdCBhcHAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgbW9yZSB0YWdzLiBJbXByb3ZlIHRlc3QgYXBwLgoKMjAwOC0wMi0wNyAxMzo0ODoyMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6IEFkZCBhIGZpeG1lIGNvbW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBBZGQgYSBmaXhtZSBjb21tZW50LgoJICAqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICBGaXggc2FtZSBsZWFrIGFzIGluIGlucHV0LXNlbGVjdG9yLgoJICAqIHRlc3RzL2ljbGVzL291dHB1dC1zZWxlY3Rvci10ZXN0LmM6CgkgIEltcHJvdmUgdGhlIHRlc3QuCgoyMDA4LTAyLTA3IDEzOjQxOjExICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogSW1wcm92ZSB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIEltcHJvdmUgdGhlIGRvY3MuCgoyMDA4LTAyLTA3IDEyOjA1OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBUaGUgZGMxMzk0IHBsdWdpbiBzZWVtcyB0byB1c2UgQVBJIHRoYXQgd2FzIHJlbW92ZWQgb3IgY2hhbmdlZCBiZWZvcmUgdGhlIGZpbmFsIDIuMC4wIHJlbGVhc2UsIHNvIG9ubHkgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVGhlIGRjMTM5NCBwbHVnaW4gc2VlbXMgdG8gdXNlIEFQSSB0aGF0IHdhcyByZW1vdmVkIG9yIGNoYW5nZWQKCSAgYmVmb3JlIHRoZSBmaW5hbCAyLjAuMCByZWxlYXNlLCBzbyBvbmx5IGJ1aWxkIGl0IGlmIDIuMC4wLXJjNQoJICBpcyBhdmFpbGFibGUuIFNvbWVvbmUgbmVlZHMgdG8gcG9ydCBpdCB0byB0aGUgZmluYWwgQVBJLgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6IChnc3RfZGMxMzk0X2NoYW5nZV9jYW1lcmFfdHJhbnNtaXNzaW9uKToKCSAgSW5jbHVkZSBzdHJpbmcuaCBmb3IgbWVtY3B5IGFuZCB1c2UgZ191c2xlZXAgaW5zdGVhZCBvZiB1c2xlZXAuCgoyMDA4LTAyLTA3IDEwOjA0OjAxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogRml4IHR5cG8gaW4gdGhlIGxvbmcgZGVzY3JpcHRpb24gb2YgdGhlIGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICBGaXggdHlwbyBpbiB0aGUgbG9uZyBkZXNjcmlwdGlvbiBvZiB0aGUgZWxlbWVudC4KCjIwMDgtMDItMDcgMDI6MDY6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3hpbmdoZWFkZXIvTWFrZWZpbGUuYW06IFB1dCBDRkxBR1MgYW5kIExJQlMgaW4gdGhlIHJpZ2h0IG9yZGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC94aW5naGVhZGVyL01ha2VmaWxlLmFtOgoJICBQdXQgQ0ZMQUdTIGFuZCBMSUJTIGluIHRoZSByaWdodCBvcmRlcgoKMjAwOC0wMi0wNiAxODo1Njo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogeGltYWdlc3JjIGhhcyBtb3ZlZCB0byAtZ29vZCwgc28gbm8gbmVlZCB0byBjaGVjayBmb3IgdGhlIHJlcXVpcmVkIFggbGlicyBoZXJlIGFueSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIHhpbWFnZXNyYyBoYXMgbW92ZWQgdG8gLWdvb2QsIHNvIG5vIG5lZWQgdG8gY2hlY2sgZm9yCgkgIHRoZSByZXF1aXJlZCBYIGxpYnMgaGVyZSBhbnkgbW9yZS4KCjIwMDgtMDItMDYgMTE6MDc6NDcgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBGaXggbWVtb3J5IGxlYWsgYW5kIGltcHJvdmUgZGVidWdnaW5nIGEgYml0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19nb3RfY2h1bmtfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfY3JlYXRlKToKCSAgRml4IG1lbW9yeSBsZWFrIGFuZCBpbXByb3ZlIGRlYnVnZ2luZyBhIGJpdC4KCjIwMDgtMDItMDUgMTc6MTA6MTEgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhX21hcHBpbmcuaHRtOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJICBBZGQgbW9yZSB0YWdzIG1hcHBpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgbW9yZSB0YWdzIG1hcHBpbmcuCgoyMDA4LTAyLTA1IDEyOjE5OjQ2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6IEhhbmRsZSBsYXRlbmN5IHF1ZXJpZXMgaW4gc3JjIHBhZHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBIYW5kbGUgbGF0ZW5jeSBxdWVyaWVzIGluIHNyYyBwYWRzLgoKMjAwOC0wMi0wNSAxMTo0MDo0MyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6IEFkZCBmbGFnIHRvIGJvdGggc2R0IGFuZCBuaXQgc3RydWN0dXJlcyB0byBzYXkgd2hldGhlciB0aGUgdGFibGUgaXMgZm9yIHRoZSBhY3R1YS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBBZGQgZmxhZyB0byBib3RoIHNkdCBhbmQgbml0IHN0cnVjdHVyZXMgdG8gc2F5CgkgIHdoZXRoZXIgdGhlIHRhYmxlIGlzIGZvciB0aGUgYWN0dWFsIG5ldHdvcmsvdHMKCSAgb3Igbm90LgoKMjAwOC0wMi0wNSAxMTozMDo0OSArMDAwMCAgSm9zZXAgVG9ycmUgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCgkgIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOiBGbHVzaCBwYWNrZXRpemVyIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb3NlcCBUb3JyZSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOiAoZ3N0X21wZWd2aWRlb3BhcnNlX2ZsdXNoKToKCSAgRmx1c2ggcGFja2V0aXplciB0b28uCgoyMDA4LTAyLTA0IDE5OjE1OjM5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOiBEb24ndCB1c2UgR1NUX0JPSUxFUlBMQVRFIGFzIHRoZSBzdHVmZiBnZW5lcmF0ZWQgZnJvbSBpdCBpcyBub3QgdXNlZCBhbnl3YXkgYW5kIGNhbid0IGJlIHVzZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6IChnc3RfbGFkc3BhX2Jhc2VfaW5pdCksCgkgIChnc3RfbGFkc3BhX2NsYXNzX2luaXQpLCAobGFkc3BhX2Rlc2NyaWJlX3BsdWdpbiksIChwbHVnaW5faW5pdCk6CgkgIERvbid0IHVzZSBHU1RfQk9JTEVSUExBVEUgYXMgdGhlIHN0dWZmIGdlbmVyYXRlZCBmcm9tIGl0IGlzIG5vdCB1c2VkCgkgIGFueXdheSBhbmQgY2FuJ3QgYmUgdXNlZC4KCSAgU3RvcmUgdGhlIGNsYXNzIHN0cnVjdCBvZiB0aGUgY29ycmVjdCB0eXBlIGluIHBhcmVudF9jbGFzcy4KCSAgUGFzcyB0aGUgTEFEU1BBX0Rlc2NyaXB0b3IgYXMgY2xhc3NfZGF0YSB0byB0aGUgY2xhc3NfaW5pdCBmdW5jdGlvbgoJICBhcyBwcmVwYXJhdGlvbiBmb3IgdGhlIHRpbWUsIHdoZW4gd2UgY2FuIGFkZCBwYWQgdGVtcGxhdGVzIGFuZCBmcmllbmRzCgkgIGluIGNsYXNzX2luaXQgYW5kIGFkZCBhIEZJWE1FIGZvciB0aGF0LgoJICBEb24ndCB1c2UgYSBjdXN0b20gaGFzaCB0YWJsZSBmb3IgcGFzc2luZyB0aGUgTEFEU1BBX0Rlc2NyaXB0b3JzIHRvCgkgIGJhc2VfaW5pdCBidXQgdXNlIGdfdHlwZV9zZXRfcWRhdGEgYW5kIGdfdHlwZV9nZXRfcWRhdGEuCgoyMDA4LTAyLTA0IDE2OjIyOjExICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5jYzogUmVhbGx5IGZpeCB0aGUgYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuY2M6CgkgIFJlYWxseSBmaXggdGhlIGJ1aWxkLgoJICBUT0RPIDogQXBwbHkgc3BhbmtPbWF0aWMyMDAwIG9uIHRoYXl0YW4ncyByZWFyIGVuZC4KCjIwMDgtMDItMDQgMTM6MTI6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmNjOiBGaXggY29tcGlsYXRpb24gd2l0aCBsaWJtanBlZ3Rvb2xzIDEuOC54LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmNjOgoJICAoR3N0TXBlZzJFbmNQaWN0dXJlUmVhZGVyLlN0cmVhbVBpY3R1cmVQYXJhbXMpOgoJICBGaXggY29tcGlsYXRpb24gd2l0aCBsaWJtanBlZ3Rvb2xzIDEuOC54LgoKMjAwOC0wMi0wNCAxMTo0ODo1MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogRG9uJ3QgdW5yZWYgdGhlIHBhZCB0ZW1wbGF0ZSBhZnRlciBhZGRpbmcgaXQuIGdzdF9lbGVtZW50X2NsYXNzX2FkZF9wYWRfdGVtcGxhdGUgdGFrLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jbGFzc19hZGRfcGFkX3RlbXBsYXRlKToKCSAgRG9uJ3QgdW5yZWYgdGhlIHBhZCB0ZW1wbGF0ZSBhZnRlciBhZGRpbmcgaXQuCgkgIGdzdF9lbGVtZW50X2NsYXNzX2FkZF9wYWRfdGVtcGxhdGUgdGFrZXMgb3duZXJzaGlwIG9mIGl0LgoKMjAwOC0wMi0wMyAxODoyMjoxOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmNjOiBVc2UgdGhlIGluY29taW5nIHBpeGVsLWFzcGVjdC1yYXRpbyBpZiBwcm92aWRlZCB0byBpbmZlciBhIGRlZmF1bHQgYXNwZWN0IHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5jYzoKCSAgVXNlIHRoZSBpbmNvbWluZyBwaXhlbC1hc3BlY3QtcmF0aW8gaWYgcHJvdmlkZWQgdG8gaW5mZXIgYQoJICBkZWZhdWx0IGFzcGVjdCByYXRpbywgd2hpY2ggY2FuIGJlIG92ZXJyaWRkZW4gdXNpbmcgdGhlICdhc3BlY3QnCgkgIHByb3BlcnR5LgoJICBGaXhlczogIzQ5OTAwOAoKMjAwOC0wMi0wMyAxNzo0NzoyNSArMDAwMCAgQW5kcnplaiBNZW5kZWwgPGFuZHJ6ZWoubWVuZGVsQGdtYWlsLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IHZhcmlhYmxlIG5hbWluZyB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIGJ1aWxkIHRoZSBnbGltYWdlc2luayBwbHVnaW4uIEZpeGVzIGJ1ZyAjNTE0MDkzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFuZHJ6ZWogTWVuZGVsIDxhbmRyemVqIGRvdCBtZW5kZWwgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCB2YXJpYWJsZSBuYW1pbmcgdG8gbWFrZSBpdCBwb3NzaWJsZSB0byBidWlsZCB0aGUgZ2xpbWFnZXNpbmsKCSAgcGx1Z2luLiBGaXhlcyBidWcgIzUxNDA5My4KCjIwMDgtMDItMDIgMjM6MjU6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOiBEZW1vdGUgbWV0YWRhdGFkZW11eCB0byBHU1RfUkFOS19OT05FIGZvciB0aGUgcmVsZWFzZSwgaXQncyBub3QgcmVhZHkgdG8gYmUgYXV0b3BsdWcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzoKCSAgRGVtb3RlIG1ldGFkYXRhZGVtdXggdG8gR1NUX1JBTktfTk9ORSBmb3IgdGhlIHJlbGVhc2UsIGl0J3Mgbm90CgkgIHJlYWR5IHRvIGJlIGF1dG9wbHVnZ2VkIHlldC4KCSAgKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgRml4IHByaW50ZiBmb3JtYXQgd2FybmluZyBmb3IgR1R5cGUgb24gcHBjMzIgYnkgcmVtb3ZpbmcgaXQsCgkgIHNpbmNlIGl0IGRvZXNuJ3QgbWFrZSBzZW5zZSB0byBwcmludCB0aGUgR1R5cGUgdmFsdWUgYW55d2F5LgoKMjAwOC0wMi0wMiAyMDoyMjoxOSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhX21hcHBpbmcuaHRtOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJICBNYXAgbW9yZSBFeGlmIHRhZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBNYXAgbW9yZSBFeGlmIHRhZ3MuCgoyMDA4LTAyLTAxIDE3OjA4OjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogRG9uJ3QgbGVhayBldmVudCBvbiBwYWRzIHRoYXQgYXJlIG5vdCBsaW5rZWQuIEZpeGVzICM1MTI4MjYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IChnc3Rfc2VsZWN0b3JfcGFkX2V2ZW50KToKCSAgRG9uJ3QgbGVhayBldmVudCBvbiBwYWRzIHRoYXQgYXJlIG5vdCBsaW5rZWQuIEZpeGVzICM1MTI4MjYuCgoyMDA4LTAyLTAxIDEzOjAyOjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIGNvcmUvYmFzZSByZXF1aXJlbWVudHMgdG8gcmVsZWFzZWQgdmVyc2lvbnMsIHRvIGF2b2lkIGNvbmZ1c2lvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIGNvcmUvYmFzZSByZXF1aXJlbWVudHMgdG8gcmVsZWFzZWQgdmVyc2lvbnMsIHRvIGF2b2lkIGNvbmZ1c2lvbi4KCSAgKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6IChnc3RfZGVpbnRlcmxhY2Vfc2V0X2NhcHMpOgoJICBVc2UgdGhlIG5ldyBHc3RWaWRlb0Zvcm1hdCBBUEkgdG8gZ2V0IHN0cmlkZXMsIHBsYW5lIG9mZnNldHMgZXRjLi4KCSAgRm9yIFk0MkIgd2Ugc3RpbGwgbmVlZCB0byBjYWxjdWxhdGUgdGhlc2Ugb3Vyc2VsdmVzLCBzaW5jZSB0aGUgbGliCgkgIGluIC1iYXNlIGRvZXNuJ3Qga25vdyBhYm91dCB0aGlzIGZvcm1hdCB5ZXQgYW5kIHdlIGNhbid0IGJ1bXAgdGhlCgkgIHJlcXVpcmVtZW50IHRvIENWUyByaWdodCBub3cuIEZpeCB0aGUgWTQyQiBzdHJpZGUsIG9mZnNldCBhbmQgc2l6ZQoJICBjYWxjdWxhdGlvbnMgZm9yIG9kZCB3aWR0aHMgYW5kIGhlaWdodHMgd2hpbGUgd2UncmUgYXQgaXQgdGhvdWdoCgkgICh0byBtYXRjaCB0aG9zZSBpbiB2aWRlb3Rlc3RzcmMpLgoKMjAwOC0wMS0zMSAyMTo1NTo0NCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFfbWFwcGluZy5odG06CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkgIEFkZCBkb2N1bWVudGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIGRvY3VtZW50YXRpb24uCgoyMDA4LTAxLTMxIDE3OjIwOjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6IEZpeCBjb21waWxhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6IChtZXRhZGF0YXBhcnNlX2pwZWdfcmVhZGluZyk6CgkgIEZpeCBjb21waWxhdGlvbi4KCjIwMDgtMDEtMzEgMTc6MTg6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzogUmVhbGx5IGNsZWFuIHVwIHRoZSBxdWV1ZSBpbnN0ZWFkIG9mIGp1c3QgdW5yZWZmaW5nIGFsbCBidWZmZXJzIGluIGl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzogKGdzdF9hcHBfc2lua19kaXNwb3NlKToKCSAgUmVhbGx5IGNsZWFuIHVwIHRoZSBxdWV1ZSBpbnN0ZWFkIG9mIGp1c3QgdW5yZWZmaW5nIGFsbCBidWZmZXJzCgkgIGluIGl0LgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6IChnc3RfYXBwX3NyY19iYXNlX2luaXQpLAoJICAoZ3N0X2FwcF9zcmNfY2xhc3NfaW5pdCksIChnc3RfYXBwX3NyY19pbml0KSwKCSAgKGdzdF9hcHBfc3JjX2Rpc3Bvc2UpLCAoZ3N0X2FwcF9zcmNfZmluYWxpemUpOgoJICBGaXggZGlzcG9zZS9maW5hbGl6ZS4KCjIwMDgtMDEtMzEgMTU6NTI6MTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBGaXggY29tcGlsZXIgd2FybmluZyBieSBtYWtpbmcgdGhlIGZ1bmN0aW9uIHNpZ25hdHVyZSBtYXRjaCB3aGF0IGV2ZXJ5b25lIGlzIHBhc3NpbmcgaW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfY2hhbnBvc190b19nc3QpOgoJICBGaXggY29tcGlsZXIgd2FybmluZyBieSBtYWtpbmcgdGhlIGZ1bmN0aW9uIHNpZ25hdHVyZSBtYXRjaCB3aGF0CgkgIGV2ZXJ5b25lIGlzIHBhc3NpbmcgaW4uLi4KCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgRml4IHRoZSBidWlsZCBvbiBTb2xhcmlzIGJ5IHJlbW92aW5nIEdOVSBsZCBzcGVjaWZpYyBmbGFncyB0aGF0CgkgIGxvb2sgdW5uZWNlc3NhcnkuCgoyMDA4LTAxLTMxIDEwOjE2OjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06IEFkZCBzb21lIHJlbGV2YW50IHZhcmlhYmxlcyB0byBDRkxBR1MgYW5kIExJQkFERCwgZm9yIGV4YW1wbGUgb3VyIGNvbXBpbGVyIHdhcm5pbmdzIHBhcmFtdGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJICBBZGQgc29tZSByZWxldmFudCB2YXJpYWJsZXMgdG8gQ0ZMQUdTIGFuZCBMSUJBREQsIGZvciBleGFtcGxlIG91cgoJICBjb21waWxlciB3YXJuaW5ncyBwYXJhbXRlcnMuCgkgICogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJICAoZ3N0X2Jhc2VfbWV0YWRhdGFfc3RyaXBfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2Jhc2VfbWV0YWRhdGFfY2FsY3VsYXRlX29mZnNldHMpLAoJICAoZ3N0X2Jhc2VfbWV0YWRhdGFfc3JjX2V2ZW50KSwgKGdzdF9iYXNlX21ldGFkYXRhX3NpbmtfYWN0aXZhdGUpOgoJICAqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6IChnc3RfbWV0YWRhdGFfZGVtdXhfaW5pdCksCgkgIChnc3RfbWV0YWRhdGFfZGVtdXhfc2V0X3Byb3BlcnR5KSwgKGdzdF9tZXRhZGF0YV9kZW11eF9kaXNwb3NlKToKCSAgKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzogKGdzdF9tZXRhZGF0YV9tdXhfaW5pdCksCgkgIChnc3RfbWV0YWRhdGFfbXV4X3NldF9wcm9wZXJ0eSksIChnc3RfbWV0YWRhdGFfbXV4X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfbWV0YWRhdGFfbXV4X2Rpc3Bvc2UpLAoJICAoZ3N0X21ldGFkYXRhX211eF9jcmVhdGVfY2h1bmtzX2Zyb21fdGFncyk6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6IChtZXRhZGF0YV9kaXNwb3NlKToKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkgIChtZXRhZGF0YXBhcnNlX2V4aWZfY29udGVudF9mb3JlYWNoX2VudHJ5X2Z1bmMpLAoJICAobWV0YWRhdGFtdXhfZXhpZl9mb3JfZWFjaF90YWdfaW5fbGlzdCk6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5jOgoJICAobWV0YWRhdGFtdXhfaXB0Y19mb3JfZWFjaF90YWdfaW5fbGlzdCk6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOiAobWV0YWRhdGFtdXhfanBlZ19sYXp5X3VwZGF0ZSksCgkgIChtZXRhZGF0YW11eF9qcGVnX3JlYWRpbmcpOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5jOiAobWV0YWRhdGFtdXhfcG5nX3JlYWRpbmcpOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOiAobWV0YWRhdGFwYXJzZV9qcGVnX3JlYWRpbmcpOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmM6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmg6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6IChtZXRhZGF0YXBhcnNlX3htcF90YWdfbGlzdF9hZGQpLAoJICAobWV0YWRhdGFtdXhfeG1wX2NyZWF0ZV9jaHVua19mcm9tX3RhZ19saXN0KToKCSAgRml4IGEgbWlsbGlvbiB3YXJuaW5ncyB0aGF0IHNob3dlZCB1cCBhZnRlciB0aGUgYWJvdmUgY2hhbmdlLgoKMjAwOC0wMS0zMSAwOTo1MDozMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogQWRkIGNoYW5nZXMgdG8gZ3N0c291cGh0dHBzcmMuYyB0aGF0IHdlcmUgbWlzc2luZyBmcm9tIGxhc3QgY29tbWl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoX2RvX2luaXQpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfYmFzZV9pbml0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cF9odHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3Rfc291cF9odHRwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdW5pY29kaWZ5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NhbmNlbF9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3F1ZXVlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfYWRkX3JhbmdlX2hlYWRlciksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXNzaW9uX3VucGF1c2VfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXNzaW9uX3BhdXNlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2Vzc2lvbl9jbG9zZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfaGVhZGVyc19jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfYm9keV9jYiksIChnc3Rfc291cF9odHRwX3NyY19maW5pc2hlZF9jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfY2h1bmtfY2IpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfcmVzcG9uc2VfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfcGFyc2Vfc3RhdHVzKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NyZWF0ZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zdGFydCksIChnc3Rfc291cF9odHRwX3NyY19zdG9wKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VubG9jayksIChnc3Rfc291cF9odHRwX3NyY191bmxvY2tfc3RvcCksCgkgIChnc3Rfc291cF9odHRwX3NyY19nZXRfc2l6ZSksIChnc3Rfc291cF9odHRwX3NyY19pc19zZWVrYWJsZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19kb19zZWVrKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9sb2NhdGlvbiksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXRfcHJveHkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2dldF90eXBlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9nZXRfcHJvdG9jb2xzKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9nZXRfdXJpKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9zZXRfdXJpKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9oYW5kbGVyX2luaXQpLCAocGx1Z2luX2luaXQpOgoJICBBZGQgY2hhbmdlcyB0byBnc3Rzb3VwaHR0cHNyYy5jIHRoYXQgd2VyZSBtaXNzaW5nIGZyb20gbGFzdCBjb21taXQuCgoyMDA4LTAxLTMxIDA4OjU3OjE2ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgTWFrZSBjb2Rpbmcgc3R5bGUgbW9yZSBjb25zaXN0ZW50LCBpbmNsdWRpbmcgY2xhc3MgcmVuYW1pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2Jhc2VfaW5pdCksIChnc3Rfc291cF9odHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZGlzcG9zZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VuaWNvZGlmeSksIChnc3Rfc291cF9odHRwX3NyY19jYW5jZWxfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19xdWV1ZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2FkZF9yYW5nZV9oZWFkZXIpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2Vzc2lvbl91bnBhdXNlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2Vzc2lvbl9wYXVzZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3Nlc3Npb25fY2xvc2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2hlYWRlcnNfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2JvZHlfY2IpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZmluaXNoZWRfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2NodW5rX2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3Jlc3BvbnNlX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3BhcnNlX3N0YXR1cyksIChnc3Rfc291cF9odHRwX3NyY19jcmVhdGUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc3RhcnQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfc3RvcCksCgkgIChnc3Rfc291cF9odHRwX3NyY191bmxvY2spLCAoZ3N0X3NvdXBfaHR0cF9zcmNfdW5sb2NrX3N0b3ApLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ2V0X3NpemUpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfaXNfc2Vla2FibGUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZG9fc2VlayksIChnc3Rfc291cF9odHRwX3NyY19zZXRfbG9jYXRpb24pLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X3Byb3h5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9nZXRfdHlwZSksCgkgIChnc3Rfc291cF9odHRwX3NyY191cmlfZ2V0X3Byb3RvY29scyksCgkgIChnc3Rfc291cF9odHRwX3NyY191cmlfZ2V0X3VyaSksIChnc3Rfc291cF9odHRwX3NyY191cmlfc2V0X3VyaSksCgkgIChnc3Rfc291cF9odHRwX3NyY191cmlfaGFuZGxlcl9pbml0KSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBNYWtlIGNvZGluZyBzdHlsZSBtb3JlIGNvbnNpc3RlbnQsIGluY2x1ZGluZyBjbGFzcyByZW5hbWluZy4KCjIwMDgtMDEtMzAgMjA6NTU6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IGNvbmZpZ3VyZSBjaGVjayBmb3Igc291bmR0b3VjaCB0byBub3QgcHJvZHVjZSBzeW50YXggZXJyb3JzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCBjb25maWd1cmUgY2hlY2sgZm9yIHNvdW5kdG91Y2ggdG8gbm90IHByb2R1Y2Ugc3ludGF4IGVycm9ycy4KCjIwMDgtMDEtMzAgMTk6MTk6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEZpeCBidWlsZCB3aXRoIGV4ZW1waSA+PSAxLjk5LjUgYW5kIGZpeCB0aGUgaW5jbHVkZSBwYXRoIGZvciBleGVtcGkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgKG1ldGFkYXRhbXV4X3htcF9mb3JfZWFjaF90YWdfaW5fbGlzdCk6CgkgIEZpeCBidWlsZCB3aXRoIGV4ZW1waSA+PSAxLjk5LjUgYW5kIGZpeCB0aGUgaW5jbHVkZQoJICBwYXRoIGZvciBleGVtcGkuCgoyMDA4LTAxLTMwIDE2OjUzOjQwICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJICBKdXN0IHVwdGFkZSB0aGUgVG9EbyBsaXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSnVzdCB1cHRhZGUgdGhlIFRvRG8gbGlzdC4KCjIwMDgtMDEtMzAgMTY6MDU6MjQgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdHlwZXMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdHlwZXMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkgIEFkZCBkb2N1bWVudGF0aW9uLiBTcGVlZCB1cCBhIGJpdCBwbmcgbXV4ZXIuIEZpeCB4bXAgbXV4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgZG9jdW1lbnRhdGlvbi4gU3BlZWQgdXAgYSBiaXQgcG5nIG11eGVyLiBGaXggeG1wIG11eGVyLgoKMjAwOC0wMS0zMCAxNTo0MDo0NCArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IFVwZGF0ZSBkb2N1bWVudGF0aW9uIGEgYml0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIFVwZGF0ZSBkb2N1bWVudGF0aW9uIGEgYml0LgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdsaW1hZ2VzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3dpdGNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgUmVnZW5lcmF0ZSBldmVyeXRoaW5nIGZvciB0aGUgZG9jdW1lbnRhdGlvbiBjaGFuZ2VzIHdlIGhhZC4KCjIwMDgtMDEtMzAgMTU6MzQ6MjUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9naW8vOiBVc2UgYXN5bmMgdmFyaWFudHMgb2YgdGhlIGNsb3NlIHN0cmVhbSBmdW5jdGlvbnMgdG8gcHJldmVudCBibG9ja2luZyBmb3IgYSBsb25nIHRpbWUgdGhlcmUgYW5kIGFkZCBzb21lIG1vci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzaW5rLmM6IChjbG9zZV9zdHJlYW1fY2IpLAoJICAoZ3N0X2dpb19iYXNlX3Npbmtfc3RvcCksIChnc3RfZ2lvX2Jhc2Vfc2lua19ldmVudCksCgkgIChnc3RfZ2lvX2Jhc2Vfc2lua19yZW5kZXIpLCAoZ3N0X2dpb19iYXNlX3Npbmtfc2V0X3N0cmVhbSk6CgkgICogZXh0L2dpby9nc3RnaW9iYXNlc3JjLmM6IChjbG9zZV9zdHJlYW1fY2IpLAoJICAoZ3N0X2dpb19iYXNlX3NyY19zdG9wKSwgKGdzdF9naW9fYmFzZV9zcmNfY3JlYXRlKSwKCSAgKGdzdF9naW9fYmFzZV9zcmNfc2V0X3N0cmVhbSk6CgkgIFVzZSBhc3luYyB2YXJpYW50cyBvZiB0aGUgY2xvc2Ugc3RyZWFtIGZ1bmN0aW9ucyB0byBwcmV2ZW50IGJsb2NraW5nCgkgIGZvciBhIGxvbmcgdGltZSB0aGVyZSBhbmQgYWRkIHNvbWUgbW9yZSBzYW5pdHkgY2hlY2tzIGZvciBhIGNvcnJlY3QKCSAgc3RyZWFtLgoKMjAwOC0wMS0zMCAxMzozODo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06IE1vdmUgLVdsIHBhcmFtZXRlciBmcm9tIF9MREFERCB0byBfTERGTEFHUyB0byBmaXggYXV0b2dlbi5zaC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIE1vdmUgLVdsIHBhcmFtZXRlciBmcm9tIF9MREFERCB0byBfTERGTEFHUyB0byBmaXggYXV0b2dlbi5zaC4KCjIwMDgtMDEtMzAgMTM6Mjk6MTUgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBMZXQgdGhlIHByb3h5IHByb3BlcnR5IGRlZmF1bHQgdG8gdGhlIGNvbnRlbnQgb2YgdGhlICRodHRwX3Byb3h5IGVudmlyb25tZW50IHZhcmlhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cGh0dHBfc3JjX2luaXQpOgoJICBMZXQgdGhlIHByb3h5IHByb3BlcnR5IGRlZmF1bHQgdG8gdGhlIGNvbnRlbnQgb2YgdGhlICRodHRwX3Byb3h5CgkgIGVudmlyb25tZW50IHZhcmlhYmxlLgoKMjAwOC0wMS0zMCAxMzowODo0NSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIG1pc3NpbmcgZmlsZXMgZm9yIHRoZSB1bml0IHRlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogdGVzdHMvY2hlY2svdGVzdC1jZXJ0LnBlbToKCSAgKiB0ZXN0cy9jaGVjay90ZXN0LWtleS5wZW06CgkgIEFkZCBtaXNzaW5nIGZpbGVzIGZvciB0aGUgdW5pdCB0ZXN0LgoKMjAwOC0wMS0zMCAxMzowNjowMSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCBzb3VwaHR0cHNyYyB0byB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBBZGQgc291cGh0dHBzcmMgdG8gdGhlIGRvY3MuCgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cGh0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19pbml0KSwgKGdzdF9zb3VwaHR0cF9zcmNfZGlzcG9zZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3Rfc291cGh0dHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cGh0dHBfc3JjX2NhbmNlbF9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfcXVldWVfbWVzc2FnZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX2FkZF9yYW5nZV9oZWFkZXIpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXNzaW9uX3VucGF1c2VfbWVzc2FnZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3Nlc3Npb25fcGF1c2VfbWVzc2FnZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3Nlc3Npb25fY2xvc2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19nb3RfaGVhZGVyc19jYiksIChnc3Rfc291cGh0dHBfc3JjX2dvdF9ib2R5X2NiKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfZmluaXNoZWRfY2IpLCAoZ3N0X3NvdXBodHRwX3NyY19nb3RfY2h1bmtfY2IpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19yZXNwb25zZV9jYiksIChnc3Rfc291cGh0dHBfc3JjX3BhcnNlX3N0YXR1cyksCgkgIChnc3Rfc291cGh0dHBfc3JjX2NyZWF0ZSksIChnc3Rfc291cGh0dHBfc3JjX3N0YXJ0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc3RvcCksIChnc3Rfc291cGh0dHBfc3JjX3VubG9jayksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VubG9ja19zdG9wKSwgKGdzdF9zb3VwaHR0cF9zcmNfZ2V0X3NpemUpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19pc19zZWVrYWJsZSksIChnc3Rfc291cGh0dHBfc3JjX2RvX3NlZWspLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXRfbG9jYXRpb24pLCAoZ3N0X3NvdXBodHRwX3NyY19zZXRfcHJveHkpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBsaWJzb3VwMi40IGFuZCByZXF1aXJlIGl0LiBBbHNvIGltcGxlbWVudCByZWRpcmVjdGlvbgoJICBhbmQgbWFudWFsIHByb3h5IHNwZWNpZmljYXRpb24uIEZpeGVzIGJ1ZyAjNTEwNzA4LgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgQWRkIHVuaXQgdGVzdCBmb3Igc291cGh0dHBzcmMuCgoyMDA4LTAxLTMwIDEyOjU2OjUxICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuYzoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIEFkZCBkb2N1bWVudGF0aW9uLiBGaXggdGVzdCBhcHAgY29tcGlsYXRpb24uIEZpeCBwdWxsIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgZG9jdW1lbnRhdGlvbi4gRml4IHRlc3QgYXBwIGNvbXBpbGF0aW9uLiBGaXggcHVsbCBtb2RlLgoKMjAwOC0wMS0yOSAxODo1NzoyNyArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBUcnkgdG8gZ2V0IHRoZSBuZXcgY2xvY2stcmF0ZSBmcm9tIHRoZSBidWZmZXIgY2FwcyB3aGVuIHdlIHJlY2VpdmUgYSBuZXcgcGF5bG9hZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRoaWpzIFZlcm1laXIgIDx0aGlqc3Zlcm1laXIgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgIFRyeSB0byBnZXQgdGhlIG5ldyBjbG9jay1yYXRlIGZyb20gdGhlIGJ1ZmZlciBjYXBzIHdoZW4gd2UgcmVjZWl2ZSBhIG5ldwoJICBwYXlsb2FkIHR5cGUgaW5zdGVhZCBvZiBhbHdheXMgZmlyaW5nIHRoZSBzaWduYWwuIEZpeGVzICM1MTI3NzQuCgoyMDA4LTAxLTI5IDE4OjA1OjAxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6IERlZmluZSBMT0dfTk9ORSBhbmQgZnJpZW5kcyBpZiB0aGV5J3JlIG5vdCBkZWZpbmVkIHlldC4gbWpwZWd0b29scyAxLjkuMHJjMyByZW1vdmVkIHRoZWkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICBEZWZpbmUgTE9HX05PTkUgYW5kIGZyaWVuZHMgaWYgdGhleSdyZSBub3QgZGVmaW5lZCB5ZXQuIG1qcGVndG9vbHMKCSAgMS45LjByYzMgcmVtb3ZlZCB0aGVpciBkZWZpbml0aW9ucyBidXQgd2l0aG91dCBpdCBkb2Vzbid0IG1ha2UgbXVjaAoJICBzZW5zZSB0byB3cml0ZSBhIGxvZyBoYW5kbGVyLgoKMjAwOC0wMS0yOSAxMTozMjoyNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIGJhc2UgY2xhc3NlcyBmb3IgbWV0YWRhdGEgYW5kIGVxdWFsaXplciAobm8gaW50cm9zcGVjdGlvbiB5ZXQpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMudHlwZXM6CgkgIEFkZCBiYXNlIGNsYXNzZXMgZm9yIG1ldGFkYXRhIGFuZCBlcXVhbGl6ZXIgKG5vIGludHJvc3BlY3Rpb24geWV0KS4KCjIwMDgtMDEtMjkgMDc6NDM6MjggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9tZXRhZGF0YS9SRUFETUU6IEZvcm1hdHRpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tZXRhZGF0YS9SRUFETUU6CgkgIEZvcm1hdHRpbmcuCgkgICogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIEluY2x1ZGUgc3RkbGliLmguCgoyMDA4LTAxLTI5IDA3OjM4OjMxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBSZXBsYWNlIHRoZSBzd2l0Y2ggcGx1Z2luIHdpdGggdGhlIHNlbGVjdG9yIHBsdWdpbi4gQWRkIG91dHB1dC0gc2VsZWN0b3IgYXMgdGhlIG9wcG9zaXRlIG9mIGlucHV0LXNlbGVjdG9vICh3YXMgc3dpdGMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zd2l0Y2gueG1sOgoJICAqIGdzdC9zZWxlY3Rvci8uY3ZzaWdub3JlOgoJICAqIGdzdC9zZWxlY3Rvci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmg6CgkgICogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmg6CgkgICogZ3N0L3NlbGVjdG9yL2dzdHNlbGVjdG9yLW1hcnNoYWwubGlzdDoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0c2VsZWN0b3IuYzoKCSAgKiBnc3Qvc2VsZWN0b3Ivc2VsZWN0b3IudmNwcm9qOgoJICAqIGdzdC9zd2l0Y2gvLmN2c2lnbm9yZToKCSAgKiBnc3Qvc3dpdGNoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLW1hcnNoYWwubGlzdDoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmg6CgkgICogZ3N0L3N3aXRjaC9zd2l0Y2gudmNwcm9qOgoJICAqIHRlc3RzL2ljbGVzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvb3V0cHV0LXNlbGVjdG9yLXRlc3QuYzoKCSAgUmVwbGFjZSB0aGUgc3dpdGNoIHBsdWdpbiB3aXRoIHRoZSBzZWxlY3RvciBwbHVnaW4uIEFkZCBvdXRwdXQtCgkgIHNlbGVjdG9yIGFzIHRoZSBvcHBvc2l0ZSBvZiBpbnB1dC1zZWxlY3RvbyAod2FzIHN3aXRjaCkuIEFkZCBhIHRlc3QKCSAgZm9yIG91dHB1dC1zZWxlY3Rvci4gQWRkIGRvY3MgZm9yIHRoZSBlbGVtZW50cy4gVGhlIHZjcHJvaiBuZWVkcwoJICB1cGRhdGUuIEZpeGVzICM1MDAxNDIuCgoyMDA4LTAxLTI4IDIzOjE4OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogVHJ5IHRvIGF2b2lkICd1bnVzZWQgdmFyaWFibGUnIGNvbXBpbGVyIHdhcm5pbmcgaWYgZGVidWdnaW5nIGlzIGRpc2FibGVkIChub3QgYnVsbGV0IHByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IChnc3RfaDI2NF9wYXJzZV9jaGFpbl9mb3J3YXJkKToKCSAgVHJ5IHRvIGF2b2lkICd1bnVzZWQgdmFyaWFibGUnIGNvbXBpbGVyIHdhcm5pbmcgaWYgZGVidWdnaW5nIGlzCgkgIGRpc2FibGVkIChub3QgYnVsbGV0IHByb29mLCBidXQgc2VlbXMgdG8gZG8gZm9yIG5vdykuICgjNTEyNjU0KQoKMjAwOC0wMS0yOCAxMTo0NzoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOiBDbGVhbiB1cCBhIGJpdCBhbmQgb25seSBhbGxvY2F0ZSBhIHRlbXBvcmFyeSBidWZmZXIgZm9yIHRoZSBkYXRhIGlmIHByb2Nlc3Npbmcgc3RlcmVvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSAgQ2xlYW4gdXAgYSBiaXQgYW5kIG9ubHkgYWxsb2NhdGUgYSB0ZW1wb3JhcnkgYnVmZmVyIGZvciB0aGUgZGF0YQoJICBpZiBwcm9jZXNzaW5nIHN0ZXJlbyBkYXRhIGFzIEJQTURldGVjdCBkb3dubWl4ZXMgZnJvbSBzdGVyZW8gdG8KCSAgbW9ubyBhbmQgc3RvcmVzIHRoZSByZXN1bHQgaW4gdGhlIGlucHV0IGRhdGEuIFRoYW5rcyB0bwoJICBTdGVmYW4gS29zdCBmb3IgdGhlIHN1Z2dlc3Rpb25zLgoKMjAwOC0wMS0yNyAxNzowMjoyNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6IENhc3QgYSBkb3VibGUgdG8gYSBHc3RDbG9ja1RpbWVEaWZmIHRvIGZpeCBhIGNvbXBpbGVyIHdhcm5pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBDYXN0IGEgZG91YmxlIHRvIGEgR3N0Q2xvY2tUaW1lRGlmZiB0byBmaXggYSBjb21waWxlciB3YXJuaW5nLgoKMjAwOC0wMS0yNyAxNjoxMjo0NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6IFByaW50ZiBmb3JtYXQgZml4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgUHJpbnRmIGZvcm1hdCBmaXguCgoyMDA4LTAxLTI3IDA3OjUxOjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzogRG9uJ3Qgc2VuZCBhIExBVEVOQ1kgZXZlbnQgZm9yIG5vdyB1bnRpbCB3ZSBnZXQgdGhlIHVzYWdlIHJpZ2h0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgRG9uJ3Qgc2VuZCBhIExBVEVOQ1kgZXZlbnQgZm9yIG5vdyB1bnRpbCB3ZSBnZXQgdGhlIHVzYWdlIHJpZ2h0LgoKMjAwOC0wMS0yNyAwNzozNzo0MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guKjogSW1wbGVtZW50IExBVEVOQ1kgcXVlcnkgYW5kIG5vdGlmeSBhYm91dCBsYXRlbmN5IGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmhoOgoJICBJbXBsZW1lbnQgTEFURU5DWSBxdWVyeSBhbmQgbm90aWZ5IGFib3V0IGxhdGVuY3kgY2hhbmdlcy4KCSAgVW5mb3J0dW5hdGVseSB3ZSBkb24ndCBoYXZlIGEgZml4ZWQgbGF0ZW5jeSBidXQgaXQgY2hhbmdlcwoJICBhIGJpdCB3aXRoIGVhY2ggYnVmZmVyIHNvIHdlIG9ubHkgc2VuZCBhbiBMQVRFTkNZIGV2ZW50IHdpdGgKCSAgdGhlIG1heGltdW0gbGF0ZW5jeSBpZiBpdCBjaGFuZ2VzLgoJICBBbHdheXMgY2FsY3VsYXRlIHRoZSB0aW1lc3RhbXAsIGR1cmF0aW9uLCBldGMgZnJvbSB0aGUgc2FtcGxlCgkgIHJhdGUgaW5zdGVhZCBvZiB1c2luZyBhIHByZS1jYWxjdWxhdGVkIGR1cmF0aW9uIGZvciBvbmUgc2FtcGxlCgkgIHRvIHByZXZlbnQgbGFyZ2Ugcm91bmRpbmcgZXJyb3JzLgoKMjAwOC0wMS0yNyAwNzozMjoxOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIHN1cHBvcnQgZm9yIGJ1aWxkaW5nIGFnYWluc3QgbWpwZWd0b29scyAxLjkgd2hpbGUga2VlcGluZyBjb21wYXRpYmxpdHkgd2l0aCBvbGRlciB2ZXJzaW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6CgkgIEhhbnMgZGUgR29lZGUgPGogZG90IHcgZG90IHIgZG90IGRlZ29lZGUgYXQgaGhzIGRvdCBubD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb2Rlci5jYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmNjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuaGg6CgkgIEFkZCBzdXBwb3J0IGZvciBidWlsZGluZyBhZ2FpbnN0IG1qcGVndG9vbHMgMS45IHdoaWxlIGtlZXBpbmcKCSAgY29tcGF0aWJsaXR5IHdpdGggb2xkZXIgdmVyc2lvbnMuCgoyMDA4LTAxLTI3IDA2OjMxOjUyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6IE9ubHkgY29uc2lkZXIgYSBCUE0gdmFsdWUgYWJvdmUgMS4wIGFzIHZhbGlkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkgIE9ubHkgY29uc2lkZXIgYSBCUE0gdmFsdWUgYWJvdmUgMS4wIGFzIHZhbGlkLgoKMjAwOC0wMS0yNyAwNTo1NjowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdW5kdG91Y2gvOiBBZGQgQlBNIGRldGVjdGlvbiBwbHVnaW4gYmFzZWQgb24gU291bmRUb3VjaCdzIGxpYkJQTS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5oaDoKCSAgKiBleHQvc291bmR0b3VjaC9wbHVnaW4uYzogKHBsdWdpbl9pbml0KToKCSAgQWRkIEJQTSBkZXRlY3Rpb24gcGx1Z2luIGJhc2VkIG9uIFNvdW5kVG91Y2gncyBsaWJCUE0uCgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIEFsbG93IHNhbXBsZSByYXRlcyB1bnRpbCBNQVggaW5zdGVhZCBvZiBvbmx5IDQ4a0h6IGFuZCByZW1vdmUgdGhlCgkgIGJ1ZmZlci1mcmFtZXMgZmllbGQgZnJvbSB0aGF0IGNhcHMuCgkgIENsZWFyIHRoZSByZW1haW5pbmcgc2FtcGxlcyBjb21wbGV0ZWx5IHdoZW4gbmVjZXNzYXJ5IHRvIGdldCBpbnRvCgkgIGEgY2xlYW4gc3RhdGUgYWdhaW4uCgoyMDA4LTAxLTI2IDE2OjE5OjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogRG9uJ3QgaW1wbGVtZW50IGdldF91bml0X3NpemUoKSBvdXJzZWx2ZXMsIHRoZSBHc3RBdWRpb0ZpbHRlciBiYXNlIGNsYXNzIGFscmVhZHkgZG9lcyB0aGlzIGZvciB1cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19jbGFzc19pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpOgoJICBEb24ndCBpbXBsZW1lbnQgZ2V0X3VuaXRfc2l6ZSgpIG91cnNlbHZlcywgdGhlIEdzdEF1ZGlvRmlsdGVyIGJhc2UKCSAgY2xhc3MgYWxyZWFkeSBkb2VzIHRoaXMgZm9yIHVzLgoKMjAwOC0wMS0yNiAxNToxMjo1MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6IEFsbG93IHNlZWtpbmcgb25seSBpbiBUSU1FIGFuZCBERUZBVUxUIGZvcm1hdCwgb3RoZXIgZm9ybWF0cyB3aWxsIG5vdCB3b3JrIGFzIGV4cGVjdGVkLiBBLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBBbGxvdyBzZWVraW5nIG9ubHkgaW4gVElNRSBhbmQgREVGQVVMVCBmb3JtYXQsIG90aGVyIGZvcm1hdHMgd2lsbAoJICBub3Qgd29yayBhcyBleHBlY3RlZC4gQWxzbyBoYW5kbGUgYSBzdG9wIHBvc2l0aW9uIG9mIC0xIGNvcnJlY3RseQoJICBmb3Igc2Vla3MsIG5ld3NlZ21lbnQgZXZlbnRzIGFuZCB0aGUgcXVlcmllcy4gVGhpcyBmaXhlcyBwbGF5YmFjawoJICB3aXRoIHRoZSBwaXRjaCBlbGVtZW50IGlmIHVwc3RyZWFtIGRvZXNuJ3Qga25vdyB0aGUgZHVyYXRpb24gb3IgaGFzCgkgIC0xIGFzIHN0b3AgcG9zaXRpb24gaW4gTkVXU0VHTUVOVCBldmVudHMgZm9yIG90aGVyIHJlYXNvbnMuIEJlZm9yZQoJICBzaW1wbHkgbm90aGluZyB3YXMgcGxheWVkIGFzIHRoZSBzZWdtZW50IHdhcyBnb2luZyBmcm9tIDAgdG8gMC4KCSAgU2VuZCBhIEdTVF9NRVNTQUdFX0RVUkFUSU9OIHdoZW5ldmVyIHRoZSByYXRlIG9yIHRlbXBvIGlzIGNoYW5nZWQKCSAgc28gYXBwbGljYXRpb25zIGNhbiB1cGRhdGUgdGhlaXIgY2FjaGVkIGR1cmF0aW9uLiBGaXhlcyBidWcgIzUwMzMwOC4KCSAgU29tZSByYW5kb20gY2xlYW51cCBhbmQgbWVtb3J5IGxlYWsgY2xvc2luZy4KCjIwMDgtMDEtMjYgMTQ6MzU6MjIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9tdXNlcGFjay86IEZpcnN0IGluY2x1ZGUgdGhlIGxpYm1wY2RlYyBoZWFkZXJzIGJlZm9yZSBldmVyeXRoaW5nIGVsc2UgYXMgdGhleSAjZGVmaW5lIFRSVUUgYW5kIEZBTFNFIHVuY29uZGl0aW9uYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuaDoKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tyZWFkZXIuYzoKCSAgRmlyc3QgaW5jbHVkZSB0aGUgbGlibXBjZGVjIGhlYWRlcnMgYmVmb3JlIGV2ZXJ5dGhpbmcgZWxzZSBhcyB0aGV5CgkgICNkZWZpbmUgVFJVRSBhbmQgRkFMU0UgdW5jb25kaXRpb25hbGx5IGFuZCB3ZSBvdGhlcndpc2UgZ2V0IGNvbmZsaWN0cwoJICB3aXRoIHRoZSBvbmVzIHRoYXQgR0xpYiBkZWZpbmVzLgoKMjAwOC0wMS0yNiAxMzoyNDoxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIHN1cHBvcnQgZm9yIGxpYnNvdW5kdG91Y2ggMS4zLjEgYW5kIGFkZCBhbiB1Z2x5IHdvcmthcm91bmQgZm9yIHRoZSBoZWFkZXIgZGVmaW5pbmVkIFBBQ0tBR0UgYW5kIG90aGVyIHZhcmlhYmxlcyBmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgQWRkIHN1cHBvcnQgZm9yIGxpYnNvdW5kdG91Y2ggMS4zLjEgYW5kIGFkZCBhbiB1Z2x5IHdvcmthcm91bmQgZm9yCgkgIHRoZSBoZWFkZXIgZGVmaW5pbmVkIFBBQ0tBR0UgYW5kIG90aGVyIHZhcmlhYmxlcyBmb3Igd2hpY2ggd2UgbmVlZAoJICBvdXIgb3duIHZhbHVlcyBmcm9tIGNvbmZpZy5oLgoKMjAwOC0wMS0yNiAxMjoxMTo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQ2hlY2sgZm9yIGxpYmdsYWRlLTIuMCwgZm9yIHRoZSBtZXRhZGF0YS1lZGl0b3IgZXhhbXBsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDaGVjayBmb3IgbGliZ2xhZGUtMi4wLCBmb3IgdGhlIG1ldGFkYXRhLWVkaXRvciBleGFtcGxlLgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBPbmx5IHRyeSB0byBidWlsZCB0aGUgbWV0YWRhdGEtZWRpdG9yIGV4YW1wbGUgaWYgd2UgaGF2ZSBndGsgYW5kCgkgIGdsYWRlIChvdGhlcndpc2UgdGhlIGJ1aWxkIHdvdWxkIGp1c3QgZmFpbCAuLi4pOyBmaXggYnVpbGQgaW4KCSAgdW5pbnN0YWxsZWQgc2V0dXAuCgkgICogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6IChvbl9jZWxsX2VkaXRlZCksICh1aV9hZGRfY29sdW1ucyk6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncyAodXNlIEdMaWIgbWFjcm9zIHRvIGNhc3QgcG9pbnRlciA8LT4gaW50KS4KCjIwMDgtMDEtMjUgMTc6NDU6MjggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldXRpbC5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdHlwZXMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdHlwZXMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5oOgoJKiBleHQvbWV0YWRhdGEvdGVzdC9NYWtlZmlsZToKCSogZXh0L21ldGFkYXRhL3Rlc3QvTWV0YWRhdGFFZGl0b3JNYWluLmdsYWRlOgoJKiBleHQvbWV0YWRhdGEvdGVzdC9tZXRhZGF0YV9lZGl0b3IuYzoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuZ2xhZGU6CgkgIEFkZCBsb3Qgb2YgZG9jdW1lbnRhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBsb3Qgb2YgZG9jdW1lbnRhdGlvbi4KCjIwMDgtMDEtMjUgMTc6MzU6NDYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBPcGVuIGZyb250ZW5kIGluIE5VTEwtPlJFQURZIHNvIGNhcHMgYWJvdXQgZHZiIGFkYXB0ZXIgY2FuIGJlIHNlZW4gYnkgdGhlIGFwcC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgT3BlbiBmcm9udGVuZCBpbiBOVUxMLT5SRUFEWSBzbyBjYXBzIGFib3V0IGR2YiBhZGFwdGVyIGNhbiBiZQoJICBzZWVuIGJ5IHRoZSBhcHAuCgoyMDA4LTAxLTI1IDE2OjU4OjAwICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEFsc28gaGFuZGxlIGxpcC1zeW5jIHdoZW4gdGhlIGNsb2NrLXJhdGUgaXMgbm90IHByb3ZpZGVkIHdpdGggY2FwcyBidXQgd2l0aCBhIHNpZ25hbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGNyZWF0ZV9zdHJlYW0pLCAocGF5bG9hZF90eXBlX2NoYW5nZSksIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBBbHNvIGhhbmRsZSBsaXAtc3luYyB3aGVuIHRoZSBjbG9jay1yYXRlIGlzIG5vdCBwcm92aWRlZCB3aXRoIGNhcHMgYnV0CgkgIHdpdGggYSBzaWduYWwuCgoyMDA4LTAxLTI1IDE2OjAwOjUyICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBSZW1vdmUgdGhlIGZpeGVkIGNsb2NrLXJhdGUgZnJvbSB0aGUgaml0dGVyYnVmZmVyIGFuZCBleHRlbmQgaXQgc28gdGhhdCBhIGNsb2NrLXJhdGUgY2FuIGJlIHByb3ZpZGVkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAoY2FsY3VsYXRlX3NrZXcpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgUmVtb3ZlIHRoZSBmaXhlZCBjbG9jay1yYXRlIGZyb20gdGhlIGppdHRlcmJ1ZmZlciBhbmQgZXh0ZW5kIGl0IHNvIHRoYXQKCSAgYSBjbG9jay1yYXRlIGNhbiBiZSBwcm92aWRlZCB3aXRoIGVhY2ggYnVmZmVyIGluc3RlYWQuIEZpeGVzICM1MTE2ODYuCgoyMDA4LTAxLTI1IDE1OjQ5OjU1ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFJlbW92ZSBvbGQgdW51c2VkIHZhcmlhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfaW5pdCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIFJlbW92ZSBvbGQgdW51c2VkIHZhcmlhYmxlLgoJICBUcmFjayBwdCBvbiBpbnB1dCBidWZmZXJzIGFuZCBnZXQgdGhlIGNsb2NrLXJhdGUgd2hlbiBpdCBjaGFuZ2VzLgoJICBJZ25vcmUgcGFja2V0cyB3aXRoIHVua25vd24gY2xvY2stcmF0ZS4gU2VlICM1MTE2ODYuCgoyMDA4LTAxLTI1IDEyOjQ4OjQwICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogUG9zdCBidXMgbWVzc2FnZSBhYm91dCBhZGFwdGVyIHR5cGUgYW5kIGl0J3MgY2FwYWJpbGl0aWVzLCB3aGVuIG9wZW5pbmcgdGhlIGZyb250ZW5kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBQb3N0IGJ1cyBtZXNzYWdlIGFib3V0IGFkYXB0ZXIgdHlwZSBhbmQgaXQncyBjYXBhYmlsaXRpZXMsCgkgIHdoZW4gb3BlbmluZyB0aGUgZnJvbnRlbmQuCgkgIEFmdGVyIGZhaWxpbmcgdG8gcmVhZCBmcm9tIHRoZSBkdnIsIHBvc3QgYSBidXMgbWVzc2FnZSB0bwoJICBpbmZvcm0gdGhlIGFwcC4KCjIwMDgtMDEtMjUgMDk6NTA6MDcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOiBUaGUgbG9naWMgZm9yIHRoZSBndWFyZCBpbnRlcnZhbCBjYWxjdWxhdGlvbiB3YXMgdG90YWxseSB3cm9uZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgVGhlIGxvZ2ljIGZvciB0aGUgZ3VhcmQgaW50ZXJ2YWwgY2FsY3VsYXRpb24gd2FzIHRvdGFsbHkgd3JvbmcuCgkgIEZpeGVkLgoKMjAwOC0wMS0yNSAwMTo0NDoyNyArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiBGaXggdW5yZWYgb2YgYnVmZmVyIHVzaW5nIHRoZSB3cm9uZyBmdW5jdGlvbi4gIEZpeGVzICM1MTE5MjAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiBGaXggdW5yZWYgb2YgYnVmZmVyIHVzaW5nIHRoZQoJICB3cm9uZyBmdW5jdGlvbi4gIEZpeGVzICM1MTE5MjAKCjIwMDgtMDEtMjQgMTM6MjM6MDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IE5vdyB3ZSBoYXZlIGZ1bGwgaGllcmFyY2h5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICBOb3cgd2UgaGF2ZSBmdWxsIGhpZXJhcmNoeS4KCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJICBSZWdlbmVyYXRlLgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5oOgoJICBBZGQgZG9jIGJsb2IgZm9yIG9iamVjdCBpbnN0YW5jZS4KCjIwMDgtMDEtMjQgMTA6MTU6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBVcGRhdGUgdGhpcyB0b28sIGhvcGVmdWxseSBmaXhlcyB0aGUgZG9jcyBidWlsZCAoZG9lcyBhdCBsZWFzdCBmb3IgbWUsIGFmdGVyIG1ha2UgY2xlYW4gaW4gZG9jcy9wbHVnaW5zKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSAgVXBkYXRlIHRoaXMgdG9vLCBob3BlZnVsbHkgZml4ZXMgdGhlIGRvY3MgYnVpbGQgKGRvZXMgYXQgbGVhc3QKCSAgZm9yIG1lLCBhZnRlciBtYWtlIGNsZWFuIGluIGRvY3MvcGx1Z2lucykuCgoyMDA4LTAxLTI0IDA4OjEyOjI5ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogRml4IG5ldHdvcmsgbmFtZSBkZXNjcmlwdG9yLCB0aGUgbGVuZ3RoIGlzIGFjdHVhbGx5IHRoZSBkZXNjcmlwdG9yIGxlbmd0aCBub3Qgc3RvcmVkIGluIHRoZSBieXRlIGFmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9nc3RtcGVnZGVzYy5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIEZpeCBuZXR3b3JrIG5hbWUgZGVzY3JpcHRvciwgdGhlIGxlbmd0aCBpcyBhY3R1YWxseSB0aGUKCSAgZGVzY3JpcHRvciBsZW5ndGggbm90IHN0b3JlZCBpbiB0aGUgYnl0ZSBhZnRlci4KCSAgRml4IGJvdW5kcyBjaGVja2luZyB0byBiZSBtb3JlIGNvcnJlY3QuCgoyMDA4LTAxLTI0IDAwOjIyOjE3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogUGFyc2UgYW5kIGFkZCB0byByZWxldmFudCBidXMgbWVzc2FnZXMgdGhlIHRlcnJlc3RyaWFsIGRlbGl2ZXJ5IHN5c3RlbSBkZXNjcmlwdG9yIGFuZCB0aGUgbG9naWNhbCBjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9nc3RtcGVnZGVzYy5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIFBhcnNlIGFuZCBhZGQgdG8gcmVsZXZhbnQgYnVzIG1lc3NhZ2VzIHRoZSB0ZXJyZXN0cmlhbCBkZWxpdmVyeQoJICBzeXN0ZW0gZGVzY3JpcHRvciBhbmQgdGhlIGxvZ2ljYWwgY2hhbm5lbCBkZXNjcmlwdG9yLgoJICBEbyBib3VuZHMgY2hlY2tpbmcgb24gZGF0YSBzdG9yZWQgaW4gZGVzY3JpcHRvciBiZWZvcmUgdXNlLgoKMjAwOC0wMS0yMyAxNjozNTozNCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkgIEFkZCBzb21lIGRvY3VtZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgc29tZSBkb2N1bWVudGF0aW9uLgoKMjAwOC0wMS0yMyAxNTo1MToyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIHN1cHBvcnQgZm9yIGJ1aWxkaW5nIGFnYWluc3QgbGliZGNhICh3aXRoIHRoZSBsaWJkdHMgY29tcGF0IGhlYWRlcikuIEZpeGVzIGJ1ZyAjNTExNTMwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSAgQWRkIHN1cHBvcnQgZm9yIGJ1aWxkaW5nIGFnYWluc3QgbGliZGNhICh3aXRoIHRoZSBsaWJkdHMgY29tcGF0CgkgIGhlYWRlcikuIEZpeGVzIGJ1ZyAjNTExNTMwLgoJICBTaG91bGQgcHJvYmFibHkgYmUgcG9ydGVkIHRvIGxpYmRjYSBhcyBzb21lIHBvaW50cyBhcyBpdCdzIHRoZQoJICBzdWNjZXNzb3Igb2YgbGliZHRzLgoKMjAwOC0wMS0yMyAxNDo1OTo0NyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IERvIG5vdCBnbyBvbiBmb3JldmVyIGlmIHByb2JsZW0gd2l0aCByZWFkaW5nIGZyb20gZHZyLCByYXRoZXIgcmV0dXJuIE5VTEwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIERvIG5vdCBnbyBvbiBmb3JldmVyIGlmIHByb2JsZW0gd2l0aCByZWFkaW5nIGZyb20gZHZyLCByYXRoZXIKCSAgcmV0dXJuIE5VTEwuCgkgIEhhbmRsZSBzb21lIGNsZWFudXAgaXNzdWVzIG9mIGNsb3NpbmcgZmlsZWRlc2NyaXB0b3JzIHdoZW4KCSAgZmFpbGluZyB0byB0dW5lIG9yIHNpbWlsYXIuCgoyMDA4LTAxLTIzIDEzOjE4OjI0ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkgIEFkZCBtaXNzaW5nIG5vX2luc3QgaGVhZGVyIGZpbGVzIHRvIE1ha2VmaWxlLmFtIHNvIGRpc3Rpbmcgc3RpbGwgd29ya3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBtaXNzaW5nIG5vX2luc3QgaGVhZGVyIGZpbGVzIHRvIE1ha2VmaWxlLmFtIHNvIGRpc3Rpbmcgc3RpbGwgd29ya3MKCSAgVXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBjaGFuZ2VzCgoyMDA4LTAxLTIzIDEwOjM0OjQwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIHhpbmdoZWFkZXIgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4Lmg6CgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciB0aGUgeGluZ2hlYWRlciBwbHVnaW4uCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveGluZ211eC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBTZXQgZWxlbWVudCBzdGF0ZSB0byBQTEFZSU5HIGJlZm9yZSBkb2luZyBzb21ldGhpbmcgZWxzZS4KCjIwMDgtMDEtMjMgMTA6MTE6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHNpbXBsZSB1bml0IHRlc3QgZm9yIHRoZSB4aW5nbXV4IGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveGluZ211eC5jOiAoc2V0dXBfeGluZ211eCksCgkgIChjbGVhbnVwX3hpbmdtdXgpLCAoR1NUX1NUQVJUX1RFU1QpLCAoeGluZ211eF9zdWl0ZSksIChtYWluKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy94aW5nbXV4X3Rlc3RkYXRhLmg6CgkgIEFkZCBzaW1wbGUgdW5pdCB0ZXN0IGZvciB0aGUgeGluZ211eCBlbGVtZW50LgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogKGdlbmVyYXRlX3hpbmdfaGVhZGVyKSwKCSAgKGdzdF94aW5nX211eF9maW5hbGl6ZSksICh4aW5nX3Jlc2V0KToKCSAgRml4IGEgbWVtbGVhayBhbmQgaW52YWxpZCBzZWVrIHRhYmxlcyB3aXRoIGxlc3MgdGhhbiAxMDAgTVAzIGZyYW1lcy4KCjIwMDgtMDEtMjMgMDk6NDk6MjcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBQYXJzZWQgdGhlIHNhdGVsbGl0ZSBkZWxpdmVyeSBzeXN0ZW0gZGVzY3JpcHRvciBhbmQgYWRkZWQgaW50byBuaXQncyB0cmFuc3BvcnQgc3RydWN0dXJlIGZvciBkZWxpdmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2dzdG1wZWdkZXNjLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgUGFyc2VkIHRoZSBzYXRlbGxpdGUgZGVsaXZlcnkgc3lzdGVtIGRlc2NyaXB0b3IgYW5kCgkgIGFkZGVkIGludG8gbml0J3MgdHJhbnNwb3J0IHN0cnVjdHVyZSBmb3IgZGVsaXZlcnkKCSAgb3ZlciB0aGUgYnVzLgoKMjAwOC0wMS0yMiAyMDoyNzoyOCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6IFBhcnNlZCBhbmQgYWRkZWQgbmV0d29yayBuYW1lIHRvIHRoZSBuaXQgc3RydWN0dXJlIHNlbnQgaW4gdGhlIGJ1cyBtZXNzYWdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBQYXJzZWQgYW5kIGFkZGVkIG5ldHdvcmsgbmFtZSB0byB0aGUgbml0IHN0cnVjdHVyZSBzZW50CgkgIGluIHRoZSBidXMgbWVzc2FnZS4KCjIwMDgtMDEtMjIgMTk6NTk6MzkgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOiBSZW1vdmUgbGVha3MgaW50cm9kdWNlZCBieSBub3QgZnJlZWluZyBnX3N0cm5kdXAnZCBzdHJpbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBSZW1vdmUgbGVha3MgaW50cm9kdWNlZCBieSBub3QgZnJlZWluZyBnX3N0cm5kdXAnZCBzdHJpbmdzLgoJICBGaXggc3RhcnRfdGltZSBhbmQgZHVyYXRpb24gcGFyc2luZyBpbiBFSVQuCgoyMDA4LTAxLTIyIDE4OjQwOjE2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzogQWRkIGV2ZW50IG5hbWUgYW5kIGRlc2NyaXB0aW9uIHRvIHRoZSBlaXQgc3RydWN0dXJlIHNlbnQgaW4gdGhlIGJ1cyBtZXNzYWdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBBZGQgZXZlbnQgbmFtZSBhbmQgZGVzY3JpcHRpb24gdG8gdGhlIGVpdCBzdHJ1Y3R1cmUKCSAgc2VudCBpbiB0aGUgYnVzIG1lc3NhZ2UuCgoyMDA4LTAxLTIyIDE4OjA4OjAxICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6IFJldmVydCBjb25zdCByZW1vdmFsIGZyb20gcHJldmlvdXMgY29tbWl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgUmV2ZXJ0IGNvbnN0IHJlbW92YWwgZnJvbSBwcmV2aW91cyBjb21taXQuCgoyMDA4LTAxLTIyIDE4OjA0OjA0ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogQWRkZWQgZGVzY3JpcHRvciBzZWFyY2hpbmcgaW5mcmFzdHJ1Y3R1cmUgZnJvbSBGbHVlbmRvIFRTIGRlbXV4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZ3N0bXBlZ2Rlc2MuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZ3N0bXBlZ2Rlc2MuaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBBZGRlZCBkZXNjcmlwdG9yIHNlYXJjaGluZyBpbmZyYXN0cnVjdHVyZSBmcm9tIEZsdWVuZG8gVFMgZGVtdXhlci4KCSAgQWRkIGNoYW5uZWwgbmFtZSBhbmQgcHJvdmlkZXIgdG8gdGhlIHNkdCBzdHJ1Y3R1cmUgc2VudCBpbiB0aGUKCSAgYnVzIG1lc3NhZ2UuCgoyMDA4LTAxLTIyIDE3OjQzOjM1ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IFBhcnNlIE5BTCB1bml0cyBpbiBmb3J3YXJkIG1vZGUgdG8gbWFyayBkZWx0YSB1bml0cyBmbGFncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDEtMjIgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogKGdzdF9oMjY0X3BhcnNlX2NoYWluX2ZvcndhcmQpOgoJICBQYXJzZSBOQUwgdW5pdHMgaW4gZm9yd2FyZCBtb2RlIHRvIG1hcmsgZGVsdGEgdW5pdHMgZmxhZ3MuCgoyMDA4LTAxLTIyIDEyOjA2OjE5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBSZWdlbmVyYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgUmVnZW5lcmF0ZS4KCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHJlbW9yLnhtbDoKCSAgQWRkIHZvcmJpc2lkZWMgYWthIHRybW9yLgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkgIEFkZCBzaG9ydCBkZXNjcmlwdGlvbi4KCjIwMDgtMDEtMjIgMDk6NTU6MjMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogQWRkIG1pc3NpbmcgZW9sIFwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBBZGQgbWlzc2luZyBlb2wgXAoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIFBsYWNlIG9iamVjdCBuYW1lcyB0byBzdGFuZGFyZCBzZWN0aW9uYXMgcGx1Z2luIGRvbnQgZG9jdW1lbnQgdGhvc2UuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJICByZWdlbmVyYXRlLgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5oOgoJICBNYXJrIHByaXZhdGUgdmFycyBhbmQgYWRkIHNob3J0IGRlc2MuCgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICBBZGQgc2hvcnQgZGVzYy4KCjIwMDgtMDEtMjEgMTQ6MzM6MTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIE9uZSBsZXNzIHRvIGRvLiBJdHMgJ251dicgbm90ICdudnUnLiBBcyBhbiBleHRyYSBib251cyBJIG1lbnRpb24gd2hhdCBpdCBhY3R1YWxseSBpcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJICBPbmUgbGVzcyB0byBkby4gSXRzICdudXYnIG5vdCAnbnZ1Jy4gQXMgYW4gZXh0cmEgYm9udXMgSSBtZW50aW9uIHdoYXQKCSAgaXQgYWN0dWFsbHkgaXMuCgoyMDA4LTAxLTIxIDE0OjE5OjMyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBVcGRhdGUgbGlzdHMgYWdhaW4uIFRob3NlIHdob2xlIGNhbiBidWlsZCBpdm9yYmlzZGVjLCBteXRodHZzcmMsIG52dWRlbXV4IGFuZCB0aGVvcmFkZWNleHAsIHBsZWFzZSBjb20uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgVXBkYXRlIGxpc3RzIGFnYWluLiBUaG9zZSB3aG9sZSBjYW4gYnVpbGQgaXZvcmJpc2RlYywgbXl0aHR2c3JjLAoJICBudnVkZW11eCBhbmQgdGhlb3JhZGVjZXhwLCBwbGVhc2UgY29tbWl0IHRoZSBpbnNwZWN0L3BsdWdpbi14eHgueG1sLgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWwKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZS54bWw6CgkgIFJlcGxhY2UgdmlkZW9wYXJzZSB3aXRoIHJhd3BhcnNlLgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkgIEhlbHAgZ3RrLWRvYyB0byByZWNvZ25pemUgdGhlIG9iamVjdCBzdHJ1Y3QuCgoyMDA4LTAxLTIxIDEyOjQyOjA5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbGlicmZiL3JmYmRlY29kZXIuKjogRG9uJ3QgdXNlIGd0ay1kb2MgY29tbWVudCBzdHlsZSBmb3Igbm9uIGd0ay1kb2MgY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICBEb24ndCB1c2UgZ3RrLWRvYyBjb21tZW50IHN0eWxlIGZvciBub24gZ3RrLWRvYyBjb21tZW50cy4KCSAgTWFrZSBvbmUgc3RhdGljIGZ1bmN0aW9uIHN0YXRpYy4KCjIwMDgtMDEtMjEgMTI6MTk6MTMgKzAwMDAgIEdhYnJpZWwgQm91dmlnbmUgPGJvdXZpZ25lQG1wMy10ZWNoLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS4qOiBQcm92aWRlIDQ6MjoyIHN1cHBvcnQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBHYWJyaWVsIEJvdXZpZ25lIDxib3V2aWduZSBhdCBtcDMtdGVjaCBkb3Qgb3JnPgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOiAoZ3N0X2RlaW50ZXJsYWNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlX3NldF9jYXBzKSwKCSAgKGdzdF9kZWludGVybGFjZV90cmFuc2Zvcm1faXApLCAoZ3N0X2RlaW50ZXJsYWNlX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2VfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgUHJvdmlkZSA0OjI6MiBzdXBwb3J0CgkgIEFsc28gZGVpbnRlcmxhY2UgY2hyb21hIHBsYW5lcwoJICBBbGxvdyB0byB0dXJuIG9uL29mZiBkZWludGVybGFjaW5nCgkgIENoYW5nZSBvZiBkZWZhdWx0IHRocmVzaG9sZHMsIGluIG9yZGVyIHRvIHByb3ZpZGUgYWNjZXB0YWJsZSByZXN1bHRzCgkgIHdpdGggZGVmYXVsdCBwYXJhbXMuIEZpeGVzICM1MTEwMDEuCgoyMDA4LTAxLTIxIDExOjA0OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDogVXBkYXRlIGRvY3MgZmlsZSB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIFVwZGF0ZSBkb2NzIGZpbGUgdG9vLgoKMjAwOC0wMS0yMSAxMTowMTozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9kdmRzcHUvOiBGaXggdXAgZHZkc3B1IGVsZW1lbnQgYWdhaW4gYWZ0ZXIgcHJldmlvdXMgbmFtZXNwYWNlIG1hbmdsaW5nOiByZW5hbWUgZGVidWcgY2F0ZWdvcnkgdmFyaWFibGUgdG8gb2xkIG5hbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS1yZW5kZXIuYzogKGdzdF9kdmRfc3B1X3JlbmRlcl9zcHUpOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6IChkdmRzcHVfZGVidWcpLCAoR1NUX0NBVF9ERUZBVUxUKSwKCSAgKHN1YnBpY19zaW5rX2ZhY3RvcnkpLCAoZ3N0X2R2ZF9zcHVfYmFzZV9pbml0KSwKCSAgKGdzdF9kdmRfc3B1X2NsYXNzX2luaXQpLCAoZ3N0X2R2ZF9zcHVfaW5pdCksIChnc3RfZHZkX3NwdV9jbGVhciksCgkgIChnc3RfZHZkX3NwdV9kaXNwb3NlKSwgKGdzdF9kdmRfc3B1X2ZpbmFsaXplKSwKCSAgKGdzdF9kdmRfc3B1X2ZsdXNoX3NwdV9pbmZvKSwgKGdzdF9kdmRfc3B1X2J1ZmZlcl9hbGxvYyksCgkgIChnc3RfZHZkX3NwdV9zcmNfZXZlbnQpLCAoZ3N0X2R2ZF9zcHVfdmlkZW9fc2V0X2NhcHMpLAoJICAoZ3N0X2R2ZF9zcHVfdmlkZW9fcHJveHlfZ2V0Y2FwcyksIChnc3RfZHZkX3NwdV92aWRlb19ldmVudCksCgkgIChnc3RfZHZkX3NwdV92aWRlb19jaGFpbiksIChkdnNwdV9oYW5kbGVfdmlkX2J1ZmZlciksCgkgIChnc3RfZHZkX3NwdV9yZWRyYXdfc3RpbGwpLCAoZ3N0X2R2ZF9zcHVfcGFyc2VfY2hnX2NvbGNvbiksCgkgIChnc3RfZHZkX3NwdV9leGVjX2NtZF9ibGspLCAoZ3N0X2R2ZF9zcHVfZmluaXNoX3NwdV9idWYpLAoJICAoZ3N0X2R2ZF9zcHVfc2V0dXBfY21kX2JsayksIChnc3RfZHZkX3NwdV9oYW5kbGVfbmV3X3NwdV9idWYpLAoJICAoZ3N0X2R2ZF9zcHVfaGFuZGxlX2R2ZF9ldmVudCksIChnc3RfZHZkX3NwdV9hZHZhbmNlX3NwdSksCgkgIChnc3RfZHZkX3NwdV9jaGVja19zdGlsbF91cGRhdGVzKSwgKGdzdF9kdmRfc3B1X3N1YnBpY19jaGFpbiksCgkgIChnc3RfZHZkX3NwdV9zdWJwaWNfZXZlbnQpLCAoZ3N0X2R2ZF9zcHVfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9kdmRfc3B1X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOiAoR1NUX1RZUEVfRFZEX1NQVSk6CgkgIEZpeCB1cCBkdmRzcHUgZWxlbWVudCBhZ2FpbiBhZnRlciBwcmV2aW91cyBuYW1lc3BhY2UgbWFuZ2xpbmc6CgkgIHJlbmFtZSBkZWJ1ZyBjYXRlZ29yeSB2YXJpYWJsZSB0byBvbGQgbmFtZSwgbWF0Y2hpbmcgdGhhdCBpbgoJICBkdmRzcHUtcmVuZGVyLmMsIHRvIGF2b2lkIHVuZGVmaW5lZCBzeW1ib2wgZXJyb3Igd2hlbiBsb2FkaW5nCgkgIHRoZSBtb2R1bGU7IHNhbWUgZm9yIHRoZSBfcmVuZGVyIGZ1bmN0aW9uIGluIGR2ZHNwdS1yZW5kZXIuYzoKCSAgd2UgbXVzdCB1c2UgdGhlIHNhbWUgbmFtZSBpbiBib3RoIC5jIGZpbGVzOyBjaGFuZ2UgZnVuY3Rpb25zCgkgIG5vdyBjYWxsZWQgZ3N0Z3N0XyogYmFjayB0byBnc3RfKiBhZ2FpbjsgYW5kIHdoaWxlIHdlJ3JlIGF0IGl0LAoJICB3ZSBtYXkgYXMgd2VsbCBjYW5vbmljYWxpc2UgdGhlIG5hbWVzcGFjZSBwcm9wZXJseSwgbmFtZWx5IHRvCgkgIGdzdF9kdmRfc3B1XyouCgoyMDA4LTAxLTIxIDEwOjA2OjA4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBDb2hlcmVudCBuYW1lc3BhY2UgdXNhZ2UgYW5kIGFkZGluZyBzeW1ib2xkIGZyb20gdW51c2VkIHRvIHNlY3Rpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuaDoKCSAgQ29oZXJlbnQgbmFtZXNwYWNlIHVzYWdlIGFuZCBhZGRpbmcgc3ltYm9sZCBmcm9tIHVudXNlZCB0byBzZWN0aW9ucy4KCjIwMDgtMDEtMjEgMDk6NTc6MDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCBzeW1ib2xzIGZyb20gLXVudXNlZC50eHQgdG8gdGhlIHJpZ2h0IHBsYWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgQWRkIHN5bWJvbHMgZnJvbSAtdW51c2VkLnR4dCB0byB0aGUgcmlnaHQgcGxhY2UuCgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJICBDb2hlcmVudCBuYW1lc3BhY2UgdXNhZ2UuCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIEZpeCBicm9rZW4gWE1MIGZyYWdtZW50IGluIGRvYyBzbmlwcGV0IGV2ZW4gbW9yZS4KCjIwMDgtMDEtMjEgMDc6NTQ6MDIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogVXBkYXRlIGluY2x1ZGUgbGlzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBVcGRhdGUgaW5jbHVkZSBsaXN0LgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgIFVwZGF0ZSB4bWwgaW5jbHVkZXMuCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zd2l0Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aW1pZGl0eS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIFJlZ2VuZXJhdGUgZmlsZXMuCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIEZpeCBicm9rZW4gWE1MIGZyYWdtZW50IGluIGRvYyBzbmlwcGV0LgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIEFkZCB0ZXN0IGJpbmFyeSB0byBpZ25vcmVzLgoKMjAwOC0wMS0yMSAwNzoyMjo0NyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogRml4IHRoZSBidWlsZC4gR1NUX1RJTUVfQVJHUyB0YWtlcyBhIHRpbWVzdGFtcCBub3QgYSBidWZmZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIEZpeCB0aGUgYnVpbGQuIEdTVF9USU1FX0FSR1MgdGFrZXMgYSB0aW1lc3RhbXAgbm90IGEgYnVmZmVyLgoKMjAwOC0wMS0yMCAwNTowNzo1MiArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IFJlcG9ydCB0aGUgc2l6ZSBvZiB0aGUgc3RyZWFtIGFzIHRoZSB0b3RhbCBzaXplIGluc3RlYWQgb2YgdGhlIHJlbWFpbmluZyBDb250ZW50LUxlbmd0aCwgdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChzb3VwX2dvdF9oZWFkZXJzKToKCSAgUmVwb3J0IHRoZSBzaXplIG9mIHRoZSBzdHJlYW0gYXMgdGhlIHRvdGFsIHNpemUgaW5zdGVhZCBvZgoJICB0aGUgcmVtYWluaW5nIENvbnRlbnQtTGVuZ3RoLCB3aGljaCBpcyB3cm9uZyBhZnRlciBhIHNlZWsuCgoyMDA4LTAxLTE5IDE2OjEzOjMxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzogSGFuZGxlIGZyYW1lc2l6ZXMgPiA0MDk2IHdpdGggbXVsdGlwbGUgZnJhbWVzIHBlciBidWZmZXIgY29ycmVjdGx5IGluIHB1bGwgbW9kZSBhbmQgaGFuZGwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6IChnc3RfcmF3X3BhcnNlX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9yYXdfcGFyc2VfbG9vcCk6CgkgIEhhbmRsZSBmcmFtZXNpemVzID4gNDA5NiB3aXRoIG11bHRpcGxlIGZyYW1lcyBwZXIgYnVmZmVyIGNvcnJlY3RseQoJICBpbiBwdWxsIG1vZGUgYW5kIGhhbmRsZSBzaG9ydCByZWFkcyBiZXR0ZXIuCgkgIEFsc28gcHV0IG9mZnNldCBhbmQgb2Zmc2V0X2VuZCBvbiBvdXRnb2luZyBidWZmZXJzLgoKMjAwOC0wMS0xOSAxNTo1MzozOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6IEltcHJvdmUgaGFuZGxpbmcgb2YgdW5rbm93biBvciB0b28gc21hbGwgdXBzdHJlYW0gc2l6ZXMgaW4gcHVsbCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzogKGdzdF9yYXdfcGFyc2VfbG9vcCk6CgkgIEltcHJvdmUgaGFuZGxpbmcgb2YgdW5rbm93biBvciB0b28gc21hbGwgdXBzdHJlYW0gc2l6ZXMgaW4KCSAgcHVsbCBtb2RlLgoKMjAwOC0wMS0xOSAxNTozOTo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6IEltcHJvdmUgZGVidWdnaW5nIGEgYml0IGFuZCBmb3IgaGFuZGxpbmcgbXVsdGlwbGUgZnJhbWVzIHBlciBidWZmZXIgaW4gcHVsbCBtb2RlIGNob29zZSB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOiAoZ3N0X3Jhd19wYXJzZV9sb29wKSwKCSAgKGdzdF9yYXdfcGFyc2VfaGFuZGxlX3NlZWtfcHVzaCk6CgkgIEltcHJvdmUgZGVidWdnaW5nIGEgYml0IGFuZCBmb3IgaGFuZGxpbmcgbXVsdGlwbGUgZnJhbWVzIHBlciBidWZmZXIKCSAgaW4gcHVsbCBtb2RlIGNob29zZSB0aGUgbmV4dCBzbWFsbGVzdCBtdWx0aXBseSBvZiBmcmFtZXNpemUgYmVsb3cKCSAgNDA5NiBpbnN0ZWFkIG9mIGFsd2F5cyBoYW5kbGluZyAxMDI0IGZyYW1lcy4KCjIwMDgtMDEtMTkgMTQ6MzQ6NTAgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBDb3JyZWN0bHkgc2V0IGR1cmF0aW9uIG9uIHRoZSBHc3RCYXNlU3JjIHNlZ21lbnQgd2hlbiB3ZSBrbm93IGl0IHRvIGZpeCBmYWlsaW5nIHRoZSBkdXJhdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoc291cF9nb3RfaGVhZGVycyk6CgkgIENvcnJlY3RseSBzZXQgZHVyYXRpb24gb24gdGhlIEdzdEJhc2VTcmMgc2VnbWVudCB3aGVuIHdlIGtub3cgaXQKCSAgdG8gZml4IGZhaWxpbmcgdGhlIGR1cmF0aW9uIHF1ZXJ5LgoKMjAwOC0wMS0xOCAxNzozNzowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IFNldCB0aW1lc3RhbXBzIG1vcmUgY29ycmVjdGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOiAoZ3N0X2gyNjRfcGFyc2VfZmx1c2hfZGVjb2RlKSwKCSAgKGdzdF9oMjY0X3BhcnNlX3F1ZXVlX2J1ZmZlciksIChnc3RfaDI2NF9wYXJzZV9jaGFpbl9yZXZlcnNlKToKCSAgU2V0IHRpbWVzdGFtcHMgbW9yZSBjb3JyZWN0bHkuCgoyMDA4LTAxLTE4IDE2OjU2OjE5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuKjogSW1wbGVtZW50IHB1bGwgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6IChnc3RfcmF3X3BhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3Jhd19wYXJzZV9pbml0KSwgKGdzdF9yYXdfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X3Jhd19wYXJzZV9zZXRfc3JjX2NhcHMpLCAoZ3N0X3Jhd19wYXJzZV9wdXNoX2J1ZmZlciksCgkgIChnc3RfcmF3X3BhcnNlX2NoYWluKSwgKGdzdF9yYXdfcGFyc2VfbG9vcCksCgkgIChnc3RfcmF3X3BhcnNlX3NpbmtfYWN0aXZhdGUpLCAoZ3N0X3Jhd19wYXJzZV9zaW5rX2FjdGl2YXRlcHVsbCksCgkgIChnc3RfcmF3X3BhcnNlX2NoYW5nZV9zdGF0ZSksIChnc3RfcmF3X3BhcnNlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3Jhd19wYXJzZV9oYW5kbGVfc2Vla19wdXNoKSwgKGdzdF9yYXdfcGFyc2VfaGFuZGxlX3NlZWtfcHVsbCksCgkgIChnc3RfcmF3X3BhcnNlX3NyY19ldmVudCksIChnc3RfcmF3X3BhcnNlX3NyY19xdWVyeSk6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmg6CgkgIEltcGxlbWVudCBwdWxsIG1vZGUuCgoyMDA4LTAxLTE4IDEwOjA1OjUzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOiBGaXggbWVtb3J5IGxlYWsgc3BvdHRlZCBieSB0aGUgdW5pdCB0ZXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOiAoZ3N0X211bHRpX2ZpbGVfc3JjX2NyZWF0ZSk6CgkgIEZpeCBtZW1vcnkgbGVhayBzcG90dGVkIGJ5IHRoZSB1bml0IHRlc3QuCgoyMDA4LTAxLTE4IDA5OjU0OjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRW5hYmxlIHNwZWN0cnVtIHRlc3QgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBFbmFibGUgc3BlY3RydW0gdGVzdCBhZ2Fpbi4KCSAgKiB0ZXN0cy9jaGVjay9nc3QtcGx1Z2lucy1iYWQuc3VwcDoKCSAgQWRkIHN1cHByZXNzaW9ucyBmb3IgYSBzaW5nbGV0b24gaW4gR0lPIHRoYXQgY2FuJ3QgYmUgZnJlZWQuCgoyMDA4LTAxLTE4IDA4OjQ5OjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay86IEFkZCBzb21lIG1pbmltYWwgdGVzdHMgZm9yIHRoZSBlcXVhbGl6ZXIgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2VxdWFsaXplci5jOiAoc2V0dXBfZXF1YWxpemVyKSwKCSAgKGNsZWFudXBfZXF1YWxpemVyKSwgKEdTVF9TVEFSVF9URVNUKSwgKGVxdWFsaXplcl9zdWl0ZSksIChtYWluKToKCSAgQWRkIHNvbWUgbWluaW1hbCB0ZXN0cyBmb3IgdGhlIGVxdWFsaXplciBwbHVnaW4uCgoyMDA4LTAxLTE4IDA3OjAzOjIzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBVbnBhcmVudCBhbGwgYmFuZHMgZnJvbSB0aGUgZXF1YWxpemVyIHdoZW4gZmluYWxpemluZyB0byBzdG9wIGxlYWtpbmcJdGhlbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2ZpbmFsaXplKToKCSAgVW5wYXJlbnQgYWxsIGJhbmRzIGZyb20gdGhlIGVxdWFsaXplciB3aGVuIGZpbmFsaXppbmcgdG8gc3RvcAoJICBsZWFraW5nCXRoZW0uCgoyMDA4LTAxLTE4IDA1OjMyOjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBBZGQgc3VwcG9ydCBmb3IgV2ViREFWLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBodHRwX3NyY191cmlfZ2V0X3Byb3RvY29scyk6CgkgIEFkZCBzdXBwb3J0IGZvciBXZWJEQVYuCgoyMDA4LTAxLTE4IDA1OjI0OjM5ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuKjogQWRkIHN1cHBvcnQgZm9yIHNlZWtpbmcgdG8gc291cGh0dHBzcmMuIEZpeGVzIGJ1ZyAjNTAyMzM1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cGh0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19pbml0KSwgKGdzdF9zb3VwaHR0cF9zcmNfY3JlYXRlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfaXNfc2Vla2FibGUpLCAoZ3N0X3NvdXBodHRwX3NyY19kb19zZWVrKSwKCSAgKHNvdXBfYWRkX3JhbmdlX2hlYWRlciksIChzb3VwX2dvdF9oZWFkZXJzKSwgKHNvdXBfZ290X2NodW5rKToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBBZGQgc3VwcG9ydCBmb3Igc2Vla2luZyB0byBzb3VwaHR0cHNyYy4gRml4ZXMgYnVnICM1MDIzMzUuCgoyMDA4LTAxLTE3IDE4OjM5OjI0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuKjogSW1wcm92ZSBkZWJ1Z2dpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IChnc3RfaDI2NF9wYXJzZV9jbGVhcl9xdWV1ZXMpLAoJICAoZ3N0X2gyNjRfcGFyc2VfZmx1c2hfZGVjb2RlKSwgKGdzdF9oMjY0X3BhcnNlX3F1ZXVlX2J1ZmZlciksCgkgIChnc3RfaDI2NF9wYXJzZV9maW5kX3N0YXJ0X3JldmVyc2UpLAoJICAoZ3N0X2gyNjRfcGFyc2VfY2hhaW5fcmV2ZXJzZSksIChnc3RfaDI2NF9wYXJzZV9jaGFpbik6CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgSW1wcm92ZSBkZWJ1Z2dpbmcuCgkgIEZpeCBidWZmZXIgc3BsaXR0aW5nIGF0IHN5bmMgY29kZXMgYW5kIGxlZnRvdmVyIGJ1ZmZlciBhZnRlcgoJICBzY2FubmluZy4KCjIwMDgtMDEtMTcgMTY6MTA6NDggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkgIEZpeGVkIGFkZGluZyBFWElGIHRhZ3MgdG8gY29ycmVjdCBJRkQuIE1hcHBlZCBzb21lIFhNUCB0YWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgYWRkaW5nIEVYSUYgdGFncyB0byBjb3JyZWN0IElGRC4gTWFwcGVkIHNvbWUgWE1QIHRhZ3MuCgoyMDA4LTAxLTE2IDE4OjI4OjAwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuKjogQWRkIHJldmVyc2UgcGxheWJhY2sgc3VwcG9ydCBmb3IgY29udGFpbmVycyB0aGF0IGRvbid0IGtub3cgaG93IHRvIHByb3Blcmx5IHNlbmQgZGF0YSBiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IChnc3RfbmFsX2xpc3RfbmV3KSwKCSAgKGdzdF9uYWxfbGlzdF9wcmVwZW5kX2xpbmspLCAoZ3N0X25hbF9saXN0X2RlbGV0ZV9oZWFkKSwKCSAgKGdzdF9uYWxfYnNfaW5pdCksIChnc3RfbmFsX2JzX3JlYWQpLCAoZ3N0X25hbF9ic19lb3MpLAoJICAoZ3N0X25hbF9ic19yZWFkX3VlKSwgKGdzdF9oMjY0X3BhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X2gyNjRfcGFyc2VfaW5pdCksIChnc3RfaDI2NF9wYXJzZV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2gyNjRfcGFyc2VfZ2V0X3Byb3BlcnR5KSwgKGdzdF9oMjY0X3BhcnNlX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfaDI2NF9wYXJzZV9jbGVhcl9xdWV1ZXMpLCAoZ3N0X2gyNjRfcGFyc2VfY2hhaW5fZm9yd2FyZCksCgkgIChnc3RfaDI2NF9wYXJzZV9mbHVzaF9kZWNvZGUpLCAoZ3N0X2gyNjRfcGFyc2VfcXVldWVfYnVmZmVyKSwKCSAgKGdzdF9oMjY0X3BhcnNlX2ZpbmRfc3RhcnRfcmV2ZXJzZSksCgkgIChnc3RfaDI2NF9wYXJzZV9jaGFpbl9yZXZlcnNlKSwgKGdzdF9oMjY0X3BhcnNlX2NoYWluKSwKCSAgKGdzdF9oMjY0X3BhcnNlX3NpbmtfZXZlbnQpLCAoZ3N0X2gyNjRfcGFyc2VfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBBZGQgcmV2ZXJzZSBwbGF5YmFjayBzdXBwb3J0IGZvciBjb250YWluZXJzIHRoYXQgZG9uJ3Qga25vdyBob3cgdG8KCSAgcHJvcGVybHkgc2VuZCBkYXRhIGJldHdlZW4gSS1mcmFtZXMuCgoyMDA4LTAxLTE2IDA1OjQwOjQ4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBVcGRhdGUgZm9yIEFQSSBjaGFuZ2VzIGluIEdJTyBhbmQgcmVxdWlyZSBHSU8gMi4xNS4yIGZvciB0aGlzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2dpby5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBVcGRhdGUgZm9yIEFQSSBjaGFuZ2VzIGluIEdJTyBhbmQgcmVxdWlyZSBHSU8gMi4xNS4yIGZvciB0aGlzLgoKMjAwOC0wMS0xNCAxMDo1MjoyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiBCaXRyYXRlIGlzIDQgYml0cywgbm90IDggc28gY2hlY2sgZm9yIDB4ZSBhcyBtYXhpbXVtIHZhbHVlIGluc3RlYWQgb2YgMHhmZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiAoZ2VuZXJhdGVfeGluZ19oZWFkZXIpOgoJICBCaXRyYXRlIGlzIDQgYml0cywgbm90IDggc28gY2hlY2sgZm9yIDB4ZSBhcyBtYXhpbXVtIHZhbHVlIGluc3RlYWQKCSAgb2YgMHhmZS4KCjIwMDgtMDEtMTQgMDk6MDk6NDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogUmVtb3ZlIGFjY2lkZW50aWFsbHkgbGVmdG92ZXIgZGVidWcgcHJpbnRmLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IChnZW5lcmF0ZV94aW5nX2hlYWRlcik6CgkgIFJlbW92ZSBhY2NpZGVudGlhbGx5IGxlZnRvdmVyIGRlYnVnIHByaW50Zi4KCjIwMDgtMDEtMTQgMDg6NTY6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogQ2hvb3NlIHNtYWxsZXN0IHBvc3NpYmxlIGZyYW1lIHNpemUgZm9yIHRoZSBYaW5nIGhlYWRlciwgcHJvcGVybHkgc2V0IHRoZSB0aW1lc3RhbXAsIGR1ci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IChoYXNfeGluZ19oZWFkZXIpLAoJICAoZ2VuZXJhdGVfeGluZ19oZWFkZXIpLCAoZ3N0X3hpbmdfbXV4X2NoYWluKSwKCSAgKGdzdF94aW5nX211eF9zaW5rX2V2ZW50KToKCSAgQ2hvb3NlIHNtYWxsZXN0IHBvc3NpYmxlIGZyYW1lIHNpemUgZm9yIHRoZSBYaW5nIGhlYWRlciwgcHJvcGVybHkKCSAgc2V0IHRoZSB0aW1lc3RhbXAsIGR1cmF0aW9uIGFuZCBvZmZzZXQgb24gdGhlIG91dGdvaW5nIGJ1ZmZlcnMsCgkgIG9ubHkgc2VuZCBORVdTRUdNRU5UIGV2ZW50cyBpbiBCWVRFIGZvcm1hdCBkb3duc3RyZWFtIGFuZCBhbHNvCgkgIGRyb3AgVkJSSSBoZWFkZXJzIGlmIGFscmVhZHkgZXhpc3RpbmcuCgoyMDA4LTAxLTEyIDA5OjIyOjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QveGluZ2hlYWRlci86IE1ham9yIGNsZWFudXAgYW5kIHJld3JpdGUgb2YgeGluZ211eCB3aXRoIGxlc3MgYnVncyBhbmQgbmV3IGZlYXR1cmVzOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QveGluZ2hlYWRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IChwYXJzZV9oZWFkZXIpLCAoZ2V0X3hpbmdfb2Zmc2V0KSwKCSAgKGhhc194aW5nX2hlYWRlciksIChnZW5lcmF0ZV94aW5nX2hlYWRlciksCgkgIChnc3RfeGluZ19tdXhfYmFzZV9pbml0KSwgKGdzdF94aW5nX211eF9maW5hbGl6ZSksICh4aW5nX3Jlc2V0KSwKCSAgKGdzdF94aW5nX211eF9pbml0KSwgKGdzdF94aW5nX211eF9jaGFpbiksCgkgIChnc3RfeGluZ19tdXhfc2lua19ldmVudCksIChnc3RfeGluZ19tdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4Lmg6CgkgIE1ham9yIGNsZWFudXAgYW5kIHJld3JpdGUgb2YgeGluZ211eCB3aXRoIGxlc3MgYnVncyBhbmQgbmV3IGZlYXR1cmVzOgoJICAtIEhhbmRsZXMgb3RoZXIgbGF5ZXJzIGFzIDMKCSAgLSBXcml0ZSBUT0MKCjIwMDgtMDEtMTEgMTk6MTY6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IEl0J3MgImVuZGlhbm5lc3MiLCBub3QgImVuZGlhbmVzcyIuIEZpeGVzIHVuaXQgdGVzdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKHRlc3RfYnVmZmVyX2NvbnN0X2Zsb2F0X21vbm8pLAoJICAodGVzdF9idWZmZXJfY29uc3RfZmxvYXRfc3RlcmVvKSwgKHRlc3RfYnVmZmVyX2NvbnN0X2ludDE2X21vbm8pLAoJICAodGVzdF9idWZmZXJfY29uc3RfaW50MTZfc3RlcmVvKSwgKHRlc3RfYnVmZmVyX3NxdWFyZV9mbG9hdF9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX3NxdWFyZV9mbG9hdF9zdGVyZW8pLCAodGVzdF9idWZmZXJfc3F1YXJlX2ludDE2X21vbm8pLAoJICAodGVzdF9idWZmZXJfc3F1YXJlX2ludDE2X3N0ZXJlbyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6IChjcmVhdGVfdGVzdF9idWZmZXIpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6ICh0ZXN0X2J1ZmZlcl9uZXcpOgoJICBJdCdzICJlbmRpYW5uZXNzIiwgbm90ICJlbmRpYW5lc3MiLiBGaXhlcyB1bml0IHRlc3RzLgoKMjAwOC0wMS0xMSAxNzowMjozMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogSWYgd2UgZmluZCB0aGUgY2FwcyBpbiB0aGUgY2FjaGUsIHVzZSBpdCB0byBwYXJzZSB0aGUgY2xvY2stcmF0ZSBpbnN0ZWFkIG9mIHJldHVybmluZy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xvY2tfcmF0ZSk6CgkgIElmIHdlIGZpbmQgdGhlIGNhcHMgaW4gdGhlIGNhY2hlLCB1c2UgaXQgdG8gcGFyc2UgdGhlIGNsb2NrLXJhdGUgaW5zdGVhZAoJICBvZiByZXR1cm5pbmcgYW4gZXJyb3IuIEZpeGVzIGEgVE9ETyBhcyBmb3VuZCBieSBZb3VuZXNzIEFsYW91aS4KCjIwMDgtMDEtMTEgMTY6NDU6NTcgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcnRwbWFuYWdlci86IE1ha2UgaXQgcG9zc2libGUgdG8gdXNlIGRpZmZlcmVudCB1c2VyX2RhdGEgZm9yIGVhY2ggb2YgdGhlIGNhbGxiYWNrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBZb3VuZXNzIEFsYW91aSA8eW91bmVzcyBkb3QgYWxhb3VpIGF0IGNvbGxhYm9yYSBkb3QgY28gZG90IHVrPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9zZXRfY2FsbGJhY2tzKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9wcm9jZXNzX3J0cF9jYWxsYmFjayksCgkgIChydHBfc2Vzc2lvbl9zZXRfc2VuZF9ydHBfY2FsbGJhY2spLAoJICAocnRwX3Nlc3Npb25fc2V0X3NlbmRfcnRjcF9jYWxsYmFjayksCgkgIChydHBfc2Vzc2lvbl9zZXRfc3luY19ydGNwX2NhbGxiYWNrKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9jbG9ja19yYXRlX2NhbGxiYWNrKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9yZWNvbnNpZGVyX2NhbGxiYWNrKSwgKHNvdXJjZV9wdXNoX3J0cCksCgkgIChzb3VyY2VfY2xvY2tfcmF0ZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX2J5ZSksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApLCAocnRwX3Nlc3Npb25fc2VuZF9ieWUpLAoJICAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBNYWtlIGl0IHBvc3NpYmxlIHRvIHVzZSBkaWZmZXJlbnQgdXNlcl9kYXRhIGZvciBlYWNoIG9mIHRoZSBjYWxsYmFja3MuCgkgIEZpeGVzICM1MDg1ODcuCgoyMDA4LTAxLTExIDE1OjU4OjE1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6IFNtYWxsIG1lYW5pbmdsZXNzIGNsZWFudXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOiAobXBlZ191dGlsX2ZpbmRfc3RhcnRfY29kZSk6CgkgIFNtYWxsIG1lYW5pbmdsZXNzIGNsZWFudXAuCgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6IChnc3RfbXBlZ3ZpZGVvcGFyc2VfZmx1c2gpLAoJICAobXBlZ3ZpZGVvcGFyc2VfZHJhaW5fYXZhaWwpLCAoZ3N0X21wZWd2aWRlb3BhcnNlX2NoYWluX2ZvcndhcmQpLAoJICAoc2Nhbl9rZXlmcmFtZSksIChnc3RfbXBlZ3ZpZGVvcGFyc2VfZmx1c2hfZGVjb2RlKSwKCSAgKGdzdF9tcGVndmlkZW9wYXJzZV9jaGFpbl9yZXZlcnNlKSwgKGdzdF9tcGVndmlkZW9wYXJzZV9jaGFpbiksCgkgIChtcHZfcGFyc2Vfc2lua19ldmVudCksIChnc3RfbXBlZ3ZpZGVvcGFyc2VfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuaDoKCSAgVHJhY2sgc2VnbWVudCBldmVudHMuCgkgIERvIHRoZSBmaXJzdCBwYXJ0IG9mIHJldmVyc2UgcGxheWJhY2sgYnkgc2VuZGluZyBkYXRhIGJldHdlZW4gdHdvCgkgIEktZnJhbWVzIHRvIHRoZSBkZWNvZGVyLgoKMjAwOC0wMS0xMCAyMDo1NzoxNyArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggZG9jdW1lbnRhdGlvbiBmb3IgbGF0ZXN0IHBhdGNoCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBGaXggZG9jdW1lbnRhdGlvbiBmb3IgbGF0ZXN0IHBhdGNoCgoyMDA4LTAxLTEwIDE0OjM0OjMwICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEFsbG93IHJlcXVlc3RfbmV3X3BhZCB3aXRoIG5hbWUgTlVMTCAoYnVnICM1MDg1MTUpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBBbGxvdyByZXF1ZXN0X25ld19wYWQgd2l0aCBuYW1lIE5VTEwgKGJ1ZyAjNTA4NTE1KQoKMjAwOC0wMS0xMCAxMjozNjo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgYXV0b2dlbi5zaDogQWRkIC1Xbm8tcG9ydGFiaWxpdHkgdG8gdGhlIGF1dG9tYWtlIHBhcmFtZXRlcnMgdG8gc3RvcCB3YXJuaW5ncyBhYm91dCBHTlUgbWFrZSBleHRlbnNpb25zIGJlaW5nIHVzZWQuIFdlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGF1dG9nZW4uc2g6CgkgIEFkZCAtV25vLXBvcnRhYmlsaXR5IHRvIHRoZSBhdXRvbWFrZSBwYXJhbWV0ZXJzIHRvIHN0b3Agd2FybmluZ3MKCSAgYWJvdXQgR05VIG1ha2UgZXh0ZW5zaW9ucyBiZWluZyB1c2VkLiBXZSByZXF1aXJlIEdOVSBtYWtlIGluIGFsbW9zdAoJICBldmVyeSBNYWtlZmlsZSBhbnl3YXkuCgkgICogY29uZmlndXJlLmFjOgoJICBVc2UgQU1fUFJPR19DQ19DX08gYXMgYSBjb21waWxlciB0aGF0IGFjY2VwdHMgYm90aCAtYyBhbmQgLW8KCSAgYXQgdGhlIHNhbWUgdGltZSBpcyByZXF1aXJlZCBmb3IgcGVyIHRhcmdldCBmbGFncy4KCjIwMDgtMDEtMDkgMTQ6Mzk6NDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IERvbid0IHNldCBmaXhlZCBjYXBzLCB3ZSBjYW4gYmFzaWNhbGx5IGRvIGV2ZXJ5dGhpbmcgdGhlIHVwc3RlYW0gcGVlciBwYWQgY2FuIHJlbmVnb3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoY3JlYXRlX3NlbmRfcnRwX3NpbmspOgoJICBEb24ndCBzZXQgZml4ZWQgY2Fwcywgd2UgY2FuIGJhc2ljYWxseSBkbyBldmVyeXRoaW5nIHRoZSB1cHN0ZWFtIHBlZXIKCSAgcGFkIGNhbiByZW5lZ290aWF0ZSB0by4gRml4ZXMgIzUwNzk0MC4KCjIwMDgtMDEtMDkgMTM6NTM6MjEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIE1ha2VmaWxlLmFtOiBJbmNsdWRlIGxjb3YubWFrIHRvIGFsbG93IGJ1aWxkaW5nIGNvdmVyYWdlIHJlcG9ydHMuIEFkZCB0b3AtbGV2ZWwgY2hlY2sgdGFyZ2V0cyBzaW1pbGFyIHRvIG90aGVyIGdzdCBwYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgSW5jbHVkZSBsY292Lm1hayB0byBhbGxvdyBidWlsZGluZyBjb3ZlcmFnZSByZXBvcnRzLiBBZGQgdG9wLWxldmVsCgkgIGNoZWNrIHRhcmdldHMgc2ltaWxhciB0byBvdGhlciBnc3QgcGFja2FnZXMuCgoyMDA4LTAxLTA2IDIyOjM1OjMxICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbTogQWRkIEdTVF9DRkxBR1MuICBPdGhlcndpc2Ugd2UgZG9uJ3QgZ2V0IC1XYWxsIC1XZXJyb3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSAgQWRkIEdTVF9DRkxBR1MuICBPdGhlcndpc2Ugd2UgZG9uJ3QgZ2V0IC1XYWxsIC1XZXJyb3IuCgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICBHZXR0aW5nIHRpcmVkIG9mIGRpcmVjdGZiJ3MgY2hhdHRlci4gIFF1aWV0IGl0LgoKMjAwOC0wMS0wNiAyMjowMDozMiArMDAwMCAgU2VhbiBEJ0VwYWduaWVyIDxzZWFuQGRlcGFnbmllci5jb20+CgoJICBBZGQgZmJkZXYtYmFzZWQgdmlkZW8gc2luay4gIExpbnV4LW9ubHkuICBTZWUgYnVnICM1MDY1NDkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2VhbiBEJ0VwYWduaWVyIDxzZWFuQGRlcGFnbmllci5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZmJkZXYvTWFrZWZpbGUuYW06CgkgICogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOgoJICAqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuaDoKCSAgQWRkIGZiZGV2LWJhc2VkIHZpZGVvIHNpbmsuICBMaW51eC1vbmx5LiAgU2VlIGJ1ZyAjNTA2NTQ5LgoKMjAwOC0wMS0wNiAxNjozNjozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgVXBkYXRlIHRvIEdNZW1vcnlJbnB1dFN0cmVhbSBBUEkgY2hhbmdlcyBpbiBHTGliIFNWTiBhbmQgcmVxdWlyZSBnaW8tMi4wID49IDIuMTUuMSBmb3IgdGhpcy4gRml4ZXMgYnVnICM1MDc1ODQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzcmMuYzogKGdzdF9naW9fYmFzZV9zcmNfZ2V0X3NpemUpOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9naW8uYzogKGZyZWVfaW5wdXQpLCAoR1NUX1NUQVJUX1RFU1QpOgoJICBVcGRhdGUgdG8gR01lbW9yeUlucHV0U3RyZWFtIEFQSSBjaGFuZ2VzIGluIEdMaWIgU1ZOIGFuZCByZXF1aXJlCgkgIGdpby0yLjAgPj0gMi4xNS4xIGZvciB0aGlzLiBGaXhlcyBidWcgIzUwNzU4NC4KCSAgV2UgY2FuIGFsc28gcmVwb3J0IHRoZSBkdXJhdGlvbiBmb3IgZXZlcnkgR1NlZWthYmxlLCBub3Qgb25seQoJICBHRmlsZUlucHV0U3RyZWFtIGFuZCBHTWVtb3J5SW5wdXRTdHJlYW0uCgoyMDA4LTAxLTA2IDAzOjAxOjM5ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBIYW5kbGUgeG92ZXJsYXkgZXhwb3NlcyBjb3JyZWN0bHkuICBUaGlzIG1lYW5zIGdsaW1hZ2VzaW5rIHdvcmtzIGNvcnJlY3RseSBtb3N0IG9mIHRoZSB0aW1lIGluIHRvdGVtIChmdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5Lmg6CgkgICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOgoJICBIYW5kbGUgeG92ZXJsYXkgZXhwb3NlcyBjb3JyZWN0bHkuICBUaGlzIG1lYW5zIGdsaW1hZ2VzaW5rIHdvcmtzCgkgIGNvcnJlY3RseSBtb3N0IG9mIHRoZSB0aW1lIGluIHRvdGVtIChmdWxsc2NyZWVuaW5nIGJlaW5nIGFuCgkgIGV4ZWNwdGlvbikuICBEb2Vzbid0IGhhbmRsZSBleHBvc2UgZXZlbnRzIGRpcmVjdGx5IHRvIHRoZSBHTAoJICB3aW5kb3cuCgoyMDA4LTAxLTA2IDAxOjE5OjQ4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBSZWVuYWJsZSB2aWRlby94LXJhdy1yZ2IgYW5kIHgtcmF3LXl1diBmb3IgZ2xpbWFnZXNpbmsuICBFbmFibGUgdmJsYW5rIHN5bmNocm9uaXphdGlvbi4gIFJlbW92ZSB1bnVzZWQgYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5jOgoJICAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmg6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5Lmg6CgkgICogc3lzL2dsc2luay9nc3RvcGVuZ2wuYzoKCSAgUmVlbmFibGUgdmlkZW8veC1yYXctcmdiIGFuZCB4LXJhdy15dXYgZm9yIGdsaW1hZ2VzaW5rLiAgRW5hYmxlCgkgIHZibGFuayBzeW5jaHJvbml6YXRpb24uICBSZW1vdmUgdW51c2VkIGNvZGUuCgoyMDA4LTAxLTA0IDE4OjQ3OjU3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IERvbid0IHVucmVmIHRoZSBwb3BwZWQgYnVmZmVyIHdoZW4gd2UgZG9uJ3QgaGF2ZSBvd25lcnNoaXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBEb24ndCB1bnJlZiB0aGUgcG9wcGVkIGJ1ZmZlciB3aGVuIHdlIGRvbid0IGhhdmUgb3duZXJzaGlwLgoJICBGaXhlcyAjNTA3MDIwLgoKMjAwOC0wMS0wMyAyMzozNTo1MiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS86IFJlbW92ZSBubyBsb25nZXIgbmVlZGVkIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcGF0aW5mby5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BhdGluZm8uaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwbXRpbmZvLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcG10aW5mby5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BtdHN0cmVhbWluZm8uYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwbXRzdHJlYW1pbmZvLmg6CgkgIFJlbW92ZSBubyBsb25nZXIgbmVlZGVkIGZpbGVzLgoKMjAwOC0wMS0wMiAyMDo0OToxMiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRGlzYWJsZSB2Y2RzcmMgaW4gc3RhdGVzIHRlc3QgYmVjYXVzZSBpdCB0YWtlcyB0b28gbXVjaCB0aW1lIHRvIGdldCB0byBQTEFZSU5HIGlmIGl0IGNhbiBmaW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIERpc2FibGUgdmNkc3JjIGluIHN0YXRlcyB0ZXN0IGJlY2F1c2UgaXQgdGFrZXMgdG9vIG11Y2ggdGltZQoJICB0byBnZXQgdG8gUExBWUlORyBpZiBpdCBjYW4gZmluZCBhIGRldmljZS4KCjIwMDgtMDEtMDEgMDE6MTg6MTkgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiBEb24ndCBlbWl0IHNpZ25pdHVyZSB3aGVuIGdvaW5nIHRvIFJFQURZLCBiZWNhdXNlIGl0IG1pZ2h0IG5vdCBiZSByZWFkeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJICBEb24ndCBlbWl0IHNpZ25pdHVyZSB3aGVuIGdvaW5nIHRvIFJFQURZLCBiZWNhdXNlIGl0IG1pZ2h0CgkgIG5vdCBiZSByZWFkeS4KCSAgKiBleHQvbmFzL25hc3NpbmsuYzoKCSAgUmVtb3ZlIHVzZWxlc3MgY2FsbCB0aGF0IHNsZWVwcyBmb3IgNSBzZWNvbmRzLiAgWXVwLCBpdCBjYWxscwoJICBzbGVlcCgxKSA1IHRpbWVzLiAgR28gTkFTLgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIEluaXRpYWxpemUgb3VyIGRlYnVnIGNhdGVnb3JpZXMgcHJvcGVybHkuCgkgICogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIERvbid0IHJlZ2lzdGVyIGVsZW1lbnQgZGV0YWlscyBmb3IgYSBub24tZWxlbWVudC4gIEJlIG11Y2ggbW9yZQoJICBydWRlIHdoZW4gc3ViY2xhc3MgZG9lc24ndCBzZXQgYSBwYWQgdGVtcGxhdGUgKGFzc2VydCEpLiAgRG9uJ3QKCSAgdW5yZWYgdGhlIHBhZCB0ZW1wbGF0ZTsgd2UgZG9uJ3Qgb3duIGl0LgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSAgSW5pdGlhbGl6ZSBkZWJ1ZyBjYXRlZ29yeS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgSWdub3JlIG5hc3NpbmsgZWxlbWVudCBpbiB0ZXN0cyBiZWNhdXNlIGl0IGhhcyB1bmF2b2lkYWJsZQoJICBsb25nIHRpbWVvdXRzLgoKMjAwNy0xMi0zMSAxMzoxMjowNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiBEb24ndCBjbGVhbiB1cCBwYWRzIHdoZW4gZ29pbmcgdG8gUEFVU0VELgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICBEb24ndCBjbGVhbiB1cCBwYWRzIHdoZW4gZ29pbmcgdG8gUEFVU0VELgoKMjAwNy0xMi0zMSAwNzo1NToyMyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBTd2l0Y2ggdG8gdXNpbmcgcGtnY29uZmlnIHRvIGRldGVjdCBsaWJHTC4gIFNpbmNlIHdlIHVzZSByZWNlbnQgZmVhdHVyZXMgYWRkZWQgdG8gTWVzYSwgdGhlcmUncyBubyBwb2ludCBpbiBhZGRpbmcgYSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgIFN3aXRjaCB0byB1c2luZyBwa2djb25maWcgdG8gZGV0ZWN0IGxpYkdMLiAgU2luY2Ugd2UgdXNlCgkgIHJlY2VudCBmZWF0dXJlcyBhZGRlZCB0byBNZXNhLCB0aGVyZSdzIG5vIHBvaW50IGluIGFkZGluZwoJICBhIGNoZWNrIGZvciBwcmUtcGtnY29uZmlnIHZlcnNpb25zLgoKMjAwNy0xMi0yOSAxNzozMTo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgRml4ICd4eXogbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCcgY29tcGlsZXIgd2FybmluZ3MgY2F1c2VkIGJ5IGJyb2tlbiBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpIG1hY3JvIGluIEdMaWItMi4xNS54IGFuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6IChnc3RfbGFkc3BhX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3Npbmtfc2hvd19mcmFtZSk6CgkgICogZ3N0L212ZS9nc3RtdmVtdXguYzogKGdzdF9tdmVfbXV4X3JlcXVlc3RfbmV3X3BhZCk6CgkgICogc3lzL2R2Yi9kdmJiYXNlYmluLmM6IChkdmJfYmFzZV9iaW5fY2xhc3NfaW5pdCk6CgkgIEZpeCAneHl6IG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQnIGNvbXBpbGVyIHdhcm5pbmdzIGNhdXNlZAoJICBieSBicm9rZW4gZ19hc3NlcnRfbm90X3JlYWNoZWQoKSBtYWNybyBpbiBHTGliLTIuMTUueCBhbmQgZG9uJ3QKCSAgYWJvcnQoKSBpbiBhbnkgY2FzZSBidXQgcHJvcGVybHkgcmVwb3J0IHRoZSBlcnJvci4KCjIwMDctMTItMjkgMTc6Mjk6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFVwZGF0ZSB0byBsYXRlc3QgQVBJIGNoYW5nZXMgaW4gR0xpYi9HSU8gYW5kIHJlcXVpcmUgYXQgbGVhc3QgZ2lvLTIuMCAyLjE1LjAgZm9yIHRoaXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvZ2lvL2dzdGdpby5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvLmg6CgkgICogZXh0L2dpby9nc3RnaW9iYXNlc2luay5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvYmFzZXNyYy5jOiAoZ3N0X2dpb19iYXNlX3NyY19nZXRfc2l6ZSk6CgkgICogZXh0L2dpby9nc3RnaW9iYXNlc3JjLmg6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmM6IChnc3RfZ2lvX3Npbmtfc3RhcnQpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmg6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zaW5rLmg6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zcmMuaDoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZ2lvLmM6CgkgIFVwZGF0ZSB0byBsYXRlc3QgQVBJIGNoYW5nZXMgaW4gR0xpYi9HSU8gYW5kIHJlcXVpcmUgYXQgbGVhc3QKCSAgZ2lvLTIuMCAyLjE1LjAgZm9yIHRoaXMuCgkgICogZXh0L2dpby9NYWtlZmlsZS5hbToKCSAgQWRkIEdTVF9QTFVHSU5fTERGTEFHUyB0byBMREZMQUdTLgoKMjAwNy0xMi0yOSAwMDozNzo0MSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBNYWpvciBjbGVhbnVwIG9mIGNvZGUuICBDb252ZXJ0IGdsdXBsb2FkIHRvIEJhc2VUcmFuc2Zvcm0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5jOgoJICAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmg6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xjb252ZXJ0LmM6CgkgICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkb3dubG9hZC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlcmV4YW1wbGUuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdGVzdHNyYy5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzoKCSAgTWFqb3IgY2xlYW51cCBvZiBjb2RlLiAgQ29udmVydCBnbHVwbG9hZCB0byBCYXNlVHJhbnNmb3JtLgoJICBIYW5kbGUgY2FwcyBuZWdvdGlhdGlvbiBtb3N0bHkgY29ycmVjdGx5LiAgUmVlbmFibGUgaW4gYnVpbGQuCgoyMDA3LTEyLTI4IDExOjQ0OjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3NvdXAvOiBVc2UgZ3N0X3RhZ19mcmVlZm9ybV9zdHJpbmdfdG9fdXRmOCgpIGFuZCBwb3N0IHJhZGlvIHN0YXRpb24gaW5mbyBhcyB0YWdzIG9uIHRoZSBidXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cGh0dHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VuaWNvZGlmeSksIChzb3VwX2dvdF9oZWFkZXJzKToKCSAgVXNlIGdzdF90YWdfZnJlZWZvcm1fc3RyaW5nX3RvX3V0ZjgoKSBhbmQgcG9zdCByYWRpbyBzdGF0aW9uCgkgIGluZm8gYXMgdGFncyBvbiB0aGUgYnVzLgoKMjAwNy0xMi0yNyAwNToyNjowNSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogQ2hhbmdlIGdsaW1hZ2VzaW5rIG92ZXIgdG8gdXNpbmcgR0wgYnVmZmVycy4gIFRoaXMgYnJlYWtzIGdsaW1hZ2VzaW5rIGZvciBub3JtYWwgb3BlcmF0aW9uLCBidXQgc2hvdWxkIGIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzoKCSAgQ2hhbmdlIGdsaW1hZ2VzaW5rIG92ZXIgdG8gdXNpbmcgR0wgYnVmZmVycy4gIFRoaXMgYnJlYWtzCgkgIGdsaW1hZ2VzaW5rIGZvciBub3JtYWwgb3BlcmF0aW9uLCBidXQgc2hvdWxkIGJlIGZpeGVkIHNvb24uCgoyMDA3LTEyLTI3IDA0OjE1OjI2ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBDb252ZXJ0IGdsZG93bmxvYWQgdG8gQmFzZVRyYW5zZm9ybS4gIE1ha2UgZ2xmaWx0ZXJleGFtcGxlIHZpc3VhbGx5IGludGVyZXN0aW5nLiAgQWRkIHN1cHBvcnQgZm9yIHZhcmlvdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL2dsdGVzdHNyYy5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGRvd25sb2FkLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXJleGFtcGxlLmM6CgkgICogc3lzL2dsc2luay9nc3RnbHRlc3RzcmMuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6CgkgIENvbnZlcnQgZ2xkb3dubG9hZCB0byBCYXNlVHJhbnNmb3JtLiAgTWFrZSBnbGZpbHRlcmV4YW1wbGUKCSAgdmlzdWFsbHkgaW50ZXJlc3RpbmcuICBBZGQgc3VwcG9ydCBmb3IgdmFyaW91cyBmb3JtYXRzIHRvCgkgIGRvd25sb2FkaW5nLiAgRml4IGEgZmV3IHBsYWNlcyB3aGVyZSB3ZSBsZWFrIEdMIHN0YXRlIHRvCgkgIG90aGVyIGVsZW1lbnRzIChiYWQsIGJ1dCBoYXJkIHRvIHByZXZlbnQpLgoKMjAwNy0xMi0yNyAwMDo1MjoyMyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogUmVtb3ZlIGNvZGUgdGhhdCBoYW5kbGVzIG5vbi10ZXh0dXJlIGJ1ZmZlcnMuICBBZGQgYQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL0JVR1M6CgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xjb252ZXJ0LmM6CgkgICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXJleGFtcGxlLmM6CgkgICogc3lzL2dsc2luay9nc3RnbHRlc3RzcmMuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6CgkgICogc3lzL2dsc2luay9nc3RvcGVuZ2wuYzoKCSAgUmVtb3ZlIGNvZGUgdGhhdCBoYW5kbGVzIG5vbi10ZXh0dXJlIGJ1ZmZlcnMuICBBZGQgYQoJICBHc3RHTEJ1ZmZlckZvcm1hdCB0eXBlIHRoYXQgY29ycmVzcG9uZHMgdG8gaG93IHRvIHVzZSB0aGUKCSAgdGV4dHVyZSwgbm90IHRoZSBvcmlnaW5hbCB2aWRlbyBmb3JtYXQuICBDb252ZXJ0IGdzdGZsZmlsdGVyLmMKCSAgaW50byBhIGJhc2UgY2xhc3MsIGFkZCBnbGZpbHRlcmV4YW1wbGUgYW5kIGdsY29udmVydCBlbGVtZW50cy4KCSAgKiBzeXMvZ2xzaW5rL2NvbG9yX21hdHJpeC5jOgoJICBNaW5vciByYW1ibGluZ3MgYWJvdXQgY29sb3IgY29udmVyc2lvbiBtYXRyaWNlcy4KCjIwMDctMTItMjUgMDA6MzQ6MTQgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IEFkZCBnbHRlc3RzcmMgZWxlbWVudCwgYSBkdXBsaWNhdGUgb2YgdmlkZW90ZXN0c3JjIHRoYXQgdXNlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICAqIHN5cy9nbHNpbmsvZ2x0ZXN0c3JjLmM6CgkgICogc3lzL2dsc2luay9nbHRlc3RzcmMuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkb3dubG9hZC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdGVzdHNyYy5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x0ZXN0c3JjLmg6CgkgICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0b3BlbmdsLmM6CgkgIEFkZCBnbHRlc3RzcmMgZWxlbWVudCwgYSBkdXBsaWNhdGUgb2YgdmlkZW90ZXN0c3JjIHRoYXQgdXNlcwoJICBHTCByZW5kZXJpbmcgdG8gY3JlYXRlIGltYWdlcy4gIE1vcmUgY2xlYW51cC4KCjIwMDctMTItMjQgMjE6MjY6NDAgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IENsZWFuIHVwIGNvZGUuICBGaXggYSBmZXcgbGVha3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZG93bmxvYWQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmM6CgkgIENsZWFuIHVwIGNvZGUuICBGaXggYSBmZXcgbGVha3MuCgoyMDA3LTEyLTI0IDIxOjA0OjQ2ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBSZW5hbWUgZ2x2aWRlby5bY2hdIHRvIGdzdGdsZGlzcGxheS5bY2hdLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5LmM6CgkgICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuaDoKCSAgUmVuYW1lIGdsdmlkZW8uW2NoXSB0byBnc3RnbGRpc3BsYXkuW2NoXS4KCjIwMDctMTItMjQgMjA6NTM6NTYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IFJld3JpdGUgYSBidW5jaCBvZiBjb2RlIHRvIHVzZSB0ZXh0dXJlcyBhcyB0aGUgaW50ZXJtZWRpYXRlIGluc3RlYWQgb2YgcmVuZGVyYnVmZmVycy4gIHVwbG9hZCwgZG93bmxvYWQsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmM6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZG93bmxvYWQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOgoJICBSZXdyaXRlIGEgYnVuY2ggb2YgY29kZSB0byB1c2UgdGV4dHVyZXMgYXMgdGhlIGludGVybWVkaWF0ZQoJICBpbnN0ZWFkIG9mIHJlbmRlcmJ1ZmZlcnMuICB1cGxvYWQsIGRvd25sb2FkLCBmaWx0ZXJpbmcgYWxsCgkgIHdvcmsuCgoyMDA3LTEyLTIzIDIyOjA0OjAwICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC92aWRlb3BhcnNlLzogUmVtb3ZlIHZpZGVvcGFyc2UgZWxlbWVudCwgYmVjYXVzZSBpdCB3YXMgbW92ZWQgdG8gZ3N0L3Jhd3BhcnNlLwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9wYXJzZS9SRUFETUU6CgkgICogZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICBSZW1vdmUgdmlkZW9wYXJzZSBlbGVtZW50LCBiZWNhdXNlIGl0IHdhcyBtb3ZlZCB0byBnc3QvcmF3cGFyc2UvCgoyMDA3LTEyLTIzIDEwOjM0OjM5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzogQWx3YXlzIHNlZWsgb24gZnJhbWUgYm91bmRhcmllcywgd2lsbCBwcm9kdWNlIG5vdGhpbmcgdXNlZnVsIG90aGVyd2lzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6IChnc3RfcmF3X3BhcnNlX3NyY19ldmVudCk6CgkgIEFsd2F5cyBzZWVrIG9uIGZyYW1lIGJvdW5kYXJpZXMsIHdpbGwgcHJvZHVjZSBub3RoaW5nIHVzZWZ1bAoJICBvdGhlcndpc2UuCgoyMDA3LTEyLTIzIDA2OjIyOjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgbmV3IHBsdWdpbiByYXdwYXJzZSB0aGF0IGNvbnRhaW5zIGEgYmFzZSBjbGFzcyBmb3IgcmF3IGRhdGEgcGFyc2VycyBhbmQgdGhlIHR3byBlbGVtZW50cyBhdWRpb3BhcnNlIGFuZCB2aWRlb3BhcnMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmF3cGFyc2UvUkVBRE1FOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6IChnc3RfYXVkaW9fcGFyc2VfZm9ybWF0X2dldF90eXBlKSwKCSAgKGdzdF9hdWRpb19wYXJzZV9lbmRpYW5uZXNzX2dldF90eXBlKSwgKGdzdF9hdWRpb19wYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3BhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X2F1ZGlvX3BhcnNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3BhcnNlX3NldF9wcm9wZXJ0eSksIChnc3RfYXVkaW9fcGFyc2VfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19wYXJzZV91cGRhdGVfZnJhbWVfc2l6ZSksIChnc3RfYXVkaW9fcGFyc2VfZ2V0X2NhcHMpOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmg6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6IChnc3RfcmF3X3BhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3RfcmF3X3BhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X3Jhd19wYXJzZV9pbml0KSwKCSAgKGdzdF9yYXdfcGFyc2VfZGlzcG9zZSksCgkgIChnc3RfcmF3X3BhcnNlX2NsYXNzX3NldF9zcmNfcGFkX3RlbXBsYXRlKSwKCSAgKGdzdF9yYXdfcGFyc2VfY2xhc3Nfc2V0X211bHRpcGxlX2ZyYW1lc19wZXJfYnVmZmVyKSwKCSAgKGdzdF9yYXdfcGFyc2VfcmVzZXQpLCAoZ3N0X3Jhd19wYXJzZV9jaGFpbiksCgkgIChnc3RfcmF3X3BhcnNlX2NvbnZlcnQpLCAoZ3N0X3Jhd19wYXJzZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9yYXdfcGFyc2Vfc3JjX2V2ZW50KSwgKGdzdF9yYXdfcGFyc2Vfc3JjX3F1ZXJ5X3R5cGUpLAoJICAoZ3N0X3Jhd19wYXJzZV9zcmNfcXVlcnkpLCAoZ3N0X3Jhd19wYXJzZV9zZXRfZnJhbWVzaXplKSwKCSAgKGdzdF9yYXdfcGFyc2Vfc2V0X2ZwcyksIChnc3RfcmF3X3BhcnNlX2dldF9mcHMpLAoJICAoZ3N0X3Jhd19wYXJzZV9pc19uZWdvdGlhdGVkKToKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuaDoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiAoZ3N0X3ZpZGVvX3BhcnNlX2Zvcm1hdF9nZXRfdHlwZSksCgkgIChnc3RfdmlkZW9fcGFyc2VfZW5kaWFubmVzc19nZXRfdHlwZSksIChnc3RfdmlkZW9fcGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF92aWRlb19wYXJzZV9jbGFzc19pbml0KSwgKGdzdF92aWRlb19wYXJzZV9pbml0KSwKCSAgKGdzdF92aWRlb19wYXJzZV9zZXRfcHJvcGVydHkpLCAoZ3N0X3ZpZGVvX3BhcnNlX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfdmlkZW9fcGFyc2VfZm9ybWF0X3RvX2ZvdXJjYyksCgkgIChnc3RfdmlkZW9fcGFyc2VfdXBkYXRlX2ZyYW1lX3NpemUpLCAoZ3N0X3ZpZGVvX3BhcnNlX2dldF9jYXBzKToKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5oOgoJICAqIGdzdC9yYXdwYXJzZS9wbHVnaW4uYzogKHBsdWdpbl9pbml0KToKCSAgQWRkIG5ldyBwbHVnaW4gcmF3cGFyc2UgdGhhdCBjb250YWlucyBhIGJhc2UgY2xhc3MgZm9yIHJhdyBkYXRhCgkgIHBhcnNlcnMgYW5kIHRoZSB0d28gZWxlbWVudHMgYXVkaW9wYXJzZSBhbmQgdmlkZW9wYXJzZSB0aGF0IGNhbgoJICBiZSB1c2VkIHRvIHBhcnNlIHJhdyBhdWRpbyBhbmQgdmlkZW8uIFRoZXNlIGFyZSBpbnNwaXJlZCBieSB0aGUKCSAgb2xkIHZpZGVvcGFyc2UgZWxlbWVudCB3aGljaCB0aGUgbmV3IHJhd3BhcnNlIHBsdWdpbiBkZXByZWNhdGVzLgoKMjAwNy0xMi0yMiAwNTowMTo1OCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogQSBjYXJlZnVsIHJlYWQgb2YgdGhlIGRvY3VtZW50YXRpb24gcmV2ZWFscyB0aGF0IEkgY2FuJ3QgdXNlIHJlbmRlcmJ1ZmZlcnMgYXMgdGV4dHVyZXMuICBEdWguICBDaGVja3BvaW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5oOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZG93bmxvYWQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6CgkgIEEgY2FyZWZ1bCByZWFkIG9mIHRoZSBkb2N1bWVudGF0aW9uIHJldmVhbHMgdGhhdCBJIGNhbid0IHVzZQoJICByZW5kZXJidWZmZXJzIGFzIHRleHR1cmVzLiAgRHVoLiAgQ2hlY2twb2ludCBiZWNhdXNlIEknbSBhYm91dAoJICB0byByZXdyaXRlIGEgYnVuY2ggb2YgY29kZS4KCjIwMDctMTItMjEgMTk6MDE6MDAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuYzoKCSAgU29tZSBJUFRDIHRhZ3MgbWFwcGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU29tZSBJUFRDIHRhZ3MgbWFwcGVkLgoKMjAwNy0xMi0yMSAwOTo0NTo1NiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhY29tbW9uLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWNvbW1vbi5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmg6CgkgIFJlbW92ZWQgZ3N0bWV0YWRhdGFjb21tb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZW1vdmVkIGdzdG1ldGFkYXRhY29tbW9uLgoKMjAwNy0xMi0yMSAwMDowMzoxMSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogU3dpdGNoIHRvIHVzaW5nIGZyYW1lYnVmZmVyX29iamVjdHMgaW5zdGVhZCBvZiBHTFhQaXhtYXBzLCBiZWNhdXNlIHRoYXQncyB3aGF0IG15IGRyaXZlciBzdXBwb3J0cy4gIFJlbW8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5jOgoJICAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmg6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkb3dubG9hZC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6CgkgICogc3lzL2dsc2luay9nc3RvcGVuZ2wuYzoKCSAgU3dpdGNoIHRvIHVzaW5nIGZyYW1lYnVmZmVyX29iamVjdHMgaW5zdGVhZCBvZiBHTFhQaXhtYXBzLAoJICBiZWNhdXNlIHRoYXQncyB3aGF0IG15IGRyaXZlciBzdXBwb3J0cy4gIFJlbW92ZSBHTERyYXdhYmxlLAoJICBzaW5jZSBHc3RHTERpc3BsYXkgbm93IGhhcyBhIGRlZmF1bHQgZHJhd2FibGUgYW5kIGNvbnRleHQuCgoyMDA3LTEyLTIwIDE3OjA3OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogSWdub3JlIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvLmN2c2lnbm9yZToKCSAgKiBnc3Qvc3dpdGNoLy5jdnNpZ25vcmU6CgkgIElnbm9yZSBtb3JlLgoKMjAwNy0xMi0xOSAwOTo1MDo0NyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhY29tbW9uLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWNvbW1vbi5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJKiBleHQvbWV0YWRhdGEvdGVzdC9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgTmV3IGJhc2UgY2xhc3MgZm9yIG1ldGFkYXRhIGVsZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTmV3IGJhc2UgY2xhc3MgZm9yIG1ldGFkYXRhIGVsZW1lbnRzLgoKMjAwNy0xMi0xOCAxNjowODoxMyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L3N3aXRjaC86IGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGVudW0sIGdzdF9zZWxlY3Rvcl9wYWRfY2xhc3NfaW5pdCkgKGdzdF9zZWxlY3Rvcl9wYWRfZ2V0X3Byb3BlcnR5KSAoZ3N0X3NlbGVjdG9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEyLTE4ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLW1hcnNoYWwubGlzdDoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oIChzdHJ1Y3QgX0dzdFN0cmVhbVNlbGVjdG9yQ2xhc3MpOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGVudW0sIGdzdF9zZWxlY3Rvcl9wYWRfY2xhc3NfaW5pdCkKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfZ2V0X3Byb3BlcnR5KQoJICAoZ3N0X3NlbGVjdG9yX3BhZF9nZXRfcnVubmluZ190aW1lKQoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9jbGFzc19pbml0LCBnc3Rfc2VnbWVudF9nZXRfdGltZXN0YW1wKQoJICAoZ3N0X3NlZ21lbnRfc2V0X3N0b3AsIGdzdF9zZWdtZW50X3NldF9zdGFydCkKCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3Jfc2V0X2FjdGl2ZV9wYWQsIGdzdF9zdHJlYW1fc2VsZWN0b3JfYmxvY2spCgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX3B1c2hfcGVuZGluZ19zdG9wKQoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9zd2l0Y2gpOiBDaGFuZ2Ugc28gdGhhdCB0aGUgc2lnbmFscyBhbmQKCSAgcHJvcGVydGllcyBkZWFsIGluIHJ1bm5pbmcgdGltZSwgbm90IGJ1ZmZlciB0aW1lLiBEb2N1bWVudCB0aGUKCSAgc2lnbmFscyBtb3JlLiBDaGFuZ2UgdWludDY0IGluIEFQSSB0byBpbnQ2NCwgdG8gcmVmbGVjdCB3aGF0J3MgaW4KCSAgR3N0U2VnbWVudC4KCjIwMDctMTItMTggMDk6MjY6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBNYWtlZmlsZS5hbTogSW5jbHVkZSBjb21tb24vd2luMzIubWFrIGZvciBDUkxGIGNoZWNrIG9mIHdpbjMyIHByb2plY3QgZmlsZXMgKHNlZSAjMzkzNjI2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgIEluY2x1ZGUgY29tbW9uL3dpbjMyLm1hayBmb3IgQ1JMRiBjaGVjayBvZiB3aW4zMiBwcm9qZWN0CgkgIGZpbGVzIChzZWUgIzM5MzYyNikuCgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIHJlcXVpcmVtZW50cyB0byAtYmFzZSBDVlMgZm9yIGxpYmdzdHZpZGVvIGFkZGl0aW9ucyBpbgoJICBnbGltYWdlc2luay4gRGlzYWJsZSBnbGltYWdlc2luayB1bnRpbCB0aGUgbWlzc2luZyBmaWxlcyBnZXQKCSAgY2hlY2tlZCBpbi4KCjIwMDctMTItMTggMDE6MjU6NTggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IFVzZSBuZXcgR3N0VmlkZW9Gb3JtYXQgY2hlY2tlZCBpbnRvIC1iYXNlLiAgQWRkIG5ldyBnbHVwbG9hZCBlbGVtZW50IHRvIHVwbG9hZCByYXcgdmlkZW8gaW50byBhIEdMWFBpeGJ1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdG9wZW5nbC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzoKCSAgVXNlIG5ldyBHc3RWaWRlb0Zvcm1hdCBjaGVja2VkIGludG8gLWJhc2UuICBBZGQgbmV3IGdsdXBsb2FkCgkgIGVsZW1lbnQgdG8gdXBsb2FkIHJhdyB2aWRlbyBpbnRvIGEgR0xYUGl4YnVmLiAgVW50ZXN0ZWQuICBXaWxsCgkgIGxpa2VseSBjcmFzaCB5b3VyIG1vdG9yY3ljbGUgaWYgeW91IHRyeSBpdC4KCSAgKiBzeXMvZ2xzaW5rL2dzdHZpZGVvLWNvbW1vbi5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0dmlkZW8tY29tbW9uLmg6CgkgIFJlbW92ZS4KCjIwMDctMTItMTcgMjE6MTI6MjggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuKjogV2hlbiBzdWJzZXF1ZW50IGZpbGVzIGFyZSByZWFkLCBpZiB0aGUgZmlsZSBkb2Vzbid0IGV4aXN0LCBzZW5kIGFuIEVPUyBpbnN0ZWFkIG9mIGNhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuaDoKCSAgV2hlbiBzdWJzZXF1ZW50IGZpbGVzIGFyZSByZWFkLCBpZiB0aGUgZmlsZSBkb2Vzbid0IGV4aXN0LCBzZW5kCgkgIGFuIEVPUyBpbnN0ZWFkIG9mIGNhdXNpbmcgYW4gZXJyb3IuCgoyMDA3LTEyLTE3IDE1OjA5OjE3ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc2VsZWN0b3JfcGFkX2NoYWluKTogUmV0dXJuIE9LIHdoZW4gYSBidWZmZXIgaXMgaWdub3JlZCwgbm90IE5PVF9MSU5LRUQuIE5vIHNlbnNlIGluIG1ha2kuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTItMTcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3NlbGVjdG9yX3BhZF9jaGFpbik6IFJldHVybiBPSyB3aGVuCgkgIGEgYnVmZmVyIGlzIGlnbm9yZWQsIG5vdCBOT1RfTElOS0VELiBObyBzZW5zZSBpbiBtYWtpbmcgYSBzb3VyY2UKCSAgZWxlbWVudCBlcnJvciBvdXQ7IGF0IGxlYXN0IGZkc3JjIGNvbnNpZGVycyBOT1RfTElOS0VEIHRvIGJlIGEKCSAgZmF0YWwgZXJyb3IuIFBhdGNoIDExLzEyLiBUaGVyZSBpcyBubyBwYXRjaCAxMi8xMi4gRm9vLgoKMjAwNy0xMi0xNyAxNTowNjo0OCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L3N3aXRjaC86IGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zdHJlYW1fc2VsZWN0b3JfY2xhc3NfaW5pdCkgKGdzdF9zdHJlYW1fc2VsZWN0b3JfYmxvY2spOiBNYWtlIHRoZSBibG9jaygpIHNpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEyLTE3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLW1hcnNoYWwubGlzdDoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oIChzdHJ1Y3QgX0dzdFN0cmVhbVNlbGVjdG9yQ2xhc3MpOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zdHJlYW1fc2VsZWN0b3JfY2xhc3NfaW5pdCkKCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3JfYmxvY2spOiBNYWtlIHRoZSBibG9jaygpIHNpZ25hbCByZXR1cm4gdGhlCgkgIGxhc3Qgc3RvcCB0aW1lIG9mIHRoZSBhY3RpdmUgcGFkLiBQYXRjaCAxMC8xMi4KCjIwMDctMTItMTcgMTU6MDQ6NTEgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSAgZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3NlbGVjdG9yX3BhZF9nZXRfcHJvcGVydHkpIChnc3Rfc2VsZWN0b3JfcGFkX2NsYXNzX2luaXQsIGdzdF9zdHJlYW1fc2VsZWN0b3JfY2xhc3NfaW5pdCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTItMTcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3NlbGVjdG9yX3BhZF9nZXRfcHJvcGVydHkpCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2NsYXNzX2luaXQsIGdzdF9zdHJlYW1fc2VsZWN0b3JfY2xhc3NfaW5pdCkKCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3JfZ2V0X3Byb3BlcnR5KTogRXhwb3NlICdsYXN0LXN0b3AtdGltZScgYXMgYQoJICBwYWQgcHJvcGVydHksIG5vdCBhbiBlbGVtZW50IHByb3BlcnR5LgoJICAoZ3N0X3NlbGVjdG9yX3BhZF9jaGFpbik6IE1hcmsgdGhlIGxhc3Rfc3RvcCB0aW1lIGFzIHRpbWVzdGFtcCArCgkgIGR1cmF0aW9uLCBub3QgdGltZXN0YW1wLiBQYXRjaCA5LzEyLgoKMjAwNy0xMi0xNyAxNTowMTo1NSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJICBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2NoYW5nZV9zdGF0ZSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTItMTcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9jaGFuZ2Vfc3RhdGUpCgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2Jsb2NrLCBnc3Rfc3RyZWFtX3NlbGVjdG9yX3N3aXRjaCk6IFVzZSB0aGUKCSAgY29uZCBtZWNoYW5pc20gaW5zdGVhZCBvZiBibG9ja2VkIHBhZHMuIFBhdGNoIDgvMTIuCgoyMDA3LTEyLTE3IDE1OjAwOjE1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oIChzdHJ1Y3QgX0dzdFN0cmVhbVNlbGVjdG9yKTogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl93YWl0KSAoZ3N0X3NlbGVjdG9yX3AuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTItMTcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaCAoc3RydWN0IF9Hc3RTdHJlYW1TZWxlY3Rvcik6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl93YWl0KQoJICAoZ3N0X3NlbGVjdG9yX3BhZF9jaGFpbiwgZ3N0X3N0cmVhbV9zZWxlY3Rvcl9pbml0KQoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9kaXNwb3NlKTogQWRkIGluZnJhc3RydWN0dXJlIGZvciBuZXcgYmxvY2tpbmcKCSAgbWVjaGFuaXNtIHRoYXQgZG9lcyBub3QgdXNlIGdzdF9wYWRfc2V0X2Jsb2NrZWQsIHdoaWNoIGRvZXMgbm90CgkgIHdvcmsgb24gc2luayBwYWRzLiBQYXRjaCA3LzEyLgoKMjAwNy0xMi0xNyAxNDo1ODoxOCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJICBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2NsYXNzX2luaXQpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEyLTE3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zdHJlYW1fc2VsZWN0b3JfY2xhc3NfaW5pdCkKCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3JfZ2V0X3Byb3BlcnR5KTogQWRkIGxhc3Qtc3RvcC10aW1lIHJlYWRhYmxlCgkgIHByb3BlcnR5LiBQYXRjaCA2LzEyLgoKMjAwNy0xMi0xNyAxNDo1NTo1NCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaCAoc3RydWN0IF9Hc3RTdHJlYW1TZWxlY3Rvcik6IEFkZCBzb21lIHN0YXRlIHZhcmlhYmxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTItMTcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaCAoc3RydWN0IF9Hc3RTdHJlYW1TZWxlY3Rvcik6IEFkZCBzb21lCgkgIHN0YXRlIHZhcmlhYmxlcy4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3RyZWFtX3NlbGVjdG9yX3B1c2hfcGVuZGluZ19zdG9wKQoJICAoZ3N0X3NlbGVjdG9yX3BhZF9jaGFpbik6IFB1c2ggYW55IHBlbmRpbmcgc3RvcCBldmVudC4KCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3Jfc2V0X2FjdGl2ZV9wYWQpCgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX3NldF9wcm9wZXJ0eSk6IEZhY3RvciBvdXQgc2V0dGluZyB0aGUgYWN0aXZlCgkgIHBhZCB0byBhIGZ1bmN0aW9uLiBDbG9zZSB0aGUgc2VnbWVudCBvZiB0aGUgcHJldmlvdXMgYWN0aXZlIHBhZCBpZgoJICB0b2xkIHRvIGRvIHNvIHZpYSBhIHN0b3BfdGltZSAhPSBHU1RfQ0xPQ0tfVElNRV9OT05FLgoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9zd2l0Y2gpOiBJbXBsZW1lbnQgc3dpdGNoIHZtZXRob2QuIFBhdGNoIDUvMTIuCgoyMDA3LTEyLTE3IDE0OjUyOjE0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2Jsb2NrKTogSW1wbGVtZW50IHRoZSBibG9jaygpIHNpZ25hbC4gVGhpcyBpbXBsZW1lbnRhdGlvbiB3aWxsIGJlIHJlcGxhY2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTItMTcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9ibG9jayk6IEltcGxlbWVudAoJICB0aGUgYmxvY2soKSBzaWduYWwuIFRoaXMgaW1wbGVtZW50YXRpb24gd2lsbCBiZSByZXBsYWNlZCBpbiBmdXR1cmUKCSAgcGF0Y2hlcywgaG93ZXZlci4gUGF0Y2ggNC8xMi4KCjIwMDctMTItMTcgMTQ6NDg6MjYgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmggKHN0cnVjdCBfR3N0U3RyZWFtU2VsZWN0b3JDbGFzcyk6IEZpeCB2bWV0aG9kIHByb3RvdHlwZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEyLTE3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmggKHN0cnVjdCBfR3N0U3RyZWFtU2VsZWN0b3JDbGFzcyk6IEZpeAoJICB2bWV0aG9kIHByb3RvdHlwZXMuCgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9jbGFzc19pbml0KQoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9ibG9jaywgZ3N0X3N0cmVhbV9zZWxlY3Rvcl9zd2l0Y2gpOiBBZGQgZW1wdHkKCSAgdm1ldGhvZCBkZWZpbml0aW9ucy4gUGF0Y2ggMy8xMi4KCjIwMDctMTItMTcgMTQ6NDY6MjYgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLio6IEFkZCBgYmxvY2snIGFuZCBgc3dpdGNoJyBzaWduYWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMi0xNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oIChzdHJ1Y3QgX0dzdFN0cmVhbVNlbGVjdG9yQ2xhc3MpOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zdHJlYW1fc2VsZWN0b3JfY2xhc3NfaW5pdCk6IEFkZAoJICBgYmxvY2snIGFuZCBgc3dpdGNoJyBzaWduYWxzLgoJICAqIGdzdC9zd2l0Y2gvTWFrZWZpbGUuYW06CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2gtbWFyc2hhbC5saXN0OiBBZGQgZm9vIHRvIGdlbmVyYXRlIGEKCSAgbWFyc2hhbGxlciBmb3IgdGhlIGBzd2l0Y2gnIHNpZ25hbC4gUGF0Y2ggMi8xMi4KCjIwMDctMTItMTcgMTQ6NDM6MDQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLio6IFJlcGxhY2Ugd2l0aCBmaWxlcyBmcm9tIGdzdHN0cmVhbXNlbGVjdG9yLltjaF0sIHJlZ2lzdGVyZWQgYXMgdGhlICJzd2l0Y2giIHBsdWdpbiwgd2l0aCAiR3N0Uy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMi0xNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6IFJlcGxhY2Ugd2l0aCBmaWxlcyBmcm9tCgkgIGdzdHN0cmVhbXNlbGVjdG9yLltjaF0sIHJlZ2lzdGVyZWQgYXMgdGhlICJzd2l0Y2giIHBsdWdpbiwgd2l0aAoJICAiR3N0U3dpdGNoIiB0eXBlcy4gUGF0Y2ggMS8xMi4KCjIwMDctMTItMTcgMTQ6Mzc6MzkgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgbGlic291cCBwbHVnaW4gdG8gc3BlYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGxpYnNvdXAgcGx1Z2luIHRvIHNwZWMKCjIwMDctMTItMTcgMTI6Mzc6MzYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5oOgoJKiBleHQvbWV0YWRhdGEvdGVzdC9NZXRhZGF0YUVkaXRvck1haW4uZ2xhZGU6CgkqIGV4dC9tZXRhZGF0YS90ZXN0L21ldGFkYXRhX2VkaXRvci5jOgoJICBBZGRlZCAicGFyc2Utb25seSIgcHJvcGVydHkgdG8gbWV0YWRhdGFkZW11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZGVkICJwYXJzZS1vbmx5IiBwcm9wZXJ0eSB0byBtZXRhZGF0YWRlbXV4LgoKMjAwNy0xMi0xNiAyMjo1NzoyMiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogUmVuYW1lIEdMVmlkZW8qIHRvIEdzdEdMKi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDoKCSAgUmVuYW1lIEdMVmlkZW8qIHRvIEdzdEdMKi4KCjIwMDctMTItMTYgMDA6MTY6NDYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IEFkZCB2Ymxhbmsgc3luY2hyb25pemF0aW9uLiAgSXNuJ3QgcmVhbGx5IHdvcmtpbmcgb24gbXkgZHJpdmVyLiA6KAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmM6CgkgICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzoKCSAgQWRkIHZibGFuayBzeW5jaHJvbml6YXRpb24uICBJc24ndCByZWFsbHkgd29ya2luZyBvbiBteQoJICBkcml2ZXIuIDooCgoyMDA3LTEyLTE1IDE5OjMxOjIzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBBZGQgc3VwcG9ydCBmb3IgeFJHQiwgeEJHUiwgYW5kIEFZVVYuICBSZS1hZGQgc3VwcG9ydCBmb3IgcG93ZXItb2YtMiB0ZXh0dXJlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmM6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmg6CgkgICogc3lzL2dsc2luay9nc3R2aWRlby1jb21tb24uYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdHZpZGVvLWNvbW1vbi5oOgoJICBBZGQgc3VwcG9ydCBmb3IgeFJHQiwgeEJHUiwgYW5kIEFZVVYuICBSZS1hZGQgc3VwcG9ydCBmb3IKCSAgcG93ZXItb2YtMiB0ZXh0dXJlcy4KCjIwMDctMTItMTUgMTc6NTI6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogRnJlZSB0aGUgYWRhcHRlciBvbiBkaXNwb3NlIGFuZCBjb3JyZWN0bHkgcmVzZXQgb24gbmV3c2VnbWVudCBldmVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogKGdzdF92aWRlb19wYXJzZV9kaXNwb3NlKSwKCSAgKGdzdF92aWRlb19wYXJzZV9zaW5rX2V2ZW50KToKCSAgRnJlZSB0aGUgYWRhcHRlciBvbiBkaXNwb3NlIGFuZCBjb3JyZWN0bHkgcmVzZXQgb24gbmV3c2VnbWVudCBldmVudHMuCgoyMDA3LTEyLTE1IDEzOjEwOjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6IEltcHJvdmUgZHVyYXRpb24gcXVlcnkgYnkgZmlyc3QgYXNraW5nIHVwc3RyZWFtIGFuZCBpZiBpdCBjYW4ndCBoYW5kbGUgdGhlIHF1ZXJ5IHRyeSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiAoZ3N0X3ZpZGVvX3BhcnNlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX3NyY19ldmVudCksIChnc3RfdmlkZW9fcGFyc2Vfc3JjX3F1ZXJ5KToKCSAgSW1wcm92ZSBkdXJhdGlvbiBxdWVyeSBieSBmaXJzdCBhc2tpbmcgdXBzdHJlYW0gYW5kIGlmIGl0IGNhbid0IGhhbmRsZQoJICB0aGUgcXVlcnkgdHJ5IHRvIGdldCB0aGUgZHVyYXRpb24gaW4gYnl0ZXMgZnJvbSB1cHN0cmVhbSBhbmQgY29udmVydC4KCSAgRm9yIHNlZWtzLCB0cnkgaWYgdXBzdHJlYW0gaGFuZGxlcyB0aGlzIGFscmVhZHkgZmlyc3QgYW5kIGRvIG91cgoJICBjb252ZXJzaW9uIHRvIGJ5dGUgZm9ybWF0IG9ubHkgaWYgaXQgZG9lc24ndCBhbmQgaWYgd2UgZ2V0IGEKCSAgbmV3c2VnbWVudCBldmVudCBpbiB0aW1lIGZvcm1hdCBrZWVwIGl0IGFuZCBvbmx5IGRvIG91ciBjb252ZXJzaW9ucwoJICBpZiB0aGUgZXZlbnQgaGFzIGFub3RoZXIgZm9ybWF0LgoKMjAwNy0xMi0xNSAwNzozNzoyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiBBZGQgc3VwcG9ydCBmb3IgdmlkZW8veC1yYXctcmdiIGFuZCB2aWRlby94LXJhdy1ncmF5LiBBbHNvIHNlbmQgZG93bnN0cmVhbSBlbGVtZW50cyBkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgKGdzdF92aWRlb19wYXJzZV9mb3JtYXRfZ2V0X3R5cGUpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX2VuZGlhbm5lc3NfZ2V0X3R5cGUpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X3ZpZGVvX3BhcnNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX3NldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9fcGFyc2VfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92aWRlb19wYXJzZV9mb3JtYXRfdG9fZm91cmNjKSwKCSAgKGdzdF92aWRlb19wYXJzZV91cGRhdGVfYmxvY2tfc2l6ZSksIChnc3RfdmlkZW9fcGFyc2VfY2hhaW4pLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX3NpbmtfZXZlbnQpOgoJICBBZGQgc3VwcG9ydCBmb3IgdmlkZW8veC1yYXctcmdiIGFuZCB2aWRlby94LXJhdy1ncmF5LiBBbHNvIHNlbmQKCSAgZG93bnN0cmVhbSBlbGVtZW50cyBkb3duc3RyZWFtLCBub3QgdXBzdHJlYW0uCgoyMDA3LTEyLTE1IDA2OjMzOjM3ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvZ3N0dmlkZW8tY29tbW9uLio6IFB1bGwgdG9nZXRoZXIgc29tZSBjb21tb24gcmF3IHZpZGVvIGZ1bmN0aW9ucyBpbnRvIG9uZSBsb2NhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9nc3R2aWRlby1jb21tb24uYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdHZpZGVvLWNvbW1vbi5oOgoJICBQdWxsIHRvZ2V0aGVyIHNvbWUgY29tbW9uIHJhdyB2aWRlbyBmdW5jdGlvbnMgaW50byBvbmUgbG9jYXRpb24uCgkgIFRoaXMgc2hvdWxkIGV2ZW50dWFsbHkgbW92ZSB0byAtYmFzZS4KCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmM6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmg6CgkgICogc3lzL2dsc2luay9nc3RvcGVuZ2wuYzoKCSAgVXNlIHRoZSBuZXcgdmlkZW8tY29tbW9uLmggc3R1ZmYuICBSZWFkZCBzdXBwb3J0IGZvciBSR0IgdmlkZW8uCgoyMDA3LTEyLTE0IDE4OjE4OjM3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFjb21tb24uYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhY29tbW9uLmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS90ZXN0L21ldGFkYXRhX2VkaXRvci5jOgoJICBBZGRlZCBuZXcgbW9kdWxlIGZvciBjb21tb24gZnVuY3Rpb25zLiBVc2luZyBHU1RfVFlQRV9GUkFDVElPTiBmb3IgRXhpZiAoUylSYXRpb25hbCB0eXBlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZGVkIG5ldyBtb2R1bGUgZm9yIGNvbW1vbiBmdW5jdGlvbnMuIFVzaW5nIEdTVF9UWVBFX0ZSQUNUSU9OIGZvciBFeGlmIChTKVJhdGlvbmFsIHR5cGVzLgoKMjAwNy0xMi0xNCAxNzo1MTo0OSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLio6IEhhc2ggc3RyZWFtcyBieSBwaWQgYWdhaW4uIEFkZCBhIGxpbmtlZCBsaXN0IGluc2lkZSBlYWNoIHN0cmVhbSB3aXRoIGEgbGlzdCBvZiBzdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmg6CgkgIEhhc2ggc3RyZWFtcyBieSBwaWQgYWdhaW4uIEFkZCBhIGxpbmtlZCBsaXN0IGluc2lkZSBlYWNoCgkgIHN0cmVhbSB3aXRoIGEgbGlzdCBvZiBzdWJfdGFibGVzLiBGaXggbXVsdGlwbGUgc2VjdGlvbnMKCSAgYXMgaXQgd2FzIGJvcmtlZCB3aXRoIG15IGxhc3QgY29tbWl0LgoKMjAwNy0xMi0xNCAxNjoyMzowNiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L3NwZWV4cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgIHVwZGF0ZSBzcGVjIGZpbGUgYW5kIGFkZCB0d28gbWlzc2luZyBmaWxlcyBmb3IgZGlzdGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZSBhbmQgYWRkIHR3byBtaXNzaW5nIGZpbGVzIGZvciBkaXN0aW5nCgoyMDA3LTEyLTEzIDE3OjE5OjU0ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldXRpbC5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0eXBlcy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgQ29kZSBkb2N1bWVudGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ29kZSBkb2N1bWVudGF0aW9uLgoKMjAwNy0xMi0xMyAxMjo0NTowNiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS90ZXN0L01ha2VmaWxlOgoJKiBleHQvbWV0YWRhdGEvdGVzdC9NZXRhZGF0YUVkaXRvck1haW4uZ2xhZGU6CgkqIGV4dC9tZXRhZGF0YS90ZXN0L21ldGFkYXRhX2VkaXRvci5jOgoJICBBZGRlZCBhIHRlc3QgYXBwbGljYXRpb24uIEFkZGVkIHNvbWUgRVhJRiB0YWdzLiBGaXhlZCBhIG11eGVyIGJ1Zy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZGVkIGEgdGVzdCBhcHBsaWNhdGlvbi4gQWRkZWQgc29tZSBFWElGIHRhZ3MuIEZpeGVkIGEgbXV4ZXIgYnVnLgoKMjAwNy0xMi0xMyAxMToyNTowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiBJbXBsZW1lbnQgYSBxdWVyeSB0eXBlIGZ1bmN0aW9uIGZvciB0aGUgc3JjIHBhZCwgaW1wbGVtZW50IHNlZWtpbmcgYW5kIHVzZSBBTlkgY2FwcyBmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogKGdzdF92aWRlb19wYXJzZV9pbml0KSwKCSAgKGdzdF92aWRlb19wYXJzZV9zcmNfZXZlbnQpLCAoZ3N0X3ZpZGVvX3BhcnNlX3NyY19xdWVyeV90eXBlKToKCSAgSW1wbGVtZW50IGEgcXVlcnkgdHlwZSBmdW5jdGlvbiBmb3IgdGhlIHNyYyBwYWQsIGltcGxlbWVudCBzZWVraW5nCgkgIGFuZCB1c2UgQU5ZIGNhcHMgZm9yIHRoZSBzaW5rIHBhZCBhcyB0aGUgZWxlbWVudCBkb2Vzbid0IGNhcmUgd2hhdAoJICBjYXBzIHRoZSBpbnB1dCBoYXMgYW5kIGV2ZXJ5dGhpbmcgaXMgaGFuZGxlZCB2aWEgcHJvcGVydGllcy4KCjIwMDctMTItMTMgMTA6Mzg6MjMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogSGFuZGxlIC0xIHZhbHVlcyBmb3IgdGhlIENPTlZFUlQgcXVlcnkgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6IChnc3RfdmlkZW9fcGFyc2VfY29udmVydCksCgkgIChnc3RfdmlkZW9fcGFyc2Vfc2lua19ldmVudCk6CgkgIEhhbmRsZSAtMSB2YWx1ZXMgZm9yIHRoZSBDT05WRVJUIHF1ZXJ5IHRvby4KCjIwMDctMTItMTMgMTA6MTY6NDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogQWRkIFlWMTIgdG8gdGhlIHBhZCB0ZW1wbGF0ZXMgYXMgaXQgaXMgc3VwcG9ydGVkIHRvbyBhbmQgYWxsb3cKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiAoZ3N0X3ZpZGVvX3BhcnNlX3NpbmtfZXZlbnQpOgoJICBBZGQgWVYxMiB0byB0aGUgcGFkIHRlbXBsYXRlcyBhcyBpdCBpcyBzdXBwb3J0ZWQgdG9vIGFuZCBhbGxvdwoJICAtMSBhcyBzdG9wIHBvc2l0aW9uIGZvciBORVdTRUdNRU5UIGV2ZW50cy4KCjIwMDctMTItMTMgMDg6NTQ6MDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC92aWRlb3BhcnNlL01ha2VmaWxlLmFtOiBBZGQgJChHU1RfUExVR0lOU19CQVNFX0NGTEFHUykgdG8gQ0ZMQUdTIHRvIGZpeCB0aGUgYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICBBZGQgJChHU1RfUExVR0lOU19CQVNFX0NGTEFHUykgdG8gQ0ZMQUdTIHRvIGZpeCB0aGUgYnVpbGQuCgkgICogZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiAoZ3N0X3ZpZGVvX3BhcnNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX3NldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9fcGFyc2VfZ2V0X3Byb3BlcnR5KToKCSAgVXNlIGdfdmFsdWVfW3NnXWV0X2VudW0oKSBmb3IgZW51bSBwcm9wZXJ0aWVzLCBnX3ZhbHVlX1tzZ11ldF9pbnQoKQoJICBnaXZlcyBhIGdfY3JpdGljYWwoKS4KCjIwMDctMTItMTMgMDQ6NDM6NTggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L3ZpZGVvcGFyc2UvOiBBZGQgYSBidW5jaCBvZiBmZWF0dXJlczogaGFuZGxlIGZvcm1hdCBzcGVjaWZpY2F0aW9uLCBoYW5kbGUgcXVlcmllcyBhbmQgY29udmVyc2lvbi4gIFdvcmtzIG11Y2ggbGlrLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb3BhcnNlL1JFQURNRToKCSAgKiBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIEFkZCBhIGJ1bmNoIG9mIGZlYXR1cmVzOiBoYW5kbGUgZm9ybWF0IHNwZWNpZmljYXRpb24sIGhhbmRsZQoJICBxdWVyaWVzIGFuZCBjb252ZXJzaW9uLiAgV29ya3MgbXVjaCBsaWtlIGEgbm9ybWFsIHBhcnNlciBub3cuCgoyMDA3LTEyLTEyIDE2OjU5OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBDbGVhbiB1cCB0aGUgZHluYW1pYyBwYWRzIHdoZW4gZ29pbmcgdG8gUkVBRFkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfZmluYWxpemUpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9zZXR1cCksIChnc3RfcnRwX3B0X2RlbXV4X3JlbGVhc2UpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiAoZ3N0X3J0cF9zc3JjX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9kaXNwb3NlKSwgKGdzdF9ydHBfc3NyY19kZW11eF9zcmNfcXVlcnkpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIENsZWFuIHVwIHRoZSBkeW5hbWljIHBhZHMgd2hlbiBnb2luZyB0byBSRUFEWS4KCjIwMDctMTItMTIgMTI6MTE6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IEZpeCBzb21lIGxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfYmluX3NldF9zZGVzX3N0cmluZyksIChnc3RfcnRwX2Jpbl9nZXRfc2Rlc19zdHJpbmcpLAoJICAoZ3N0X3J0cF9iaW5faGFuZGxlX21lc3NhZ2UpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2ZpbmFsaXplKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfYnllKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfZmluYWxpemUpOgoJICBGaXggc29tZSBsZWFrcy4KCjIwMDctMTItMTIgMDQ6MTE6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9kdHMvZ3N0ZHRzZGVjLio6IEFkZCBzdXBwb3J0IGZvciAiYXVkaW8veC1wcml2YXRlMS1kdHMiIGFzIHVzZWQgYnkgZmx1cHNwYXJzZS4gTW9zdCBjaGFuZ2VzIGFkYXB0ZWQgZnJvbSBhNTJkZWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2luaXQpLAoJICAoZ3N0X2R0c2RlY19zaW5rX3NldGNhcHMpLCAoZ3N0X2R0c2RlY19jaGFpbl9yYXcpLAoJICAoZ3N0X2R0c2RlY19jaGFpbik6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSAgQWRkIHN1cHBvcnQgZm9yICJhdWRpby94LXByaXZhdGUxLWR0cyIgYXMgdXNlZCBieSBmbHVwc3BhcnNlLiBNb3N0CgkgIGNoYW5nZXMgYWRhcHRlZCBmcm9tIGE1MmRlYy4KCjIwMDctMTItMTIgMDI6MzM6MTIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IFNwbGl0IG91dCBnbC1yZWxhdGVkIGNvZGUgaW50byBhIHNlcGFyYXRlIGZpbGUgd2l0aCBhIHNlbnNpYmxlIEFQSS4gIE1ham9yIGNsZWFudXAuICBTdGlsbCBjcmFzaGVzIG9jY2FzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOgoJICBTcGxpdCBvdXQgZ2wtcmVsYXRlZCBjb2RlIGludG8gYSBzZXBhcmF0ZSBmaWxlIHdpdGggYQoJICBzZW5zaWJsZSBBUEkuICBNYWpvciBjbGVhbnVwLiAgU3RpbGwgY3Jhc2hlcyBvY2Nhc2lvbmFsbHkKCSAgZHVlIHRvIGRpZmZlcmVudCB0aHJlYWRzIHRvdWNoaW5nIGJpdHMgYXQgdGhlIHNhbWUgdGltZS4KCjIwMDctMTItMTEgMTY6Mzk6MzkgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy4qOiBEbyBub3QgdHJ5IHRvIHVucGF1c2UgSS9PIGluIHRoZSAicXVldWVkIiBzdGF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoX2RvX2luaXQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19jbGFzc19pbml0KSwgKGdzdF9zb3VwaHR0cF9zcmNfaW5pdCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2Rpc3Bvc2UpLCAoZ3N0X3NvdXBodHRwX3NyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19nZXRfcHJvcGVydHkpLCAodW5pY29kaWZ5KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdW5pY29kaWZ5KSwgKGdzdF9zb3VwaHR0cF9zcmNfY3JlYXRlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc3RhcnQpLCAoZ3N0X3NvdXBodHRwX3NyY19zdG9wKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdW5sb2NrKSwgKGdzdF9zb3VwaHR0cF9zcmNfdW5sb2NrX3N0b3ApLAoJICAoZ3N0X3NvdXBodHRwX3NyY19nZXRfc2l6ZSksIChnc3Rfc291cGh0dHBfc3JjX2lzX3NlZWthYmxlKSwKCSAgKHNvdXBfZ290X2hlYWRlcnMpLCAoc291cF9nb3RfYm9keSksIChzb3VwX2ZpbmlzaGVkKSwKCSAgKHNvdXBfZ290X2NodW5rKSwgKHNvdXBfcmVzcG9uc2UpLCAoc291cF9wYXJzZV9zdGF0dXMpLAoJICAoZ3N0X3NvdXBodHRwX3NyY191cmlfZ2V0X3R5cGUpLAoJICAoZ3N0X3NvdXBodHRwX3NyY191cmlfZ2V0X3Byb3RvY29scyksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VyaV9nZXRfdXJpKSwgKGdzdF9zb3VwaHR0cF9zcmNfdXJpX3NldF91cmkpLAoJICAoZ3N0X3NvdXBodHRwX3NyY191cmlfaGFuZGxlcl9pbml0KToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBEbyBub3QgdHJ5IHRvIHVucGF1c2UgSS9PIGluIHRoZSAicXVldWVkIiBzdGF0ZS4KCSAgUmVvcmdhbmlzZSBhIGJ1bmNoIG9mIHRoaW5ncyBhbmQgY2xlYW51cHMuCgkgIFVzZXMgR19HVUlOVDY0X0ZPUk1BVCBpbnN0ZWFkIG9mIGhhcmQtY29kaW5nICVsbHUuCgkgIFNlZSAjNTAyMzM1LgoKMjAwNy0xMi0xMSAxNjoyNjowNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogRml4IGNhcHMgbWVtbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiAoZ3N0X3gyNjRfZW5jX3NldF9zcmNfY2Fwcyk6CgkgIEZpeCBjYXBzIG1lbWxlYWsuCgoyMDA3LTEyLTExIDExOjU0OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBEb24ndCBzdHJkdXAgKGFuZCB0aHVzIGxlYWspIGNvZGVjIG5hbWUgc3RyaW5ncyB3aGVuIHBhc3NpbmcgdGhlbSB0byBnc3RfdGFnX2xpc3RfYWRkKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKToKCSAgRG9uJ3Qgc3RyZHVwIChhbmQgdGh1cyBsZWFrKSBjb2RlYyBuYW1lIHN0cmluZ3Mgd2hlbiBwYXNzaW5nCgkgIHRoZW0gdG8gZ3N0X3RhZ19saXN0X2FkZCgpLgoKMjAwNy0xMi0xMCAxODozNjowNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogUG9zdCBhIG1lc3NhZ2Ugd2hlbiB0aGUgU0RFUyBpbmZvciBjaGFuZ2VzIGZvciBhIHNvdXJjZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfYmluX2hhbmRsZV9tZXNzYWdlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChzb3VyY2VfZ2V0X3NkZXNfc3RydWN0dXJlKSwKCSAgKG9uX3NzcmNfc2Rlcyk6CgkgIFBvc3QgYSBtZXNzYWdlIHdoZW4gdGhlIFNERVMgaW5mb3IgY2hhbmdlcyBmb3IgYSBzb3VyY2UuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBVcGRhdGUgc29tZSBjb21tZW50cy4KCjIwMDctMTItMTAgMTc6MTg6MzUgKzAwMDAgIG11dGV4IGF0IHJ1bmJveCBkb3QgY29tIDxtdXRleEBydW5ib3guY29tPgoKCSAgZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiBGb3J3YXJkIHRoZSBxdWVyeSB1cHN0cmVhbSwgdGhlIGRlZmF1bHQgZWxlbWVudCBldmVudCBoYW5kbGVyIGRvZXMgc29tZXRoaW5nIGRpZmZlcmVuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogPG11dGV4IGF0IHJ1bmJveCBkb3QgY29tPgoJICAqIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogKGdzdF92aWRlb19wYXJzZV9zcmNfcXVlcnkpOgoJICBGb3J3YXJkIHRoZSBxdWVyeSB1cHN0cmVhbSwgdGhlIGRlZmF1bHQgZWxlbWVudCBldmVudCBoYW5kbGVyIGRvZXMKCSAgc29tZXRoaW5nIGRpZmZlcmVudC4gRml4ZXMgIzUwMjg3OS4KCjIwMDctMTItMTAgMTU6MzQ6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IEFkZCBzaWduYWwgdG8gbm90aWZ5IG9mIGFuIFNERVMgY2hhbmdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKG9uX3NzcmNfc2RlcyksIChjcmVhdGVfc2Vzc2lvbiksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChvbl9zc3JjX3NkZXMpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKG9uX3NzcmNfc2RlcyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIEFkZCBzaWduYWwgdG8gbm90aWZ5IG9mIGFuIFNERVMgY2hhbmdlLgoJICBGaXggb2JqZWN0IHR5cGUgaW4gdGhlIHNpZ25hbCBjYWxsYmFja3MuCgoyMDA3LTEyLTEwIDE0OjAzOjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLio6IEV4cG9zZSBTREVTIGl0ZW1zIGFzIHByb3BlcnRpZXMgYW5kIGNvbmZpZ3VyZSB0aGUgc2Vzc2lvbiBtYW5hZ2VycyB3aXRoIHRoZW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksIChnc3RfcnRwX2Jpbl9pbml0KSwgKHNkZXNfdHlwZV90b19uYW1lKSwKCSAgKGdzdF9ydHBfYmluX3NldF9zZGVzX3N0cmluZyksIChnc3RfcnRwX2Jpbl9nZXRfc2Rlc19zdHJpbmcpLAoJICAoZ3N0X3J0cF9iaW5fc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfYmluX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIEV4cG9zZSBTREVTIGl0ZW1zIGFzIHByb3BlcnRpZXMgYW5kIGNvbmZpZ3VyZSB0aGUgc2Vzc2lvbiBtYW5hZ2VycyB3aXRoCgkgIHRoZW0uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2NsYXNzX2luaXQpLAoJICAocnRwX3NvdXJjZV9zZXRfcHJvcGVydHkpOgoJICBGaXggU1NSQyBwcm9wZXJ0eS4KCjIwMDctMTItMTAgMTE6MDg6MTEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFVwZGF0ZSBjb21tZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgVXBkYXRlIGNvbW1lbnQuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksIChnc3RfcnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KToKCSAgRGVmaW5lIHNvbWUgR09iamVjdCBwcm9wZXJ0aWVzIHRvIHNldCBTREVTIGFuZCBvdGhlciBjb25maWd1cmF0aW9uLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRwX3Nlc3Npb25faW5pdCksIChydHBfc2Vzc2lvbl9maW5hbGl6ZSksCgkgIChydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLCAocnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KSwKCSAgKG9uX3NzcmNfc2RlcyksIChydHBfc2Vzc2lvbl9zZXRfYmFuZHdpZHRoKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9iYW5kd2lkdGgpLCAocnRwX3Nlc3Npb25fc2V0X3J0Y3BfZnJhY3Rpb24pLAoJICAocnRwX3Nlc3Npb25fZ2V0X3J0Y3BfZnJhY3Rpb24pLCAocnRwX3Nlc3Npb25fc2V0X3NkZXNfc3RyaW5nKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9zZGVzX3N0cmluZyksIChvYnRhaW5fc291cmNlKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9pbnRlcm5hbF9zb3VyY2UpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKSwgKHJ0cF9zZXNzaW9uX25leHRfdGltZW91dCksIChzZXNzaW9uX3NkZXMpLAoJICAoaXNfcnRjcF90aW1lKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEFkZCBzaWduYWwgd2hlbiBuZXcgU0RFUyBpbmZvciBoYXMgYmVlbiBmb3VuZCBmb3IgYSBzb3VyY2UuCgkgIENyZWF0ZSBwcm9wZXJ0aWVzIGZvciBTREVTIGFuZCBvdGhlciBpbmZvLgoJICBTaW1wbGlmeSB0aGUgU0RFUyBBUEkuCgkgIEFkZCBtZXRob2QgZm9yIGdldHRpbmcgdGhlIGludGVybmFsIHNvdXJjZSBvYmplY3Qgb2YgdGhlIHNlc3Npb24uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2NsYXNzX2luaXQpLAoJICAocnRwX3NvdXJjZV9maW5hbGl6ZSksIChydHBfc291cmNlX3NldF9wcm9wZXJ0eSksCgkgIChydHBfc291cmNlX2dldF9wcm9wZXJ0eSksIChydHBfc291cmNlX3NldF9jYWxsYmFja3MpLAoJICAocnRwX3NvdXJjZV9nZXRfc3NyYyksIChydHBfc291cmNlX3NldF9hc19jc3JjKSwKCSAgKHJ0cF9zb3VyY2VfaXNfYXNfY3NyYyksIChydHBfc291cmNlX2lzX2FjdGl2ZSksCgkgIChydHBfc291cmNlX2lzX3ZhbGlkYXRlZCksIChydHBfc291cmNlX2lzX3NlbmRlciksCgkgIChydHBfc291cmNlX3JlY2VpdmVkX2J5ZSksIChydHBfc291cmNlX2dldF9ieWVfcmVhc29uKSwKCSAgKHJ0cF9zb3VyY2Vfc2V0X3NkZXMpLCAocnRwX3NvdXJjZV9zZXRfc2Rlc19zdHJpbmcpLAoJICAocnRwX3NvdXJjZV9nZXRfc2RlcyksIChydHBfc291cmNlX2dldF9zZGVzX3N0cmluZyksCgkgIChydHBfc291cmNlX2dldF9uZXdfc3IpLCAocnRwX3NvdXJjZV9nZXRfbmV3X3JiKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgQWRkIEdPYmplY3QgcHJvcGVydGllcyBmb3IgdmFyaW91cyB0aGluZ3MuCgkgIERvbid0IGxlYWsgdGhlIGJ5ZSByZWFzb24uCgoyMDA3LTEyLTA5IDE5OjM3OjUzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBGaXggbGlzdCBvZiBzdXBwb3J0ZWQgYW5kIGtub3duIGNvZGVjcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOgoJICBGaXggbGlzdCBvZiBzdXBwb3J0ZWQgYW5kIGtub3duIGNvZGVjcy4KCSAgRW1pdCB0YWcgd2l0aCB0aGUgY29kZWMgbmFtZSBzbyBpdCBnZXRzIHByb3Blcmx5IHJlcG9ydGVkIGluIHRvdGVtIGFuZAoJICBvdGhlciBhcHBsaWNhdGlvbnMuCgoyMDA3LTEyLTA5IDA0OjMwOjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IERvbid0IGRlZmluZSBHU1RfRElTQUJMRV9ERVBSRUNBVEVEIGZvciByZWxlYXNlcy4gRml4ZXMgIzQ5ODE4MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEb24ndCBkZWZpbmUgR1NUX0RJU0FCTEVfREVQUkVDQVRFRCBmb3IgcmVsZWFzZXMuIEZpeGVzICM0OTgxODEuCgoyMDA3LTEyLTA2IDEyOjQ1OjUwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBGaXggY29tcGlsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl90cmFuc2Zvcm1faXApOgoJICBGaXggY29tcGlsYXRpb24uCgoyMDA3LTEyLTA2IDEyOjQyOjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBEb24ndCBwcm9jZXNzIGJ1ZmZlcnMgaW4gcGFzc3Rocm91Z2ggbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX3RyYW5zZm9ybV9pcCk6CgkgIERvbid0IHByb2Nlc3MgYnVmZmVycyBpbiBwYXNzdGhyb3VnaCBtb2RlLgoKMjAwNy0xMi0wNiAxMjozNzo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IFRoZSB0cmFuc2Zvcm0oKSBtZXRob2RzIGFyZSBub3QgY2FsbGVkIGluIHBhc3N0aHJvdWdoIG1vZGUgc28gdGhlcmUncyBubyBuZWVkIGZvciBjaGVja2luZyBpZiB0aGUgZWxlbWVuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoYnB3c2luY190cmFuc2Zvcm0pOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAobHB3c2luY190cmFuc2Zvcm0pOgoJICBUaGUgdHJhbnNmb3JtKCkgbWV0aG9kcyBhcmUgbm90IGNhbGxlZCBpbiBwYXNzdGhyb3VnaCBtb2RlIHNvCgkgIHRoZXJlJ3Mgbm8gbmVlZCBmb3IgY2hlY2tpbmcgaWYgdGhlIGVsZW1lbnQgaXMgaW4gcGFzc3Rocm91Z2ggbW9kZS4KCjIwMDctMTItMDYgMTI6Mjk6MjYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBTeW5jIHRoZSBHT2JqZWN0IHByb3BlcnRpZXMgd2l0aCB0aGUgY29udHJvbGxlciBldmVuIGluIHBhc3N0aHJvdWdoIG1vZGUgdG8gZ2V0IGNvbnNpc3RlbnQgcHJvcGVydHkgdmFsdWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGJwd3NpbmNfdHJhbnNmb3JtKToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGxwd3NpbmNfdHJhbnNmb3JtKToKCSAgU3luYyB0aGUgR09iamVjdCBwcm9wZXJ0aWVzIHdpdGggdGhlIGNvbnRyb2xsZXIgZXZlbiBpbiBwYXNzdGhyb3VnaAoJICBtb2RlIHRvIGdldCBjb25zaXN0ZW50IHByb3BlcnR5IHZhbHVlcy4KCjIwMDctMTItMDYgMTA6NDg6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzogTWFyayBjcmMgdmFsdWVzIHRhYmxlIGFzIGNvbnN0YW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzogKGNyY190YWIpOgoJICBNYXJrIGNyYyB2YWx1ZXMgdGFibGUgYXMgY29uc3RhbnQuCgoyMDA3LTEyLTA1IDE3OjAwOjU5ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkgIEFkZGVkIHNvbWUgdGFncyB0byBleGlmIHBhcnNlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZGVkIHNvbWUgdGFncyB0byBleGlmIHBhcnNlci4KCjIwMDctMTItMDUgMTI6NDA6MDUgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBBIHN1YiB0YWJsZSBpcyBpZGVudGlmaWVkIGJ5IHRoZSBwYWlyIHRhYmxlX2lkIGFuZCBzdWJfdGFibGVfaWRlbnRpZmllciwgbm90IGJ5IHBpZC4gU28gaGFzaCB3aXRoIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgQSBzdWIgdGFibGUgaXMgaWRlbnRpZmllZCBieSB0aGUgcGFpciB0YWJsZV9pZCBhbmQKCSAgc3ViX3RhYmxlX2lkZW50aWZpZXIsIG5vdCBieSBwaWQuIFNvIGhhc2ggd2l0aCB0aGF0LgoJICAqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBNYWtlIHN1cmUgaW5pdGlhbCBwaWRzIGFyZSBhZGRlZCBwcm9wZXJseSB0byBmaWx0ZXIsCgoyMDA3LTEyLTA1IDExOjI1OjU4ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3dpdGNoX3NldF9wcm9wZXJ0eSk6IERvbid0IHB1c2ggYnVmZmVycyBmcm9tIGFwcCB0aHJlYWQgd2hlbiB1bnNldHRpbmcgYHF1ZXVlLWJ1ZmZlcnMnLCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTItMDUgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N3aXRjaF9zZXRfcHJvcGVydHkpOiBEb24ndCBwdXNoCgkgIGJ1ZmZlcnMgZnJvbSBhcHAgdGhyZWFkIHdoZW4gdW5zZXR0aW5nIGBxdWV1ZS1idWZmZXJzJywgaXQncwoJICBkYW5nZXJvdXMgYW5kIHRoZSBjaGFpbiBmdW5jdGlvbiB3aWxsIGRvIGl0IGZvciB1cyBhbnl3YXkuCgoyMDA3LTEyLTA0IDE3OjIwOjI1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkgIE5vdyBjb21waWxlcyBldmVuIHdoZW4gbGliaXB0YyBpcyBtaXNzaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTm93IGNvbXBpbGVzIGV2ZW4gd2hlbiBsaWJpcHRjIGlzIG1pc3NpbmcuCgoyMDA3LTEyLTA0IDE2OjQyOjI1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5oOgoJICBGaXhlZCBlbGVtZW50IHByb3BlcnRpZXMgYW5kIG5vdyBtdXhlciB3cml0ZXMgdG8gcG5nIGFsc28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBlbGVtZW50IHByb3BlcnRpZXMgYW5kIG5vdyBtdXhlciB3cml0ZXMgdG8gcG5nIGFsc28uCgoyMDA3LTEyLTAzIDE4OjI4OjMyICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogUmVtb3ZlIHNpZ25hbHMgZm9yIHBhdCwgcG10LCBuaXQsIGVpdCwgc2R0LiBSZXBsYWNlIHdpdGggYnVzIG1lc3NhZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgUmVtb3ZlIHNpZ25hbHMgZm9yIHBhdCwgcG10LCBuaXQsIGVpdCwgc2R0LiBSZXBsYWNlIHdpdGggYnVzCgkgIG1lc3NhZ2VzLgoJICAqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBJbnN0ZWFkIG9mIGF0dGFjaGluZyB0byBzaWduYWxzLCB1c2UgdGhlIGJ1cyBtZXNzYWdlcy4KCSAgQWxzbyBmaXggdXAgc28gdGhlIGR2YnNyYyBzdGFydHMgb25seSBvdXRwdXR0aW5nIHRoZSBpbmZvIHRhYmxlcwoJICBsaWtlIFBBVCwgQ0FULCBOSVQsIFNEVCwgRUlUIGluc3RlYWQgb2YgdGhlIHdob2xlIHRzLgoKMjAwNy0xMi0wMyAxNjoxNDowMSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmg6CgkgIE11eGVyIHdyaXRlcyAoaW4ganBlZyBvbmx5KSB3aG9sZSBJUFRDIGNodW5rIHNlbnQgYXMgdGFnLiBNdXhlciBpbXBsZW1ldHMgR3N0VGFnU2V0dGVyIGludGVyZmFjZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE11eGVyIHdyaXRlcyAoaW4ganBlZyBvbmx5KSB3aG9sZSBJUFRDIGNodW5rIHNlbnQgYXMgdGFnLiBNdXhlciBpbXBsZW1ldHMgR3N0VGFnU2V0dGVyIGludGVyZmFjZS4KCjIwMDctMTItMDMgMTM6MDg6MjYgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzogU2hvdWxkIGZpeCB0aGUgNjQtYml0IGJ1aWxkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICBTaG91bGQgZml4IHRoZSA2NC1iaXQgYnVpbGQKCjIwMDctMTEtMzAgMTg6MzA6MTIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmg6CgkgIE11eGVyIHdyaXRlcyAoaW4ganBlZyBvbmx5KSB3aG9sZSBFWElGIGFuZCBYTVAgY2h1bmtzIHNlbnQgYXMgdGFncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE11eGVyIHdyaXRlcyAoaW4ganBlZyBvbmx5KSB3aG9sZSBFWElGIGFuZCBYTVAgY2h1bmtzIHNlbnQgYXMgdGFncy4KCjIwMDctMTEtMzAgMTQ6MDg6MTUgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL3JmYmRlY29kZXIuKjogQWRkIENvUlJFIGVuY29kaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICBBZGQgQ29SUkUgZW5jb2RpbmcKCjIwMDctMTEtMzAgMTM6MTg6MzYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzogQ1JDIGNoZWNrIHRoZSBwc2kgcGlkcy4gQ1JDIGNoZWNraW5nIGNvZGUgcmVsaWNlbmNlZCBmcm9tIE1QTC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIENSQyBjaGVjayB0aGUgcHNpIHBpZHMuIENSQyBjaGVja2luZyBjb2RlIHJlbGljZW5jZWQgZnJvbSBNUEwuCgkgIFRoYW5rcyBGbHVlbmRvLgoKMjAwNy0xMS0zMCAxMjo1MzoxMyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXR5cGVzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXR5cGVzLmg6CgkgIEZpeGVkIGdldF9yYW5nZSBidWcgd2hlbiBpbmplY3RpbmcgYW5kIHN0cmlwcGluZy4gQW5kIG11eCBpcyBhbG1vc3QgZG9uZSBub3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBnZXRfcmFuZ2UgYnVnIHdoZW4gaW5qZWN0aW5nIGFuZCBzdHJpcHBpbmcuIEFuZCBtdXggaXMgYWxtb3N0IGRvbmUgbm93LgoKMjAwNy0xMS0zMCAxMDo0NjoyMyArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOiBVc2UgZ2xpYiBtYWNybyBmb3Igc3dhcHBpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIFVzZSBnbGliIG1hY3JvIGZvciBzd2FwcGluZwoKMjAwNy0xMS0yOSAxMzozMjoxMSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvOiBEaXNhYmxlIENvcHlSZWN0IGVuY29kaW5nIGJ5IGRlZmF1bHQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgRGlzYWJsZSBDb3B5UmVjdCBlbmNvZGluZyBieSBkZWZhdWx0CgkgIEFkZCBSUkUgZW5jb2RpbmcKCjIwMDctMTEtMjkgMTA6NDk6MTggKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgbGlic291cCByZXF1aXJlbWVudCBhcyBsaWJzb3VwIGRvZXMgbm90IHN1cHBvcnQgYXN5bmMgY2xpZW50IG9wZXJhdGlvbiBwcmlvciB0byB2ZXJzaW9uIDIuMi4xMDQgYW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgbGlic291cCByZXF1aXJlbWVudCBhcyBsaWJzb3VwIGRvZXMgbm90IHN1cHBvcnQgYXN5bmMgY2xpZW50CgkgIG9wZXJhdGlvbiBwcmlvciB0byB2ZXJzaW9uIDIuMi4xMDQgYW5kIGl0IGhhcyBzb21lIGxlYWtzLgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cGh0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19pbml0KSwgKGdzdF9zb3VwaHR0cF9zcmNfZGlzcG9zZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3Rfc291cGh0dHBfc3JjX2NyZWF0ZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3N0YXJ0KSwgKGdzdF9zb3VwaHR0cF9zcmNfc3RvcCksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VubG9jayksIChnc3Rfc291cGh0dHBfc3JjX3VubG9ja19zdG9wKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfZ2V0X3NpemUpLCAoc291cF9nb3RfaGVhZGVycyksIChzb3VwX2dvdF9ib2R5KSwKCSAgKHNvdXBfZmluaXNoZWQpLCAoc291cF9nb3RfY2h1bmspLCAoc291cF9yZXNwb25zZSksCgkgIChzb3VwX3Nlc3Npb25fY2xvc2UpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIEltcGxlbWVudCB1bmxvY2soKS4KCSAgUGlja3MgdXAgdGhlIHNpemUgZnJvbSB0aGUgQ29udGVudC1MZW5ndGggaGVhZGVyIGFuZCBlbWl0IGEgZHVyYXRpb24KCSAgbWVzc2FnZS4KCSAgRG9uJ3QgbGVhayB0aGUgR01haW5Db250ZXh0IG9iamVjdC4KCSAgRml4ZXMgIzUwMDA5OS4KCjIwMDctMTEtMjkgMTA6NDQ6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzogRG9uJ3QgZnJlZSB1bmluaXRpYWxpemVkIGRhdGEgd2hlbiB3ZSBhcmUgaW4gZXJyb3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOiAoYWxzYXNwZGlmc2lua19zZXRfY2FwcyksCgkgIChhbHNhc3BkaWZzaW5rX2dldF90aW1lKSwgKGFsc2FzcGRpZnNpbmtfc2V0X3BhcmFtcyksCgkgIChhbHNhc3BkaWZzaW5rX2ZpbmRfcGNtX2RldmljZSk6CgkgIERvbid0IGZyZWUgdW5pbml0aWFsaXplZCBkYXRhIHdoZW4gd2UgYXJlIGluIGVycm9yLgoKMjAwNy0xMS0yOCAxNDowMzozNSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5oOgoJICBTZW5kaW5nIG1ha2UgYW5kIG1vZGVsIGluZGl2aWR1YWwgdGFncyBhbmQgbXV4ZXIgbm93IGxpbmtzIGZpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTZW5kaW5nIG1ha2UgYW5kIG1vZGVsIGluZGl2aWR1YWwgdGFncyBhbmQgbXV4ZXIgbm93IGxpbmtzIGZpbmUuCgoyMDA3LTExLTI4IDA4OjEzOjUyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWV4aWYuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlaXB0Yy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXhtcC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXhtcC5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5oOgoJICBTbWFsbCBmaXhlcyBpbiBnZXRfcmFuZ2UgYW5kIGJldHRlciBzdHJ1Y3R1cmUgZm9yIGdlbmVyaWMgbXV4ZXIgYW5kIGRlbXV4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTbWFsbCBmaXhlcyBpbiBnZXRfcmFuZ2UgYW5kIGJldHRlciBzdHJ1Y3R1cmUgZm9yIGdlbmVyaWMgbXV4ZXIgYW5kIGRlbXV4ZXIuCgoyMDA3LTExLTI2IDEzOjE5OjQ4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQWRkIFF1aWNrVGltZSBXcmFwcGVyIHBsdWctaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTExLTI2ICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIGNvbmZpZ3VyZS5hYzogQWRkIFF1aWNrVGltZSBXcmFwcGVyIHBsdWctaW4uCgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3B1c2hfZHJhaW4pLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3Byb2Nlc3MpOiBGaXgKCSAgYnVpbGQgb24gTWFjIE9TIFggTGVvcGFyZC4gSW5jb3JyZWN0IHByaW50ZiBmb3JtYXQgYXJndW1lbnRzLgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcXR3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJICAocXR3cmFwcGVyX2F1ZGlvX2RlY29kZXJfYmFzZV9pbml0KSwKCSAgKHF0d3JhcHBlcl9hdWRpb19kZWNvZGVyX2NsYXNzX2luaXQpLAoJICAocXR3cmFwcGVyX2F1ZGlvX2RlY29kZXJfaW5pdCksCgkgIChjbGVhcl9BdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24pLCAoZmlsbF9pbmRlc2NfbXAzKSwKCSAgKGZpbGxfaW5kZXNjX2FhYyksIChmaWxsX2luZGVzY19zYW1yKSwgKGZpbGxfaW5kZXNjX2dlbmVyaWMpLAoJICAobWFrZV9zYW1yX21hZ2ljX2Nvb2tpZSksIChvcGVuX2RlY29kZXIpLAoJICAocXR3cmFwcGVyX2F1ZGlvX2RlY29kZXJfc2lua19zZXRjYXBzKSwgKHByb2Nlc3NfYnVmZmVyX2NiKSwKCSAgKHF0d3JhcHBlcl9hdWRpb19kZWNvZGVyX2NoYWluKSwKCSAgKHF0d3JhcHBlcl9hdWRpb19kZWNvZGVyX3NpbmtfZXZlbnQpLAoJICAocXR3cmFwcGVyX2F1ZGlvX2RlY29kZXJzX3JlZ2lzdGVyKToKCSAgKiBzeXMvcXR3cmFwcGVyL2NvZGVjbWFwcGluZy5jOiAoYXVkaW9fY2Fwc19mcm9tX3N0cmluZyksCgkgIChmb3VyY2NfdG9fY2Fwcyk6CgkgICogc3lzL3F0d3JhcHBlci9jb2RlY21hcHBpbmcuaDoKCSAgKiBzeXMvcXR3cmFwcGVyL2ltYWdlZGVzY3JpcHRpb24uYzogKGltYWdlX2Rlc2NyaXB0aW9uX2Zvcl9hdmMxKSwKCSAgKGltYWdlX2Rlc2NyaXB0aW9uX2Zvcl9tcDR2KSwgKGltYWdlX2Rlc2NyaXB0aW9uX2Zyb21fc3RzZF9idWZmZXIpLAoJICAoaW1hZ2VfZGVzY3JpcHRpb25fZnJvbV9jb2RlY19kYXRhKToKCSAgKiBzeXMvcXR3cmFwcGVyL2ltYWdlZGVzY3JpcHRpb24uaDoKCSAgKiBzeXMvcXR3cmFwcGVyL3F0dXRpbHMuYzogKGdldF9uYW1lX2luZm9fZnJvbV9jb21wb25lbnQpLAoJICAoZ2V0X291dHB1dF9pbmZvX2Zyb21fY29tcG9uZW50KSwgKGR1bXBfYXZjY19hdG9tKSwKCSAgKGR1bXBfaW1hZ2VfZGVzY3JpcHRpb24pLCAoZHVtcF9jb2RlY19kZWNvbXByZXNzX3BhcmFtcyksCgkgIChhZGRTSW50MzJUb0RpY3Rpb25hcnkpLCAoZHVtcF9jdnBpeGVsX2J1ZmZlciksCgkgIChEZXN0cm95QXVkaW9CdWZmZXJMaXN0KSwgKEFsbG9jYXRlQXVkaW9CdWZmZXJMaXN0KToKCSAgKiBzeXMvcXR3cmFwcGVyL3F0dXRpbHMuaDoKCSAgKiBzeXMvcXR3cmFwcGVyL3F0d3JhcHBlci5jOiAocGx1Z2luX2luaXQpOgoJICAqIHN5cy9xdHdyYXBwZXIvcXR3cmFwcGVyLmg6CgkgICogc3lzL3F0d3JhcHBlci92aWRlb2RlY29kZXJzLmM6CgkgIChxdHdyYXBwZXJfdmlkZW9fZGVjb2Rlcl9iYXNlX2luaXQpLAoJICAocXR3cmFwcGVyX3ZpZGVvX2RlY29kZXJfY2xhc3NfaW5pdCksCgkgIChxdHdyYXBwZXJfdmlkZW9fZGVjb2Rlcl9pbml0KSwgKHF0d3JhcHBlcl92aWRlb19kZWNvZGVyX2ZpbmFsaXplKSwKCSAgKGZpbGxfaW1hZ2VfZGVzY3JpcHRpb24pLCAobmV3X2ltYWdlX2Rlc2NyaXB0aW9uKSwgKGNsb3NlX2RlY29kZXIpLAoJICAob3Blbl9kZWNvZGVyKSwgKHF0d3JhcHBlcl92aWRlb19kZWNvZGVyX3Npbmtfc2V0Y2FwcyksCgkgIChkZWNvbXByZXNzQ2IpLCAocXR3cmFwcGVyX3ZpZGVvX2RlY29kZXJfY2hhaW4pLAoJICAocXR3cmFwcGVyX3ZpZGVvX2RlY29kZXJfc2lua19ldmVudCksCgkgIChxdHdyYXBwZXJfdmlkZW9fZGVjb2RlcnNfcmVnaXN0ZXIpOiBJbml0aWFsIGltcG9ydCBvZiBRdWlja1RpbWUKCSAgd3JhcHBlciBqb2ludGx5IGRldmVsb3BwZWQgYnkgU29uZ2JpcmQgYXV0aG9ycyAoUGlvbmVlcnMgb2YgdGhlCgkgIEluZXZpdGFibGUpIGFuZCBGbHVlbmRvLgoKMjAwNy0xMS0yNiAxMDowODoyMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IFVzZSBkaXNwb3NlIGFuZCBmaW5hbGl6ZS4gRGlzcG9zZSBjYW4gYmUgY2FsbGVkIG11bHRpcGxlIHRpbWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgVXNlIGRpc3Bvc2UgYW5kIGZpbmFsaXplLiBEaXNwb3NlIGNhbiBiZSBjYWxsZWQgbXVsdGlwbGUgdGltZXMuCgoyMDA3LTExLTI2IDA5OjM4OjI0ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkgIE5vdyB3b3JrcyB3aGVuIGdldF9yYW5nZSBpcyBub3QgYXZhaWxhYmxlIHVwc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTm93IHdvcmtzIHdoZW4gZ2V0X3JhbmdlIGlzIG5vdCBhdmFpbGFibGUgdXBzdHJlYW0uCgoyMDA3LTExLTI2IDA4OjQzOjI1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS86IFVwZGF0ZSBzcGVleCByZXNhbXBsZXIgdG8gbGF0ZXN0IFNWTi4gV2UncmUgbm93IGRvd24gdG8gb25seSB0aGUgY2hhbmdlcyBub3RlZCBpbiBSRUFETUUgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL1JFQURNRToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9hcmNoLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvcmVzYW1wbGUuYzogKHJlc2FtcGxlcl9iYXNpY19kaXJlY3Rfc2luZ2xlKSwKCSAgKHJlc2FtcGxlcl9iYXNpY19kaXJlY3RfZG91YmxlKSwKCSAgKHJlc2FtcGxlcl9iYXNpY19pbnRlcnBvbGF0ZV9zaW5nbGUpLAoJICAocmVzYW1wbGVyX2Jhc2ljX2ludGVycG9sYXRlX2RvdWJsZSksCgkgIChzcGVleF9yZXNhbXBsZXJfcHJvY2Vzc19uYXRpdmUpLCAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfZmxvYXQpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfaW50KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9wcm9jZXNzX2ludGVybGVhdmVkX2Zsb2F0KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9wcm9jZXNzX2ludGVybGVhdmVkX2ludCksCgkgIChzcGVleF9yZXNhbXBsZXJfZ2V0X2lucHV0X2xhdGVuY3kpLAoJICAoc3BlZXhfcmVzYW1wbGVyX2dldF9vdXRwdXRfbGF0ZW5jeSk6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyLmg6CgkgIFVwZGF0ZSBzcGVleCByZXNhbXBsZXIgdG8gbGF0ZXN0IFNWTi4gV2UncmUgbm93IGRvd24gdG8gb25seSB0aGUKCSAgY2hhbmdlcyBub3RlZCBpbiBSRUFETUUgYWdhaW4uCgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX3dyYXBwZXIuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHVzaF9kcmFpbiksIChnc3Rfc3BlZXhfcmVzYW1wbGVfcXVlcnkpOgoJICBBZGp1c3QgdG8gQVBJIGNoYW5nZXMuCgoyMDA3LTExLTI1IDEwOjQ1OjA5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBPdXRwdXQgc2VnbWVudCB3aXRoIHByb3BlciAnc3RvcCcgdmFsdWUsIG1ha2VzIGZsdmRlbXV4IDEwMCUgY29tcGF0aWJsZSB3aXRoIGdub25saW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKToKCSAgT3V0cHV0IHNlZ21lbnQgd2l0aCBwcm9wZXIgJ3N0b3AnIHZhbHVlLCBtYWtlcyBmbHZkZW11eCAxMDAlIGNvbXBhdGlibGUKCSAgd2l0aCBnbm9ubGluLgoKMjAwNy0xMS0yNSAxMDoxMjowOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzogU2V0IGluaXRpYWwgc3RydWN0dXJlIG5hbWUgdG8gZml4IGFzc2VydGlvbiwgZHVlIHRvIHJlY2VudCBjYXBzIG5hbWUgY29uc3RyYWludHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkgIFNldCBpbml0aWFsIHN0cnVjdHVyZSBuYW1lIHRvIGZpeCBhc3NlcnRpb24sIGR1ZSB0byByZWNlbnQgY2FwcyBuYW1lCgkgIGNvbnN0cmFpbnRzLgoKMjAwNy0xMS0yMyAxNzo1MzozNyArMDAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm9Abm52YS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBwYXQtaW5mbyBpcyBub3cgYSBzaWduYWwgbm90IGEgR09iamVjdCBwcm9wZXJ0eSB0aGF0IGdldHMgbm90aWZpZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogQWxlc3NhbmRybyBEZWNpbmEKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmg6CgkgIHBhdC1pbmZvIGlzIG5vdyBhIHNpZ25hbCBub3QgYSBHT2JqZWN0IHByb3BlcnR5IHRoYXQKCSAgZ2V0cyBub3RpZmllZC4KCSAgcGF0LWluZm8sIHBtdC1pbmZvIG5vdyBpbnN0ZWFkIG9mIHBhc3NpbmcgYSBHT2JqZWN0IGFzCgkgIGEgcGFyYW1ldGVyLCBwYXNzIGEgR3N0U3RydWN0dXJlLgoJICBOZXcgc2lnbmFsczogbml0LWluZm8sIHNkdC1pbmZvLCBlaXQtaW5mbyBmb3IgRFZCIFNJIGluZm9ybWF0aW9uCgkgICogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5jOgoJICAqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuaDoKCSAgKiBzeXMvZHZiL2NhbWRldmljZS5jOgoJICAqIHN5cy9kdmIvY2FtZGV2aWNlLmg6CgkgICogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJICAqIHN5cy9kdmIvY2Ftc3djbGllbnQuaDoKCSAgKiBzeXMvZHZiL2NhbXV0aWxzLmM6CgkgICogc3lzL2R2Yi9jYW11dGlscy5oOgoJICBDYW0gY29kZSBub3cgdXNlcyB0aGUgcG10IEdzdFN0cnVjdHVyZSBwYXNzZWQgZnJvbSBtcGVndHNwYXJzZQoJICBzaWduYWxzIHJhdGhlciB0aGFuIHRoZSBHT2JqZWN0LgoJICAqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBVc2UgbmV3IHNpZ25hbHMgaW4gbXBlZ3RzcGFyc2UgYW5kIHVzZSBHc3RTdHJ1Y3R1cmVzIGFzIHBlcgoJICBtcGVndHNwYXJzZSdzIG1vZGlmaWVkIEFQSS4KCjIwMDctMTEtMjMgMTc6MzU6MjEgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldHlwZXMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdHlwZXMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdHlwZXMuaDoKCSAgTm93IHBhcnNlciBpcyBnZW5lcmljIChqdXN0IGFkZC9yZW1vdmUgYSBsaXN0IG9mIGNodW5rcykuIEFuZCBhIHRlbXBsYXRlIG9mIG11eGVyIGhhcyBiZWVuIGNyZWF0ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBOb3cgcGFyc2VyIGlzIGdlbmVyaWMgKGp1c3QgYWRkL3JlbW92ZSBhIGxpc3Qgb2YgY2h1bmtzKS4gQW5kIGEgdGVtcGxhdGUgb2YgbXV4ZXIgaGFzIGJlZW4gY3JlYXRlZC4KCjIwMDctMTEtMjMgMTA6MjE6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzogT25seSBwb3N0IHRoZSBsYXRlbmN5IG1lc3NhZ2UgaWYgd2UgaGF2ZSBhIHJlc2FtcGxlciBzdGF0ZSBhbHJlYWR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfdXBkYXRlX3N0YXRlKToKCSAgT25seSBwb3N0IHRoZSBsYXRlbmN5IG1lc3NhZ2UgaWYgd2UgaGF2ZSBhIHJlc2FtcGxlciBzdGF0ZSBhbHJlYWR5LgoKMjAwNy0xMS0yMyAxMDoyMToxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiAoZ3N0X2F1ZGlvcmVzYW1wbGVfaW5pdCksCgkgIChhdWRpb3Jlc2FtcGxlX3F1ZXJ5KSwgKGF1ZGlvcmVzYW1wbGVfcXVlcnlfdHlwZSksCgkgIChnc3RfYXVkaW9yZXNhbXBsZV9zZXRfcHJvcGVydHkpOgoJICBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeS4KCjIwMDctMTEtMjMgMTA6MDE6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzogQWxzbyBwb3N0IEdTVF9NRVNTQUdFX0xBVEVOQ1kgaWYgdGhlIGxhdGVuY3kgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3VwZGF0ZV9zdGF0ZSk6CgkgIEFsc28gcG9zdCBHU1RfTUVTU0FHRV9MQVRFTkNZIGlmIHRoZSBsYXRlbmN5IGNoYW5nZXMuCgoyMDA3LTExLTIzIDA4OjQ4OjUwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS86IEFkZCBmdW5jdGlvbnMgdG8gcHVzaCB0aGUgcmVtYWluaW5nIHNhbXBsZXMgYW5kIHRvIGdldCB0aGUgbGF0ZW5jeSBvZiB0aGUgcmVzYW1wbGVyLiBUaGVzZSB3aWxsIGcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvcmVzYW1wbGUuYzogKHNwZWV4X3Jlc2FtcGxlcl9nZXRfbGF0ZW5jeSksCgkgIChzcGVleF9yZXNhbXBsZXJfZHJhaW5fZmxvYXQpLCAoc3BlZXhfcmVzYW1wbGVyX2RyYWluX2ludCksCgkgIChzcGVleF9yZXNhbXBsZXJfZHJhaW5faW50ZXJsZWF2ZWRfZmxvYXQpLAoJICAoc3BlZXhfcmVzYW1wbGVyX2RyYWluX2ludGVybGVhdmVkX2ludCk6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX3dyYXBwZXIuaDoKCSAgQWRkIGZ1bmN0aW9ucyB0byBwdXNoIHRoZSByZW1haW5pbmcgc2FtcGxlcyBhbmQgdG8gZ2V0IHRoZSBsYXRlbmN5CgkgIG9mIHRoZSByZXNhbXBsZXIuIFRoZXNlIHdpbGwgZ2V0IGFkZGVkIHRvIFNwZWV4IFNWTiBpbiB0aGlzIG9yIGEKCSAgc2xpZ2h0bHkgY2hhbmdlZCBmb3JtIGF0IHNvbWUgcG9pbnQgdG9vIGFuZCBzaG91bGQgZ2V0IG1lcmdlZCB0aGVuCgkgIGFnYWluLgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzogKGdzdF9zcGVleF9yZXNhbXBsZV9pbml0KSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9pbml0X3N0YXRlKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV90cmFuc2Zvcm1fc2l6ZSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHVzaF9kcmFpbiksIChnc3Rfc3BlZXhfcmVzYW1wbGVfZXZlbnQpLAoJICAoZ3N0X3NwZWV4X2ZpeF9vdXRwdXRfYnVmZmVyKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9wcm9jZXNzKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9xdWVyeSksIChnc3Rfc3BlZXhfcmVzYW1wbGVfcXVlcnlfdHlwZSk6CgkgIERyb3AgdGhlIHByZXBlbmRpbmcgemVyb2VzIGFuZCBvdXRwdXQgdGhlIHJlbWFpbmluZyBzYW1wbGVzIG9uIEVPUy4KCSAgQWxzbyBwcm9wZXJseSBpbXBsZW1lbnQgdGhlIGxhdGVuY3kgcXVlcnkgZm9yIHRoaXMuIHNwZWV4cmVzYW1wbGUKCSAgc2hvdWxkIGJlIGNvbXBsZXRlbHkgcmVhZHkgZm9yIHByb2R1Y3Rpb24gdXNlIG5vdy4KCjIwMDctMTEtMjIgMDk6MDg6MjcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogaml0dGVyYnVmZmVyIGNhbiBidWZmZXIgYW4gdW5saW1pdGVkIGFtb3VudCBvZiB0aW1lIGFuZCB0aHVzIGhhcyBubyBtYXhfbGF0ZW5jeSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpOgoJICBqaXR0ZXJidWZmZXIgY2FuIGJ1ZmZlciBhbiB1bmxpbWl0ZWQgYW1vdW50IG9mIHRpbWUgYW5kIHRodXMgaGFzIG5vCgkgIG1heF9sYXRlbmN5IHJlcXVpcmVtZW50cy4KCjIwMDctMTEtMjEgMTA6MTg6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlL1JFQURNRTogQWRkIFJFQURNRSBleHBsYWluaW5nIHdoZXJlIHRoZSByZXNhbXBsaW5nIGNvZGUgd2FzIHRha2VuIGZyb20gYW5kIHdoaWNoIGNoYW5nZXMgd2VyZSBkb25lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9SRUFETUU6CgkgIEFkZCBSRUFETUUgZXhwbGFpbmluZyB3aGVyZSB0aGUgcmVzYW1wbGluZyBjb2RlIHdhcyB0YWtlbiBmcm9tCgkgIGFuZCB3aGljaCBjaGFuZ2VzIHdlcmUgZG9uZS4KCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9yZXNhbXBsZS5jOiAoc3BlZXhfYWxsb2MpLCAoc3BlZXhfcmVhbGxvYyksCgkgIChzcGVleF9mcmVlKToKCSAgVXNlIGdfbWFsbG9jKCkgYW5kIGZyaWVuZHMgaW5zdGVhZCBvZiBtYWxsb2MoKSB0byBhY2hpZXZlIGhpZ2hlcgoJICBwb3J0YWJpbGl0eSBhbmQgZGVmaW5lIHRoZSBmdW5jdGlvbnMgaW5saW5lLgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlci5oOgoJICBBZGQgYmFjayBzb21lIHVzZWxlc3MgcHJlcHJvY2Vzc29yIHN0dWZmIHRvIGtlZXAgdGhlIGRpZmYgYmV0d2VlbgoJICBvdXIgdmVyc2lvbiBhbmQgdGhlIG9uZSBmcm9tIHRoZSBTcGVleCBTVk4gcmVwb3NpdG9yeSBsb3dlci4KCjIwMDctMTEtMjEgMDk6NTY6NTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBQb3N0IGEgR1NUX01FU1NBR0VfTEFURU5DWSBpZiB0aGUgbGF0ZW5jeSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGJwd3NpbmNfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGxwd3NpbmNfc2V0X3Byb3BlcnR5KToKCSAgUG9zdCBhIEdTVF9NRVNTQUdFX0xBVEVOQ1kgaWYgdGhlIGxhdGVuY3kgY2hhbmdlcy4KCjIwMDctMTEtMjEgMDk6NDU6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZmFhYy9nc3RmYWFjLmM6IERvbid0IHRyeSB0byBmbHVzaCB0aGUgZGVjb2RlciBvbiBFT1Mgd2hlbiBpdCB3YXMgbm90IGluaXRpYWxpemVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19zaW5rX2V2ZW50KToKCSAgRG9uJ3QgdHJ5IHRvIGZsdXNoIHRoZSBkZWNvZGVyIG9uIEVPUyB3aGVuIGl0IHdhcyBub3QgaW5pdGlhbGl6ZWQuCgkgIEZpeGVzICM0OTg2NjcKCjIwMDctMTEtMjEgMDk6NDA6MDggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzogRml4IGJ1aWxkIG9uIE1hYyBPUyBYLiAobWlzc2luZyBmb3JtYXQgcGFyYW1ldGVyKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMS0yMSAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOiAoZ3N0X3NkbGF1ZGlvX3Npbmtfd3JpdGUpOiBGaXggYnVpbGQKCSAgb24gTWFjIE9TIFguIChtaXNzaW5nIGZvcm1hdCBwYXJhbWV0ZXIpCgoyMDA3LTExLTIxIDA4OjIxOjEwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyLzogUmVtb3ZlIHByZXNldCBpZmFjZSBhZ2Fpbi4gV2UnbGwgcmUtYWRkIHRoaXMgYWZ0ZXIgaXRzIGJlZW4gcmVsZWFzZWQgaW4gLWdvb2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgIFJlbW92ZSBwcmVzZXQgaWZhY2UgYWdhaW4uIFdlJ2xsIHJlLWFkZCB0aGlzIGFmdGVyIGl0cyBiZWVuIHJlbGVhc2VkCgkgIGluIC1nb29kLgoKMjAwNy0xMS0yMCAyMDoyMzoyNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOiBTb21lIHNtYWxsIGNsZWFudXAgYW5kIGFkZGl0aW9uIG9mIGEgVE9ETyBpdGVtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgIChnc3Rfc3BlZXhfZml4X291dHB1dF9idWZmZXIpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3RyYW5zZm9ybSk6CgkgIFNvbWUgc21hbGwgY2xlYW51cCBhbmQgYWRkaXRpb24gb2YgYSBUT0RPIGl0ZW0uCgoyMDA3LTExLTIwIDEyOjU2OjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS9NYWtlZmlsZS5hbTogQWRkIG1pc3NpbmcgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgIEFkZCBtaXNzaW5nIGZpbGUuCgoyMDA3LTExLTIwIDA3OjUyOjEzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC86IEFkZCBtaXNzaW5nIGluc3BlY3Rpb24gZmlsZXMgdG8gQ1ZTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3dpdGNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgQWRkIG1pc3NpbmcgaW5zcGVjdGlvbiBmaWxlcyB0byBDVlMuCgoyMDA3LTExLTIwIDA3OjQ3OjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgc3BlZXhyZXNhbXBsZSB0byB0aGUgZG9jcyBhbmQgd2hpbGUgYXQgdGhhdCBkbyBhIG1ha2UgdXBkYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5oOgoJICBBZGQgc3BlZXhyZXNhbXBsZSB0byB0aGUgZG9jcyBhbmQgd2hpbGUgYXQgdGhhdCBkbyBhIG1ha2UgdXBkYXRlLgoKMjAwNy0xMS0yMCAwNzozMDozMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOiBJZiB0aGUgcmVzYW1wbGVyIGdpdmVzIGxlc3Mgb3V0cHV0IHNhbXBsZXMgdGhhbiBleHBlY3RlZCBhZGp1c3QgdGhlIG91dHB1dCBidWZmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9maXhfb3V0cHV0X2J1ZmZlciksIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHJvY2Vzcyk6CgkgIElmIHRoZSByZXNhbXBsZXIgZ2l2ZXMgbGVzcyBvdXRwdXQgc2FtcGxlcyB0aGFuIGV4cGVjdGVkCgkgIGFkanVzdCB0aGUgb3V0cHV0IGJ1ZmZlciBhbmQgcHJpbnQgYSB3YXJuaW5nLgoKMjAwNy0xMS0yMCAwNzowMjo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIHJlc2FtcGxlIGVsZW1lbnQgYmFzZWQgb24gdGhlIFNwZWV4IHJlc2FtcGxpbmcgYWxnb3JpdGhtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvYXJjaC5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2ZpeGVkX2dlbmVyaWMuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfYmFzZV9pbml0KSwgKGdzdF9zcGVleF9yZXNhbXBsZV9jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9pbml0KSwgKGdzdF9zcGVleF9yZXNhbXBsZV9zdGFydCksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfc3RvcCksIChnc3Rfc3BlZXhfcmVzYW1wbGVfZ2V0X3VuaXRfc2l6ZSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfdHJhbnNmb3JtX2NhcHMpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2luaXRfc3RhdGUpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3VwZGF0ZV9zdGF0ZSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcmVzZXRfc3RhdGUpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3BhcnNlX2NhcHMpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3RyYW5zZm9ybV9zaXplKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9zZXRfY2FwcyksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfZXZlbnQpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2NoZWNrX2Rpc2NvbnQpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3Byb2Nlc3MpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3RyYW5zZm9ybSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9nZXRfcHJvcGVydHkpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9yZXNhbXBsZS5jOiAoc3BlZXhfYWxsb2MpLCAoc3BlZXhfcmVhbGxvYyksCgkgIChzcGVleF9mcmVlKSwgKGNvbXB1dGVfZnVuYyksIChtYWluKSwgKHNpbmMpLCAoY3ViaWNfY29lZiksCgkgIChyZXNhbXBsZXJfYmFzaWNfZGlyZWN0X3NpbmdsZSksIChyZXNhbXBsZXJfYmFzaWNfZGlyZWN0X2RvdWJsZSksCgkgIChyZXNhbXBsZXJfYmFzaWNfaW50ZXJwb2xhdGVfc2luZ2xlKSwKCSAgKHJlc2FtcGxlcl9iYXNpY19pbnRlcnBvbGF0ZV9kb3VibGUpLCAodXBkYXRlX2ZpbHRlciksCgkgIChzcGVleF9yZXNhbXBsZXJfaW5pdCksIChzcGVleF9yZXNhbXBsZXJfaW5pdF9mcmFjKSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9kZXN0cm95KSwgKHNwZWV4X3Jlc2FtcGxlcl9wcm9jZXNzX25hdGl2ZSksCgkgIChzcGVleF9yZXNhbXBsZXJfcHJvY2Vzc19mbG9hdCksIChzcGVleF9yZXNhbXBsZXJfcHJvY2Vzc19pbnQpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfaW50ZXJsZWF2ZWRfZmxvYXQpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfaW50ZXJsZWF2ZWRfaW50KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9zZXRfcmF0ZSksIChzcGVleF9yZXNhbXBsZXJfZ2V0X3JhdGUpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3NldF9yYXRlX2ZyYWMpLCAoc3BlZXhfcmVzYW1wbGVyX2dldF9yYXRpbyksCgkgIChzcGVleF9yZXNhbXBsZXJfc2V0X3F1YWxpdHkpLCAoc3BlZXhfcmVzYW1wbGVyX2dldF9xdWFsaXR5KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9zZXRfaW5wdXRfc3RyaWRlKSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9nZXRfaW5wdXRfc3RyaWRlKSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9zZXRfb3V0cHV0X3N0cmlkZSksCgkgIChzcGVleF9yZXNhbXBsZXJfZ2V0X291dHB1dF9zdHJpZGUpLCAoc3BlZXhfcmVzYW1wbGVyX3NraXBfemVyb3MpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3Jlc2V0X21lbSksIChzcGVleF9yZXNhbXBsZXJfc3RyZXJyb3IpOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlci5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl9mbG9hdC5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl9pbnQuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfd3JhcHBlci5oOgoJICBBZGQgcmVzYW1wbGUgZWxlbWVudCBiYXNlZCBvbiB0aGUgU3BlZXggcmVzYW1wbGluZyBhbGdvcml0aG0uCgoyMDA3LTExLTE5IDIyOjA5OjM2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmg6CgkgIEZpeGVkIGJ1ZmZlciBzdHJpcCAoc2FmZXIgd2lsIHB1bGwgYW5kIGFmdGVyIHNlZWspLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgYnVmZmVyIHN0cmlwIChzYWZlciB3aWwgcHVsbCBhbmQgYWZ0ZXIgc2VlaykuCgoyMDA3LTExLTE5IDIwOjMwOjE5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyLzogQWN0aXZhdGUgcHJlc2V0IGlmYWNlIGFuZCB1cGxvYWQgdHdvIHByZXNldHMgaGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgQWN0aXZhdGUgcHJlc2V0IGlmYWNlIGFuZCB1cGxvYWQgdHdvIHByZXNldHMgaGVyZS4KCjIwMDctMTEtMTkgMTM6MDU6MjMgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuaDoKCSAgU3RyaXAgb3V0IGluIHB1bGwgbW9kZSBhbHNvLiBTZWVrIGFuZCBRdWVyeSBmdW5jdGlvbnMgYWRkZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTdHJpcCBvdXQgaW4gcHVsbCBtb2RlIGFsc28uIFNlZWsgYW5kIFF1ZXJ5IGZ1bmN0aW9ucyBhZGRlZC4KCjIwMDctMTEtMTggMjE6MDY6NTEgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2UuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXR5cGVzLmg6CgkgIFN0cmlwIG91dCBtZXRhZGF0YSBjaHVua3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTdHJpcCBvdXQgbWV0YWRhdGEgY2h1bmtzLgoKMjAwNy0xMS0xNiAxMToxMTowNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjOiBBbHMgdXNlIEFHX0dTVF9QTFVHSU5fRE9DUyAoc2VlICMzNDQwMzkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEFscyB1c2UgQUdfR1NUX1BMVUdJTl9ET0NTIChzZWUgIzM0NDAzOSkuCgoyMDA3LTExLTE1IDE5OjAzOjMzICswMDAwICBXYWktTWluZyBIbyA8d2VicmVnYm94QHlhaG9vLmNvLnVrPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzogRW5zdXJlIHRoYXQgdGhlIHBsdWdpbiBkb2VzIG5vdCBjcmFzaCB3aGVuIHRoZSBwcm9wZXJ0eSBwYXQtaW5mbyBpcyBxdWVyaWVkIGJlZm9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV2FpLU1pbmcgSG8gPHdlYnJlZ2JveCBhdCB5YWhvbyBkb3QgY28gZG90IHVrPgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6IChmb3JlYWNoX3N0cmVhbV9jbGVhciksCgkgIChyZW1vdmVfYWxsKSwgKG1wZWd0c19wYWNrZXRpemVyX2NsZWFyKToKCSAgRW5zdXJlIHRoYXQgdGhlIHBsdWdpbiBkb2VzIG5vdCBjcmFzaCB3aGVuIHRoZSBwcm9wZXJ0eSBwYXQtaW5mbyBpcwoJICBxdWVyaWVkIGJlZm9yZSBhIFBBVCBpcyBhdmFpbGFibGUuIEl0IGFsc28gZW5zdXJlcyB0aGF0IHRoZSBQQVQgaW5mbyBpcwoJICBjbGVhcmVkIHdoZW4gdGhlIGNoYW5naW5nIGZyb20gUExBWUlORyB0byBSRUFEWS4KCSAgRml4ZXMgIzQ4Nzg5Mi4KCjIwMDctMTEtMTUgMTg6NTM6NTYgKzAwMDAgIFdvdXRlciBQYWVzZW4gPHdvdXRlckBibHVlLWdhdGUuYmU+CgoJICBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzogSGFuZGxlIHNlZWtpbmcgY29ycmVjdGx5LiBGaXhlcyAjNDYxMDY4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBQYWVzZW4gPHdvdXRlciBhdCBibHVlLWdhdGUgZG90IGJlPgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBIYW5kbGUgc2Vla2luZyBjb3JyZWN0bHkuIEZpeGVzICM0NjEwNjguCgoyMDA3LTExLTE1IDE4OjQxOjMxICswMDAwICBNaWNoYWVsIEvDtnR0ZXIgPG0ua29ldHRlckBvcmFpc2UuZGU+CgoJICBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzogRml4IHNhbXBsZSByYXRlIGFuZCBjbG9ja2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNaWNoYWVsIEvDtnR0ZXIgPG0gZG90IGtvZXR0ZXIgYXQgb3JhaXNlIGRvdCBkZT4KCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzogKGFsc2FzcGRpZnNpbmtfc2V0X2NhcHMpLAoJICAoYWxzYXNwZGlmc2lua19nZXRfdGltZSksIChhbHNhc3BkaWZzaW5rX29wZW4pLAoJICAoYWxzYXNwZGlmc2lua19zZXRfcGFyYW1zKSwgKGFsc2FzcGRpZnNpbmtfZGVsYXkpLCAocGx1Z2luX2luaXQpOgoJICBGaXggc2FtcGxlIHJhdGUgYW5kIGNsb2NraW5nLgoJICBSZW1vdmUgYnVmZmVyX3RpbWUgYW5kIHBlcmlvZF90aW1lIGFzIHRoaXMgc2VlbXMgdG8gYnJlYWsgb24gc29tZQoJICBoYXJkd2FyZS4gRml4ZXMgIzQ4NTQ2Mi4KCjIwMDctMTEtMTUgMTc6MjY6MjUgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBBZGRlZCBIVFRQIHNvdXJjZSBiYXNlZCBvbiBsaWJzb3VwLiBGaXhlcyAjNDk3MDIwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdXAvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKF9kb19pbml0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfYmFzZV9pbml0KSwgKGdzdF9zb3VwaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBodHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zb3VwaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfY3JlYXRlKSwgKGdzdF9zb3VwaHR0cF9zcmNfc3RhcnQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zdG9wKSwgKGdzdF9zb3VwaHR0cF9zcmNfdW5sb2NrKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2V0X2xvY2F0aW9uKSwgKHNvdXBfZ290X2NodW5rKSwgKHNvdXBfcmVzcG9uc2UpLAoJICAoc291cF9zZXNzaW9uX2Nsb3NlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBBZGRlZCBIVFRQIHNvdXJjZSBiYXNlZCBvbiBsaWJzb3VwLiBGaXhlcyAjNDk3MDIwLgoKMjAwNy0xMS0xNSAxNTozMjo0NyArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IGRvbid0IGZvcmdldCB0byBoYW5kbGUgdGhlIG9mZnNldCdzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgIGRvbid0IGZvcmdldCB0byBoYW5kbGUgdGhlIG9mZnNldCdzCgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIHByZWNhbGN1bGF0ZSBzb21lIG1hbnkgdXNlZCB2YWx1ZXMKCjIwMDctMTEtMTUgMDg6Mjg6MjkgKzAwMDAgIEFybWFuZG8gVGFmZmFyZWwgTmV0byA8dGFmZmFyZWxAc29saXMuY29vcC5icj4KCgkgIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IFNldCB0aGUgdGltZXN0YW1wIGZvciB0aGUgb3V0cHV0IGJ1ZmZlcnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBBcm1hbmRvIFRhZmZhcmVsIE5ldG8gPHRhZmZhcmVsQHNvbGlzLmNvb3AuYnI+CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgU2V0IHRoZSB0aW1lc3RhbXAgZm9yIHRoZSBvdXRwdXQgYnVmZmVycwoKMjAwNy0xMS0xNCAxNzowMzoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzogRml4IHNwZWN0cnVtIHVuaXQgdGVzdCBmb3IgdGhlIGxhdGVzdCBzcGVjdHJ1bSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBGaXggc3BlY3RydW0gdW5pdCB0ZXN0IGZvciB0aGUgbGF0ZXN0IHNwZWN0cnVtIGNoYW5nZXMuCgoyMDA3LTExLTEyIDIxOjA3OjMxICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5jOiBBdm9pZCBzbG93ZG93biBmcm9tIGRlbm9ybWFscyB3aGVuIHByb2Nlc3NpbmcgbmVhci1zaWxlbmNlIGlucHV0IGRhdGEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciA8bWFpbCBhdCByZW5lc3RhZGxlciBkb3QgZGU+CgkgICogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5jOiAoeXVsZV9maWx0ZXIpOgoJICBBdm9pZCBzbG93ZG93biBmcm9tIGRlbm9ybWFscyB3aGVuIHByb2Nlc3NpbmcgbmVhci1zaWxlbmNlIGlucHV0IGRhdGEuCgkgIFNwb3R0ZWQgYnkgR2FicmllbCBCb3V2aWduZS4gRml4ZXMgIzQ5NDQ5OS4KCjIwMDctMTEtMTIgMTk6MjI6MjQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IEFkZCBtYXBwaW5nIGZvciBOZWxseW1vc2VyIEFTQU8gYXVkaW8gY29kZWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgQWRkIG1hcHBpbmcgZm9yIE5lbGx5bW9zZXIgQVNBTyBhdWRpbyBjb2RlYy4KCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKTogTWFrZSBzdXJlIHdlCgkgIGFjdHVhbGx5IGhhdmUgZGF0YSB0byByZWFkIGF0IHRoZSBlbmQgb2YgdGhlIHRhZy4gVGhpcyBhdm9pZHMgdHJ5aW5nCgkgIHRvIGFsbG9jYXRlIG5lZ2F0aXZlIGJ1ZmZlcnMuCgoyMDA3LTExLTEyIDE3OjI3OjAzICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9SRUFETUU6CgkgIEFkZGVkIGEgZGVzaWduIHByb3Bvc2FsIGZyb20gbWV0YWRhdGEgcGFyc2UgYW5kIG11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZGVkIGEgZGVzaWduIHByb3Bvc2FsIGZyb20gbWV0YWRhdGEgcGFyc2UgYW5kIG11eC4KCjIwMDctMTEtMTEgMjE6MTI6MTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC86IENoYW5nZSB0aGUgbWVhbmluZyBvZiB0aGUgbWFnbml0dWRlIHZhbHVlcyBnaXZlbiBpbiB0aGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9kZW1vLmM6IChkcmF3X3NwZWN0cnVtKToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzogKGRyYXdfc3BlY3RydW0pOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAoZHJhd19zcGVjdHJ1bSk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCk6CgkgIENoYW5nZSB0aGUgbWVhbmluZyBvZiB0aGUgbWFnbml0dWRlIHZhbHVlcyBnaXZlbiBpbiB0aGUKCSAgR3N0TWVzc2FnZXMgYnkgc3BlY3RydW0gdG8gZGVjaWJlbCBpbnN0ZWFkIG9mCgkgIGRlY2liZWwrdGhyZXNob2xkLgoKMjAwNy0xMS0xMSAxMzo1NToyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci86IEFuZCBjb250aW51ZSB0byB1cGRhdGUgZG9jcy4gQWxzbyBpbmNsdWRlIHNvbWUgc2FtcGxlIGNvZGUgZm9yIHRoZSBuLWJhbmQgZXF1YWxpemVyIGluIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIEFuZCBjb250aW51ZSB0byB1cGRhdGUgZG9jcy4gQWxzbyBpbmNsdWRlIHNvbWUgc2FtcGxlIGNvZGUKCSAgZm9yIHRoZSBuLWJhbmQgZXF1YWxpemVyIGluIHRoZSBkb2NzLgoKMjAwNy0xMS0xMSAxMjo1NDozMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci86IFVwZGF0ZSBkb2NzIGFuZCBwcm9wZXJ0eSByYW5nZXMgdG8gdGhlIHJlYWwgdmFsdWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyXzNiYW5kc19jbGFzc19pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICBVcGRhdGUgZG9jcyBhbmQgcHJvcGVydHkgcmFuZ2VzIHRvIHRoZSByZWFsIHZhbHVlcy4KCjIwMDctMTEtMDkgMTc6Mjc6MDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBOb3cgZG8gdGhlIHNjYWxpbmcgcmlnaHQgZm9yIHJlYWwuIEFsc28gaW5pdGlhbGl6ZSBhIHByZXZpb3VzbHkgdW5pbml0aWFsaXplZCB2YXJpYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIE5vdyBkbyB0aGUgc2NhbGluZyByaWdodCBmb3IgcmVhbC4gQWxzbyBpbml0aWFsaXplIGEgcHJldmlvdXNseQoJICB1bmluaXRpYWxpemVkIHZhcmlhYmxlLgoKMjAwNy0xMS0wOSAxNTo1MzoxMyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXhtcC5jOgoJICBFeHRyYWN0aW5nIG1vcmUgZGV0YWlsZWQgaW5mbyBmcm9tIFhNUC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEV4dHJhY3RpbmcgbW9yZSBkZXRhaWxlZCBpbmZvIGZyb20gWE1QLgoKMjAwNy0xMS0wOCAxNTo1Njo0NiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci9kZW1vLmM6IE1ha2UgZGVmYXVsdCB2b2x1bWUgYSBiaXQgbGVzcy4gSW1wcm92ZSBsYXlvdXQgYnkgZ2l2aW5nIG1vcmUgc3BhY2UgdG8gdGhlIHNsaWRlciB3aXRoIGJpZy1udW1iLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZGVtby5jOgoJICBNYWtlIGRlZmF1bHQgdm9sdW1lIGEgYml0IGxlc3MuIEltcHJvdmUgbGF5b3V0IGJ5IGdpdmluZyBtb3JlIHNwYWNlIHRvCgkgIHRoZSBzbGlkZXIgd2l0aCBiaWctbnVtYmVycyBhbmQgZW5hYmxlIGZpbGwuCgoyMDA3LTExLTA3IDE2OjQ3OjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBSZXF1aXJlIEdJTyA+PSAwLjEuMiBhbmQgYWRqdXN0IHVuaXQgdGVzdCBmb3IgYW4gQVBJIGNoYW5nZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9naW8uYzogKEdTVF9TVEFSVF9URVNUKToKCSAgUmVxdWlyZSBHSU8gPj0gMC4xLjIgYW5kIGFkanVzdCB1bml0IHRlc3QgZm9yIGFuIEFQSSBjaGFuZ2UuCgoyMDA3LTExLTA3IDE1OjM2OjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOiBGaXggZ2FpbiByYW5nZXMgZm9yIHRoZSBsYXRlc3QgZXF1YWxpemVyIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6IChkb19zbGlkZXJfZmlkZGxpbmcpOgoJICBGaXggZ2FpbiByYW5nZXMgZm9yIHRoZSBsYXRlc3QgZXF1YWxpemVyIGNoYW5nZXMuCgoyMDA3LTExLTA3IDE1OjE4OjU0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZ2lvL2dzdGdpby5oOiBBZGQgbWFjcm8gdG8gY2hlY2sgaWYgYSBzdHJlYW0gc3VwcG9ydHMgc2Vla2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dpby9nc3RnaW8uaDoKCSAgQWRkIG1hY3JvIHRvIGNoZWNrIGlmIGEgc3RyZWFtIHN1cHBvcnRzIHNlZWtpbmcuCgkgICogZXh0L2dpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzaW5rLmM6IChnc3RfZ2lvX2Jhc2Vfc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2dpb19iYXNlX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfZ2lvX2Jhc2Vfc2lua19pbml0KSwKCSAgKGdzdF9naW9fYmFzZV9zaW5rX2ZpbmFsaXplKSwgKGdzdF9naW9fYmFzZV9zaW5rX3N0YXJ0KSwKCSAgKGdzdF9naW9fYmFzZV9zaW5rX3N0b3ApLCAoZ3N0X2dpb19iYXNlX3NpbmtfdW5sb2NrKSwKCSAgKGdzdF9naW9fYmFzZV9zaW5rX3VubG9ja19zdG9wKSwgKGdzdF9naW9fYmFzZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9naW9fYmFzZV9zaW5rX3JlbmRlciksIChnc3RfZ2lvX2Jhc2Vfc2lua19xdWVyeSksCgkgIChnc3RfZ2lvX2Jhc2Vfc2lua19zZXRfc3RyZWFtKToKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzaW5rLmg6CgkgICogZXh0L2dpby9nc3RnaW9iYXNlc3JjLmM6IChnc3RfZ2lvX2Jhc2Vfc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2lvX2Jhc2Vfc3JjX2NsYXNzX2luaXQpLCAoZ3N0X2dpb19iYXNlX3NyY19pbml0KSwKCSAgKGdzdF9naW9fYmFzZV9zcmNfZmluYWxpemUpLCAoZ3N0X2dpb19iYXNlX3NyY19zdGFydCksCgkgIChnc3RfZ2lvX2Jhc2Vfc3JjX3N0b3ApLCAoZ3N0X2dpb19iYXNlX3NyY19nZXRfc2l6ZSksCgkgIChnc3RfZ2lvX2Jhc2Vfc3JjX2lzX3NlZWthYmxlKSwgKGdzdF9naW9fYmFzZV9zcmNfdW5sb2NrKSwKCSAgKGdzdF9naW9fYmFzZV9zcmNfdW5sb2NrX3N0b3ApLCAoZ3N0X2dpb19iYXNlX3NyY19jaGVja19nZXRfcmFuZ2UpLAoJICAoZ3N0X2dpb19iYXNlX3NyY19jcmVhdGUpLCAoZ3N0X2dpb19iYXNlX3NyY19zZXRfc3RyZWFtKToKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzcmMuaDoKCSAgUmVmYWN0b3IgY29tbW9uIEdJTyBmdW5jdGlvbnMgdG8gR3N0R2lvQmFzZVNpbmsgYW5kIEdzdEdpb0Jhc2VTcmMKCSAgYmFzZSBjbGFzc2VzIHRoYXQgb25seSByZXF1aXJlIGEgR0lucHV0U3RyZWFtIG9yIEdPdXRwdXRTdHJlYW0gdG8KCSAgd29yay4KCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuYzogKGdzdF9naW9fc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2dpb19zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2dpb19zaW5rX2luaXQpLAoJICAoZ3N0X2dpb19zaW5rX2ZpbmFsaXplKSwgKGdzdF9naW9fc2lua19zdGFydCk6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmg6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuYzogKGdzdF9naW9fc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2lvX3NyY19jbGFzc19pbml0KSwgKGdzdF9naW9fc3JjX2luaXQpLAoJICAoZ3N0X2dpb19zcmNfZmluYWxpemUpLCAoZ3N0X2dpb19zcmNfc3RhcnQpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmg6CgkgIFVzZSB0aGUgbmV3bHkgY3JlYXRlZCBiYXNlIGNsYXNzZXMgaGVyZS4KCSAgKiBleHQvZ2lvL2dzdGdpby5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc2luay5jOiAoZ3N0X2dpb19zdHJlYW1fc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2dpb19zdHJlYW1fc2lua19jbGFzc19pbml0KSwgKGdzdF9naW9fc3RyZWFtX3NpbmtfaW5pdCksCgkgIChnc3RfZ2lvX3N0cmVhbV9zaW5rX2ZpbmFsaXplKSwgKGdzdF9naW9fc3RyZWFtX3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9naW9fc3RyZWFtX3NpbmtfZ2V0X3Byb3BlcnR5KToKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNpbmsuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNyYy5jOiAoZ3N0X2dpb19zdHJlYW1fc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2lvX3N0cmVhbV9zcmNfY2xhc3NfaW5pdCksIChnc3RfZ2lvX3N0cmVhbV9zcmNfaW5pdCksCgkgIChnc3RfZ2lvX3N0cmVhbV9zcmNfZmluYWxpemUpLCAoZ3N0X2dpb19zdHJlYW1fc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZ2lvX3N0cmVhbV9zcmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNyYy5oOgoJICBJbXBsZW1lbnQgR3N0R2lvU3RyZWFtU2luayBhbmQgR3N0R2lvU3RyZWFtU3JjIHRoYXQgaGF2ZSBhIHByb3BlcnR5CgkgIHRvIHNldCB0aGUgR0lucHV0U3RyZWFtL0dPdXRwdXRTdHJlYW0gdGhhdCBzaG91bGQgYmUgdXNlZC4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZ2lvLmM6IChtZXNzYWdlX2hhbmRsZXIpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoZ2lvX3Rlc3RzdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdCBmb3IgZ2lvc3RyZWFtc3JjIGFuZCBnaW9zdHJlYW1zaW5rLgoKMjAwNy0xMS0wNyAxMTo0ODowOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2dpby9nc3RnaW8uYzogUmVtb3ZlIG5vd2FkYXlzIHVubmVjZXNzYXJ5IHdvcmthcm91bmQgZm9yIGEgY3Jhc2guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9naW8vZ3N0Z2lvLmM6IChwbHVnaW5faW5pdCk6CgkgIFJlbW92ZSBub3dhZGF5cyB1bm5lY2Vzc2FyeSB3b3JrYXJvdW5kIGZvciBhIGNyYXNoLgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5jOiAoZ3N0X2dpb19zaW5rX2ZpbmFsaXplKSwKCSAgKGdzdF9naW9fc2lua19zdGFydCksIChnc3RfZ2lvX3Npbmtfc3RvcCksCgkgIChnc3RfZ2lvX3NpbmtfdW5sb2NrX3N0b3ApOgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmM6IChnc3RfZ2lvX3NyY19maW5hbGl6ZSksIChnc3RfZ2lvX3NyY19zdGFydCksCgkgIChnc3RfZ2lvX3NyY19zdG9wKSwgKGdzdF9naW9fc3JjX3VubG9ja19zdG9wKToKCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5oOgoJICBNYWtlIHRoZSBmaW5hbGl6ZSBmdW5jdGlvbiBzYWZlciwgY2xlYW4gdXAgZXZlcnl0aGluZyB0aGF0IGNvdWxkIHN0YXkKCSAgYXJvdW5kLgoJICBSZXNldCB0aGUgY2FuY2VsbGFibGUgaW5zdGVhZCBvZiBjcmVhdGluZyBhIG5ldyBvbmUgYWZ0ZXIgY2FuY2VsbGluZwoJICBzb21lIG9wZXJhdGlvbi4KCSAgRG9uJ3Qgc3RvcmUgdGhlIEdGaWxlIGluIHRoZSBlbGVtZW50LCBpdCdzIG9ubHkgbmVjZXNzYXJ5IGZvciBjcmVhdGluZwoJICB0aGUgc3RyZWFtcy4KCjIwMDctMTEtMDYgMTI6MjM6MzUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiBVc2UgYXV0b2F1ZGlvc2luayBpbnN0ZWFkIG9mIGFsc2FzaW5rIGFuZCB1c2UgYSBzaW5lIHdhdmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAobWFpbik6CgkgIFVzZSBhdXRvYXVkaW9zaW5rIGluc3RlYWQgb2YgYWxzYXNpbmsgYW5kIHVzZSBhIHNpbmUgd2F2ZS4KCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgRml4IHRoZSBtYWduaXR1ZGUgY2FsY3VsYXRpb24uCgoyMDA3LTExLTA0IDExOjA0OjI4ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNpbmsuKjogRml4IGNyYXNoZXIgaW4gY29uc3RydWN0b3IgZHVlIHRvIHRoZSBiYXNlIGNsYXNzJ3MgY29uc3RydWN0b3Igbm90IG5lY2Vzc2FyaWx5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzICA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJICAoQ0RzaG93RmFrZVNpbmsuQ0RzaG93RmFrZVNpbmspOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2Zha2VzaW5rLmg6IChDRHNob3dGYWtlU2luay5tX2hyZXMpOgoJICBGaXggY3Jhc2hlciBpbiBjb25zdHJ1Y3RvciBkdWUgdG8gdGhlIGJhc2UgY2xhc3MncyBjb25zdHJ1Y3RvcgoJICBub3QgbmVjZXNzYXJpbHkgYmVpbmcgTlVMTC1zYWZlIChkZXBlbmRzIG9uIHRoZSBTREsgdmVyc2lvbiB1c2VkCgkgIGFwcGFyZW50bHk7ICM0OTI0MDYpLgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jOiAoZ3N0X2RzaG93YXVkaW9zcmNfcHJlcGFyZSk6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmM6IChnc3RfZHNob3d2aWRlb3NyY19zZXRfY2Fwcyk6CgkgIEZpeCBhIGNvdXBsZSBvZiBNU1ZDIGNvbXBpbGVyIHdhcm5pbmdzICgjNDkyNDA2KS4KCjIwMDctMTEtMDMgMTk6NTA6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBBbGxvdyBzZXR0aW5nIDAgYXMgYmFuZHdpZHRoIGFuZCBoYW5kbGUgdGhpcyBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZGVtby5jOiAobWFpbik6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfY2xhc3NfaW5pdCksIChzZXR1cF9maWx0ZXIpOgoJICBBbGxvdyBzZXR0aW5nIDAgYXMgYmFuZHdpZHRoIGFuZCBoYW5kbGUgdGhpcyBjb3JyZWN0bHkuCgkgIEFsc28gaGFuZGxlIGEgYmFuZHdpZHRoIG9mIHJhdGUvMiBwcm9wZXJseS4KCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2NsYXNzX2luaXQpOgoJICBNYWtlIGl0IHBvc3NpYmxlIHRvIGdlbmVyYXRlIGEgTi1iYW5kIGVxdWFsaXplciB3aXRoIDEgYmFuZHMuIFRoZQoJICBwcmV2aW91cyBsaW1pdCBvZiAyIHdhcyBjYXVzZWQgYnkgYSBub3dhZGF5cyByZXBsYWNlZCBjYWxjdWxhdGlvbgoJICBkb2luZyBhIGRpdmlzaW9uIGJ5IHplcm8gaWYgbnVtYmVyIG9mIGJhbmRzIHdhcyAxLgoKMjAwNy0xMS0wMiAyMTo0NTozOCArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogRml4IGJhZCBmdW5jdGlvbiBzaWduYXR1cmVzICgjNDkyNzk4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIEZpeCBiYWQgZnVuY3Rpb24gc2lnbmF0dXJlcyAoIzQ5Mjc5OCkuCgoyMDA3LTExLTAyIDE2OjUwOjQyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2UuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlZXhpZi5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VpcHRjLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldXRpbC5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXhtcC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXhtcC5oOgoJICBBZGRlZCBzdXBwb3J0IGZvciBQTkcvWE1QLiBJbmRlbnRhdGlvbi4gQW5kIGZpeGVkIHB1bGwgbW9kZSB0byBwYXJzZSB0aGUgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZGVkIHN1cHBvcnQgZm9yIFBORy9YTVAuIEluZGVudGF0aW9uLiBBbmQgZml4ZWQgcHVsbCBtb2RlIHRvIHBhcnNlIHRoZSBmaWxlLgoKMjAwNy0xMS0wMiAxMjowMzowNCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJICBOb3cgbWV0YWRhdGFwYXJzZSB3b3JrcyBpbiBwdXNoIG9yIHB1bGwgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE5vdyBtZXRhZGF0YXBhcnNlIHdvcmtzIGluIHB1c2ggb3IgcHVsbCBtb2RlLgoKMjAwNy0xMS0wMSAxNjowNDoyOSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldXRpbC5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXhtcC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXhtcC5oOgoJICBTb21lIFhNUCBzdHVmZiBhZGRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNvbWUgWE1QIHN0dWZmIGFkZGVkLgoKMjAwNy0xMC0zMSAxNjoyMTowMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VleGlmLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWlwdGMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V4bXAuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V4bXAuaDoKCSAgTm93IHNlbmRpbmcgaXB0YyB0YWcgaW4gd2hvbGUgY2h1bmsuIFJlYWR5IHRvIGFsc28gc2VuZCBleGlmIGFuZCB4bXAgaW4gdGhlIHNhbWUgd2F5IChsb29rIGF0IGJ1ZyAjNDg2NjU5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE5vdyBzZW5kaW5nIGlwdGMgdGFnIGluIHdob2xlIGNodW5rLiBSZWFkeSB0byBhbHNvIHNlbmQgZXhpZiBhbmQgeG1wIGluIHRoZSBzYW1lIHdheSAobG9vayBhdCBidWcgIzQ4NjY1OSkuCgoyMDA3LTEwLTMxIDE0OjQ0OjU1ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6IFNvbWUgcmVmYWN0b3JpbmcgaW4gUkFXIGVuY29kaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICBTb21lIHJlZmFjdG9yaW5nIGluIFJBVyBlbmNvZGluZwoKMjAwNy0xMC0zMSAxNDowOToyNSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvOiBBZGRlZCBjb3B5cmVjdCBlbmNvZGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL2QzZGVzLmg6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5oOgoJICAqIGdzdC9saWJyZmIvcmZiYnVmZmVyLmg6CgkgICogZ3N0L2xpYnJmYi9yZmJjb250ZXh0Lmg6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgICogZ3N0L2xpYnJmYi9yZmJ1dGlsLmg6CgkgICogZ3N0L2xpYnJmYi92bmNhdXRoLmg6CgkgIEFkZGVkIGNvcHlyZWN0IGVuY29kaW5nCgoyMDA3LTEwLTMxIDEzOjMxOjA4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9jYW1zd2NsaWVudC5jOiBXYXJuIG9uIGZhaWxlZCB3cml0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJICBXYXJuIG9uIGZhaWxlZCB3cml0ZS4KCjIwMDctMTAtMzAgMjE6Mzc6NDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBBZGQgc21hbGwgZGVtbyBhcHBsaWNhdGlvbiBiYXNlZCBvbiB0aGUgc3BlY3RydW0gZGVtbyBhcHBsaWNhdGlvbnMgdGhhdCBnZXRzIHdoaXRlIG5vaXNlIGFzIGlucHV0LCBwdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvZGVtby5jOiAob25fd2luZG93X2Rlc3Ryb3kpLCAob25fY29uZmlndXJlX2V2ZW50KSwKCSAgKG9uX2dhaW5fY2hhbmdlZCksIChvbl9iYW5kd2lkdGhfY2hhbmdlZCksIChvbl9mcmVxX2NoYW5nZWQpLAoJICAoZHJhd19zcGVjdHJ1bSksIChtZXNzYWdlX2hhbmRsZXIpLCAobWFpbik6CgkgIEFkZCBzbWFsbCBkZW1vIGFwcGxpY2F0aW9uIGJhc2VkIG9uIHRoZSBzcGVjdHJ1bSBkZW1vIGFwcGxpY2F0aW9ucwoJICB0aGF0IGdldHMgd2hpdGUgbm9pc2UgYXMgaW5wdXQsIHB1c2hlcyBpdCB0aHJvdWdoIGFuIGVxdWFsaXplciBhbmQKCSAgcGFpbnRzIHRoZSBzcGVjdHJ1bS4gRm9yIGV2ZXJ5IGVxdWFsaXplciBiYW5kIGl0J3MgcG9zc2libGUgdG8gc2V0CgkgIGdhaW4sIGJhbmR3aWR0aCBhbmQgZnJlcXVlbmN5LgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChzZXR1cF9maWx0ZXIpOgoJICBBZGQgc29tZSBndWFyZGluZyBhZ2FpbnN0IHRvbyBsYXJnZSBvciB0b28gc21hbGwgZnJlcXVlbmNpZXMgYW5kCgkgIGJhbmR3aWR0aHMuIEFsc28gaW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQuCgoyMDA3LTEwLTMwIDIxOjE4OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBSZXBsYWNlIGZpbHRlcnMgd2l0aCBhIGJpdCBiZXR0ZXIgZmlsdGVycyBmb3Igd2hpY2ggd2UgY2FuIGFjdHVhbGx5IGZpbmQgZG9jdW1lbnRhdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfY2xhc3NfaW5pdCksIChhcmdfdG9fc2NhbGUpLAoJICAoc2V0dXBfZmlsdGVyKSwgKGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMpOgoJICBSZXBsYWNlIGZpbHRlcnMgd2l0aCBhIGJpdCBiZXR0ZXIgZmlsdGVycyBmb3Igd2hpY2ggd2UgY2FuIGFjdHVhbGx5CgkgIGZpbmQgZG9jdW1lbnRhdGlvbiwgd2hpY2ggZG9uJ3QgY2hhbmdlIGFueXRoaW5nIG9uIHplcm8gZ2FpbiwgZXRjLgoJICBNYWtlIHRoZSBmcmVxdWVuY3kgcHJvcGVydHkgb2YgdGhlIGJhbmRzIHdyaXRhYmxlLCByZW5hbWUgdGhlCgkgIGJhbmQtd2lkdGggcHJvcGVydHkgdG8gYmFuZHdpZHRoIGFuZCBjaGFuZ2UgdGhlCW1lYW5pbmcgdG8gdGhlCgkgIGZyZXF1ZW5jeSBkaWZmZXJlbmNlIGJldHdlZW4gYmFuZGVkZ2VzLCBjaGFuZ2UgdGhlIG1lYW5pbmcgb2YgdGhlCgkgIGdhaW4gcHJvcGVydHkgdG8gZEIgaW5zdGVhZCBvZiBhIHdlaXJkIHNjYWxlIGJldHdlZW4gLTEJYW5kIDEgdGhhdAoJICBoYXMgbm8gcmVhbCBtZWFuaW5nLgoKMjAwNy0xMC0zMCAyMDo1NToyNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL2R2Yi9kdmJiYXNlYmluLmM6IEZpeCB0aGUgYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBGaXggdGhlIGJ1aWxkLgoKMjAwNy0xMC0zMCAxODoyMToyMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvLmdpdGlnbm9yZToKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2UuaDoKCSAgQ2hhbmdlZCBrY2xhc3MgdG8gIlBhcnNlci9FeHRyYWN0ZXIvTWV0YWRhdGEiLCBjaGFuZ2VkIGNhcHMgdG8gImltYWdlL2pwZWcsIHRhZ3MtZXh0cmFjdD10cnVlL2ZhbHNlIiBhbmQgY2hhbmdlZCBwcmlvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VkIGtjbGFzcyB0byAiUGFyc2VyL0V4dHJhY3Rlci9NZXRhZGF0YSIsIGNoYW5nZWQgY2FwcyB0byAiaW1hZ2UvanBlZywgdGFncy1leHRyYWN0PXRydWUvZmFsc2UiIGFuZCBjaGFuZ2VkIHByaW9yaXR5IHRvIEdTVF9SQU5LX1BSSU1BUlkrMS4gQWxzbywgc3JjcGFkIGNhbiBvbmx5IHdvcmsgaW4gcHVzaCBtb2RlIHVudGlsIGZpeGVkIHRvIGFsc28gd29yayBpbiBwdWxsIG1vZGUuCgoyMDA3LTEwLTMwIDEyOjQ5OjA0ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VleGlmLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWlwdGMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXhtcC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXhtcC5oOgoJICBDcmVhdGVkIG5ldyBwbHVnaW4gKCdtZWRhZGF0YScpIGFuZCBlbGVtZW50ICgnbWV0YWRhdGFwYXJzZScpIHRoYXQgZXh0cmFjdCBtZXRhZGF0YSBmcm9tIGltYWdlcyAobG9vayBhdCBidWcgIzQ4NjY1OSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDcmVhdGVkIG5ldyBwbHVnaW4gKCdtZWRhZGF0YScpIGFuZCBlbGVtZW50ICgnbWV0YWRhdGFwYXJzZScpIHRoYXQgZXh0cmFjdCBtZXRhZGF0YSBmcm9tIGltYWdlcyAobG9vayBhdCBidWcgIzQ4NjY1OSkuCgoyMDA3LTEwLTI5IDE1OjU0OjA0ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9kdmJiYXNlYmluLmM6IFVuY29tbWVudCB0aGUgbGluZSB0aGF0IHNldHMgdGhlIHBpZCBmaWx0ZXIuIFdyb25nIHdheSB0byB3b3JrLWFyb3VuZCBkcml2ZXIgaXNzdWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgVW5jb21tZW50IHRoZSBsaW5lIHRoYXQgc2V0cyB0aGUgcGlkIGZpbHRlci4gV3Jvbmcgd2F5IHRvCgkgIHdvcmstYXJvdW5kIGRyaXZlciBpc3N1ZXMuCgoyMDA3LTEwLTI4IDE1OjIyOjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZhYWMvZ3N0ZmFhYy5jOiBGaXggYml0cmF0ZSByYW5nZXMgYW5kIGNoYW5nZSBlbnVtIG5pY2sgZm9yIGxvdyBjb21wbGV4aXR5IHByb2ZpbGUgZnJvbSBMT1cgdG8gTEMgZm9yIGNvbnNpc3RlbmN5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX3Byb2ZpbGVfZ2V0X3R5cGUpLAoJICAoZ3N0X2ZhYWNfY2xhc3NfaW5pdCksIChnc3RfZmFhY19pbml0KToKCSAgRml4IGJpdHJhdGUgcmFuZ2VzIGFuZCBjaGFuZ2UgZW51bSBuaWNrIGZvciBsb3cgY29tcGxleGl0eQoJICBwcm9maWxlIGZyb20gTE9XIHRvIExDIGZvciBjb25zaXN0ZW5jeSAoIzQ5MDA2MCkuCgoyMDA3LTEwLTI3IDE2OjA0OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiBMZXQncyBub3QgY2FsbCBldmVyeSByZXF1ZXN0IHBhZCB3ZSBjcmVhdGUgInNpbmslZCIsIHRoYXQnbGwgY3JlYXRlIHByb2JsZW1zIGlmIHRoZXJlJ3MgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGdzdF9pbnRlcmxlYXZlX3JlcXVlc3RfbmV3X3BhZCk6CgkgIExldCdzIG5vdCBjYWxsIGV2ZXJ5IHJlcXVlc3QgcGFkIHdlIGNyZWF0ZSAic2luayVkIiwgdGhhdCdsbAoJICBjcmVhdGUgcHJvYmxlbXMgaWYgdGhlcmUncyB0byBiZSBtb3JlIHRoYW4gb25lIHBhZC4gRml4ZXMgIzQ5MDY4Mi4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSAgQWRkIHVuaXQgdGVzdCBmb3IgdGhlIGFib3ZlLgoKMjAwNy0xMC0yNyAwODoyMDo1OSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS4qOiBJbXByb3ZlZCB2ZXJzaW9uIG5vdCBkYW1hZ2luZyBoZWFkZXJzIHVzaW5nIGEgc2ltcGxlIHN0YXRlIG1hY2hpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEwLTI3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgKGdzdF9tcGVnNHZwYXJzZV9hbGlnbiksCgkgIChnc3RfbXBlZzR2cGFyc2VfZHJhaW4pLCAoZ3N0X21wZWc0dnBhcnNlX2NoYWluKSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9zaW5rX3NldGNhcHMpLCAoZ3N0X21wZWc0dnBhcnNlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X21wZWc0dnBhcnNlX2NsZWFudXApLCAoZ3N0X21wZWc0dnBhcnNlX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfbXBlZzR2cGFyc2VfZGlzcG9zZSksIChnc3RfbXBlZzR2cGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9jbGFzc19pbml0KSwgKGdzdF9tcGVnNHZwYXJzZV9pbml0KSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5oOiBJbXByb3ZlZCB2ZXJzaW9uIG5vdAoJICBkYW1hZ2luZyBoZWFkZXJzIHVzaW5nIGEgc2ltcGxlIHN0YXRlIG1hY2hpbmUuCgoyMDA3LTEwLTI2IDE3OjE4OjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiBGaXggYnVpbGQgYWdhaW5zdCB0aGUgbGlieDI2NCB2ZXJzaW9uIHRoYXQgc2hpcHMgd2l0aCBkZWJpYW4gc3RhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6CgkgIEZpeCBidWlsZCBhZ2FpbnN0IHRoZSBsaWJ4MjY0IHZlcnNpb24gdGhhdCBzaGlwcyB3aXRoIGRlYmlhbiBzdGFibGUuCgoyMDA3LTEwLTI2IDE2OjA4OjA0ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIEFkZCBhIHNpbXBsZSBNUEVHNCBFUyBwYXJzZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEwLTI2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgKGdzdF9tcGVnNHZwYXJzZV9kcmFpbiksCgkgIChnc3RfbXBlZzR2cGFyc2VfY2hhaW4pLCAoZ3N0X21wZWc0dnBhcnNlX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfbXBlZzR2cGFyc2Vfc2lua19ldmVudCksIChnc3RfbXBlZzR2cGFyc2VfY2xlYW51cCksCgkgIChnc3RfbXBlZzR2cGFyc2VfY2hhbmdlX3N0YXRlKSwgKGdzdF9tcGVnNHZwYXJzZV9kaXNwb3NlKSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9iYXNlX2luaXQpLCAoZ3N0X21wZWc0dnBhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X21wZWc0dnBhcnNlX2luaXQpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmg6IEFkZCBhIHNpbXBsZSBNUEVHNCBFUwoJICBwYXJzZXIuCgoyMDA3LTEwLTI1IDIzOjQyOjUyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIEltcHJvdmUgZG9jdW1lbnRhdGlvbiwgd3JpdGUgc29tZSB0ZXN0cyBmb3IgbXVsdGlmaWxlc3JjL3NpbmsgZm9yIHVwY29taW5nIC0+Z29vZCByZXZpZXcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgSW1wcm92ZSBkb2N1bWVudGF0aW9uLCB3cml0ZSBzb21lIHRlc3RzIGZvciBtdWx0aWZpbGVzcmMvc2luawoJICBmb3IgdXBjb21pbmcgLT5nb29kIHJldmlldy4KCjIwMDctMTAtMjMgMTM6MDg6MjYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBBY3R1YWxseSB1c2UgdGhlIGNvZGUtcmF0ZS1ocCBwYXJhbWV0ZXIgZm9yIERWQi1TLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBBY3R1YWxseSB1c2UgdGhlIGNvZGUtcmF0ZS1ocCBwYXJhbWV0ZXIgZm9yIERWQi1TLgoJICBJdCB0dXJucyBvdXQgc2V0dGluZyB0byBBVVRPIGRvZXMgbm90IGFsd2F5cyB3b3JrICgKCSAgZXNwZWNpYWxseSBpbiBkaXNlcSBzaXR1YXRpb25zKS4gU2V0IGJ5IGRlZmF1bHQgdG8KCSAgRkVDX0FVVE8uCgoyMDA3LTEwLTIyIDE1OjQ1OjQ5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogRG9uJ3QgZW1pdCBuby1tb3JlLXBhZHMgZm9yIHNpbmdsZSBwYWQgc2NlbmFyaW9zIGFzIHRoZSBoZWFkZXIgaXMgZGVmaW5pdGVseSBub3QgcmVsaWFibGUuIFdlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMC0yMiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3R5cGUpOiBEb24ndAoJICBlbWl0IG5vLW1vcmUtcGFkcyBmb3Igc2luZ2xlIHBhZCBzY2VuYXJpb3MgYXMgdGhlIGhlYWRlcgoJICBpcyBkZWZpbml0ZWx5IG5vdCByZWxpYWJsZS4gV2UgZW1pdCB0aGVtIGZvciAyIHBhZHMgc2NlbmFyaW9zCgkgIHRob3VnaCB0byBzcGVlZCB1cCBtZWRpYSBkaXNjb3ZlcnkuCgoyMDA3LTEwLTE5IDE2OjIwOjUzICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9kdmJiYXNlYmluLmM6IEFkZGVkIHByb3h5IHByb3BlcnR5IG9mIGRpc2VxYy1zb3VyY2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIEFkZGVkIHByb3h5IHByb3BlcnR5IG9mIGRpc2VxYy1zb3VyY2UKCjIwMDctMTAtMTggMDY6MjA6MjEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IEFkZCBhIG1pc3NpbmcgYnJlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSk6CgkgIEFkZCBhIG1pc3NpbmcgYnJlYWsuCgoyMDA3LTEwLTE4IDA2OjE0OjQyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci4qOiBNb3ZlIGJhbmR3aWR0aCBwcm9wZXJ0eSB0byB0aGUgc2VwYXJhdGUgYmFuZHMgYW5kIGFkZCBmbG9hdDY0IHN1cHBvcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3R5cGUpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2xhc3NfaW5pdCksCgkgIChzZXR1cF9maWx0ZXIpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0dXApOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmg6CgkgIE1vdmUgYmFuZHdpZHRoIHByb3BlcnR5IHRvIHRoZSBzZXBhcmF0ZSBiYW5kcyBhbmQgYWRkIGZsb2F0NjQgc3VwcG9ydC4KCjIwMDctMTAtMTcgMTQ6NDM6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvY2RhdWRpby9NYWtlZmlsZS5hbTogQWRkIGFub3RoZXIgbWlzc2luZyBHU1RfTElCUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NkYXVkaW8vTWFrZWZpbGUuYW06CgkgIEFkZCBhbm90aGVyIG1pc3NpbmcgR1NUX0xJQlMuCgoyMDA3LTEwLTE3IDE0OjMzOjAzICswMDAwICBSaWNoYXJkIEh1bHQgPHJpY2hhcmRAaW1lbmRpby5jb20+CgoJICBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOiBGaXggTElCUyAtIHdlIG5lZWQgdG8gbGluayBhZ2FpbnN0IGxpYmdzdHJlYW1lci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSaWNoYXJkIEh1bHQgPHJpY2hhcmQgaW1lbmRpbyBjb20+CgkgICogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSAgRml4IExJQlMgLSB3ZSBuZWVkIHRvIGxpbmsgYWdhaW5zdCBsaWJnc3RyZWFtZXIuCgoyMDA3LTEwLTE3IDEwOjMzOjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL2R2Yi86IEZpeCBzb21lIHdhcm5pbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uLmM6CgkgICogc3lzL2R2Yi9jYW1yZXNvdXJjZW1hbmFnZXIuYzoKCSAgRml4IHNvbWUgd2FybmluZ3MuCgoyMDA3LTEwLTE2IDE5OjI0OjMxICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6IEFkZCB0aGUgc2V0IGVuY29kaW5ncyBjbGllbnQgbWVzc2FnZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgQWRkIHRoZSBzZXQgZW5jb2RpbmdzIGNsaWVudCBtZXNzYWdlCgoyMDA3LTEwLTE2IDE4OjMzOjQ0ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi86IHJlbW92ZSB0aGUgcmZiYnl0ZXN0cmVhbSBkZWFkIGNvZGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGlicmZiL3JmYi5oOgoJICAqIGdzdC9saWJyZmIvcmZiYnl0ZXN0cmVhbS5jOgoJICAqIGdzdC9saWJyZmIvcmZiYnl0ZXN0cmVhbS5oOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICByZW1vdmUgdGhlIHJmYmJ5dGVzdHJlYW0gZGVhZCBjb2RlCgoyMDA3LTEwLTE2IDE3OjM4OjA1ICswMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyb0BubnZhLm9yZz4KCgkgIHN5cy9kdmIvOiBJbnRlZ3JhdGUgU29DIHdvcmsgZG9uZSBieSBBbGVzc2FuZHJvIGZvciB0aGUgRnJlZXZvIHByb2plY3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogQWxlc3NhbmRybyBEZWNpbmEKCSAgKiBzeXMvZHZiL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kdmIvY2FtLmM6CgkgICogc3lzL2R2Yi9jYW0uaDoKCSAgKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uLmM6CgkgICogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbi5oOgoJICAqIHN5cy9kdmIvY2FtYXBwbGljYXRpb25pbmZvLmM6CgkgICogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbmluZm8uaDoKCSAgKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmM6CgkgICogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5oOgoJICAqIHN5cy9kdmIvY2FtZGV2aWNlLmM6CgkgICogc3lzL2R2Yi9jYW1kZXZpY2UuaDoKCSAgKiBzeXMvZHZiL2NhbXJlc291cmNlbWFuYWdlci5jOgoJICAqIHN5cy9kdmIvY2FtcmVzb3VyY2VtYW5hZ2VyLmg6CgkgICogc3lzL2R2Yi9jYW1zZXNzaW9uLmM6CgkgICogc3lzL2R2Yi9jYW1zZXNzaW9uLmg6CgkgICogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJICAqIHN5cy9kdmIvY2Ftc3djbGllbnQuaDoKCSAgKiBzeXMvZHZiL2NhbXRyYW5zcG9ydC5jOgoJICAqIHN5cy9kdmIvY2FtdHJhbnNwb3J0Lmg6CgkgICogc3lzL2R2Yi9jYW11dGlscy5jOgoJICAqIHN5cy9kdmIvY2FtdXRpbHMuaDoKCSAgKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgKiBzeXMvZHZiL2R2YmJhc2ViaW4uaDoKCSAgKiBzeXMvZHZiL2dzdGR2Yi5jOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgSW50ZWdyYXRlIFNvQyB3b3JrIGRvbmUgYnkgQWxlc3NhbmRybyBmb3IgdGhlIEZyZWV2byBwcm9qZWN0LgoJICBBZGRzIGNhbSBzdXBwb3J0IHRvIHRoZSBkdmIgc3RhY2sgaW4gR1N0cmVhbWVyIGFuZCBhIG5ldwoJICBlbGVtZW50IChhY3R1YWxseSBhIGJpbikgY2FsbGVkIGR2YmJhc2ViaW4gdGhhdCBpbnRlZ3JhdGVzCgkgIGR2YnNyYyBhbmQgbXBlZ3RzcGFyc2UgdG8gYSkgaGFuZGxlIGRlY3J5cHRpb24gYW5kIGIpIGFsbG93CgkgIGFjcXVpcmluZyBtdWx0aXBsZSBjaGFubmVscyBvbiBzYW1lIHRyYW5zcG9uZGVyIHdpdGhvdXQKCSAga25vd2luZyBwaWQgbnVtYmVycy4KCjIwMDctMTAtMTYgMTY6NTE6MjMgKzAwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvQG5udmEub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogQWRkIHJlcXVlc3QgcGFkIGZvciBnZXR0aW5nIHRoZSBmdWxsIHRyYW5zcG9ydCBzdHJlYW0gY29taW5nIGluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEFsZXNzYW5kcm8gRGVjaW5hCgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuaDoKCSAgQWRkIHJlcXVlc3QgcGFkIGZvciBnZXR0aW5nIHRoZSBmdWxsIHRyYW5zcG9ydCBzdHJlYW0gY29taW5nIGluLgoKMjAwNy0xMC0xNCAxNzoyMjoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBVcGRhdGUgdGhlIGhpZ2hlc3QgYWxsb3dlZCBuZW9uIHZlcnNpb24gZnJvbSAwLjI2Ljk5IHRvIDAuMjcuOTkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXBkYXRlIHRoZSBoaWdoZXN0IGFsbG93ZWQgbmVvbiB2ZXJzaW9uIGZyb20gMC4yNi45OSB0byAwLjI3Ljk5LgoJICBObyBjb2RlIGNoYW5nZXMgYXJlIHJlcXVpcmVkIHRvIHdvcmsgd2l0aCB0aGUgbmV3ZXN0IG5lb24gdmVyc2lvbi4KCjIwMDctMTAtMTAgMTE6NDQ6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFJlcXVpcmUgY29yZSBDVlMuICBUaGlzIGlzIGltcGxpY2l0IGluIHRoZSAtYmFzZSBDVlMgcmVxdWlyZW1lbnQgYWxyZWFkeSwgc28gd2UgbWlnaHQganVzdCB3ZWxsIHNwZWxsIGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZXF1aXJlIGNvcmUgQ1ZTLiAgVGhpcyBpcyBpbXBsaWNpdCBpbiB0aGUgLWJhc2UgQ1ZTCgkgIHJlcXVpcmVtZW50IGFscmVhZHksIHNvIHdlIG1pZ2h0IGp1c3Qgd2VsbCBzcGVsbCBpdAoJICBvdXQuICBBbHNvLCB3ZSBkbyBuZWVkIGF0IGxlYXN0IDAuMTAuMTQgZm9yCgkgIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSgpLiAgTWFrZSBjaGVjawoJICBmb3IgZ215dGggYSBiaXQgbW9yZSByZXN0cmljdGl2ZSBzbyB0aGluZ3MgZG9uJ3QgYnJlYWsKCSAgaWYgdGhlIG5leHQgdmVyc2lvbiBjaGFuZ2VzIEFQSS4KCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzoKCSAgV29yayBhcm91bmQgYWxzYSBhbGxvY2EgbWFjcm9zIHRyaWdnZXJpbmcgJ2Fsd2F5cyBldmFsdWF0ZXMgdG8KCSAgdHJ1ZScgd2FybmluZ3Mgd2l0aCBnY2MtNC4yIGFuZCBmaXggY29tcGlsYXRpb24gd2l0aCBnY2MtNC4yLgoJICBBbHNvIGRvbid0IGxlYWsgdGhlIGRldmljZSBzdHJpbmcuCgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIEZpeCBjb21waWxhdGlvbiB3aXRoIGcrKzQuMiBhbmQgLVdhbGwgLVdlcnJvciAoYWxzbyBuZWVkcyBwbHVnaW4KCSAgZGVmaW5lIGZpeCBmcm9tIGNvcmUgQ1ZTKS4gRml4ZXMgIzQ2MjczNy4KCjIwMDctMTAtMDkgMTA6MDE6MzkgKzAwMDAgIExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZUB5YWhvby5mcj4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggbWVtbGVhay4gRml4ZXMgIzQ4NDk5MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGUgYXQgeWFob28gZG90IGZyPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgRml4IG1lbWxlYWsuIEZpeGVzICM0ODQ5OTAuCgoyMDA3LTEwLTA4IDE3OjQ2OjQ1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC86IEZpeCBjb21waWxlciB3YXJuaW5ncyBzaG93biBieSBGb3J0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9yZmJidWZmZXIuYzogKHJmYl9idWZmZXJfbmV3X2FuZF9hbGxvYyk6CgkgICogZ3N0L2xpYnJmYi9yZmJidWZmZXIuaDoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzogKHJmYl9zb2NrZXRfZ2V0X2J1ZmZlcik6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6IChnc3RfbXBlZ3ZpZGVvcGFyc2VfY2hhaW4pOgoJICAqIGdzdC9uc2YvbmVzNjUwMi5jOiAobmVzNjUwMl9leGVjdXRlKToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogKGdzdF9yZWFsX2F1ZGlvX2RlY19zZXRjYXBzKToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKG9wZW5fbGlicmFyeSk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoY3JlYXRlX3JlY3ZfcnRwX3NpbmspLAoJICAoY3JlYXRlX3JlY3ZfcnRjcF9zaW5rKSwgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKToKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzIHNob3duIGJ5IEZvcnRlLgoKMjAwNy0xMC0wOCAxMDozOTozNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggY2FwcyByZWZjb3VudGluZyBmb3IgcGF5bG9hZCBtYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdldF9wdF9tYXApLAoJICAoZ3N0X3J0cF9iaW5fY2xlYXJfcHRfbWFwKSwgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICBGaXggY2FwcyByZWZjb3VudGluZyBmb3IgcGF5bG9hZCBtYXBzLgoJICBXaGVuIGNsZWFyaW5nIHBheWxvYWQgbWFwcywgYWxzbyBjbGVhciBzZXNzaW9ucyBhbmQgc3RyZWFtcyBwYXlsb2FkCgkgIG1hcHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9nZXRfY2FwcyksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2NsZWFyX3B0X21hcCksIChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKSwKCSAgKGZpbmRfcGFkX2Zvcl9wdCk6CgkgIEltcGxlbWVudCBjbGVhcmluZyB0aGUgcGF5bG9hZCBtYXAuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspOgoJICBGb3J3YXJkIGZsdXNoIGV2ZW50cyBpbnN0ZWFkIG9mIGxlYWtpbmcgdGhlbS4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9ydGNwX3NpbmtfZXZlbnQpOgoJICBDb3JyZWN0bHkgcmVmY291bnQgZXZlbnRzIGJlZm9yZSBwdXNoaW5nIHRoZW0uCgoyMDA3LTEwLTA4IDA2OjA3OjIyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZ2lvL2dzdGdpby5jOiBVc2UgR0lPIGZ1bmN0aW9uIHRvIGdldCBhIGxpc3Qgb2Ygc3VwcG9ydGVkIFVSSSBzY2hlbWVzIGluc3RlYWQgb2YgaGFyZCBjb2Rpbmcgc29tZXRoaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2lvL2dzdGdpby5jOiAoZ3N0X2dpb19nZXRfc3VwcG9ydGVkX3Byb3RvY29scyk6CgkgIFVzZSBHSU8gZnVuY3Rpb24gdG8gZ2V0IGEgbGlzdCBvZiBzdXBwb3J0ZWQgVVJJIHNjaGVtZXMgaW5zdGVhZCBvZgoJICBoYXJkIGNvZGluZyBzb21ldGhpbmcuCgoyMDA3LTEwLTA1IDE3OjI2OjE0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiBXaGVuIHJlY29uc2lkZXJpbmcgUlRDUCB0aW1lb3V0cywgc2V0IHRoZSBuZXh0IHRpbWVvdXQgYWdhaW5zdCB0aGUgbGFzdCByZXBvcnQgdGltZSBpbnN0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX25leHRfdGltZW91dCksCgkgIFdoZW4gcmVjb25zaWRlcmluZyBSVENQIHRpbWVvdXRzLCBzZXQgdGhlIG5leHQgdGltZW91dCBhZ2FpbnN0IHRoZSBsYXN0CgkgIHJlcG9ydCB0aW1lIGluc3RlYWQgb2YgdGhlIGN1cnJlbnQgY2xvY2sgdGltZSBzbyB0aGF0IHdlIGRvbid0IGVuZCB1cAoJICByZWNvbnNpZGVyaW5nIGZvcmV2ZXIuCgoyMDA3LTEwLTA1IDEyOjA3OjM3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IE9ubHkgcGVlayBhdCB0aGUgdGFpbCBlbGVtZW50IGluc3RlYWQgb2YgcG9wcGluZyBpdCBvZmYsIHdoaWNoIGFsbG93cyB1cyB0byBncmVhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgT25seSBwZWVrIGF0IHRoZSB0YWlsIGVsZW1lbnQgaW5zdGVhZCBvZiBwb3BwaW5nIGl0IG9mZiwgd2hpY2ggYWxsb3dzCgkgIHVzIHRvIGdyZWF0bHkgc2ltcGxpZnkgdGhpbmdzIHdoZW4gdGhlIHRhaWwgZWxlbWVudCBjaGFuZ2VzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0cF9zaW5rKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9zaW5rX2V2ZW50KToKCSAgRm9yd2FyZCBGTFVTSCBldmVudHMgaW5zdGVhZCBvZiBsZWFraW5nIHRoZW0uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9yZXNldF9za2V3KSwKCSAgKGNhbGN1bGF0ZV9za2V3KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIFJlbW92ZSB0aGUgdGFpbC1jaGFuZ2VkIGNhbGxiYWNrIGluIGZhdm91ciBvZiBhIHNpbXBsZSBib29sZWFuIHdoZW4gd2UKCSAgaW5zZXJ0IGEgYnVmZmVyIGluIHRoZSBxdWV1ZS4KCSAgQWRkIG1ldGhvZCB0byBwZWVrIHRoZSB0YWlsIG9mIHRoZSBidWZmZXIuCgoyMDA3LTEwLTA1IDA4OjUxOjQ0ICswMDAwICBHYXV0aWVyIFBvcnRldCA8a2Fzc291bGV0QGdtYWlsLmNvbT4KCgkgIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogVGhlIHNpemUgb2YgdGhlIFhpbmcgaGVhZGVyIGlzIGFjdHVhbGx5IDQxNyBhcyBpdCdzIHJvdW5kZWQgdG8gdGhlIG5leHQgc21hbGxlciBpbnRlZ2VyLi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEdhdXRpZXIgUG9ydGV0IDxrYXNzb3VsZXQgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6CgkgIFRoZSBzaXplIG9mIHRoZSBYaW5nIGhlYWRlciBpcyBhY3R1YWxseSA0MTcgYXMgaXQncyByb3VuZGVkIHRvIHRoZQoJICBuZXh0IHNtYWxsZXIgaW50ZWdlci4gRml4ZXMgIzM5Nzc1OS4KCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6ICh4aW5nX2dlbmVyYXRlX2hlYWRlciksCgkgICh4aW5nX3B1c2hfaGVhZGVyKToKCSAgU29tZSByYW5kb20gY2xlYW51cCwgYWRkIEZJWE1FcyBhbmQgVE9ET3MgYW5kIGNoZWNrIGlmIHRoZSBuZXdzZWdtZW50CgkgIGV2ZW50IHRvIHRoZSBiZWdpbm5pbmcgd2FzIHN1Y2Nlc3NmdWwgYmVmb3JlIHB1c2hpbmcgdGhlIGhlYWRlciBhZ2Fpbi4KCjIwMDctMTAtMDUgMDg6MDU6MTQgKzAwMDAgIFdhaS1NaW5nIEhvIDx3ZWJyZWdib3hAeWFob28uY28udWs+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOiBEb24ndCBza2lwIFBBVCB3aXRoIHZlcnNpb24gbnVtYmVyIDAuIEZpeGVzICM0ODM0MDAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV2FpLU1pbmcgSG8gPHdlYnJlZ2JveCBhdCB5YWhvbyBkb3QgY28gZG90IHVrPgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIChtcGVndHNfcGFja2V0aXplcl9zdHJlYW1fbmV3KToKCSAgRG9uJ3Qgc2tpcCBQQVQgd2l0aCB2ZXJzaW9uIG51bWJlciAwLiBGaXhlcyAjNDgzNDAwLgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOiAobXBlZ3RzX3BhcnNlX2FwcGx5X3BhdCk6CgkgIE1ha2UgYWxsIHZhbHVlcyBhYm92ZSAwIG1hcmsgYSByZWZlcmVuY2VkIHByb2dyYW0gYXMgdGhleSBjYW4gYmUKCSAgaW5jcmVtZW50ZWQgYW5kIG9ubHkgMSBoYWQgbWFya2VkIGEgcmVmZXJlbmNlZCBwcm9ncmFtIGJlZm9yZSwgY2F1c2luZwoJICBhY3R1YWxseSByZWZlcmVuY2VkIHByb2dyYW1zIHRvIGJlIHVucmVmZXJlbmNlZC4KCjIwMDctMTAtMDIgMTA6Mjk6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2RwL2dzdHNkcGRlbXV4Lmg6IENoYW5nZSBzaWduYXR1cmUgb2YgcHQgdG8gZml4IGNvbXBpbGF0aW9uIG9uIHNvbWUgcGxhdGZvcm1zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2RwL2dzdHNkcGRlbXV4Lmg6CgkgIENoYW5nZSBzaWduYXR1cmUgb2YgcHQgdG8gZml4IGNvbXBpbGF0aW9uIG9uIHNvbWUgcGxhdGZvcm1zLgoKMjAwNy0xMC0wMiAxMDoyNzo0NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBSZW1vdmUgc29tZSBvbGQgdW51c2VkIHZhcmlhYmxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RhcnQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYW5nZV9zdGF0ZSksIChhcHBseV9vZmZzZXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBSZW1vdmUgc29tZSBvbGQgdW51c2VkIHZhcmlhYmxlcy4KCSAgRG9uJ3QgYWRkIHRoZSBsYXRlbmN5IHRvIHRoZSBza2V3IGNvcnJlY3RlZCB0aW1lc3RhbXAsIGxhdGVuY3kgaXMgb25seQoJICB1c2VkIHRvIHN5bmMgYWdhaW5zdCB0aGUgY2xvY2suCgkgIEltcHJvdmUgZGVidWdnaW5nLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfaW5pdCksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9yZXNldF9za2V3KSwgKGNhbGN1bGF0ZV9za2V3KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgSGFuZGxlIGNhc2Ugd2hlcmUgc2VydmVyIHRpbWVzdGFtcCBnb2VzIGJhY2t3YXJkcyBvciB3aWxkbHkganVtcHMgYnkKCSAgdGVtcG9yYXJpbHkgcGF1c2luZyB0aGUgc2tldyBjb3JyZWN0aW9uLgoJICBJbXByb3ZlIGRlYnVnZ2luZy4KCjIwMDctMTAtMDIgMTA6MTI6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2RwL01ha2VmaWxlLmFtOiBGb3Jnb3QgdG8gY29tbWl0IG1ha2VmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2RwL01ha2VmaWxlLmFtOgoJICBGb3Jnb3QgdG8gY29tbWl0IG1ha2VmaWxlLgoKMjAwNy0xMC0wMiAwNzo0Mzo1NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2dpby9nc3RnaW9zaW5rLmM6IFVwZGF0ZSB0byBBUEkgY2hhbmdlcyBpbiBHSU8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5jOiAoZ3N0X2dpb19zaW5rX3N0YXJ0KToKCSAgVXBkYXRlIHRvIEFQSSBjaGFuZ2VzIGluIEdJTy4KCjIwMDctMTAtMDEgMTQ6MDE6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6IFVzZSBuZXcgZnVuY3Rpb24gaW4gLWJhc2UgdG8gZ2V0IHRoZSBkZWZhdWx0IGNsb2NrLXJhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzogKGdzdF9zZHBfZGVtdXhfbWVkaWFfdG9fY2Fwcyk6CgkgIFVzZSBuZXcgZnVuY3Rpb24gaW4gLWJhc2UgdG8gZ2V0IHRoZSBkZWZhdWx0IGNsb2NrLXJhdGUuCgoyMDA3LTEwLTAxIDExOjQzOjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgQWRkZWQgU0RQIGRlbXV4ZXIgZWxlbWVudC4gRml4ZXMgIzQyNjY1Ny4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzogKF9kb19pbml0KSwgKGdzdF9zZHBfZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9zZHBfZGVtdXhfY2xhc3NfaW5pdCksIChnc3Rfc2RwX2RlbXV4X2luaXQpLAoJICAoZ3N0X3NkcF9kZW11eF9maW5hbGl6ZSksIChnc3Rfc2RwX2RlbXV4X3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc2RwX2RlbXV4X2dldF9wcm9wZXJ0eSksIChmaW5kX3N0cmVhbV9ieV9pZCksCgkgIChmaW5kX3N0cmVhbV9ieV9wdCksIChmaW5kX3N0cmVhbV9ieV91ZHBzcmMpLCAoZmluZF9zdHJlYW0pLAoJICAoZ3N0X3NkcF9kZW11eF9zdHJlYW1fZnJlZSksIChnc3Rfc2RwX2RlbXV4X2NyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3NkcF9kZW11eF9jbGVhbnVwKSwgKGdldF9kZWZhdWx0X3JhdGVfZm9yX3B0KSwKCSAgKGdzdF9zZHBfZGVtdXhfcGFyc2VfcnRwbWFwKSwgKGdzdF9zZHBfZGVtdXhfbWVkaWFfdG9fY2FwcyksCgkgIChuZXdfc2Vzc2lvbl9wYWQpLCAocmVxdWVzdF9wdF9tYXApLCAoZ3N0X3NkcF9kZW11eF9kb19zdHJlYW1fZW9zKSwKCSAgKG9uX2J5ZV9zc3JjKSwgKG9uX3RpbWVvdXQpLCAoZ3N0X3NkcF9kZW11eF9jb25maWd1cmVfbWFuYWdlciksCgkgIChnc3Rfc2RwX2RlbXV4X3N0cmVhbV9jb25maWd1cmVfdWRwKSwKCSAgKGdzdF9zZHBfZGVtdXhfc3RyZWFtX2NvbmZpZ3VyZV91ZHBfc2luayksCgkgIChnc3Rfc2RwX2RlbXV4X2NvbWJpbmVfZmxvd3MpLCAoZ3N0X3NkcF9kZW11eF9zdHJlYW1fcHVzaF9ldmVudCksCgkgIChnc3Rfc2RwX2RlbXV4X2hhbmRsZV9tZXNzYWdlKSwgKGdzdF9zZHBfZGVtdXhfc3RhcnQpLAoJICAoZ3N0X3NkcF9kZW11eF9zaW5rX2V2ZW50KSwgKGdzdF9zZHBfZGVtdXhfc2lua19jaGFpbiksCgkgIChnc3Rfc2RwX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3NkcC9nc3RzZHBkZW11eC5oOgoJICAqIGdzdC9zZHAvZ3N0c2RwZWxlbS5jOiAocGx1Z2luX2luaXQpOgoJICBBZGRlZCBTRFAgZGVtdXhlciBlbGVtZW50LiBGaXhlcyAjNDI2NjU3LgoKMjAwNy0xMC0wMSAwOToyMToxOSArMDAwMCAgbXV0ZXggYXQgcnVuYm94IGRvdCBjb20gPG11dGV4QHJ1bmJveC5jb20+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBSZW1vdmUgdXNlbGVzcyBzcmMgcGFkIHRoYXQgb25seSByZXN1bHRzIGluIG5vdCBsaW5rZWQgZXJyb3JzLCBmaXggYSBicm9rZW4gcG9pbnRlciBkZXJlZmVyZW5jZSBhbmQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBtdXRleCBhdCBydW5ib3ggZG90IGNvbQoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIChtcGVndHNfcGFja2V0aXplcl9wYXJzZV9hZGFwdGF0aW9uX2ZpZWxkX2NvbnRyb2wpOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOiAobXBlZ3RzX3BhcnNlX2Jhc2VfaW5pdCksCgkgIChtcGVndHNfcGFyc2VfaW5pdCksIChtcGVndHNfcGFyc2VfcHVzaCk6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmg6CgkgIFJlbW92ZSB1c2VsZXNzIHNyYyBwYWQgdGhhdCBvbmx5IHJlc3VsdHMgaW4gbm90IGxpbmtlZCBlcnJvcnMsCgkgIGZpeCBhIGJyb2tlbiBwb2ludGVyIGRlcmVmZXJlbmNlIGFuZCBtYWtlIE1BWF9DT05USU5VSVRZIGNvbnN0YW50CgkgIGNvbmZvcm0gdG8gdGhlIHN0YW5kYXJkIHRvIHN0b3Agb3V0cHV0dGluZyBjb3JydXB0ZWQgZGF0YS4KCSAgRml4ZXMgIzQ4MTI3NiwgIzQ4MTI3OS4KCjIwMDctMDktMjkgMTk6MzY6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiBSZS1hcHBseSBkb2NzIHBhdGNoIGZyb20gIzQ2ODAzOTsgZml4IHRhYi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSAgUmUtYXBwbHkgZG9jcyBwYXRjaCBmcm9tICM0NjgwMzk7IGZpeCB0YWIuCgkgICogZ3N0L21wZWd0c3BhcnNlLy5jdnNpZ25vcmU6CgkgIElnbm9yZSBtYXJzaGFsbGVyIGZpbGVzIGdlbmVyYXRlZCBhdCBidWlsZCB0aW1lLgoKMjAwNy0wOS0yOSAwNzowMTo1NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2dpby86IFNvbWUgbWlub3IgY2xlYW51cCBhbmQgYWxsb3cgc2V0dGluZyB0aGUgbG9jYXRpb24gb25seSB3aGVuIHRoZSBlbGVtZW50IGlzIG5vdCBwbGF5aW5nIG9yIHBhdXNlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmM6IChnc3RfZ2lvX3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9naW9fc2lua19zZXRfcHJvcGVydHkpLCAoZ3N0X2dpb19zaW5rX3JlbmRlcik6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuYzogKGdzdF9naW9fc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2lvX3NyY19zZXRfcHJvcGVydHkpOgoJICBTb21lIG1pbm9yIGNsZWFudXAgYW5kIGFsbG93IHNldHRpbmcgdGhlIGxvY2F0aW9uIG9ubHkgd2hlbiB0aGUKCSAgZWxlbWVudCBpcyBub3QgcGxheWluZyBvciBwYXVzZWQuCgoyMDA3LTA5LTI5IDA1OjI2OjU0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IFVwZGF0ZSBnaW8ncyBwa2ctY29uZmlnIGZpbGUgbmFtZSBhcyBjdXJyZW50bHkgaW4gU1ZOLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVwZGF0ZSBnaW8ncyBwa2ctY29uZmlnIGZpbGUgbmFtZSBhcyBjdXJyZW50bHkgaW4gU1ZOLgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX3NldF9sb2NhdGlvbik6CgkgIFJlbW92ZSBzcGVjaWFsIGNhc2luZyBmb3IgYSBOVUxMIHF1ZXJ5IHN0cmluZy4gZ19zdHJqb2luIHdvbid0IGFkZAoJICB0aGUgc2VwYXJhdG9yIGlmIHRoZXJlJ3Mgb25seSBvbmUgc3RyaW5nLgoKMjAwNy0wOS0yOCAxNDo1MTo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggY3Jhc2hlciBpbiBkaXNwb3NlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGZyZWVfY2xpZW50KToKCSAgRml4IGNyYXNoZXIgaW4gZGlzcG9zZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKGNhbGN1bGF0ZV9za2V3KToKCSAgSGFuZGxlIGNhc2VzIHdoZXJlIGlucHV0IGJ1ZmZlcnMgaGF2ZSBubyB0aW1lc3RhbXBzIHNvIHRoYXQgbm8gY2xvY2sKCSAgc2tldyBjYW4gYmUgY2FsY3VsYXRlZCwgaW4gdGhpcyBjYXNlIGludGVycG9sbGF0ZSB0aW1lc3RhbXBzIGJhc2VkIG9uCgkgIHJ0cCB0aW1lc3RhbXAgYW5kIGFzc3VtZSBhIDAgY2xvY2sgc2tldy4KCjIwMDctMDktMjggMTE6MTc6MzUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogUmVtb3ZlIGppdHRlciBjb3JyZWN0aW9uIGNvZGUsIGl0J3Mgbm93IGluIHRoZSBsb3dlciBsZXZlbCBvYmplY3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiAoYXBwbHlfbGF0ZW5jeSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpOgoJICBSZW1vdmUgaml0dGVyIGNvcnJlY3Rpb24gY29kZSwgaXQncyBub3cgaW4gdGhlIGxvd2VyIGxldmVsIG9iamVjdC4KCSAgVXNlIG5ldyAtY29yZSBtZXRob2QgZm9yIGRvaW5nIGEgcGVlciBxdWVyeS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLAoJICAoY2FsY3VsYXRlX3NrZXcpLCAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgTW92ZSBqaXR0ZXIgY29ycmVjdGlvbiB0byB0aGUgbG93bGV2ZWwgaml0dGVyYnVmZmVyLgoJICBJbmNyZWFzZSB0aGUgbWF4IHdpbmRvdyBzaXplLgoJICBXaGVuIGZpbGxpbmcgdGhlIHdpbmRvdywgYWxyZWFkeSBzdGFydCBlc3RpbWF0aW5nIHRoZSBza2V3IHVzaW5nIGEKCSAgcGFyYWJvbGljIHdlaWdodGluZyBmYWN0b3Igc28gdGhhdCB3ZSBoYXZlIGEgbXVjaCBiZXR0ZXIgc3RhcnR1cAoJICBiZWhhdmlvdXIgdGhhdCBnZXRzIG1vcmUgYWNjdXJhdGUgd2l0aCB0aGUgbW9yZSBzYW1wbGVzIHdlIGhhdmUuCgkgIEluY3JlYXNlIHRoZSBkZWZhdWx0IHdlaWdodGluZyBmYWN0b3IgZm9yIHRoZSBzdGVhZHkgc3RhdGUgdG8gZ2V0CgkgIHNtb290aGVyIHRpbWVzdGFtcHMuCgoyMDA3LTA5LTI4IDExOjA3OjM0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiBOb3cgdGhhdCB3ZSByZXF1aXJlIGxpYm5lb24gPj0gMC4yNiByZW1vdmUgdGhlIG5lb24gMC4yNSBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHN0dWZmLiBBbHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfc2V0X3Byb3h5KSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc2VuZF9yZXF1ZXN0X2FuZF9yZWRpcmVjdCk6CgkgIE5vdyB0aGF0IHdlIHJlcXVpcmUgbGlibmVvbiA+PSAwLjI2IHJlbW92ZSB0aGUgbmVvbiAwLjI1IGJhY2t3YXJkCgkgIGNvbXBhdGliaWxpdHkgc3R1ZmYuIEFsc28gZml4IHRoZSBkZWZhdWx0IGxvY2F0aW9uLgoKMjAwNy0wOS0yOCAxMDo1MToxMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogV2UgcmVxdWlyZSBsaWJuZW9uID49IDI2IG5vdyBmb3IgdGhlIHF1ZXJ5IGZpZWxkIGluIG5lX3VyaS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBXZSByZXF1aXJlIGxpYm5lb24gPj0gMjYgbm93IGZvciB0aGUgcXVlcnkgZmllbGQgaW4gbmVfdXJpLgoKMjAwNy0wOS0yOCAwOToyOTowOSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLio6IERvbid0IGRpc2NhcmQgR0VUIHBhcmFtZXRlcnMgZnJvbSBVUkwgaWYgZXhpc3RpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc2V0X2xvY2F0aW9uKSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc2VuZF9yZXF1ZXN0X2FuZF9yZWRpcmVjdCk6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgRG9uJ3QgZGlzY2FyZCBHRVQgcGFyYW1ldGVycyBmcm9tIFVSTCBpZiBleGlzdGluZy4KCSAgRml4ZXMgIzQ4MTIwMC4KCjIwMDctMDktMjcgMTQ6NTI6NTggKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL2dzdHJmYnNyYy4qOiBBZGRlZCBhIHByb3BlcnR5IGZvciBpbmNyZW1lbnRhbCBzY3JlZW4gdXBkYXRlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmg6CgkgIEFkZGVkIGEgcHJvcGVydHkgZm9yIGluY3JlbWVudGFsIHNjcmVlbiB1cGRhdGVzCgoyMDA3LTA5LTI3IDEzOjAyOjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3h2aWQvZ3N0eHZpZGVuYy4qOiBSZW1vdmUgc3VwZXJmbHVvdXMgJ2ZyYW1lLWVuY29kZWQnIHNpZ25hbCAocGVvcGxlIGNhbiB1c2UgYW4gdXBzdHJlYW0gaWRlbnRpdHkncyAnaGFuZG9mZicgc2lnLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmg6CgkgIFJlbW92ZSBzdXBlcmZsdW91cyAnZnJhbWUtZW5jb2RlZCcgc2lnbmFsIChwZW9wbGUgY2FuCgkgIHVzZSBhbiB1cHN0cmVhbSBpZGVudGl0eSdzICdoYW5kb2ZmJyBzaWduYWwgb3IgYSBwYWQKCSAgcHJvYmUgZm9yIHRoaXMgaWYgdGhleSBtdXN0IGtub3cpLgoKMjAwNy0wOS0yNyAxMDowNjoyMyArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IEkgZ290IGl0IHdyb25nIGFnYWluLCBhdWRpbyByYXRlIHdhcyBub3QgZGV0ZWN0ZWQgY29ycmVjdGx5IGluIGFsbCBjYXNlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDktMjcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IEkgZ290IGl0IHdyb25nIGFnYWluLCBhdWRpbyByYXRlCgkgIHdhcyBub3QgZGV0ZWN0ZWQgY29ycmVjdGx5IGluIGFsbCBjYXNlcy4KCjIwMDctMDktMjYgMjA6MDg6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRml4IGNsZWFudXAgY3Jhc2hlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9kaXNwb3NlKSwKCSAgKGdzdF9ydHBfYmluX2ZpbmFsaXplKToKCSAgRml4IGNsZWFudXAgY3Jhc2hlci4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLAoJICAoY2FsY3VsYXRlX3NrZXcpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBEeW5hbWljYWxseSBhZGp1c3QgdGhlIHNrZXcgY2FsY3VsYXRpb24gd2luZG93IHNvIHRoYXQgd2UgY2FsY3VsYXRlIGl0CgkgIG92ZXIgYSBwZXJpb2Qgb2YgYXJvdW5kIDIgc2Vjb25kcy4KCjIwMDctMDktMjYgMTY6NDQ6NDIgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiBmaXggYnVnIGZyb20gZ2VuZXJpYy9zdGF0ZXMuZ2RiCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgIGZpeCBidWcgZnJvbSBnZW5lcmljL3N0YXRlcy5nZGIKCjIwMDctMDktMjYgMTY6MzA6NTAgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBjb2RlY19kYXRhIGlzIG5lZWRlZCBmb3IgZXZlcnkgdGFnIG5vdCBqdXN0IHRoZSBmaXJzdCBvbmUuIChGaXggYSBzdHVwaWQgYnVnIGkgaW50cm9kdWNlZCB3aXRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA5LTI2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBjb2RlY19kYXRhIGlzIG5lZWRlZCBmb3IgZXZlcnkgdGFnCgkgIG5vdCBqdXN0IHRoZSBmaXJzdCBvbmUuIChGaXggYSBzdHVwaWQgYnVnIGkgaW50cm9kdWNlZCB3aXRob3V0CgkgIHRlc3RpbmcpCgoyMDA3LTA5LTI2IDExOjE3OjA4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogRml4IGJpdCBtYXNrcyBvcGVyYXRpb25zIHRvIGJlIHN1cmUgd2UgZGV0ZWN0IHRoZSBjb2RlY190YWdzIGFuZCBzYW1wbGUgcmF0ZXMgY29ycmVjdGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOS0yNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKTogRml4IGJpdCBtYXNrcyBvcGVyYXRpb25zIHRvIGJlCgkgIHN1cmUgd2UgZGV0ZWN0IHRoZSBjb2RlY190YWdzIGFuZCBzYW1wbGUgcmF0ZXMgY29ycmVjdGx5LgoJICBGaXggcmF3IGF1ZGlvIGNhcHMgZ2VuZXJhdGlvbi4KCjIwMDctMDktMjQgMTA6NTM6MzcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIE1hc3NpdmUgbGVhayBmaXhpbmcsIHBsdXMgY29kZSBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgICogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmM6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmM6CgkgICogc3lzL3ZjZC92Y2RzcmMuYzoKCSAgTWFzc2l2ZSBsZWFrIGZpeGluZywgcGx1cyBjb2RlIGNsZWFudXBzLgoKMjAwNy0wOS0yMiAxODozMToxNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby9MSU5HVUFTOiBBZGRlZCB0cmFuc2xhdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL0xJTkdVQVM6CgkgIEFkZGVkIHRyYW5zbGF0aW9ucy4KCjIwMDctMDktMjIgMTg6Mjk6NDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vcGwucG86IEFkZGVkIFBvbGlzaCB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHRyYW5zbGF0ZWQgYnk6IEpha3ViIEJvZ3VzeiA8cWJvb3NoQHBsZC1saW51eC5vcmc+CgkgICogcG8vcGwucG86CgkgIEFkZGVkIFBvbGlzaCB0cmFuc2xhdGlvbi4KCjIwMDctMDktMjIgMTg6Mjk6MTMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vZmkucG86IEFkZGVkIEZpbm5pc2ggdHJhbnNsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB0cmFuc2xhdGVkIGJ5OiBJbGtrYSBUdW9oZWxhIDxoaWxlQGlraS5maT4KCSAgKiBwby9maS5wbzoKCSAgQWRkZWQgRmlubmlzaCB0cmFuc2xhdGlvbi4KCjIwMDctMDktMjIgMTg6Mjg6MzAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vZXMucG86IEFkZGVkIFNwYW5pc2ggdHJhbnNsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB0cmFuc2xhdGVkIGJ5OiBKb3JnZSBHb256w6FsZXogR29uesOhbGV6IDxhbG9yaWVsQGdtYWlsLmNvbT4KCSAgKiBwby9lcy5wbzoKCSAgQWRkZWQgU3BhbmlzaCB0cmFuc2xhdGlvbi4KCjIwMDctMDktMjIgMTg6Mjc6NDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vYmcucG86IEFkZGVkIEJ1bGdhcmlhbiB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHRyYW5zbGF0ZWQgYnk6IEFsZXhhbmRlciBTaG9wb3YgPGFzaEBjb250YWN0LmJnPgoJICAqIHBvL2JnLnBvOgoJICBBZGRlZCBCdWxnYXJpYW4gdHJhbnNsYXRpb24uCgoyMDA3LTA5LTIxIDE4OjAwOjI0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OiBVcGRhdGUgaGllcmFyY2h5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICBVcGRhdGUgaGllcmFyY2h5LgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmg6CgkgIE1hcmsgcHJpdmF0ZSBmaWVsZHMgb2YgdGhlIGluc3RhbmNlIHN0cnVjdHMgcHJpdmF0ZS4KCjIwMDctMDktMjEgMTc6MzE6MDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCB0aGUgR0lPIHBsdWdpbiB0byB0aGUgZG9jcyBhbmQgZG8gYSBtYWtlIHVwZGF0ZSB3aGlsZSBkb2luZyB0aGF0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgIEFkZCB0aGUgR0lPIHBsdWdpbiB0byB0aGUgZG9jcyBhbmQgZG8gYSBtYWtlIHVwZGF0ZQoJICB3aGlsZSBkb2luZyB0aGF0LgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmM6IChnc3RfZ2lvX3NyY19zdGFydCk6CgkgIEZpeCBhIHNtYWxsIG1lbWxlYWsuCgoyMDA3LTA5LTIxIDE3OjA3OjU2ICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgQWRkIGEgR0lPL0dWRlMgcGx1Z2luIHdpdGggc291cmNlIGFuZCBzaW5rIGVsZW1lbnRzLiBUaGlzIHdpbGwgb25seSBiZSBlbmFibGVkIHdoZW4gLS1lbmFibGUtZXhwZXJpbWVudGFsIGlzIGdpdmVuIHRvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciA8bWFpbCBhdCByZW5lc3RhZGxlciBkb3QgZGU+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2lvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9naW8vZ3N0Z2lvLmM6IChnc3RfZ2lvX2Vycm9yKSwgKGdzdF9naW9fc2VlayksCgkgIChnc3RfZ2lvX2dldF9zdXBwb3J0ZWRfcHJvdG9jb2xzKSwKCSAgKGdzdF9naW9fdXJpX2hhbmRsZXJfZ2V0X3R5cGVfc2luayksCgkgIChnc3RfZ2lvX3VyaV9oYW5kbGVyX2dldF90eXBlX3NyYyksCgkgIChnc3RfZ2lvX3VyaV9oYW5kbGVyX2dldF9wcm90b2NvbHMpLCAoZ3N0X2dpb191cmlfaGFuZGxlcl9nZXRfdXJpKSwKCSAgKGdzdF9naW9fdXJpX2hhbmRsZXJfc2V0X3VyaSksIChnc3RfZ2lvX3VyaV9oYW5kbGVyX2luaXQpLAoJICAoZ3N0X2dpb191cmlfaGFuZGxlcl9kb19pbml0KSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvZ2lvL2dzdGdpby5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5jOiAoZ3N0X2dpb19zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2lvX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfZ2lvX3NpbmtfaW5pdCksCgkgIChnc3RfZ2lvX3NpbmtfZmluYWxpemUpLCAoZ3N0X2dpb19zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZ2lvX3NpbmtfZ2V0X3Byb3BlcnR5KSwgKGdzdF9naW9fc2lua19zdGFydCksCgkgIChnc3RfZ2lvX3Npbmtfc3RvcCksIChnc3RfZ2lvX3NpbmtfdW5sb2NrKSwKCSAgKGdzdF9naW9fc2lua191bmxvY2tfc3RvcCksIChnc3RfZ2lvX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2dpb19zaW5rX3JlbmRlciksIChnc3RfZ2lvX3NpbmtfcXVlcnkpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmM6IChnc3RfZ2lvX3NyY19iYXNlX2luaXQpLAoJICAoZ3N0X2dpb19zcmNfY2xhc3NfaW5pdCksIChnc3RfZ2lvX3NyY19pbml0KSwKCSAgKGdzdF9naW9fc3JjX2ZpbmFsaXplKSwgKGdzdF9naW9fc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZ2lvX3NyY19nZXRfcHJvcGVydHkpLCAoZ3N0X2dpb19zcmNfc3RhcnQpLAoJICAoZ3N0X2dpb19zcmNfc3RvcCksIChnc3RfZ2lvX3NyY19nZXRfc2l6ZSksCgkgIChnc3RfZ2lvX3NyY19pc19zZWVrYWJsZSksIChnc3RfZ2lvX3NyY191bmxvY2spLAoJICAoZ3N0X2dpb19zcmNfdW5sb2NrX3N0b3ApLCAoZ3N0X2dpb19zcmNfY2hlY2tfZ2V0X3JhbmdlKSwKCSAgKGdzdF9naW9fc3JjX2NyZWF0ZSk6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuaDoKCSAgQWRkIGEgR0lPL0dWRlMgcGx1Z2luIHdpdGggc291cmNlIGFuZCBzaW5rIGVsZW1lbnRzLiBUaGlzIHdpbGwKCSAgb25seSBiZSBlbmFibGVkIHdoZW4gLS1lbmFibGUtZXhwZXJpbWVudGFsIGlzIGdpdmVuIHRvIGNvbmZpZ3VyZQoJICBmb3Igbm93IGFzIHRoZSBHSU8gQVBJIGlzIG5vdCBzdGFibGUgeWV0LiBGaXhlcyAjNDc2OTE2LgoKMjAwNy0wOS0yMSAxNTo0OToyNCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZpbGUgd2l0aCB2YXJpb3VzIG5ldyBwbHVnLWlucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZSB3aXRoIHZhcmlvdXMgbmV3IHBsdWctaW5zCgoyMDA3LTA5LTIxIDE0OjU1OjE5ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi86IEFkZGVkIG9mZnNldC14LCBvZmZzZXQteSwgd2lkdGggYW5kIGhlaWdodCBwcm9wZXJ0eSBmb3Igc2VsZWN0aW5nIGEgcmVnaW9uIGZyb20gdGhlIHNjcmVlbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICBBZGRlZCBvZmZzZXQteCwgb2Zmc2V0LXksIHdpZHRoIGFuZCBoZWlnaHQgcHJvcGVydHkKCSAgZm9yIHNlbGVjdGluZyBhIHJlZ2lvbiBmcm9tIHRoZSBzY3JlZW4KCjIwMDctMDktMjEgMTA6Mjc6MDIgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiBNaW5pbXVtIHJhdyBlbmNvZGluZyBpcyB3b3JraW5nIG5vdwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICBNaW5pbXVtIHJhdyBlbmNvZGluZyBpcyB3b3JraW5nIG5vdwoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICBmaXggYWRkcmVzcyB3aGlsZSByZWFkaW5nIGZyb20gc3RyZWFtCgoyMDA3LTA5LTIwIDIwOjQwOjA1ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogcmF3IGVuY29kaW5nIGlzIHdvcmtpbmcsIGJ1dCBpdCBsb29rcyBsaWtlIHRoZSBmZm1wZWdjb2xvcnNwYWNlIHBsdWdpbiBjYW4ndCBoYW5kbGUgaGlnaCByZXNvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgIHJhdyBlbmNvZGluZyBpcyB3b3JraW5nLCBidXQgaXQgbG9va3MgbGlrZSB0aGUKCSAgZmZtcGVnY29sb3JzcGFjZSBwbHVnaW4gY2FuJ3QgaGFuZGxlIGhpZ2ggcmVzb2x1dGlvbnMKCjIwMDctMDktMjAgMTg6MzA6MzUgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiBicHAsIGRlcHRoIGFuZCBlbmRpYW5uZXNzIGFyZSBub3cgc2V0IGZyb20gdGhlIHN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgYnBwLCBkZXB0aCBhbmQgZW5kaWFubmVzcyBhcmUgbm93IHNldCBmcm9tIHRoZQoJICBzdHJlYW0uCgoyMDA3LTA5LTIwIDE3OjM4OjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXhhbXBsZXMvYXBwL2FwcHNyY19leC5jOiBGaXggY29tcGlsYXRpb24gYWZ0ZXIgY2hhbmdpbmcgdGhlIG5hbWUgb2YgYSBtZXRob2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmNfZXguYzogKG1haW4pOgoJICBGaXggY29tcGlsYXRpb24gYWZ0ZXIgY2hhbmdpbmcgdGhlIG5hbWUgb2YgYSBtZXRob2QuCgoyMDA3LTA5LTIwIDE1OjA2OjIzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggbWVtb3J5IGxlYWtzLiBNb3JlIHRvIGNvbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBGaXggbWVtb3J5IGxlYWtzLiBNb3JlIHRvIGNvbWUuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSAgSW1wcm92ZWQgc3RhdGUgY2hhbmdlIHVuaXQgdGVzdC4KCjIwMDctMDktMjAgMTQ6MzQ6NTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IEFkZCBub3RpZmljYXRpb24gb2YgYWN0aXZlIFNTUkNzIHRvIHZhcmlvdXMgUlRQIGVsZW1lbnRzLiBGaXhlcyAjNDc4NTY2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKG9uX3NzcmNfYWN0aXZlKSwgKGNyZWF0ZV9zZXNzaW9uKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKG9uX3NzcmNfYWN0aXZlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChvbl9zc3JjX2FjdGl2ZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3JiKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEFkZCBub3RpZmljYXRpb24gb2YgYWN0aXZlIFNTUkNzIHRvIHZhcmlvdXMgUlRQIGVsZW1lbnRzLiBGaXhlcyAjNDc4NTY2LgoKMjAwNy0wOS0yMCAxMzo1OTo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay4qOiBBZGQgcHJvcGVydGllcywgc2lnbmFscyBhbmQgYWN0aW9ucyB0byBhY2Nlc3MgdGhlIGVsZW1lbnQgZXZlbiB3aXRob3V0IGxpbmtpbmcgdG8gdGhlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzogKGdzdF9hcHBfbWFyc2hhbF9PQkpFQ1RfX1ZPSUQpLAoJICAoZ3N0X2FwcF9zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2FwcF9zaW5rX2luaXQpLAoJICAoZ3N0X2FwcF9zaW5rX2Rpc3Bvc2UpLCAoZ3N0X2FwcF9zaW5rX2ZpbmFsaXplKSwKCSAgKGdzdF9hcHBfc2lua19zZXRfcHJvcGVydHkpLCAoZ3N0X2FwcF9zaW5rX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfYXBwX3NpbmtfZmx1c2hfdW5sb2NrZWQpLCAoZ3N0X2FwcF9zaW5rX3N0YXJ0KSwKCSAgKGdzdF9hcHBfc2lua19ldmVudCksIChnc3RfYXBwX3NpbmtfZ2V0Y2FwcyksCgkgIChnc3RfYXBwX3Npbmtfc2V0X2NhcHMpLCAoZ3N0X2FwcF9zaW5rX2dldF9jYXBzKSwKCSAgKGdzdF9hcHBfc2lua19pc19lb3MpLCAoZ3N0X2FwcF9zaW5rX3B1bGxfcHJlcm9sbCksCgkgIChnc3RfYXBwX3NpbmtfcHVsbF9idWZmZXIpOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5oOgoJICBBZGQgcHJvcGVydGllcywgc2lnbmFscyBhbmQgYWN0aW9ucyB0byBhY2Nlc3MgdGhlIGVsZW1lbnQgZXZlbiB3aXRob3V0CgkgIGxpbmtpbmcgdG8gdGhlIGxpYnJhcnkuCgkgIEZpeCBzb21lIG1ldGhvZCBuYW1lcyBhbmQgc2lnbmF0dXJlcy4KCjIwMDctMDktMTkgMjE6MTg6MjcgKzAwMDAgIEpvbmF0aGFuIE1hdHRoZXcgPGpvbmF0aGFuQGthb2xpbi53aDkubmV0PgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBEb24ndCBzZXQgY2hhbm5lbCBwb3NpdGlvbnMgb24gcmVndWxhciBtb25vIGFuZCBzdGVyZW8gY2FzZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9uYXRoYW4gTWF0dGhldyAgPGpvbmF0aGFuIGF0IGthb2xpbiB3aDkgbmV0PgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2NoYW5wb3NfdG9fZ3N0KSwKCSAgKGdzdF9mYWFkX3NyY2dldGNhcHMpLCAoZ3N0X2ZhYWRfdXBkYXRlX2NhcHMpOgoJICBEb24ndCBzZXQgY2hhbm5lbCBwb3NpdGlvbnMgb24gcmVndWxhciBtb25vIGFuZCBzdGVyZW8gY2FzZXMuCgkgIEZpeGVzICM0NzYzNzAuCgoyMDA3LTA5LTE5IDIwOjU1OjQzICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi86IEl0IGlzIG5vdyBwb3NzaWJsZSB0byBjb25uZWN0IHRvIGEgdm5jc2VydmVyLiB0aGVyZSBhcmUgc3RpbGwgc29tZSBpc3N1ZXMgd2l0aCB0aGUgb3VwdXQgb2YgdGhlIHNjcmVlbi4gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIEl0IGlzIG5vdyBwb3NzaWJsZSB0byBjb25uZWN0IHRvIGEgdm5jc2VydmVyLgoJICB0aGVyZSBhcmUgc3RpbGwgc29tZSBpc3N1ZXMgd2l0aCB0aGUgb3VwdXQgb2YKCSAgdGhlIHNjcmVlbi4gTG9va3MgbGlrZSBzb21lIGxpbmVzIGFyZSBjb25mdXNlZAoKMjAwNy0wOS0xOSAxODoyMjoyMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgSWdub3JlIHJlZ2lzdHJpZXMgaW4gYW55IGZvcm1hdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svLmN2c2lnbm9yZToKCSAgSWdub3JlIHJlZ2lzdHJpZXMgaW4gYW55IGZvcm1hdC4KCjIwMDctMDktMTkgMTM6NTA6NDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuKjogRG9uJ3QgZ2VuZXJhdGUgYW4gZXJyb3IgZm9yIG9jY2FzaW9uYWwgZGVjb2RpbmcgZXJyb3JzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKGdzdF9yZWFsX3ZpZGVvX2RlY19jaGFpbiksCgkgIChvcGVuX2xpYnJhcnkpLCAoZ3N0X3JlYWxfdmlkZW9fZGVjX2luaXQpLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9yZWFsX3ZpZGVvX2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuaDoKCSAgRG9uJ3QgZ2VuZXJhdGUgYW4gZXJyb3IgZm9yIG9jY2FzaW9uYWwgZGVjb2RpbmcgZXJyb3JzLgoJICBBZGQgbWF4LWVycm9ycyBwcm9wZXJ0eS4KCSAgRXJyb3Igb3V0IHdoZW4gd2UgcmVjZWl2ZSBtYXgtZXJyb3JzIGluIGEgcm93LiBGaXhlcyAjNDc4MTU5LgoKMjAwNy0wOS0xOSAxMzowNjoxNyArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IEFkZCBwYXNzd29yZCBwcm9wZXJ0eSAod3JpdGUgb25seSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgQWRkIHBhc3N3b3JkIHByb3BlcnR5ICh3cml0ZSBvbmx5KQoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICBSZWFkIHRoZSByZWFzb24gb24gZmFpbHVyZQoJICBVc2UgdGhlIHBhc3N3b3JkIHByb3BlcnR5IGZvciBhdXRoZW50aWNhdGlvbgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICBBZGQgZGVmaW5lcyBmb3IgdmVyc2lvbiBjaGVja2luZwoKMjAwNy0wOS0xOSAxMjo1MDoyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiBXaGVuIGZpbmFsaXppbmcgR3N0RGZiU3VyZmFjZSwgYSBzdWJjbGFzcyBvZiBHc3RCdWZmZXIsIGNvcnJlY3RseSBjaGFpbiB1cCB0byB0aGUgcGFyZW50Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKGdzdF9kZmJ2aWRlb3Npbmtfc3VyZmFjZV9kZXN0cm95KSwKCSAgKGdzdF9kZmJzdXJmYWNlX2NsYXNzX2luaXQpOgoJICBXaGVuIGZpbmFsaXppbmcgR3N0RGZiU3VyZmFjZSwgYSBzdWJjbGFzcyBvZiBHc3RCdWZmZXIsIGNvcnJlY3RseQoJICBjaGFpbiB1cCB0byB0aGUgcGFyZW50IGNsYXNzIHRvIGZyZWUgZXZlcnl0aGluZywgaW5jbHVkaW5nIGNhcHMuCgoyMDA3LTA5LTE5IDEyOjUwOjA1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IFdoZW4gZmluYWxpemluZyBHc3REZmJTdXJmYWNlLCBhIHN1YmNsYXNzIG9mIEdzdEJ1ZmZlciwgY29ycmVjdGx5IGNoYWluIHVwIHRvIHRoZSBwYXJlbnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAoZ3N0X2RmYnZpZGVvc2lua19zdXJmYWNlX2Rlc3Ryb3kpLAoJICAoZ3N0X2RmYnN1cmZhY2VfY2xhc3NfaW5pdCk6CgkgIFdoZW4gZmluYWxpemluZyBHc3REZmJTdXJmYWNlLCBhIHN1YmNsYXNzIG9mIEdzdEJ1ZmZlciwgY29ycmVjdGx5CgkgIGNoYWluIHVwIHRvIHRoZSBwYXJlbnQgY2xhc3MgdG8gZnJlZSBldmVyeXRoaW5nLCBpbmNsdWRpbmcgY2Fwcy4KCjIwMDctMDktMTkgMDg6MzU6MTMgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiLzogVk5DIEF1dGhlbnRpY2F0aW9uIHNob3VsZCBiZSB3b3JraW5nIG5vdyB0ZW1wZXJhbHkgd2l0aCBmYWtlIHBhc3N3b3JkICd0ZXN0dGVzdCcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGlicmZiL2QzZGVzLmM6CgkgICogZ3N0L2xpYnJmYi9kM2Rlcy5oOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICAqIGdzdC9saWJyZmIvdm5jYXV0aC5jOgoJICAqIGdzdC9saWJyZmIvdm5jYXV0aC5oOgoJICBWTkMgQXV0aGVudGljYXRpb24gc2hvdWxkIGJlIHdvcmtpbmcgbm93CgkgIHRlbXBlcmFseSB3aXRoIGZha2UgcGFzc3dvcmQgJ3Rlc3R0ZXN0JwoKMjAwNy0wOS0xOCAxNjozMjoxOSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvcmZiZGVjb2Rlci4qOiBBZGRlZCBzb21lIGRvY3VtZW50YXRpb24gYWJvdXQgc2VjdXJpdHkgaGFuZGxpbmcgc3RhcnQgaW1wbGVtZW50aW5nIHNlY3VyaXR5IGhhbmRsaW5nIGZvciByZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgQWRkZWQgc29tZSBkb2N1bWVudGF0aW9uIGFib3V0IHNlY3VyaXR5IGhhbmRsaW5nCgkgIHN0YXJ0IGltcGxlbWVudGluZyBzZWN1cml0eSBoYW5kbGluZyBmb3IgcmZiIDMuMwoKMjAwNy0wOS0xOCAxMzo1NTowNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtLzogSGFuZGxpbmcgd2luZG93IHJlc2l6ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgIEhhbmRsaW5nIHdpbmRvdyByZXNpemUuCgoyMDA3LTA5LTE4IDExOjQ1OjA2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBDaGFuZ2VMb2c6IEFkZCBtaXNzaW5nIG5ld2xpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIENoYW5nZUxvZzoKCSAgQWRkIG1pc3NpbmcgbmV3bGluZS4KCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgRml4IHRoZSBidWlsZCAobWlzc2luZyBzdGRsaWIuaCkuCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIFVzZSBiYXNldHJhbnNmb3JtIHNlZ21lbnQgc28gdGhhdCBpdCBpcyBjb3JyZWN0bHkgbWFuYWdlZCBvbiBmbHVzaGVzCgkgIGFuZCBzdGFydC9zdG9wLiBSZXBvcnQgbWVzc2FnZSB0aW1lc3RhbXAgYXMgc3RyZWFtIHRpbWUsIHdoaWNoIGlzIHdoYXQKCSAgYW4gYXBwbGljYXRpb24gY2FuIHVuZGVyc3RhbmQuIChZZXMgdGhlc2UgYXJlIGFkYXB0ZWQgZnJvbSB3aW0gcmVjZW50CgkgIGxldmVsIGVsZW1lbnQgY2hhbmdlcykKCjIwMDctMDktMTcgMjE6MTI6MTcgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5oOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIEFkZGVkIGEgbmV3IHByb3BlcnR5IGZvciB0aGUgcmZiIHZlcnNpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZGVkIGEgbmV3IHByb3BlcnR5IGZvciB0aGUgcmZiIHZlcnNpb24KCjIwMDctMDktMTcgMDI6MDE6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogTGluayB0byB0aGUgcmlnaHQgcGFkcyByZWdhcmRsZXNzIG9mIHdoaWNoIG9uZSB3YXMgY3JlYXRlZCBmaXJzdCBpbiB0aGUgc3NyYyBkZW11eGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIExpbmsgdG8gdGhlIHJpZ2h0IHBhZHMgcmVnYXJkbGVzcyBvZiB3aGljaCBvbmUgd2FzIGNyZWF0ZWQgZmlyc3QgaW4gdGhlCgkgIHNzcmMgZGVtdXhlci4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAoY2FsY3VsYXRlX2ppdHRlcik6CgkgIEltcHJvdmUgZGVidWdnaW5nLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiAoY3JlYXRlX2RlbXV4X3BhZF9mb3Jfc3NyYyksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfaW5pdCksIChnc3RfcnRwX3NzcmNfZGVtdXhfZmluYWxpemUpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3J0Y3Bfc2lua19ldmVudCksIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3J0Y3BfY2hhaW4pLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2ludGVybmFsX2xpbmtzKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgRml4IHJhY2UgaW4gY3JlYXRpbmcgdGhlIFJUUCBhbmQgUlRDUCBwYWRzIHdoZW4gYSBuZXcgU1NSQyBpcyBkZXRlY3RlZC4KCjIwMDctMDktMTYgMTk6NDA6MzEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogVXNlIGxvY2sgdG8gcHJvdGVjdCB2YXJpYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9iaW5fZ2V0X3Byb3BlcnR5KToKCSAgVXNlIGxvY2sgdG8gcHJvdGVjdCB2YXJpYWJsZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLAoJICAoY29udmVydF9ydHB0aW1lX3RvX2dzdHRpbWUpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBSZWNvbnN0cnVjdCBHU1QgdGltZXN0YW1wIGZyb20gUlRQIHRpbWVzdGFtcHMgYmFzZWQgb24gbWVhc3VyZWQgY2xvY2sKCSAgc2tldyBhbmQgc3luYyBvZmZzZXQuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX3NldF90YWlsX2NoYW5nZWQpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfc2V0X2Nsb2NrX3JhdGUpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfZ2V0X2Nsb2NrX3JhdGUpLCAoY2FsY3VsYXRlX3NrZXcpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX3BlZWspOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBNZWFzdXJlIGNsb2NrIHNrZXcuCgkgIEFkZCBjYWxsYmFjayB0byBiZSBub3RmaWVkIHdoZW4gYSBuZXcgcGFja2V0IHdhcyBpbnNlcnRlZCBhdCB0aGUgdGFpbC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfaW5pdCksCgkgIChjYWxjdWxhdGVfaml0dGVyKSwgKHJ0cF9zb3VyY2Vfc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBSZW1vdmUgY2xvY2sgc2tldyBkZXRlY3Rpb24sIGl0J3MgbW92ZSB0byB0aGUgaml0dGVyYnVmZmVyIG5vdy4KCjIwMDctMDktMTYgMDc6Mjg6MTggKzAwMDAgIERhbmllbCBDaGFybGVzIDxkY2hhcmxlc0B0aS5jb20+CgoJICBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuKjogQWRkIHByb3BlcnR5IHRvIGNvbnRyb2wgYmFuZG1vZGUuIEZpeGVzICM0NzczMDYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRGFuaWVsIENoYXJsZXMgPGRjaGFybGVzIGF0IHRpIGRvdCBjb20+CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6IChnc3RfYW1yd2JlbmNfYmFuZG1vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X2FtcndiZW5jX3NldF9wcm9wZXJ0eSksIChnc3RfYW1yd2JlbmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hbXJ3YmVuY19jbGFzc19pbml0KSwgKGdzdF9hbXJ3YmVuY19jaGFpbik6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmg6CgkgIEFkZCBwcm9wZXJ0eSB0byBjb250cm9sIGJhbmRtb2RlLiBGaXhlcyAjNDc3MzA2LgoKMjAwNy0wOS0xNSAxODo0ODowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBBbHNvIHNldCBOVFAgYmFzZSB0aW1lIG9uIG5ldyBzZXNzaW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbik6CgkgIEFsc28gc2V0IE5UUCBiYXNlIHRpbWUgb24gbmV3IHNlc3Npb25zLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9wcm9wZXJ0eSk6CgkgIFVzZSB0aGUgcmlnaHQgbG9jayB0byBwcm90ZWN0IG91ciB2YXJpYWJsZXMuCgkgIEZpeCBzb21lIGNvbW1lbnQuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldGNhcHNfc2VuZF9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKSwgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKToKCSAgSW1wbGVtZW50IGdldGNhcHMgb24gdGhlIHNlbmRlciBzaW5rcGFkIHNvIHRoYXQgcGF5bG9hZGVycyBjYW4gbmVnb3RpYXRlCgkgIHRoZSByaWdodCBTU1JDLgoKMjAwNy0wOS0xMiAyMToyMzo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogVmFyaW91cyBsZWFrIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwgKGZyZWVfc2Vzc2lvbiksCgkgIChnZXRfY2xpZW50KSwgKGZyZWVfY2xpZW50KSwgKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksCgkgIChmcmVlX3N0cmVhbSksIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfYmluX2Rpc3Bvc2UpLAoJICAoZ3N0X3J0cF9iaW5fZmluYWxpemUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZpbmFsaXplKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X3JlbGVhc2UpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9maW5hbGl6ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2Rpc3Bvc2UpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2ZpbmFsaXplKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFZhcmlvdXMgbGVhayBmaXhlcy4KCjIwMDctMDktMTIgMTg6MDQ6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQ2FsY3VsYXRlIGFuZCBjb25maWd1cmUgdGhlIE5UUCBiYXNlIHRpbWUgc28gdGhhdCB3ZSBjYW4gZ2VuZXJhdGUgYmV0dGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY2FsY19udHBfbnNfYmFzZSksCgkgIChnc3RfcnRwX2Jpbl9jaGFuZ2Vfc3RhdGUpLCAobmV3X3BheWxvYWRfZm91bmQpLCAoY3JlYXRlX3NlbmRfcnRwKToKCSAgQ2FsY3VsYXRlIGFuZCBjb25maWd1cmUgdGhlIE5UUCBiYXNlIHRpbWUgc28gdGhhdCB3ZSBjYW4gZ2VuZXJhdGUgYmV0dGVyCgkgIE5UUCB0aW1lcyBpbiBTUiBwYWNrZXRzLgoJICBTZXQgY2FwcyBvbiBuZXcgZ2hvc3RwYWQuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIENsZWFuIGRlYnVnIHN0YXRlbWVudC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25faW5pdCksIChnc3RfcnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpLCAoZ2V0X2N1cnJlbnRfbnRwX25zX3RpbWUpLAoJICAocnRjcF90aHJlYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2ludGVybmFsX2xpbmtzKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApLCAoY3JlYXRlX3JlY3ZfcnRwX3NpbmspLAoJICAoY3JlYXRlX3NlbmRfcnRwX3NpbmspOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgQWRkIG50cC1ucy1iYXNlIHByb3BlcnR5IHRvIGNvbnZlcnQgcnVubmluZ190aW1lIHRvIE5UUCB0aW1lLgoJICBIYW5kbGUgTkVXU0VHTUVOVCBldmVudHMgb24gc2VuZCBhbmQgcmVjdiBSVFAgcGFkcyBzbyB0aGF0IHdlIGNhbgoJICBjYWxjdWxhdGUgdGhlIHJ1bm5pbmcgdGltZSBhbmQgdGh1cyBOVFAgdGltZSBvZiB0aGUgcGFja2V0cy4KCSAgU2ltcGxpZnkgZ2V0dGluZyB0aGUgY3VycmVudCBOVFAgdGltZSB1c2luZyB0aGUgcGlwZWxpbmUgY2xvY2suCgkgIEltcGxlbWVudCBpbnRlcm5hbCBsaW5rcyBmdW5jdGlvbnMuCgkgIFVzZSB0aGUgYnVmZmVyIHRpbWVzdGFtcCB0byBjYWxjdWxhdGUgdGhlIE5UUCB0aW1lIGluc3RlYWQgb2YgdGhlIGNsb2NrLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiAoY3JlYXRlX2RlbXV4X3BhZF9mb3Jfc3NyYyksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfaW5pdCksIChnc3RfcnRwX3NzcmNfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhaW4pLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X3J0Y3BfY2hhaW4pLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2ludGVybmFsX2xpbmtzKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9zcmNfcXVlcnkpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBJbXBsZW1lbnQgaW50ZXJuYWwgbGlua3MgZnVuY3Rpb24uCgkgIENhbGN1bGF0ZSB0aGUgZGlmZiBiZXR3ZWVuIGRpZmZlcmVudCBzdHJlYW1zLCB0aGlzIG1pZ2h0IGJlIHVzZWQgbGF0ZXIKCSAgdG8gZ2V0IHRoZSBpbnRlciBzdHJlYW0gbGF0ZW5jeS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9zZW5kX3J0cCk6CgkgIFNpbXBsZSBjbGVhbnVwLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9pbml0KSwKCSAgKGNhbGN1bGF0ZV9qaXR0ZXIpLCAocnRwX3NvdXJjZV9zZW5kX3J0cCksIChydHBfc291cmNlX2dldF9uZXdfc3IpOgoJICBNYWtlIHRoZSBjbG9jayBza2V3IHdpbmRvdyBhIGxpdHRsZSBiaWdnZXIuCgkgIEFwcGx5IHRoZSBjbG9jayBza2V3IHRvIGFsbCBidWZmZXJzLCBub3QganVzdCBvbmUgd2l0aCBhIG5ldyB0aW1lc3RhbXAuCgkgIENhbGN1bGF0ZSBhbmQgZGVidWcgc2VuZGVyIGNsb2NrIGRyaWZ0LgoJICBVc2UgZXh0ZW5kZWQgbGFzdCB0aW1lc3RhbXAgdG8gaW50ZXJwb2xsYXRlIGZvciBTUiByZXBvcnRzLgoKMjAwNy0wOS0xMiAwODozODoyMiArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvOiBQcmludGYgZm9ybWF0IGZpeGVzICgjNDc2MTI4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgIDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJICBQcmludGYgZm9ybWF0IGZpeGVzICgjNDc2MTI4KS4KCjIwMDctMDktMDkgMTk6MDU6MTkgKzAwMDAgIFRob21hcyBHcmVlbiA8dG9tNzg5OTlAZ21haWwuY29tPgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogV2l0aCBsaWJuZW9uIDIuNiwgd2UgbmVlZCB0byBzZXQgdGhlIE5FX1NFU1NGTEFHX0lDWVBST1RPIGZsYWcgaWYgd2Ugd2FudCBJQ1kgc3RyZWFtcyB0byBiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVGhvbWFzIEdyZWVuICA8dG9tNzg5OTkgZ21haWwgY29tPgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgIFdpdGggbGlibmVvbiAyLjYsIHdlIG5lZWQgdG8gc2V0IHRoZSBORV9TRVNTRkxBR19JQ1lQUk9UTwoJICBmbGFnIGlmIHdlIHdhbnQgSUNZIHN0cmVhbXMgdG8gYmUgaGFuZGxlZCB0b28sIG90aGVyd2lzZQoJICBsaWJuZW9uIHdpbGwgZXJyb3Igb3V0IHdpdGggYSAnY2FuJ3QgcGFyc2UgcmVwb25zZScgZXJyb3IuCgkgIEZpeGVzICM0NzQ2OTYuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbmVvbmh0dHBzcmMuYzoKCSAgVW5pdCB0ZXN0IGZvciB0aGUgYWJvdmUgYnkgWW91cnMgVHJ1bHkuCgoyMDA3LTA5LTA5IDE4OjIyOjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBVc2UgQUNfVFJZX0NPTVBJTEUgaW5zdGVhZCBvZiBBQ19UUllfUlVOIGZvciB0aGUgZmFhZCBhbmQgdGhlIHh2aWQgY29uZmlndXJlIGNoZWNrcywgc28gdGhleSBzdGlsbCB3b3JrLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXNlIEFDX1RSWV9DT01QSUxFIGluc3RlYWQgb2YgQUNfVFJZX1JVTiBmb3IgdGhlIGZhYWQgYW5kIHRoZQoJICB4dmlkIGNvbmZpZ3VyZSBjaGVja3MsIHNvIHRoZXkgc3RpbGwgd29yayB3aGVuIGNyb3NzLWNvbXBpbGluZy4KCSAgRml4ZXMgIzQ1MjAwOS4KCjIwMDctMDktMDcgMTU6NTQ6MzggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBVc2UgdGhlIGNvcnJlY3QgcGFyYW1ldGVyIG9yZGVyIGZvciB0aGUgbWVtc2V0IGNhbGxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9zdGFydCksCgkgIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgVXNlIHRoZSBjb3JyZWN0IHBhcmFtZXRlciBvcmRlciBmb3IgdGhlIG1lbXNldCBjYWxscy4KCSAgVGhhbmtzIHRvIENocmlzdGlhbiBTY2hhbGxlciBmb3Igbm90aWNpbmcuCgoyMDA3LTA5LTA2IDIwOjM3OjU2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzogRml4IHRoZSBidWlsZCAobWlzc2luZyBzdGRsaWIuaCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBGaXggdGhlIGJ1aWxkIChtaXNzaW5nIHN0ZGxpYi5oKS4KCjIwMDctMDktMDYgMDc6MjY6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVjdHJ1bS9maXhfZmZ0LmM6IFJlbW92ZSBmaXhlZCBwb2ludCBGRlQgYXMgaXQncyBub3QgdXNlZCBhbnltb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZml4X2ZmdC5jOgoJICBSZW1vdmUgZml4ZWQgcG9pbnQgRkZUIGFzIGl0J3Mgbm90IHVzZWQgYW55bW9yZS4KCjIwMDctMDktMDYgMDc6MjE6MjIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFBvcnQgR3N0U3BlY3RydW0gdG8gR3N0QXVkaW9GaWx0ZXIgYW5kIGxpYmdzdGZmdCwgYWRkIHN1cHBvcnQgZm9yIGludDMyLCBmbG9hdCBhbmQgZG91YmxlLCB1c2UgZmxvYXRzIGZvciB0aGUgbWVzc2FnZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAoZHJhd19zcGVjdHJ1bSksCgkgIChtZXNzYWdlX2hhbmRsZXIpLCAobWFpbik6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChkcmF3X3NwZWN0cnVtKSwgKG1lc3NhZ2VfaGFuZGxlcik6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fYmFzZV9pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwgKGdzdF9zcGVjdHJ1bV9pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9kaXNwb3NlKSwgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NwZWN0cnVtX2dldF9wcm9wZXJ0eSksIChnc3Rfc3BlY3RydW1fc3RhcnQpLAoJICAoZ3N0X3NwZWN0cnVtX3NldHVwKSwgKGdzdF9zcGVjdHJ1bV9tZXNzYWdlX25ldyksCgkgIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgUG9ydCBHc3RTcGVjdHJ1bSB0byBHc3RBdWRpb0ZpbHRlciBhbmQgbGliZ3N0ZmZ0LCBhZGQgc3VwcG9ydAoJICBmb3IgaW50MzIsIGZsb2F0IGFuZCBkb3VibGUsIHVzZSBmbG9hdHMgZm9yIHRoZSBtZXNzYWdlIGNvbnRlbnRzLAoJICBhdmVyYWdlIGFsbCBGRlRzIGRvbmUgaW4gb25lIGludGVydmFsIGZvciBiZXR0ZXIgcmVzdWx0cywgdXNlCgkgIGEgYmV0dGVyIHdpbmRvd2luZyBmdW5jdGlvbiwgYWxsb3cgcG9zdGluZyB0aGUgcGhhc2UgaW4gdGhlIG1lc3NhZ2UKCSAgYW5kIGFjdHVhbGx5IGRvIGFuIEZGVCB3aXRoIHRoZSByZXF1ZXN0ZWQgbnVtYmVyIG9mIGJhbmRzIGluc3RlYWQKCSAgb2YgaW50ZXJwb2xhdGluZy4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAoc3BlY3RydW1fc3VpdGUpOgoJICBJbXByb3ZlIHRoZSB1bml0cyB0ZXN0cyBieSBjaGVja2luZyBmb3IgYSAxMTAyNUh6IHNpbmUgd2F2ZQoJICBhbmQgYWRkIHVuaXQgdGVzdHMgZm9yIGFsbCA0IHN1cHBvcnRlZCBzYW1wbGUgdHlwZXMuCgoyMDA3LTA5LTA1IDIxOjA5OjA4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IEFkZCBzb21lIG1vcmUgZGVidWdnaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKGdzdF9yZWFsX3ZpZGVvX2RlY19jaGFpbiksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfc2V0Y2Fwcyk6CgkgIEFkZCBzb21lIG1vcmUgZGVidWdnaW5nLgoJICBEb24ndCBzZXQgTE9ORyBmb3Igd2lkdGgvaGVpZ2h0IGluIGNhcHMuCgkgIFNldCBjb3JyZWN0IG91dHB1dCBidWZmZXIgc2l6ZSB3aGVuIGNhcHMgY2hhbmdlZC4KCSAgVGhlIGN1c3RvbSBtZXNzYWdlIHNlbnQgdG8gdGhlIGRlY29kZXIgc2hvdWxkIG5vdCBpbmNsdWRlIHRoZSBmb3JtYXQgYW5kCgkgIHN1YmZvcm1hdC4gRml4ZXMgIzQ3MTU1NC4KCjIwMDctMDktMDQgMTU6MjM6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IE1ha2UgY29tcGlsZXIgaGFwcHk6IGZpeCBjb21waWxhdGlvbiB3aXRoIC1XYWxsIC1XZXJyb3IgKCM0NzM1NjIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIE1ha2UgY29tcGlsZXIgaGFwcHk6IGZpeCBjb21waWxhdGlvbiB3aXRoIC1XYWxsIC1XZXJyb3IKCSAgKCM0NzM1NjIpLgoKMjAwNy0wOS0wNCAwMjoyMjoyMCArMDAwMCAgSm9oYW4gRGFobGluIDxqb2hhbkBnbm9tZS5vcmc+CgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJICBOb3NlZmFydCAtPiBORVMgU291bmQgRm9ybWF0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBOb3NlZmFydCAtPiBORVMgU291bmQgRm9ybWF0CgoyMDA3LTA5LTA0IDAyOjE2OjUzICswMDAwICBKb2hhbiBEYWhsaW4gPGpvaGFuQGdub21lLm9yZz4KCgkgIGdzdC9uc2YvZ3N0bnNmLio6IEFkZCBzdXBwb3J0IGZvciAodmVyeSkgYmFzaWMgdGFnZ2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDktMDMgIEpvaGFuIERhaGxpbiAgPGpvaGFuQGdub21lLm9yZz4KCSAgKiBnc3QvbnNmL2dzdG5zZi5jOiAoZ3N0X25zZmRlY19maW5hbGl6ZSksIChzdGFydF9wbGF5X3R1bmUpOgoJICAqIGdzdC9uc2YvZ3N0bnNmLmg6CgkgIEFkZCBzdXBwb3J0IGZvciAodmVyeSkgYmFzaWMgdGFnZ2luZy4KCjIwMDctMDktMDMgMjE6MTk6MzQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFVwZGF0ZWQgZXhhbXBsZSBwaXBlbGluZXMgaW4gZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2dldF9jbGllbnQpLAoJICAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwgKGdzdF9ydHBfYmluX3N5bmNfY2hhaW4pLCAoY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRwX2Jpbl9pbml0KSwgKGNhcHNfY2hhbmdlZCksIChuZXdfc3NyY19wYWRfZm91bmQpLAoJICAoY3JlYXRlX3JlY3ZfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0Y3ApLCAoY3JlYXRlX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgVXBkYXRlZCBleGFtcGxlIHBpcGVsaW5lcyBpbiBkb2NzLgoJICBIYW5kbGUgc3luY19ydGNwIGJ1ZmZlcnMgZnJvbSB0aGUgU1NSQyBkZW11eGVyIHRvIHBlcmZvcm0gbGlwLXN5bmMuCgkgIFNldCB0aGUgZGVmYXVsdCBsYXRlbmN5IGNvcnJlY3RseS4KCSAgQWRkIHNvbWUgbW9yZSBwb2ludHMgd2hlcmUgd2UgY2FuIGdldCBjYXBzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfcHJvcGVydHkpOgoJICBBZGQgdHMtb2Zmc2V0IHByb3BlcnR5IHRvIGNvbnRyb2wgdGltZXN0YW1waW5nLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSksIChnZXRfY3VycmVudF9udHBfbnNfdGltZSksCgkgIChydGNwX3RocmVhZCksIChzdG9wX3J0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCksIChnc3RfcnRwX3Nlc3Npb25fc3luY19ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jYWNoZV9jYXBzKSwgKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zaW5rX3NldGNhcHMpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCksIChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfcmVjdl9ydGNwX3NpbmspLCAoY3JlYXRlX3NlbmRfcnRwX3NpbmspLAoJICAoY3JlYXRlX3NlbmRfcnRjcF9zcmMpOgoJICBWYXJpb3VzIGNsZWFudXBzLgoJICBGZWVkIHJ0cHNlc3Npb24gbWFuYWdlciB3aXRoIE5UUCB0aW1lIGJhc2VkIG9uIHBpcGVsaW5lIGNsb2NrIHdoZW4KCSAgaGFuZGxpbmcgUlRQIHBhY2tldHMgYW5kIFJUQ1AgdGltZW91dHMuCgkgIFBlcmZvcm0gYWxsIFJUQ1Agd2l0aCB0aGUgc3lzdGVtIGNsb2NrLgoJICBTZXQgY2FwcyBvbiBSVENQIG91dGdvaW5nIGJ1ZmZlcnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IChmaW5kX2RlbXV4X3BhZF9mb3Jfc3NyYyksCgkgIChjcmVhdGVfZGVtdXhfcGFkX2Zvcl9zc3JjKSwgKGdzdF9ydHBfc3NyY19kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2luaXQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3J0Y3Bfc2lua19ldmVudCksIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3J0Y3BfY2hhaW4pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBBbHNvIGRlbXV4IFJUQ1AgbWVzc2FnZXMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fc2V0X2NhbGxiYWNrcyksCgkgICh1cGRhdGVfYXJyaXZhbF9zdGF0cyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3JiKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19yciksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ydHApLCAocnRwX3Nlc3Npb25fc2VuZF9ieWUpLAoJICAoc2Vzc2lvbl9zdGFydF9ydGNwKSwgKHNlc3Npb25fcmVwb3J0X2Jsb2NrcyksIChzZXNzaW9uX2NsZWFudXApLAoJICAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBSZW1vdmUgdGhlIGdldF90aW1lIGNhbGxiYWNrLCB0aGUgR1N0cmVhbWVyIHBhcnQgd2lsbCBmZWVkIHVzIHdpdGgKCSAgZW5vdWdoIHRpbWluZyBpbmZvcm1hdGlvbi4KCSAgU3BsaXQgc3luYyB0aW1pbmcgYW5kIFJUQ1AgdGltaW5nIGluZm9ybWF0aW9uLgoJICBGYWN0b3Igb3V0IGNvbW1vbiBSQiBoYW5kbGluZyBmb3IgU1IgYW5kIFJSLgoJICBTZW5kIG91dCBTUiBSVENQIHBhY2tldHMgZm9yIGxpcC1zeW5jLgoJICBNb3ZlIFNSIGFuZCBSUiBwYWNrZXQgaW5mbyBnZW5lcmF0aW9uIHRvIHRoZSBzb3VyY2UuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2luaXQpLAoJICAocnRwX3NvdXJjZV91cGRhdGVfY2FwcyksIChnZXRfY2xvY2tfcmF0ZSksIChjYWxjdWxhdGVfaml0dGVyKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApLCAocnRwX3NvdXJjZV9zZW5kX3J0cCksCgkgIChydHBfc291cmNlX3Byb2Nlc3Nfc3IpLCAocnRwX3NvdXJjZV9wcm9jZXNzX3JiKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X25ld19zciksIChydHBfc291cmNlX2dldF9uZXdfcmIpLAoJICAocnRwX3NvdXJjZV9nZXRfbGFzdF9zcik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgVXNlIGNhcHMgb24gaW5jb21taW5nIGJ1ZmZlcnMgdG8gZ2V0IHRpbWluZyBpbmZvcm1hdGlvbiB3aGVuIHRoZXkgYXJlCgkgIHRoZXJlLgoJICBDYWxjdWxhdGUgY2xvY2sgc2NldyBvZiB0aGUgcmVjZWl2ZXIgY29tcGFyZWQgdG8gdGhlIHNlbmRlciBhbmQgYWRqdXN0CgkgIHRoZSBydHAgdGltZXN0YW1wcy4KCSAgQ2FsY3VsYXRlIHRoZSByb3VuZCB0cmlwIGluIHNvdXJjZXMuCgkgIERvIFNSIGFuZCBSUiBjYWxjdWxhdGlvbnMgaW4gdGhlIHNvdXJjZS4KCjIwMDctMDktMDMgMjA6MDc6MTcgKzAwMDAgIFJlbmF0byBGaWxobyA8cmVuYXRvLmZpbGhvQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmg6CgkgIGdteXRoc3JjIGNvZGUgcmV3cml0ZTsKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGdteXRoc3JjIGNvZGUgcmV3cml0ZTsKCjIwMDctMDgtMzEgMTU6MjY6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogVXNlIGV4dGVuZGVkIHRpbWVzdGFtcCB0byByZWxlYXNlIGJ1ZmZlcnMgZnJvbSB0aGUgaml0dGVyYnVmZmVyIHNvIHRoYXQgd2UgY2FuIGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhbmdlX3N0YXRlKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgVXNlIGV4dGVuZGVkIHRpbWVzdGFtcCB0byByZWxlYXNlIGJ1ZmZlcnMgZnJvbSB0aGUgaml0dGVyYnVmZmVyIHNvIHRoYXQKCSAgd2UgY2FuIGhhbmRsZSB0aGUgcnRwIHdyYXBhcm91bmQgY29ycmVjdGx5LgoKMjAwNy0wOC0yOSAxNjo1NjoyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBJbXByb3ZlIENvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgSW1wcm92ZSBDb21tZW50cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChzdG9wX3J0Y3BfdGhyZWFkKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3J0cF9zZXNzaW9uX3BhcnNlX2NhcHMpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpLCAoZ3N0X3J0cF9zZXNzaW9uX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayksIChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfc2VuZF9ydHBfc2luayk6CgkgIEFsc28gcGFyc2UgdGhlIHNpbmsgY2FwcyBmb3IgY2xvY2stcmF0ZSBpbnN0ZWFkIG9mIG9ubHkgcmVseWluZyBvbiB0aGUKCSAgcmVzdWx0IG9mIHRoZSBzaWduYWwuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX3NlbmRfcnRwKToKCSAgTWFrZSBzdXJlIHdlIGZldGNoIHRoZSBjbG9jayByYXRlIGZvciBwYXlsb2FkcyB3ZSBhcmUgc2VuZGluZyBvdXQgc28KCSAgdGhhdCB3ZSBjYW4gdXNlIGl0IGZvciBTUiByZXBvcnRzLgoKMjAwNy0wOC0yOSAxNjoyMDoyOCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zd2l0Y2hfY2hhaW4sIGdzdF9zd2l0Y2hfc2V0X3Byb3BlcnR5KTogSWYgYWxsIGluZm9ybWF0aW9uIGlzIGtub3duIGF0IHRpbWUgb2Ygc2V0dGluZyBzdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3dpdGNoX2NoYWluLCBnc3Rfc3dpdGNoX3NldF9wcm9wZXJ0eSk6CgkgIElmIGFsbCBpbmZvcm1hdGlvbiBpcyBrbm93biBhdCB0aW1lIG9mIHNldHRpbmcgc3RhcnQtdGltZQoJICBwcm9wZXJ0eSwgc2VuZCBuZXcgc2VnbWVudHMgdGhlbi4KCjIwMDctMDgtMjkgMDE6MjI6NDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLio6IERpc3RyaWJ1dGUgc3luY2hyb25pc2F0aW9uIHBhcmFtZXRlcnMgdG8gdGhlIHNlc3Npb24gbWFuYWdlciBzbyB0aGF0IGl0IGNhbiBnZW5lcmF0ZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoc3RvcF9ydGNwX3RocmVhZCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgIERpc3RyaWJ1dGUgc3luY2hyb25pc2F0aW9uIHBhcmFtZXRlcnMgdG8gdGhlIHNlc3Npb24gbWFuYWdlciBzbyB0aGF0IGl0CgkgIGNhbiBnZW5lcmF0ZSBjb3JyZWN0IFNSIHBhY2tldHMgZm9yIGxpcC1zeW5jLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3NldF9iYXNlX3RpbWUpLAoJICAocnRwX3Nlc3Npb25fc2V0X3RpbWVzdGFtcF9zeW5jKSwgKHNlc3Npb25fc3RhcnRfcnRjcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBBZGQgbWV0aG9kcyBmb3Igc2V0dGluZyBzeW5jIHBhcmFtZXRlcnMuCgkgIFNldCBjb3JyZWN0IFJUUCB0aW1lIGluIFNSIHBhY2tldHMgdXNpbmcgdGhlIHN5bmMgcGFyYW1zLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIFJlY29yZCBsYXN0IFJUUCA8LT4gR1NUIHRpbWVzdGFtcCBzbyB0aGF0IHdlIGNhbiB1c2UgdGhlbSB0byBjb252ZXJ0IE5UUAoJICB0byBSVFAgdGltZXN0YW1wcyBpbiBTUiBwYWNrZXRzLgoKMjAwNy0wOC0yOCAyMDozMDoxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBBZGQgc29tZSBtb3JlIGFkdmFuY2VkIGV4YW1wbGUgcGlwZWxpbmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2NsZWFyX3B0X21hcCk6CgkgIEFkZCBzb21lIG1vcmUgYWR2YW5jZWQgZXhhbXBsZSBwaXBlbGluZXMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAocnRjcF90aHJlYWQpLAoJICAoc3RvcF9ydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKToKCSAgQWRkIHNvbWUgZGVidWcgYW5kIEZJWE1FLgoJICBSZWxlYXNlIExPQ0sgd2hlbiBwZXJmb3JtaW5nIHNlc3Npb24gY2xlYW51cC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpOgoJICBBZGQgc29tZSBkZWJ1Zy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKGNhbGN1bGF0ZV9qaXR0ZXIpLAoJICAocnRwX3NvdXJjZV9zZW5kX3J0cCk6CgkgIE1ha2Ugc3VyZSB3ZSBhbHdheXMgc2VuZCBSVFAgcGFja2V0cyB3aXRoIHRoZSBzZXNzaW9uIFNTUkMuCgoyMDA3LTA4LTI4IDA4OjEwOjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzogRG9uJ3QgbmVlZCB0aGlzIGluY2x1ZGUgKGZpeGVzIGNvbXBpbGF0aW9uIGluIHVuaW5zdGFsbGVkIHNldHVwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgRG9uJ3QgbmVlZCB0aGlzIGluY2x1ZGUgKGZpeGVzIGNvbXBpbGF0aW9uIGluIHVuaW5zdGFsbGVkIHNldHVwKS4KCjIwMDctMDgtMjcgMjE6MTc6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogV2hlbiBzeW5jaHJvbml6aW5nIGJ1ZmZlcnMsIHRha2UgcGVlciBsYXRlbmN5IGludG8gYWNjb3VudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhbmdlX3N0YXRlKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSk6CgkgIFdoZW4gc3luY2hyb25pemluZyBidWZmZXJzLCB0YWtlIHBlZXIgbGF0ZW5jeSBpbnRvIGFjY291bnQuCgkgIERvbid0IHRyeSB0byBhZGQgb3VyIGxhdGVuY3kgdG8gaW52YWxpZCBwZWVyIG1heCBsYXRlbmN5IHZhbHVlcy4KCjIwMDctMDgtMjcgMTQ6NTY6MDUgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBNYWtlIHN1cmUgd2UgaW5pdGlhbGl6ZSB0aGUgc2VlayByZXN1bHQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA4LTI3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKToKCSAgTWFrZSBzdXJlIHdlIGluaXRpYWxpemUgdGhlIHNlZWsgcmVzdWx0LgoKMjAwNy0wOC0yNyAxNDo0MTowMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOiBDb21taXQgdGhlIG1ha2VmaWxlIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSAgQ29tbWl0IHRoZSBtYWtlZmlsZSB0b28uCgoyMDA3LTA4LTI3IDE0OjMzOjU5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGR2ZHNwdSBlbGVtZW50IGRvbmF0ZWQgYnkgRmx1ZW5kby4gSXQgaW1wbGVtZW50cyBhIERWRCBTdWItUGljdHVyZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2R2ZHNwdS8uY3ZzaWdub3JlOgoJICAqIGdzdC9kdmRzcHUvTm90ZXMudHh0OgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LXJlbmRlci5jOiAoZHZkc3B1X3JlY2FsY19wYWxldHRlKSwKCSAgKGR2ZHNwdV91cGRhdGVfcGFsZXR0ZXMpLCAoZHZkc3B1X2NsZWFyX2NvbXBfYnVmZmVycyksCgkgIChkdmRzcHVfZ2V0X25pYmJsZSksIChkdmRzcHVfZ2V0X3JsZV9jb2RlKSwgKGR2ZHNwdV9kcmF3X3JsZV9ydW4pLAoJICAocmxlX2VuZF94KSwgKGR2ZHNwdV9yZW5kZXJfbGluZSksIChkdmRzcHVfdXBkYXRlX2NoZ2NvbCksCgkgIChkdmRzcHVfcmVuZGVyX2xpbmVfd2l0aF9jaGdjb2wpLCAoZHZkc3B1X2JsZW5kX2NvbXBfYnVmZmVycyksCgkgIChnc3RkdmRzcHVfcmVuZGVyX3NwdSk6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzogKGR2ZHNwdV9iYXNlX2luaXQpLCAoZHZkc3B1X2NsYXNzX2luaXQpLAoJICAoZHZkc3B1X2luaXQpLCAoZHZkc3B1X2NsZWFyKSwgKGR2ZHNwdV9kaXNwb3NlKSwgKGR2ZHNwdV9maW5hbGl6ZSksCgkgIChkdmRzcHVfZmx1c2hfc3B1X2luZm8pLCAoZHZkc3B1X2J1ZmZlcl9hbGxvYyksIChkdmRzcHVfc3JjX2V2ZW50KSwKCSAgKGR2ZHNwdV92aWRlb19zZXRfY2FwcyksIChkdmRzcHVfdmlkZW9fcHJveHlfZ2V0Y2FwcyksCgkgIChkdmRzcHVfdmlkZW9fZXZlbnQpLCAoZHZkc3B1X3ZpZGVvX2NoYWluKSwKCSAgKGR2c3B1X2hhbmRsZV92aWRfYnVmZmVyKSwgKGR2ZHNwdV9yZWRyYXdfc3RpbGwpLAoJICAoZ3N0ZHZkc3B1X3BhcnNlX2NoZ19jb2xjb24pLCAoZHZkc3B1X2V4ZWNfY21kX2JsayksCgkgIChkdmRzcHVfZmluaXNoX3NwdV9idWYpLCAoZHZkc3B1X3NldHVwX2NtZF9ibGspLAoJICAoZHZkc3B1X2hhbmRsZV9uZXdfc3B1X2J1ZiksIChkdmRzcHVfaGFuZGxlX2R2ZF9ldmVudCksCgkgIChkdmRzcHVfZHVtcF9kY3NxKSwgKGR2ZHNwdV9hZHZhbmNlX3NwdSksCgkgIChkdmRzcHVfY2hlY2tfc3RpbGxfdXBkYXRlcyksIChkdmRzcHVfc3VicGljX2NoYWluKSwKCSAgKGR2ZHNwdV9zdWJwaWNfZXZlbnQpLCAoZHZkc3B1X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RkdmRzcHVfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkgIGR2ZHNwdSBlbGVtZW50IGRvbmF0ZWQgYnkgRmx1ZW5kby4gSXQgaW1wbGVtZW50cyBhIERWRCBTdWItUGljdHVyZQoJICBVbml0LCBkZWNvZGluZyBhbmQgb3ZlcmxheWluZyBEVkQgc3VidGl0bGVzIGFuZCBtZW51IGdyYXBoaWNzLgoJICAqIGdzdC9tcGVnMnN1Yi8uY3ZzaWdub3JlOgoJICAqIGdzdC9tcGVnMnN1Yi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzJzdWIvTm90ZXMudHh0OgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0Lmg6CgkgICogZ3N0L21wZWcyc3ViL21wZWcyc3VidC52Y3Byb2o6CgkgIERlbGV0ZSBvbGQgYW5kIGJyb2tlbiBtcGVnMnN1YnQgZWxlbWVudCB0aGF0IHdhcyBuZXZlciBwb3J0ZWQgZnJvbSAwLjgKCjIwMDctMDgtMjQgMTc6MDM6MTUgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBSZW1vdmUgc29tZSB1c2VsZXNzIGlmZGVmLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOC0yNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfZmx1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9jaGFpbiksIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwKCSAgKGdzdF9mbHZfZGVtdXhfZmluZF9vZmZzZXQpLCAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCksIChnc3RfZmx2X2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X2Zsdl9kZW11eF9zcmNfZXZlbnQpOiBSZW1vdmUgc29tZSB1c2VsZXNzIGlmZGVmLgoKMjAwNy0wOC0yNCAxNTo1Njo1MiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIE1ha2Ugc3dpdGNoIG1vcmUgcmVsaWFibGUgYW5kIGFsc28gbm90IGxvY2sgdXAgd2hlbiBzaW5rIHBhZCBjYXBzIGNoYW5nZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmMgKG1haW4pOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zd2l0Y2hfY2hhaW4pOgoJICBNYWtlIHN3aXRjaCBtb3JlIHJlbGlhYmxlIGFuZCBhbHNvIG5vdCBsb2NrIHVwIHdoZW4KCSAgc2luayBwYWQgY2FwcyBjaGFuZ2UuCgoyMDA3LTA4LTI0IDE1OjMxOjI2ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogSW1wbGVtZW50IHNlZWtpbmcgaW4gcHVzaCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOC0yNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfZmx1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9jbGVhbnVwKSwgKGdzdF9mbHZfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksIChnc3RfZmx2X2RlbXV4X2ZpbmRfb2Zmc2V0KSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpLAoJICAoZ3N0X2Zsdl9kZW11eF9zaW5rX2V2ZW50KSwgKGdzdF9mbHZfZGVtdXhfc3JjX2V2ZW50KTogSW1wbGVtZW50CgkgIHNlZWtpbmcgaW4gcHVzaCBtb2RlLgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCjIwMDctMDgtMjQgMTE6MjM6MjggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBVcGRhdGUgbGljZW5jZXMgdG8gcmVmbGVjdCBMR1BMLW5lc3Mgb2YgdGhlc2UgZmlsZXMgYWxzby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcGF0aW5mby5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BhdGluZm8uaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwbXRpbmZvLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcG10aW5mby5oOgoJICBVcGRhdGUgbGljZW5jZXMgdG8gcmVmbGVjdCBMR1BMLW5lc3Mgb2YgdGhlc2UgZmlsZXMgYWxzby4KCjIwMDctMDgtMjMgMjE6Mzk6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBSZW5hbWUgYWxsIEdzdFJUUEZvbyBzdHJ1Y3RzIHRvIEdzdFJ0cEZvbyBzbyB0aGF0IEdTVF9CT0lMRVJQTEFURSByZWdpc3RlcnMgYSBHVHlwZSB0aGF0J3MgZGlmZmVyZW50IHRoYW4gdGhlIEdzdFJUUEYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4Lmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgUmVuYW1lIGFsbCBHc3RSVFBGb28gc3RydWN0cyB0byBHc3RSdHBGb28gc28gdGhhdCBHU1RfQk9JTEVSUExBVEUKCSAgcmVnaXN0ZXJzIGEgR1R5cGUgdGhhdCdzIGRpZmZlcmVudCB0aGFuIHRoZSBHc3RSVFBGb28gdHlwZXMgdGhhdAoJICBmYXJzaWdodCByZWdpc3RlcnMgKGx1Y2tpbHkgR1R5cGUgbmFtZXMgYXJlIGNhc2Ugc2Vuc2l0aXZlKS4gU2hvdWxkCgkgIGZpbmFsbHkgZml4ICM0MzA2NjQuCgoyMDA3LTA4LTIzIDE3OjIxOjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQXV0b21hdGljYWxseSBnZW5lcmF0ZSB3aW4zMi9jb21tb24vY29uZmlnLmggdmlhIGNvbmZpZ3VyZSAodGhpcyBlbnN1cmVzIHRoZSB3aW4zMiB2ZXJzaW9uIG9mIGNvbmZpZy5oIGlzIHVwLXRvLWRhdGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oLmluOgoJICBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlIHdpbjMyL2NvbW1vbi9jb25maWcuaCB2aWEgY29uZmlndXJlICh0aGlzCgkgIGVuc3VyZXMgdGhlIHdpbjMyIHZlcnNpb24gb2YgY29uZmlnLmggaXMgdXAtdG8tZGF0ZSB3aGVuIGEgcmVsZWFzZQoJICBpcyBtYWRlLCAjNDMzMzczKS4gY29uZmlnLmguaW4gZmlsZSBtaWdodCBuZWVkIHNvbWUgbW9yZSB3b3JrLgoKMjAwNy0wOC0yMyAxMzoyNDozMyArMDAwMCAgSm9uYXRoYW4gTWF0dGhldyA8am9uYXRoYW5Aa2FvbGluLndoOS5uZXQ+CgoJICBQb3J0IGZlc3RpdmFsIHBsdWdpbiB0byBHU3RyZWFtZXItMC4xMCAoIzQ2MTM3NykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9uYXRoYW4gTWF0dGhldyAgPGpvbmF0aGFuIGF0IGthb2xpbiB3aDkgbmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZmVzdGl2YWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgIFBvcnQgZmVzdGl2YWwgcGx1Z2luIHRvIEdTdHJlYW1lci0wLjEwICgjNDYxMzc3KS4KCjIwMDctMDgtMjIgMTU6MzI6MDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IERvbid0IHVucmVmIHRoZSBidWZmZXIgd2hlbiBpdCB3YXMgY2xpcHBlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfY2hhaW4pOgoJICBEb24ndCB1bnJlZiB0aGUgYnVmZmVyIHdoZW4gaXQgd2FzIGNsaXBwZWQuCgoyMDA3LTA4LTIyIDE0OjUwOjUxICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9mbHYvOiBIYW5kbGUgcGl4ZWwgYXNwZWN0IHJhdGlvIHRocm91Z2ggbWV0YWRhdGEgdGFncyBsaWtlIEFTRiBkb2VzLiBGbHVlbmRvIG11eGVyIHN1cHBvcnRzIHRoaXMgYW5kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA4LTIyICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jbGVhbnVwKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX21ldGFkYXRhX2l0ZW0pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKTogSGFuZGxlIHBpeGVsIGFzcGVjdCByYXRpbyB0aHJvdWdoCgkgIG1ldGFkYXRhIHRhZ3MgbGlrZSBBU0YgZG9lcy4gRmx1ZW5kbyBtdXhlciBzdXBwb3J0cyB0aGlzIGFuZAoJICBGbGFzaCBwbGF5ZXJzIGNhbiBzdXBwb3J0IGl0IGFzIHdlbGwgdGhpcyB3YXkuCgoyMDA3LTA4LTIyIDE0OjAzOjQyICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9mbHYvOiBNYWtlIHN1cmUgd2UgZG9uJ3QgdHJ5IGZpbGxpbmcgdXAgdGhlIGluZGV4IGlmIG5vIHRpbWVzIG9iamVjdCB3YXMgcGFyc2VkLiBGaXggdGhlIHdheSB3ZSBkZWNpZGUgdG8gcHVzaCB0YS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOC0yMiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfbWV0YWRhdGFfaXRlbSksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLCAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBNYWtlIHN1cmUgd2UgZG9uJ3QgdHJ5IGZpbGxpbmcgdXAgdGhlCgkgIGluZGV4IGlmIG5vIHRpbWVzIG9iamVjdCB3YXMgcGFyc2VkLiBGaXggdGhlIHdheSB3ZSBkZWNpZGUgdG8KCSAgcHVzaAoJICB0YWdzIGFuZCBlbWl0IG5vLW1vcmUtcGFkcy4gRml4IHNvbWUgcHJpbnRmIHR5cGluZyBpbiBkZWJ1Z2dpbmcuCgoyMDA3LTA4LTIxIDE3OjE4OjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFdoZW4gZHJvcC1vbi1sYXRlbmN5IGlzIHNldCBidXQgd2UgaGF2ZSBubyBsYXRlbmN5IGNvbmZpZ3VyZWQsIGp1c3QgcHVzaCB0aGUgYnVmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zZXRfcHJvcGVydHkpOgoJICBXaGVuIGRyb3Atb24tbGF0ZW5jeSBpcyBzZXQgYnV0IHdlIGhhdmUgbm8gbGF0ZW5jeSBjb25maWd1cmVkLCBqdXN0IHB1c2gKCSAgdGhlIGJ1ZmZlciBhcyBmYXN0IGFzIHBvc3NpYmxlLgoJICBGaXggdHlwbyBpbiBjb21tZW50LgoKMjAwNy0wOC0yMSAxNjowNDo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci4qOiBGaXggdW5kZWZpbmVkIG92ZXJmbG93IHByb25lIHRzX2RpZmYgaGFuZGxpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICAocnRwX2ppdHRlcl9idWZmZXJfZ2V0X3RzX2RpZmYpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBGaXggdW5kZWZpbmVkIG92ZXJmbG93IHByb25lIHRzX2RpZmYgaGFuZGxpbmcuCgoyMDA3LTA4LTIxIDE1OjU5OjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzogRml4IGNvbXBpbGVyIHdhcm5pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIEZpeCBjb21waWxlciB3YXJuaW5nLgoKMjAwNy0wOC0yMSAxMjo1OTowMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzogRG9uJ3QgdXNlIE5VTEwgY2FwcyBmb3Igc3JjcGFkIGlzIG5vdCB5ZXQgY29ubmVjdGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBEb24ndCB1c2UgTlVMTCBjYXBzIGZvciBzcmNwYWQgaXMgbm90IHlldCBjb25uZWN0ZWQuCgoyMDA3LTA4LTIwIDE0OjIzOjQ1ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgQWRkIG1wZWcgdHJhbnNwb3J0IHN0cmVhbSBwYXJzZXIgd3JpdHRlbiBieToKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9tcGVndHNwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwYXRpbmZvLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcGF0aW5mby5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BtdGluZm8uYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwbXRpbmZvLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcG10c3RyZWFtaW5mby5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BtdHN0cmVhbWluZm8uaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlbWFyc2hhbC5saXN0OgoJICBBZGQgbXBlZyB0cmFuc3BvcnQgc3RyZWFtIHBhcnNlciB3cml0dGVuIGJ5OgoJICBBbGVzc2FuZHJvIERlY2luYS4gSW5jbHVkZXMgYSBjb3VwbGUgb2YgZmlsZXMgZnJvbSB0aGUKCSAgRmx1ZW5kbyB0cmFuc3BvcnQgc3RyZWFtIGRlbXV4ZXIgdGhhdCBGbHVlbmRvIGhhdmUKCSAga2luZGx5IGFsbG93ZWQgdG8gYmUgbGljZW5jZWQgdW5kZXIgTEdQTCBhbHNvLgoKMjAwNy0wOC0yMCAwOToxMzo0NyArMDAwMCAgQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRlc3MubmV0PgoKCSAgZXh0L215dGh0di9nc3RteXRodHZzcmMuYzogQWRkIGV4YW1wbGVzIGZvciBsaXZlIG15dGh0djovLyBVUklzIHRvIGRvY3MgKCM0NjgwMzkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJhc3RpZW4gTm9jZXJhICA8aGFkZXNzIGF0IGhhZGVzcyBuZXQ+CgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSAgQWRkIGV4YW1wbGVzIGZvciBsaXZlIG15dGh0djovLyBVUklzIHRvIGRvY3MgKCM0NjgwMzkpLgoJICBBbHNvIGNvbnZlcnQgc29tZSB0YWJzIGludG8gc3BhY2VzLgoKMjAwNy0wOC0xOSAxOToxNjozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IEFkZCBzbWFsbCBjb21wYXJpc2lvbiB3aXRoIHRoZSBjaGVieXNoZXYgZmlsdGVycyBpbiB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgIEFkZCBzbWFsbCBjb21wYXJpc2lvbiB3aXRoIHRoZSBjaGVieXNoZXYgZmlsdGVycyBpbiB0aGUgZG9jcy4KCjIwMDctMDgtMTkgMTk6MDE6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogQWxzbyB0ZXN0IGV2ZXJ5dGhpbmcgaW4gMzIgYml0IGZsb2F0IG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jwd3NpbmMuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKGJwd3NpbmNfc3VpdGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xwd3NpbmMuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKGxwd3NpbmNfc3VpdGUpOgoJICBBbHNvIHRlc3QgZXZlcnl0aGluZyBpbiAzMiBiaXQgZmxvYXQgbW9kZS4KCjIwMDctMDgtMTcgMTU6MDU6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFVzZSBnZW5lcmF0b3IgbWFjcm9zIGZvciB0aGUgcHJvY2VzcyBmdW5jdGlvbnMgZm9yIHRoZSBkaWZmZXJlbnQgc2FtcGxlIHR5cGVzLCBhZGQgbG93ZXIgdXBwZXIgYm91bmRhcmllcyBmb3IgdGhlIEdPYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpLAoJICAoYnB3c2luY19zZXRfcHJvcGVydHkpLCAoYnB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbHB3c2luY19pbml0KSwgKGxwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGxwd3NpbmNfc2V0X3Byb3BlcnR5KSwKCSAgKGxwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9scHdzaW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIFVzZSBnZW5lcmF0b3IgbWFjcm9zIGZvciB0aGUgcHJvY2VzcyBmdW5jdGlvbnMgZm9yIHRoZSBkaWZmZXJlbnQKCSAgc2FtcGxlIHR5cGVzLCBhZGQgbG93ZXIgdXBwZXIgYm91bmRhcmllcyBmb3IgdGhlIEdPYmplY3QgcHJvcGVydGllcwoJICBzbyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBVSXMgY2FuIHVzZSBzbGlkZXJzIGFuZCBjaGFuZ2UgZnJlcXVlbmN5CgkgIHByb3BlcnRpZXMgdG8gZmxvYXRzIHRvIHNhdmUgYSBiaXQgb2YgbWVtb3J5LCBldmVuIGludHMgd291bGQgaW4KCSAgdGhlb3J5IGJlIGVub3VnaC4gQWxzbyByZW5hbWUgZnJlcXVlbmN5IHRvIGN1dG9mZiBmb3IgY29uc2lzdGVuY3kKCSAgcmVhc29ucy4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgIFJlZ2VuZXJhdGVkIGZvciB0aGUgYWJvdmUgY2hhbmdlcy4KCjIwMDctMDgtMTcgMDY6NTU6MzcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6IERvbid0IGxlYWsgdGhlIGFkYXB0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgIERvbid0IGxlYWsgdGhlIGFkYXB0ZXIuCgoyMDA3LTA4LTE2IDE5OjIyOjQ4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuKjogSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkgYW5kIG9ubHkgZm9yd2FyZCB0aG9zZSBzYW1wbGVzIGRvd25zdHJlYW0gdGhhdCBhY3R1YWxseSBjb250YWluIHRoZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9icHdzaW5jX2luaXQpLCAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KSwKCSAgKGJwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGJwd3NpbmNfcHVzaF9yZXNpZHVlKSwKCSAgKGJwd3NpbmNfdHJhbnNmb3JtKSwgKGJwd3NpbmNfc3RhcnQpLCAoYnB3c2luY19xdWVyeSksCgkgIChicHdzaW5jX3F1ZXJ5X3R5cGUpLCAoYnB3c2luY19ldmVudCksIChicHdzaW5jX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgIEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5IGFuZCBvbmx5IGZvcndhcmQgdGhvc2Ugc2FtcGxlcyBkb3duc3RyZWFtCgkgIHRoYXQgYWN0dWFsbHkgY29udGFpbiB0aGUgZGF0YSB3ZSB3YW50LCBpLmUuIGRyb3Aga2VybmVsX2xlbmd0aC8yCgkgIGluIHRoZSBiZWdpbm5pbmcgYW5kIGFwcGVuZCBrZXJuZWxfbGVuZ3RoLzIgKGNyZWF0ZWQgYnkgY29udm9sdmluZwoJICB0aGUgZmlsdGVyIGtlcm5lbCB3aXRoIHplcm9lcykgdG8gdGhlIGVuZC4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9icHdzaW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEFkanVzdCB0aGUgdW5pdCB0ZXN0IGZvciB0aGlzIHNsaWdodGx5IGNoYW5nZWQgYmVoYXZpb3VyLgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAobHB3c2luY19idWlsZF9rZXJuZWwpOgoJICBSZXNldCByZXNpZHVlIGxlbmd0aCBvbmx5IHdoZW4gYWN0dWFsbHkgY3JlYXRpbmcgYSByZXNpZHVlLgoKMjAwNy0wOC0xNiAxNzoxMTo0OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOiBPdmVycmlkZSB0aGUgcHJlcm9sbCB2bWV0aG9kIGluc3RlYWQgb2Ygb3ZlcnJpZGluZyB0aGUgcmVuZGVyIG1ldGhvZCB0d2ljZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6IChnc3RfYXBwX3NpbmtfY2xhc3NfaW5pdCk6CgkgIE92ZXJyaWRlIHRoZSBwcmVyb2xsIHZtZXRob2QgaW5zdGVhZCBvZiBvdmVycmlkaW5nIHRoZSByZW5kZXIgbWV0aG9kCgkgIHR3aWNlLgoKMjAwNy0wOC0xNiAxMTo0MDoxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBGaXggRU9TIGhhbmRsaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zaW5rX2V2ZW50KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIEZpeCBFT1MgaGFuZGxpbmcuCgkgIENvbnZlcnQgc29tZSBERUJVRyBpbnRvIFdBUk5JTkdzLgoJICBQYXVzZSB0YXNrIHdoZW4gZmx1c2hpbmcuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRjcF90aHJlYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRjcF9zaW5rKToKCSAgVXNlIHN5c3RlbSBjbG9jayBmb3IgUlRDUCBzZXNzaW9uIG1hbmFnZW1lbnQgdGltZW91dHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAob25fbmV3X3NzcmMpLCAob25fc3NyY19jb2xsaXNpb24pLAoJICAob25fc3NyY192YWxpZGF0ZWQpLCAob25fYnllX3NzcmMpLCAob25fYnllX3RpbWVvdXQpLCAob25fdGltZW91dCk6CgkgIFJlbGVhc2UgdGhlIHNlc3Npb24gbG9jayB3aGVuIGVtaXRpbmcgc2lnbmFscy4KCjIwMDctMDgtMTYgMTE6MzQ6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IEFkZCBzb21lIGRlYnVnIGluZm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX3NldGNhcHMpLAoJICAoZ3N0X2ZhYWRfY2hhbnBvc190b19nc3QpOgoJICBBZGQgc29tZSBkZWJ1ZyBpbmZvLgoKMjAwNy0wOC0xNiAwOTo0ODoyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RscHdzaW5jLio6IEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5IGFuZCBvbmx5IGZvcndhcmQgdGhvc2Ugc2FtcGxlcyBkb3duc3RyZWFtIHRoYXQgYWN0dWFsbHkgY29udGFpbiB0aGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbHB3c2luY19pbml0KSwgKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCksCgkgIChscHdzaW5jX2J1aWxkX2tlcm5lbCksIChscHdzaW5jX3B1c2hfcmVzaWR1ZSksCgkgIChscHdzaW5jX3RyYW5zZm9ybSksIChscHdzaW5jX3N0YXJ0KSwgKGxwd3NpbmNfcXVlcnkpLAoJICAobHB3c2luY19xdWVyeV90eXBlKSwgKGxwd3NpbmNfZXZlbnQpLCAobHB3c2luY19zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeSBhbmQgb25seSBmb3J3YXJkIHRob3NlIHNhbXBsZXMgZG93bnN0cmVhbQoJICB0aGF0IGFjdHVhbGx5IGNvbnRhaW4gdGhlIGRhdGEgd2Ugd2FudCwgaS5lLiBkcm9wIGtlcm5lbF9sZW5ndGgvMgoJICBpbiB0aGUgYmVnaW5uaW5nIGFuZCBhcHBlbmQga2VybmVsX2xlbmd0aC8yIChjcmVhdGVkIGJ5IGNvbnZvbHZpbmcKCSAgdGhlIGZpbHRlciBrZXJuZWwgd2l0aCB6ZXJvZXMpIHRvIHRoZSBlbmQuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbHB3c2luYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBBZGp1c3QgdGhlIHVuaXQgdGVzdCBmb3IgdGhpcyBzbGlnaHRseSBjaGFuZ2VkIGJlaGF2aW91ci4KCjIwMDctMDgtMTYgMDc6MDc6NDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6IERvbid0IGxlYWsgbGlrZSBoZWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBEb24ndCBsZWFrIGxpa2UgaGVsbC4KCjIwMDctMDgtMTYgMDY6NDk6MzkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIGdlbmVyaWMgc3RhdGUtY2hhbmdlIHRlc3Qgc3VpdGUgdG8gaGVscCB0byBmaSBsZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZ2VuZXJpYy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkgIEFkZCBnZW5lcmljIHN0YXRlLWNoYW5nZSB0ZXN0IHN1aXRlIHRvIGhlbHAgdG8gZmkgbGVha3MuCgoyMDA3LTA4LTE1IDEzOjI4OjM5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkgIENoYW5nZUxvZyBzdXJnZXJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeQoKMjAwNy0wOC0xNSAxMzoyNjo1NyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLio6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXZpZXdlZCBieTogPGRlbGV0ZSBpZiBub3QgdXNpbmcgYSBidWRkeT4KCSAgcGF0Y2ggYnk6IDxkZWxldGUgaWYgbm90IHNvbWVvbmUgZWxzZSdzIHBhdGNoPgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5oOgoKMjAwNy0wOC0xNCAxNzo0NzozNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOiBEb24ndCB1c2UgbmV3IEFQSS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6IChnc3RfYXBwX3NpbmtfZmx1c2hfdW5sb2NrZWQpOgoJICBEb24ndCB1c2UgbmV3IEFQSS4KCjIwMDctMDgtMTQgMTc6Mzg6MDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuKjogTWFrZSBsb3ZlIHRvIGFwcHNpbmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOiAoZ3N0X2FwcF9zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfYXBwX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfYXBwX3NpbmtfZGlzcG9zZSksCgkgIChnc3RfYXBwX3NpbmtfZmx1c2hfdW5sb2NrZWQpLCAoZ3N0X2FwcF9zaW5rX3N0YXJ0KSwKCSAgKGdzdF9hcHBfc2lua19zdG9wKSwgKGdzdF9hcHBfc2lua19ldmVudCksIChnc3RfYXBwX3NpbmtfcHJlcm9sbCksCgkgIChnc3RfYXBwX3NpbmtfcmVuZGVyKSwgKGdzdF9hcHBfc2lua19nZXRfY2FwcyksCgkgIChnc3RfYXBwX3Npbmtfc2V0X2NhcHMpLCAoZ3N0X2FwcF9zaW5rX2VuZF9vZl9zdHJlYW0pLAoJICAoZ3N0X2FwcF9zaW5rX3B1bGxfcHJlcm9sbCksIChnc3RfYXBwX3NpbmtfcHVsbF9idWZmZXIpOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5oOgoJICBNYWtlIGxvdmUgdG8gYXBwc2luay4KCSAgTWFrZSBpdCBzdXBwb3J0IHB1bGxpbmcgb2YgdGhlIHByZXJvbGwgYnVmZmVyLgoJICBBZGQgZG9jcyBhbmQgZGVidWcgc3RhdGVtZW50cy4KCSAgRml4IHNvbWUgcmFjZXMgd3J0IHRvIEVPUyBoYW5kbGluZyBhbmQgc3RvcHBpbmcuCgkgIEltcGxlbWVudCBnZXRjYXBzLgoJICBJbXBsZW1lbnQgRkxVU0hJTkcuCgkgIEFQSTogZ3N0X2FwcF9zaW5rX3B1bGxfcHJlcm9sbCgpCgoyMDA3LTA4LTE0IDE0OjU2OjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBGaXggbG9ja2luZyBhbmQgcmVmY291bnRpbmcgb24gdGhlIGluZGV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3NldF9pbmRleCksCgkgIChnc3RfZmx2X2RlbXV4X2dldF9pbmRleCk6CgkgIEZpeCBsb2NraW5nIGFuZCByZWZjb3VudGluZyBvbiB0aGUgaW5kZXguCgoyMDA3LTA4LTE0IDE0OjIyOjA5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogRmlyc3QgbWV0aG9kIGZvciBzZWVraW5nIGluIHB1bGwgbW9kZSB1c2luZyB0aGUgaW5kZXggYnVpbHQgc3RlcCBieSBzdGVwIG9yIGNvbWluZyBmcm9tIG1ldGFkYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOC0xNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2xlYW51cCksCgkgIChnc3RfZmx2X2RlbXV4X2FkYXB0ZXJfZmx1c2gpLCAoZ3N0X2Zsdl9kZW11eF9jaGFpbiksCgkgIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwgKGdzdF9mbHZfZGVtdXhfZG9fc2VlayksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrKSwgKGdzdF9mbHZfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfZmx2X2RlbXV4X3NyY19ldmVudCksIChnc3RfZmx2X2RlbXV4X3F1ZXJ5KSwKCSAgKGdzdF9mbHZfZGVtdXhfY2hhbmdlX3N0YXRlKSwgKGdzdF9mbHZfZGVtdXhfc2V0X2luZGV4KSwKCSAgKGdzdF9mbHZfZGVtdXhfZ2V0X2luZGV4KSwgKGdzdF9mbHZfZGVtdXhfZGlzcG9zZSksCgkgIChnc3RfZmx2X2RlbXV4X2NsYXNzX2luaXQpOiBGaXJzdCBtZXRob2QgZm9yIHNlZWtpbmcgaW4gcHVsbAoJICBtb2RlIHVzaW5nIHRoZSBpbmRleCBidWlsdCBzdGVwIGJ5IHN0ZXAgb3IgY29taW5nIGZyb20gbWV0YWRhdGEuCgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKEZMVl9HRVRfU1RSSU5HKSwKCSAgKGdzdF9mbHZfcGFyc2VfbWV0YWRhdGFfaXRlbSksIChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBQYXJzZQoJICBtb3JlIG1ldGFkYXRhIHR5cGVzIGFuZCBrZXlmcmFtZXMgaW5kZXguCgoyMDA3LTA4LTEzIDEzOjUwOjM5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgZG9jcyBmb3IgbHB3c2luYyBhbmQgYnB3c2luYyBhbmQgaW50ZWdyYXRlIHRoZW0gaW50byB0aGUgYnVpbGQgc3lzdGVtLiBXaGlsZSBkb2luZyB0aGF0IGFsc28gdXBkYXRlIGFsbCBvdGhlciBkb2MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBBZGQgZG9jcyBmb3IgbHB3c2luYyBhbmQgYnB3c2luYyBhbmQgaW50ZWdyYXRlIHRoZW0KCSAgaW50byB0aGUgYnVpbGQgc3lzdGVtLiBXaGlsZSBkb2luZyB0aGF0IGFsc28gdXBkYXRlCgkgIGFsbCBvdGhlciBkb2NzIHZpYSBtYWtlIHVwZGF0ZSBpbiBkb2NzL3BsdWdpbnMuCgoyMDA3LTA4LTEzIDA2OjE2OjQwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogSW5jbHVkZSBzdGRsaWIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBJbmNsdWRlIHN0ZGxpYi4KCjIwMDctMDgtMTIgMjA6NTU6MDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jwd3NpbmMuYzogTWFrZSBvbmUgdGVzdCBjb25zdHJhaW50IGEgYml0IHN0cmljdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9icHdzaW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIE1ha2Ugb25lIHRlc3QgY29uc3RyYWludCBhIGJpdCBzdHJpY3Rlci4KCjIwMDctMDgtMTIgMjA6NTM6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHVuaXQgdGVzdHMgZm9yIGJwd3NpbmMsIHRlc3RpbmcgZnVuZGFtZW50YWwgZnVuY3Rpb25hbGl0eSBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9icHdzaW5jLmM6IChzZXR1cF9icHdzaW5jKSwKCSAgKGNsZWFudXBfYnB3c2luYyksIChHU1RfU1RBUlRfVEVTVCksIChicHdzaW5jX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3IgYnB3c2luYywgdGVzdGluZyBmdW5kYW1lbnRhbCBmdW5jdGlvbmFsaXR5IGFnYWluLgoKMjAwNy0wOC0xMiAyMDoxOTozNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgdW5pdCB0ZXN0cyBmb3IgbHB3c2luYywgdGVzdGluZyBmdW5kYW1lbnRhbCBmdW5jdGlvbmFsaXR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xwd3NpbmMuYzogKHNldHVwX2xwd3NpbmMpLAoJICAoY2xlYW51cF9scHdzaW5jKSwgKEdTVF9TVEFSVF9URVNUKSwgKGxwd3NpbmNfc3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3RzIGZvciBscHdzaW5jLCB0ZXN0aW5nIGZ1bmRhbWVudGFsIGZ1bmN0aW9uYWxpdHkuCgoyMDA3LTA4LTEyIDE1OjQxOjU3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoYnB3c2luY19idWlsZF9rZXJuZWwpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAobHB3c2luY19idWlsZF9rZXJuZWwpOgoJICBJbXByb3ZlIGRlYnVnZ2luZyBhIGJpdC4KCjIwMDctMDgtMTIgMTI6NDY6MjAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBSZXNldCB0aGUgcmVzaWR1ZSBpbiBCYXNlVHJhbnNmb3JtOjpzdGFydCB0byBnZXQgYSBjbGVhbiByZXNpZHVlIG9uIHN0cmVhbSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpLAoJICAoYnB3c2luY19zdGFydCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KSwKCSAgKGxwd3NpbmNfc3RhcnQpOgoJICBSZXNldCB0aGUgcmVzaWR1ZSBpbiBCYXNlVHJhbnNmb3JtOjpzdGFydCB0byBnZXQgYSBjbGVhbiByZXNpZHVlCgkgIG9uIHN0cmVhbSBjaGFuZ2VzLgoKMjAwNy0wOC0xMSAyMTozMDowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogQ2hhbmdlTG9nOgoJICBDaGFuZ2Vsb2cgc3VyZ2VyeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlbG9nIHN1cmdlcnkKCjIwMDctMDgtMTEgMTU6NTg6MzAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBGaXggcHJvY2Vzc2luZyB3aXRoIGJ1ZmZlciBzaXplcyB0aGF0IGFyZSBsYXJnZXIgdGhhbiB0aGUgZmlsdGVyIGtlcm5lbCBzaXplLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpOgoJICBGaXggcHJvY2Vzc2luZyB3aXRoIGJ1ZmZlciBzaXplcyB0aGF0IGFyZSBsYXJnZXIgdGhhbiB0aGUgZmlsdGVyCgkgIGtlcm5lbCBzaXplLgoKMjAwNy0wOC0xMCAxNzoxNjo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogUmVtb3ZlIGNvbXBsaWNhdGVkIGFzeW5jIHF1ZXVlIGFuZCByZXBsYWNlIHdpdGggbW9yZSBzaW1wbGUgaml0dGVyYnVmZmVyIGNvZGUgd2hpbGUgYWxzbyBmaXhpbmcgc29tZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfaW5pdCksIChydHBfaml0dGVyX2J1ZmZlcl9maW5hbGl6ZSksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9uZXcpLCAoY29tcGFyZV9zZXFudW0pLAoJICAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX3BvcCksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9mbHVzaCksIChydHBfaml0dGVyX2J1ZmZlcl9udW1fcGFja2V0cyksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9nZXRfdHNfZGlmZik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIFJlbW92ZSBjb21wbGljYXRlZCBhc3luYyBxdWV1ZSBhbmQgcmVwbGFjZSB3aXRoIG1vcmUgc2ltcGxlIGppdHRlcmJ1ZmZlcgoJICBjb2RlIHdoaWxlIGFsc28gZml4aW5nIHNvbWUgYnVncy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAob25fbmV3X3NzcmMpLCAob25fc3NyY19jb2xsaXNpb24pLAoJICAob25fc3NyY192YWxpZGF0ZWQpLCAob25fYnllX3NzcmMpLCAob25fYnllX3RpbWVvdXQpLCAob25fdGltZW91dCksCgkgIChjcmVhdGVfc2Vzc2lvbiksIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKGNyZWF0ZV9yZWN2X3J0cCksCgkgIChjcmVhdGVfc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2Rpc3Bvc2UpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdGFydCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zaW5rX2V2ZW50KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChvbl9uZXdfc3NyYyksCgkgIChvbl9zc3JjX2NvbGxpc2lvbiksIChvbl9zc3JjX3ZhbGlkYXRlZCksIChvbl9ieWVfc3NyYyksCgkgIChvbl9ieWVfdGltZW91dCksIChvbl90aW1lb3V0KSwgKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAob25fYnllX3NzcmMpLCAoc2Vzc2lvbl9jbGVhbnVwKToKCSAgVXNlIG5ldyBqaXR0ZXJidWZmZXIgY29kZS4KCSAgRXhwb3NlIHNvbWUgbmV3IHNpZ25hbHMgaW4gcHJlcGFyYXRpb24gZm9yIGhhbmRsaW5nIEVPUy4KCjIwMDctMDgtMTAgMDU6NTE6NDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiBGaXggYSBzZWdmYXVsdCB3aXRoIG1vcmUgdGhhbiBvbmUgY2hhbm5lbCBhbmQgZG9uJ3QgcmVidWlsZCB0aGUga2VybmVsICYgcmVzaWR1ZSB3aXRoIGV2ZXJ5IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGJwd3NpbmNfYnVpbGRfa2VybmVsKToKCSAgRml4IGEgc2VnZmF1bHQgd2l0aCBtb3JlIHRoYW4gb25lIGNoYW5uZWwgYW5kIGRvbid0IHJlYnVpbGQKCSAgdGhlIGtlcm5lbCAmIHJlc2lkdWUgd2l0aCBldmVyeSBidWZmZXIuCgoyMDA3LTA4LTEwIDA1OjM1OjI1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuKjogQWRkIHN1cHBvcnQgZm9yIGEgYmFuZHJlamVjdCBtb2RlIGFuZCBhbGxvdyBzcGVjaWZ5aW5nIHRoZSB3aW5kb3cgZnVuY3Rpb24gdGhhdCBzaG91bGQgYmUgdXNlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9icHdzaW5jX3dpbmRvd19nZXRfdHlwZSksIChnc3RfYnB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9icHdzaW5jX2luaXQpLCAoYnB3c2luY19idWlsZF9rZXJuZWwpLCAoYnB3c2luY19zZXRfcHJvcGVydHkpLAoJICAoYnB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICBBZGQgc3VwcG9ydCBmb3IgYSBiYW5kcmVqZWN0IG1vZGUgYW5kIGFsbG93IHNwZWNpZnlpbmcgdGhlIHdpbmRvdwoJICBmdW5jdGlvbiB0aGF0IHNob3VsZCBiZSB1c2VkLgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICBBbmQgYW5vdGhlciBzbWFsbCBmb3JtYXR0aW5nIGZpeC4KCjIwMDctMDgtMTAgMDU6MjA6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy4qOiBBcHBseSB0aGUgc2FtZSBjaGFuZ2VzIHRvIHRoZSBiYW5kcGFzcyBmaWx0ZXI6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYnB3c2luY19pbml0KSwgKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCksCgkgIChicHdzaW5jX2J1aWxkX2tlcm5lbCksIChicHdzaW5jX3NldHVwKSwgKGJwd3NpbmNfZ2V0X3VuaXRfc2l6ZSksCgkgIChicHdzaW5jX3RyYW5zZm9ybSksIChicHdzaW5jX3NldF9wcm9wZXJ0eSksCgkgIChicHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgIEFwcGx5IHRoZSBzYW1lIGNoYW5nZXMgdG8gdGhlIGJhbmRwYXNzIGZpbHRlcjoKCSAgLSBTdXBwb3J0IGRvdWJsZSBpbnB1dAoJICAtIEZpeCBwcm9jZXNzaW5nIGZvciBpbnB1dCB3aXRoID4xIGNoYW5uZWxzCgkgIC0gU3BlY2lmeSBmcmVxdWVuY3kgaW4gSHoKCSAgLSBTcGVjaWZ5IGFjdHVhbCBmaWx0ZXIga2VybmVsIGxlbmd0aAoJICAtIFVzZSB0cmFuc2Zvcm0gaW5zdGVhZCBvZiB0cmFuc2Zvcm1faXAgYXMgd2UncmUgd29ya2luZwoJICBvdXQgb2YgcGxhY2UgYW55d2F5CgkgIC0gRmFjdG9yIG91dCBmaWx0ZXIga2VybmVsIGdlbmVyYXRpb24gYW5kIHVwZGF0ZSB0aGUgZmlsdGVyCgkgIGtlcm5lbCB3aGVuIHRoZSBwcm9wZXJ0aWVzIGFyZSBzZXQKCSAgRml4IGJhbmRwYXNzIGZpbHRlciBrZXJuZWwgZ2VuZXJhdGlvbiB0byBhY3R1YWxseSBnZW5lcmF0ZQoJICBhIGJhbmRwYXNzIGZpbHRlciBieSBjcmVhdGluZyBhIGhpZ2hwYXNzIGluc3RlYWQgb2YgYSBzZWNvbmQKCSAgbG93cGFzcy4KCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpOgoJICBTbWFsbCBmb3JtYXR0aW5nIGZpeC4KCjIwMDctMDgtMTAgMDQ6NDQ6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy4qOiBTcGVjaWZ5IHRoZSBhY3R1YWwgZmlsdGVyIGxlbmd0aCBpbnN0ZWFkIG9mIGEgd2VpcmQgMk4rMS4gU2V0dGluZyB0aGUgcHJvcGVydHkgd2lsbCByb3VuZCB0by4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2xwd3NpbmNfaW5pdCksIChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpLAoJICAobHB3c2luY19idWlsZF9rZXJuZWwpLCAobHB3c2luY19zZXRfcHJvcGVydHkpLAoJICAobHB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBTcGVjaWZ5IHRoZSBhY3R1YWwgZmlsdGVyIGxlbmd0aCBpbnN0ZWFkIG9mIGEgd2VpcmQKCSAgMk4rMS4gU2V0dGluZyB0aGUgcHJvcGVydHkgd2lsbCByb3VuZCB0byB0aGUgbmV4dCBvZGQgbnVtYmVyLgoJICBBbHNvIHJlbW92ZSBub3cgb2Jzb2xldGUgRklYTUVzLgoKMjAwNy0wOC0xMCAwNDozMjo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RscHdzaW5jLio6IEFsbG93IGNob29zaW5nIGJldHdlZW4gaGFtbWluZyBhbmQgYmxhY2ttYW4gd2luZG93LiBUaGUgYmxhY2ttYW4gd2luZG93IHByb3ZpZGVzIGEgYmV0dGVyIHN0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfd2luZG93X2dldF90eXBlKSwKCSAgKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLCAoZ3N0X2xwd3NpbmNfaW5pdCksCgkgIChscHdzaW5jX2J1aWxkX2tlcm5lbCksIChscHdzaW5jX3NldF9wcm9wZXJ0eSksCgkgIChscHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIEFsbG93IGNob29zaW5nIGJldHdlZW4gaGFtbWluZyBhbmQgYmxhY2ttYW4gd2luZG93LiBUaGUgYmxhY2ttYW4KCSAgd2luZG93IHByb3ZpZGVzIGEgYmV0dGVyIHN0b3BiYW5kIGF0dGVudWF0aW9uIGJ1dCBhIGJpdCBzbG93ZXIKCSAgcm9sbG9mZi4KCjIwMDctMDgtMTAgMDQ6MjE6MzkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy4qOiBBZGQgYSBoaWdocGFzcyBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksIChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpLAoJICAobHB3c2luY19idWlsZF9rZXJuZWwpLCAobHB3c2luY19zZXRfcHJvcGVydHkpLAoJICAobHB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBBZGQgYSBoaWdocGFzcyBtb2RlLgoKMjAwNy0wOC0xMCAwNDowNjo1MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IEZpeCBwcm9jZXNzaW5nIGlmIHRoZSBpbnB1dCBoYXMgbW9yZSB0aGFuIG9uZSBjaGFubmVsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCksCgkgIChscHdzaW5jX2J1aWxkX2tlcm5lbCk6CgkgIEZpeCBwcm9jZXNzaW5nIGlmIHRoZSBpbnB1dCBoYXMgbW9yZSB0aGFuIG9uZSBjaGFubmVsLgoKMjAwNy0wOC0wOSAxOToyMzozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6ICJ0aGlzIiBpcyBhIEMrKyBrZXl3b3JkLCB1c2UgInNlbGYiIGluc3RlYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfZGlzcG9zZSksCgkgIChnc3RfYnB3c2luY19pbml0KSwgKGJwd3NpbmNfc2V0dXApLCAoYnB3c2luY190cmFuc2Zvcm1faXApLAoJICAoYnB3c2luY19zZXRfcHJvcGVydHkpLCAoYnB3c2luY19nZXRfcHJvcGVydHkpOgoJICAidGhpcyIgaXMgYSBDKysga2V5d29yZCwgdXNlICJzZWxmIiBpbnN0ZWFkLgoJICBBZGQgVE9ET3MgYW5kIEZJWE1FcyBhbmQgcmVtb3ZlIHR3byB3cm9uZyBGSVhNRXMuCgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgIEFkZCBGSVhNRXMgYW5kIGEgbmV3IFRPRE8uCgoyMDA3LTA4LTA5IDE4OjA4OjA1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuKjogQWRkIGRvdWJsZSBzdXBwb3J0LCByZXBsYWNlICJ0aGlzIiB3aXRoICJzZWxmIiBhcyB0aGUgZm9ybWVyIGlzIGEgQysrIGtleXdvcmQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfZGlzcG9zZSksCgkgIChnc3RfbHB3c2luY19jbGFzc19pbml0KSwgKGdzdF9scHdzaW5jX2luaXQpLCAocHJvY2Vzc18zMiksCgkgIChwcm9jZXNzXzY0KSwgKGxwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGxwd3NpbmNfc2V0dXApLAoJICAobHB3c2luY19nZXRfdW5pdF9zaXplKSwgKGxwd3NpbmNfdHJhbnNmb3JtKSwKCSAgKGxwd3NpbmNfc2V0X3Byb3BlcnR5KSwgKGxwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgQWRkIGRvdWJsZSBzdXBwb3J0LCByZXBsYWNlICJ0aGlzIiB3aXRoICJzZWxmIiBhcyB0aGUgZm9ybWVyCgkgIGlzIGEgQysrIGtleXdvcmQuCgkgIEltcGxlbWVudCB0aGUgZnJlcXVlbmN5IHByb3BlcnR5IGluIEh6IGluc3RlYWQgb2YgZnJhY3Rpb24KCSAgb2Ygc2FtcGxpbmcgZnJlcXVlbmN5LgoJICBSZW1vdmUgc29tZSB1bmVjZXNzYXJ5IEZJWE1FcyBhbmQgYWRkIHNvbWUgVE9ET3MsIGFkZCBzb21lCgkgIHJlcXVpcmVkIGxvY2tpbmcgYW5kIHJlZmFjdG9yIHRoZSBrZXJuZWwgZ2VuZXJhdGlvbiBpbnRvIGEKCSAgc2VwYXJhdGUgZnVuY3Rpb24gdGhhdCBpcyBhbHNvIGNhbGxlZCB3aGVuIHRoZSBwcm9wZXJ0aWVzCgkgIGNoYW5nZSBub3cuCgkgIEFuZCB1c2UgQmFzZVRyYW5zZm9ybTo6dHJhbnNmb3JtIGluc3RlYWQgb2YgdHJhbnNmb3JtX2lwCgkgIGFzIHRoZSBjb252b2x1dGlvbiBpcyBkb25lIG91dCBvZiBwbGFjZSBhbnl3YXkuIFNob3VsZAoJICBiZSBkb25lIGluIHBsYWNlIGxhdGVyLgoKMjAwNy0wOC0wOSAxNzozOTo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgUG9ydCB0aGUgc3RlcmVvIGVsZW1lbnQgdG8gR1N0cmVhbWVyIDAuMTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3Qvc3RlcmVvL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6IChnc3Rfc3RlcmVvX2Jhc2VfaW5pdCksCgkgIChnc3Rfc3RlcmVvX2NsYXNzX2luaXQpLCAoZ3N0X3N0ZXJlb19pbml0KSwKCSAgKGdzdF9zdGVyZW9fdHJhbnNmb3JtX2lwKSwgKGdzdF9zdGVyZW9fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zdGVyZW9fZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5oOgoJICBQb3J0IHRoZSBzdGVyZW8gZWxlbWVudCB0byBHU3RyZWFtZXIgMC4xMC4KCjIwMDctMDgtMDkgMTE6MDE6MTQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vOiBBZGRlZCBQb3J0dWd1ZXNlIChCcmF6aWxpYW4pIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc3VibWl0dGVkIGJ5OiBSYXBoYWVsIEhpZ2lubyA8cGhoaWdpbm9AZ21haWwuY29tPgoJICAqIHBvL0xJTkdVQVM6CgkgICogcG8vcHRfQlIucG86CgkgIEFkZGVkIFBvcnR1Z3Vlc2UgKEJyYXppbGlhbikgdHJhbnNsYXRpb24uCgoyMDA3LTA4LTA5IDExOjAwOjAzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvLzogVXBkYXRlZCB0cmFuc2xhdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL3VrLnBvOgoJICAqIHBvL3ZpLnBvOgoJICBVcGRhdGVkIHRyYW5zbGF0aW9ucy4KCjIwMDctMDgtMDggMjA6NDc6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBVc2UgR3N0QXVkaW9GaWx0ZXIgYXMgYmFzZSBjbGFzcyBhbmQgZG9uJ3QgbGVhayB0aGUgbWVtb3J5IG9mIHRoZSBmaWx0ZXIga2VybmVsIGFuZCByZXNpZHVlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfZGlzcG9zZSksCgkgIChnc3RfYnB3c2luY19iYXNlX2luaXQpLCAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYnB3c2luY19pbml0KSwgKGJwd3NpbmNfc2V0dXApOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfZGlzcG9zZSksCgkgIChnc3RfbHB3c2luY19iYXNlX2luaXQpLCAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbHB3c2luY19pbml0KSwgKGxwd3NpbmNfc2V0dXApOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBVc2UgR3N0QXVkaW9GaWx0ZXIgYXMgYmFzZSBjbGFzcyBhbmQgZG9uJ3QgbGVhayB0aGUgbWVtb3J5CgkgIG9mIHRoZSBmaWx0ZXIga2VybmVsIGFuZCByZXNpZHVlLgoKMjAwNy0wOC0wOCAxNToxNTo1NiArMDAwMCAgSm9zZXAgVG9ycmUgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCgkgIEFkZCBjb25uZWN0aW9uIHNwZWVkIHByb3BlcnR5IHRvIGxpYm1tcy4gRml4ZXMgIzQ2NDY3OC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb3NlcCBUb3JyZSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX2NsYXNzX2luaXQpLCAoZ3N0X21tc19pbml0KSwKCSAgKGdzdF9tbXNfc3RhcnQpLCAoZ3N0X21tc19zZXRfcHJvcGVydHkpLCAoZ3N0X21tc19nZXRfcHJvcGVydHkpOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmg6CgkgIEFkZCBjb25uZWN0aW9uIHNwZWVkIHByb3BlcnR5IHRvIGxpYm1tcy4gRml4ZXMgIzQ2NDY3OC4KCjIwMDctMDgtMDcgMTU6MjE6MTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuKjogUmVtb3ZlIHNvbWUgb2xkIHVudXNlZCB2YXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKGdzdF9yZWFsX3ZpZGVvX2RlY19jaGFpbiksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfYWN0aXZhdGVfcHVzaCksIChvcGVuX2xpYnJhcnkpLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX2luaXQpLCAoZ3N0X3JlYWxfdmlkZW9fZGVjX2ZpbmFsaXplKToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuaDoKCSAgUmVtb3ZlIHNvbWUgb2xkIHVudXNlZCB2YXJzLgoKMjAwNy0wOC0wNyAxMDo1MTo1OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiBTbWFsbCBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IChnc3RfcmVhbF9hdWRpb19kZWNfc2V0Y2Fwcyk6CgkgIFNtYWxsIGNsZWFudXBzLgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAoZ3N0X3JlYWxfdmlkZW9fZGVjX2NoYWluKSwKCSAgKG9wZW5fbGlicmFyeSk6CgkgIFJlbW92ZSBmcmFnbWVudCBhbmQgdGltZXN0YW1wIGNvcnJlY3Rpb24gY29kZSBmcm9tIHRoZSBkZWNvZGVyIHRvIG1ha2UKCSAgdGhlIGNhcHMgYW5kIGJ1ZmZlciBjb250ZW50cyBjb21wYXRpYmxlIHdpdGggbWF0cm9za2EvZmZkZWNfcnZ4MC8uLi4KCjIwMDctMDctMzAgMTI6NDM6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBwby9QT1RGSUxFUy5za2lwOiBBZGQgUE9URklMRVMuc2tpcCB3aXRoIGxpc3Qgb2Ygc291cmNlIGZpbGVzIHRoYXQgYXJlbid0IGRpc3RlZCBhdCB0aGUgbW9tZW50IGJ1dCBjb250YWluIHRyYW5zbGF0YWIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vUE9URklMRVMuc2tpcDoKCSAgQWRkIFBPVEZJTEVTLnNraXAgd2l0aCBsaXN0IG9mIHNvdXJjZSBmaWxlcyB0aGF0IGFyZW4ndCBkaXN0ZWQgYXQgdGhlCgkgIG1vbWVudCBidXQgY29udGFpbiB0cmFuc2xhdGFibGUgc3RyaW5ncy4gU2hvdWxkIGhvcGVmdWxseSBwYWNpZnkKCSAgYnJva2VuIHRvb2xzIGFuZCBtYWtlIGl0IGNsZWFyZXIgdGhhdCB0aGVzZSBmaWxlcyBhcmUgbGVmdCBvdXQKCSAgaW50ZW50aW9uYWxseSAoIzQ2MTYwMSBhbmQgb3RoZXJzKS4KCjIwMDctMDctMzAgMDk6NTI6MzYgKzAwMDAgIElhbiBNdW5ybyA8aW11bnJvQG5ldHNwYWNlLm5ldC5hdT4KCgkgIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzogSW5jbHVkZSBvdXIgb3duICJfc3RkaW50LmgiIGluc3RlYWQgb2YgPHN0ZGludC5oPiAod2hpY2ggbWF5IG5vdCBiZSBhdmFpbGFibGUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IElhbiBNdW5ybyAgPGltdW5ybyBhdCBuZXRzcGFjZSBuZXQgYXU+CgkgICogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICBJbmNsdWRlIG91ciBvd24gIl9zdGRpbnQuaCIgaW5zdGVhZCBvZiA8c3RkaW50Lmg+ICh3aGljaCBtYXkgbm90CgkgIGJlIGF2YWlsYWJsZSkuCgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmg6CgkgIE5hdGl2ZSBIUC1VWCBjb21waWxlciBkb3NuJ3Qgc2VlbSB0byBsaWtlIGVudW0gdHlwZWRlZnMgYmVmb3JlIHRoZQoJICBhY3R1YWwgZW51bSB3YXMgZGVmaW5lZC4KCSAgKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkgIEZpeCB3cm9uZyB1c2FnZSBvZiBHU1RfRUxFTUVOVF9FUlJPUiBtYWNybyAoIzQ2MTM3MykuCgoyMDA3LTA3LTI2IDE2OjE2OjAxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IFVzZSB0aGUgcHJvcGVyIGNvbnRleHQgdmFyaWFibGUgd2hlbiBzZXR0aW5nIHRoZSBwYXNzd29yZCAhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiAoZ3N0X3JlYWxfYXVkaW9fZGVjX3NldGNhcHMpOgoJICBVc2UgdGhlIHByb3BlciBjb250ZXh0IHZhcmlhYmxlIHdoZW4gc2V0dGluZyB0aGUgcGFzc3dvcmQgIQoJICBMT0cgPT4gV0FSTklORyBmb3IgZXJyb3JzLgoJICBHaXZlIHByb3BlciBwYXRoIHdoZW4gb3BlbmluZyB0aGUgY29kZWMgKG5lZWRzIGEgJy8nIGF0IHRoZSBlbmQpLgoKMjAwNy0wNy0yNSAxODoxMDowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9yZWFsL01ha2VmaWxlLmFtOiBBbmQgZGlzdCB0aGUgbmV3IGhlYWRlciBmaWxlIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvTWFrZWZpbGUuYW06CgkgIEFuZCBkaXN0IHRoZSBuZXcgaGVhZGVyIGZpbGUgdG9vLgoKMjAwNy0wNy0yNSAxNDozNjoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9yZWFsL2dzdHJlYWwuaDogQWRkIG1pc3NpbmcgaGVhZGVyIGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWwuaDoKCSAgQWRkIG1pc3NpbmcgaGVhZGVyIGZpbGUuCgoyMDA3LTA3LTI1IDEzOjI5OjA0ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9mbHYvOiBIYW5kbGUgbm90IGxpbmtlZCBwYWRzLCB0cnkgdG8gbWFrZSBpdCByZXVzYWJsZSwgbW9yZSBzYWZldHkgY2hlY2tzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wNy0yNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAoZ3N0X2Zsdl9kZW11eF9jaGFpbiksIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwKCSAgKGdzdF9mbHZfZGVtdXhfY2hhbmdlX3N0YXRlKSwgKGdzdF9mbHZfZGVtdXhfZGlzcG9zZSksCgkgIChnc3RfZmx2X2RlbXV4X2luaXQpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChGTFZfR0VUX1NUUklORyksCgkgIChnc3RfZmx2X3BhcnNlX21ldGFkYXRhX2l0ZW0pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwKCSAgKGdzdF9mbHZfcGFyc2VfaGVhZGVyKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmg6IEhhbmRsZSBub3QgbGlua2VkIHBhZHMsIHRyeSB0byBtYWtlIGl0CgkgIHJldXNhYmxlLCBtb3JlIHNhZmV0eSBjaGVja3MuCgoyMDA3LTA3LTI1IDA1OjU1OjAwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuKjogRG9uJ3QgaW5pdGlhbGl6ZSB0aW1pZGl0eSBpbiBwbHVnaW5faW5pdCBmb3Igc2ltaWxhciByZWFzb24gYXMgYmVsb3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOiAoZ3N0X3RpbWlkaXR5X2luaXQpLAoJICAoZ3N0X3RpbWlkaXR5X2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5Lmg6CgkgIERvbid0IGluaXRpYWxpemUgdGltaWRpdHkgaW4gcGx1Z2luX2luaXQgZm9yIHNpbWlsYXIgcmVhc29uIGFzIGJlbG93LgoKMjAwNy0wNy0yNCAxNToxMzo0NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLio6IERvbid0IGluaXRpYWxpemUgd2lsZG1pZGkgaW4gcGx1Z2luX2luaXQgYXMgaXQgYWxzbyBzZXR1cHMgYXVkaW8gZmlsdGVycyB3aGljaCBpcyBzbG93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzogKHdpbGRtaWRpX29wZW5fY29uZmlnKSwKCSAgKGdzdF93aWxkbWlkaV9pbml0KSwgKGdzdF93aWxkbWlkaV9jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5oOgoJICBEb24ndCBpbml0aWFsaXplIHdpbGRtaWRpIGluIHBsdWdpbl9pbml0IGFzIGl0IGFsc28gc2V0dXBzIGF1ZGlvCgkgIGZpbHRlcnMgd2hpY2ggaXMgc2xvdy4KCjIwMDctMDctMjQgMTQ6MzY6NTQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcmVhbC86IEltcHJvdmVkIHNlYXJjaCBhbGdvcml0aG0gZm9yIGxvY2F0aW9uIG9mIHJlYWwgLnNvIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2aWV3ZWQgYnk6IEVkd2FyZCBIZXJ2ZXkgIDxiaWxib2VkQGJpbGJvZWQuY29tPgoJICAqIGdzdC9yZWFsL2dzdHJlYWwuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogKGdzdF9yZWFsX2F1ZGlvX2RlY19zZXRjYXBzKSwKCSAgKGdzdF9yZWFsX2F1ZGlvX2RlY19maW5hbGl6ZSksIChnc3RfcmVhbF9hdWRpb19kZWNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9yZWFsX2F1ZGlvX2RlY19nZXRfcHJvcGVydHkpLCAoZ3N0X3JlYWxfYXVkaW9fZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAob3Blbl9saWJyYXJ5KSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19maW5hbGl6ZSksIChnc3RfcmVhbF92aWRlb19kZWNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19nZXRfcHJvcGVydHkpLCAoZ3N0X3JlYWxfdmlkZW9fZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5oOgoJICBJbXByb3ZlZCBzZWFyY2ggYWxnb3JpdGhtIGZvciBsb2NhdGlvbiBvZiByZWFsIC5zbyBmaWxlcy4KCSAgRml4ZXMgIzM5MzQ2MQoKMjAwNy0wNy0yNCAwNToxNTo0MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgVXNlIHRoZSBuZXcgYnVmZmVyIGNsaXBwaW5nIGZ1bmN0aW9uIGZyb20gZ3N0YXVkaW8gaGVyZSBhbmQgcmVxdWlyZSBnc3QtcGx1Z2lucy1iYXNlIENWUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2NoYWluKSwgKGdzdF9mYWFkX2NoYW5nZV9zdGF0ZSk6CgkgIFVzZSB0aGUgbmV3IGJ1ZmZlciBjbGlwcGluZyBmdW5jdGlvbiBmcm9tIGdzdGF1ZGlvIGhlcmUgYW5kCgkgIHJlcXVpcmUgZ3N0LXBsdWdpbnMtYmFzZSBDVlMuCgoyMDA3LTA3LTIzIDA5OjEzOjQyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFN5bmMgbGlib2lsIGNoZWNrIHdpdGggcGx1Z2lucy1iYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFN5bmMgbGlib2lsIGNoZWNrIHdpdGggcGx1Z2lucy1iYXNlLgoKMjAwNy0wNy0yMCAxMTozNzozNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci86IEJldHRlciBhbGdvcml0aCBmb3IgdGhlIGNlbnRlciBmcmVxdWVuY2llcy4gU3VidHJhY3QgYmFuZCBmaWx0ZXJzIGZyb20gaW5wdXQgZm9yIG5lZ2F0aXZlIGdhaW5zLiBSZXdvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRfYnlfaW5kZXgpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkcmVuX2NvdW50KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2ludGVyZmFjZV9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NsYXNzX2luaXQpLCAoYXJnX3RvX3NjYWxlKSwgKHNldHVwX2ZpbHRlciksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzKToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyXzNiYW5kc19jbGFzc19pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICBCZXR0ZXIgYWxnb3JpdGggZm9yIHRoZSBjZW50ZXIgZnJlcXVlbmNpZXMuIFN1YnRyYWN0IGJhbmQgZmlsdGVycyBmcm9tCgkgIGlucHV0IGZvciBuZWdhdGl2ZSBnYWlucy4gUmV3b3JrIHRoZSBnYWluIG1hcHBpbmcuCgoyMDA3LTA3LTIwIDExOjAzOjM5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvZGlyYWMvTWFrZWZpbGUuYW06IEFsc28gaW5jbHVkZSBzdGRsaWIgaGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJICBBbHNvIGluY2x1ZGUgc3RkbGliIGhlcmUuCgoyMDA3LTA3LTE5IDE1OjI5OjUyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6IEZpeCB0aGUgYnVpbGRib3Qgd2l0aCB0aGUgY3ZzaWdub3JlIGl0IHdhbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBGaXggdGhlIGJ1aWxkYm90IHdpdGggdGhlIGN2c2lnbm9yZSBpdCB3YW50cy4KCjIwMDctMDctMTkgMTU6MDU6MzAgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgQWRkcyBhIGZpcnN0IGRyYWZ0IG9mIGFuIEZMViBkZW11eGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wNy0xOSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfZmx1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9jbGVhbnVwKSwgKGdzdF9mbHZfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksIChnc3RfZmx2X2RlbXV4X3B1bGxfaGVhZGVyKSwKCSAgKGdzdF9mbHZfZGVtdXhfc2Vla190b19wcmV2X2tleWZyYW1lKSwgKGdzdF9mbHZfZGVtdXhfbG9vcCksCgkgIChnc3RfZmx2X2RlbXV4X3NpbmtfYWN0aXZhdGUpLAoJICAoZ3N0X2Zsdl9kZW11eF9zaW5rX2FjdGl2YXRlX3B1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9zaW5rX2FjdGl2YXRlX3B1bGwpLCAoZ3N0X2Zsdl9kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9mbHZfZGVtdXhfY2hhbmdlX3N0YXRlKSwgKGdzdF9mbHZfZGVtdXhfZGlzcG9zZSksCgkgIChnc3RfZmx2X2RlbXV4X2Jhc2VfaW5pdCksIChnc3RfZmx2X2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X2Zsdl9kZW11eF9pbml0KSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoRkxWX0dFVF9CRVVJMjQpLCAoRkxWX0dFVF9TVFJJTkcpLAoJICAoZ3N0X2Zsdl9kZW11eF9xdWVyeV90eXBlcyksIChnc3RfZmx2X2RlbXV4X3F1ZXJ5KSwKCSAgKGdzdF9mbHZfcGFyc2VfbWV0YWRhdGFfaXRlbSksIChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdHlwZSksIChnc3RfZmx2X3BhcnNlX2hlYWRlcik6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5oOiBBZGRzIGEgZmlyc3QgZHJhZnQgb2YgYW4gRkxWIGRlbXV4ZXIuCgkgIEl0IGRvZXMgbm90IGRvIHNlZWtpbmcgeWV0LCBpdCBzdXBwb3J0cyBwdWxsIGFuZCBwdXNoIG1vZGUgc28KCSAgWUVTCgkgIHlvdSBjYW4gdXNlIGl0IHRvIHBsYXkgeW91dHViZSB2aWRlb3MgZGlyZWN0bHkgZnJvbSBhbiBIVFRQIHVyaS4KCSAgTm90IHNvIG11Y2ggdGVzdGluZyBkb25lIHlldCBidXQgaXQgcGFyc2VzIG1ldGFkYXRhLCByZXBseSB0bwoJICBkdXJhdGlvbiBxdWVyaWVzLCBldGMuLi4KCjIwMDctMDctMTkgMDk6MDg6MzAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiB0ZXN0cy9jaGVjay9lbGVtZW50cy90aW1pZGl0eS5jIChHU1RfU1RBUlRfVEVTVCwgdGltaWRpdHlfc3VpdGUsIG1haW4pOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90aW1pZGl0eS5jIChHU1RfU1RBUlRfVEVTVCwgdGltaWRpdHlfc3VpdGUsCgkgIG1haW4pOgoJICBBZGQgdHlwZWZpbmQgdGVzdCBmb3IgbWlkaS4KCjIwMDctMDctMTggMjA6NTY6MjIgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOiBJZiB3ZSByZWNlaXZlIGEgbmV3IHNlZ21lbnQgZXZlbnQsIGRvbid0IHRyeSB0byBwdXNoIGJ1ZmZlcnMgb3V0IGluIHJlc3BvbnNlICh3aXRob3V0IGZpci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgSWYgd2UgcmVjZWl2ZSBhIG5ldyBzZWdtZW50IGV2ZW50LCBkb24ndCB0cnkgdG8gcHVzaCBidWZmZXJzIG91dAoJICBpbiByZXNwb25zZSAod2l0aG91dCBmaXJzdCBzZW5kaW5nIGl0IG9uISkuCgkgIEluc3RlYWQsIGZsdXNoIGludGVybmFsIGJ1ZmZlcnMgb24gcmVjZWl2aW5nIGZsdXNoIGV2ZW50cy4KCSAgRml4ZXMgcGxheWJhY2sgYWZ0ZXIgc2Vla2luZy4KCjIwMDctMDctMTggMDg6MDA6MDYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzogQWRkIGJhc2ljIGRvY3MuIFVzZSBnbGlicyBtZW0gcm91dGluZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzogKGdzdF9iYXllcjJyZ2Jfc2V0X2NhcHMpLAoJICAoZ3N0X2JheWVyMnJnYl9yZXNldCk6CgkgIEFkZCBiYXNpYyBkb2NzLiBVc2UgZ2xpYnMgbWVtIHJvdXRpbmVzLgoKMjAwNy0wNy0xOCAwNzo1MToxMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzogQWRkIGV4YW1wbGUgdG8gdGhlIGRvY3MuIEZpeCBidWZmZXItb2Zmc2V0LWVuZCBhbmQgYWRkIHNvbWUgZGVidWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IChnc3RfbXVsdGlfZmlsZV9zcmNfY3JlYXRlKToKCSAgQWRkIGV4YW1wbGUgdG8gdGhlIGRvY3MuIEZpeCBidWZmZXItb2Zmc2V0LWVuZCBhbmQgYWRkIHNvbWUgZGVidWcuCgoyMDA3LTA3LTE4IDA3OjQyOjQ3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IEFkZCBzdGRsaWIgaW5jbHVkZSBoZXJlIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiAoZ3N0X2phY2tfcmluZ19idWZmZXJfb3Blbl9kZXZpY2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfYWNxdWlyZSk6CgkgIEFkZCBzdGRsaWIgaW5jbHVkZSBoZXJlIHRvby4KCjIwMDctMDctMTggMDc6MzU6MzIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEFkZCBzdGRsaWIgaW5jbHVkZSAoZnJlZSwgYXRvaSwgZXhpdCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmNfZXguYzoKCSAgKiBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSAgKiBnc3QvbXZlL212ZWF1ZGlvZW5jLmM6IChtdmVfY29tcHJlc3NfYXVkaW8pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIEFkZCBzdGRsaWIgaW5jbHVkZSAoZnJlZSwgYXRvaSwgZXhpdCkuCgoyMDA3LTA3LTE2IDA5OjE5OjE0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IEZpeCBidWZmZXIgY2xpcHBpbmcgdG8gY29ycmVjdGx5IGNsaXAgdG8gdGhlIHNlZ21lbnQgc3RvcC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoY2xpcF9vdXRnb2luZ19idWZmZXIpOgoJICBGaXggYnVmZmVyIGNsaXBwaW5nIHRvIGNvcnJlY3RseSBjbGlwIHRvIHRoZSBzZWdtZW50IHN0b3AuCgoyMDA3LTA3LTE0IDE4OjQ4OjI1ICswMDAwICBIYW5zIGRlIEdvZWRlIDxqLncuci5kZWdvZWRlQGhocy5ubD4KCgkgIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6IGFkZCBzZXZlcmFsIG1pc3Npbmcgc3VwcG9ydGVkIG1pbWUtdHlwZXMgdG8gdGhlIG1vZHBsdWcgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEhhbnMgZGUgR29lZGUgPGoudy5yLmRlZ29lZGUgYXQgaGhzIGRvdCBubD4KCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBhZGQgc2V2ZXJhbCBtaXNzaW5nIHN1cHBvcnRlZCBtaW1lLXR5cGVzIHRvIHRoZSBtb2RwbHVnIHBsdWdpbi4KCSAgRml4ZXMgIzQ1NjkwMS4KCjIwMDctMDctMTMgMTY6NDY6MDAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVtb3ZlIGJvZ3VzIGNoZWNrIGZvciBsaWJjaGVjaywgc2luY2Ugd2UgY2hlY2sgZm9yIGdzdHJlYW1lci1jaGVjayBhbmQgaXQgcHVsbHMgaW4gdGhlIHJlcXVpcmVkIGluZm8gZnJvbSB0aGVyZSwgYW5kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiB0ZXN0cy9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIGJvZ3VzIGNoZWNrIGZvciBsaWJjaGVjaywgc2luY2Ugd2UgY2hlY2sgZm9yCgkgIGdzdHJlYW1lci1jaGVjayBhbmQgaXQgcHVsbHMgaW4gdGhlIHJlcXVpcmVkIGluZm8gZnJvbSB0aGVyZSwgYW5kIHdlCgkgIHdlcmVuJ3QgYWN0dWFsbHkgX3VzaW5nXyB0aGUgaW5mb3JtYXRpb24gZm9yIGxpYmNoZWNrIG91cnNlbHZlcwoJICBhbnl3YXkuCgoyMDA3LTA3LTEyIDExOjU1OjEwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFVzZSBwa2ctY29uZmlnIHRvIGxvY2F0ZSBjaGVjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBVc2UgcGtnLWNvbmZpZyB0byBsb2NhdGUgY2hlY2suCgoyMDA3LTA3LTExIDIzOjQzOjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogRml4IGJ1aWxkIGFnYWluc3QgY29yZSBDVlMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9wcm9jZXNzKToKCSAgKiBnc3Qvdm1uYy92bW5jZGVjLmM6ICh2bW5jX21ha2VfYnVmZmVyKToKCSAgRml4IGJ1aWxkIGFnYWluc3QgY29yZSBDVlMuCgoyMDA3LTA3LTA5IDA2OjA1OjQ1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBSRVFVSVJFTUVOVFM6IFN5bmMgd2l0aCBjaGFuZ2VzIGluIC11Z2x5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBSRVFVSVJFTUVOVFM6CgkgIFN5bmMgd2l0aCBjaGFuZ2VzIGluIC11Z2x5LgoKMjAwNy0wNy0wOCAxOTowNjo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFJFUVVJUkVNRU5UUzogQWRkIGRvd25sb2FkIGxvY2F0aW9uIG9mIGxpYmFtcndiLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBSRVFVSVJFTUVOVFM6CgkgIEFkZCBkb3dubG9hZCBsb2NhdGlvbiBvZiBsaWJhbXJ3Yi4KCjIwMDctMDctMDYgMjE6MDc6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC86IEFkZCBtaXNzaW5nIGluc3BlY3QgZmlsZXMuIEZpeGVzIGJ1aWxkICgjNDU0MzEzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGltaWRpdHkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkgIEFkZCBtaXNzaW5nIGluc3BlY3QgZmlsZXMuIEZpeGVzIGJ1aWxkICgjNDU0MzEzKS4KCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzogKHdpbGRtaWRpX29wZW5fY29uZmlnKToKCSAgU2NyZWFtIGEgYml0IGxvdWRlciB3aGVuIGluaXRpYWxpc2F0aW9uIGZhaWxzLgoJICAqIGdzdC1saWJzL1JFQURNRToKCSAgKiBnc3QtbGlicy9leHQvLmN2c2lnbm9yZToKCSAgUmVtb3ZlIHNvbWUgY3J1ZnQuCgoyMDA3LTA3LTA1IDIyOjI4OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06IERpc3QgaGVhZGVyIGZpbGVzLiBGaXhlcyAjNDU0MDc4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvaXZvcmJpcy9NYWtlZmlsZS5hbToKCSAgRGlzdCBoZWFkZXIgZmlsZXMuIEZpeGVzICM0NTQwNzguCgoyMDA3LTA3LTA1IDA4OjQ1OjMyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06IFNpbXBsaWZ5IC0tZXh0cmEtZGlyIGFzIGd0a2RvYyBzY2FucyByZWN1cnNpdmVseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBTaW1wbGlmeSAtLWV4dHJhLWRpciBhcyBndGtkb2Mgc2NhbnMgcmVjdXJzaXZlbHkuCgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkgIEZpeCBjb21tZW50IHN0YXJ0LgoKMjAwNy0wNy0wNCAxMTo1Njo1NSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmMgKGR2YnNyY19kZXRhaWxzLCBBUkdfRFZCU1JDX0FEQVBURVIsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmMgKGR2YnNyY19kZXRhaWxzLCBBUkdfRFZCU1JDX0FEQVBURVIsCgkgIEFSR19EVkJTUkNfRlJPTlRFTkQsIEFSR19EVkJTUkNfRElTRVFDX1NSQywgQVJHX0RWQlNSQ19GUkVRVUVOQ1ksCgkgIEFSR19EVkJTUkNfUE9MQVJJVFksIGdzdF9kdmJzcmNfY2xhc3NfaW5pdCwgZ3N0X2R2YnNyY19pbml0LAoJICBnc3RfZHZic3JjX3NldF9wcm9wZXJ0eSwgZ3N0X2R2YnNyY19nZXRfcHJvcGVydHksCgkgIGdzdF9kdmJzcmNfb3Blbl9mcm9udGVuZCwgZ3N0X2R2YnNyY19vcGVuX2R2ciwgcmVhZF9kZXZpY2UsCgkgIGdzdF9kdmJzcmNfY3JlYXRlLCBnc3RfZHZic3JjX3NldF9wZXNfZmlsdGVycyk6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuaCAoYWRhcHRlcl9udW1iZXIsIGZyb250ZW5kX251bWJlcik6CgkgIFJlbW92ZWQgcHJvcGVydHkgImRldmljZSIuIEFkZGVkIHByb3BlcnRpZXMgImFkYXB0ZXIiIGFuZCAiZnJvbnRlbmQiLgoJICBGaXhlcyAjNDUzNjM2LgoJICBSZW5hbWUgZnJlcSBwcm9wZXJ0eSB0byBmcmVxdWVuY3kuCgoyMDA3LTA3LTAzIDE3OjA5OjI0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6IEZpeCBwcm9wZXJ0eSBkZXNjcmlwdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOiAoZ3N0X3ZpZGVvX2RldGVjdF9jbGFzc19pbml0KToKCSAgRml4IHByb3BlcnR5IGRlc2NyaXB0aW9ucy4KCjIwMDctMDctMDMgMDk6MTg6MjIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEFsc28gZG9jdW1lbnQgQU1SLVdCIGVsZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgIEFsc28gZG9jdW1lbnQgQU1SLVdCIGVsZW1lbnRzLgoKMjAwNy0wNy0wMyAwODoxNjoxNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogQ2xlYW51cCB0aGUgc2VjdGlvbiBmaWxlIHNvIHRoYXQgLXVudXNlZCBpcyBlbXB0eSBhZ2FpbiAoYW5kIHVzZWZ1bCB0byBzcG90IG5ldyBkb2NzKS4gQWRkIG5vdCB5ZXQgYWRkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgIENsZWFudXAgdGhlIHNlY3Rpb24gZmlsZSBzbyB0aGF0IC11bnVzZWQgaXMgZW1wdHkgYWdhaW4gKGFuZCB1c2VmdWwgdG8KCSAgc3BvdCBuZXcgZG9jcykuIEFkZCBub3QgeWV0IGFkZGVkIGRvY3MgdG8gc2dtbCBmaWxlLiBBZGQgbW9yZSBoZWFkZXIKCSAgdG8gTWFrZWZpbGUuYW0gdG8gbWFrZSB0aGVtIGludHJvc3BlY3RhYmxlLgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICBVcGRhdGUgdGhlIGRvYyBibG9icy4KCjIwMDctMDctMDMgMDg6MDE6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9tdWx0aWZpbGUvOiBBZGQgLmggZmlsZXMgdG8gYmUgYWJsZSB0byBhZGQgaXQgdG8gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGUuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmg6CgkgIEFkZCAuaCBmaWxlcyB0byBiZSBhYmxlIHRvIGFkZCBpdCB0byB0aGUgZG9jcy4KCjIwMDctMDctMDMgMDc6NTI6NTIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6IEFjdGl2YXRlIGRvYyBzZWN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBBY3RpdmF0ZSBkb2Mgc2VjdGlvbi4KCjIwMDctMDctMDMgMDc6NDE6MzQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC90aW1pZGl0eS86IEZpeCBsaWNlbmNlIChib3RoIGFyZSBHUEwpLiBBZGQgZWxlbWVudCBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuaDoKCSAgRml4IGxpY2VuY2UgKGJvdGggYXJlIEdQTCkuIEFkZCBlbGVtZW50IGRvY3MuCgoyMDA3LTA3LTAzIDA3OjMwOjQ3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmg6IEZpeCBfZ2V0X3R5cGUgc2lnbmF0dXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmg6CgkgIEZpeCBfZ2V0X3R5cGUgc2lnbmF0dXJlLgoKMjAwNy0wNy0wMyAwNzoxNjoyNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuaDogRml4IEdPYmplY3QgbWFjcm9zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5oOgoJICBGaXggR09iamVjdCBtYWNyb3MuCgoyMDA3LTA2LTI5IDE1OjIzOjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6IE1ha2UgYSBidW5jaCBvZiBmdW5jdGlvbnMgc3RhdGljLCBhbmQgbW92ZSB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgdG8gdGhlIHN0YXJ0IG9mIGJsb2NrcyB0byBhdi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOiAoZ3N0X2RjMTM5NF9zcmNfZml4YXRlKSwKCSAgKGdzdF9kYzEzOTRfY3JlYXRlKSwgKGdzdF9kYzEzOTRfY2Fwc19zZXRfZm9ybWF0X3Ztb2RlX2NhcHMpLAoJICAoZ3N0X2RjMTM5NF9zZXRfY2Fwc19mcmFtZXNpemVfcmFuZ2UpLAoJICAoZ3N0X2RjMTM5NF9jYXBzX3NldF9mcmFtZXJhdGVfbGlzdCksIChnc3RfZGMxMzk0X2dldF9jYW1fY2FwcyksCgkgIChnc3RfZGMxMzk0X2ZyYW1lcmF0ZV9mcmFjX3RvX2NvbnN0KSwKCSAgKGdzdF9kYzEzOTRfb3Blbl9jYW1fd2l0aF9iZXN0X2NhcHMpOgoJICBNYWtlIGEgYnVuY2ggb2YgZnVuY3Rpb25zIHN0YXRpYywgYW5kIG1vdmUgdmFyaWFibGUgZGVjbGFyYXRpb25zCgkgIHRvIHRoZSBzdGFydCBvZiBibG9ja3MgdG8gYXZvaWQgcHJvYmxlbXMgb24gb2xkZXIgZ2NjLgoJICBNYWtlIHN1cmUgdG8gdW5zZXQgdmFsdWUgdHlwZXMuCgoyMDA3LTA2LTI5IDE0OjQ4OjU5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6IFRoZSBjb3JyZWN0IGZvdXJjYyBmb3IgdGhlIDQ6MToxIHBhY2tlZCBmb3JtYXQgaXMgJ0lZVTEnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOiAoZ3N0X2RjMTM5NF9zZXRfY2Fwc19jb2xvcik6CgkgIFRoZSBjb3JyZWN0IGZvdXJjYyBmb3IgdGhlIDQ6MToxIHBhY2tlZCBmb3JtYXQgaXMgJ0lZVTEnLgoJICBXaXRoIENWUyBvZiBmZm1wZWdjb2xvcnNwYWNlIGZyb20gcGx1Z2lucy1iYXNlLCBJIGNhbiBub3cKCSAgZ2V0IDMwIGZwcyBmcm9tIHRoZSBpU2lnaHQuCgoyMDA3LTA2LTI5IDE0OjExOjI0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6IENoYW5nZSBhIGdfcHJpbnQgdG8gYSBHU1RfREVCVUcgbWVzc2FnZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzogKGdzdF9kYzEzOTRfc2V0X2NhcHNfY29sb3IpOgoJICBDaGFuZ2UgYSBnX3ByaW50IHRvIGEgR1NUX0RFQlVHIG1lc3NhZ2UuCgoyMDA3LTA2LTI5IDEzOjA5OjE5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgT29wcywgYWRkIGFuIGF0dHJpYnV0aW9uIGZvciBBbnRvaW5lIFRyZW1ibGF5IHRvbyAtIHRoZSBvcmlnaW5hbCBwYXRjaCBhdXRob3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBPb3BzLCBhZGQgYW4gYXR0cmlidXRpb24gZm9yIEFudG9pbmUgVHJlbWJsYXkgdG9vIC0gdGhlIG9yaWdpbmFsIHBhdGNoIGF1dGhvci4KCjIwMDctMDYtMjkgMTM6MDM6MjcgKzAwMDAgIEVyaWMgSm9uYXMgPGpvbmFzQG1pdC5lZHU+CgoJICBDb21taXQgbmV3IGRjMTM5NHNyYyBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kYzEzOTQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzogKGdzdF9kYzEzOTRfYmFzZV9pbml0KSwKCSAgKGdzdF9kYzEzOTRfY2xhc3NfaW5pdCksIChnc3RfZGMxMzk0X2luaXQpLAoJICAoZ3N0X2RjMTM5NF9zcmNfZml4YXRlKSwgKGdzdF9kYzEzOTRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kYzEzOTRfZ2V0X3Byb3BlcnR5KSwgKGdzdF9kYzEzOTRfZ2V0Y2FwcyksCgkgIChnc3RfZGMxMzk0X3NldGNhcHMpLCAoZ3N0X2RjMTM5NF9nZXRfdGltZXMpLCAoZ3N0X2RjMTM5NF9jcmVhdGUpLAoJICAoZ3N0X2RjMTM5NF9wYXJzZV9jYXBzKSwgKGdzdF9kYzEzOTRfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9kYzEzOTRfY2Fwc19zZXRfZm9ybWF0X3Ztb2RlX2NhcHMpLAoJICAoZ3N0X2RjMTM5NF9zZXRfY2Fwc19jb2xvciksIChnc3RfZGMxMzk0X3NldF9jYXBzX2ZyYW1lc2l6ZSksCgkgIChnc3RfZGMxMzk0X3NldF9jYXBzX2ZyYW1lc2l6ZV9yYW5nZSksCgkgIChnc3RfZGMxMzk0X2NhcHNfc2V0X2ZyYW1lcmF0ZV9saXN0KSwKCSAgKGdzdF9kYzEzOTRfZnJhbWVyYXRlX2NvbnN0X3RvX2ZyYWMpLAoJICAoZ3N0X2RjMTM5NF9nZXRfYWxsX2RjMTM5NF9jYXBzKSwgKGdzdF9kYzEzOTRfZ2V0X2NhbV9jYXBzKSwKCSAgKGdzdF9kYzEzOTRfZnJhbWVyYXRlX2ZyYWNfdG9fY29uc3QpLAoJICAoZ3N0X2RjMTM5NF9vcGVuX2NhbV93aXRoX2Jlc3RfY2FwcyksCgkgIChnc3RfZGMxMzk0X2NoYW5nZV9jYW1lcmFfdHJhbnNtaXNzaW9uKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5oOgoJICBDb21taXQgbmV3IGRjMTM5NHNyYyBlbGVtZW50LgoJICBQYXRjaCBCeTogRXJpYyBKb25hcyA8IGpvbmFzIGF0IG1pdCBkb3QgZWR1ID4KCSAgQ2xvc2U6ICMzODcyNTEKCjIwMDctMDYtMjggMTA6NDA6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzogUmVnaXN0ZXIgbmV3IHByb3BlcnR5IGFzIHdlbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOiAoZ3N0X3ZpZGVvX2RldGVjdF9jbGFzc19pbml0KToKCSAgUmVnaXN0ZXIgbmV3IHByb3BlcnR5IGFzIHdlbGwuCgoyMDA3LTA2LTI4IDA5OjM2OjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0Lio6IEFkZCBwcm9wZXJ0eSB0byBhZGp1c3QgdGhlIGNlbnRlciwgc2Vuc2l0aXZpdHkgaXMgbm93IHRoZSBkaXN0YW5jZSBmcm9tIHRoaXMgY2VudGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzogKGdzdF92aWRlb19kZXRlY3RfNDIwKSwKCSAgKGdzdF92aWRlb19kZXRlY3Rfc2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb19kZXRlY3RfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuaDoKCSAgQWRkIHByb3BlcnR5IHRvIGFkanVzdCB0aGUgY2VudGVyLCBzZW5zaXRpdml0eSBpcyBub3cgdGhlIGRpc3RhbmNlIGZyb20KCSAgdGhpcyBjZW50ZXIuCgoyMDA3LTA2LTI3IDE1OjMzOjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3ZpZGVvc2lnbmFsLzogQWRkIGxlZnQgYW5kIGJvdHRvbSBvZmZzZXQgcHJvcGVydGllcyB0byBjb250cm9sIHRoZSBwb3NpdGlvbiBvZiB0aGUgcGF0dGVybi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6IChnc3RfdmlkZW9fZGV0ZWN0XzQyMCksCgkgIChnc3RfdmlkZW9fZGV0ZWN0X3NldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9fZGV0ZWN0X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfdmlkZW9fZGV0ZWN0X2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5oOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzogKGdzdF92aWRlb19tYXJrX2RyYXdfYm94KSwKCSAgKGdzdF92aWRlb19tYXJrXzQyMCksIChnc3RfdmlkZW9fbWFya19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3ZpZGVvX21hcmtfZ2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb19tYXJrX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuaDoKCSAgQWRkIGxlZnQgYW5kIGJvdHRvbSBvZmZzZXQgcHJvcGVydGllcyB0byBjb250cm9sIHRoZSBwb3NpdGlvbiBvZiB0aGUKCSAgcGF0dGVybi4KCjIwMDctMDYtMjUgMTI6NDc6NDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IFVwZGF0ZSBkb2NzIHdpdGggY2FwcyBpbmZvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbGltYWdlc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgIFVwZGF0ZSBkb2NzIHdpdGggY2FwcyBpbmZvLgoKMjAwNy0wNi0yNSAxMTowMjoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdjb25mLzogUmVtb3ZlIGR5c2Z1bmN0aW9uYWwgZGlyZWN0b3J5ICh0aGlzIHN0dWZmIGlzIGluIC1nb29kKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ2NvbmYvLmN2c2lnbm9yZToKCSAgKiBnY29uZi9NYWtlZmlsZS5hbToKCSAgKiBnY29uZi9nc3RyZWFtZXIuc2NoZW1hcy5pbjoKCSAgUmVtb3ZlIGR5c2Z1bmN0aW9uYWwgZGlyZWN0b3J5ICh0aGlzIHN0dWZmIGlzIGluIC1nb29kKS4KCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOiAocGx1Z2luX2luaXQpOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZCBpMThuIGJpbmR0ZXh0ZG9tYWluIHN0dWZmLgoJICAqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOiAoZ3N0X251dl9kZW11eF9jbGFzc19pbml0KSwKCSAgKHBsdWdpbl9pbml0KToKCSAgUG9zdCBhbiBlcnJvciBtZXNzYWdlIHdoZW4gcmV0dXJuaW5nIEdTVF9GTE9XX0VSUk9SOyBtaW5vciBjbGVhbnVwcy4KCSAgKiBwby9QT1RGSUxFUy5pbjoKCSAgQWRkIG1vcmUgc291cmNlIGZpbGVzIHdpdGggdHJhbnNsYXRhYmxlIHN0cmluZ3MgKGZpeGVzICM0NTA2MDUpLgoKMjAwNy0wNi0yMyAxMToyNDo0NCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby86IEFkZGVkIENoaW5lc2UgKHNpbXBsaWZpZWQpIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ29udHJpYnV0ZWQgYnk6IFdlbnpoZW5nIEh1IDxkYl9sb2JzdGVyQDE2My5jb20+CgkgICogcG8vTElOR1VBUzoKCSAgKiBwby96aF9DTi5wbzoKCSAgQWRkZWQgQ2hpbmVzZSAoc2ltcGxpZmllZCkgdHJhbnNsYXRpb24uCgoyMDA3LTA2LTIyIDIwOjIzOjE4ICswMDAwICBKZW5zIEdyYW5zZXVlciA8amVuc2dyQGdteC5uZXQ+CgoJICBnc3QvOiBCdWlsZCBmaXhlcyBmb3IgZ2NjLTIuOXggKG5vIG1pZC1ibG9jayB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgZXRjLikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmVucyBHcmFuc2V1ZXIgIDxqZW5zZ3IgYXQgZ214IG5ldD4KCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzoKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoX3NvcnRlZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6IChnc3Rfc3dpdGNoX2NoYWluKToKCSAgQnVpbGQgZml4ZXMgZm9yIGdjYy0yLjl4IChubyBtaWQtYmxvY2sgdmFyaWFibGUgZGVjbGFyYXRpb25zIGV0Yy4pLgoJICBGaXhlcyAjNDUwMTg1LgoKMjAwNy0wNi0yMiAxNTozMDowMCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmM6CgkqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmg6CgkgIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jIChteV9idXNfY2FsbGJhY2ssIHN3aXRjaF90aW1lciwgbGFzdF9tZXNzYWdlX3JlY2VpdmVkLCBtYWluKTogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0Xy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYyAobXlfYnVzX2NhbGxiYWNrLCBzd2l0Y2hfdGltZXIsCgkgIGxhc3RfbWVzc2FnZV9yZWNlaXZlZCwgbWFpbik6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N3aXRjaF9yZWxlYXNlX3BhZCwKCSAgZ3N0X3N3aXRjaF9yZXF1ZXN0X25ld19wYWQsIGdzdF9zd2l0Y2hfY2hhaW4sIGdzdF9zd2l0Y2hfZXZlbnQsCgkgIGdzdF9zd2l0Y2hfc2V0X3Byb3BlcnR5LCBnc3Rfc3dpdGNoX2dldF9wcm9wZXJ0eSwKCSAgZ3N0X3N3aXRjaF9nZXRfbGlua2VkX3BhZCwgZ3N0X3N3aXRjaF9nZXRjYXBzLAoJICBnc3Rfc3dpdGNoX2J1ZmZlcmFsbG9jLCBnc3Rfc3dpdGNoX2Rpc3Bvc2UsIGdzdF9zd2l0Y2hfaW5pdCk6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaCAoc3dpdGNoX211dGV4LCBHU1RfU1dJVENIX0xPQ0ssCgkgIEdTVF9TV0lUQ0hfVU5MT0NLKToKCSAgQWRkIGFuIGV4dHJhIGxvY2sgdG8gcHJvdGVjdCBhZ2FpbnN0IGNlcnRhaW4gdmFyaWFibGVzIGluc3RlYWQgb2YKCSAgdXNpbmcgdGhlIG9iamVjdCBsb2NrLiBGaXggY2FzZSB3aGVyZSBjYXBzIGFyZSBkaWZmZXJlbnQgaW4gdGhlCgkgIHNpbmsgcGFkcyBjYXVzZXMgZGVhZGxvY2suIFVwZGF0ZSBleGFtcGxlIHRvIHVzZSBkaWZmZXJlbnQgY2FwcwoJICBvbiBlYWNoIHNpbmsgcGFkLgoKMjAwNy0wNi0yMiAxNDoyNzo0MCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNQUlOVEFJTkVSUzogVXBkYXRpbmcgYWxsIHRoZSBtYWludGFpbmVycyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNQUlOVEFJTkVSUzoKCSAgVXBkYXRpbmcgYWxsIHRoZSBtYWludGFpbmVycyBmaWxlcwoKMjAwNy0wNi0yMiAxMDo0NjozMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIEZpeCBsZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6IChnc3RfYW1yd2JkZWNfaW5pdCk6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6IChnc3RfYW1yd2JlbmNfaW5pdCk6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzogKGdzdF9hbXJ3YnBhcnNlX2luaXQpOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5jOiAoZ3N0X2J6MmRlY19pbml0KToKCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5jOiAoZ3N0X2J6MmVuY19pbml0KToKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6IChnc3RfZGl2eGRlY19pbml0KToKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6IChnc3RfZGl2eGVuY19pbml0KToKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19pbml0KToKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5jOiAoZ3N0X2dzbWRlY19pbml0KToKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5jOiAoZ3N0X2dzbWVuY19pbml0KToKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzogKGdzdF9oZXJtZXNfY29sb3JzcGFjZV9pbml0KToKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzogKGdzdF9jb2xvcnNwYWNlX2luaXQpOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzogKGdzdF9mYW1lZW5jX2luaXQpOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOiAoZ3N0X3NuYXBzaG90X2luaXQpOgoJICAqIGV4dC9zcGMvZ3N0c3BjLmM6IChnc3Rfc3BjX2RlY19pbml0KToKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY19pbml0KToKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6IChnc3RfeHZpZGVuY19pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOiAoZ3N0X2NkeGFfcGFyc2VfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfaW5pdCk6CgkgICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6IChnc3RfY2hhcnRfaW5pdCk6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOiAoZ3N0X2NvbG9yc3BhY2VfaW5pdCk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6IChnc3RfZmVzdGl2YWxfaW5pdCk6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzogKGdzdF9mcmVlemVfaW5pdCk6CgkgICogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzogKGdzdF9taXhtYXRyaXhfcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzogKGdzdF9zeXN0ZW1fZW5jb2RlX2luaXQpOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzogKGdzdF9tcGVnMnN1YnRfaW5pdCk6CgkgICogZ3N0L25zZi9nc3Ruc2YuYzogKGdzdF9uc2ZkZWNfaW5pdCk6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOiAoZ3N0X292ZXJsYXlfaW5pdCk6CgkgICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6IChwYXNzdGhyb3VnaF9pbml0KToKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOiAocGxheV9vbl9kZW1hbmRfaW5pdCk6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzogKGdzdF9zbW9vdGhfaW5pdCk6CgkgICogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOiAoZ3N0X3Ntb290aHdhdmVfaW5pdCk6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6IChzcGVlZF9pbml0KToKCSAgKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOiAoZ3N0X3ZiaWRlY19pbml0KToKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOiAoZ3N0X3ZpZGVvZHJvcF9pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOiAoZHhyM3NwdXNpbmtfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOiAoZHhyM3ZpZGVvc2lua19pbml0KToKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6IChnc3RfcWNhbXNyY19pbml0KToKCSAgRml4IGxlYWtzLgoKMjAwNy0wNi0yMSAxODo0MToxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFJlLWVuYWJsZSBWQ0Qgc291cmNlIGFuZCBmaXggdXAgcmVsZWFzZSBub3Rlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogUkVMRUFTRToKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgIFJlLWVuYWJsZSBWQ0Qgc291cmNlIGFuZCBmaXggdXAgcmVsZWFzZSBub3Rlcy4KCjIwMDctMDYtMjAgMTA6MTU6MDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IERvY3VtZW50IHBhcmFtZXRlciBtYXBwaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBEb2N1bWVudCBwYXJhbWV0ZXIgbWFwcGluZy4KCjIwMDctMDYtMjAgMDg6NTY6MTcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBGaXggbGVha2luZyBidWZmZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9ldmVudCksCgkgIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgRml4IGxlYWtpbmcgYnVmZmVycy4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOiAoc2V0dXBfc3BlY3RydW0pLAoJICAoY2xlYW51cF9zcGVjdHJ1bSksIChHU1RfU1RBUlRfVEVTVCksIChzcGVjdHJ1bV9zdWl0ZSksIChtYWluKToKCSAgQWRkIHNpbXBsZSB0ZXN0IGZvciBzcGVjdHJ1bSBlbGVtZW50LgoKMjAwNy0wNi0yMCAwODo0MjoxNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2FtcndiLzogQWRkIG5ld3NlZ21lbnQgYW5kIGRpc2NvbnQgaGFuZGxpbmcuIFNvbWUgY29kZSBjbGVhbnVwcy4gRG9uJ3QgbGVhayB0aGUgYWRhcHRlciwgdW5yZWYgaXQgaW4gYSBuZXcgZmluYWxpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOiAoZ3N0X2FtcndiZGVjX2Jhc2VfaW5pdCksCgkgIChnc3RfYW1yd2JkZWNfY2xhc3NfaW5pdCksIChnc3RfYW1yd2JkZWNfZmluYWxpemUpLAoJICAoZ3N0X2FtcndiZGVjX2V2ZW50KSwgKGdzdF9hbXJ3YmRlY19jaGFpbiksCgkgIChnc3RfYW1yd2JkZWNfc3RhdGVfY2hhbmdlKToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOiAoZ3N0X2FtcndicGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF9hbXJ3YnBhcnNlX3B1bGxfaGVhZGVyKSwgKGdzdF9hbXJ3YnBhcnNlX2xvb3ApOgoJICBBZGQgbmV3c2VnbWVudCBhbmQgZGlzY29udCBoYW5kbGluZy4gU29tZSBjb2RlIGNsZWFudXBzLiBEb24ndCBsZWFrCgkgIHRoZSBhZGFwdGVyLCB1bnJlZiBpdCBpbiBhIG5ldyBmaW5hbGl6ZSBtZXRob2QgaW5zdGVhZC4gU3luYyB0aGUKCSAgcGFyc2VyIHdpdGggdGhlIGFtci1uYiBjaGFuZ2VzLgoKMjAwNy0wNi0xOSAxMDo0NToyOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gQ1ZTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gQ1ZTLgoJICAqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJICBBZGQgMC4xMC41IHRvIHRoZSBkb2FwIGZpbGUuCgo9PT0gcmVsZWFzZSAwLjEwLjUgPT09CgoyMDA3LTA2LTE5IDEwOjMyOjM4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2xpbWFnZXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN3ZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgUmVsZWFzZSAwLjEwLjUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbGVhc2UgMC4xMC41CgoyMDA3LTA2LTE5IDA5OjM3OjQ2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDctMDYtMTUgMDk6Mjc6NTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgd2luMzIvdnM2LzogQ29udmVydCBsaW5lIGVuZGluZ3MgdG8gQ1JMRiBhbmQgbWFyayBhcyBiaW5hcnkgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3OgoJICAqIHdpbjMyL3ZzNi9saWJkc2hvd3NyY3dyYXBwZXIuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3Rkc2hvdy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdG1wZWd2aWRlb3BhcnNlLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bmVvbi5kc3A6CgkgIENvbnZlcnQgbGluZSBlbmRpbmdzIHRvIENSTEYgYW5kIG1hcmsgYXMgYmluYXJ5IGZpbGVzLgoKMjAwNy0wNi0xMyAxMTo0ODowNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy9NYWtlZmlsZS5hbTogRGlzYWJsZSBWQ0QgYnVpbGQgYmVjYXVzZSB3ZSdyZSBmcm96ZW4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgIERpc2FibGUgVkNEIGJ1aWxkIGJlY2F1c2Ugd2UncmUgZnJvemVuLi4KCjIwMDctMDYtMTMgMTE6Mzc6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBQb3J0IFZDRCBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy92Y2QvTWFrZWZpbGUuYW06CgkgICogc3lzL3ZjZC92Y2RzcmMuYzogKGdzdF92Y2RzcmNfc2V0dXBfaW50ZXJmYWNlcyksCgkgIChnc3RfdmNkc3JjX2Jhc2VfaW5pdCksIChnc3RfdmNkc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3ZjZHNyY19pbml0KSwKCSAgKGdzdF92Y2RzcmNfbXNmKSwgKGdzdF92Y2RzcmNfcmVjYWxjdWxhdGUpLAoJICAoZ3N0X3ZjZHNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3ZjZHNyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3ZjZHNyY19jcmVhdGUpLCAoZ3N0X3ZjZHNyY19zdGFydCksIChnc3RfdmNkc3JjX3N0b3ApLAoJICAoZ3N0X3ZjZHNyY191cmlfc2V0X3VyaSk6CgkgICogc3lzL3ZjZC92Y2RzcmMuaDoKCSAgUG9ydCBWQ0QgZWxlbWVudC4KCjIwMDctMDYtMTIgMjE6Mjg6MTIgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHdpbjMyL01BTklGRVNUOiBBZGQgbWVndmlkZW9wYXJzZSwgbGliZHNob3cgYW5kIGRzaG93c3Jjd3JhcHBlciB0byB3aW4zMgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIG1lZ3ZpZGVvcGFyc2UsIGxpYmRzaG93IGFuZCBkc2hvd3NyY3dyYXBwZXIgdG8gd2luMzIKCSAgTUFOSUZFU1QuCgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3c6CgkgIFJlbW92ZSBxdGRlbXV4LCBkaXJlY3RkcmF3LCBkaXJlY3Rzb3VuZCBhbmQgd2F2ZWZvcm0gcHJvamVjdCBmaWxlcwoJICBmcm9tIHRoZSB3b3Jrc3BhY2UgYXMgdGhleSBoYXZlIGJlZW4gbW92ZWQgdG8gLWdvb2QuCgoyMDA3LTA2LTEyIDIwOjIyOjIzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHBvL1BPVEZJTEVTLmluOiBSZW1vdmUgcXRkZW11eCBmcm9tIHRoZSB0cmFuc2xhdGlvbiBsaXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9QT1RGSUxFUy5pbjoKCSAgUmVtb3ZlIHF0ZGVtdXggZnJvbSB0aGUgdHJhbnNsYXRpb24gbGlzdC4KCjIwMDctMDYtMTIgMjA6MTU6MTQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTW92ZSB2aWRlb2Nyb3AgYW5kIG9zeHZpZGVvIHRvIC1nb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3N4dmlkZW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICAqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5oOgoJICAqIGdzdC92aWRlb2Nyb3AvdmlkZW9jcm9wLnZjcHJvajoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzoKCSAgTW92ZSB2aWRlb2Nyb3AgYW5kIG9zeHZpZGVvIHRvIC1nb29kLgoKMjAwNy0wNi0xMiAxOTozNjoxMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNb3ZlIHF0ZGVtdXggdG8gLWdvb2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXgudmNwcm9qOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuaDoKCSAgKiBnc3QvcXRkZW11eC9xdHBhbGV0dGUuaDoKCSAgKiBnc3QvcXRkZW11eC9xdWlja3RpbWUuYzoKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cXRkZW11eC5kc3A6CgkgIE1vdmUgcXRkZW11eCB0byAtZ29vZC4KCSAgKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB0byByZWZsZWN0IHdhdnBhY2sgJiBxdGRlbXV4IG1vdmluZyB0byAtZ29vZC4KCjIwMDctMDYtMTIgMTg6NTM6MDMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVtb3ZlIHRoZSB3YXZlZm9ybSBwbHVnaW4gbm93IHRoYXQgaXQgaXMgaW4gLWdvb2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVmb3JtLnhtbDoKCSAgKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1wbHVnaW4uYzoKCSAgKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkgICogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5oOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R3YXZlZm9ybS5kc3A6CgkgIFJlbW92ZSB0aGUgd2F2ZWZvcm0gcGx1Z2luIG5vdyB0aGF0IGl0IGlzIGluIC1nb29kLgoKMjAwNy0wNi0wOCAyMDoyMDozNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBNb3ZlIHdhdnBhY2sgdG8gZ29vZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2suYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3N0cmVhbXJlYWRlci5oOgoJICAqIGV4dC93YXZwYWNrL21kNS5jOgoJICAqIGV4dC93YXZwYWNrL21kNS5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6CgkgIE1vdmUgd2F2cGFjayB0byBnb29kLgoKMjAwNy0wNi0wOCAxNzozNjo0NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW1vdmUgRGlyZWN0RHJhdyAmIERpcmVjdFNvdW5kIHBsdWdpbnMsIGFzIHRoZXkndmUgbW92ZWQgdG8gR29vZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyZWN0ZHJhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmVjdHNvdW5kLnhtbDoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgKiB3aW4zMi9nc3Quc2xuOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3RkcmF3LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwOgoJICAqIHdpbjMyL3ZzNy9saWJnc3RkaXJlY3RkcmF3LnZjcHJvajoKCSAgKiB3aW4zMi92czcvbGliZ3N0ZGlyZWN0c291bmQudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3RkcmF3LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0c291bmQudmNwcm9qOgoJICBSZW1vdmUgRGlyZWN0RHJhdyAmIERpcmVjdFNvdW5kIHBsdWdpbnMsIGFzIHRoZXkndmUgbW92ZWQgdG8gR29vZAoKMjAwNy0wNi0wOCAxNjo0OTo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFdoZW4gZHJpdmluZyB0aGUgcGlwZWxpbmUsIGFsc28gcG9zdCBhbiBlcnJvciB3aGVuIHdlIGdldCBhIG5vdC1saW5rZWQgZmxvdyByZXR1cm4gZnJvbSBkb3duc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzogKGdzdF90aW1pZGl0eV9sb29wKToKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzogKGdzdF93aWxkbWlkaV9sb29wKToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX2xvb3ApOgoJICBXaGVuIGRyaXZpbmcgdGhlIHBpcGVsaW5lLCBhbHNvIHBvc3QgYW4gZXJyb3Igd2hlbiB3ZSBnZXQgYQoJICBub3QtbGlua2VkIGZsb3cgcmV0dXJuIGZyb20gZG93bnN0cmVhbS4KCjIwMDctMDYtMDggMTY6MzE6MTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVuYW1lIHRoZSBrZWVwLWFzcGVjdC1yYXRpbyBwcm9wZXJ0eSB0byBmb3JjZS1hc3BlY3QtcmF0aW8gdG8gbWFrZSBpdCBjb25zaXN0ZW50IHdpdGggeHZpbWFnZXNpbmsgYW5kIHhpbWFnZXNpbmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2NsYXNzX2luaXQpOgoJICBSZW5hbWUgdGhlIGtlZXAtYXNwZWN0LXJhdGlvIHByb3BlcnR5IHRvIGZvcmNlLWFzcGVjdC1yYXRpbyB0byBtYWtlCgkgIGl0IGNvbnNpc3RlbnQgd2l0aCB4dmltYWdlc2luayBhbmQgeGltYWdlc2luay4KCjIwMDctMDYtMDggMDg6MTI6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiBEZWZhdWx0IHRvIHh2aW1hZ2VzaW5rIGluc3RlYWQgb2YgYXV0b3ZpZGVvc2luayB3aGlsZSBhdXRvdmlkZW9zaW5rL2dob3N0cGFkcy93aGF0ZXZlciAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogKG1haW4pOgoJICBEZWZhdWx0IHRvIHh2aW1hZ2VzaW5rIGluc3RlYWQgb2YgYXV0b3ZpZGVvc2luayB3aGlsZQoJICBhdXRvdmlkZW9zaW5rL2dob3N0cGFkcy93aGF0ZXZlciBkb24ndCBoYW5kbGUgdGhlIHdheSB3ZSB1c2UgaXQgaW4KCSAgdGhlIHdheSB3ZSBleHBlY3QgaXQgdG8uCgoyMDA3LTA2LTA2IDE4OjMwOjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIHJlcXVpcmVtZW50cyB0byByZWxlYXNlZCB2ZXJzaW9ucyBvZiBjb3JlIGFuZCAtYmFzZSwgYW5kIHJlbW92ZSBzcGVjaWFsLWNhc2luZyBmb3IgZXF1YWxpemVyIGFuZCByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCByZXF1aXJlbWVudHMgdG8gcmVsZWFzZWQgdmVyc2lvbnMgb2YgY29yZSBhbmQgLWJhc2UsIGFuZCByZW1vdmUKCSAgc3BlY2lhbC1jYXNpbmcgZm9yIGVxdWFsaXplciBhbmQgcnRwbWFuYWdlciBhcyBpdCdzIG5vdCBuZWVkZWQgYW55CgkgIGxvbmdlci4KCjIwMDctMDYtMDYgMTU6NTg6MzEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL2dsc2luay9nbGltYWdlc2luay5jOiBTcHJpbmtsZSBpbiBzb21lIFhTeW5jIGNhbGxzIHRvIGF2b2lkIHJhY2luZXNzIHdpdGggYnJva2VuIGRyaXZlcnMgKEFUSSkgd2hlbiByZS11c2luZyBhIHNpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlX3Npbmtfc3RvcCksCgkgIChnc3RfZ2xpbWFnZV9zaW5rX2NyZWF0ZV93aW5kb3cpLCAoZ3N0X2dsaW1hZ2Vfc2lua19pbml0X2Rpc3BsYXkpOgoJICBTcHJpbmtsZSBpbiBzb21lIFhTeW5jIGNhbGxzIHRvIGF2b2lkIHJhY2luZXNzIHdpdGggYnJva2VuCgkgIGRyaXZlcnMgKEFUSSkgd2hlbiByZS11c2luZyBhIHNpbmdsZSBnbGltYWdlc2luay4KCjIwMDctMDYtMDYgMTE6MDM6MjQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L21wZWd2aWRlb3BhcnNlLzogRml4IHNvbWUgc2lsbHkgYnVncyB3aXRoIGNhbGN1bGF0aW5nIHRoZSBndWFyZCBzaXplcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkgIChtcGVnX3V0aWxfcGFyc2VfZXh0ZW5zaW9uX3BhY2tldCksIChtcGVnX3V0aWxfcGFyc2Vfc2VxdWVuY2VfaGRyKSwKCSAgKG1wZWdfdXRpbF9wYXJzZV9waWN0dXJlX2hkcik6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIChtcGVndmlkZW9wYXJzZV9oYW5kbGVfc2VxdWVuY2UpLCAobXBlZ3ZpZGVvcGFyc2VfZHJhaW5fYXZhaWwpOgoJICBGaXggc29tZSBzaWxseSBidWdzIHdpdGggY2FsY3VsYXRpbmcgdGhlIGd1YXJkIHNpemVzLgoJICBQcm9wZXJseSBjb21wYXJlIHRoZSBvbGQgc2VxdWVuY2UgaGVhZGVyIHN0cnVjdHVyZSB3aXRoIHRoZSBuZXcgb25lLgoJICBEb24ndCBlcnJvciBvdXQgb24gYW4gaW52YWxpZCBzZXF1ZW5jZSAtIGp1c3QgaWdub3JlIGl0LgoKMjAwNy0wNi0wNiAwOToxMTozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiBQcmludGYgZml4IGluIGRlYnVnIHN0YXRlbWVudDsgYWxzbyBwcmludCB0aGUgcmlnaHQgbnVtYmVyIHRoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKGdzdF9yZWFsX3ZpZGVvX2RlY19kZWNvZGUpOgoJICBQcmludGYgZml4IGluIGRlYnVnIHN0YXRlbWVudDsgYWxzbyBwcmludCB0aGUgcmlnaHQgbnVtYmVyIHRoZXJlLgoKMjAwNy0wNi0wNiAwODowNjo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zZGwvOiBBZGQgR1NUX0NGTEFHUywgd2hpY2ggYXBwYXJlbnRseSBzb21laG93IGZpeGVzIHRoZSBidWlsZCBzb21ld2hlcmUgKCM0NDQ0OTkpOyBpbml0aWFsaXNlIHZhcmlhYmxlIHRvIGF2b2lkIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IChnc3Rfc2Rsdl9wcm9jZXNzX2V2ZW50cyk6CgkgIEFkZCBHU1RfQ0ZMQUdTLCB3aGljaCBhcHBhcmVudGx5IHNvbWVob3cgZml4ZXMgdGhlIGJ1aWxkIHNvbWV3aGVyZQoJICAoIzQ0NDQ5OSk7IGluaXRpYWxpc2UgdmFyaWFibGUgdG8gYXZvaWQgZmFsc2UgY29tcGlsZXIgd2FybmluZy4KCjIwMDctMDYtMDUgMTQ6MTc6MzYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBmaXggdXAgc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggdXAgc3BlYyBmaWxlCgoyMDA3LTA2LTAxIDE0OjM2OjA0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgQWRkIHBsdWdpbiB0byBnZW5lcmF0ZSBhIHBhdHRlcm4gZGV0ZWN0YWJsZSBieSB2aWRlb2RldGVjdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6IChnc3RfdmlkZW9fbWFya19zZXRfY2FwcyksCgkgIChnc3RfdmlkZW9fbWFya19kcmF3X2JveCksIChnc3RfdmlkZW9fbWFya180MjApLAoJICAoZ3N0X3ZpZGVvX21hcmtfdHJhbnNmb3JtX2lwKSwgKGdzdF92aWRlb19tYXJrX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdmlkZW9fbWFya19nZXRfcHJvcGVydHkpLCAoZ3N0X3ZpZGVvX21hcmtfYmFzZV9pbml0KSwKCSAgKGdzdF92aWRlb19tYXJrX2NsYXNzX2luaXQpLCAoZ3N0X3ZpZGVvX21hcmtfaW5pdCksCgkgIChnc3RfdmlkZW9fbWFya19nZXRfdHlwZSk6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5oOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb3NpZ25hbC5jOiAocGx1Z2luX2luaXQpOgoJICBBZGQgcGx1Z2luIHRvIGdlbmVyYXRlIGEgcGF0dGVybiBkZXRlY3RhYmxlIGJ5IHZpZGVvZGV0ZWN0LgoKMjAwNy0wNi0wMSAxMTo1OTo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IERvbid0IGxlYWsgYnVmZmVyIHdoZW4gcmV0dXJuaW5nIGFuIGVycm9yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19jcmVhdGUpOgoJICBEb24ndCBsZWFrIGJ1ZmZlciB3aGVuIHJldHVybmluZyBhbiBlcnJvci4KCjIwMDctMDYtMDEgMDk6NTg6MDEgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy4qOiBEZXByZWNhdGVkICJ1cmkiIHByb3BlcnR5LiAgQ2xlYW4gdXAgcHJvcGVydHkgZGVzY3JpcHRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnkgUmVuw6kgU3RhZGxlciA8bWFpbCBhdCByZW5lc3RhZGxlciBkb3QgZGU+OgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X25lb25odHRwX3NyY19pbml0KSwgKGdzdF9uZW9uaHR0cF9zcmNfZGlzcG9zZSksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfbmVvbmh0dHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3N0YXJ0KSwgKGdzdF9uZW9uaHR0cF9zcmNfZG9fc2VlayksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3NldF9sb2NhdGlvbiksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3NlbmRfcmVxdWVzdF9hbmRfcmVkaXJlY3QpLAoJICAoZ3N0X25lb25odHRwX3NyY191cmlfZ2V0X3VyaSksIChnc3RfbmVvbmh0dHBfc3JjX3VyaV9zZXRfdXJpKToKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBEZXByZWNhdGVkICJ1cmkiIHByb3BlcnR5LiAgQ2xlYW4gdXAgcHJvcGVydHkgZGVzY3JpcHRpb25zLgoJICBDaGFuZ2UgZGVmYXVsdCBVc2VyLUFnZW50IHRvIHRoZSBzbGlnaHRseSBtb3JlIGRlc2NyaXB0aXZlCgkgICJHU3RyZWFtZXIgbmVvbmh0dHBzcmMiLgoJICBWYXJpb3VzIG90aGVyIHNtYWxsIGNsZWFudXBzLCBtb3N0bHkgcHJvcGVydHkgcmVsYXRlZC4KCjIwMDctMDUtMzEgMTk6MTI6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbGlibW1zL2dzdG1tcy5oOiBObyByZWFzb24gdG8gdXNlIGdwb2ludGVycyBpbnN0ZWFkIG9mIHR5cGVkIHBvaW50ZXMgaGVyZSBhcyBmYXIgYXMgSSBjYW4gc2VlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5oOgoJICBObyByZWFzb24gdG8gdXNlIGdwb2ludGVycyBpbnN0ZWFkIG9mIHR5cGVkIHBvaW50ZXMgaGVyZSBhcyBmYXIgYXMgSQoJICBjYW4gc2VlLgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJICBEb24ndCB1c2UgZ3RrLWRvYyBtYWdpYyBtYXJrZXJzIGZvciB0aGluZ3MgdGhhdCBhcmVuJ3QgbWVhbnQgdG8gYmUKCSAgcGFyc2VkIGJ5IGd0ay1kb2MuIE1ha2VzIGd0ay1kb2MgY29tcGxhaW4gYSBiaXQgbGVzcy4KCjIwMDctMDUtMzAgMTQ6NTI6MDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBBZGRlZCB2aWRlb3NpZ25hbCBwbHVnaW4gd2l0aCB0d28gcGx1Z2lucyB0byBhbmFseXNlIHZpZGVvIGZyYW1lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOiAoZ3N0X3ZpZGVvX2FuYWx5c2Vfc2V0X2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2FuYWx5c2VfcG9zdF9tZXNzYWdlKSwgKGdzdF92aWRlb19hbmFseXNlXzQyMCksCgkgIChnc3RfdmlkZW9fYW5hbHlzZV90cmFuc2Zvcm1faXApLCAoZ3N0X3ZpZGVvX2FuYWx5c2Vfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92aWRlb19hbmFseXNlX2dldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9fYW5hbHlzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2FuYWx5c2VfY2xhc3NfaW5pdCksIChnc3RfdmlkZW9fYW5hbHlzZV9pbml0KSwKCSAgKGdzdF92aWRlb19hbmFseXNlX2dldF90eXBlKToKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmg6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6IChnc3RfdmlkZW9fZGV0ZWN0X3NldF9jYXBzKSwKCSAgKGdzdF92aWRlb19kZXRlY3RfcG9zdF9tZXNzYWdlKSwKCSAgKGdzdF92aWRlb19kZXRlY3RfY2FsY19icmlnaHRuZXNzKSwgKGdzdF92aWRlb19kZXRlY3RfNDIwKSwKCSAgKGdzdF92aWRlb19kZXRlY3RfdHJhbnNmb3JtX2lwKSwgKGdzdF92aWRlb19kZXRlY3Rfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92aWRlb19kZXRlY3RfZ2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb19kZXRlY3RfYmFzZV9pbml0KSwKCSAgKGdzdF92aWRlb19kZXRlY3RfY2xhc3NfaW5pdCksIChnc3RfdmlkZW9fZGV0ZWN0X2luaXQpLAoJICAoZ3N0X3ZpZGVvX2RldGVjdF9nZXRfdHlwZSk6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0Lmg6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvc2lnbmFsLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvc2lnbmFsLmg6CgkgIEFkZGVkIHZpZGVvc2lnbmFsIHBsdWdpbiB3aXRoIHR3byBwbHVnaW5zIHRvIGFuYWx5c2UgdmlkZW8gZnJhbWVzLgoJICBBZGRlZCB2aWRlb2FuYWx5c2UgdG8gcmVwb3J0IGFib3V0IGJyaWdodG5lc3MgYW5kIHZhcmlhbmNlIGluIHZpZGVvCgkgIGZyYW1lcy4KCSAgQWRkZWQgdmlkZW9kZXRlY3QgdG8gZGV0ZWN0IHByZWRlZmluZWQgcGF0dGVybnMgaW4gYSB2aWRlbyBzaWduYWwuCgoyMDA3LTA1LTMwIDA5OjMwOjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLio6IE1vcmUgdXBkYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgTW9yZSB1cGRhdGVzLgoKMjAwNy0wNS0zMCAwOTowODoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IFVwZGF0ZXM7IHVwZGF0ZSBpbnNwZWN0IGluZm8gZm9yIHJ0cG1hbmFnZXIgPT4gZ3N0cnRwbWFuYWdlciByZW5hbWUsIGhvcGVmdWxseSB0aGF0IG1ha2VzIHRoZSBidWlsZCBiby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN3ZmRlYy54bWw6CgkgIFVwZGF0ZXM7IHVwZGF0ZSBpbnNwZWN0IGluZm8gZm9yIHJ0cG1hbmFnZXIgPT4gZ3N0cnRwbWFuYWdlciByZW5hbWUsCgkgIGhvcGVmdWxseSB0aGF0IG1ha2VzIHRoZSBidWlsZCBib3RzIGhhcHB5IGFnYWluLgoKMjAwNy0wNS0yOCAxNjozNzo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIFJlbmFtZSBlbGVtZW50cyB0byBhdm9pZCBjb25mbGljdCB3aXRoIGZhcnNpZ2h0IGVsZW1lbnRzIHdpdGggdGhlIHNhbWUgbmFtZS4gRml4ZXMgIzQzMDY2NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLCAoY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKGNyZWF0ZV9yZWN2X3J0cCksIChjcmVhdGVfcmVjdl9ydGNwKSwKCSAgKGNyZWF0ZV9zZW5kX3J0cCksIChjcmVhdGVfcnRjcCksIChnc3RfcnRwX2Jpbl9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOiAoY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRwX2NsaWVudF9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsZWFyX3B0X21hcCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgUmVuYW1lIGVsZW1lbnRzIHRvIGF2b2lkIGNvbmZsaWN0IHdpdGggZmFyc2lnaHQgZWxlbWVudHMgd2l0aCB0aGUgc2FtZQoJICBuYW1lLiBGaXhlcyAjNDMwNjY0LgoKMjAwNy0wNS0yNCAwODozNToyMyArMDAwMCAgVmluY2VudCBUb3JyaSA8dnRvcnJpQHVuaXYtZXZyeS5mcj4KCgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLio6IEZpeCBtb3JlIHdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHdpdGggTWluZ1cgKCM0Mzk5MTQpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFZpbmNlbnQgVG9ycmkgIDx2dG9ycmkgYXQgdW5pdi1ldnJ5IGZyPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19jaGVja19wcmltYXJ5X3N1cmZhY2UpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19jaGVja19vZmZzY3JlZW5fc3VyZmFjZSksCgkgIChFbnVtTW9kZXNDYWxsYmFjazIpLCAoZ3N0X2RpcmVjdGRyYXdfc2lua19nZXRfZGRyYXdjYXBzKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc3VyZmFjZV9jcmVhdGUpOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIEZpeCBtb3JlIHdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHdpdGggTWluZ1cgKCM0Mzk5MTQpLgoKMjAwNy0wNS0yMyAyMjo0NDoxMiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6IFJlbW92ZSBkaXJlY3Rzb3VuZHNpbmsgcHJvcGVydHkgZG9jIGFzIHRoaXMgc2luayB1c2UgdGhlIG1peGVyIGludGVyZmFjZSBub3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICBSZW1vdmUgZGlyZWN0c291bmRzaW5rIHByb3BlcnR5IGRvYyBhcyB0aGlzIHNpbmsgdXNlIHRoZSBtaXhlcgoJICBpbnRlcmZhY2Ugbm93LgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICBBZGQgaW50ZXJmYWNlcyBpbXBsZW1lbnRlZCBieSBXaW5kb3dzIHNpbmtzLgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgIFJlbW92ZSBkaXJlY3Rzb3VuZHNpbmsgcHJvcGVydHkgIGFuZCBpbXBsZW1lbnQgdGhlIG1peGVyIGludGVyZmFjZS4KCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwOgoJICBVcGRhdGUgcHJvamVjdCBmaWxlcy4KCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3cuY3BwOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvdy5oOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2Zha2VzaW5rLmNwcDoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dmYWtlc2luay5oOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2Zha2VzcmMuY3BwOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2Zha2VzcmMuaDoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dpbnRlcmZhY2UuY3BwOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2ludGVyZmFjZS5oOgoJICAqIHdpbjMyL2NvbW1vbi9saWJnc3Rkc2hvdy5kZWY6CgkgICogd2luMzIvdnM2L2xpYmdzdGRzaG93LmRzcDoKCSAgQWRkIGEgbmV3IGdzdCBsaWJyYXJ5IHdoaWNoIGFsbG93IHRvIGNyZWF0ZSBpbnRlcm5hbCBEaXJlY3QgU2hvdwoJICBncmFwaCAocGlwZWxpbmVzKSB0byB3cmFwIFdpbmRvd3Mgc291cmNlcywgZGVjb2RlcnMgb3IgZW5jb2RlcnMuCgkgIEl0IGluY2x1ZGVzIGEgRGlyZWN0U2hvdyBmYWtlIHNvdXJjZSBhbmQgc2luayBhbmQgdXRpbGl0eSBmdW5jdGlvbnMuCgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmM6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmg6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3NyY3dyYXBwZXIuYzoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93c3Jjd3JhcHBlci5oOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJICAqIHdpbjMyL3ZzNi9saWJkc2hvd3NyY3dyYXBwZXIuZHNwOgoJICBBZGQgYSBuZXcgcGx1Z2luIHRvIHdyYXAgRGlyZWN0U2hvdyBzb3VyY2VzIG9uIFdpbmRvd3MuCgkgIEl0IGdldHMgZGF0YSBmcm9tIGFueSB3ZWJjYW0sIGR2IGNhbSwgbWljcm8uIFdlIGNvdWxkIGFkZAoJICB0diB0dW5uZXIgY2FyZCBsYXRlci4KCjIwMDctMDUtMjMgMTg6MDA6MTUgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBleHQvc2RsL3NkbHZpZGVvc2luay5jOiBTZXBhcmF0ZSB0aGUgYXV0aG9ycyBieSBuZXdsaW5lcyBpbnN0ZWFkIG9mIG5vdGhpbmcuIEZpeGVzICM0NDA3NzQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieSBSZW7DqSBTdGFkbGVyIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRvdCBkZT46CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgU2VwYXJhdGUgdGhlIGF1dGhvcnMgYnkgbmV3bGluZXMgaW5zdGVhZCBvZiBub3RoaW5nLiBGaXhlcyAjNDQwNzc0LgoKMjAwNy0wNS0yMyAxNjoxNDoxMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDogQWRkIGRvYyB4bWwgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJICBBZGQgZG9jIHhtbCBmaWxlLgoKMjAwNy0wNS0yMyAxMzowODo1MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIERvY3VtZW50IHN0dWZmLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xlYXJfcHRfbWFwKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9jbGVhcl9wdF9tYXApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fY2xlYXJfcHRfbWFwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2xhc3NfaW5pdCk6CgkgIERvY3VtZW50IHN0dWZmLgoJICBBZGQgY2xlYXItcHQtbWFwIGFjdGlvbiBzaWduYWwgd2hlcmUgbmVlZGVkLgoKMjAwNy0wNS0yMiAxMToxNDoxMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjOiBEZXBlbmQgb24gZ3N0cmVhbWVyLTAuMTAuMTIuMS4gZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYyAoQVJHX0JBTkRfV0lEVEgsIF9kb19pbml0LCBBUkdfR0FJTiwgX0dzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRGVwZW5kIG9uIGdzdHJlYW1lci0wLjEwLjEyLjEuCgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYyAoQVJHX0JBTkRfV0lEVEgsIF9kb19pbml0LCBBUkdfR0FJTiwKCSAgX0dzdElpckVxdWFsaXplckJhbmQsIG9iamVjdCwgX0dzdElpckVxdWFsaXplckJhbmRDbGFzcywKCSAgcGFyZW50X2NsYXNzLCBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9jbGFzc19pbml0LCBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF90eXBlLAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRfYnlfaW5kZXgsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZHJlbl9jb3VudCwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfaW50ZXJmYWNlX2luaXQsIHNldHVwX2ZpbHRlciwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcywKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0X3Byb3BlcnR5LCBnc3RfaWlyX2VxdWFsaXplcl9nZXRfcHJvcGVydHksCgkgIHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5oIChhdWRpb2ZpbHRlcik6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYyAoQVJHX05VTV9CQU5EUywKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2Jhc2VfaW5pdCwgZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2luaXQsCgkgIGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19zZXRfcHJvcGVydHkpOgoJICBVc2UgbmV3IGxvY2tpbmcgbWFjcm9zLgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jIChicHdzaW5jX3NldF9jYXBzKToKCSAgQWRkIGZpeG1lLgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jIChTUEVDVFJVTV9XSU5ET1dfQkFTRSwKCSAgU1BFQ1RSVU1fV0lORE9XX0xFTiwgZ3N0X3NwZWN0cnVtX2luaXQsIGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHksCgkgIGdzdF9zcGVjdHJ1bV9ldmVudCwgZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIFVzZSBuZXcgbG9ja2luZyBtYWNyb3MuIFR1cm4gdHdvIGZpeGVkIHZhbHVlcyBpbnRvICNkZWZpbmVzLgoKMjAwNy0wNS0yMiAxMTowMzozMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogQWxzbyBsb29rIGZvciAubSAob2JqZWN0aXZlYykgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgQWxzbyBsb29rIGZvciAubSAob2JqZWN0aXZlYykgZmlsZXMuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBlbGVtZW50IGFuZCBwcm9wZXJ0aWVzLgoKMjAwNy0wNS0yMSAxNDowMToxNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQ2hhbmdlTG9nOiBDaGFuZ2VMb2cgc3VyZ2VyeS4gZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYyAoQVJHX0JBTkRfV0lEVEgsIF9kb19pbml0LCBBUkdfR0FJTiwgX0dzdElpckVxdWFsaXplckJhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIENoYW5nZUxvZzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnkuCgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYyAoQVJHX0JBTkRfV0lEVEgsIF9kb19pbml0LCBBUkdfR0FJTiwKCSAgX0dzdElpckVxdWFsaXplckJhbmQsIG9iamVjdCwgX0dzdElpckVxdWFsaXplckJhbmRDbGFzcywKCSAgcGFyZW50X2NsYXNzLCBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9jbGFzc19pbml0LCBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF90eXBlLAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRfYnlfaW5kZXgsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZHJlbl9jb3VudCwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfaW50ZXJmYWNlX2luaXQsIHNldHVwX2ZpbHRlciwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcywgcGx1Z2luX2luaXQpOgoJICAqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6CgkgIEFkZCBmaXhtZSBhbmQgY29tbWVudCBmb3IgZXhhbXBsZS4KCjIwMDctMDUtMjEgMTI6NDM6MzcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5LCBnc3Rfc3BlY3RydW1fZXZlbnQsIGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYyAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSwKCSAgZ3N0X3NwZWN0cnVtX2V2ZW50LCBnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgVXNlIGxvY2sgdG8gcHJvdGVjdCBmcm9tIGNvbmN1cnJlbnQgYWNjZXNzLgoKMjAwNy0wNS0yMSAxMTozNzoxNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiBTcGVjaWZ5IGFuZCB1c2UgcHJvcGVydGllcyBhcyB1bnNpZ25lZCBpbnQgdGhhdCBhcmUgYW4gdW5zaWduZWQgaW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF93YXZwYWNrX2VuY19nZXRfcHJvcGVydHkpOgoJICBTcGVjaWZ5IGFuZCB1c2UgcHJvcGVydGllcyBhcyB1bnNpZ25lZCBpbnQgdGhhdCBhcmUgYW4gdW5zaWduZWQgaW50LgoKMjAwNy0wNS0yMSAxMToxNzoyMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy4qOiBGaXh1cCBkb2NzLCBtYWtlIHRoZSBiaXRyYXRlIHByb3BlcnR5IGFuIGludCBhcyBpdCBzaG91bGQgYmUgYW5kIGFsbG93IHRvIHNldCB0aGUgZGlmZmVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3dhdnBhY2tfZW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICBGaXh1cCBkb2NzLCBtYWtlIHRoZSBiaXRyYXRlIHByb3BlcnR5IGFuIGludCBhcyBpdCBzaG91bGQgYmUgYW5kCgkgIGFsbG93IHRvIHNldCB0aGUgZGlmZmVyZW50IGV4dHJhIHByb2Nlc3NpbmcgbW9kZXMgaW5zdGVhZCBvZiBvbmx5CgkgIGFsbG93aW5nIG5vbmUgYW5kIHRoZSBkZWZhdWx0IG9uZS4KCjIwMDctMDUtMjAgMjE6MzE6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogQWRkIG1pc3NpbmcgYXVkaW9jb252ZXJ0cyBpbiB0aGUgZXhhbXBsZSBwaXBlbGluZXMgb2Ygd2F2cGFja2VuYy4gQXMgdGhlIHdhdnBhY2sgc3R1ZmYgbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgIEFkZCBtaXNzaW5nIGF1ZGlvY29udmVydHMgaW4gdGhlIGV4YW1wbGUgcGlwZWxpbmVzIG9mIHdhdnBhY2tlbmMuIEFzCgkgIHRoZSB3YXZwYWNrIHN0dWZmIG5vdyBuZWVkcyBpbnB1dCB3aXRoIDMyIGJpdCB3aWR0aCAoYW5kIHJhbmRvbSBkZXB0aCkKCSAgdGhpcyBpcyBuZWVkZWQgbm93LiBUaGUgZXhhbXBsZSBwaXBlbGluZXMgZm9yIHRoZSBwYXJzZXIgYW5kIGRlY29kZXIKCSAgYXJlIHN0aWxsIGZpbmUuCgoyMDA3LTA1LTIwIDE1OjEyOjMxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGRvY3MvcGx1Z2lucy86IEZpeCBkb2NzIGJ1aWxkIGFuZCBoaWVyYXJjaHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICBGaXggZG9jcyBidWlsZCBhbmQgaGllcmFyY2h5LgoKMjAwNy0wNS0yMCAxNDo1OTo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IEJ1bmNoIG9mIHNtYWxsIGZpeGVzOiByZW1vdmUgc3RhdGljIGZ1bmN0aW9uIHRoYXQgZG9lc24ndCBleGlzdDsgZGVjbGFyZSBhbm90aGVyIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiAoZ3N0X2RkcmF3c3VyZmFjZV9maW5hbGl6ZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2dldF9kZHJhd2NhcHMpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zdXJmYWNlX2NyZWF0ZSk6CgkgIEJ1bmNoIG9mIHNtYWxsIGZpeGVzOiByZW1vdmUgc3RhdGljIGZ1bmN0aW9uIHRoYXQgZG9lc24ndCBleGlzdDsKCSAgZGVjbGFyZSBhbm90aGVyIG9uZSB0aGF0IGRvZXM7IHByaW50ZiBmb3JtYXQgZml4OyB1c2UgcmlnaHQgbWFjcm8KCSAgd2hlbiBzcGVjaWZ5aW5nIGRlYnVnIGNhdGVnb3J5OyByZW1vdmUgYSBidW5jaCBvZiB1bnVzZWQgdmFyaWFibGVzOwoJICAjaWYgMCBvdXQgYW4gdW51c2VkIGNodW5rIG9mIGNvZGUgKHBhcnRpYWxseSBmaXhlcyAjNDM5OTE0KS4KCjIwMDctMDUtMjAgMTQ6MTQ6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBQcmludGYgZm9ybWF0IGZpeGVzICgjNDM5OTEwLCAjNDM5OTExKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSk6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzogKGdzdF9zd2l0Y2hfY2hhaW4pOgoJICBQcmludGYgZm9ybWF0IGZpeGVzICgjNDM5OTEwLCAjNDM5OTExKS4KCjIwMDctMDUtMTkgMTA6MDY6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogUmVtb3ZlIGJpdHMgZm9yIGRlaW50ZXJsZWF2ZSBjaGVjayB3aGljaCBpc24ndCBpbiBDVlMgeWV0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIGJpdHMgZm9yIGRlaW50ZXJsZWF2ZSBjaGVjayB3aGljaCBpc24ndCBpbiBDVlMgeWV0LgoKMjAwNy0wNS0xOSAxMDowMTo0NSArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIEFkZCByZXBsYXlnYWluIHBsYXliYWNrIGVsZW1lbnRzICgjNDEyNzEwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRlPgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzogKGdzdF9yZ19hbmFseXNpc19jbGFzc19pbml0KSwKCSAgKGdzdF9yZ19hbmFseXNpc19zdGFydCksIChnc3RfcmdfYW5hbHlzaXNfc2V0X2NhcHMpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3RyYW5zZm9ybV9pcCksIChnc3RfcmdfYW5hbHlzaXNfZXZlbnQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3N0b3ApLCAoZ3N0X3JnX2FuYWx5c2lzX2hhbmRsZV90YWdzKSwKCSAgKGdzdF9yZ19hbmFseXNpc19oYW5kbGVfZW9zKSwgKGdzdF9yZ19hbmFseXNpc190cmFja19yZXN1bHQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX2FsYnVtX3Jlc3VsdCk6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5oOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jOiAoZ3N0X3JnX2xpbWl0ZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9yZ19saW1pdGVyX2NsYXNzX2luaXQpLCAoZ3N0X3JnX2xpbWl0ZXJfaW5pdCksCgkgIChnc3RfcmdfbGltaXRlcl9zZXRfcHJvcGVydHkpLCAoZ3N0X3JnX2xpbWl0ZXJfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9yZ19saW1pdGVyX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzogKGdzdF9yZ192b2x1bWVfYmFzZV9pbml0KSwKCSAgKGdzdF9yZ192b2x1bWVfY2xhc3NfaW5pdCksIChnc3Rfcmdfdm9sdW1lX2luaXQpLAoJICAoZ3N0X3JnX3ZvbHVtZV9zZXRfcHJvcGVydHkpLCAoZ3N0X3JnX3ZvbHVtZV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3JnX3ZvbHVtZV9kaXNwb3NlKSwgKGdzdF9yZ192b2x1bWVfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9yZ192b2x1bWVfc2lua19ldmVudCksIChnc3Rfcmdfdm9sdW1lX3RhZ19ldmVudCksCgkgIChnc3Rfcmdfdm9sdW1lX3Jlc2V0KSwgKGdzdF9yZ192b2x1bWVfdXBkYXRlX2dhaW4pLAoJICAoZ3N0X3JnX3ZvbHVtZV9kZXRlcm1pbmVfZ2Fpbik6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuaDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZXBsYXlnYWluLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3JlcGxheWdhaW4vcmVwbGF5Z2Fpbi5oOgoJICAqIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKHNlbmRfZW9zX2V2ZW50KSwKCSAgKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzogKHNldHVwX3JnbGltaXRlciksCgkgIChjbGVhbnVwX3JnbGltaXRlciksIChzZXRfcGxheWluZ19zdGF0ZSksIChjcmVhdGVfdGVzdF9idWZmZXIpLAoJICAodmVyaWZ5X3Rlc3RfYnVmZmVyKSwgKEdTVF9TVEFSVF9URVNUKSwgKHJnbGltaXRlcl9zdWl0ZSksIChtYWluKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOiAoZXZlbnRfZnVuYyksIChzZXR1cF9yZ3ZvbHVtZSksCgkgIChjbGVhbnVwX3Jndm9sdW1lKSwgKHNldF9wbGF5aW5nX3N0YXRlKSwgKHNldF9udWxsX3N0YXRlKSwKCSAgKHNlbmRfZW9zX2V2ZW50KSwgKHNlbmRfdGFnX2V2ZW50KSwgKHRlc3RfYnVmZmVyX25ldyksCgkgIChmYWlsX3VubGVzc190YXJnZXRfZ2FpbiksIChmYWlsX3VubGVzc19yZXN1bHRfZ2FpbiksCgkgIChmYWlsX3VubGVzc19nYWluKSwgKEdTVF9TVEFSVF9URVNUKSwgKHJndm9sdW1lX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgcmVwbGF5Z2FpbiBwbGF5YmFjayBlbGVtZW50cyAoIzQxMjcxMCkuCgoyMDA3LTA1LTE4IDE2OjQ1OjU0ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUKCjIwMDctMDUtMTggMTI6Mzk6NDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL2dsc2luay9nbGltYWdlc2luay5jOiBVcGRhdGUgdGhlIGNhY2hlZCBjYXBzIGFmdGVyIG9wZW5pbmcgdGhlIGRpc3BsYXkgc28gdGhhdCB3ZSByZXBvcnQgb25seSB0aGUgc3VwcG9ydGVkIGNhcHMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlX3NpbmtfaW5pdF9kaXNwbGF5KToKCSAgVXBkYXRlIHRoZSBjYWNoZWQgY2FwcyBhZnRlciBvcGVuaW5nIHRoZSBkaXNwbGF5IHNvIHRoYXQgd2UgcmVwb3J0CgkgIG9ubHkgdGhlIHN1cHBvcnRlZCBjYXBzIGZvcm1hdHMsIG5vdCBqdXN0IHRoZSB0ZW1wbGF0ZSBjYXBzLgoJICBGaXhlczogIzQzOTQwNQoKMjAwNy0wNS0xOCAwOTozNToyOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzoKCSogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jIChnc3RfYW1yd2JkZWNfZGVidWcsIEdTVF9DQVRfREVGQVVMVCwgX2RvX2luaXQsIGdzdF9hbXJ3YmRlY19iYXNlX2luaXQsIGdzdF9hbXJ3YmRlY19jbGFzc19pbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYyAoZ3N0X2FtcndiZGVjX2RlYnVnLCBHU1RfQ0FUX0RFRkFVTFQsCgkgIF9kb19pbml0LCBnc3RfYW1yd2JkZWNfYmFzZV9pbml0LCBnc3RfYW1yd2JkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmMgKGdzdF9hbXJ3YmVuY19kZWJ1ZywgR1NUX0NBVF9ERUZBVUxULAoJICBfZG9faW5pdCwgZ3N0X2FtcndiZW5jX2Jhc2VfaW5pdCwgZ3N0X2FtcndiZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmMgKGdzdF9hbXJ3YnBhcnNlX2RlYnVnLCBHU1RfQ0FUX0RFRkFVTFQsCgkgIF9kb19pbml0LCBnc3RfYW1yd2JwYXJzZV9iYXNlX2luaXQsIGdzdF9hbXJ3YnBhcnNlX2NsYXNzX2luaXQpOgoJICBGaXJzdCByb3VuZCBvZiBjbGVhbnVwcywgdGhhdCB1c2UgR1NUX0JPSUxFUlBMQVRFLCBHU1RfRUxFTUVOVF9ERVRBSUxTLAoJICBHU1RfREVCVUdfRlVOQ1BUUiBhbmQgYWRkIGxvZy1jYXRlZ29yeS4KCjIwMDctMDUtMTcgMTA6NTk6MDAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLio6IFJlbW92ZSB0aGUgZXZlbnQtbG9vcC1pbi1zZXBhcmF0ZS10aHJlYWQgbW9kaWZpY2F0aW9ucywgYmVjYXVzZSBNYWNPU1ggaXMgJCNAKColJCMgISBGb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgUmVtb3ZlIHRoZSBldmVudC1sb29wLWluLXNlcGFyYXRlLXRocmVhZCBtb2RpZmljYXRpb25zLCBiZWNhdXNlIE1hY09TWAoJICBpcyAkI0AoKiUkIyAhIEZvciB0aG9zZSB3b25kZXJpbmcsIHRoZSBldmVudCBoYW5kbGluZyBuZWVkcyB0byBiZSBkb25lCgkgIGluIHRoZSBtYWluIHRocmVhZCBhZnRlciBhbGwuLgoKMjAwNy0wNS0xNyAxMDowODoyNCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaDoKCSAgZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoQVJHXzAsIEFSR19OQl9TT1VSQ0VTLCBBUkdfQUNUSVZFX1NPVVJDRSwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoQVJHXzAsIEFSR19OQl9TT1VSQ0VTLCBBUkdfQUNUSVZFX1NPVVJDRSwKCSAgQVJHX1NUQVJUX1ZBTFVFLCBBUkdfU1RPUF9WQUxVRSwgQVJHX0xBU1RfVFMsIEFSR19RVUVVRV9CVUZGRVJTLAoJICBwYXJlbnRfY2xhc3MsIGdzdF9zd2l0Y2hfcmVsZWFzZV9wYWQsIGdzdF9zd2l0Y2hfcmVxdWVzdF9uZXdfcGFkLAoJICBnc3Rfc3dpdGNoX2NoYWluLCBnc3Rfc3dpdGNoX2V2ZW50LCBnc3Rfc3dpdGNoX3NldF9wcm9wZXJ0eSwKCSAgZ3N0X3N3aXRjaF9nZXRfcHJvcGVydHksIGdzdF9zd2l0Y2hfZ2V0Y2FwcywgZ3N0X3N3aXRjaF9kaXNwb3NlLAoJICB1bnJlZl9idWZmZXIsIHVucmVmX2J1ZmZlcnNfYW5kX2Rlc3Ryb3lfbGlzdCwgZ3N0X3N3aXRjaF9pbml0LAoJICBnc3Rfc3dpdGNoX2Jhc2VfaW5pdCwgZ3N0X3N3aXRjaF9jbGFzc19pbml0KToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oIChuZWVkX3RvX3NlbmRfbmV3c2VnbWVudCwgcXVldWVfYnVmZmVycywKCSAgc3RvcF92YWx1ZSwgc3RhcnRfdmFsdWUsIGN1cnJlbnRfc3RhcnQsIGxhc3RfdHMsIHN0b3JlZF9idWZmZXJzKToKCSAgQWRkIGhhbmRsaW5nIG9mIGFwcGxpY2F0aW9uIHByb3ZpZGVkIHN0b3AgYW5kIHN0YXJ0IHZhbHVlcywgYWxsb3dpbmcKCSAgQS9WIHN5bmMgYWNyb3NzIDIgc3dpdGNoIGVsZW1lbnRzLgoKMjAwNy0wNS0xNyAwOTo0MTo0OCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuKjogRml4IGEgc3R1cGlkICNpZiB2cyAjaWZkZWYgYnVnLiBTaG91bGQgdXNlIHRoZSBwcm9wZXIgY29sb3JzcGFjZSBub3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIEZpeCBhIHN0dXBpZCAjaWYgdnMgI2lmZGVmIGJ1Zy4gU2hvdWxkIHVzZSB0aGUgcHJvcGVyIGNvbG9yc3BhY2Ugbm93LgoJICBVc2UgYSBzZXBhcmF0ZSB0aHJlYWQvdGFzayBmb3IgdGhlIGNvY29hIGV2ZW50X2xvb3AsIGVsc2UgaXQgd291bGRuJ3QKCSAgc3RvcC4KCjIwMDctMDUtMTYgMTc6MTQ6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcmVhbC86IERvbid0IGNyYXNoIHdoZW4gd2UgZ2V0IGEgYnVmZmVyIGFuZCBvdXIgaW5wdXQgY2FwcyBoYXZlbid0IGJlZW4gc2V0IHlldDsgYWxzbywgZG9uJ3QgbGVhayBhbGwgdGhlIGlucHV0IGIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IChnc3RfcmVhbF9hdWRpb19kZWNfY2hhaW4pLAoJICAoZ3N0X3JlYWxfYXVkaW9fZGVjX3NldGNhcHMpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAoZ3N0X3JlYWxfdmlkZW9fZGVjX2NoYWluKToKCSAgRG9uJ3QgY3Jhc2ggd2hlbiB3ZSBnZXQgYSBidWZmZXIgYW5kIG91ciBpbnB1dCBjYXBzIGhhdmVuJ3QgYmVlbiBzZXQKCSAgeWV0OyBhbHNvLCBkb24ndCBsZWFrIGFsbCB0aGUgaW5wdXQgYnVmZmVycyAocmVhbGF1ZGlvZGVjIG9ubHkpLgoKMjAwNy0wNS0xNiAxMzo1MDo1MSArMDAwMCAgU3RhbmlzbGF2IEJyYWJlYyA8c2JyYWJlY0BzdXNlLmN6PgoKCSAgVXNlIGV4dGVybmFsIHNoYXJlZCBsaWJhbXJ3Yi4gRml4ZXMgIzQyMzc0MSAod2l0aCBsb3RzIG9mIGNsZWFudXApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IFN0YW5pc2xhdiBCcmFiZWMgPHNicmFiZWNAc3VzZS5jej4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2FtcndiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJ3Yi9hbXJ3Yi1jb2RlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJ3Yi9hbXJ3Yi1jb2RlL2FtcndiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJ3Yi9hbXJ3Yi1jb2RlL2FtcndiL1JFQURNRToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuaCAoX19HU1RfQU1SV0JERUNfSF9fKToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuaCAoX19HU1RfQU1SV0JFTkNfSF9fKToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmggKF9fR1NUX0FNUldCUEFSU0VfSF9fKToKCSAgKiBnc3QtbGlicy9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9leHQvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZXh0L2FtcndiL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2V4dC9hbXJ3Yi9SRUFETUU6CgkgIFVzZSBleHRlcm5hbCBzaGFyZWQgbGliYW1yd2IuIEZpeGVzICM0MjM3NDEgKHdpdGggbG90cyBvZiBjbGVhbnVwKS4KCjIwMDctMDUtMTUgMjE6MjM6NTMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC94MjY0L2dzdHgyNjRlbmMuYyAoZ3N0X3gyNjRfZW5jX2luaXRfZW5jb2Rlcik6IFRoaXMgbmVlZHMgYSB2ZXJzaW9uIGNoZWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmMgKGdzdF94MjY0X2VuY19pbml0X2VuY29kZXIpOgoJICBUaGlzIG5lZWRzIGEgdmVyc2lvbiBjaGVjay4KCSAgKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkgIEZpeCB0aGUgYnVpbGQuCgoyMDA3LTA1LTE1IDE3OjIyOjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQWRkIERJUkVDVERSQVdfQ0ZMQUdTIGFuZCBESVJFQ1RTT1VORF9DRkxBR1MgdG8gTWFrZWZpbGUuYW07IHNhdmUgYW5kIHJlc3RvcmUgdGhlIHZhcmlvdXMgZmxhZ3MgaW4gdGhlIGRpcmVjdGRyYXcvZGlyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkgIEFkZCBESVJFQ1REUkFXX0NGTEFHUyBhbmQgRElSRUNUU09VTkRfQ0ZMQUdTIHRvIE1ha2VmaWxlLmFtOyBzYXZlCgkgIGFuZCByZXN0b3JlIHRoZSB2YXJpb3VzIGZsYWdzIGluIHRoZSBkaXJlY3RkcmF3L2RpcmVjdHNvdW5kCgkgIGRldGVjdGlvbiBzZWN0aW9uLiBBcHBhcmVudGx5IGltcHJvdmVzIGNyb3NzLWNvbXBpbGluZyBmb3Igd2luMzIKCSAgd2l0aCBtaW5ndzMyIHVuZGVyIHNvbWUgY2lyY3Vtc3RhbmNlcyAoIzQzNzUzOSkuCgoyMDA3LTA1LTE1IDEzOjI5OjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiBXZSBhbHdheXMgdXNlIGZpeGVkIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pOgoJICBXZSBhbHdheXMgdXNlIGZpeGVkIGNhcHMuCgoyMDA3LTA1LTE1IDAzOjQ1OjQ1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBnX2hhc2hfdGFibGVfcmVtb3ZlX2FsbCgpIG9ubHkgZXhpc3RzIGluIDIuMTIuICBXb3JrIGFyb3VuZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIGdfaGFzaF90YWJsZV9yZW1vdmVfYWxsKCkgb25seSBleGlzdHMgaW4gMi4xMi4gIFdvcmsgYXJvdW5kLgoKMjAwNy0wNS0xNSAwMjo1NDo1MiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBBZGQgYSBCYXllci10by1SR0IgY29udmVydGVyLiAgWW91IGtub3cgeW91IHdhbnQgb25lLCB1aC1odWguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2JheWVyL2dzdGJheWVyLmM6CgkgICogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICBBZGQgYSBCYXllci10by1SR0IgY29udmVydGVyLiAgWW91IGtub3cgeW91IHdhbnQgb25lLCB1aC1odWguCgkgIFBhcnRpYWwgZml4IGZvciAjMzE0MTYwLgoKMjAwNy0wNS0xNCAxODowMzo1OCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaDoKCSAgZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoQVJHX0FDVElWRV9TT1VSQ0UsIEFSR19TVE9QX1ZBTFVFLAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChBUkdfQUNUSVZFX1NPVVJDRSwgQVJHX1NUT1BfVkFMVUUsCgkgIEFSR19MQVNUX1RTLCBwYXJlbnRfY2xhc3MsIGdzdF9zd2l0Y2hfcmVsZWFzZV9wYWQsCgkgIGdzdF9zd2l0Y2hfcmVxdWVzdF9uZXdfcGFkLCBnc3Rfc3dpdGNoX2NoYWluLCBnc3Rfc3dpdGNoX2V2ZW50LAoJICBnc3Rfc3dpdGNoX3NldF9wcm9wZXJ0eSwgZ3N0X3N3aXRjaF9nZXRfcHJvcGVydHksIGdzdF9zd2l0Y2hfZ2V0Y2FwcywKCSAgZ3N0X3N3aXRjaF9kaXNwb3NlLCBnc3Rfc3dpdGNoX2luaXQsIGdzdF9zd2l0Y2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaCAocHJldmlvdXNfc2lua3BhZCwgbmJfc2lua3BhZHMsIHN0b3BfdmFsdWUsCgkgIGN1cnJlbnRfc3RhcnQsIGxhc3RfdHMpOgoJICBBbGxvdyBhcHBsaWNhdGlvbiB0byBwcm92aWRlIGEgc3RvcCB0aW1lc3RhbXAsIHNvIGEgbmV3IHNlZ21lbnQKCSAgdXBkYXRlIGNhbiBiZSBzZW50IGJlZm9yZSBzd2l0Y2hpbmcuCgoyMDA3LTA1LTE0IDE1OjI4OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6IEZpeCBsZWFrIHdoZW4gZmx1c2hpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOgoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3NldF9mbHVzaGluZ191bmxvY2tlZCk6CgkgIEZpeCBsZWFrIHdoZW4gZmx1c2hpbmcuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9jbGVhcl9wdF9tYXApLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIEFkZCBjbGVhci1wdC1tYXAgc2lnbmFsLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NpbmtfZXZlbnQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBJbml0IGNsb2NrLXJhdGUgdG8gLTEgdG8gbWFyayB1bmtub3cgY2xvY2sgcmF0ZS4KCSAgRml4IGZsdXNoaW5nLgoKMjAwNy0wNS0xMyAxOTo1Nzo0NSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmM6IEZpeCB3cm9uZyBpZmRlZiBmb3IgdmlzdWFsIEMrKy4gIEZpeGVzOiAjNDM3NDAzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmM6CgkgIEZpeCB3cm9uZyBpZmRlZiBmb3IgdmlzdWFsIEMrKy4gIEZpeGVzOiAjNDM3NDAzLgoJICBCeSBBbGkgU2FiaWwgPGFsaS5zYWJpbEBnbWFpbC5jb20+LgoKMjAwNy0wNS0xMyAwNzowODowNiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiBNYWtlIHJlZGlyZWN0aW9uIHRoZSBkZWZhdWx0IGJlaGF2aW9yLiAgRml4ZXMgIzQxMzgxOC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgTWFrZSByZWRpcmVjdGlvbiB0aGUgZGVmYXVsdCBiZWhhdmlvci4gIEZpeGVzICM0MTM4MTguCgoyMDA3LTA1LTExIDExOjIwOjMzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIGxhdGVzdCBwbHVnaW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBsYXRlc3QgcGx1Z2luCgoyMDA3LTA1LTEwIDE0OjAyOjA3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmMgKGdzdF9xdGRlbXV4X21vdmVfc3RyZWFtLCBnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciwgZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCwgZ3N0X3F0ZGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jIChnc3RfcXRkZW11eF9tb3ZlX3N0cmVhbSwKCSAgZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIsIGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQsCgkgIGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUsIGdzdF9xdGRlbXV4X2NvbWJpbmVfZmxvd3MsCgkgIGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUsIGdzdF9xdGRlbXV4X2xvb3AsCgkgIHF0ZGVtdXhfcGFyc2Vfc2VnbWVudHMsIHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jIChydHBfc2Vzc2lvbl9nZXRfYmFuZHdpZHRoLAoJICBydHBfc2Vzc2lvbl9nZXRfcnRjcF9iYW5kd2lkdGgsIHJ0cF9zZXNzaW9uX2dldF9jbmFtZSwKCSAgcnRwX3Nlc3Npb25fZ2V0X25hbWUsIHJ0cF9zZXNzaW9uX2dldF9lbWFpbCwgcnRwX3Nlc3Npb25fZ2V0X3Bob25lLAoJICBydHBfc2Vzc2lvbl9nZXRfbG9jYXRpb24sIHJ0cF9zZXNzaW9uX2dldF90b29sLAoJICBydHBfc2Vzc2lvbl9wcm9jZXNzX2J5ZSwgc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYyAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCwKCSAgcnRwX3NvdXJjZV9zZW5kX3J0cCwgcnRwX3NvdXJjZV9wcm9jZXNzX3NyLCBydHBfc291cmNlX3Byb2Nlc3NfcmIpOgoJICBNb3JlIGZvcm1hdCBhcmcgZml4aW5nIChzcG90dGVkIGJ5IEFsaSBTYWJpbCA8YWxpLnNhYmlsQGdtYWlsLmNvbT4pLgoJICAqIGdzdC9zd2l0Y2gvTWFrZWZpbGUuYW06CgkgIEFkZCByZXF1aXJlIGxpYnJhcmllcyhzcG90dGVkIGJ5IEFsaSBTYWJpbCA8YWxpLnNhYmlsQGdtYWlsLmNvbT4pLgoKMjAwNy0wNS0xMCAxMjozODo0OSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOgoJICBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYyAodGFpbF9idWZmZXJfZHVyYXRpb24sIGFzeW5jX2ppdHRlcl9xdWV1ZV9yZWYsIGFzeW5jX2ppdHRlcl9xdWV1ZV9yZWZfdW5sb2NrZWQsIGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmMgKHRhaWxfYnVmZmVyX2R1cmF0aW9uLAoJICBhc3luY19qaXR0ZXJfcXVldWVfcmVmLCBhc3luY19qaXR0ZXJfcXVldWVfcmVmX3VubG9ja2VkLAoJICBhc3luY19qaXR0ZXJfcXVldWVfc2V0X2xvd190aHJlc2hvbGQsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9sZW5ndGhfdHNfdW5pdHNfdW5sb2NrZWQsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV91bnJlZl9hbmRfdW5sb2NrLCBhc3luY19qaXR0ZXJfcXVldWVfdW5yZWYsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9sb2NrLCBhc3luY19qaXR0ZXJfcXVldWVfcHVzaCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2hfdW5sb2NrZWQsIGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoX3NvcnRlZCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3BvcF9pbnRlcm5fdW5sb2NrZWQsIGFzeW5jX2ppdHRlcl9xdWV1ZV9wb3AsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9wb3BfdW5sb2NrZWQsIGFzeW5jX2ppdHRlcl9xdWV1ZV9sZW5ndGhfdW5sb2NrZWQsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfZmx1c2hpbmdfdW5sb2NrZWQsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV91bnNldF9mbHVzaGluZ191bmxvY2tlZCk6CgkgIEZvcm1hdCBhcmcgZml4IChzcG90dGVkIGJ5IEFsaSBTYWJpbCA8YWxpLnNhYmlsQGdtYWlsLmNvbT4pCgoyMDA3LTA1LTEwIDA3OjQxOjQ3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb21tb24vbTQvZ3N0LXgxMS5tNDogUmVzdG9yZSBDRkxBR1MgYW5kIExJQlMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbW1vbi9tNC9nc3QteDExLm00OgoJICBSZXN0b3JlIENGTEFHUyBhbmQgTElCUy4KCSAgKiBjb25maWd1cmUuYWM6CgkgIFJldmVydCBwcmV2aW91cyBwYXRjaC4KCjIwMDctMDUtMTAgMDY6MzU6MzEgKzAwMDAgIEFsaSBTYWJpbCA8YWxpLnNhYmlsQGdtYWlsLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogU2F2ZSBhbmQgcmVzdG9yZSBDRkxBR1MgZm9yIE9wZW5HTCBjaGVjay4gRml4ZXMgIzQzNzI2MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbGkgU2FiaWwgPGFsaS5zYWJpbEBnbWFpbC5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICBTYXZlIGFuZCByZXN0b3JlIENGTEFHUyBmb3IgT3BlbkdMIGNoZWNrLiBGaXhlcyAjNDM3MjYwLgoKMjAwNy0wNS0wOSAyMDowMToyMSArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6IEFkZCBkaXJlY3RyYXcgYW5kIGRpcmVjdHNvdW5kIHNpbmtzIHByb3BlcnRpZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICBBZGQgZGlyZWN0cmF3IGFuZCBkaXJlY3Rzb3VuZCBzaW5rcyBwcm9wZXJ0aWVzLgoKMjAwNy0wNS0wOSAxNzo1ODowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IC0tZGlzYWJsZS1leHRlcm5hbCAoaG9wZWZ1bGx5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggLS1kaXNhYmxlLWV4dGVybmFsIChob3BlZnVsbHkpLgoKMjAwNy0wNS0wOSAxMToyNDoyMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBQYXNzIHF1ZXJpZXMgdXBzdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KToKCSAgUGFzcyBxdWVyaWVzIHVwc3RyZWFtLgoKMjAwNy0wNS0wNiAxNToyNTowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9yZWFsLzogVXNlIEdNb2R1bGUgaW5zdGVhZCBvZiB1c2luZyBkbHN5bSgpIGRpcmVjdGx5LiBGaXhlcyAjNDMwNTk4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogKGdzdF9yZWFsX2F1ZGlvX2RlY19zZXRjYXBzKSwKCSAgKGdzdF9yZWFsX2F1ZGlvX2RlY19maW5hbGl6ZSk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmg6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChvcGVuX2xpYnJhcnkpLCAoY2xvc2VfbGlicmFyeSk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmg6CgkgIFVzZSBHTW9kdWxlIGluc3RlYWQgb2YgdXNpbmcgZGxzeW0oKSBkaXJlY3RseS4gRml4ZXMgIzQzMDU5OC4KCjIwMDctMDUtMDQgMjE6MDI6NTggKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCBkb2NzIGZvciBXaW5kb3dzIHNpbmtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgQWRkIGRvY3MgZm9yIFdpbmRvd3Mgc2lua3MuCgoyMDA3LTA1LTA0IDE3OjIwOjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3NwZWVkL2dzdHNwZWVkLmM6IEZpeCBldmVudCBoYW5kbGluZyBhIGJpdCBieSByZXBsYWNpbmcgY29tcGxldGVseSBkdWJpb3VzIGNvZGUgd3JpdHRlbiBieSBzb21lb25lIGVsc2Ugd2l0aCBjb21wLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOiAoc3BlZWRfc3JjX2V2ZW50KSwgKHNwZWVkX3NpbmtfZXZlbnQpLAoJICAoc3BlZWRfY2hhaW4pLCAoc3BlZWRfY2hhbmdlX3N0YXRlKToKCSAgRml4IGV2ZW50IGhhbmRsaW5nIGEgYml0IGJ5IHJlcGxhY2luZyBjb21wbGV0ZWx5IGR1YmlvdXMgY29kZQoJICB3cml0dGVuIGJ5IHNvbWVvbmUgZWxzZSB3aXRoIGNvbXBsZXRlbHkgZHViaW91cyBjb2RlIHdyaXR0ZW4KCSAgYnkgbWUuIFNob3VsZCBhdCBsZWFzdCBmaXggIzQxMjA3NyB0aG91Z2guCgoyMDA3LTA1LTA0IDE2OjExOjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3NwZWVkL2dzdHNwZWVkLmM6IEFkZCBkZWJ1ZyBjYXRlZ29yeTsgdXNlIGdzdF9wYWRfcXVlcnlfcGVlcl8qKCkgdXRpbGl0eSBmdW5jdGlvbnM7IHVzZSBnc3RfdXRpbF9zY2FsZSooKTsgYWRkIGd0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOiAoc3BlZWRfc3JjX3F1ZXJ5KSwgKHNwZWVkX2NoYWluKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgQWRkIGRlYnVnIGNhdGVnb3J5OyB1c2UgZ3N0X3BhZF9xdWVyeV9wZWVyXyooKSB1dGlsaXR5IGZ1bmN0aW9uczsKCSAgdXNlIGdzdF91dGlsX3NjYWxlKigpOyBhZGQgZ3RrLWRvYyBibHVyYi4KCjIwMDctMDUtMDQgMTI6MzI6MjcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogQWRkIHNvbWUgZGVidWcgaW5mby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpOgoJICBBZGQgc29tZSBkZWJ1ZyBpbmZvLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2luaXQpLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ydHApOgoJICBTdG9yZSByZWFsIHVzZXIgbmFtZSBpbiB0aGUgc2Vzc2lvbi4KCjIwMDctMDUtMDMgMTY6NDk6MDUgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYyAobG9vcCwgbXlfYnVzX2NhbGxiYWNrLCBzd2l0Y2hfdGltZXIsIGxhc3RfbWVzc2FnZV9yZWNlaXZlZCwgbWFpbik6IGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4YW1wbGVzL01ha2VmaWxlLmFtOgoJICAqIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jIChsb29wLCBteV9idXNfY2FsbGJhY2ssIHN3aXRjaF90aW1lciwKCSAgbGFzdF9tZXNzYWdlX3JlY2VpdmVkLCBtYWluKToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChHU1RfQ0FUX0RFRkFVTFQsIGdzdF9zd2l0Y2hfZGV0YWlscywKCSAgZ3N0X3N3aXRjaF9zcmNfZmFjdG9yeSwgcGFyZW50X2NsYXNzLCBnc3Rfc3dpdGNoX3JlbGVhc2VfcGFkLAoJICBnc3Rfc3dpdGNoX3JlcXVlc3RfbmV3X3BhZCwgZ3N0X3N3aXRjaF9jaGFpbiwgZ3N0X3N3aXRjaF9ldmVudCwKCSAgZ3N0X3N3aXRjaF9zZXRfcHJvcGVydHksIGdzdF9zd2l0Y2hfZ2V0X3Byb3BlcnR5LAoJICBnc3Rfc3dpdGNoX2dldF9saW5rZWRfcGFkLCBnc3Rfc3dpdGNoX2dldGNhcHMsCgkgIGdzdF9zd2l0Y2hfYnVmZmVyYWxsb2MsIGdzdF9zd2l0Y2hfZ2V0X2xpbmtlZF9wYWRzLAoJICBnc3Rfc3dpdGNoX2Rpc3Bvc2UsIGdzdF9zd2l0Y2hfaW5pdCwgZ3N0X3N3aXRjaF9iYXNlX2luaXQsCgkgIGdzdF9zd2l0Y2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaCAoR3N0U3dpdGNoLCBHc3RTd2l0Y2hDbGFzcywgX0dzdFN3aXRjaCwKCSAgZWxlbWVudCwgYWN0aXZlX3NpbmtwYWQsIHNyY3BhZCwgbmJfc2lua3BhZHMsIG5ld3NlZ21lbnRfZXZlbnRzLAoJICBuZWVkX3RvX3NlbmRfbmV3c2VnbWVudCk6CgkgIFBvcnQgc3dpdGNoIGVsZW1lbnQgYW5kIGV4YW1wbGUgcHJvZ3JhbSB0byAwLjEwLgoKMjAwNy0wNS0wMiAxODozMToxNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFjay5jOiBDYWxsIGJpbmR0ZXh0ZG9tYWluKCkgdG8gZ2V0IGxvY2FsaXplZCBzdHJpbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrLmM6IChwbHVnaW5faW5pdCk6CgkgIENhbGwgYmluZHRleHRkb21haW4oKSB0byBnZXQgbG9jYWxpemVkIHN0cmluZ3MuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3B1c2hfYnVmZmVyKSwgKGdzdF93YXZwYWNrX3BhcnNlX2NoYWluKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgSGFuZGxlIERJU0NPTlQgYnVmZmVycyBieSBjb3JyZWN0bHkgc2V0dGluZyB0aGUgRElTQ09OVCBmbGFnCgkgIG9uIG91dGdvaW5nIGJ1ZmZlcnMgd2hlbiBuZWNlc3NhcnkuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCkKCSAgU2VuZCBuZXdzZWdtZW50IGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQuCgoyMDA3LTA1LTAyIDE2OjU4OjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogUmVtb3ZlIG9sZCB3b3JrYXJvdW5kIHRoYXQgd2FzIG5lZWRlZCB3aGVuIHNlZWtpbmcgYWZ0ZXIgdGhlIGxhc3Qgc2FtcGxlLiBXaXRoIHRoZSBmaXguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCk6CgkgIFJlbW92ZSBvbGQgd29ya2Fyb3VuZCB0aGF0IHdhcyBuZWVkZWQgd2hlbiBzZWVraW5nIGFmdGVyIHRoZSBsYXN0CgkgIHNhbXBsZS4gV2l0aCB0aGUgZml4ZWQgZXJyb3IgaGFuZGxpbmcgdGhpcyB3b3JrcyBub3cgYXMgZXhwZWN0ZWQKCSAgd2l0aG91dCBwdXNoaW5nIHRoZSBsYXN0IHNhbXBsZSBhbHRob3VnaCBpdCB3YXNuJ3QgcmVxdWVzdGVkLgoKMjAwNy0wNS0wMiAxNjo0NTo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IEhhbmRsZSBzZWdtZW50IHNlZWtzIGluIHRoZSBzZWVrIGV2ZW50IGhhbmRsZXIsIGNvcnJlY3RseSB3b3JrIHdpdGggc3RvcCBwb3NpdGlvbiA9PSAtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpOgoJICBIYW5kbGUgc2VnbWVudCBzZWVrcyBpbiB0aGUgc2VlayBldmVudCBoYW5kbGVyLCBjb3JyZWN0bHkgd29yayB3aXRoCgkgIHN0b3AgcG9zaXRpb24gPT0gLTEgYW5kIGluc3RlYWQgb2Ygc3RvcHBpbmcgdGhlIHRhc2sgb24gc2VlayBqdXN0CgkgIHBhdXNlIGl0LgoKMjAwNy0wNS0wMiAxNjoxOTo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IEFkZCBoYW5kbGluZyBmb3Igc2VnbWVudCBzZWVrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9sb29wKToKCSAgQWRkIGhhbmRsaW5nIGZvciBzZWdtZW50IHNlZWtzLgoKMjAwNy0wNS0wMiAxNToxMzowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IENvcnJlY3RseSBoYW5kbGUgZXJyb3JzLCBlc3BlY2lhbGx5IGluIHRoZSBsb29wIGZ1bmN0aW9uLiBCZWZvcmUgaXQgd2FzIGVhc3kgdG8gZ2V0IHRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcHVsbF9idWZmZXIpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzeW5jX2xvb3ApLCAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jaGFpbik6CgkgIENvcnJlY3RseSBoYW5kbGUgZXJyb3JzLCBlc3BlY2lhbGx5IGluIHRoZSBsb29wIGZ1bmN0aW9uLiBCZWZvcmUgaXQKCSAgd2FzIGVhc3kgdG8gZ2V0IHRoZSB0YXNrIHBhdXNlZCBidXQgbm8gZXJyb3IgYmVpbmcgcG9zdGVkIG9uIHRoZSBidXMuCgoyMDA3LTA0LTMwIDE1OjM5OjA5ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjCgoyMDA3LTA0LTMwIDEzOjQxOjMwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6IEZpeCB0aGUgY2FzZSB3aGVyZSB0aGUgYnVmZmVyIHVuZGVycnVucyBhbmQgZG9lcyBub3QgYmxvY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOiAoc2lnbmFsX3dhaXRpbmdfdGhyZWFkcyksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfcG9wX2ludGVybl91bmxvY2tlZCk6CgkgIEZpeCB0aGUgY2FzZSB3aGVyZSB0aGUgYnVmZmVyIHVuZGVycnVucyBhbmQgZG9lcyBub3QgYmxvY2suCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9iYXNlX2luaXQpLAoJICAoY3JlYXRlX3JlY3ZfcnRjcCksIChjcmVhdGVfc2VuZF9ydHApLCAoY3JlYXRlX3J0Y3ApLAoJICAoZ3N0X3J0cF9iaW5fcmVxdWVzdF9uZXdfcGFkKToKCSAgUmVuYW1lIFJUQ1Agc2VuZCBwYWQsIGxpa2UgaW4gdGhlIHNlc3Npb24gbWFuYWdlci4KCSAgQWxsb3cgZ2V0dGluZyBhbiBSVENQIHBhZCBmb3IgcmVjZWl2aW5nIGV2ZW4gaWYgd2UgZG9uJ3QgcmVjZWl2ZSBSVFAuCgkgIGZpeCBoYW5kbGluZyBvZiBzZW5kX3J0cF9zcmMgcGFkLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pOgoJICBXaGVuIG5vIHB0IG1hcCBjb3VsZCBiZSBmb3VuZCwgZmFsbCBiYWNrIHRvIHRoZSBzaW5rcGFkIGNhcHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0cCksIChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfcmVjdl9ydGNwX3NpbmspLCAoY3JlYXRlX3NlbmRfcnRwX3NpbmspLAoJICAoY3JlYXRlX3NlbmRfcnRjcF9zcmMpOgoJICBGaXggcGFkIG5hbWVzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHNvdXJjZV9wdXNoX3J0cCksCgkgIChydHBfc2Vzc2lvbl9jcmVhdGVfc291cmNlKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ydHApLCAoc2Vzc2lvbl9zdGFydF9ydGNwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFVubG9jayBzZXNzaW9uIHdoZW4gcGVyZm9ybWluZyBhIGNhbGxiYWNrLgoJICBBZGQgY2FsbGJhY2tzIGZvciB0aGUgaW50ZXJuYWwgc2Vzc2lvbiBvYmplY3QuCgkgIEZpeCBzZW5kaW5nIG9mIFJUUCBwYWNrZXRzLgoJICBmaXJzdCBhdHRlbXB0IGF0IGFkZGluZyBOVFAgdGltZXMgaW4gdGhlIFNSIHBhY2tldHMuCgkgIFNtYWxsIGRlYnVnIGFuZCBkb2MgaW1wcm92ZW1lbnRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9zZW5kX3J0cCk6CgkgIFVwZGF0ZSBzdGF0cyBmb3IgU1IgcmVwb3J0cy4KCjIwMDctMDQtMjkgMTQ6NDY6MjcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IFJlbW92ZSBkZWJ1Zy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCk6CgkgIFJlbW92ZSBkZWJ1Zy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc2RlcyksIChjYWxjdWxhdGVfcnRjcF9pbnRlcnZhbCksCgkgIChydHBfc2Vzc2lvbl9uZXh0X3RpbWVvdXQpLCAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOiAocnRwX3N0YXRzX2NhbGN1bGF0ZV9ydGNwX2ludGVydmFsKToKCSAgSW1wcm92ZSBkZWJ1Z2dpbmcKCSAgRml4IGludGVydmFsIGZvciBCWUUvUlRDUCBwYWNrZXRzLgoKMjAwNy0wNC0yOSAxNDowMTowNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuKjogQ29tbWl0IHJlc3VsdCBvZiBydW5uaW5nIHNjYW5vYmotdXBkYXRlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICBDb21taXQgcmVzdWx0IG9mIHJ1bm5pbmcgc2Nhbm9iai11cGRhdGUKCjIwMDctMDQtMjkgMTM6NTY6MTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICA4MCBjaGFyIHBvbGljZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgODAgY2hhciBwb2xpY2UKCjIwMDctMDQtMjkgMTM6NTM6MTcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgYXV0b2dlbi5zaDogUmVxdWlyZSBhdXRvbWFrZSAxLjcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYXV0b2dlbi5zaDoKCSAgUmVxdWlyZSBhdXRvbWFrZSAxLjcKCSAgKiBleHQvYWxzYXNwZGlmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXZ4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9pdm9yYmlzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmVvbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zd2ZkZWMvTWFrZWZpbGUuYW06CgkgICogZXh0L3RoZW9yYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQveHZpZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgRml4IHVwIE1ha2VmaWxlLmFtIGFjY29yZGluZ2x5LgoKMjAwNy0wNC0yOSAxMzo0OTowMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC86IEFkZCBqYWNrIGFuZCB1cGRhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdsaW1hZ2VzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgIEFkZCBqYWNrIGFuZCB1cGRhdGUuCgoyMDA3LTA0LTI4IDEyOjQ2OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBEb24ndCBidWlsZCBlcXVhbGl6ZXIgdW5sZXNzIHdlIGhhdmUgY29yZSBmcm9tIENWUyAoaXQgd29uJ3Qgd29yayB3aXRoIGVhcmxpZXIgdmVyc2lvbnMgZHVlIHRvIEdzdENoaWxkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRG9uJ3QgYnVpbGQgZXF1YWxpemVyIHVubGVzcyB3ZSBoYXZlIGNvcmUgZnJvbSBDVlMgKGl0IHdvbid0CgkgIHdvcmsgd2l0aCBlYXJsaWVyIHZlcnNpb25zIGR1ZSB0byBHc3RDaGlsZFByb3h5IGJyb2tlbmVzcykuCgkgIEFsc28gdXAgcmVxdWlyZW1lbnRzIHRvIGxhc3QgcmVsZWFzZWQgY29yZS9iYXNlLgoKMjAwNy0wNC0yNyAxNTozMzo0NiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOiBDYWxjdWxhdGUgYnVmZmVyIGR1cmF0aW9uIGNvcnJlY3RseSB0byBnZW5lcmF0ZSBhIHBlcmZlY3Qgc3RyZWFtICgjNDMzODg4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDQtMjcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOiAoX3RoZW9yYV9ncmFudWxlX3RpbWUpLAoJICAodGhlb3JhX2RlY19wdXNoX2ZvcndhcmQpLCAodGhlb3JhX2hhbmRsZV9kYXRhX3BhY2tldCksCgkgICh0aGVvcmFfZGVjX2RlY29kZV9idWZmZXIpOiBDYWxjdWxhdGUgYnVmZmVyIGR1cmF0aW9uIGNvcnJlY3RseQoJICB0byBnZW5lcmF0ZSBhIHBlcmZlY3Qgc3RyZWFtICgjNDMzODg4KS4KCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIChhdWRpb3Jlc2FtcGxlX2NoZWNrX2Rpc2NvbnQpOiBHbGliIHByb3ZpZGVzIEFCUy4KCjIwMDctMDQtMjcgMTU6MDk6MTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IE1vdmUgcmVjb25zaWRlcmF0aW9uIGNvZGUgdG8gdGhlIHJ0cHNlc3Npb24gb2JqZWN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChydGNwX3RocmVhZCksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKSwgKGdzdF9ydHBfc2Vzc2lvbl9yZWNvbnNpZGVyKToKCSAgTW92ZSByZWNvbnNpZGVyYXRpb24gY29kZSB0byB0aGUgcnRwc2Vzc2lvbiBvYmplY3QuCgkgIFNpbXBsaWZ5IHRpbW91dCBoYW5kbGluZyBhbmQgYWRkIHJlY29uc2lkZXJhdGlvbi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKHJ0cF9zZXNzaW9uX2luaXQpLCAocnRwX3Nlc3Npb25fZmluYWxpemUpLCAob25fYnllX3NzcmMpLAoJICAob25fYnllX3RpbWVvdXQpLCAob25fdGltZW91dCksIChydHBfc2Vzc2lvbl9zZXRfY2FsbGJhY2tzKSwKCSAgKG9idGFpbl9zb3VyY2UpLCAocnRwX3Nlc3Npb25fY3JlYXRlX3NvdXJjZSksCgkgICh1cGRhdGVfYXJyaXZhbF9zdGF0cyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnIpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ieWUpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwKSwKCSAgKGNhbGN1bGF0ZV9ydGNwX2ludGVydmFsKSwgKHJ0cF9zZXNzaW9uX3NlbmRfYnllKSwKCSAgKHJ0cF9zZXNzaW9uX25leHRfdGltZW91dCksIChzZXNzaW9uX3N0YXJ0X3J0Y3ApLAoJICAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKSwgKHNlc3Npb25fY2xlYW51cCksIChzZXNzaW9uX3NkZXMpLAoJICAoc2Vzc2lvbl9ieWUpLCAoaXNfcnRjcF90aW1lKSwgKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgSGFuZGxlIHRpbWVvdXQgb2YgaW5hY3RpdmUgc291cmNlcyBhbmQgc2VuZGVycy4KCSAgSW1wbGVtZW50IEJZRSBzY2hlZHVsaW5nLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAoY2FsY3VsYXRlX2ppdHRlciksCgkgIChydHBfc291cmNlX3Byb2Nlc3Nfc3IpLCAocnRwX3NvdXJjZV9nZXRfbGFzdF9zciksCgkgIChydHBfc291cmNlX2dldF9sYXN0X3JiKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgQWRkIG1lbWJlcnMgdG8gY2hlY2sgZm9yIHRpbWVvdXRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6IChydHBfc3RhdHNfaW5pdF9kZWZhdWx0cyksCgkgIChydHBfc3RhdHNfY2FsY3VsYXRlX3J0Y3BfaW50ZXJ2YWwpLCAocnRwX3N0YXRzX2FkZF9ydGNwX2ppdHRlciksCgkgIChydHBfc3RhdHNfY2FsY3VsYXRlX2J5ZV9pbnRlcnZhbCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgVXNlIFJGQyBhbGdvcml0aG0gZm9yIGNhbGN1bGF0aW5nIHRoZSByZXBvcnRpbmcgaW50ZXJ2YWwuCgoyMDA3LTA0LTI2IDE0OjMxOjMyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIGRvY3VtZW50YXRpb24gZm9yIG9zeHZpZGVvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3h2aWRlby54bWw6CgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBvc3h2aWRlbwoKMjAwNy0wNC0yNSAxNjozODowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogSW1wbGVtZW50IGZvcndhcmQgYW5kIHJldmVyc2UgcmVjb25zaWRlcmF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChydGNwX3RocmVhZCk6CgkgIEltcGxlbWVudCBmb3J3YXJkIGFuZCByZXZlcnNlIHJlY29uc2lkZXJhdGlvbi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9nZXRfbnVtX3NvdXJjZXMpLAoJICAocnRwX3Nlc3Npb25fZ2V0X251bV9hY3RpdmVfc291cmNlcyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwKCSAgKHNlc3Npb25fcmVwb3J0X2Jsb2Nrcyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBTbWFsbCBjbGVhbnVwcy4KCjIwMDctMDQtMjUgMTU6NDg6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uKjogTWFrZSBkZWZhdWx0IGppdHRlcmJ1ZmZlciBsYXRlbmN5IGNvbmZpZ3VyYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJldmlld2VkIGJ5OiA8ZGVsZXRlIGlmIG5vdCB1c2luZyBhIGJ1ZGR5PgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfYmluX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2Jpbl9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBNYWtlIGRlZmF1bHQgaml0dGVyYnVmZmVyIGxhdGVuY3kgY29uZmlndXJhYmxlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9wcm9wZXJ0eSk6CgkgIERlYnVnaW5nIGNsZWFudXBzLgoKMjAwNy0wNC0yNSAxMzoxOTozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBSZXBvcnQgTk9fUFJFUk9MTCB3aGVuIGdvaW5nIHRvIFBBVVNFRC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhbmdlX3N0YXRlKToKCSAgUmVwb3J0IE5PX1BSRVJPTEwgd2hlbiBnb2luZyB0byBQQVVTRUQuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAocnRjcF90aHJlYWQpOgoJICBEb24ndCBzZW5kIFJUQ1AgcmlnaHQgYmVmb3JlIHdlIGFyZSBzaHV0dGluZyBkb3duLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLCAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKSwKCSAgKHJ0cF9zZXNzaW9uX3BlcmZvcm1fcmVwb3J0aW5nKToKCSAgSW1wcm92ZSByZXBvcnQgYmxvY2tzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAoY2FsY3VsYXRlX2ppdHRlciksIChpbml0X3NlcSksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcnRwKSwgKHJ0cF9zb3VyY2VfcHJvY2Vzc19zciksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcmIpLCAocnRwX3NvdXJjZV9nZXRfbGFzdF9zciksCgkgIChydHBfc291cmNlX2dldF9sYXN0X3JiKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBDbGVhbnVwcywgYWRkIG1ldGhvZHMgdG8gYWNjZXNzIHN0YXRzLgoKMjAwNy0wNC0yNSAwODozMDo0OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBmaXggZm9yIHBhZCBuYW1lIGNoYW5nZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9ydGNwKToKCSAgZml4IGZvciBwYWQgbmFtZSBjaGFuZ2UKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChydGNwX3RocmVhZCksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKSwgKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKToKCSAgRml4IGZvciByZW5hbWVkIG1ldGhvZHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25faW5pdCksCgkgIChydHBfc2Vzc2lvbl9maW5hbGl6ZSksIChydHBfc2Vzc2lvbl9zZXRfY25hbWUpLAoJICAocnRwX3Nlc3Npb25fZ2V0X2NuYW1lKSwgKHJ0cF9zZXNzaW9uX3NldF9uYW1lKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9uYW1lKSwgKHJ0cF9zZXNzaW9uX3NldF9lbWFpbCksCgkgIChydHBfc2Vzc2lvbl9nZXRfZW1haWwpLCAocnRwX3Nlc3Npb25fc2V0X3Bob25lKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9waG9uZSksIChydHBfc2Vzc2lvbl9zZXRfbG9jYXRpb24pLAoJICAocnRwX3Nlc3Npb25fZ2V0X2xvY2F0aW9uKSwgKHJ0cF9zZXNzaW9uX3NldF90b29sKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF90b29sKSwgKHJ0cF9zZXNzaW9uX3NldF9ub3RlKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9ub3RlKSwgKHNvdXJjZV9wdXNoX3J0cCksIChvYnRhaW5fc291cmNlKSwKCSAgKHJ0cF9zZXNzaW9uX2FkZF9zb3VyY2UpLCAocnRwX3Nlc3Npb25fZ2V0X3NvdXJjZV9ieV9zc3JjKSwKCSAgKHJ0cF9zZXNzaW9uX2NyZWF0ZV9zb3VyY2UpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwKSwgKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9yZXBvcnRpbmdfaW50ZXJ2YWwpLCAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKSwKCSAgKHNlc3Npb25fc2RlcyksIChydHBfc2Vzc2lvbl9wZXJmb3JtX3JlcG9ydGluZyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBQcmVwYXJlIGZvciBpbXBsZW1lbnRpbmcgU1NSQyBzYW1wbGluZy4KCSAgQ3JlYXRlIFNTUkMgZm9yIHRoZSBzZXNzaW9uLgoJICBBZGQgbWV0aG9kcyB0byBzZXQgdGhlIFNERVMgZW50cmllcy4KCSAgZml4IGFjY291bnRpbmcgb2Ygc2VuZGVycy9yZWNlaXZlcnMuCgkgIEltcGxlbWVudCBTUi9SUi9TREVTIFJUQ1AgcmVwb3J0aW5nLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9pbml0KSwgKGluaXRfc2VxKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApLCAocnRwX3NvdXJjZV9wcm9jZXNzX3NyKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgSW1wbGVtZW50IGV4dGVuZGVkIHNlcXVlbmNlIG51bWJlci4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOiAocnRwX3N0YXRzX2NhbGN1bGF0ZV9ydGNwX2ludGVydmFsKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBSZW5hbWUgc29tZSBmaWVsZHMuCgoyMDA3LTA0LTI0IDE1OjQ5OjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUGx1ZyBzb21lIGxlYWtzOyB0cnkgdG8gbWFrZSBidWlsZCBib3QgaGFwcHkgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6IChnc3RfeTRtX2VuY29kZV9pbml0KSwKCSAgKGdzdF95NG1fZW5jb2RlX3NldGNhcHMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBQbHVnIHNvbWUgbGVha3M7IHRyeSB0byBtYWtlIGJ1aWxkIGJvdCBoYXBweSBhZ2Fpbi4KCjIwMDctMDQtMjEgMTk6Mzk6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvTWFrZWZpbGUuYW06IEZpeCBkaXN0Y2hlY2ssIGhvcGVmdWxseSAocnRwbWFuYWdlciBpcyBhbHJlYWR5IGluIEdTVF9QTFVHSU5TX0FMTCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9NYWtlZmlsZS5hbToKCSAgRml4IGRpc3RjaGVjaywgaG9wZWZ1bGx5IChydHBtYW5hZ2VyIGlzIGFscmVhZHkgaW4gR1NUX1BMVUdJTlNfQUxMKS4KCjIwMDctMDQtMjEgMTk6MjE6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IERvbid0IHVzZSBHTGliLTIuMTAgQVBJLCB3ZSBvbmx5IHJlcXVpcmUgR0xpYiAyLjggYXQgdGhlIG1vbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fZmluYWxpemUpOgoJICBEb24ndCB1c2UgR0xpYi0yLjEwIEFQSSwgd2Ugb25seSByZXF1aXJlIEdMaWIgMi44IGF0IHRoZSBtb21lbnQuCgoyMDA3LTA0LTIxIDE0OjE0OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBNYWtlIG1vcmUgZnVuY3Rpb25zIHN0YXRpYywganVzdCBiZWNhdXNlIHdlIGNhbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICBNYWtlIG1vcmUgZnVuY3Rpb25zIHN0YXRpYywganVzdCBiZWNhdXNlIHdlIGNhbi4KCjIwMDctMDQtMjEgMTM6NTQ6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6IEFkZCB1bml0IHRlc3QgZm9yIGF1ZGlvcmVzYW1wbGUgc2h1dGRvd24gY3Jhc2hlciAoIzQyMDEwNikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzoKCSAgQWRkIHVuaXQgdGVzdCBmb3IgYXVkaW9yZXNhbXBsZSBzaHV0ZG93biBjcmFzaGVyICgjNDIwMTA2KS4KCjIwMDctMDQtMjAgMTU6MzE6MzIgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogRkFBRCBmYWlscyB0byBkZWNvZGUgbG93IChlLmcuIDgga0h6KSBzYW1wbGUgcmF0ZSBBQUMgZGF0YSBpbiBxdWlja3RpbWUgYmVjYXVzZSBvZiBzYW1wbGUgcmF0ZSBtaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9vcGVuX2RlY29kZXIpOgoJICBGQUFEIGZhaWxzIHRvIGRlY29kZSBsb3cgKGUuZy4gOCBrSHopIHNhbXBsZSByYXRlIEFBQyBkYXRhIGluCgkgIHF1aWNrdGltZSBiZWNhdXNlIG9mIHNhbXBsZSByYXRlIG1pc21hdGNoZXMuCgkgIFJlZW5hYmxlIG92ZXJyaWRpbmcgdGhlIGltcGxpY2l0IFNCUiBiZWhhdmlvdXIgKGFjY2lkZW50bHkgY2hhbmdlZD8pCgkgIHRvIGFsbG93IHBsYXliYWNrIG9mIHRoZXNlIGZpbGVzLgoKMjAwNy0wNC0xOSAxNTo0MzoyNiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBjb25maWd1cmUuYWM6IENoYW5nZSBydHBtYW5hZ2VyIGRpc2FibGluZyB0byBrZWVwIC1iYWQgcmVsZWFzYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDaGFuZ2UgcnRwbWFuYWdlciBkaXNhYmxpbmcgdG8ga2VlcCAtYmFkIHJlbGVhc2FibGUuCgoyMDA3LTA0LTE4IDE5OjQ1OjMyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIEZpeCB3dGF5J3MgaGFjay4gIHJ0cG1hbmFnZXIgaXMgZGlzYWJsZWQgaW4gY29uZmlndXJlLmFjIG9uIGxpbmUgMjY4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L01ha2VmaWxlLmFtOgoJICBGaXggd3RheSdzIGhhY2suICBydHBtYW5hZ2VyIGlzIGRpc2FibGVkIGluIGNvbmZpZ3VyZS5hYyBvbgoJICBsaW5lIDI2OC4KCjIwMDctMDQtMTggMTk6MjY6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvTWFrZWZpbGUuYW06IEFkZCBydHBtYW5hZ2VyIGRpciB0byBkaXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvTWFrZWZpbGUuYW06CgkgIEFkZCBydHBtYW5hZ2VyIGRpciB0byBkaXN0LgoKMjAwNy0wNC0xOCAxODo1ODo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogRGlzYWJsZSBydHBtYW5hZ2VyIGZvciBub3cgYmVjYXVzZSBpdCBkZXBlbmRzIG9uIENWUyAtYmFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEaXNhYmxlIHJ0cG1hbmFnZXIgZm9yIG5vdyBiZWNhdXNlIGl0IGRlcGVuZHMgb24gQ1ZTIC1iYXNlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICBBZGRlZCBuZXcgZmlsZXMgZm9yIHNlc3Npb24gbWFuYWdlci4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwgKGdldF9wdF9tYXApLAoJICAoY3JlYXRlX3N0cmVhbSksIChwdF9tYXBfcmVxdWVzdGVkKSwgKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIFNvbWUgY2xlYW51cHMuCgkgIHRoZSBzZXNzaW9uIG1hbmFnZXIgY2FuIG5vdyBhbHNvIHJlcXVlc3QgYSBwdC1tYXAuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksIChnc3RfcnRwX3Nlc3Npb25faW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZmluYWxpemUpLCAocnRjcF90aHJlYWQpLCAoc3RhcnRfcnRjcF90aHJlYWQpLAoJICAoc3RvcF9ydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCksIChnc3RfcnRwX3Nlc3Npb25fY2xvY2tfcmF0ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0X3RpbWUpLCAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0Y3Bfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCksIChjcmVhdGVfc2VuZF9ydGNwX3NyYyksCgkgIChnc3RfcnRwX3Nlc3Npb25fcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgIFdlIGNhbiBhc2sgZm9yIHB0LW1hcCBub3cgdG9vIHdoZW4gdGhlIHNlc3Npb24gbWFuYWdlciBuZWVkcyBpdC4KCSAgSG9vayB1cCB0byB0aGUgbmV3IHNlc3Npb24gbWFuYWdlciwgaW1wbGVtZW50IHRoZSBuZWVkZWQgY2FsbGJhY2tzIGZvcgoJICBwdXNoaW5nIGRhdGEsIGdldHRpbmcgY2xvY2sgdGltZSBhbmQgcmVxdWVzdGluZyBjbG9jay1yYXRlcy4KCSAgUmVuYW1lIHJ0Y3Bfc3JjIHRvIHNlbmRfcnRjcF9zcmMgdG8gbWFrZSBpdCBjbGVhciB0aGF0IHRoaXMgUlRDUCBpcyB0bwoJICBiZSBzZW5kIHRvIGNsaWVudHMuCgkgIEFkZCBjb2RlIHRvIHN0YXJ0IGFuZCBzdG9wIHRoZSB0aHJlYWQgdGhhdCB3aWxsIHNjaGVkdWxlIFJUQ1AgdGhyb3VnaAoJICB0aGUgc2Vzc2lvbiBtYW5hZ2VyLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRwX3Nlc3Npb25faW5pdCksIChydHBfc2Vzc2lvbl9maW5hbGl6ZSksCgkgIChydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLCAocnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KSwKCSAgKG9uX25ld19zc3JjKSwgKG9uX3NzcmNfY29sbGlzaW9uKSwgKG9uX3NzcmNfdmFsaWRhdGVkKSwKCSAgKG9uX2J5ZV9zc3JjKSwgKHJ0cF9zZXNzaW9uX25ldyksIChydHBfc2Vzc2lvbl9zZXRfY2FsbGJhY2tzKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9iYW5kd2lkdGgpLCAocnRwX3Nlc3Npb25fZ2V0X2JhbmR3aWR0aCksCgkgIChydHBfc2Vzc2lvbl9zZXRfcnRjcF9iYW5kd2lkdGgpLCAocnRwX3Nlc3Npb25fZ2V0X3J0Y3BfYmFuZHdpZHRoKSwKCSAgKHNvdXJjZV9wdXNoX3J0cCksIChzb3VyY2VfY2xvY2tfcmF0ZSksIChjaGVja19jb2xsaXNpb24pLAoJICAob2J0YWluX3NvdXJjZSksIChydHBfc2Vzc2lvbl9hZGRfc291cmNlKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9udW1fc291cmNlcyksCgkgIChydHBfc2Vzc2lvbl9nZXRfbnVtX2FjdGl2ZV9zb3VyY2VzKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9zb3VyY2VfYnlfc3NyYyksCgkgIChydHBfc2Vzc2lvbl9nZXRfc291cmNlX2J5X2NuYW1lKSwgKHJ0cF9zZXNzaW9uX2NyZWF0ZV9zb3VyY2UpLAoJICAodXBkYXRlX2Fycml2YWxfc3RhdHMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3JyKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc2RlcyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX2J5ZSksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX2FwcCksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ydHApLCAocnRwX3Nlc3Npb25fZ2V0X3J0Y3BfaW50ZXJ2YWwpLAoJICAocnRwX3Nlc3Npb25fcHJvZHVjZV9ydGNwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFRoZSBhZHZhbmNlZCBiZWdpbm5pbmdzIG9mIHRoZSBtYWluIHNlc3Npb24gbWFuYWdlciB0aGF0IGhhbmRsZXMgdGhlCgkgIHBhcnRpY2lwYW50IGRhdGFiYXNlIG9mIFJUUFNvdXJjZXMsIFNTUkMgcHJvYmF0aW9uLCBTU1JDIGNvbGxpc2lvbnMsCgkgIHBhcnNlIFJUQ1AgdG8gdXBkYXRlIHNvdXJjZSBzdGF0cy4gZXRjLi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfY2xhc3NfaW5pdCksCgkgIChydHBfc291cmNlX2luaXQpLCAocnRwX3NvdXJjZV9maW5hbGl6ZSksIChydHBfc291cmNlX25ldyksCgkgIChydHBfc291cmNlX3NldF9jYWxsYmFja3MpLCAocnRwX3NvdXJjZV9zZXRfYXNfY3NyYyksCgkgIChydHBfc291cmNlX3NldF9ydHBfZnJvbSksIChydHBfc291cmNlX3NldF9ydGNwX2Zyb20pLAoJICAocHVzaF9wYWNrZXQpLCAoZ2V0X2Nsb2NrX3JhdGUpLCAoY2FsY3VsYXRlX2ppdHRlciksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcnRwKSwgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ieWUpLAoJICAocnRwX3NvdXJjZV9zZW5kX3J0cCksIChydHBfc291cmNlX3Byb2Nlc3Nfc3IpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3JiKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgT2JqZWN0IHRoYXQgZW5jYXBzdWxhdGVzIGFuIFNTUkMgYW5kIGl0cyBzdGF0ZSBpbiB0aGUgZGF0YWJhc2UuCgkgIENhbGN1bGF0ZXMgdGhlIGppdHRlciBhbmQgdHJhbnNpdCB0aW1lcyBvZiBkYXRhIHBhY2tldHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzogKHJ0cF9zdGF0c19pbml0X2RlZmF1bHRzKSwKCSAgKHJ0cF9zdGF0c19jYWxjdWxhdGVfcnRjcF9pbnRlcnZhbCksIChydHBfc3RhdHNfYWRkX3J0Y3Bfaml0dGVyKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBWYXJpb3VzIHN0YXRzIHJlZ2FyZGluZyB0aGUgc2Vzc2lvbiBhbmQgc291cmNlcy4KCSAgVXNlZCB0byBjYWxjdWxhdGUgdGhlIFJUQ1AgaW50ZXJ2YWwuCgoyMDA3LTA0LTE3IDEwOjU2OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2FwcC9NYWtlZmlsZS5hbTogRml4IENGTEFHUyBhbmQgaG9wZWZ1bGx5ICM0MzA1OTQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcHAvTWFrZWZpbGUuYW06CgkgIEZpeCBDRkxBR1MgYW5kIGhvcGVmdWxseSAjNDMwNTk0LgoKMjAwNy0wNC0xNyAwODo0ODozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9uc2YvdHlwZXMuaDogUmVuYW1lICNpZm5kZWYgaGVhZGVyIGd1YXJkIHN5bWJvbCB0byBzb21ldGhpbmcgbGVzcyBnZW5lcmljLCBzbyB0eXBlcy5oIGRvZXNuJ3QgZ2V0IHNraXBwZWQgb3ZlciB3aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbnNmL3R5cGVzLmg6CgkgIFJlbmFtZSAjaWZuZGVmIGhlYWRlciBndWFyZCBzeW1ib2wgdG8gc29tZXRoaW5nIGxlc3MgZ2VuZXJpYywgc28KCSAgdHlwZXMuaCBkb2Vzbid0IGdldCBza2lwcGVkIG92ZXIgd2hlbiBjb21waWxpbmcgb24gTWluZ1cuIEluY2x1ZGUKCSAgR0xpYiBoZWFkZXJzIGFuZCB1c2UgdGhvc2UgdG8gc2V0IHRoZSBlbmRpYW5uZXNzIGFuZCB0aGUgYmFzaWMKCSAgdHlwZXMgc28gdGhhdCB0aGlzIGlzbid0IGVudGlyZWx5IGJyb2tlbiBmb3Igbm9uLXg4NiBhcmNoaXRlY3R1cmVzLgoKMjAwNy0wNC0xNyAwODowNDo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzogVXNlIEdfTElUVExFX0VORElBTiBpbnN0ZWFkIG9mIExJVFRMRV9FTkRJQU4sIHNvIHN0dWZmIGNvbXBpbGVzIG9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzogKGdzdF9tdmVfYXVkaW9faW5pdCk6CgkgIFVzZSBHX0xJVFRMRV9FTkRJQU4gaW5zdGVhZCBvZiBMSVRUTEVfRU5ESUFOLCBzbyBzdHVmZiBjb21waWxlcyBvbgoJICBNaW5nVyAobm8gaWRlYSB0aG91Z2ggd2h5IHdlIGFkZCBhIEJZVEVfT1JERVIgZW5kaWFubmVzcyBmaWVsZCBpZgoJICB0aGUgYXVkaW8gaXMgY29tcHJlc3NlZCkuCgoyMDA3LTA0LTE2IDIyOjIwOjAzICswMDAwICBWaW5jZW50IFRvcnJpIDx2dG9ycmlAdW5pdi1ldnJ5LmZyPgoKCSAgZXh0L3BhbmdvL2dzdGNsb2Nrb3ZlcmxheS5jOiBGaXggdW51c2VkIHZhcmlhYmxlIHdhcm5pbmcgaWYgSEFWRV9MT0NBTFRJTUVfUiBpcyB1bmRlZmluaWVkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVmluY2VudCBUb3JyaSA8dnRvcnJpIGF0IHVuaXYtZXZyeSBkb3QgZnI+CgkgICogZXh0L3BhbmdvL2dzdGNsb2Nrb3ZlcmxheS5jOiAoZ3N0X2Nsb2NrX292ZXJsYXlfcmVuZGVyX3RpbWUpOgoJICBGaXggdW51c2VkIHZhcmlhYmxlIHdhcm5pbmcgaWYgSEFWRV9MT0NBTFRJTUVfUiBpcyB1bmRlZmluaWVkCgkgICogZ3N0LWxpYnMvZ3N0L3JpZmYvcmlmZi1tZWRpYS5jOiAoZ3N0X3JpZmZfY3JlYXRlX2F1ZGlvX2NhcHMpOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogKGF1ZGlvcmVzYW1wbGVfZG9fb3V0cHV0KToKCSAgVXNlIHRoZSBjb3JyZWN0IGZvcm1hdCBzdHJpbmdzIGZvciBpbnRlZ2VyIGZvcm1hdHMuCgoyMDA3LTA0LTE0IDE3OjE4OjE0ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC86IEFkZCB4bWwgZG9jIGZpbGVzIGZvciBXaW5kb3dzIHNpbmtzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJlY3RkcmF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyZWN0c291bmQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlZm9ybS54bWw6CgkgIEFkZCB4bWwgZG9jIGZpbGVzIGZvciBXaW5kb3dzIHNpbmtzCgkgICogd2luMzIvdnM2L2xpYmdzdHF0ZGVtdXguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RtcGVndmlkZW9wYXJzZS5kc3A6CgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3c6CgkgIFVwZGF0ZSBwcm9qZWN0cyBmaWxlcy4KCjIwMDctMDQtMTMgMDk6MjA6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFByb3RlY3QgbGlzdHMgYW5kIHN0cnVjdHVyZXMgd2l0aCBsb2Nrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksIChnZXRfcHRfbWFwKSwKCSAgKGdzdF9ydHBfYmluX2luaXQpLCAoZ3N0X3J0cF9iaW5fZmluYWxpemUpLCAobmV3X3NzcmNfcGFkX2ZvdW5kKSwKCSAgKGNyZWF0ZV9yZWN2X3J0cCksIChnc3RfcnRwX2Jpbl9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9maW5hbGl6ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydGNwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRjcCksCgkgIChnc3RfcnRwX3Nlc3Npb25fcmVxdWVzdF9uZXdfcGFkKToKCSAgUHJvdGVjdCBsaXN0cyBhbmQgc3RydWN0dXJlcyB3aXRoIGxvY2tzLgoJICBSZXR1cm4gRkxPV19PSyBmcm9tIFJUQ1AgbWVzc2FnZXMgZm9yIG5vdy4KCjIwMDctMDQtMTIgMTA6NTI6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE1ha2UgdGltZXNjYWxlIDMyIGJpdHMgYWdhaW4gc28gd2UgZG9uJ3Qgc2NyZXcgdXAgdGhlIHB0c19vZmZzZXQgY2FsY3VsYXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIE1ha2UgdGltZXNjYWxlIDMyIGJpdHMgYWdhaW4gc28gd2UgZG9uJ3Qgc2NyZXcgdXAgdGhlIHB0c19vZmZzZXQKCSAgY2FsY3VsYXRpb25zLgoKMjAwNy0wNC0xMiAwODoxODozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBFbWl0IHB0IG1hcCByZXF1ZXN0cyBhbmQgY2FjaGUgcmVzdWx0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksIChnZXRfcHRfbWFwKSwKCSAgKGNyZWF0ZV9zdHJlYW0pLCAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksIChwdF9tYXBfcmVxdWVzdGVkKToKCSAgRW1pdCBwdCBtYXAgcmVxdWVzdHMgYW5kIGNhY2hlIHJlc3VsdHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfY2xvY2tfcmF0ZSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pOgoJICBFbWl0IHJlcXVlc3QtcHQtbWFwIHNpZ25hbHMuCgoyMDA3LTA0LTExIDEzOjQ5OjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDogU29tZSBtb3JlIGN1c3RvbSBtYXJzaGFsbGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSAgU29tZSBtb3JlIGN1c3RvbSBtYXJzaGFsbGVycy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwgKGdldF9wdF9tYXApLAoJICAoY2xvY2tfcmF0ZV9yZXF1ZXN0KSwgKGNyZWF0ZV9zdHJlYW0pLCAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksCgkgIChwdF9tYXBfcmVxdWVzdGVkKSwgKG5ld19zc3JjX3BhZF9mb3VuZCksIChjcmVhdGVfcmVjdl9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBQcmVwYXJlIGZvciBjYWNoaW5nIHB0IG1hcHMuCgkgIENvbm5lY3QgdG8gc2lnbmFscyB0byBjb2xsZWN0IHB0IG1hcHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3NldGNhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICBBZGQgcmVxdWVzdF9jbG9ja19yYXRlIHNpZ25hbC4KCSAgVXNlIHNjYWxlIGluc3RlYXQgb2Ygc2NhbGVfaW50IGJlY2F1c2UgdGhlIGxhdGVyIGRvZXMgbm90IGRlYWwgd2l0aAoJICBuZWdhdGl2ZSBudW1iZXJzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4Lmg6CgkgIEltcGxlbWVudCByZXF1ZXN0LXB0LW1hcCBzaWduYWwuCgoyMDA3LTA0LTExIDA5OjUzOjM4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvOiBIYW5kbGUgdmVyc2lvbiAxIG1kaGQgYXRvbXMgdG8gZ2V0IGV4dGVuZGVkIHByZWNpc2lvbiBkdXJhdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9kdXJhdGlvbiksCgkgIChxdGRlbXV4X3BhcnNlX3NhbXBsZXMpLCAocXRkZW11eF9wYXJzZV9zZWdtZW50cyksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspLCAocXRkZW11eF9wYXJzZV90cmVlKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzogKHF0ZGVtdXhfZHVtcF9tZGhkKToKCSAgSGFuZGxlIHZlcnNpb24gMSBtZGhkIGF0b21zIHRvIGdldCBleHRlbmRlZCBwcmVjaXNpb24gZHVyYXRpb25zLgoJICBGaXhlcyAjNDI2OTcyLgoKMjAwNy0wNC0xMCAwOToxNDowNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQWRkZWQgY3VzdG9tIG1hcnNoYWxsZXJzIGZvciBzaWduYWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci8uY3ZzaWdub3JlOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkgIEFkZGVkIGN1c3RvbSBtYXJzaGFsbGVycyBmb3Igc2lnbmFscy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBQcmVwYXJlIGZvciBlbWl0aW5nIHB0IG1hcCBzaWduYWxzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2xhc3NfaW5pdCk6CgkgIEZpeCBzaWduYWxzLgoKMjAwNy0wNC0wNiAxMjoyODoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi4qOiBQcm92aWRlIGEgY2xvY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2Jpbl9pbml0KSwgKGdzdF9ydHBfYmluX3Byb3ZpZGVfY2xvY2spOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBQcm92aWRlIGEgY2xvY2suCgoyMDA3LTA0LTA2IDEyOjA3OjMwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBwYWQgdGVtcGxhdGUgbmFtZSBwYXJzaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9ydGNwKToKCSAgRml4IHBhZCB0ZW1wbGF0ZSBuYW1lIHBhcnNpbmcuCgoyMDA3LTA0LTA1IDE2OjEwOjI0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEFkZCBzb21lIGRlYnVnIGFuZCBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3NldGNhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgQWRkIHNvbWUgZGVidWcgYW5kIGNvbW1lbnRzLgoJICBGaXggZG91YmxlIHVucmVmKCkgaW4gZXJyb3IgY2FzZXMuCgoyMDA3LTA0LTA1IDE1OjA1OjI0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuKjogVHJ5IHRvIHJlY292ZXIgZnJvbSBwYWNrZXQgbG9zcyBhIGxpdHRsZSBiZXR0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6IChnc3RfcnRwX3hxdF9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfeHF0X2RlcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuaDoKCSAgVHJ5IHRvIHJlY292ZXIgZnJvbSBwYWNrZXQgbG9zcyBhIGxpdHRsZSBiZXR0ZXIuCgoyMDA3LTA0LTA1IDEzOjU0OjIzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLio6IEFkZCBkZWJ1Z2dpbmcgY2F0ZWdvcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZmluZF9zZXNzaW9uX2J5X2lkKSwKCSAgKGNyZWF0ZV9zZXNzaW9uKSwgKGZpbmRfc3RyZWFtX2J5X3NzcmMpLCAoY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKG5ld19wYXlsb2FkX2ZvdW5kKSwKCSAgKG5ld19zc3JjX3BhZF9mb3VuZCksIChjcmVhdGVfcmVjdl9ydHApLCAoY3JlYXRlX3JlY3ZfcnRjcCksCgkgIChjcmVhdGVfc2VuZF9ydHApLCAoY3JlYXRlX3J0Y3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBBZGQgZGVidWdnaW5nIGNhdGVnb3J5LgoJICBBZGRlZCBSVFBTdHJlYW0gdG8gbWFuYWdlIHN0cmVhbSBwZXIgU1NSQywgZWFjaCB3aXRoIGl0cyBvd24KCSAgaml0dGVyYnVmZmVyIGFuZCBwdGRlbXV4LgoJICBBZGRlZCBTU1JDRGVtdXguCgkgIENvbm5lY3QgdG8gdmFyaW91cyBTU1JDIGFuZCBQVCBzaWduYWxzIGFuZCBjcmVhdGUgZ2hvc3RwYWRzLCBsaW5rIHN0dWZmLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzogKHBsdWdpbl9pbml0KToKCSAgQWRkZWQgcnRwYmluIHRvIGVsZW1lbnRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pOgoJICBGaXggY2FwcyBhbmQgZm9yd2FyZCBHc3RGbG93UmV0dXJuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0Y3Bfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCksIChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfcmVjdl9ydGNwX3NpbmspLCAoY3JlYXRlX3NlbmRfcnRwX3NpbmspLCAoY3JlYXRlX3J0Y3Bfc3JjKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9yZXF1ZXN0X25ld19wYWQpOgoJICBBZGQgZGVidWcgY2F0ZWdvcnkuCgkgIEFkZCBldmVudCBoYW5kbGluZwoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiAoZmluZF9ydHBfcGFkX2Zvcl9zc3JjKSwKCSAgKGNyZWF0ZV9ydHBfcGFkX2Zvcl9zc3JjKSwgKGdzdF9ydHBfc3NyY19kZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9pbml0KSwgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFpbiksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgQWRkIGRlYnVnIGNhdGVnb3J5LgoJICBBZGQgbmV3LXB0LXBhZCBzaWduYWwuCgoyMDA3LTA0LTA1IDEzOjQ5OjIxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHBvL25sLnBvOgoJICB1cGRhdGUgZHV0Y2gKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBkdXRjaAoKMjAwNy0wNC0wNSAxMzo0NToxNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby86IEFkZGVkIERhbmlzaCB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHN1Ym1pdHRlZCBieTogTW9nZW5zIEphZWdlciA8bW9nZW5zQGphZWdlci50Zj4KCSAgKiBwby9MSU5HVUFTOgoJICAqIHBvL2RhLnBvOgoJICBBZGRlZCBEYW5pc2ggdHJhbnNsYXRpb24uCgoyMDA3LTA0LTA0IDEwOjIzOjE1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBBZGRlZCBzaW1wbGUgU1NSQyBkZW11eGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IChmaW5kX3BhZF9mb3Jfc3NyYyksCgkgIChjcmVhdGVfcGFkX2Zvcl9zc3JjKSwgKGdzdF9ydHBfc3NyY19kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2luaXQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2ZpbmFsaXplKSwgKGdzdF9ydHBfc3NyY19kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFpbiksIChnc3RfcnRwX3NzcmNfZGVtdXhfc3JjX2V2ZW50KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBBZGRlZCBzaW1wbGUgU1NSQyBkZW11eGVyLgoKMjAwNy0wNC0wNCAwNzozNjoyOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiBUcnkgdCBiZXR0ZXIgbmFtZSBjbGllbnRzLiBwcm9wZXJseSBoYW5kbGUgcmV0dXJuIGNvZGVzIHdoZW4gcmUtIGVzdGFibGlzaGluZyBsaW5rcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiAoZ3N0X2phY2tfcmluZ19idWZmZXJfb3Blbl9kZXZpY2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfYWNxdWlyZSk6CgkgIFRyeSB0IGJldHRlciBuYW1lIGNsaWVudHMuIHByb3Blcmx5IGhhbmRsZSByZXR1cm4gY29kZXMgd2hlbiByZS0KCSAgZXN0YWJsaXNoaW5nIGxpbmtzLgoKMjAwNy0wNC0wMyAyMjozNjo0NyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IEZpeCBoYW5kbGluZyBvZiB2aWRlby94LXJhdy15dXYuICBBZGQgb3ZlcmxheSBoYW5kbGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICBGaXggaGFuZGxpbmcgb2YgdmlkZW8veC1yYXcteXV2LiAgQWRkIG92ZXJsYXkgaGFuZGxpbmcuCgoyMDA3LTA0LTAzIDEzOjI3OjIxICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHdpdGggcnRwIHBsdWdpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHdpdGggcnRwIHBsdWdpbgoKMjAwNy0wNC0wMyAxMTozNTozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogU29tZSBtb3JlIGdob3N0cGFkIG1hZ2ljLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGZpbmRfc2Vzc2lvbl9ieV9pZCksCgkgIChjcmVhdGVfc2Vzc2lvbiksIChnc3RfcnRwX2Jpbl9iYXNlX2luaXQpLCAoY3JlYXRlX3JlY3ZfcnRwKSwKCSAgKGNyZWF0ZV9yZWN2X3J0Y3ApLCAoY3JlYXRlX3NlbmRfcnRwKSwgKGNyZWF0ZV9ydGNwKSwKCSAgKGdzdF9ydHBfYmluX3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgIFNvbWUgbW9yZSBnaG9zdHBhZCBtYWdpYy4KCjIwMDctMDQtMDMgMDk6NTE6MTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbTogQWRkIC5oIGZpbGUgc28gaXQgY2FuIGJlIGRpc3RlZCBwcm9wZXJseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgIEFkZCAuaCBmaWxlIHNvIGl0IGNhbiBiZSBkaXN0ZWQgcHJvcGVybHkuCgoyMDA3LTA0LTAzIDA5OjEzOjE3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgQWRkIFJUUCBzZXNzaW9uIG1hbmFnZW1lbnQgZWxlbWVudHMuIFN0aWxsIGluIHByb2dyZXNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6IChhc3luY19qaXR0ZXJfcXVldWVfbmV3KSwKCSAgKHNpZ25hbF93YWl0aW5nX3RocmVhZHMpLCAoYXN5bmNfaml0dGVyX3F1ZXVlX3JlZiksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfcmVmX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfbG93X3RocmVzaG9sZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfc2V0X2hpZ2hfdGhyZXNob2xkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfbWF4X3F1ZXVlX2xlbmd0aCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfZ2V0X2dfcXVldWUpLCAoY2FsY3VsYXRlX3RzX2RpZmYpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX2xlbmd0aF90c191bml0c191bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfdW5yZWZfYW5kX3VubG9jayksIChhc3luY19qaXR0ZXJfcXVldWVfdW5yZWYpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX2xvY2spLCAoYXN5bmNfaml0dGVyX3F1ZXVlX3VubG9jayksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfcHVzaCksIChhc3luY19qaXR0ZXJfcXVldWVfcHVzaF91bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfcHVzaF9zb3J0ZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2hfc29ydGVkX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9pbnNlcnRfYWZ0ZXJfdW5sb2NrZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3BvcF9pbnRlcm5fdW5sb2NrZWQpLCAoYXN5bmNfaml0dGVyX3F1ZXVlX3BvcCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfcG9wX3VubG9ja2VkKSwgKGFzeW5jX2ppdHRlcl9xdWV1ZV9sZW5ndGgpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX2xlbmd0aF91bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfc2V0X2ZsdXNoaW5nX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV91bnNldF9mbHVzaGluZ191bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfc2V0X2Jsb2NraW5nX3VubG9ja2VkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfYmluX2luaXQpLAoJICAoZ3N0X3J0cF9iaW5fZmluYWxpemUpLCAoZ3N0X3J0cF9iaW5fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfYmluX2dldF9wcm9wZXJ0eSksIChnc3RfcnRwX2Jpbl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9iaW5fcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9ydHBfYmluX3JlbGVhc2VfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzogKG5ld19wYWQpLCAoY3JlYXRlX3N0cmVhbSksCgkgIChmcmVlX3N0cmVhbSksIChmaW5kX3N0cmVhbV9ieV9zc3JjKSwgKGdzdF9ydHBfY2xpZW50X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2NsaWVudF9jbGFzc19pbml0KSwgKGdzdF9ydHBfY2xpZW50X2luaXQpLAoJICAoZ3N0X3J0cF9jbGllbnRfZmluYWxpemUpLCAoZ3N0X3J0cF9jbGllbnRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfY2xpZW50X2dldF9wcm9wZXJ0eSksIChnc3RfcnRwX2NsaWVudF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9jbGllbnRfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9ydHBfY2xpZW50X3JlbGVhc2VfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2Rpc3Bvc2UpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldGNhcHMpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19zZXRjYXBzKSwgKGZyZWVfZnVuYyksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RhcnQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NyY19hY3RpdmF0ZV9wdXNoKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpLCAocHJpdl9jb21wYXJlX3J0cF9zZXFfbHQpLAoJICAoY29tcGFyZV9ydHBfYnVmZmVyc19zZXFfbnVtKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zaW5rX2V2ZW50KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9jbGFzc19pbml0KSwgKGdzdF9ydHBfcHRfZGVtdXhfaW5pdCksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2ZpbmFsaXplKSwgKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9nZXRjYXBzKSwgKGZpbmRfcGFkX2Zvcl9wdCksCgkgIChnc3RfcnRwX3B0X2RlbXV4X3NldHVwKSwgKGdzdF9ydHBfcHRfZGVtdXhfcmVsZWFzZSksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2ZpbmFsaXplKSwgKGdzdF9ydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSksIChnc3RfcnRwX3Nlc3Npb25fY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCksIChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfcmVjdl9ydGNwX3NpbmspLCAoY3JlYXRlX3NlbmRfcnRwX3NpbmspLCAoY3JlYXRlX3J0Y3Bfc3JjKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX3JlbGVhc2VfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgIEFkZCBSVFAgc2Vzc2lvbiBtYW5hZ2VtZW50IGVsZW1lbnRzLiBTdGlsbCBpbiBwcm9ncmVzcy4KCjIwMDctMDMtMzAgMDQ6NTA6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrLzogRG9uJ3QgcGxheSBhdWRpb2NvbnZlcnQuIEFzIHdhdnBhY2sgd2FudHMvb3V0cHV0cyBhbGwgc2FtcGxlcyB3aXRoIHdpZHRoPT0zMiBhbmQgZGVwdGg9WzEsMzJdIGFjY2VwdCB0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX3Npbmtfc2V0X2NhcHMpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsaXBfb3V0Z29pbmdfYnVmZmVyKSwKCSAgKGdzdF93YXZwYWNrX2RlY19wb3N0X3RhZ3MpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19zaW5rX3NldF9jYXBzKSwgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jaGFpbik6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICBEb24ndCBwbGF5IGF1ZGlvY29udmVydC4gQXMgd2F2cGFjayB3YW50cy9vdXRwdXRzIGFsbCBzYW1wbGVzIHdpdGgKCSAgd2lkdGg9PTMyIGFuZCBkZXB0aD1bMSwzMl0gYWNjZXB0IHRoaXMgYW5kIGxldCBhdWRpb2NvbnZlcnQgY29udmVydAoJICB0byBhY2NlcHRlZCBmb3JtYXRzIGluc3RlYWQgb2YgZG9pbmcgaXQgaW4gdGhlIGVsZW1lbnQgZm9yIG4qOCBkZXB0aHMuCgkgIFRoaXMgYWxzbyBhZGRzIHN1cHBvcnQgZm9yIG5vbi1uKjggZGVwdGhzIGFuZCBwcmV2ZW50cyBzb21lIHVzZWxlc3MKCSAgbWVtb3J5IGFsbG9jYXRpb25zLiBGaXhlcyAjNDIxNTk4CgkgIEFsc28gYWRkIGEgd29ya2Fyb3VuZCBmb3IgYnVnICM0MjE1NDIgaW4gd2F2cGFja2VuYyBmb3Igbm93Li4uCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgQ29uc2lkZXIgdGhlIGNoYW5nZSBhYm92ZSBpbiB0aGUgdW5pdCB0ZXN0cyBhbmQgdGVzdCBpZiB0aGUgY29ycmVjdAoJICBjYXBzIGFyZSBhY2NlcHRlZCBhbmQgc2V0LiBBbHNvIGNoZWNrIGZvciBHU1RfQlVGRkVSX09GRlNFVF9FTkQgaW4KCSAgdGhlIHdhdnBhY2twYXJzZSB1bml0IHRlc3QuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3Npbmtfc2V0X2NhcHMpOgoJICBTZXQgY2FwcyBvbiB0aGUgc3JjIHBhZCBhcyBzb29uIGFzIHBvc3NpYmxlLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBGaXggaW5kZW50aW9uLiBnc3QtaW5kZW50IGlzIG5vdyBjYWxsZWQgYnkgY2ljbC4KCjIwMDctMDMtMjggMTU6MTc6MjcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC86IFByb2Nlc3MgJ2N0dHMnIGF0b21zLCB3aGljaCBhcmUgcHJlc2VudCBpbiBBVkMgSVNPIGZpbGVzICgubW92IGZpbGVzIHdpdGggaDI2NCB2aWRlbykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUpLAoJICAoZ3N0X3F0ZGVtdXhfY2hhaW4pLCAocXRkZW11eF9wYXJzZV9zYW1wbGVzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzogKHF0ZGVtdXhfZHVtcF9jdHRzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzoKCSAgUHJvY2VzcyAnY3R0cycgYXRvbXMsIHdoaWNoIGFyZSBwcmVzZW50IGluIEFWQyBJU08gZmlsZXMgKC5tb3YgZmlsZXMKCSAgd2l0aCBoMjY0IHZpZGVvKS4KCSAgVXNlIHRoZSBvZmZzZXQgcHJlc2VudCBpbiAnY3R0cycgdG8gY2FsY3VsYXRlIHRoZSBQVFMgZm9yIGVhY2ggcGFja2V0CgkgIGFuZCBzZXQgdGhlIFBUUyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICBGaXhlcyAjNDIzMjgzCgoyMDA3LTAzLTI3IDE4OjAwOjU2ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC94dmlkL2dzdHh2aWRkZWMuYzogQWRkIHNvbWUgZGVidWcgbG9nIGFuZCBmaXggYSBzdHVwaWQgb3V0cHV0IGJ1ZmZlciBkdXJhdGlvbiBidWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTAzLTI3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOiAoZ3N0X3h2aWRkZWNfY2hhaW4pOiBBZGQgc29tZQoJICBkZWJ1ZyBsb2cgYW5kIGZpeCBhIHN0dXBpZCBvdXRwdXQgYnVmZmVyIGR1cmF0aW9uIGJ1Zy4KCjIwMDctMDMtMjYgMTQ6NDk6NDcgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGNvbW1vbjoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZpbGUgZm9yIHgyNjQgZW5jb2RlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZSBmb3IgeDI2NCBlbmNvZGVyCgoyMDA3LTAzLTI1IDEzOjA2OjI2ICswMDAwICBNaWNoYWwgQmVuZXMgPG1pY2hhbC5iZW5lc0BpdG9uaXMudHY+CgoJICBBZGQgbGlieDI2NC1iYXNlZCBoMjY0IGVuY29kZXIgcGx1Z2luICgjNDIxMTEwKS4gUHJvYmFibHkgZG9lc24ndCBoYW5kbGUgJ29kZCcgd2lkdGhzIGFuZCBoZWlnaHRzIGNvcnJlY3RseSB5ZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWljaGFsIEJlbmVzIDxtaWNoYWwuYmVuZXMgYXQgaXRvbmlzIHR2PgoJICBQYXRjaCBieTogSm9zZWYgWmxvbWVrIDxqb3NlZi56bG9tZWsgYXQgaXRvbmlzIHR2PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3gyNjQvTWFrZWZpbGUuYW06CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiAoZ3N0X3gyNjRfZW5jX21lX2dldF90eXBlKSwKCSAgKGdzdF94MjY0X2VuY19hbmFseXNlX2dldF90eXBlKSwKCSAgKGdzdF94MjY0X2VuY190aW1lc3RhbXBfcXVldWVfaW5pdCksCgkgIChnc3RfeDI2NF9lbmNfdGltZXN0YW1wX3F1ZXVlX2ZyZWUpLAoJICAoZ3N0X3gyNjRfZW5jX3RpbWVzdGFtcF9xdWV1ZV9wdXQpLAoJICAoZ3N0X3gyNjRfZW5jX3RpbWVzdGFtcF9xdWV1ZV9nZXQpLCAoZ3N0X3gyNjRfZW5jX2hlYWRlcl9idWYpLAoJICAoZ3N0X3gyNjRfZW5jX3NldF9zcmNfY2FwcyksIChnc3RfeDI2NF9lbmNfc2lua19zZXRfY2FwcyksCgkgIChnc3RfeDI2NF9lbmNfYmFzZV9pbml0KSwgKGdzdF94MjY0X2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF94MjY0X2VuY19pbml0KSwgKGdzdF94MjY0X2VuY19pbml0X2VuY29kZXIpLAoJICAoZ3N0X3gyNjRfZW5jX2Nsb3NlX2VuY29kZXIpLCAoZ3N0X3gyNjRfZW5jX2Rpc3Bvc2UpLAoJICAoZ3N0X3gyNjRfZW5jX3NpbmtfZXZlbnQpLCAoZ3N0X3gyNjRfZW5jX2NoYWluKSwKCSAgKGdzdF94MjY0X2VuY19lbmNvZGVfZnJhbWUpLCAoZ3N0X3gyNjRfZW5jX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfeDI2NF9lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF94MjY0X2VuY19nZXRfcHJvcGVydHkpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuaDoKCSAgQWRkIGxpYngyNjQtYmFzZWQgaDI2NCBlbmNvZGVyIHBsdWdpbiAoIzQyMTExMCkuIFByb2JhYmx5IGRvZXNuJ3QKCSAgaGFuZGxlICdvZGQnIHdpZHRocyBhbmQgaGVpZ2h0cyBjb3JyZWN0bHkgeWV0LgoKMjAwNy0wMy0yNCAxOTo0Njo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiBSZW1vdmUgJ2NoYW5uZWwtcG9zaXRpb25zJyBmaWVsZCB3aGVuIG11bmdpbmcgaW5wdXQgY2FwcyBpbnRvIDEtY2hhbm5lbCBvdXRwdXQgY2FwcyAoSS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfc2lua19zZXRjYXBzKToKCSAgUmVtb3ZlICdjaGFubmVsLXBvc2l0aW9ucycgZmllbGQgd2hlbiBtdW5naW5nIGlucHV0IGNhcHMgaW50bwoJICAxLWNoYW5uZWwgb3V0cHV0IGNhcHMgKEkgZ3Vlc3MgdGVjaG5pY2FsbHkgd2Ugc2hvdWxkIHNldCB0aGUKCSAgcG9zaXRpb24gZm9yIGVhY2ggY2hhbm5lbCBvbiB0aGUgb3V0cHV0IGNhcHMgaWYgaXQncyBub24tTk9ORSwKCSAgYnV0IEknbGwgc2F2ZSB0aGF0IGFzIGEgdGFzayBmb3IgYW5vdGhlciBkYXkpLgoKMjAwNy0wMy0yMyAxODo0MTo1MiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L3ZtbmMvdm1uY2RlYy5jOiBSZWRlc2lnbiB0byBpbmNsdWRlIGEgcGFyc2VyIGZvciByYXcgZmlsZXMgKG5vIHRpbWVzdGFtcHMgaW4gdGhhdCBtb2RlIHlldCwgdGhvdWdoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZtbmMvdm1uY2RlYy5jOiAoZ3N0X3ZtbmNfZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZtbmNfZGVjX2luaXQpLCAodm1uY19kZWNfZmluYWxpemUpLCAoZ3N0X3ZtbmNfZGVjX3Jlc2V0KSwKCSAgKHZtbmNfaGFuZGxlX3dtdmlfcmVjdGFuZ2xlKSwgKHJlbmRlcl9jb2xvdXJfY3Vyc29yKSwKCSAgKHJlbmRlcl9jdXJzb3IpLCAodm1uY19tYWtlX2J1ZmZlciksICh2bW5jX2hhbmRsZV93bXZkX3JlY3RhbmdsZSksCgkgICh2bW5jX2hhbmRsZV93bXZlX3JlY3RhbmdsZSksICh2bW5jX2hhbmRsZV93bXZmX3JlY3RhbmdsZSksCgkgICh2bW5jX2hhbmRsZV93bXZnX3JlY3RhbmdsZSksICh2bW5jX2hhbmRsZV93bXZoX3JlY3RhbmdsZSksCgkgICh2bW5jX2hhbmRsZV93bXZqX3JlY3RhbmdsZSksIChyZW5kZXJfcmF3X3RpbGUpLCAocmVuZGVyX3N1YnJlY3QpLAoJICAodm1uY19oYW5kbGVfcmF3X3JlY3RhbmdsZSksICh2bW5jX2hhbmRsZV9jb3B5X3JlY3RhbmdsZSksCgkgICh2bW5jX2hhbmRsZV9oZXh0aWxlX3JlY3RhbmdsZSksICh2bW5jX2hhbmRsZV9wYWNrZXQpLAoJICAodm1uY19kZWNfc2V0Y2FwcyksICh2bW5jX2RlY19jaGFpbl9mcmFtZSksICh2bW5jX2RlY19jaGFpbiksCgkgICh2bW5jX2RlY19zZXRfcHJvcGVydHkpLCAodm1uY19kZWNfZ2V0X3Byb3BlcnR5KToKCSAgUmVkZXNpZ24gdG8gaW5jbHVkZSBhIHBhcnNlciBmb3IgcmF3IGZpbGVzIChubyB0aW1lc3RhbXBzIGluIHRoYXQKCSAgbW9kZSB5ZXQsIHRob3VnaCkuCgoyMDA3LTAzLTIyIDIyOjE0OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IERvbid0IGxlYWsgaW5wdXQgYnVmZmVyIGluIGNoYWluIGZ1bmN0aW9uOyBtYWludGFpbiBvdXIgb3duIGxpc3Qgb2Ygc291cmNlIHBhZHMgLSB0aGVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9hZGRfbmV3X3BhZHMpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9yZW1vdmVfcGFkcyksIChnc3RfZGVpbnRlcmxlYXZlX3Byb2Nlc3MpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9jaGFpbik6CgkgIERvbid0IGxlYWsgaW5wdXQgYnVmZmVyIGluIGNoYWluIGZ1bmN0aW9uOyBtYWludGFpbiBvdXIgb3duIGxpc3Qgb2YKCSAgc291cmNlIHBhZHMgLSB0aGVyZSBhcmUgbm8gZ3VhcmFudGVlcyBhYm91dCB0aGUgb3JkZXIgb2YgdGhlIGxpc3QKCSAgaW4gdGhlIEdzdEVsZW1lbnQgc3RydWN0LCBhbmQgd2Ugd2FudCBhIHZlcnkgc3BlY2lmaWMgb3JkZXI7IGxhc3RseSwKCSAgc29tZSBtb3JlIGRlYnVnZ2luZy4KCjIwMDctMDMtMjIgMjE6MDc6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiBBbGxvYyB1c2VyIGFnZW50IHN0cmluZyBvbmx5IG9uY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX2luaXQpOgoJICBBbGxvYyB1c2VyIGFnZW50IHN0cmluZyBvbmx5IG9uY2UuCgoyMDA3LTAzLTIyIDE2OjI1OjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogUmV2ZXJ0IGxhc3QgY29tbWl0LCBwcmV2ZW50aW5nIGluZmluaXRlIHBsdWdnaW5nIGxvb3BzIHdpdGggcmFua3MgaXMgbm8gY2xlYW4gc29sdXRpb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9wbHVnaW5faW5pdCk6CgkgIFJldmVydCBsYXN0IGNvbW1pdCwgcHJldmVudGluZyBpbmZpbml0ZSBwbHVnZ2luZyBsb29wcyB3aXRoIHJhbmtzCgkgIGlzIG5vIGNsZWFuIHNvbHV0aW9uIGFuZCBpbiBnZW5lcmFsIHRoZXJlJ3Mgbm8gcmVhc29uIHdoeSBvbmUgd2FudHMKCSAgdG8gcGFyc2UgZnJhbWVkIHdhdnBhY2sgZGF0YSBhZ2Fpbi4KCjIwMDctMDMtMjIgMTU6NTI6NTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogU2VuZCB0aGUgbmV3IHNlZ21lbnQgZXZlbnQgaW4gdGltZSBmb3JtYXQgaW5zdGVhZCBvZiBieXRlcy4gVGhpcyBhbGxvd3MgIndhdnBhY2tlbmMgISB3YS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfcHVzaF9ibG9jayk6CgkgIFNlbmQgdGhlIG5ldyBzZWdtZW50IGV2ZW50IGluIHRpbWUgZm9ybWF0IGluc3RlYWQgb2YgYnl0ZXMuIFRoaXMKCSAgYWxsb3dzICJ3YXZwYWNrZW5jICEgd2F2cGFja2RlYyAhIHNvbWVhdWRpb3NpbmsiIHBpcGVsaW5lcy4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3BsdWdpbl9pbml0KToKCSAgQWNjZXB0IGZyYW1lZCBhbmQgbm9uLWZyYW1lZCBpbnB1dCwgd2F2cGFja3BhcnNlIGRvZXNuJ3QgY2FyZS4gVG8KCSAgcHJldmVudCAid2F2cGFja3BhcnNlICEgd2F2cGFja3BhcnNlICEgLi4uIiBwaXBlbGluZXMgbG93ZXIgdGhlCgkgIHJhbmsgb2Ygd2F2cGFja3BhcnNlIGJ5IG9uZS4gVGhpcyBhbGxvd3MgIndhdnBhY2tlbmMgISB3YXZwYWNrcGFyc2UgIQoJICAuLi4iIHBpcGVsaW5lcy4KCjIwMDctMDMtMjIgMTQ6Mzc6MDggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbTogVXNlIEdTVF9BTExfTERGTEFHUywgd2hpY2ggYWN0dWFsbHkgZXhpc3RzLCBidXQgbWF5YmUgRGF2aWQgY2FuIGNvbmZpcm0gdGhhdCB3YXMgd2hhdCBoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkgIFVzZSBHU1RfQUxMX0xERkxBR1MsIHdoaWNoIGFjdHVhbGx5IGV4aXN0cywgYnV0IG1heWJlIERhdmlkCgkgIGNhbiBjb25maXJtIHRoYXQgd2FzIHdoYXQgaGUgd2FudGVkLgoKMjAwNy0wMy0yMiAxMTowODowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBSZXZlcnQgdG8gdXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCkgaGVyZS4gV2UgY2FuIGFuZCBzaG91bGQgdXNlIGl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICBSZXZlcnQgdG8gdXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCkgaGVyZS4gV2UgY2FuIGFuZCBzaG91bGQgdXNlIGl0LgoJICBUaGFua3MgdG8gSmFuIGFuZCBNaWtlIGZvciBub3RpY2luZyBteSBtaXN0YWtlLgoKMjAwNy0wMy0yMiAwMDoxNzo0MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy4qOiBQdXQgdGhlIHdyaXRlIGhlbHBlcnMgaW50byB0aGUgR3N0V2F2cGFja0VuYyBzdHJ1Y3QgZGlyZWN0bHkgYW5kIG5vdCBhcyBhIHBvaW50ZXIgdG8gc2F2Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19jaGFpbiksCgkgIChnc3Rfd2F2cGFja19lbmNfcmV3cml0ZV9maXJzdF9ibG9jayk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICBQdXQgdGhlIHdyaXRlIGhlbHBlcnMgaW50byB0aGUgR3N0V2F2cGFja0VuYyBzdHJ1Y3QgZGlyZWN0bHkgYW5kIG5vdAoJICBhcyBhIHBvaW50ZXIgdG8gc2F2ZSB0d28gc21hbGwsIGJ1dCB1c2VsZXNzIG1hbGxvY3MuIFRoaXMgYWxzbyBtYWtlcwoJICBpdCBwb3NzaWJsZSB0byBkcm9wIHRoZSBmaW5hbGl6ZSBtZXRob2QuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9wdXNoX2J1ZmZlcik6CgkgIEZvciBjb25zaXN0ZW5jeSByZWFzb25zIGFsc28gc2V0IEdTVF9CVUZGRVJfT0ZGU0VUX0VORCBvbiB0aGUgb3V0Z29pbmcKCSAgYnVmZmVycyB0aGUgc2FtZSB3YXkgd2F2cGFja2VuYyBkb2VzIGl0LgoKMjAwNy0wMy0yMSAyMzo1MDowOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBEb24ndCB1c2UgZ3N0X3BhZF9hbGxvY19idWZmZXIoKSBhcyB3ZSBtaWdodCBjbGlwIHRoZSBidWZmZXIgbGF0ZXIgYW5kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgIERvbid0IHVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpIGFzIHdlIG1pZ2h0IGNsaXAgdGhlIGJ1ZmZlciBsYXRlciBhbmQKCSAgQmFzZVRyYW5zZm9ybS1iYXNlZCBlbGVtZW50cyB3aWxsIGxpa2VseSBicmVhayBiZWNhdXNlIG9mIHdyb25nCgkgIHVuaXQtc2l6ZS4gQWxzbyBwbHVnIGEgcG9zc2libGUgbWVtbGVhayB0aGF0IGhhcHBlbnMgd2hlbiBkZWNvZGluZwoJICBmYWlscyBmb3Igc29tZSByZWFzb24uCgoyMDA3LTAzLTE4IDE3OjU3OjQ4ICswMDAwICBQYXVsIERhdmlzIDxwYXVsQGxpbnV4YXVkaW9zeXN0ZW1zLmNvbT4KCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOiBEb24ndCBuZWVkIHRvIHRha2UgdGhlIGNvbm5lY3Rpb24gbG9jaywgaXQgd2lsbCBub3QgYmUgdXNlZCBhbmQgY291bGQgY2F1c2UgZGVhZGxvY2tzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IFBhdWwgRGF2aXMgPHBhdWwgYXQgbGludXhhdWRpb3N5c3RlbXMgZG90IGNvbT4KCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzogKGdzdF9qYWNrX2F1ZGlvX3VucmVmX2Nvbm5lY3Rpb24pOgoJICBEb24ndCBuZWVkIHRvIHRha2UgdGhlIGNvbm5lY3Rpb24gbG9jaywgaXQgd2lsbCBub3QgYmUgdXNlZCBhbmQgY291bGQKCSAgY2F1c2UgZGVhZGxvY2tzLgoKMjAwNy0wMy0xNiAxODozODoxOCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubTogRml4IHByZXZpb3VzIGNvbW1pdCwgd2Ugd2FudCB0byBwYXNzIHRoZSBOU1ZpZXcgaW4gdGhlIG1lc3NhZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgRml4IHByZXZpb3VzIGNvbW1pdCwgd2Ugd2FudCB0byBwYXNzIHRoZSBOU1ZpZXcgaW4gdGhlIG1lc3NhZ2UuCgoyMDA3LTAzLTE2IDE2OjI3OjIwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOiBFbWl0ICdoYXZlLW5zLXZpZXcnIG1lc3NhZ2Ugd2hlbiB3b3JraW5nIGluIGVtYmVkZGVkIG1vZGUuIFRoZSBtZXNzYWdlIHdpbGwgY29udGFpbiBhIHBvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgRW1pdCAnaGF2ZS1ucy12aWV3JyBtZXNzYWdlIHdoZW4gd29ya2luZyBpbiBlbWJlZGRlZCBtb2RlLiBUaGUgbWVzc2FnZQoJICB3aWxsIGNvbnRhaW4gYSBwb2ludGVyIHRvIHRoZSBuZXdseSBjcmVhdGVkIE5TVmlldy4KCjIwMDctMDMtMTYgMTE6MjI6NDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L21wZWd2aWRlb3BhcnNlLzogTW92ZSB0aGUgTVBFRyBzcGVjaWZpYyBieXRlIHBhcnNpbmcgaW50byB0aGUgbXBlZ3BhY2tldGlzZXIgY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6IChtcGVnX3V0aWxfZmluZF9zdGFydF9jb2RlKSwKCSAgKGNvbGxlY3RfcGFja2V0cyksIChzZXRfcGFyX2Zyb21fZGFyKSwgKHNldF9mcHNfZnJvbV9jb2RlKSwKCSAgKG1wZWdfdXRpbF9wYXJzZV9leHRlbnNpb25fcGFja2V0KSwgKG1wZWdfdXRpbF9wYXJzZV9zZXF1ZW5jZV9oZHIpLAoJICAobXBlZ191dGlsX3BhcnNlX3BpY3R1cmVfaGRyKToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuaDoKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgKG1wZWd2aWRlb3BhcnNlX2hhbmRsZV9zZXF1ZW5jZSksIChtcGVndmlkZW9wYXJzZV9oYW5kbGVfcGljdHVyZSksCgkgIChtcGVndmlkZW9wYXJzZV9kcmFpbl9hdmFpbCksIChnc3RfbXBlZ3ZpZGVvcGFyc2VfY2hhaW4pLAoJICAobXB2X3BhcnNlX3NpbmtfZXZlbnQpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5oOgoJICBNb3ZlIHRoZSBNUEVHIHNwZWNpZmljIGJ5dGUgcGFyc2luZyBpbnRvIHRoZSBtcGVncGFja2V0aXNlciBjb2RlLgoJICBBZGQgcGFyc2luZyBvZiBwaWN0dXJlIHR5cGVzLCB0aGF0IGp1c3QgZmVlZHMgaW50byBhIGRlYnVnIG1lc3NhZ2UKCSAgZm9yIG5vdy4KCSAgRml4IHNvbWUgNjQtYml0IGZvcm1hdCBzdHJpbmdzLgoKMjAwNy0wMy0xNiAxMDoxNTo0OCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogQ2hhbmdlTG9nOgoJICBDaGFuZ2Vsb2cgc3VyZ2VyeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlbG9nIHN1cmdlcnkKCjIwMDctMDMtMTYgMDk6NTc6NDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOiBBIDEwIGJhbmQgRVEgc2hvdWxkIGJlIGluaXRpYWxpemVkIHRvIDEgYmFuZHMgYW5kIG5vdCB0byAzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfaW5pdCk6CgkgIEEgMTAgYmFuZCBFUSBzaG91bGQgYmUgaW5pdGlhbGl6ZWQgdG8gMSBiYW5kcyBhbmQgbm90IHRvIDMuCgoyMDA3LTAzLTE1IDIwOjQ4OjA4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFBvcnQgbXBlZzF2aWRlb3BhcnNlIHRvIDAuMTAgYW5kIGdpdmUgaXQgcmFuayBTRUNPTkRBUlktMSwgc28gdGhhdCBpdCdzIGJlbG93IGV4aXN0aW5nIGRlY29kZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuYzoKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuaDoKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL21wMXZpZGVvcGFyc2UudmNwcm9qOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzogKG1wZWdfcGFja2V0aXNlcl9pbml0KSwKCSAgKG1wZWdfcGFja2V0aXNlcl9mcmVlKSwgKG1wZWdfcGFja2V0aXNlcl9hZGRfYnVmKSwKCSAgKG1wZWdfcGFja2V0aXNlcl9mbHVzaCksIChtcGVnX2ZpbmRfc3RhcnRfY29kZSksCgkgIChnZXRfbmV4dF9mcmVlX2Jsb2NrKSwgKGNvbXBsZXRlX2N1cnJlbnRfYmxvY2spLAoJICAoYXBwZW5kX3RvX2N1cnJlbnRfYmxvY2spLCAoc3RhcnRfbmV3X2Jsb2NrKSwgKGhhbmRsZV9wYWNrZXQpLAoJICAoY29sbGVjdF9wYWNrZXRzKSwgKG1wZWdfcGFja2V0aXNlcl9oYW5kbGVfZW9zKSwKCSAgKG1wZWdfcGFja2V0aXNlcl9nZXRfYmxvY2spLCAobXBlZ19wYWNrZXRpc2VyX25leHRfYmxvY2spOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5oOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOiAobXBlZ3ZpZGVvcGFyc2VfZ2V0X3R5cGUpLAoJICAoZ3N0X21wZWd2aWRlb3BhcnNlX2Jhc2VfaW5pdCksIChnc3RfbXBlZ3ZpZGVvcGFyc2VfY2xhc3NfaW5pdCksCgkgIChtcHZfcGFyc2VfcmVzZXQpLCAoZ3N0X21wZWd2aWRlb3BhcnNlX2luaXQpLAoJICAoZ3N0X21wZWd2aWRlb3BhcnNlX2Rpc3Bvc2UpLCAoc2V0X3Bhcl9mcm9tX2RhciksCgkgIChzZXRfZnBzX2Zyb21fY29kZSksIChtcGVndmlkZW9wYXJzZV9wYXJzZV9zZXEpLAoJICAoZ3N0X21wZWd2aWRlb3BhcnNlX3RpbWVfY29kZSksIChnc3RfbXBlZ3ZpZGVvcGFyc2VfZmx1c2gpLAoJICAobXBlZ3ZpZGVvcGFyc2VfZHJhaW5fYXZhaWwpLCAoZ3N0X21wZWd2aWRlb3BhcnNlX2NoYWluKSwKCSAgKG1wdl9wYXJzZV9zaW5rX2V2ZW50KSwgKGdzdF9tcGVndmlkZW9wYXJzZV9jaGFuZ2Vfc3RhdGUpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5oOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS52Y3Byb2o6CgkgIFBvcnQgbXBlZzF2aWRlb3BhcnNlIHRvIDAuMTAgYW5kIGdpdmUgaXQgcmFuayBTRUNPTkRBUlktMSwgc28KCSAgdGhhdCBpdCdzIGJlbG93IGV4aXN0aW5nIGRlY29kZXJzLgoJICBSZW5hbWUgaXQgdG8gbXBlZ3ZpZGVvcGFyc2UgdG8gcmVmbGVjdCB0aGF0IGl0IGhhbmRsZXMgTVBFRy0xIGFuZAoJICBNUEVHLTIgbm93LgoJICBSZS13cml0ZSB0aGUgcGFyc2luZyBjb2RlIHNvIHRoYXQgaXQgY29sbGVjdHMgcGFja2V0cyBkaWZmZXJlbnRseQoJICBhbmQgdGltZXN0YW1wcyBQaWN0dXJlIHBhY2tldHMgY29ycmVjdGx5LgoJICBBZGQgYSBsaXN0IG9mIEZJWE1FJ3MgYXQgdGhlIHRvcC4KCjIwMDctMDMtMTUgMTA6NTI6MjEgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogRG9uJ3QgdHJpZ2dlciBkaXNjb250aW51aXRpZXMgZm9yIHZlcnkgc21hbGwgaW1wZXJmZWN0aW9uczsgYSBmaWx0ZXIgZmx1c2ggd2lsbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIChhdWRpb3Jlc2FtcGxlX2NoZWNrX2Rpc2NvbnQpLCAoYXVkaW9yZXNhbXBsZV90cmFuc2Zvcm0pOgoJICBEb24ndCB0cmlnZ2VyIGRpc2NvbnRpbnVpdGllcyBmb3IgdmVyeSBzbWFsbCBpbXBlcmZlY3Rpb25zOyBhIGZpbHRlcgoJICBmbHVzaCB3aWxsIHNvdW5kIGJhZCwgYW5kIG1hbnkgcGx1Z2lucyBoYXZlIHJvdW5kaW5nIGVycm9ycyBsZWFkaW5nCgkgIHRvIHRoZXNlLgoKMjAwNy0wMy0xNCAxNzoxNjozMCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IEhhbmRsZSBkaXNjb250aW51b3VzIHN0cmVhbXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTAzLTE0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiAoZ3N0X2F1ZGlvcmVzYW1wbGVfaW5pdCksCgkgIChhdWRpb3Jlc2FtcGxlX3RyYW5zZm9ybV9zaXplKSwgKGF1ZGlvcmVzYW1wbGVfZG9fb3V0cHV0KSwKCSAgKGF1ZGlvcmVzYW1wbGVfdHJhbnNmb3JtKSwgKGF1ZGlvcmVzYW1wbGVfcHVzaHRocm91Z2gpOiBIYW5kbGUKCSAgZGlzY29udGludW91cyBzdHJlYW1zLgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuaDoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6CgkgICh0ZXN0X2Rpc2NvbnRfc3RyZWFtX2luc3RhbmNlKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKGF1ZGlvcmVzYW1wbGVfc3VpdGUpOiBBZGQgYSB0ZXN0IGZvciBkaXNjb250aW51b3VzIHN0cmVhbXMuCgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOiBVcGRhdGVkLgoKMjAwNy0wMy0xNCAxNjozMzowMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzogUG9ydCB0aGUgZXhhbXBsZSB0byBuZXcgZXF1YWxpemVyIGFwaS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzogKGVxdWFsaXplcl9zZXRfYmFuZF92YWx1ZSksCgkgIChlcXVhbGl6ZXJfc2V0X2FsbF9iYW5kX3ZhbHVlcyksCgkgIChlcXVhbGl6ZXJfc2V0X2JhbmRfdmFsdWVfYW5kX3dhaXQpLAoJICAoZXF1YWxpemVyX3NldF9hbGxfYmFuZF92YWx1ZXNfYW5kX3dhaXQpLCAoZG9fc2xpZGVyX2ZpZGRsaW5nKSwKCSAgKG1haW4pOgoJICBQb3J0IHRoZSBleGFtcGxlIHRvIG5ldyBlcXVhbGl6ZXIgYXBpLgoKMjAwNy0wMy0xNCAxNjozMDoxOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9vc3h2aWRlby86IEZpeCBsZWFrcyB3aGVuIHJ1bm5pbmcgYSBOU0FwcC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgRml4IGxlYWtzIHdoZW4gcnVubmluZyBhIE5TQXBwLgoJICBBY2NlcHQgYW55IGtpbmQgb2YgcmVzb2x1dGlvbnMuCgkgIFdvcmtzIGluIGZ1bGxzY3JlZW4uIENhbiBtYXhpbWl6ZS4KCSAgT25seSB0aGluZyBsZWZ0IGJlZm9yZSBiZWluZyBhYmxlIHRvIG1vdmUgdGhpcyB0byAtZ29vZCBpcyBkb2N1bWVudGF0aW9uCgkgIGFuZCBlbWJlZGRlZCB3aW5kb3cgc3VwcG9ydC4KCjIwMDctMDMtMTQgMTU6MzM6MjUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vOiBVcGRhdGVkIHRyYW5zbGF0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vaHUucG86CgkgICogcG8vaXQucG86CgkgICogcG8vc3YucG86CgkgIFVwZGF0ZWQgdHJhbnNsYXRpb25zLgoKMjAwNy0wMy0xNCAxNDo0ODoxMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS86IFNpbmNlIEkgcmVhbGx5IGFtIG5vdCBpbnRlcmVzdGVkIGluIGEgZGVidWcgbGluZSBmb3IgZWFjaCBzYW1wbGUgYmVpbmcgcHJvY2Vzc2VkLCBtb3ZlIHRoZSBsaWJyYXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZGVidWcuaDoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5jOiAocmVzYW1wbGVfaW5pdCk6CgkgIFNpbmNlIEkgcmVhbGx5IGFtIG5vdCBpbnRlcmVzdGVkIGluIGEgZGVidWcgbGluZSBmb3IgZWFjaCBzYW1wbGUKCSAgYmVpbmcgcHJvY2Vzc2VkLCBtb3ZlIHRoZSBsaWJyYXJ5J3MgZGVidWdnaW5nIHRvIGl0cyBvd24gY2F0ZWdvcnksCgkgIGxpYmF1ZGlvcmVzYW1wbGUKCjIwMDctMDMtMTQgMTQ6NDg6MDggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBBZGQgMyBhbmQgMTAgYmFuZCB2ZXJzaW9uIGFuZCBhZGQgbWlzc2luZyBnc3Rfb2JqZWN0X3N5bmNfdmFsdWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChfZG9faW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfdHlwZSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRfYnlfaW5kZXgpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkcmVuX2NvdW50KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2ludGVyZmFjZV9pbml0KSwgKHNldHVwX2ZpbHRlciksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3RyYW5zZm9ybV9pcCksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl8xMGJhbmRzX2Jhc2VfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl8xMGJhbmRzX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuaDoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfM2JhbmRzX2Jhc2VfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl8zYmFuZHNfY2xhc3NfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl8zYmFuZHNfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl8zYmFuZHNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzNiYW5kc19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmg6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19iYXNlX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2luaXQpOgoJICBBZGQgMyBhbmQgMTAgYmFuZCB2ZXJzaW9uIGFuZCBhZGQgbWlzc2luZyBnc3Rfb2JqZWN0X3N5bmNfdmFsdWVzLgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2V2ZW50KSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBBZGQgc29tZSBjb21tZW50cyBhYm91dCBmbG9hdCBzdXBwb3J0LgoKMjAwNy0wMy0xNCAxNDowOToyMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIGFkZCBkZWJ1Z2dpbmcgYW5kIHJlZm9ybWF0IGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBkZWJ1Z2dpbmcgYW5kIHJlZm9ybWF0IGRvY3MKCjIwMDctMDMtMTMgMTg6MDE6NDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L21wZWdhdWRpb3BhcnNlLzogUmVtb3ZlIGJvZ3VzIDJuZCBjb3B5IG9mIG1wM3BhcnNlIC0gaXQncyBhY3R1YWxseSBpbiAtdWdseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9tcGVnYXVkaW9wYXJzZS52Y3Byb2o6CgkgIFJlbW92ZSBib2d1cyAybmQgY29weSBvZiBtcDNwYXJzZSAtIGl0J3MgYWN0dWFsbHkKCSAgaW4gLXVnbHkuCgoyMDA3LTAzLTEyIDExOjQ3OjQyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4YW1wbGVzL2FwcC8uY3ZzaWdub3JlOiBUaGUgYnVpbGRib3QgZGVtYW5kcyAuY3ZzaWdub3JlIGZpbGVzLCBhbmQgSSBjb21wbHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2FwcC8uY3ZzaWdub3JlOgoJICBUaGUgYnVpbGRib3QgZGVtYW5kcyAuY3ZzaWdub3JlIGZpbGVzLCBhbmQgSSBjb21wbHkuCgoyMDA3LTAzLTExIDIyOjIzOjA0ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay4qOiBIYW5kbGUgZGlzcGxheSBtb2RlIGNoYW5nZXMgZHVyaW5nIHBsYXliYWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIEhhbmRsZSBkaXNwbGF5IG1vZGUgY2hhbmdlcyBkdXJpbmcgcGxheWJhY2suCgoyMDA3LTAzLTExIDAwOjQ4OjI2ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIEFkZCBhcHBzcmMvYXBwc2luayBleGFtcGxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgICogZXhhbXBsZXMvYXBwL01ha2VmaWxlLmFtOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmNfZXguYzoKCSAgQWRkIGFwcHNyYy9hcHBzaW5rIGV4YW1wbGUuCgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcC5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5oOgoJICAqIGdzdC9hcHAvZ3N0YXBwLmM6CgkgIEFkZCBhcHBzaW5rLgoKMjAwNy0wMy0xMCAyMDoxMDowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC86IFByaW50ZiBmb3JtYXQgc3RyaW5nIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKE5BU19jcmVhdGVGbG93KToKCSAgKiBleHQvc25kZmlsZS9nc3RzZnNyYy5jOiAoZ3N0X3NmX3NyY19jcmVhdGUpOgoJICBQcmludGYgZm9ybWF0IHN0cmluZyBmaXhlcy4KCjIwMDctMDMtMDkgMDg6NTg6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBSZWZhY3RvciBwbHVnaW4gaW50byBhIGJhc2UgY2xhc3MgYW5kIGEgZmlyc3Qgc3ViY2xhc3MgKG5iYW5kIGVxKS4gVGhlIG5iYW5kIGVxIHVzZXMgR3N0Q2hpbGRQcm94eSBhbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChfZG9faW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfdHlwZSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRfYnlfaW5kZXgpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkcmVuX2NvdW50KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2ludGVyZmFjZV9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2Jhc2VfaW5pdCksIChnc3RfaWlyX2VxdWFsaXplcl9jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2ZpbmFsaXplKSwgKHNldHVwX2ZpbHRlciksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3NldF9wcm9wZXJ0eSksIChnc3RfaWlyX2VxdWFsaXplcl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0dXApLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmg6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19iYXNlX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5oOgoJICBSZWZhY3RvciBwbHVnaW4gaW50byBhIGJhc2UgY2xhc3MgYW5kIGEgZmlyc3Qgc3ViY2xhc3MgKG5iYW5kIGVxKS4gVGhlCgkgIG5iYW5kIGVxIHVzZXMgR3N0Q2hpbGRQcm94eSBhbmQgaXMgY29udHJvbGFibGUuIE1vcmUgc3ViY2xhc3NlcyB3aWxsCgkgIGZvbGxvdy4KCjIwMDctMDMtMDggMTU6MjQ6NTIgKzAwMDAgIFBhdWwgRGF2aXMgPHBhdWxAbGludXhhdWRpb3N5c3RlbXMuY29tPgoKCSAgZXh0L2phY2svOiBNYWtlIGFuIG9iamVjdCB0byBtYW5hZ2UgY2xpZW50IGNvbm5lY3Rpb25zIHRvIHRoZSBqYWNrIHNlcnZlciB3aGljaCB3ZSB3aWxsIHVzZSBpbiB0aGUgZnV0dXJlIHRvIHJ1biBzZWxlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBJbmNsdWRlcyBwYXRjaCBieTogUGF1bCBEYXZpcyA8cGF1bCBhdCBsaW51eGF1ZGlvc3lzdGVtcyBkb3QgY29tPgoJICAqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOiAoZ3N0X2phY2tfYXVkaW9fY2xpZW50X2luaXQpLAoJICAoamFja19wcm9jZXNzX2NiKSwgKGphY2tfc2FtcGxlX3JhdGVfY2IpLCAoamFja19idWZmZXJfc2l6ZV9jYiksCgkgIChqYWNrX3NodXRkb3duX2NiKSwgKGNvbm5lY3Rpb25fZmluZCksCgkgIChnc3RfamFja19hdWRpb19tYWtlX2Nvbm5lY3Rpb24pLCAoZ3N0X2phY2tfYXVkaW9fZ2V0X2Nvbm5lY3Rpb24pLAoJICAoZ3N0X2phY2tfYXVkaW9fdW5yZWZfY29ubmVjdGlvbiksCgkgIChnc3RfamFja19hdWRpb19jb25uZWN0aW9uX2FkZF9jbGllbnQpLAoJICAoZ3N0X2phY2tfYXVkaW9fY29ubmVjdGlvbl9yZW1vdmVfY2xpZW50KSwKCSAgKGdzdF9qYWNrX2F1ZGlvX2NsaWVudF9uZXcpLCAoZ3N0X2phY2tfYXVkaW9fY2xpZW50X2ZyZWUpLAoJICAoZ3N0X2phY2tfYXVkaW9fY2xpZW50X2dldF9jbGllbnQpLAoJICAoZ3N0X2phY2tfYXVkaW9fY2xpZW50X3NldF9hY3RpdmUpOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5oOgoJICBNYWtlIGFuIG9iamVjdCB0byBtYW5hZ2UgY2xpZW50IGNvbm5lY3Rpb25zIHRvIHRoZSBqYWNrIHNlcnZlciB3aGljaCB3ZQoJICB3aWxsIHVzZSBpbiB0aGUgZnV0dXJlIHRvIHJ1biBzZWxlY3RlZCBqYWNrIGVsZW1lbnRzIHdpdGggdGhlIHNhbWUgamFjawoJICBjb25uZWN0aW9uLgoJICBNYWtlIHNvbWUgc3R1ZmYgYSBiaXQgbW9yZSB0aHJlYWRzYWZlLgoJICBBY3RpdmF0ZSB0aGUgamFjayBjbGllbnQgQVNBUC4KCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgIChnc3RfamFja19hdWRpb19zaW5rX2FsbG9jYXRlX2NoYW5uZWxzKSwKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfZnJlZV9jaGFubmVscyksIChqYWNrX3Byb2Nlc3NfY2IpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfb3Blbl9kZXZpY2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfY2xvc2VfZGV2aWNlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2FjcXVpcmUpLCAoZ3N0X2phY2tfcmluZ19idWZmZXJfcmVsZWFzZSksCgkgIChnc3RfamFja19hdWRpb19zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2phY2tfYXVkaW9fc2lua19pbml0KSwKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfZ2V0Y2Fwcyk6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJICBVc2UgbmV3IGNsaWVudCBvYmplY3QgdG8gbWFuYWdlIGNvbm5lY3Rpb25zLgoJICBEb24ndCByZW1vdmUgYW5kIHJlY3JlYXRlIGFsbCBwb3J0cywgdHJ5IHRvIHJldXNlIHRoZW0uCgoyMDA3LTAzLTA3IDEyOjA3OjA3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay86IFVzZSBhIGdlbmVyYWwgd2F2cGFjayBkZWJ1ZyBjYXRlZ29yeSBmb3IgY29tbW9uIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2suYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmM6CgkgIFVzZSBhIGdlbmVyYWwgd2F2cGFjayBkZWJ1ZyBjYXRlZ29yeSBmb3IgY29tbW9uIGNvZGUuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3N0cmVhbXJlYWRlci5jOgoJICAoZ3N0X3dhdnBhY2tfc3RyZWFtX3JlYWRlcl9zZXRfcG9zX2FicyksCgkgIChnc3Rfd2F2cGFja19zdHJlYW1fcmVhZGVyX3NldF9wb3NfcmVsKSwKCSAgKGdzdF93YXZwYWNrX3N0cmVhbV9yZWFkZXJfd3JpdGVfYnl0ZXMpOgoJICBVc2UgdGhlIGdlbmVyYWwgd2F2cGFjayBkZWJ1ZyBjYXRlZ29yeSBoZXJlIHRvbyBhbmQgYWRkIGRlYnVnCgkgIG91dHB1dCB0byB0aGUgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgYXQgYWxsIGJ5CgkgIHRoZSB3YXZwYWNrIGxpYnJhcnkuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX3BsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfcGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcGx1Z2luX2luaXQpOgoJICBDaGFuZ2UgZGVidWdnaW5nIGNhdGVnb3J5IG5hbWVzIHRvIGNvbmZvcm0gdG8gdGhlIGNvbnZlbnRpb25zLgoKMjAwNy0wMy0wNyAxMTozNzoyMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguKjogU2hhcmUgcXRkZW11eCBkZWJ1ZyBjYXRlZ29yeSBhY3Jvc3MgYWxsIGZpbGVzLCBvdGhlcndpc2UgYWxsIGRlYnVnZ2luZyBpbiBmaWxlcyBvdGhlciB0aGFuIHF0ZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBTaGFyZSBxdGRlbXV4IGRlYnVnIGNhdGVnb3J5IGFjcm9zcyBhbGwgZmlsZXMsIG90aGVyd2lzZSBhbGwgZGVidWdnaW5nCgkgIGluIGZpbGVzIG90aGVyIHRoYW4gcXRkZW11eC5jIHdvdWxkIGVuZCB1cCBpbiB0aGUgZGVmYXVsdCBjYXRlZ29yeS4KCjIwMDctMDMtMDcgMTE6MjM6MjAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS4qOiBPbmUgRklYTUUgbGVzcywgYnkgcmVzb2x2aW5nIG1lc3NhZ2UgdGltZXN0YW1wcyBhZ2FpbnN0IHRoZSBwbGF5YmFjayBzZWdtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9zdGFydCksCgkgIChnc3Rfc3BlY3RydW1fZXZlbnQpLCAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIE9uZSBGSVhNRSBsZXNzLCBieSByZXNvbHZpbmcgbWVzc2FnZSB0aW1lc3RhbXBzIGFnYWluc3QgdGhlIHBsYXliYWNrCgkgIHNlZ21lbnQuCgoyMDA3LTAzLTA2IDEzOjU3OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IEZpeCBhbmQgY2xlYW51cCBkZWZhdWx0IHByb3BlcnR5IHZhbHVlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1faW5pdCksIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBGaXggYW5kIGNsZWFudXAgZGVmYXVsdCBwcm9wZXJ0eSB2YWx1ZXMuCgkgIEFkZCBGSVhNRXMgZm9yIHN0dWZmIHRoYXQgbG9va3MgcmF0aGVyIHdyb25nLgoKMjAwNy0wMy0wNSAwODozMDo1MiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtLzogUmVtb3ZlIHR3byBvYnNvbGV0ZSBhbmQgY29uZnVzaW5nIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzogKG1lc3NhZ2VfaGFuZGxlcik6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChtZXNzYWdlX2hhbmRsZXIpOgoJICBSZW1vdmUgdHdvIG9ic29sZXRlIGFuZCBjb25mdXNpbmcgY29tbWVudHMuCgoyMDA3LTAzLTA0IDIxOjM2OjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L25hcy9uYXNzaW5rLmM6IFNvbWUgbW9yZSBjbGVhbnVwcy9jaGFuZ2VzOyB1c2UgYm9pbGVycGxhdGUgbWFjcm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc19zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X25hc19zaW5rX2luaXQpLCAoZ3N0X25hc19zaW5rX2dldGNhcHMpLAoJICAoZ3N0X25hc19zaW5rX3VucHJlcGFyZSk6CgkgIFNvbWUgbW9yZSBjbGVhbnVwcy9jaGFuZ2VzOyB1c2UgYm9pbGVycGxhdGUgbWFjcm8uCgoyMDA3LTAzLTA0IDIwOjM1OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L25hcy86IEJ1bmNoIG9mIG5hc3NpbmsgY2xlYW4tdXBzOiBtYWtlIGJ1aWxkIGJ5IGFkZGluZyB0aGUgcmlnaHQgQ0ZMQUdTIGFuZCBMSUJTIHRvIE1ha2VmaWxlLmFtOyByZW5hbWUgc3RydWN0dXJlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uYXMvTWFrZWZpbGUuYW06CgkgICogZXh0L25hcy9SRUFETUU6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzX3NpbmtfZ2V0X3R5cGUpLAoJICAoZ3N0X25hc19zaW5rX2Jhc2VfaW5pdCksIChnc3RfbmFzX3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfbmFzX3NpbmtfaW5pdCksIChnc3RfbmFzX3NpbmtfZmluYWxpemUpLAoJICAoZ3N0X25hc19zaW5rX2dldGNhcHMpLCAoZ3N0X25hc19zaW5rX3ByZXBhcmUpLAoJICAoZ3N0X25hc19zaW5rX3VucHJlcGFyZSksIChnc3RfbmFzX3NpbmtfZGVsYXkpLAoJICAoZ3N0X25hc19zaW5rX3Jlc2V0KSwgKGdzdF9uYXNfc2lua193cml0ZSksCgkgIChnc3RfbmFzX3Npbmtfc2V0X3Byb3BlcnR5KSwgKGdzdF9uYXNfc2lua19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X25hc19zaW5rX29wZW4pLCAoZ3N0X25hc19zaW5rX2Nsb3NlKSwgKE5BU19mbHVzaCksCgkgIChOQVNfc2VuZERhdGEpLCAoTkFTX0V2ZW50SGFuZGxlciksIChnc3RfbmFzX3Npbmtfc2lua19nZXRfZm9ybWF0KSwKCSAgKE5BU19jcmVhdGVGbG93KSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvbmFzL25hc3NpbmsuaDoKCSAgQnVuY2ggb2YgbmFzc2luayBjbGVhbi11cHM6IG1ha2UgYnVpbGQgYnkgYWRkaW5nIHRoZSByaWdodCBDRkxBR1MKCSAgYW5kIExJQlMgdG8gTWFrZWZpbGUuYW07IHJlbmFtZSBzdHJ1Y3R1cmUsIG1hY3JvcyBhbmQgZnVuY3Rpb25zCgkgIGFjY29yZGluZyB0byBjYW5vbmljYWwgbmFtaW5nIHNjaGVtZTsgbW92ZSBzb21lIHRoaW5ncyBhcm91bmQgYSBiaXQ7CgkgIHVzZSBHU1RfQ0FUX0RFRkFVTFQgaW5zdGVhZCBvZiBHU1RfQ0FUXyogZXZlcnl3aGVyZTsgcmVtb3ZlIFJFQURNRQoJICBmaWxlIHRoYXQgZGlkbid0IHJlYWxseSBjb250YWluIGFueSB1c2VmdWwgaW5mb3JtYXRpb24gYW55d2F5ICh0aGUKCSAgdXNlZnVsIGJpdHMgaGF2ZSBiZWVuIG1vdmVkIGludG8gdGhlICdob3N0JyBwcm9wZXJ0eSBkZXNjcmlwdGlvbikuCgoyMDA3LTAzLTA0IDE2OjM4OjM5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogQ2hhaW4gdXAgaW4gZmluYWxpemUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKGdzdF9kZmJ2aWRlb3NpbmtfZmluYWxpemUpOgoJICBDaGFpbiB1cCBpbiBmaW5hbGl6ZS4KCjIwMDctMDMtMDMgMjI6Mjg6MDMgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIEZpeCB1cCBkaXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3ZtbmMvTWFrZWZpbGUuYW06CgkgIEZpeCB1cCBkaXN0LgoKMjAwNy0wMy0wMyAyMjoxMzoyMiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgQWRkIFZNbmMgZGVjb2Rlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC92bW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC92bW5jL3ZtbmNkZWMuYzogKGdzdF92bW5jX2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X3ZtbmNfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X3ZtbmNfZGVjX2luaXQpLAoJICAoZ3N0X3ZtbmNfZGVjX3Jlc2V0KSwgKHZtbmNfaGFuZGxlX3dtdmlfcmVjdGFuZ2xlKSwKCSAgKHJlbmRlcl9jb2xvdXJfY3Vyc29yKSwgKHJlbmRlcl9jdXJzb3IpLCAodm1uY19tYWtlX2J1ZmZlciksCgkgICh2bW5jX2hhbmRsZV93bXZkX3JlY3RhbmdsZSksICh2bW5jX2hhbmRsZV93bXZlX3JlY3RhbmdsZSksCgkgICh2bW5jX2hhbmRsZV93bXZmX3JlY3RhbmdsZSksICh2bW5jX2hhbmRsZV93bXZnX3JlY3RhbmdsZSksCgkgICh2bW5jX2hhbmRsZV93bXZoX3JlY3RhbmdsZSksICh2bW5jX2hhbmRsZV93bXZqX3JlY3RhbmdsZSksCgkgIChyZW5kZXJfcmF3X3RpbGUpLCAocmVuZGVyX3N1YnJlY3QpLCAodm1uY19oYW5kbGVfcmF3X3JlY3RhbmdsZSksCgkgICh2bW5jX2hhbmRsZV9oZXh0aWxlX3JlY3RhbmdsZSksICh2bW5jX2hhbmRsZV9wYWNrZXQpLAoJICAodm1uY19kZWNfc2V0Y2FwcyksICh2bW5jX2RlY19jaGFpbiksICh2bW5jX2RlY19jaGFuZ2Vfc3RhdGUpLAoJICAodm1uY19kZWNfc2V0X3Byb3BlcnR5KSwgKHZtbmNfZGVjX2dldF9wcm9wZXJ0eSksIChwbHVnaW5faW5pdCk6CgkgIEFkZCBWTW5jIGRlY29kZXIuCgkgIFN0aWxsIG1pc3Npbmcgc3VwcG9ydCBmb3I6CgkgIC0gcmVjdGFuZ2xlIHR5cGVzIEkgZGlkbid0IGZpbmQgaW4gbXkgc2FtcGxlcyAoZS5nLiBjb3B5LCBSUkUsCgkgIFpSTEUpCgkgIC0gYWxwaGEtY29tcG9zaXRlZCBjdXJzb3JzCgoyMDA3LTAzLTAzIDEwOjIzOjAzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06IEluc3RhbGwgdGhlIGhlYWRlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkgIEluc3RhbGwgdGhlIGhlYWRlcnMuCgoyMDA3LTAzLTAzIDEwOjEwOjMwICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC1saWJzL2dzdC9hcHAvOiBBZGQgR3N0QXBwQnVmZmVyIHRoYXQgaW5jbHVkZXMgYSBjYWxsYmFjayBhbmQgY2xvc3VyZSBmb3IgcHJvcGVyIGhhbmRsaW5nIG9mIGRhdGEgY2h1bmtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwYnVmZmVyLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBidWZmZXIuaDoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOgoJICBBZGQgR3N0QXBwQnVmZmVyIHRoYXQgaW5jbHVkZXMgYSBjYWxsYmFjayBhbmQgY2xvc3VyZSBmb3IKCSAgcHJvcGVyIGhhbmRsaW5nIG9mIGRhdGEgY2h1bmtzLgoKMjAwNy0wMy0wMyAwOTowNjowNiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy4qOiBIYWNraW5nIHRvIGFkZHJlc3MgaXNzdWVzIGluIDQxMzQxOC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5oOgoJICBIYWNraW5nIHRvIGFkZHJlc3MgaXNzdWVzIGluIDQxMzQxOC4KCjIwMDctMDMtMDMgMDg6MTY6NTcgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgTW92ZSB0aGUgYXBwIGxpYnJhcnkgdG8gZ3N0LWxpYnMvZ3N0L2FwcCAoZHVoISkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcC5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuaDoKCSAgKiBnc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcHAvZ3N0YXBwLmM6CgkgICogZ3N0L2FwcC9nc3RhcHBzcmMuYzoKCSAgKiBnc3QvYXBwL2dzdGFwcHNyYy5oOgoJICBNb3ZlIHRoZSBhcHAgbGlicmFyeSB0byBnc3QtbGlicy9nc3QvYXBwIChkdWghKQoKMjAwNy0wMy0wMiAxOTo0Mzo0OCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L25hcy9uYXNzaW5rLmM6CgkqIGV4dC9uYXMvbmFzc2luay5oOgoJICBDb21taXQgTkFTIFNpbmssIGNsb3NlZCBidWd6aWxsYSAzNDU2MzMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENvbW1pdCBOQVMgU2luaywgY2xvc2VkIGJ1Z3ppbGxhIDM0NTYzMwoKMjAwNy0wMy0wMiAxODoyNDoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IEEgZmV3IHNtYWxsIGNsZWFuLXVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfaW5pdCksIChnc3RfZHRzZGVjX3NpbmtfZXZlbnQpOgoJICBBIGZldyBzbWFsbCBjbGVhbi11cHMuCgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IChnc3RfcmVhbF9hdWRpb19kZWNfc2V0Y2Fwcyk6CgkgIE1vcmUgZGVidWcgb3V0cHV0IGZvciBmYWlsdXJlIGNhc2VzLgoKMjAwNy0wMy0wMiAxODoxMDowNiArMDAwMCAgWW91bmctSG8gQ2hhIDxnYW5hZGlzdEBjaG9sbGlhbi5uZXQ+CgoJICBleHQvZHRzL2dzdGR0c2RlYy5jOiBEb24ndCBkbyBmb3JjZWQgZG93bm1peGluZyB0byBzdGVyZW8sIGJ1dCBjaGVjayB3aGF0IGRvd25zdHJlYW0gY2FuIGRvIGFuZCBsZXQgbGliZHRzIGRvIHRoZSBkb3cuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBZb3VuZy1IbyBDaGEgIDxnYW5hZGlzdCBhdCBjaG9sbGlhbiBuZXQ+CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfaGFuZGxlX2ZyYW1lKSwKCSAgKGdzdF9kdHNkZWNfY2hhbmdlX3N0YXRlKToKCSAgRG9uJ3QgZG8gZm9yY2VkIGRvd25taXhpbmcgdG8gc3RlcmVvLCBidXQgY2hlY2sgd2hhdCBkb3duc3RyZWFtCgkgIGNhbiBkbyBhbmQgbGV0IGxpYmR0cyBkbyB0aGUgZG93bm1peGluZyBiYXNlZCBvbiB0aGF0ICgjNDAwNTU1KS4KCjIwMDctMDMtMDIgMTM6MzM6MzkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBSZW1vdmUgc3B1cmlvdXMgY29uZmxpY3QgbWFya2VyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZW1vdmUgc3B1cmlvdXMgY29uZmxpY3QgbWFya2VyCgoyMDA3LTAzLTAyIDEyOjA0OjAyICswMDAwICBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy4qOiBTaW1wbGlmeSBfc2V0X3VyaSgpIGFuZCBfc2V0X3Byb3h5KCkgYW5kIHJlbW92ZSB0aGUgdW51c2VkIGlzaHR0cCBtZW1iZXIgKCMzODgwNTApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEx1dHogTXVlbGxlciAgPGx1dHogdG9wZnJvc2UgZGU+CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbmVvbmh0dHBfc3JjX2luaXQpLCAoZ3N0X25lb25odHRwX3NyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X25lb25odHRwX3NyY19zZXRfdXJpKSwgKGdzdF9uZW9uaHR0cF9zcmNfc2V0X3Byb3h5KSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc2VuZF9yZXF1ZXN0X2FuZF9yZWRpcmVjdCksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3VyaV9zZXRfdXJpKToKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBTaW1wbGlmeSBfc2V0X3VyaSgpIGFuZCBfc2V0X3Byb3h5KCkgYW5kIHJlbW92ZSB0aGUgdW51c2VkIGlzaHR0cAoJICBtZW1iZXIgKCMzODgwNTApLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL25lb25odHRwc3JjLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEZpeCBib2d1cyBVUkkgdG8gc29tZXRoaW5nIHRoYXQgYWN0dWFsbHkgZXhpc3RzLCBvdGhlcndpc2Ugd2UganVzdAoJICBieXBhc3MgdGhlIHRlc3QgKGFuZCBhbHNvIHRvIHNvbWV0aGluZyB0aGF0IGRvZXNuJ3QgcmVkaXJlY3QsIHNpbmNlCgkgIG5lb25odHRwc3JjIGRvZXNuJ3Qgc2VlbSB0byBoYW5kbGUgdGhpcyB2ZXJ5IGdyYWNlZnVsbHkgeWV0KQoKMjAwNy0wMy0wMiAxMToxNDozMyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9pdm9yYmlzL01ha2VmaWxlLmFtOgoJKiBleHQvaXZvcmJpcy92b3JiaXMuYzoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5oOgoJICBBZGQgcGF0Y2ggZnJvbSBCdWcgMzU3MDU1IGZyb20gQ2hyaXMgTG9yZCwgYWRkaW5nIHN1cHBvcnQgZm9yIFZvcmJpcyBzdHJlYW1zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgcGF0Y2ggZnJvbSBCdWcgMzU3MDU1IGZyb20gQ2hyaXMgTG9yZCwgYWRkaW5nIHN1cHBvcnQgZm9yIFZvcmJpcyBzdHJlYW1zCgoyMDA3LTAzLTAxIDE3OjI3OjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEcmF3IHBsdWdpbnMgaW4gZnJvbSB0aGUgYnVpbGQgdHJlZSBzeXMvIGRpciwgcmF0aGVyIHRoYW4gcGlja2luZyB1cCB0aGUgYWxyZWFkeSBpbnN0YWxsZWQgdi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRHJhdyBwbHVnaW5zIGluIGZyb20gdGhlIGJ1aWxkIHRyZWUgc3lzLyBkaXIsIHJhdGhlciB0aGFuCgkgIHBpY2tpbmcgdXAgdGhlIGFscmVhZHkgaW5zdGFsbGVkIHZlcnNpb25zLgoKMjAwNy0wMi0yOCAxOTozMToxMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBjb25maWd1cmUuYWM6IENvbnZlcnQgdG8gbmV3IEFHX0dTVCBzdHlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDb252ZXJ0IHRvIG5ldyBBR19HU1Qgc3R5bGUuCgoyMDA3LTAyLTI3IDEyOjAyOjAzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICB1cGRhdGUgY29weXJpZ2h0IHN0YXRlbWVudHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBjb3B5cmlnaHQgc3RhdGVtZW50cwoKMjAwNy0wMi0yNyAxMTozMDoxOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9vc3h2aWRlby86IERpc2FibGUgdGhlIGNvY29hIGV2ZW50IGxvb3Agc2luY2UgaXQncyBhIGh1Z2UgbWVtb3J5IGxlYWsuIFNob3VsZCBvbmx5IG1hdHRlciBpZiB0aGUgc2luayBpc24ndCB1c2VkIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBEaXNhYmxlIHRoZSBjb2NvYSBldmVudCBsb29wIHNpbmNlIGl0J3MgYSBodWdlIG1lbW9yeSBsZWFrLiBTaG91bGQgb25seQoJICBtYXR0ZXIgaWYgdGhlIHNpbmsgaXNuJ3QgdXNlZCB3aXRoaW4gYW4gTlNBcHAgKHdoaWNoIGhhcyBhbHJlYWR5IGdvdAoJICBhIGNvY2EgZXZlbnQgbG9vcCkuCgkgIFJlbW92ZSBhbGwgdW51c2VkIGNvZGUuCgoyMDA3LTAyLTI2IDIxOjAxOjAzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIEFkZCBhIG5ldyBwbHVnaW4vbGlicmFyeSB0byBtYWtlIGl0IGVhc3kgZm9yIGFwcHMgdG8gc2hvdmUgZGF0YSBpbnRvIGEgcGlwZWxpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcHAvZ3N0YXBwLmM6CgkgICogZ3N0L2FwcC9nc3RhcHBzcmMuYzoKCSAgKiBnc3QvYXBwL2dzdGFwcHNyYy5oOgoJICBBZGQgYSBuZXcgcGx1Z2luL2xpYnJhcnkgdG8gbWFrZSBpdCBlYXN5IGZvciBhcHBzIHRvIHNob3ZlCgkgIGRhdGEgaW50byBhIHBpcGVsaW5lLgoKMjAwNy0wMi0yNiAxMDozMjozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9yZWFsLzogVXNlIGdzdF9wYWRfdXNlX2ZpeGVkX2NhcHMoKSBvbiBzb3VyY2UgcGFkcywgdG8gYXZvaWQgbmVnb3RpYXRpb24gZXJyb3JzIGluIGNlcnRhaW4gc2l0dWF0aW9ucyAoZS5nLiBkZWMgIS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogKGdzdF9yZWFsX2F1ZGlvX2RlY19pbml0KToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKGdzdF9yZWFsX3ZpZGVvX2RlY19pbml0KToKCSAgVXNlIGdzdF9wYWRfdXNlX2ZpeGVkX2NhcHMoKSBvbiBzb3VyY2UgcGFkcywgdG8gYXZvaWQgbmVnb3RpYXRpb24KCSAgZXJyb3JzIGluIGNlcnRhaW4gc2l0dWF0aW9ucyAoZS5nLiBkZWMgISBjcyAhIHhpbWFnZXNpbmsgYW5kIHRoZQoJICBpbWFnZXNpbmsgd2luZG93IGlzIHJlc2l6ZWQpOyBhbHNvLCBzb21lIG1pbm9yIGNsZWFuLXVwcy4KCjIwMDctMDItMjQgMjI6NTI6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBGaXggYnVpbGQgd2l0aCBMREZMQUdTPSctV2wsLXosZGVmcycuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvZ3NtL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgICogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkgIEZpeCBidWlsZCB3aXRoIExERkxBR1M9Jy1XbCwteixkZWZzJy4KCjIwMDctMDItMjAgMjE6MzQ6MDAgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuKjogUmVtb3ZlIGluY2x1ZGUgb2YgdW51c2VkIGhlYWRlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgIFJlbW92ZSBpbmNsdWRlIG9mIHVudXNlZCBoZWFkZXJzLgoJICAqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXBsdWdpbi5jOgoJICAqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSAgKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmg6CgkgICogd2luMzIvdnM2L2xpYmdzdHdhdmVmb3JtLmRzcDoKCSAgQWRkIGEgbmV3IHdhdmVmb3JtIHBsdWdpbiB3aGljaCBpbmNsdWRlcyBhbiBhdWRpbyBzaW5rCgkgIGVsZW1lbnQgdXNpbmcgdGhlIFdhdmVGb3JtIHdpbjMyIEFQSS4KCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIHRoZSBuZXcgcHJvamVjdCBmaWxlIGZvcm0gd2F2ZWZvcm0gcGx1Z2luLgoKMjAwNy0wMi0xOCAxODowMDo1MSArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgc3lzL2RpcmVjdGRyYXcvOiBQcmVwYXJlIHRoZSBwbHVnaW4gdG8gbW92ZSB0byBnb29kOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBQcmVwYXJlIHRoZSBwbHVnaW4gdG8gbW92ZSB0byBnb29kOgoJICBSZW1vdmUgdW51c2VkL3VudGVzdGVkIGNvZGUgKHJlbmRlcmluZyB0byBhbiBleHRlcm4gc3VyZmFjZSwKCSAgeXV2IGZvcm1hdCByZW5kZXJpbmcpLlVzZSBHU1RfKERFQlVHLyopX09CSkVDVCBtYWNyb3MKCSAgUmVuYW1lIGFsbCBmdW5jdGlvbnMgZnJvbSBnc3RfZGlyZWN0ZHJhd3NpbmsgdG8gZ3N0X2RpcmVjdGRyYXdfc2luay4KCSAgQWRkIGd0ayBkb2Mgc2VjdGlvbgoJICBGaXggYSBidWcgaW4gZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lLCBtZW1jcHkgbGluZSBieSBsaW5lCgkgIHJlc3BlY3RpbmcgZGVzdGluYXRpb24gc3VyZmFjZSBzdHJpZGUuCgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgUHJlcGFyZSB0aGUgcGx1Z2luIHRvIG1vdmUgdG8gZ29vZDoKCSAgUmVuYW1lIGFsbCBmdW5jdGlvbnMgZnJvbSBnc3RfZGlyZWN0c291bmRzaW5rIHRvIGdzdF9kaXJlY3Rzb3VuZF9zaW5rLgoJICBBZGQgZ3RrIGRvYyBzZWN0aW9uCgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oLmluOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBBZGQgY29uZmlnLmguaW4KCjIwMDctMDItMTYgMTY6MjY6MzEgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgZXF1YWxpemVyIHBsdWdpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGVxdWFsaXplciBwbHVnaW4KCjIwMDctMDItMTMgMTQ6MjI6NTMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgYWRkIG1pc3NpbmcgXCBpbiBNYWtlZmlsZS5hbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIG1pc3NpbmcgXCBpbiBNYWtlZmlsZS5hbQoKMjAwNy0wMi0xMyAwOTo0NDoyMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQWRkIGNyb3NzcmVmZXJlbmNlcyB0byBnbGliL2dvYmplY3QvZ3N0cmVhbSBkb2NzLiBBbHNvIGZpeCB0eXBvIGluIHRpbWlkaXR5LmNmZyBjaGVjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgQWRkIGNyb3NzcmVmZXJlbmNlcyB0byBnbGliL2dvYmplY3QvZ3N0cmVhbSBkb2NzLiBBbHNvIGZpeCB0eXBvIGluCgkgIHRpbWlkaXR5LmNmZyBjaGVjay4KCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzogKHBsdWdpbl9pbml0KToKCSAgQWxzbyBidWlsZCBpZiBubyBjb25maWcgd2FzIGRldGVjdGVkIGF0IGNvbmZpZ3VyZSB0aW1lLgoKMjAwNy0wMi0xMSAxNTo0NjoyNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQWRkIHNlY29uZCBtaWRpIHJlbmRlcmVyLiBGaXggc29tZSBkb3VibGUgZnJlZXMgYW5kIGxlYWtzLiBDbGVhbiB1cCBsb2dnaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L3RpbWlkaXR5L01ha2VmaWxlLmFtOgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOiAoZ3N0X3dpbGRtaWRpX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2lsZG1pZGlfY2xhc3NfaW5pdCksIChnc3Rfd2lsZG1pZGlfaW5pdCksCgkgIChnc3Rfd2lsZG1pZGlfc3JjX2NvbnZlcnQpLCAoZ3N0X3dpbGRtaWRpX3NyY19xdWVyeSksCgkgIChnc3Rfd2lsZG1pZGlfZ2V0X3Vwc3RyZWFtX3NpemUpLCAoZ3N0X3dpbGRtaWRpX2dldF9zZWdtZW50KSwKCSAgKGdzdF93aWxkbWlkaV9nZXRfbmV3X3NlZ21lbnRfZXZlbnQpLCAoZ3N0X3dpbGRtaWRpX3NyY19ldmVudCksCgkgIChnc3Rfd2lsZG1pZGlfYWN0aXZhdGUpLCAoZ3N0X3dpbGRtaWRpX2FjdGl2YXRlcHVsbCksCgkgIChnc3Rfd2lsZG1pZGlfYWxsb2NhdGVfYnVmZmVyKSwgKGdzdF93aWxkbWlkaV9jbGlwX2J1ZmZlciksCgkgIChnc3Rfd2lsZG1pZGlfZmlsbF9idWZmZXIpLCAoZ3N0X3dpbGRtaWRpX2dldF9idWZmZXIpLAoJICAoZ3N0X3dpbGRtaWRpX2xvb3ApLCAoZ3N0X3dpbGRtaWRpX2NoYW5nZV9zdGF0ZSksCgkgIChnc3Rfd2lsZG1pZGlfc2V0X3Byb3BlcnR5KSwgKGdzdF93aWxkbWlkaV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3dpbGRtaWRpX3R5cGVmaW5kKSwgKHdpbGRtaWRpX29wZW5fY29uZmlnKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuaDoKCSAgQWRkIHNlY29uZCBtaWRpIHJlbmRlcmVyLiBGaXggc29tZSBkb3VibGUgZnJlZXMgYW5kIGxlYWtzLiBDbGVhbiB1cAoJICBsb2dnaW5nLgoKMjAwNy0wMi0xMSAxNToyNjo0OSArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgTWFrZWZpbGUuYW06IEFkZCB3aW4zMiBNQU5JRkVTVAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgQWRkIHdpbjMyIE1BTklGRVNUCgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBDbGVhciB1bnVzZWQgY29kZSBhbmQgYWRkIGNvbW1lbnRzLgoJICBSZW1vdmUgeXV2IGZyb20gdGVtcGxhdGUgY2FwcywgaXQgb25seSBzdXBwb3J0cyBSR0IKCSAgYWN0dWFsbHkuCgkgIEltcGxlbWVudCBYT3ZlcmxheSBpbnRlcmZhY2UgYW5kIHJlbW92ZSB3aW5kb3cgYW5kIGZ1bGxzY3JlZW4KCSAgcHJvcGVydGllcy4KCSAgQWRkIGRlYnVnIGxvZ3MuCgkgIFRlc3QgZm9yIGJsaXQgY2FwYWJpbGl0aWVzIHRvIHJldHVybiBvbmx5IHRoZSBjdXJyZW50IGNvbG9yc3BhY2UgaWYKCSAgdGhlIGhhcmR3YXJlIGNhbid0IGJsaXQgZm9yIG9uZSBjb2xvcnNwYWNlIHRvIGFub3RoZXIuCgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBBZGQgc29tZSBkZWJ1Z3MuCgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCBWUzcgcHJvamVjdCBmaWxlcyBhbmQgc29sdXRpb24uCgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3c6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHF0ZGVtdXguZHNwOgoJICBVcGRhdGUgcHJvamVjdCBmaWxlcy4KCjIwMDctMDItMTEgMTE6NTk6NDkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogQWxzbyB1cGRhdGUgdGhlIGNvbW1lbnQgdGhhdCBkZXNjcmliZXMgdGhlIGhhY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgQWxzbyB1cGRhdGUgdGhlIGNvbW1lbnQgdGhhdCBkZXNjcmliZXMgdGhlIGhhY2suCgoyMDA3LTAyLTExIDExOjM1OjQ3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFRlbGwgdGhlIGNvZGUgd2hpY2ggZmFhZCBpdCBpcywgc28gdGhhdCB3ZSBjYW4gYWRqdXN0IHRoZSBoYWNrcyBuZWVkZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVGVsbCB0aGUgY29kZSB3aGljaCBmYWFkIGl0IGlzLCBzbyB0aGF0IHdlIGNhbiBhZGp1c3QgdGhlIGhhY2tzCgkgIG5lZWRlZC4KCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIE1ha2Ugb3VyIGhhY2tzIGRlcGVuZGVudCBvbiB0aGUgZmFkZCBsaWIgaW4gdXNlLgoKMjAwNy0wMi0xMSAxMDo1ODoxNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjOiBGaXggZmFhZCBkZXRlY3Rpb24gdG8gc3VwcG9ydCBhbHNvIGZhZGQgd2l0aCBuZXcgc3ltYm9sIHByZWZpeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggZmFhZCBkZXRlY3Rpb24gdG8gc3VwcG9ydCBhbHNvIGZhZGQgd2l0aCBuZXcgc3ltYm9sIHByZWZpeC4KCSAgQ2hhbmdlTG9nIHN1cmdlcnkuCgoyMDA3LTAyLTA4IDE1OjAwOjAwICswMDAwICBXb3V0ZXIgUGFlc2VuIDx3b3V0ZXJAYmx1ZS1nYXRlLmJlPgoKCSAgQWRkIHRpbWl0aXR5IG1pZGkgcmVuZGVyIHBsdWdpbiAoIzQwMzk5MikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgUGFlc2VuIDx3b3V0ZXJAYmx1ZS1nYXRlLmJlPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3RpbWlkaXR5L01ha2VmaWxlLmFtOgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOiAoZ3N0X3RpbWlkaXR5X2Jhc2VfaW5pdCksCgkgIChnc3RfdGltaWRpdHlfY2xhc3NfaW5pdCksIChnc3RfdGltaWRpdHlfaW5pdCksCgkgIChnc3RfdGltaWRpdHlfc2V0X3Nvbmdfb3B0aW9ucyksIChnc3RfdGltaWRpdHlfc3JjX2NvbnZlcnQpLAoJICAoZ3N0X3RpbWlkaXR5X3NyY19xdWVyeSksIChnc3RfdGltaWRpdHlfZ2V0X3Vwc3RyZWFtX3NpemUpLAoJICAoZ3N0X3RpbWlkaXR5X2dldF9zZWdtZW50KSwgKGdzdF90aW1pZGl0eV9nZXRfbmV3X3NlZ21lbnRfZXZlbnQpLAoJICAoZ3N0X3RpbWlkaXR5X3NyY19ldmVudCksIChnc3RfdGltaWRpdHlfYWN0aXZhdGUpLAoJICAoZ3N0X3RpbWlkaXR5X2FjdGl2YXRlcHVsbCksIChnc3RfdGltaWRpdHlfYWxsb2NhdGVfYnVmZmVyKSwKCSAgKGdzdF90aW1pZGl0eV9jbGlwX2J1ZmZlciksIChnc3RfdGltaWRpdHlfZmlsbF9idWZmZXIpLAoJICAoZ3N0X3RpbWlkaXR5X2dldF9idWZmZXIpLCAoZ3N0X3RpbWlkaXR5X2xvb3ApLAoJICAoZ3N0X3RpbWlkaXR5X2NoYW5nZV9zdGF0ZSksIChnc3RfdGltaWRpdHlfdHlwZWZpbmQpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5oOgoJICBBZGQgdGltaXRpdHkgbWlkaSByZW5kZXIgcGx1Z2luICgjNDAzOTkyKQoKMjAwNy0wMi0wNyAxMjoyOTowMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6IEdTVF9QQURfUEFSRU5UIGRvZXNuJ3QgcmV0dXJuIGEgR3N0T2JqZWN0IHdpdGggYW4gaW5jcmVtZW50ZWQgcmVmY291bnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6IChnc3RfYW1yd2JwYXJzZV9xdWVyeSk6CgkgIEdTVF9QQURfUEFSRU5UIGRvZXNuJ3QgcmV0dXJuIGEgR3N0T2JqZWN0IHdpdGggYW4gaW5jcmVtZW50ZWQgcmVmY291bnQuCgkgIFN3aXRjaGVkIHRvIHVzaW5nIGdzdF9wYWRfZ2V0X3BhcmVudCgpLgoKMjAwNy0wMi0wNiAxNjowMDozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6IFJlbW92ZSBzdXBlcmZsdW91cyBnc3RfY2Fwc19nZXRfc3RydWN0dXJlKCkgY2FsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgUmVtb3ZlIHN1cGVyZmx1b3VzIGdzdF9jYXBzX2dldF9zdHJ1Y3R1cmUoKSBjYWxsLgoKMjAwNy0wMi0wNiAxMDoxNjo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogSW5jcmVhc2UgcmVxdWlyZWQgbGlic25kZmlsZSB2ZXJzaW9uIHRvIGEgdmVyc2lvbiB0aGF0J3Mga25vd24gdG8gaGF2ZSB0aGUgZnVuY3Rpb24gc2Zfd3JpdGVfc3luYygpIHRvIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEluY3JlYXNlIHJlcXVpcmVkIGxpYnNuZGZpbGUgdmVyc2lvbiB0byBhIHZlcnNpb24gdGhhdCdzIGtub3duIHRvCgkgIGhhdmUgdGhlIGZ1bmN0aW9uIHNmX3dyaXRlX3N5bmMoKSB0byBtYWtlIHRoZSBidWlsZCBib3RzIGhhcHB5LgoKMjAwNy0wMi0wNiAwOTozOToxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zbmRmaWxlL2dzdHNmc3JjLmM6IEZpeCBidWlsZCAoaW5zdGFsbGVkIHNldHVwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2ZzcmMuYzoKCSAgRml4IGJ1aWxkIChpbnN0YWxsZWQgc2V0dXApLgoKMjAwNy0wMi0wNSAxODo0Mjo0NSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L3NuZGZpbGUvOiBQb3J0IHNmc3JjIHRvIDAuMTAsIHB1bGwgb3IgcHVzaCwgd2l0aCByYW5kb20gYWNjZXNzIHdvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDItMDUgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L3NuZGZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuZGZpbGUvZ3N0c2ZzcmMuaDoKCSAgKiBleHQvc25kZmlsZS9nc3RzZnNyYy5jOiBQb3J0IHNmc3JjIHRvIDAuMTAsIHB1bGwgb3IgcHVzaCwgd2l0aAoJICByYW5kb20gYWNjZXNzIHdvby4KCjIwMDctMDItMDMgMjM6MzU6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBGaXggdXAgdG8gdXNlIHRoZSBuZXdseSBwb3J0ZWQgKGFjdHVhbGx5IHdvcmtpbmcpIEdzdEF1ZGlvRmlsdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NsYXNzX2luaXQpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfaW5pdCksCgkgIChzZXR1cF9maWx0ZXIpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcyksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9zZXRfcHJvcGVydHkpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3RyYW5zZm9ybV9pcCksIChnc3RfaWlyX2VxdWFsaXplcl9zZXR1cCksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaDoKCSAgRml4IHVwIHRvIHVzZSB0aGUgbmV3bHkgcG9ydGVkIChhY3R1YWxseSB3b3JraW5nKSBHc3RBdWRpb0ZpbHRlci4KCSAgQnVtcCBjb3JlL2Jhc2UgcmVxdWlyZW1lbnRzIHRvIENWUyBmb3IgdGhpcy4KCSAgKiB0ZXN0cy9pY2xlcy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6IChjaGVja19idXMpLAoJICAoZXF1YWxpemVyX3NldF9iYW5kX3ZhbHVlKSwgKGVxdWFsaXplcl9zZXRfYWxsX2JhbmRfdmFsdWVzKSwKCSAgKGVxdWFsaXplcl9zZXRfYmFuZF92YWx1ZV9hbmRfd2FpdCksCgkgIChlcXVhbGl6ZXJfc2V0X2FsbF9iYW5kX3ZhbHVlc19hbmRfd2FpdCksIChkb19zbGlkZXJfZmlkZGxpbmcpLAoJICAobWFpbik6CgkgIEFkZCBicmFpbi1kZWFkIGludGVyYWN0aXZlIHRlc3QgZm9yIGVxdWFsaXplci4KCjIwMDctMDItMDIgMTg6MzY6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBSZW5hbWUgInZhbHVlcyIgcHJvcGVydHkgdG8gImJhbmQtdmFsdWVzIiBhbmQgY2hhbmdlIHR5cGUgaW50byBhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3NldF9wcm9wZXJ0eSksIChnc3RfaWlyX2VxdWFsaXplcl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfZmlsdGVyX2lucGxhY2UpOgoJICBSZW5hbWUgInZhbHVlcyIgcHJvcGVydHkgdG8gImJhbmQtdmFsdWVzIiBhbmQgY2hhbmdlIHR5cGUgaW50byBhCgkgIEdWYWx1ZUFycmF5LCBzbyBpdCdzIG1vcmUgZWFzaWx5IGJpbmRhYmxlIGFuZCB0aGUgcmFuZ2Ugb2YgdGhlCgkgIHZhbHVlcyBwYXNzZWQgaW4gaXMgZGVmaW5lZCBhbmQgY2hlY2tlZCBldGMuOyBhbHNvIGRvIHNvbWUKCSAgbG9ja2luZy4KCjIwMDctMDItMDIgMTc6Mzk6MjEgKzAwMDAgIEphbWVzIERvYyBMaXZpbmdzdG9uIDxkb2NsaXZpbmdzdG9uQGdtYWlsLmNvbT4KCgkgIFBvcnQgZXF1YWxpemVyIHBsdWdpbiB0byAwLjEwICgjNDAzNTcyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKYW1lcyAiRG9jIiBMaXZpbmdzdG9uICA8ZG9jbGl2aW5nc3RvbiBhdCBnbWFpbCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2dldF90eXBlKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2Jhc2VfaW5pdCksIChnc3RfaWlyX2VxdWFsaXplcl9jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2ZpbHRlcl9pbnBsYWNlKSwgKGdzdF9paXJfZXF1YWxpemVyX3NldHVwKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgUG9ydCBlcXVhbGl6ZXIgcGx1Z2luIHRvIDAuMTAgKCM0MDM1NzIpLgoKMjAwNy0wMi0wMiAxMzoyODowNSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgY29uZmlndXJlLmFjOiBleHQvTWFrZWZpbGUuYW0KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDItMDIgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbQoJICAqIGV4dC9zbmRmaWxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuaDoKCSAgKiBleHQvc25kZmlsZS9nc3RzZnNpbmsuYzoKCSAgKiBleHQvc25kZmlsZS9nc3RzZnNpbmsuaDogUG9ydCBzZnNpbmsgdG8gMC4xMC4gV29ya3MgaW4gcHVsbCBvcgoJICBwdXNoIG1vZGUgd2l0aCBpbnRlcmxlYXZlZCBmbG9hdCBvciBpbnQgZGF0YS4KCjIwMDctMDItMDIgMTE6MDk6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzogU2V0IHJhbmsgdG8gTk9ORSBzbyB0aGF0IGl0IGRvZXNuJ3QgZ2V0IGF1dG9wbHVnZ2VkIGJ5IGF1dG9hdWRpb3NpbmsgKHdoaWNoIGRpZG4ndCBoYXAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6IChwbHVnaW5faW5pdCk6CgkgIFNldCByYW5rIHRvIE5PTkUgc28gdGhhdCBpdCBkb2Vzbid0IGdldCBhdXRvcGx1Z2dlZCBieSBhdXRvYXVkaW9zaW5rCgkgICh3aGljaCBkaWRuJ3QgaGFwcGVuIHByZXZpb3VzbHkgYmVjYXVzZSB0aGUga2xhc3Mgc3RyaW5nIGRpZG4ndAoJICBjb250YWluIGFueXRoaW5nIGF1dG9hdWRpb3Npbmsgd2FzIGxvb2tpbmcgZm9yKS4KCjIwMDctMDEtMzEgMTA6MDI6MDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9yZWFsLzogRml4IGNsYXNzaWZpY2F0aW9uIGluIEdzdEVsZW1lbnREZXRhaWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzoKCSAgRml4IGNsYXNzaWZpY2F0aW9uIGluIEdzdEVsZW1lbnREZXRhaWxzLgoKMjAwNy0wMS0zMSAwODozMjo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IEZpeCBhIG9mZiBieSBvbmUgdGhhdCBsZWFkcyB0byB0aGUgZHVyYXRpb24gcmVwb3J0ZWQgYXMgb25lIHNhbXBsZSBsZXNzIHRoYW4gaXQgaXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpOgoJICBGaXggYSBvZmYgYnkgb25lIHRoYXQgbGVhZHMgdG8gdGhlIGR1cmF0aW9uIHJlcG9ydGVkIGFzIG9uZQoJICBzYW1wbGUgbGVzcyB0aGFuIGl0IGlzCgoyMDA3LTAxLTMxIDA4OjE2OjU5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggY2xhc3NpZmljYXRpb24gaW4gR3N0RWxlbWVudERldGFpbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOgoJICAqIGdzdC9uc2YvZ3N0bnNmLmM6CgkgIEZpeCBjbGFzc2lmaWNhdGlvbiBpbiBHc3RFbGVtZW50RGV0YWlscy4KCSAgKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOiAoZ3N0X2xhZHNwYV9iYXNlX2luaXQpLAoJICAoZ3N0X2xhZHNwYV9jbGFzc19pbml0KToKCSAgSW1wcm92ZSBLbGFzc2lmaWNhdGlvbiBhbmQgcmVkdWNlIGNvZGUgc2xpZ2hseS4KCjIwMDctMDEtMzAgMTc6MTk6MzMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBjb25maWd1cmUuYWM6IENoZWNrIGZvciBhbiBPYmplY3RpdmUgQyBjb21waWxlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENoZWNrIGZvciBhbiBPYmplY3RpdmUgQyBjb21waWxlcgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgUG9ydCBvZiBvc3h2aWRlbyBwbHVnaW4gdG8gMC4xMC4gRG8gTk9UIGNvbnNpZGVyIDEwMCUgc3RhYmxlICEKCSAgRml4ZXMgIzQwMjQ3MAoKMjAwNy0wMS0yOSAyMDo1MTowMiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZpbGUKCjIwMDctMDEtMjggMTg6Mjg6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOiBGaXggY3JvcHBpbmcgZm9yIHBhY2tlZCA0OjI6MiBmb3JtYXRzIFlVWVYvWVVZMiBhbmQgVVlWWS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgKGdzdF92aWRlb19jcm9wX2dldF9pbWFnZV9kZXRhaWxzX2Zyb21fY2FwcyksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fcGFja2VkX2NvbXBsZXgpOgoJICBGaXggY3JvcHBpbmcgZm9yIHBhY2tlZCA0OjI6MiBmb3JtYXRzIFlVWVYvWVVZMiBhbmQgVVlWWS4KCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiAoY2hlY2tfYnVzX2Zvcl9lcnJvcnMpLAoJICAodGVzdF93aXRoX2NhcHMpLCAobWFpbik6CgkgIEJsb2NrIHN0cmVhbWluZyB0aHJlYWQgYmVmb3JlIGNoYW5naW5nIGZpbHRlciBjYXBzIHdoaWxlIHRoZQoJICBwaXBlbGluZSBpcyBydW5uaW5nIHNvIHRoYXQgd2UgZG9uJ3QgZ2V0IHJhbmRvbSBub3QtbmVnb3RpYXRlZAoJICBlcnJvcnMganVzdCBiZWNhdXNlIEdTdHJlYW1lciBjYW4ndCBoYW5kbGUgdGhhdCB5ZXQuCgoyMDA3LTAxLTI4IDE3OjM1OjEzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvbGFkc3BhLzogYWRkIEdzdENvbnRyb2xsZXIgc3VwcG9ydCB0byBsYWRzcGEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOiAoZ3N0X2xhZHNwYV9jbGFzc19nZXRfcGFyYW1fc3BlYyk6CgkgIGFkZCBHc3RDb250cm9sbGVyIHN1cHBvcnQgdG8gbGFkc3BhCgoyMDA3LTAxLTI4IDEzOjAxOjAyICswMDAwICBSb3NmcmFuIEJvcmdlcyA8cm9zZnJhbi5ib3JnZXNAaWRudC5vcmcuYnI+CgoJICBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiBSZW1vdmUgc2xlZXAgY2FsbHMsIHRoZXkndmUgYmVlbiBtb3ZlZCBpbnRvIHRoZSBsaWJyYXJ5IG5vdyAuLi4gKCMzNTQ0NTEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJvc2ZyYW4gQm9yZ2VzIDxyb3NmcmFuIGRvdCBib3JnZXMgYXQgaWRudCBvcmcgYnI+CgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzogKGdzdF9teXRodHZfc3JjX3N0YXJ0KSwKCSAgKGdzdF9teXRodHZfc3JjX25leHRfcHJvZ3JhbV9jaGFpbik6CgkgIFJlbW92ZSBzbGVlcCBjYWxscywgdGhleSd2ZSBiZWVuIG1vdmVkIGludG8gdGhlIGxpYnJhcnkgbm93IC4uLgoJICAoIzM1NDQ1MSkuCgoyMDA3LTAxLTI3IDE2OjA4OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogQ2F0Y2ggZXJyb3JzIHdoaWxlIHRoZSB0ZXN0IGlzIHJ1bm5pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6ICh0ZXN0X3dpdGhfY2Fwcyk6CgkgIENhdGNoIGVycm9ycyB3aGlsZSB0aGUgdGVzdCBpcyBydW5uaW5nLgoKMjAwNy0wMS0yNSAyMzoyNzo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IEZpeCB0aGUgU0VFS0lORyBxdWVyeS4gV2UgY2FuIHNlZWsgaWYgd2UgYXJlIGluIHB1bGwgbW9kZSwgbm90IHRoZSBvdGhlciB3YXkgYXJvdW5kLiBBLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KToKCSAgRml4IHRoZSBTRUVLSU5HIHF1ZXJ5LiBXZSBjYW4gc2VlayBpZiB3ZSBhcmUgaW4gcHVsbCBtb2RlLCBub3QgdGhlCgkgIG90aGVyIHdheSBhcm91bmQuIEFsc28gc2V0IHRoZSBjb3JyZWN0IGZvcm1hdCBpbiB0aGUgc2Vla2luZyBxdWVyeSBhbmQKCSAgaGFuZGxlIHRoZSBjYXNlIHdoZXJlIHRoZSBoZWFkZXJzIGFyZSBub3QgcmVhZCB5ZXQgYW5kIHdlIGNhbid0IHNheQoJICBhbnl0aGluZyBhYm91dCBvdXIgc2Vla2luZyBjYXBhYmlsaXRpZXMuCgoyMDA3LTAxLTI1IDIxOjU1OjQ5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay86IEZpeCBzcGVsbGluZyBpbiAyIHBsYWNlczogSXQncyBjYWxsZWQgV2F2cGFjaywgbm90IFdhdmVQYWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCk6CgkgIEZpeCBzcGVsbGluZyBpbiAyIHBsYWNlczogSXQncyBjYWxsZWQgV2F2cGFjaywgbm90IFdhdmVQYWNrLgoKMjAwNy0wMS0yNSAxMjowNToxMSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC86IFVzZSBwcm9wZXIgcHJpbnQgc3RhdGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIChnc3RfbXVsdGlfZmlsZV9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IChnc3RfbXVsdGlfZmlsZV9zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L212ZS9nc3RtdmVkZW11eC5jOiAoZ3N0X212ZV92aWRlb19jcmVhdGVfYnVmZmVyKSwKCSAgKGdzdF9tdmVfdmlkZW9fcGFsZXR0ZSksIChnc3RfbXZlX3ZpZGVvX2NvZGVfbWFwKSwKCSAgKGdzdF9tdmVfYXVkaW9faW5pdCksIChnc3RfbXZlX2F1ZGlvX2RhdGEpLCAoZ3N0X212ZV90aW1lcl9jcmVhdGUpLAoJICAoZ3N0X212ZV9kZW11eF9jaGFpbik6CgkgICogZ3N0L212ZS9nc3RtdmVtdXguYzogKGdzdF9tdmVfbXV4X3B1c2hfY2h1bmspOgoJICAqIGdzdC9tdmUvbXZlYXVkaW9lbmMuYzogKG12ZV9jb21wcmVzc19hdWRpbyk6CgkgICogZ3N0L212ZS9tdmV2aWRlb2RlYzE2LmM6IChpcHZpZGVvX2NvcHlfYmxvY2spOgoJICAqIGdzdC9tdmUvbXZldmlkZW9kZWM4LmM6IChpcHZpZGVvX2NvcHlfYmxvY2spOgoJICAqIGdzdC9tdmUvbXZldmlkZW9lbmMxNi5jOiAobXZlX2VuY29kZV9mcmFtZTE2KToKCSAgKiBnc3QvbXZlL212ZXZpZGVvZW5jOC5jOiAobXZlX2VuY29kZV9mcmFtZTgpOgoJICBVc2UgcHJvcGVyIHByaW50IHN0YXRlbWVudHMuCgkgIEZpeGVzIGJ1aWxkIG9uIG1hYyBvcyB4LgoJICA8d2luZ28+IG9vIGxvb2sgYXQgbWUgbXkgbmFtZSBpcyBlZHdhcmQgaSdtIGhhY2tpbmcgb24gbWFjb3Mgd29vbwoKMjAwNy0wMS0yNCAxMToyOTowMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6IEZpeCBjYXBzIG9uIHRoZSBkZXBheWxvYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuYzoKCSAgRml4IGNhcHMgb24gdGhlIGRlcGF5bG9hZGVyLgoKMjAwNy0wMS0yMyAxNDo1NDowMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QtbGlicy9leHQvYW1yd2IvTWFrZWZpbGUuYW06CgkgIHdvcmsgaWYgaXQncyBhbHJlYWR5IHRoZXJlIHRvbwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgd29yayBpZiBpdCdzIGFscmVhZHkgdGhlcmUgdG9vCgoyMDA3LTAxLTE3IDE3OjI5OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L215dGh0di9nc3RteXRodHZzcmMuYzogVXNlIGJyZWFrIGhlcmUgaW5zdGVhZCBvZiBnb3RvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiAoZ3N0X215dGh0dl9zcmNfc2V0X3Byb3BlcnR5KToKCSAgVXNlIGJyZWFrIGhlcmUgaW5zdGVhZCBvZiBnb3RvLgoKMjAwNy0wMS0xMyAxOToxMjozMiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmMgKGdzdF9kZWludGVybGVhdmVfYWRkX25ld19wYWRzKTogVXNlIGZpeGVkIGNhcHMgb24gc3JjIHBhZHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTAxLTEzICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jIChnc3RfZGVpbnRlcmxlYXZlX2FkZF9uZXdfcGFkcyk6CgkgIFVzZSBmaXhlZCBjYXBzIG9uIHNyYyBwYWRzLgoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9yZW1vdmVfcGFkcyk6IFJlbW92ZSBzcmMgcGFkcywgbm90IHNpbmsgcGFkcy4gSQoJICBzZWVtIHRvIGhhdmUgcmV2ZXJzZSBtaWRhcyBkaXNlYXNlIQoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9wcm9jZXNzKTogUHJveHkgdGltZXN0YW1wcywgb2Zmc2V0cywgZHVyYXRpb25zLAoJICBhbmQgc2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycy4gRml4ZXMgIzM5NTU5NywgSSB0aGluay4KCjIwMDctMDEtMTMgMTg6MDE6NDEgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYyAoZ3N0X2ludGVybGVhdmVfaW5pdCk6IEluaXQgdGhlIGFjdGl2YXRpb24gbW9kZSBwcm9wZXJseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDEtMTMgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jIChnc3RfaW50ZXJsZWF2ZV9pbml0KTogSW5pdCB0aGUKCSAgYWN0aXZhdGlvbiBtb2RlIHByb3Blcmx5LgoJICAoZ3N0X2ludGVybGVhdmVfc3JjX3NldGNhcHMsIGdzdF9pbnRlcmxlYXZlX3NyY19nZXRjYXBzKQoJICAoZ3N0X2ludGVybGVhdmVfaW5pdCk6IFNldCBhIHNldGNhcHMgYW5kIGdldGNhcHMgZnVuY3Rpb24gb24gdGhlCgkgIHNyYyBwYWQsIHNvIHRoYXQgd2UgY2FuIGltcGxlbWVudCBwdWxsLW1vZGUgbmVnb3RpYXRpb24uCgkgIChnc3RfaW50ZXJsZWF2ZV9zaW5rX3NldGNhcHMpOiBSZW5hbWVkIGZyb20KCSAgZ3N0X2ludGVybGVhdmVfc2V0Y2FwcywgYXMgaXQgb25seSBkb2VzIHRoZSBzaW5rIGxvZ2ljIG5vdy4KCSAgSW1wbGVtZW50IGJvdGggZm9yIHB1bGwtbW9kZSBhbmQgcHVzaC1tb2RlLgoJICAoZ3N0X2ludGVybGVhdmVfcHJvY2Vzcyk6IFNldCBjYXBzIG9uIG91ciBvdXRnb2luZyBidWZmZXIuCgkgIChnc3RfaW50ZXJsZWF2ZV9zcmNfYWN0aXZhdGVfcHVsbCk6IEZpeCBzb21lIG1vcmUgYm9ndXMgY2FzdHMuCgkgIFdoYXQgaXMgdXAgd2l0aCB0aGlzLgoKMjAwNy0wMS0xMyAxMjozNzo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IENsZWFuIHVwIGEgYml0LCBtb3N0bHkgdGhlIGRlYnVnIHN0YXRlbWVudHM7IGZpeCBkZWFkbG9jayBpbiBfc2V0X3Byb3BlcnR5KCkgaW4gdGhlIGVycm9yIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiAoZG9fcmVhZF9yZXF1ZXN0X3Jlc3BvbnNlKSwKCSAgKGdzdF9teXRodHZfc3JjX2NyZWF0ZSksIChnc3RfbXl0aHR2X3NyY19nZXRfcG9zaXRpb24pLAoJICAoZ3N0X215dGh0dl9zcmNfZG9fc2VlayksIChnc3RfbXl0aHR2X3NyY19zdGFydCksCgkgIChnc3RfbXl0aHR2X3NyY19uZXh0X3Byb2dyYW1fY2hhaW4pLCAoZ3N0X215dGh0dl9zcmNfZ2V0X3NpemUpLAoJICAoZ3N0X215dGh0dl9zcmNfaGFuZGxlX2V2ZW50KSwgKGdzdF9teXRodHZfc3JjX2hhbmRsZV9xdWVyeSksCgkgIChnc3RfbXl0aHR2X3NyY19jaGFuZ2Vfc3RhdGUpLCAoZ3N0X215dGh0dl9zcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9teXRodHZfc3JjX3VyaV9nZXRfdHlwZSk6CgkgIENsZWFuIHVwIGEgYml0LCBtb3N0bHkgdGhlIGRlYnVnIHN0YXRlbWVudHM7IGZpeCBkZWFkbG9jayBpbgoJICBfc2V0X3Byb3BlcnR5KCkgaW4gdGhlIGVycm9yIGNhc2VzOyBmaXggdXAgcXVlcnkgZnVuY3Rpb24uCgoyMDA3LTAxLTEyIDIxOjU4OjQzICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2ZpeGF0ZSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDEtMTIgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZml4YXRlKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfb3VpamFfY2FwcywgZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJlcGFyZSk6CgkgIFJlbW92ZSBmaXhhdGUvb3VpamEgc3R1ZmYsIHRoYW5rZnVsbHksIGR1ZSB0byB0aGUgbmV3CgkgIHBhcnQtbmVnb3RpYXRpb24udHh0IHB1bGwtbW9kZSBuZWdvdGlhdGlvbiBzY2hlbWUuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzX3B1bGwpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKTogSW1wbGVtZW50IHVwc3RyZWFtIHNldF9jYXBzIHB1bGwKCSAgcHJveHlpbmcgZm9yIHB1bGwgbW9kZS4gTm93IHRoaXMgd29ya3M6IGxhZHNwYS1zaW5lLWZjYWMgIQoJICBhdWRpb2NvbnZlcnQgISBhbHNhc2luay4KCjIwMDctMDEtMTIgMTk6MDI6MzcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9teXRodHYvTWFrZWZpbGUuYW06CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmg6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBNeXRoVFYgY2xpZW50IHNvdXJjZSBwbHVnaW4gY3JlYXRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE15dGhUViBjbGllbnQgc291cmNlIHBsdWdpbiBjcmVhdGVkLgoKMjAwNy0wMS0xMiAxNzoxNjo1MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4LzogQWRkIFgtUVQgZGVwYXlsb2FkZXIgdGhhdCB3aWxsIGV2ZW50dWFsbHkgc2hhcmUgY29kZSB3aXRoIHRoZSBkZW11eGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5jOiAoZ3N0X3J0cF94cXRfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfeHF0X2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF94cXRfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX3hxdF9kZXBheV9maW5hbGl6ZSksIChnc3RfcnRwX3F1aWNrdGltZV9wYXJzZV9zZCksCgkgIChnc3RfcnRwX3hxdF9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfeHF0X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF94cXRfZGVwYXlfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfeHF0X2RlcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX3hxdF9kZXBheV9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3J0cF94cXRfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5Lmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKSwgKGdzdF9xdGRlbXV4X2xvb3ApLAoJICAocXRkZW11eF9wYXJzZV9tb292KSwgKHF0ZGVtdXhfcGFyc2VfY29udGFpbmVyKSwKCSAgKHF0ZGVtdXhfcGFyc2Vfbm9kZSksIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgKiBnc3QvcXRkZW11eC9xdWlja3RpbWUuYzogKHBsdWdpbl9pbml0KToKCSAgQWRkIFgtUVQgZGVwYXlsb2FkZXIgdGhhdCB3aWxsIGV2ZW50dWFsbHkgc2hhcmUgY29kZSB3aXRoIHRoZSBkZW11eGVyLgoJICBNYWtlIG5ldyBwbHVnaW4gZW50cnkgcG9pbnQgd2l0aCBxdWlja3RpbWUgcmVsZWF0ZWQgc3R1ZmYuCgoyMDA3LTAxLTEyIDEyOjEwOjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06IERpc3QgYWxsIG5ldyBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkgIERpc3QgYWxsIG5ldyBmaWxlcy4KCjIwMDctMDEtMTIgMTA6Mjc6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBkb2NzL3BsdWdpbnMvOiBBY3RpdmF0ZSBkb2NzIGZvciBqYWNrLCBzZGwgYW5kIHF0ZGVtdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkgIEFjdGl2YXRlIGRvY3MgZm9yIGphY2ssIHNkbCBhbmQgcXRkZW11eC4KCjIwMDctMDEtMTIgMTA6MjU6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLio6IEltcHJvdmUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiAoamFja19zYW1wbGVfcmF0ZV9jYiksCgkgIChqYWNrX2J1ZmZlcl9zaXplX2NiKSwgKGphY2tfc2h1dGRvd25fY2IpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfYWNxdWlyZSk6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJICBJbXByb3ZlIGRvY3MuCgoyMDA3LTAxLTEyIDEwOjI0OjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2dzbS9nc3Rnc21lbmMuYzogRml4IHR5cG8gaW4gZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuYzogKGdzdF9nc21lbmNfaW5pdCk6CgkgIEZpeCB0eXBvIGluIGRvY3MuCgoyMDA3LTAxLTEyIDEwOjIyOjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvOiBDbGVhbnVwIGFuZCByZWZhY3RvciB0byBtYWtlIHRoZSBjb2RlIG1vcmUgcmVhZGFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGV4dHJhY3RfaW5pdGlhbF9sZW5ndGhfYW5kX2ZvdXJjYyksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciksIChnc3RfcXRkZW11eF9jb21iaW5lX2Zsb3dzKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLCAoZ3N0X3F0ZGVtdXhfbG9vcCksCgkgIChnc3RfcXRkZW11eF9jaGFpbiksIChxdGRlbXV4X3NpbmtfYWN0aXZhdGVfcHVsbCksCgkgIChxdGRlbXV4X2luZmxhdGUpLCAocXRkZW11eF9wYXJzZV9tb292KSwgKHF0ZGVtdXhfcGFyc2VfY29udGFpbmVyKSwKCSAgKHF0ZGVtdXhfcGFyc2Vfbm9kZSksIChxdGRlbXV4X3RyZWVfZ2V0X2NoaWxkX2J5X3R5cGUpLAoJICAocXRkZW11eF90cmVlX2dldF9zaWJsaW5nX2J5X3R5cGUpLCAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksCgkgIChxdGRlbXV4X3BhcnNlX3NhbXBsZXMpLCAocXRkZW11eF9wYXJzZV9zZWdtZW50cyksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspLCAocXRkZW11eF90YWdfYWRkX3N0ciksIChxdGRlbXV4X3RhZ19hZGRfbnVtKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9kYXRlKSwgKHF0ZGVtdXhfdGFnX2FkZF9nbnJlKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdWR0YSksIChxdGRlbXV4X3JlZGlyZWN0c19zb3J0X2Z1bmMpLAoJICAocXRkZW11eF9wcm9jZXNzX3JlZGlyZWN0cyksIChxdGRlbXV4X3BhcnNlX3JlZGlyZWN0cyksCgkgIChxdGRlbXV4X3BhcnNlX3RyZWUpLCAoZ3N0X3F0ZGVtdXhfaGFuZGxlX2VzZHMpLAoJICAocXRkZW11eF92aWRlb19jYXBzKSwgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOiAocXRkZW11eF9kdW1wX212aGQpLAoJICAocXRkZW11eF9kdW1wX3RraGQpLCAocXRkZW11eF9kdW1wX2Vsc3QpLCAocXRkZW11eF9kdW1wX21kaGQpLAoJICAocXRkZW11eF9kdW1wX2hkbHIpLCAocXRkZW11eF9kdW1wX3ZtaGQpLCAocXRkZW11eF9kdW1wX2RyZWYpLAoJICAocXRkZW11eF9kdW1wX3N0c2QpLCAocXRkZW11eF9kdW1wX3N0dHMpLCAocXRkZW11eF9kdW1wX3N0c3MpLAoJICAocXRkZW11eF9kdW1wX3N0c2MpLCAocXRkZW11eF9kdW1wX3N0c3opLCAocXRkZW11eF9kdW1wX3N0Y28pLAoJICAocXRkZW11eF9kdW1wX2NvNjQpLCAocXRkZW11eF9kdW1wX2Rjb20pLCAocXRkZW11eF9kdW1wX2NtdmQpLAoJICAocXRkZW11eF9kdW1wX3Vua25vd24pLCAocXRkZW11eF9ub2RlX2R1bXBfZm9yZWFjaCksCgkgIChxdGRlbXV4X25vZGVfZHVtcCk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6IChxdGRlbXV4X3R5cGVfZ2V0KToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRwYWxldHRlLmg6CgkgIENsZWFudXAgYW5kIHJlZmFjdG9yIHRvIG1ha2UgdGhlIGNvZGUgbW9yZSByZWFkYWJsZS4KCSAgTW92ZSBkZWJ1Z2dpbmcvdGFibGVzIGludG8gc2VwYXJhdGUgZmlsZXMuCgkgIEFkZCAyLzQvMTYgY29sb3IgcGFsbGV0ZWUgc3VwcG9ydC4KCSAgRml4IHJhdyAxNSBiaXQgUkdCIGhhbmRsaW5nLgoJICBVc2UgbW9yZSBGT1VSQ0MgY29uc3RhbnRzLgoJICBBZGQgc29tZSBkb2NzLgoKMjAwNy0wMS0xMSAxOTo1MTowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiBNaW5vciBjbGVhbi11cDogdXNlIGVudW0gdmFsdWVzIGluc3RlYWQgb2YgaGFyZGNvZGVkIGNvbnN0YW50cyAoIzM5NTUzNikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSAgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfY29ycmVjdGlvbl9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19qb2ludF9zdGVyZW9fbW9kZV9nZXRfdHlwZSk6CgkgIE1pbm9yIGNsZWFuLXVwOiB1c2UgZW51bSB2YWx1ZXMgaW5zdGVhZCBvZiBoYXJkY29kZWQgY29uc3RhbnRzICgjMzk1NTM2KS4KCjIwMDctMDEtMTEgMTI6Mjg6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6IFN1cHBvcnQgU0VFS0lORyBxdWVyeSAoYmFkIG5ld3Mgbm93IGRlbGl2ZXJlZCBwcm9wZXJseSEpOyBhZGQgZXZlbnQgZnVuY3Rpb24gdG8gc291cmNlIHBhZHMgdG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L212ZS9nc3RtdmVkZW11eC5jOiAoZ3N0X212ZV9kZW11eF9nZXRfc3JjX3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF9tdmVfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChnc3RfbXZlX2RlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X212ZV9hZGRfc3RyZWFtKToKCSAgU3VwcG9ydCBTRUVLSU5HIHF1ZXJ5IChiYWQgbmV3cyBub3cgZGVsaXZlcmVkIHByb3Blcmx5ISk7IGFkZCBldmVudAoJICBmdW5jdGlvbiB0byBzb3VyY2UgcGFkcyB0byBtYWtlIHN1cmUgc2Vla3MgYXJlbid0IHByb3BhZ2F0ZWQKCSAgdXBzdHJlYW0sIGV2ZW4gaWYgdGhleSBhcmVuJ3QgaGFuZGxlZC4KCjIwMDctMDEtMTEgMTE6Mzk6NTYgKzAwMDAgIEplbnMgR3JhbnNldWVyIDxqZW5zZ3JAZ214Lm5ldD4KCgkgIEFkZCBJbnRlcnBsYXkgTVZFIGZvcm1hdCBkZW11eGVyL2RlY29kZXIgYW5kIG11eGVyL2VuY29kZXIuIERlbXV4ZXIgZG9lc24ndCBzdXBwb3J0IHNlZWtpbmcgeWV0LCBidXQgc2VlbXMgdG8gd29yayBmaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEplbnMgR3JhbnNldWVyICA8amVuc2dyIGF0IGdteCBuZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9tdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L212ZS9UT0RPOgoJICAqIGdzdC9tdmUvZ3N0bXZlLmM6CgkgICogZ3N0L212ZS9nc3RtdmVkZW11eC5jOgoJICAqIGdzdC9tdmUvZ3N0bXZlZGVtdXguaDoKCSAgKiBnc3QvbXZlL2dzdG12ZW11eC5jOgoJICAqIGdzdC9tdmUvZ3N0bXZlbXV4Lmg6CgkgICogZ3N0L212ZS9tdmUuaDoKCSAgKiBnc3QvbXZlL212ZWF1ZGlvZGVjLmM6CgkgICogZ3N0L212ZS9tdmVhdWRpb2VuYy5jOgoJICAqIGdzdC9tdmUvbXZldmlkZW9kZWMxNi5jOgoJICAqIGdzdC9tdmUvbXZldmlkZW9kZWM4LmM6CgkgICogZ3N0L212ZS9tdmV2aWRlb2VuYzE2LmM6CgkgICogZ3N0L212ZS9tdmV2aWRlb2VuYzguYzoKCSAgQWRkIEludGVycGxheSBNVkUgZm9ybWF0IGRlbXV4ZXIvZGVjb2RlciBhbmQgbXV4ZXIvZW5jb2Rlci4gRGVtdXhlcgoJICBkb2Vzbid0IHN1cHBvcnQgc2Vla2luZyB5ZXQsIGJ1dCBzZWVtcyB0byB3b3JrIGZpbmUgb3RoZXJ3aXNlLgoJICBDbG9zZXMgIzM0ODk3My4KCjIwMDctMDEtMDkgMTA6MDY6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcmVhbC9NYWtlZmlsZS5hbTogRml4IGJ1aWxkIChhZGQgTElCUyBhbmQgQ0ZMQUdTIGZvciBnc3QtcGx1Z2lucy1iYXNlIHN0dWZmKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvTWFrZWZpbGUuYW06CgkgIEZpeCBidWlsZCAoYWRkIExJQlMgYW5kIENGTEFHUyBmb3IgZ3N0LXBsdWdpbnMtYmFzZSBzdHVmZikuCgoyMDA3LTAxLTA3IDIyOjAzOjU0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBOZXcgZWxlbWVudHMgaW50ZXJsZWF2ZSBhbmQgZGVpbnRlcmxlYXZlLCBpbXBsZW1lbnQgY2hhbm5lbCBpbnRlcmxlYXZpbmcgYW5kIGRlaW50ZXJsZWF2aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wMS0wNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2ludGVybGVhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ludGVybGVhdmUvcGx1Z2luLmg6CgkgICogZ3N0L2ludGVybGVhdmUvcGx1Z2luLmM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiBOZXcgZWxlbWVudHMgaW50ZXJsZWF2ZSBhbmQKCSAgZGVpbnRlcmxlYXZlLCBpbXBsZW1lbnQgY2hhbm5lbCBpbnRlcmxlYXZpbmcgYW5kIGRlaW50ZXJsZWF2aW5nLgoJICBUaGUgaW50ZXJsZWF2ZXIgY2FuIG9wZXJhdGUgaW4gcHVsbCBvciBwdXNoIG1vZGUgYnV0IHRoZQoJICBkZWludGVybGVhdmVyIGlzIG1vcmUgbGlrZSBhIGRlbXV4ZXIgYW5kIGNhbiBvbmx5IG9wZXJhdGUgaW4gcHVzaAoJICBtb2RlLgoKMjAwNy0wMS0wNiAxOToyMzo0MCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogUHJvcGVybHkgZGV0ZWN0IHRoZSB0d28gYXJjaGl0ZWN0dXJlcyBvbiB3aGljaCB0aGUgcmVhbCBwbHVnaW4gY2FuIGJlIGJ1aWx0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFByb3Blcmx5IGRldGVjdCB0aGUgdHdvIGFyY2hpdGVjdHVyZXMgb24gd2hpY2ggdGhlIHJlYWwgcGx1Z2luIGNhbiBiZQoJICBidWlsdC4KCSAgRml4ZXMgIzM5MzYyMgoKMjAwNy0wMS0wNiAxNzoyMjoxMiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTAxLTA2ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX291aWphX2NhcHMpOiBNb3ZlIGFyb3VuZCBpbiB0aGUgc291cmNlCgkgIGZpbGUuLi4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3ByZXBhcmUsIGdzdF9zaWduYWxfcHJvY2Vzc29yX2RvX3B1bGxzKToKCSAgQ2FsbCBvdWlqYV9jYXBzIGluIHByZXBhcmUoKSBpbnN0ZWFkIG9mIGRvX3B1bGxzKCksIGEgYml0IGVhcmxpZXIuCgkgIFRoaXMgYWxsb3dzIHVzIHRvIGhhdmUgY2FwcyB3aGVuIHdlIGRvIHRoZSBwYWRfYWxsb2NfYnVmZmVyKCkuCgkgIChnc3RfcGFkX2FsbG9jX2J1ZmZlcl9hbmRfc2V0X2NhcHMpOiBVc2Ugc2VsZi0+Y2FwcyBpbnN0ZWFkIG9mIHRoZQoJICBwYWQgY2Fwcywgd2hpY2ggbWlnaHQgbm90IGJlIHNldCB5ZXQuCgoyMDA3LTAxLTA2IDE1OjU2OjU1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfYWRkX3BhZF9mcm9tX3RlbXBsYXRlKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wMS0wNiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfYWRkX3BhZF9mcm9tX3RlbXBsYXRlKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZml4YXRlKTogQWRkIGEgZml4YXRlIGZ1bmN0aW9uLCB0byBhc3Npc3QgaW4KCSAgcGF0aG9sb2dpY2FsIGxhZHNwYS1zaW5lLWZjYWMgISBmYWtlc2luayBjYW4tYWN0aXZhdGUtcHVsbD10cnVlCgkgIGNhc2VzLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJlcGFyZSwgZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2Vzcyk6IEFkZAoJICBuZnJhbWVzIGFyZ3Mgc28gdGhhdCBnZXRyYW5nZSBjYW4gdGVsbCBsYWRzcGEgaG93IG1hbnkgZnJhbWVzIHRvCgkgIHByb2Nlc3MuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9vdWlqYV9jYXBzKTogc2V0Y2FwcyBuZWVkcyB0byBiZSBjYWxsZWQKCSAgYmVmb3JlIHByb2Nlc3NpbmcsIHdoaWNoIG5vcm1hbGx5IGhhcHBlbnMgd2hlbiBjaGFpbmluZyBhIGJ1ZmZlcgoJICB0byBhIHBhZC4gSG93ZXZlciBpbiBnZXRyYW5nZSBtb2RlIHdpdGggbm8gc2lua3Mgd2UgbmVlZCB0byBjaGVjawoJICBleHBsaWNpdGx5IGZvciB0aGlzIGNvbmRpdGlvbiwgZ3Vlc3Mgc29tZSBjYXBzIHRvIHVzZSwgYW5kIHVzZQoJICB0aG9zZSB0byBzZXRjYXBzKCkuIEhlbmNlIHRoaXMgbXlzdGljYWwgZnVuY3Rpb24uCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9kb19wdWxscyk6IFB1bGwgaW4gYnl0ZXMsIG5vdCBzYW1wbGVzLgoJICBEaXZpbmUgdGhlIGNhcHMgaWYgbmVjZXNzYXJ5LgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZ2V0cmFuZ2UpOiBJbnRlcnByZXQgdGhlIGxlbmd0aCBhcyBieXRlcywKCSAgbm90IHNhbXBsZXMuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jaGFpbik6IG5mcmFtZXM9R19NQVhVSU5ULCB3aWxsIGJlIGxpbWl0ZWQKCSAgYnkgaW5jb21pbmcgYnVmZmVyIHNpemVzLgoKMjAwNy0wMS0wNiAxNDowODoyNiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiBEb24ndCBjYWxsIHRoZSBSQUZyZWVEZWNvZGVyIHNpbmNlIGl0IHJhbmRvbWx5IGNhdXNlcyBzZWdmYXVsdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiAoZ3N0X3JlYWxfYXVkaW9fZGVjX2ZpbmFsaXplKToKCSAgRG9uJ3QgY2FsbCB0aGUgUkFGcmVlRGVjb2RlciBzaW5jZSBpdCByYW5kb21seSBjYXVzZXMgc2VnZmF1bHRzLgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5oOgoJICBpbmRlbnQgcHJvcGVybHkuCgoyMDA3LTAxLTA2IDEwOjU4OjEzICswMDAwICBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgoJICBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuKjogSW1wbGVtZW50IGVycm9yIHJlY292ZXJ5IG9uIHNldGNhcHMgZmFpbHVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChnc3RfcmVhbF92aWRlb19kZWNfZGVjb2RlKSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19zZXRjYXBzKSwgKG9wZW5fbGlicmFyeSksIChjbG9zZV9saWJyYXJ5KSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19maW5hbGl6ZSk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmg6CgkgIEltcGxlbWVudCBlcnJvciByZWNvdmVyeSBvbiBzZXRjYXBzIGZhaWx1cmUuCgoyMDA3LTAxLTA2IDEwOjQxOjQ2ICswMDAwICBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgoJICBnc3QvcmVhbC86IEFkZGVkIFJlYWxBdWRpbyB3cmFwcGVyIGVsZW1lbnRmYWN0b3J5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCSAgKiBnc3QvcmVhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IChnc3RfcmVhbF9hdWRpb19kZWNfY2hhaW4pLAoJICAoZ3N0X3JlYWxfYXVkaW9fZGVjX3NldGNhcHMpLCAoZ3N0X3JlYWxfYXVkaW9fZGVjX2luaXQpLAoJICAoZ3N0X3JlYWxfYXVkaW9fZGVjX2Jhc2VfaW5pdCksIChnc3RfcmVhbF9hdWRpb19kZWNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9yZWFsX2F1ZGlvX2RlY19maW5hbGl6ZSksIChnc3RfcmVhbF9hdWRpb19kZWNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9yZWFsX2F1ZGlvX2RlY19nZXRfcHJvcGVydHkpLCAoZ3N0X3JlYWxfYXVkaW9fZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5oOgoJICBBZGRlZCBSZWFsQXVkaW8gd3JhcHBlciBlbGVtZW50ZmFjdG9yeS4KCSAgTW9kaWZpZWQgc3RydWN0dXJlcyBzbyBpdCBjYW4gYWxzbyB3b3JrIG9uIHg4Nl82NCB1c2luZyB0aGUKCSAgYWRlcXVhdGUgLnNvIC4KCjIwMDctMDEtMDUgMTg6MzI6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBDaGVjayBmb3IgemxpYiBhbmQgaWYgYXZhaWxhYmxlIHBhc3MgaXQgZXhwbGljaXRseSB0byB0aGUgbGlua2VyIHdoZW4gbGlua2luZyBxdGRlbXV4LiBJZiBub3QgYXZhaWxhYmxlIChvciAtLWRpc2FibGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfbW9vdik6CgkgIENoZWNrIGZvciB6bGliIGFuZCBpZiBhdmFpbGFibGUgcGFzcyBpdCBleHBsaWNpdGx5IHRvIHRoZSBsaW5rZXIKCSAgd2hlbiBsaW5raW5nIHF0ZGVtdXguIElmIG5vdCBhdmFpbGFibGUgKG9yIC0tZGlzYWJsZS1leHRlcm5hbCBoYXMKCSAgYmVlbiBzcGVjaWZpZWQhKSwgZGlzYWJsZSB0aGUgYml0cyBpbiBxdGRlbXV4IHRoYXQgdXNlIGl0LiBGaXhlcwoJICBidWlsZCBvbiBNaW5nVyAoIzM5Mjg1NikuCgoyMDA3LTAxLTA1IDE4OjE1OjUyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgY29uZmlndXJlLmFjOiBSZWFsIHZpZGVvIC5zbyBhcmUgbm93IGFsc28gYXZhaWxhYmxlIGZvciB4ODZfNjQsIHNvIHdlIGNhbiBidWlsZCB0aGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZWFsIHZpZGVvIC5zbyBhcmUgbm93IGFsc28gYXZhaWxhYmxlIGZvciB4ODZfNjQsIHNvIHdlIGNhbiBidWlsZCB0aGUKCSAgUmVhbCBwbHVnaW4gb24gaTM4NiBBTkQgeDg2XzY0LgoJICAqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZWFsL2dzdHJlYWwuYzogKHBsdWdpbl9pbml0KToKCSAgTmV3IHBsdWdpbiBmaWxlIGZvciByZWFsIC5zbyB3cmFwcGVyIHBsdWdpbnMuCgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChnc3RfcmVhbF92aWRlb19kZWNfYWxsb2NfYnVmZmVyKSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19kZWNvZGUpLCAoZ3N0X3JlYWxfdmlkZW9fZGVjX2NoYWluKSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19hY3RpdmF0ZV9wdXNoKSwgKGdzdF9yZWFsX3ZpZGVvX2RlY19zZXRjYXBzKSwKCSAgKG9wZW5fbGlicmFyeSksIChjbG9zZV9saWJyYXJ5KSwgKGdzdF9yZWFsX3ZpZGVvX2RlY19pbml0KSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19iYXNlX2luaXQpLCAoZ3N0X3JlYWxfdmlkZW9fZGVjX2ZpbmFsaXplKSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX2dldF9wcm9wZXJ0eSksIChnc3RfcmVhbF92aWRlb19kZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmg6CgkgIE1vdmVkIFJlYWxWaWRlbyBlbGVtZW50IHRvIHNlcGFyYXRlIGZpbGUKCSAgQ2xlYW5lZCB1cCBjb2RlIHNvbWUgbW9yZS4KCSAgTWFrZSBpdCB3b3JrIG9uIHg4Nl82NC4KCSAgVHJ5IHNldmVyYWwgcG9zc2libGUgbG9jYXRpb25zIGZvciAuc28KCSAgU2VwYXJhdGUgb3BlbmluZy9jbG9zaW5nIGxpYnJhcmllcyBpbiBzZXBhcmF0ZSBmdW5jdGlvbnMuCgoyMDA3LTAxLTA1IDE2OjA3OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogQ2FsbCBnX3RocmVhZF9pbml0KCkgcmlnaHQgYXQgdGhlIGJlZ2lubmluZy4gUmVtb3ZlIHN1cGVyZmx1b3VzIGdzdF9pbml0KCkgLSB3ZSd2ZSBhbHJlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6IChtYWluKToKCSAgQ2FsbCBnX3RocmVhZF9pbml0KCkgcmlnaHQgYXQgdGhlIGJlZ2lubmluZy4gUmVtb3ZlIHN1cGVyZmx1b3VzCgkgIGdzdF9pbml0KCkgLSB3ZSd2ZSBhbHJlYWR5IGJlZW4gaW5pdGVkIHZpYSB0aGUgR09wdGlvbiBzdHVmZi4KCjIwMDctMDEtMDUgMTQ6MDI6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IERvbid0IGNvbXBpbGUgcmZic291cmNlIGlmIHdlIGRvbid0IGhhdmUgc3lzL3NvY2tldC5oLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERvbid0IGNvbXBpbGUgcmZic291cmNlIGlmIHdlIGRvbid0IGhhdmUgc3lzL3NvY2tldC5oLgoJICBTaG91bGQgZml4IGNvbXBpbGF0aW9uIG9uIE1pbmdXLgoKMjAwNy0wMS0wNCAxNjozOTozOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QtbGlicy9leHQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2V4dC9hbXJ3Yi9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZXh0L2FtcndiL1JFQURNRToKCSAgYWRkIGRpcmVjdG9yaWVzIGluIHRoZSByaWdodCBwbGFjZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGRpcmVjdG9yaWVzIGluIHRoZSByaWdodCBwbGFjZQoKMjAwNy0wMS0wNCAxNjozMjo0MyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2FtcndiL01ha2VmaWxlLmFtOgoJKiBleHQvYW1yd2IvYW1yd2ItY29kZS9NYWtlZmlsZS5hbToKCSogZXh0L2FtcndiL2FtcndiLWNvZGUvYW1yd2IvTWFrZWZpbGUuYW06CgkqIGV4dC9hbXJ3Yi9hbXJ3Yi1jb2RlL2FtcndiL1JFQURNRToKCSogZXh0L2FtcndiL2FtcndiLWNvZGUvcnVuLnNoOgoJKiBnc3QtbGlicy9NYWtlZmlsZS5hbToKCSAgbW92ZSBhbXJ3YiBjb2RlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb3ZlIGFtcndiIGNvZGUKCjIwMDctMDEtMDQgMTY6MzI6NDMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2FtcndiL2FtcndiLWNvZGUvTWFrZWZpbGUuYW06CgkgIG1vdmUgYW1yd2IgY29kZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW92ZSBhbXJ3YiBjb2RlCgoyMDA3LTAxLTA0IDEyOjQ5OjQ3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogc3BsaXQgb3V0IEdTVF9DRkxBR1MgaW50byBHU1RfUExVR0lOU19CQVNFX0NGTEFHUyBhbmQgR1NUX0NGTEFHUyBzbyB0aGF0IEdTVF9CQVNFX0NGTEFHUyBjYW4gZ28gaW5iZXR3ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIHNwbGl0IG91dCBHU1RfQ0ZMQUdTIGludG8gR1NUX1BMVUdJTlNfQkFTRV9DRkxBR1MgYW5kIEdTVF9DRkxBR1MKCSAgc28gdGhhdCBHU1RfQkFTRV9DRkxBR1MgY2FuIGdvIGluYmV0d2VlbiB0aGVtLCBtYWtpbmcgc3VyZQoJICB3ZSB1c2UgdW5pbnN0YWxsZWQgZ3N0LWxpYnMgaGVhZGVycwoJICAqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSAgKiBleHQvYWxzYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2RwYXJhbm9pYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ25vbWV2ZnMvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYnZpc3VhbC9NYWtlZmlsZS5hbToKCSAgKiBleHQvb2dnL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aGVvcmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3ZvcmJpcy9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2NkZGEvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L3JpZmYvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvdGFnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hZGRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb3JhdGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BsYXliYWNrL01ha2VmaWxlLmFtOgoJICAqIGdzdC90Y3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvc2NhbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZvbHVtZS9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlL01ha2VmaWxlLmFtOgoJICAqIHN5cy94dmltYWdlL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBhZGFwdAoKMjAwNy0wMS0wNCAwOTo1MTo1NiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvOiBGaXggdmFyaW91cyBjb21waWxlciB3YXJuaW5ncyB0aGF0IHJldmVhbCBwb3RlbnRpYWwgYnVncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDEtMDQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIChnc3RfZGZidmlkZW9zaW5rX25hdmlnYXRpb25fc2VuZF9ldmVudCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF90eXBlKToKCSAgKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOiAoZ3N0X3NkbGF1ZGlvX3Npbmtfb3Blbik6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3Npbmtfc2V0Y2FwcyksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19uYXZpZ2F0aW9uX3NlbmRfZXZlbnQpOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6IEZpeCB2YXJpb3VzIGNvbXBpbGVyIHdhcm5pbmdzIHRoYXQKCSAgcmV2ZWFsIHBvdGVudGlhbCBidWdzLgoKMjAwNy0wMS0wNCAwOTo0NDo1NyArMDAwMCAgVmluY2VudCBUb3JyaSA8dnRvcnJpQHVuaXYtZXZyeS5mcj4KCgkgIEFkZCBkaXJlY3Rzb3VuZHNpbmsgdG8gYnVpbGQgYW5kIGRpc3QgaXQsIHNvIGl0IGdldHMgYnVpbHQgd2hlbiBjb21waWxpbmcgd2l0aCBNaW5nVyBvbiB3aW4zMiBhbmQgdGhlIHJlcXVpcmVkIGhlYWRlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFZpbmNlbnQgVG9ycmkgIDx2dG9ycmkgYXQgdW5pdi1ldnJ5IGZyPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKGdzdF9kaXJlY3Rzb3VuZHNpbmtfcmVzZXQpOgoJICBBZGQgZGlyZWN0c291bmRzaW5rIHRvIGJ1aWxkIGFuZCBkaXN0IGl0LCBzbyBpdCBnZXRzIGJ1aWx0IHdoZW4KCSAgY29tcGlsaW5nIHdpdGggTWluZ1cgb24gd2luMzIgYW5kIHRoZSByZXF1aXJlZCBoZWFkZXJzIGFuZCBsaWJyYXJpZXMKCSAgYXJlIGF2YWlsYWJsZSAoZml4ZXM6ICMzOTI2MzgpLiBBbHNvIHNpbXBsaWZ5IERpcmVjdERyYXcgY2hlY2sgYSBiaXQuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgRml4IENWUyBpZ25vcmUgZm9yIG5lb25odHRwc3JjIHRlc3QgYmluYXJ5LgoKMjAwNy0wMS0wMyAxOTo1NDozMyArMDAwMCAgVmluY2VudCBUb3JyaSA8dnRvcnJpQHVuaXYtZXZyeS5mcj4KCgkgIEFkZCBkaXJlY3RkcmF3c2luayB0byBidWlsZCBhbmQgZGlzdCBpdCwgc28gaXQgZ2V0cyBidWlsdCB3aGVuIGNvbXBpbGluZyB3aXRoIE1pbmdXIG9uIHdpbjMyIGFuZCB0aGUgcmVxdWlyZWQgaGVhZGVycy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFZpbmNlbnQgVG9ycmkgIDx2dG9ycmkgYXQgdW5pdi1ldnJ5IGZyPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkgIEFkZCBkaXJlY3RkcmF3c2luayB0byBidWlsZCBhbmQgZGlzdCBpdCwgc28gaXQgZ2V0cyBidWlsdCB3aGVuCgkgIGNvbXBpbGluZyB3aXRoIE1pbmdXIG9uIHdpbjMyIGFuZCB0aGUgcmVxdWlyZWQgaGVhZGVycyBhbmQgbGlicmFyaWVzCgkgIGFyZSBhdmFpbGFibGUgKGZpeGVzOiAjMzkyMzEzKS4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX2NlbnRlcl9yZWN0KSwgKGdzdF9kaXJlY3RkcmF3c2lua19zaG93X2ZyYW1lKSwKCSAgKGdzdF9kaXJlY3RkcmF3c2lua19zZXR1cF9kZHJhdyksCgkgIChnc3RfZGlyZWN0ZHJhd3Npbmtfc3VyZmFjZV9jcmVhdGUpOgoJICBDb21tZW50IG91dCBzb21lIHVudXNlZCB0aGluZ3MgYW5kIGZpeCBzb21lIHByaW50ZiBmb3JtYXQgaXNzdWVzIGluCgkgIG9yZGVyIHRvIGF2b2lkIHdhcm5pbmdzIHdoZW4gYnVpbGRsaW5nIHdpdGggTWluZ1cgKCMzOTIzMTMpLgoKMjAwNy0wMS0wMyAxNjo0MToxMCArMDAwMCAgSmVucyBHcmFuc2V1ZXIgPGplbnNnckBnbXgubmV0PgoKCSAgRml4IGJ1aWxkIHdpdGggZ2NjLTIueCAoZGVjbGFyZSB2YXJpYWJsZXMgYXQgdGhlIGJlZ2lubmluZyBvZiBhIGJsb2NrIGV0Yy4pLiBGaXhlcyAjMzkxOTcxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEplbnMgR3JhbnNldWVyICA8amVuc2dyIGF0IGdteCBuZXQ+CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOiAoZ3N0X3h2aWRlbmNfZW5jb2RlKSwKCSAgKGdzdF94dmlkZW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChicHdzaW5jX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2ZpbHRlci9nc3RmaWx0ZXIuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOiAoaWlyX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChscHdzaW5jX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzogKGdzdF9udXZfZGVtdXhfaGVhZGVyX2xvYWQpLAoJICAoZ3N0X251dl9kZW11eF9zdHJlYW1fZXh0ZW5kX2hlYWRlcik6CgkgIEZpeCBidWlsZCB3aXRoIGdjYy0yLnggKGRlY2xhcmUgdmFyaWFibGVzIGF0IHRoZSBiZWdpbm5pbmcgb2YgYQoJICBibG9jayBldGMuKS4gRml4ZXMgIzM5MTk3MS4KCjIwMDctMDEtMDIgMTE6MDY6NDggKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcmVhbC9nc3RyZWFsLmM6IFVzZSBjb2RlY19kYXRhIHN1cHBsaWVkIGluIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXZpZXdlZCBieTogRWR3YXJkIEhlcnZleSAgPGVkd2FyZEBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvcmVhbC9nc3RyZWFsLmM6CgkgIChnc3RfcmVhbGRlY19zZXRjYXBzKTogVXNlIGNvZGVjX2RhdGEgc3VwcGxpZWQgaW4gY2Fwcy4KCSAgKGdzdF9yZWFsZGVjX2dldF9wcm9wZXJ0eSk6IENvcnJlY3RseSByZXR1cm4gZGVmYXVsdCBwYXRoLgoJICAoZ3N0X3JlYWxkZWNfY2xhc3NfaW5pdCk6IFJlbW92ZSB1bnVzZWQgc3RhdGVfY2hhbmdlIG1ldGhvZC4KCjIwMDctMDEtMDEgMTg6MDY6MDEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBjb25maWd1cmUuYWM6IE9ubHkgYnVpbGQgdGhlIHBsdWdpbiBvbiAzMmJpdCB4ODYgYXJjaGl0ZWN0dXJlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBPbmx5IGJ1aWxkIHRoZSBwbHVnaW4gb24gMzJiaXQgeDg2IGFyY2hpdGVjdHVyZXMuCgoyMDA3LTAxLTAxIDE3OjQ3OjUzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgTmV3IHBsdWdpbiBmb3IgZGVjb2RpbmcgUmVhbFZpZGVvIFN0cmVhbXMgdXNpbmcgdGhlIHg4NiAzMmJpdCBzaGFyZWQgbGlicmFyaWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2aWV3ZWQgYnk6IEVkd2FyZCBIZXJ2ZXkgIDxlZHdhcmRAZmx1ZW5kby5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZWFsL2dzdHJlYWwuYzogKGdzdF9yZWFsZGVjX2FsbG9jX2J1ZmZlciksCgkgIChnc3RfcmVhbGRlY19kZWNvZGUpLCAoZ3N0X3JlYWxkZWNfY2hhaW4pLAoJICAoZ3N0X3JlYWxkZWNfYWN0aXZhdGVfcHVzaCksIChnc3RfcmVhbGRlY19zZXRjYXBzKSwKCSAgKGdzdF9yZWFsZGVjX2luaXQpLCAoZ3N0X3JlYWxkZWNfYmFzZV9pbml0KSwKCSAgKGdzdF9yZWFsZGVjX2NoYW5nZV9zdGF0ZSksIChnc3RfcmVhbGRlY19maW5hbGl6ZSksCgkgIChnc3RfcmVhbGRlY19zZXRfcHJvcGVydHkpLCAoZ3N0X3JlYWxkZWNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9yZWFsZGVjX2NsYXNzX2luaXQpLCAocGx1Z2luX2luaXQpOgoJICBOZXcgcGx1Z2luIGZvciBkZWNvZGluZyBSZWFsVmlkZW8gU3RyZWFtcyB1c2luZyB0aGUgeDg2IDMyYml0CgkgIHNoYXJlZCBsaWJyYXJpZXMuCgkgIENsb3NlcyAjMzU0MTc0CgoyMDA2LTEyLTMwIDEyOjQ0OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6IFdoZW4gd2UgY2FuJ3QgY3JlYXRlIGFuIGVsZW1lbnQgbmVlZGVkIGZvciB0aGUgdGVzdCwgcHJpbnQgYSBtZXNzYWdlIGRldGFpbGluZyB3aGljLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAodmlkZW9jcm9wX3Rlc3RfY3JvcHBpbmdfaW5pdF9jb250ZXh0KToKCSAgV2hlbiB3ZSBjYW4ndCBjcmVhdGUgYW4gZWxlbWVudCBuZWVkZWQgZm9yIHRoZSB0ZXN0LCBwcmludCBhIG1lc3NhZ2UKCSAgZGV0YWlsaW5nIHdoaWNoIGVsZW1lbnQgaXQgYWN0dWFsbHkgaXMgdGhhdCdzIG1pc3NpbmcgKCMzOTA2NzMpLgoKMjAwNi0xMi0yMiAxNjoyMzozMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBBZGRlZCBzZWVrIHN1cHBvcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGRlZCBzZWVrIHN1cHBvcnQuCgoyMDA2LTEyLTIyIDEwOjE1OjI0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IHJlYXBwbHkgY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzogKHNldHVwX21wZWcyZW5jKSwKCSAgKGNsZWFudXBfbXBlZzJlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKGNsZWFudXBfcmdhbmFseXNpcyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOiAoc2V0dXBfd2F2cGFja2RlYyksCgkgIChjbGVhbnVwX3dhdnBhY2tkZWMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzogKHNldHVwX3dhdnBhY2tlbmMpLAoJICAoY2xlYW51cF93YXZwYWNrZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzogKHNldHVwX3k0bWVuYyksIChjbGVhbnVwX3k0bWVuYyk6CgkgIHJlYXBwbHkgY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCjIwMDYtMTItMjEgMTc6MDU6NDQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIENWUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gQ1ZTCgkgICogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkgIEFkZCByZWxlYXNlIHNlY3Rpb24gZm9yIDAuMTAuNAoKPT09IHJlbGVhc2UgMC4xMC40ID09PQoKMjAwNi0xMi0yMSAxNTo0NTowMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IHJlbGVhc2luZyAwLjEwLjQsICJCbGFjayBCdWdzIgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgPT09IHJlbGVhc2UgMC4xMC40ID09PQoJICAyMDA2LTEyLTIxICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIHJlbGVhc2luZyAwLjEwLjQsICJCbGFjayBCdWdzIgoKMjAwNi0xMi0yMSAxNTo0MDozMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDYtMTItMjEgMTQ6MDc6MDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBSZW1vdmUgZHVwbGljYXRlIGNoYW5nZWxvZyBlbnRyeSBhYm91dCByZXZlcnRpbmcgYSBwcmV2aW91cyBjb21taXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbW92ZSBkdXBsaWNhdGUgY2hhbmdlbG9nIGVudHJ5IGFib3V0IHJldmVydGluZyBhIHByZXZpb3VzIGNvbW1pdAoKMjAwNi0xMi0yMSAxNDowMzo0MiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzogKHNldHVwX21wZWcyZW5jKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOiAoc2V0dXBfbXBlZzJlbmMpCgkgIChjbGVhbnVwX21wZWcyZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IChjbGVhbnVwX3JnYW5hbHlzaXMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzogKHNldHVwX3dhdnBhY2tkZWMpLAoJICAoY2xlYW51cF93YXZwYWNrZGVjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6IChzZXR1cF93YXZwYWNrZW5jKSwKCSAgKGNsZWFudXBfd2F2cGFja2VuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6IChzZXR1cF95NG1lbmMpLCAoY2xlYW51cF95NG1lbmMpOgoJICByZXZlcnQgbXkgZnJlZXplIGJyZWFrYWdlCgoyMDA2LTEyLTIxIDEyOjU4OjQxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IHJldmVydCBteSBmcmVlemUgYnJlYWthZ2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzogKHNldHVwX21wZWcyZW5jKSwKCSAgKGNsZWFudXBfbXBlZzJlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKGNsZWFudXBfcmdhbmFseXNpcyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOiAoc2V0dXBfd2F2cGFja2RlYyksCgkgIChjbGVhbnVwX3dhdnBhY2tkZWMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzogKHNldHVwX3dhdnBhY2tlbmMpLAoJICAoY2xlYW51cF93YXZwYWNrZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzogKHNldHVwX3k0bWVuYyksIChjbGVhbnVwX3k0bWVuYyk6CgkgIHJldmVydCBteSBmcmVlemUgYnJlYWthZ2UKCjIwMDYtMTItMjEgMDg6MjA6MTAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzogKHNldHVwX21wZWcyZW5jKSwKCSAgKGNsZWFudXBfbXBlZzJlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKGNsZWFudXBfcmdhbmFseXNpcyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOiAoc2V0dXBfd2F2cGFja2RlYyksCgkgIChjbGVhbnVwX3dhdnBhY2tkZWMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzogKHNldHVwX3dhdnBhY2tlbmMpLAoJICAoY2xlYW51cF93YXZwYWNrZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzogKHNldHVwX3k0bWVuYyksIChjbGVhbnVwX3k0bWVuYyk6CgkgIGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgoyMDA2LTEyLTIxIDA4OjEyOjI2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzogKGNsZWFudXBfYXVkaW9yZXNhbXBsZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW90ZXN0c3JjLmM6IChjbGVhbnVwX2F1ZGlvdGVzdHNyYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKHNldHVwX2dkcGRlcGF5KSwKCSAgKGNsZWFudXBfZ2RwZGVwYXkpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOiAoc2V0dXBfZ2RwcGF5KSwgKGNsZWFudXBfZ2RwcGF5KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zdWJwYXJzZS5jOiAodGVhcmRvd25fc3VicGFyc2UpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RleHRvdmVybGF5LmM6IChjbGVhbnVwX3RleHRvdmVybGF5KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3JhdGUuYzogKGNsZWFudXBfdmlkZW9yYXRlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3Rlc3RzcmMuYzogKGNsZWFudXBfdmlkZW90ZXN0c3JjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2x1bWUuYzogKGNsZWFudXBfdm9sdW1lKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b3JiaXNkZWMuYzogKHNldHVwX3ZvcmJpc2RlYyksCgkgIChjbGVhbnVwX3ZvcmJpc2RlYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9yYmlzdGFnLmM6IChzZXR1cF92b3JiaXN0YWcpLAoJICAoY2xlYW51cF92b3JiaXN0YWcpOgoJICBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoKMjAwNi0xMi0xOCAxNzoxMTo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgcG9zdCBCVUZGRVJJTkcgbWVzc2FnZXMgaW4gc3RyZWFtaW5nIG1vZGUgaWYgdGhlIHN0cmVhbSBoZWFkZXJzIGFyZSBiZWhpbmQgdGhlIG1vdmllIGRhdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wb3N0X3Byb2dyZXNzKSwKCSAgKGdzdF9xdGRlbXV4X2NoYWluKToKCSAgRG9uJ3QgcG9zdCBCVUZGRVJJTkcgbWVzc2FnZXMgaW4gc3RyZWFtaW5nIG1vZGUgaWYgdGhlIHN0cmVhbQoJICBoZWFkZXJzIGFyZSBiZWhpbmQgdGhlIG1vdmllIGRhdGE7IGluc3RlYWQsIHBvc3QgInByb2dyZXNzIiBlbGVtZW50CgkgIG1lc3NhZ2VzIGFzIGEgdGVtcG9yYXJ5IHNvbHV0aW9uLiBBcHBzIG1pZ2h0IGdldCBjb25mdXNlZCBhbmQgZG8KCSAgc2lsbHkgdGhpbmdzIHRvIHRoZSBwaXBlbGluZSBzdGF0ZSBpZiB0aGV5IHNlZSBidWZmZXJpbmcgbWVzc2FnZXMKCSAgZnJvbSBkaWZmZXJlbnQgc291cmNlcyBhbmQgZG9uJ3QgcmVhbGl6ZSB0aGV5IGNvbWUgZnJvbSBkaWZmZXJlbnQKCSAgc291cmNlcyAoIzM4NzE2MCkuCgoyMDA2LTEyLTE4IDE2OjQ3OjIzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1vdmUgTEFEUFNBIHBsdWdpbiBmcm9tIC1nb29kIGZvciB0aGUgcmVsZWFzZSwgYXMgaXQncyBub3QgcXVpdGUgcmVhZHkgdG8gYmUgZW5hYmxlZCBieSBkZWZhdWx0IGluIHRoZSAtZ29vZCBtb2R1bGUgeWV0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvKjoKCSAgTW92ZSBMQURQU0EgcGx1Z2luIGZyb20gLWdvb2QgZm9yIHRoZSByZWxlYXNlLCBhcyBpdCdzIG5vdCBxdWl0ZQoJICByZWFkeSB0byBiZSBlbmFibGVkIGJ5IGRlZmF1bHQgaW4gdGhlIC1nb29kIG1vZHVsZSB5ZXQuCgoyMDA2LTEyLTE4IDE1OjUxOjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogUmVzZXQgZmxvd19zdGF0ZSBiYWNrIHRvIF9PSyBhZnRlciBhIGZsdXNoIHN0b3Agc28gdGhhdCB3ZSBleGl0IG91ciBlcnJvciBzdGF0ZSBhZnRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2V2ZW50KToKCSAgUmVzZXQgZmxvd19zdGF0ZSBiYWNrIHRvIF9PSyBhZnRlciBhIGZsdXNoIHN0b3Agc28gdGhhdCB3ZSBleGl0IG91cgoJICBlcnJvciBzdGF0ZSBhZnRlciB0aGUgZmx1c2guIEZpeGVzICMzNzQyMTMKCjIwMDYtMTItMTggMTM6NDA6MzQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBvdXRwdXQgZ193YXJuaW5nIGZvciBhbiB1bnN1cHBvcnRlZCBmb3JtYXQsIGp1c3Qgc2VuZCBhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYWluKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pOgoJICBEb24ndCBvdXRwdXQgZ193YXJuaW5nIGZvciBhbiB1bnN1cHBvcnRlZCBmb3JtYXQsIGp1c3Qgc2VuZCBhCgkgIEdTVF9FTEVNRU5UX1dBUk5JTkcgYW5kIGRvbid0IGFkZCB0aGUgcGFkLgoJICBGaXggdGhlIGNhc2Ugd2hlcmUgaXQgZG9lc24ndCBjaGVjayBmb3IgYSBOVUxMIHBhZCBpbiBzdHJlYW1pbmcgbW9kZS4KCSAgRml4ZXMgIzM4NzEzNwoKMjAwNi0xMi0xOCAxMjoyNzozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IGNyYXNoIGRlcmVmZXJlbmNpbmcgTlVMTCBwb2ludGVyIGlmIHRoZXJlJ3Mgbm8gc3RjbyBhdG9tLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBGaXggY3Jhc2ggZGVyZWZlcmVuY2luZyBOVUxMIHBvaW50ZXIgaWYgdGhlcmUncyBubyBzdGNvIGF0b20uCgkgIEZpeGVzICMzODcxMjIuCgoyMDA2LTEyLTE4IDEwOjAyOjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0B1YnVudHUuY29tPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOiBVc2UgbG9jYWwgY29weSBvZiBtZDUuaCwgYXMgaXQgZGlzYXBwZWFyZWQgaW4gcmVjZW50IHdhdnBhY2sgaW5zdGFsbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgVXNlIGxvY2FsIGNvcHkgb2YgbWQ1LmgsIGFzIGl0IGRpc2FwcGVhcmVkIGluIHJlY2VudCB3YXZwYWNrCgkgIGluc3RhbGxzLgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgdWJ1bnR1IGRvdCBjb20+CgkgIEZpeGVzOiAjMzg3MDc2CgoyMDA2LTEyLTE3IDIwOjE5OjQzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwNi0xMi0xNyAyMDoxOTozNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIFJlcGxhY2Ugc29tZSBlbWFpbCBhZGRyZXNzZXMgd2l0aCBuYW1lcytlbWFpbCBhZGRyZXNzZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlcGxhY2Ugc29tZSBlbWFpbCBhZGRyZXNzZXMgd2l0aCBuYW1lcytlbWFpbCBhZGRyZXNzZXMKCjIwMDYtMTItMTYgMTU6MjU6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFdlIGRvbid0IHN1cHBvcnQgc2Vla2luZyBpbiBzdHJlYW1pbmcgbW9kZSwgc28gZG9uJ3QgZXZlbiB0cnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9zcmNfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX2V2ZW50KToKCSAgV2UgZG9uJ3Qgc3VwcG9ydCBzZWVraW5nIGluIHN0cmVhbWluZyBtb2RlLCBzbyBkb24ndCBldmVuIHRyeS4KCSAgSW1wbGVtZW50IHNlZWtpbmcgcXVlcnkgc28gYXBwcyBjYW4gcXVlcnkgc2Vla2FiaWxpdHkgcHJvcGVybHkKCSAgKHNlZSAjMzY1NDE0KS4gRml4IGR1cmF0aW9uIHF1ZXJ5LgoKMjAwNi0xMi0xNSAxMjoxODoyMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBhZGQgZG9hcCBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICAqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJICAqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgZG9hcCBmaWxlCgoyMDA2LTEyLTE1IDA5OjM0OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2xpYm1tcy9nc3RtbXMuYzogVGhlc2UgZGVidWcgc3RhdGVtZW50cyBzaG91bGQgYmUgdXNpbmcgTE9HIGxldmVsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19jcmVhdGUpOgoJICBUaGVzZSBkZWJ1ZyBzdGF0ZW1lbnRzIHNob3VsZCBiZSB1c2luZyBMT0cgbGV2ZWwuCgoyMDA2LTEyLTE0IDE1OjQ1OjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRmaWxlLmNwcDogRml4IHBvdGVudGlhbCBidWZmZXIgb3ZlcmZsb3cgKENWRS0yMDA2LTQxOTIpICgjMzg1Nzg4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRmaWxlLmNwcDoKCSAgRml4IHBvdGVudGlhbCBidWZmZXIgb3ZlcmZsb3cgKENWRS0yMDA2LTQxOTIpICgjMzg1Nzg4KS4KCjIwMDYtMTItMTMgMTc6MTI6MjIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBBTVItV0IgdG8gdGhlIGxpc3Qgb2Ygc3VwcG9ydGVkIGZvcm1hdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9kdXJhdGlvbiksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICBBZGQgQU1SLVdCIHRvIHRoZSBsaXN0IG9mIHN1cHBvcnRlZCBmb3JtYXRzLgoKMjAwNi0xMi0xMiAxNjoxMDoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IEZpeCBtaW5vciBtZW0gbGVhayBpbiByZWRpcmVjdCBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19jcmVhdGUpLAoJICAoc2VuZF9yZXF1ZXN0X2FuZF9yZWRpcmVjdCk6CgkgIEZpeCBtaW5vciBtZW0gbGVhayBpbiByZWRpcmVjdCBjb2RlLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbmVvbmh0dHBzcmMuYzogKGhhbmRvZmZfY2IpLAoJICAoR1NUX1NUQVJUX1RFU1QpLCAobmVvbmh0dHBzcmNfc3VpdGUpOgoJICAqIHRlc3RzL2NoZWNrL2dzdC1wbHVnaW5zLWJhZC5zdXBwOgoJICBBZGQgc3VwZXItYmFzaWMgdW5pdCB0ZXN0IGZvciAjMzg0MTQwLgoKMjAwNi0xMi0xMiAxMjo0NjoyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IFNldCBvZmZzZXQgb24gYnVmZmVycyBwdXNoZWQgb3V0IChpZDNkZW11eCBnZXRzIGNvbmZ1c2VkIGlmIHRoZSBmaXJzdCBidWZmZXIgZG9lcyBub3QgaGF2ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19jcmVhdGUpLAoJICAoc2VuZF9yZXF1ZXN0X2FuZF9yZWRpcmVjdCk6CgkgIFNldCBvZmZzZXQgb24gYnVmZmVycyBwdXNoZWQgb3V0IChpZDNkZW11eCBnZXRzIGNvbmZ1c2VkIGlmIHRoZQoJICBmaXJzdCBidWZmZXIgZG9lcyBub3QgaGF2ZSBhbiBvZmZzZXQgb2YgMCkuIEZpeGVzICMzODQxNDAuCgoyMDA2LTEyLTEyIDExOjQ2OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogTWlub3IgY2xlYW4tdXBzOyByZW1vdmUgbmV3bGluZXMgYXQgZW5kIG9mIGRlYnVnIHN0YXRlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X25lb25odHRwX3NyY19jcmVhdGUpLCAoc2VuZF9yZXF1ZXN0X2FuZF9yZWRpcmVjdCksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3N0YXJ0KSwgKG9vbV9jYWxsYmFjayk6CgkgIE1pbm9yIGNsZWFuLXVwczsgcmVtb3ZlIG5ld2xpbmVzIGF0IGVuZCBvZiBkZWJ1ZyBzdGF0ZW1lbnRzLgoKMjAwNi0xMi0xMSAxNzozMzoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IG5vbi13b3JraW5nIHJlZGlyZWN0cyBmcm9tIGluZXRmaWxtLmNvbSAoaGFuZGxlICdhbGlzJyByZWZlcmVuY2UgZGF0YSB0eXBlIGFzIHdlbGwpLiBGaXhlcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyZWUpOgoJICBGaXggbm9uLXdvcmtpbmcgcmVkaXJlY3RzIGZyb20gaW5ldGZpbG0uY29tIChoYW5kbGUgJ2FsaXMnIHJlZmVyZW5jZQoJICBkYXRhIHR5cGUgYXMgd2VsbCkuIEZpeGVzICMzNzg2MTMuCgoyMDA2LTEyLTExIDA5OjUxOjE3ICswMDAwICBKb25hdGhhbiBNYXR0aGV3IDxqb25hdGhhbkBrYW9saW4ud2g5Lm5ldD4KCgkgIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6IEZpeCBtb2RwbHVnIGR1cmF0aW9uIHF1ZXJ5LiBGaXhlcyAjMzg0Mjk0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvbmF0aGFuIE1hdHRoZXcgPGpvbmF0aGFuIGF0IGthb2xpbiB3aDkgbmV0PikuCgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgRml4IG1vZHBsdWcgZHVyYXRpb24gcXVlcnkuIEZpeGVzICMzODQyOTQuCgoyMDA2LTEyLTA4IDE3OjA2OjQzICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggY2FwcyBmb3IgMjQgYml0IHJhdyBQQ00gYXVkaW8gKDIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRlPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9kdXJhdGlvbiksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICBGaXggY2FwcyBmb3IgMjQgYml0IHJhdyBQQ00gYXVkaW8gKDIpLgoJICBGaXhlcyAjMzgzNDcxLgoKMjAwNi0xMi0wNyAxMTozNTo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogSGFuZGxlIG1vcmUgSDI2MyB2YXJpYW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X2R1cmF0aW9uKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEhhbmRsZSBtb3JlIEgyNjMgdmFyaWFudHMuCgoyMDA2LTEyLTA2IDE2OjU3OjE3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9qYWNrLy5jdnNpZ25vcmU6IElnbm9yZSBvbGQgZmlsZXMgYXMgcmVxdWVzdGVkIGJ5IHRoZSBidWlsZCBzbGF2ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svLmN2c2lnbm9yZToKCSAgSWdub3JlIG9sZCBmaWxlcyBhcyByZXF1ZXN0ZWQgYnkgdGhlIGJ1aWxkIHNsYXZlLgoKMjAwNi0xMi0wNiAxNjoxNDozNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IFVwZGF0ZSB0aGUgSmFjayByZXF1aXJlbWVudCB0byB0aGUgdmVyc2lvbiB3aGVyZSBJIHRoaW5rIG9wdGlvbnNfdCBhcHBlYXJlZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVwZGF0ZSB0aGUgSmFjayByZXF1aXJlbWVudCB0byB0aGUgdmVyc2lvbiB3aGVyZSBJIHRoaW5rIG9wdGlvbnNfdAoJICBhcHBlYXJlZAoKMjAwNi0xMi0wMSAxMDozNTozOSArMDAwMCAgU2VyZ2V5IFNjb2JpY2ggPHNlcmdleS5zY29iaWNoQGdtYWlsLmNvbT4KCgkgIHdpbjMyL01BTklGRVNUOiBGaXggY29tcGlsYXRpb24gb24gd2luMzIgdW5kZXIgVlM4CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBGaXggY29tcGlsYXRpb24gb24gd2luMzIgdW5kZXIgVlM4CgkgIFBhdGNoIGJ5OiBTZXJnZXkgU2NvYmljaCA8c2VyZ2V5IGRvdCBzY29iaWNoIGF0IGdtYWlsIGRvdCBjb20+CgkgIFBhcnRpYWxseSBmaXhlcyAjMzgxMTc1CgoyMDA2LTExLTMwIDE1OjA4OjA4ICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOiBDYWxsIHRoZSBiYXNlIGNsYXNzIGhhbmRsZXIuICBGaXhlcyAjMzgwNjEwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRlPgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzogKGdzdF9yZ19hbmFseXNpc19ldmVudCk6CgkgIENhbGwgdGhlIGJhc2UgY2xhc3MgaGFuZGxlci4gIEZpeGVzICMzODA2MTAuCgoyMDA2LTExLTMwIDExOjU5OjA0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L01ha2VmaWxlLmFtOiBGaXggYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgRml4IGJ1aWxkLgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogKGphY2tfcHJvY2Vzc19jYiksCgkgIChqYWNrX3NhbXBsZV9yYXRlX2NiKSwgKGphY2tfYnVmZmVyX3NpemVfY2IpLCAoamFja19zaHV0ZG93bl9jYiksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9hY3F1aXJlKToKCSAgU21hbGwgY2xlYW51cHMuCgoyMDA2LTExLTMwIDExOjQ5OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgQWRkZWQgZnVsbHkgZnVuY3Rpb25hbCBqYWNrYXVkaW9zaW5rLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qYWNrL2dzdGphY2suYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvamFjay9nc3RqYWNrLmg6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiAoZ3N0X2phY2tfcmluZ19idWZmZXJfZ2V0X3R5cGUpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfY2xhc3NfaW5pdCksIChqYWNrX3Byb2Nlc3NfY2IpLAoJICAoamFja19zYW1wbGVfcmF0ZV9jYiksIChqYWNrX2J1ZmZlcl9zaXplX2NiKSwgKGphY2tfc2h1dGRvd25fY2IpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfaW5pdCksIChnc3RfamFja19yaW5nX2J1ZmZlcl9kaXNwb3NlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2ZpbmFsaXplKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX29wZW5fZGV2aWNlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2Nsb3NlX2RldmljZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9hY3F1aXJlKSwgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX3JlbGVhc2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfc3RhcnQpLCAoZ3N0X2phY2tfcmluZ19idWZmZXJfcGF1c2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfc3RvcCksIChnc3RfamFja19yaW5nX2J1ZmZlcl9kZWxheSksCgkgIChnc3RfamFja19jb25uZWN0X2dldF90eXBlKSwgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfamFja19hdWRpb19zaW5rX2luaXQpLAoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19nZXRfcHJvcGVydHkpLCAoZ3N0X2phY2tfYXVkaW9fc2lua19nZXRjYXBzKSwKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfY3JlYXRlX3JpbmdidWZmZXIpOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSAgQWRkZWQgZnVsbHkgZnVuY3Rpb25hbCBqYWNrYXVkaW9zaW5rLgoKMjAwNi0xMS0yNyAxNzoxNjoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUmVtb3ZlIHNvbWUgYXNzZXJ0cyBhbmQgcmVwbGFjZSB0aGVtIHdpdGggYSBwcm9wZXIgZXJyb3IgbWVzc2FnZS4gRml4ZXMgIzM3OTI2MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X2R1cmF0aW9uKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgUmVtb3ZlIHNvbWUgYXNzZXJ0cyBhbmQgcmVwbGFjZSB0aGVtIHdpdGggYSBwcm9wZXIgZXJyb3IKCSAgbWVzc2FnZS4gRml4ZXMgIzM3OTI2MS4KCjIwMDYtMTEtMjYgMTc6MjM6MTQgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6IFNlbmQgZXZlbnRzIG9uIHRoZSByaWdodCBwYWRzLCBzaW5jZSB0aGV5IGRvbid0IHdvcmsgdmVyeSB3ZWxsIGlmIHlvdSBzZW5kIHRoZW0gaW4gdGhlIHdyb25nIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOiAodGhlb3JhX2RlY19zcmNfcXVlcnkpLAoJICAodGhlb3JhX2RlY19zcmNfZXZlbnQpLCAodGhlb3JhX2hhbmRsZV9kYXRhX3BhY2tldCksCgkgICh0aGVvcmFfZGVjX2NoYWluKToKCSAgU2VuZCBldmVudHMgb24gdGhlIHJpZ2h0IHBhZHMsIHNpbmNlIHRoZXkgZG9uJ3Qgd29yayB2ZXJ5IHdlbGwgaWYKCSAgeW91IHNlbmQgdGhlbSBpbiB0aGUgd3JvbmcgZGlyZWN0aW9uLgoKMjAwNi0xMS0yNCAwOTowNTozOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgcmVtb3ZlIG9ic29sZXRlIF9mYWN0b3J5X2luaXQgcHJvdG9zIGFuZCBmdW5jdGlvbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSAgKiBleHQvcG9seXAvcGx1Z2luLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L3BvbHlwL3BvbHlwc2luay5jOgoJICAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmg6CgkgIHJlbW92ZSBvYnNvbGV0ZSBfZmFjdG9yeV9pbml0IHByb3RvcyBhbmQgZnVuY3Rpb25zCgoyMDA2LTExLTIxIDEzOjAwOjA4ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIHJmYnNyYyBwbHVnaW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCByZmJzcmMgcGx1Z2luCgoyMDA2LTExLTE5IDEyOjAyOjEzICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvbGlicmZiL01ha2VmaWxlLmFtOiBDb21waWxlIHdpdGggYXBwcm9wcmlhdGUgY2ZsYWdzLiBGaXhlcyBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgQ29tcGlsZSB3aXRoIGFwcHJvcHJpYXRlIGNmbGFncy4gRml4ZXMgYnVpbGQuCgoyMDA2LTExLTE3IDE4OjUxOjU4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogQWN0dWFsbHkgc2V0IHRoZSBUT05FIHBhcmFtZXRlciBmb3IgRFZCLVMgd2hlbiB3ZSBzaG91bGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTExLTE3ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzogKGdzdF9kdmJzcmNfdHVuZSk6CgkgIEFjdHVhbGx5IHNldCB0aGUgVE9ORSBwYXJhbWV0ZXIgZm9yIERWQi1TIHdoZW4gd2Ugc2hvdWxkLgoKMjAwNi0xMS0xNyAwMzo1MTowNCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzogRml4ZXMgZm9yIDY0LWJpdCBhcmNoaXRlY3R1cmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzogRml4ZXMgZm9yIDY0LWJpdCBhcmNoaXRlY3R1cmVzLgoKMjAwNi0xMS0xNyAwMzoyOTozMiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvbGlicmZiL2dzdHJmYnNyYy5oOiBPb3BzLCBhZGQgdGhpcyBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5oOiAgT29wcywgYWRkIHRoaXMgZmlsZS4KCjIwMDYtMTEtMTcgMDM6MTU6NDAgKzAwMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIDxhbmRydW5rb0BnbWFpbC5jb20+CgoJICBQb3J0IGxpYnJmYiB0byAwLjEwICgjMzc2MTA2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyA8YW5kcnVua29AZ21haWwuY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L2xpYnJmYi9yZmIuYzoKCSAgKiBnc3QvbGlicmZiL3JmYi5oOgoJICAqIGdzdC9saWJyZmIvcmZiYnVmZmVyLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJidWZmZXIuaDoKCSAgKiBnc3QvbGlicmZiL3JmYmJ5dGVzdHJlYW0uYzoKCSAgKiBnc3QvbGlicmZiL3JmYmJ5dGVzdHJlYW0uaDoKCSAgKiBnc3QvbGlicmZiL3JmYmNvbnRleHQuaDoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgKiBnc3QvbGlicmZiL3JmYnV0aWwuaDoKCSAgUG9ydCBsaWJyZmIgdG8gMC4xMCAoIzM3NjEwNikuCgoyMDA2LTExLTE2IDE4OjIyOjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3NwYy9nc3RzcGMuYzogRml4IGJ1aWxkIHdpdGggZGlzYWJsZWQgZ3N0LWRlYnVnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BjL2dzdHNwYy5jOiAoc3BjX3BsYXkpOgoJICBGaXggYnVpbGQgd2l0aCBkaXNhYmxlZCBnc3QtZGVidWcuCgoyMDA2LTExLTE1IDE2OjE5OjU2ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBjaGFuZ2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IGNoYW5nZXMKCjIwMDYtMTEtMTUgMTI6MzU6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrLzogU29tZSBzbWFsbCBjbGVhbi11cHM6IHVzZSBlbnVtcyBpbnN0ZWFkIG9mIGhhcmQtY29kZWQgbnVtYmVycywgY29uc3QtaWZ5IGVsZW1lbnQgZGV0YWlscywgcmUtZmFjdG9yIHNvbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICBTb21lIHNtYWxsIGNsZWFuLXVwczogdXNlIGVudW1zIGluc3RlYWQgb2YgaGFyZC1jb2RlZCBudW1iZXJzLAoJICBjb25zdC1pZnkgZWxlbWVudCBkZXRhaWxzLCByZS1mYWN0b3Igc29tZSBjb2RlIGludG8gX3Jlc2V0KCkKCSAgZnVuY3Rpb25zICgjMzUyNjA1KS4KCjIwMDYtMTEtMTQgMTU6MDQ6NTIgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgbWlzc2luZyBmaWxlcyBmcm9tIFNQRUMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBtaXNzaW5nIGZpbGVzIGZyb20gU1BFQwoKMjAwNi0xMS0xNCAxMjozMzozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLio6IEZpeCBtaW5vciBwcmludGYgZm9ybWF0IGlzc3VlOyByZW1vdmUgb3Zlcmx5IHBhcmFub2lkIGNoZWNrcyBpbiBjcmVhdGUgZnVuY3Rpb247IGZpeCBHT2JqZWN0IGJvaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOiAoZ3N0X2R2YnNyY19jcmVhdGUpOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIEZpeCBtaW5vciBwcmludGYgZm9ybWF0IGlzc3VlOyByZW1vdmUgb3Zlcmx5IHBhcmFub2lkIGNoZWNrcyBpbgoJICBjcmVhdGUgZnVuY3Rpb247IGZpeCBHT2JqZWN0IGJvaWxlcnBsYXRlIG1hY3Jvcy4KCjIwMDYtMTEtMTQgMTE6NDM6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IHBhcnNlIGV4dHJhIHNhbXBsZSBwYXJhbXMgZm9yIHJhdyBwY20uIEZpeGVzICMzNzQ5MTQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9kdXJhdGlvbiksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIERvbid0IHBhcnNlIGV4dHJhIHNhbXBsZSBwYXJhbXMgZm9yIHJhdyBwY20uIEZpeGVzICMzNzQ5MTQuCgoyMDA2LTExLTE0IDExOjM5OjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZTogQWRkIGNkYXVkaW8gdG8gaWdub3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBBZGQgY2RhdWRpbyB0byBpZ25vcmUuCgoyMDA2LTExLTE0IDEwOjUyOjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L01ha2VmaWxlLmFtOiBkaXN0IGNkYXVkaW8gZGlyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIGRpc3QgY2RhdWRpbyBkaXIuCgoyMDA2LTExLTE0IDEwOjQyOjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgRml4IGNkYXVkaW8gYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIEZpeCBjZGF1ZGlvIGJ1aWxkLgoKMjAwNi0xMS0xNCAxMDozMToyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgZ2l2ZSBjcmVkaXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGdpdmUgY3JlZGl0CgoyMDA2LTExLTE0IDEwOjI1OjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgdGVzdHMvY2hlY2svOiBBZGRlZCB5NG0gdGVzdC4gRml4ZXMgIzM3MjI0My4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6IChzZXR1cF95NG1lbmMpLCAoY2xlYW51cF95NG1lbmMpLAoJICAoR1NUX1NUQVJUX1RFU1QpLCAoeTRtZW5jX3N1aXRlKSwgKG1haW4pOgoJICBBZGRlZCB5NG0gdGVzdC4gRml4ZXMgIzM3MjI0My4KCjIwMDYtMTEtMTMgMTg6NTU6NTcgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBjb25maWd1cmUuYWM6IEVuYWJsZSBjZGF1ZGlvIGFuZCB5NG0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3IGF0IHNreW5ldCBiZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIEVuYWJsZSBjZGF1ZGlvIGFuZCB5NG0uCgkgICogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOiAoZ3N0X3k0bV9lbmNvZGVfYmFzZV9pbml0KSwKCSAgKGdzdF95NG1fZW5jb2RlX2NsYXNzX2luaXQpLCAoZ3N0X3k0bV9lbmNvZGVfaW5pdCksCgkgIChnc3RfeTRtX2VuY29kZV9yZXNldCksIChnc3RfeTRtX2VuY29kZV9zZXRjYXBzKSwKCSAgKGdzdF95NG1fZW5jb2RlX2dldF9zdHJlYW1faGVhZGVyKSwKCSAgKGdzdF95NG1fZW5jb2RlX2dldF9mcmFtZV9oZWFkZXIpLCAoZ3N0X3k0bV9lbmNvZGVfY2hhaW4pLAoJICAoZ3N0X3k0bV9lbmNvZGVfc2V0X3Byb3BlcnR5KSwgKGdzdF95NG1fZW5jb2RlX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfeTRtX2VuY29kZV9jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkgIFBvcnQgb2YgeTRtZW5jb2RlIHRvIDAuMTAuCgoyMDA2LTExLTExIDAwOjIyOjI0ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIEEgbGl0dGxlIHBsdWdneSB0byBtYWtlIHNlbnNlIG91dCBvZiB0aGUgcmFuZG9tIGNodW5rcyB3ZSBnZXQgZnJvbSBtdWx0aWZpbGVzcmMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvdmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIEEgbGl0dGxlIHBsdWdneSB0byBtYWtlIHNlbnNlIG91dCBvZiB0aGUgcmFuZG9tIGNodW5rcyB3ZSBnZXQKCSAgZnJvbSBtdWx0aWZpbGVzcmMuCgoyMDA2LTExLTEwIDE5OjE4OjMzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06IExldCdzIG5vdCBkZXBlbmQgb24gYSBmaWxlIHRoYXQgZG9lc24ndCBleGlzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSAgTGV0J3Mgbm90IGRlcGVuZCBvbiBhIGZpbGUgdGhhdCBkb2Vzbid0IGV4aXN0LgoKMjAwNi0xMS0xMCAxOTowNzo0MyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvbXVsdGlmaWxlc2luay86IFJlbW92ZSB0aGUgb2xkIG9uZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9tdWx0aWZpbGVzaW5rLnZjcHJvajoKCSAgUmVtb3ZlIHRoZSBvbGQgb25lLgoKMjAwNi0xMS0xMCAxODo1MToxMCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBSZXZpdmUgbXVsdGlmaWxlW3NyY3xzaW5rXS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGUuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICAqIGdzdC9tdWx0aWZpbGUvbXVsdGlmaWxlLnZwcm9qOgoJICBSZXZpdmUgbXVsdGlmaWxlW3NyY3xzaW5rXS4KCjIwMDYtMTEtMDkgMTQ6MDA6MzQgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiAoZ3N0X2R2YnNyY19zZXRfcHJvcGVydHkpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTExLTA5ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzogKGdzdF9kdmJzcmNfc2V0X3Byb3BlcnR5KQoJICAoZ3N0X2R2YnNyY19jcmVhdGUpLCAoZ3N0X2R2YnNyY19vdXRwdXRfZnJvbnRlbmRfc3RhdHMpLAoJICAoZ3N0X2R2YnNyY190dW5lKSwgKGdzdF9kdmJzcmNfc2V0X3Blc19maWx0ZXJzKToKCSAgUmVuYW1lIHNldF9wZXNfZmlsdGVyIHRvIHNldF9wZXNfZmlsdGVycyBmb3IgY29uc2lzdGVuY3kuCgkgIERvIHJ1bi10aW1lIHBpZCBmaWx0ZXJpbmcuCgoyMDA2LTExLTA4IDExOjI3OjE2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogRG8gbm90IGNhbGwgb3V0cHV0X2Zyb250ZW5kX3N0YXRzIGZyb20gYSBtZXRob2QgdGhhdCBkb2VzIG5vdCBoYXZlIHRoZSBnc3RkdmJzcmMgb2JqZWN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0xMS0wOCAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IChyZWFkX2RldmljZSk6CgkgIERvIG5vdCBjYWxsIG91dHB1dF9mcm9udGVuZF9zdGF0cyBmcm9tIGEgbWV0aG9kIHRoYXQgZG9lcyBub3QKCSAgaGF2ZSB0aGUgZ3N0ZHZic3JjIG9iamVjdC4KCSAgVGhpcyBmaXhlcyB0aGUgYnVpbGQsIHNvcnJ5IGd1eXMhCgoyMDA2LTExLTA3IDE0OjQ2OjU2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuKjogRm9yY2UgUEFUIHRvIGFsd2F5cyBiZSBpbiB0aGUgZmlsdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0xMS0wNyAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IChyZWFkX2RldmljZSksIChnc3RfZHZic3JjX2NyZWF0ZSksCgkgIChnc3RfZHZic3JjX291dHB1dF9mcm9udGVuZF9zdGF0cyksIChnc3RfZHZic3JjX3R1bmUpLAoJICAoZ3N0X2R2YnNyY19zZXRfcGVzX2ZpbHRlcik6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgRm9yY2UgUEFUIHRvIGFsd2F5cyBiZSBpbiB0aGUgZmlsdGVyLgoJICBUcnkgdG8gY29udGludWUgcmVhZGluZyBhZnRlciBmYWlsaW5nIDEwIHRpbWVzLgoKMjAwNi0xMS0wNCAxMzoyNjo0MSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby9QT1RGSUxFUy5pbjogYWRkIGR2YnNyYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9QT1RGSUxFUy5pbjoKCSAgYWRkIGR2YnNyYwoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IChnc3RfZHZic3JjX2NsYXNzX2luaXQpLCAoZ3N0X2R2YnNyY19pbml0KSwKCSAgKGdzdF9kdmJzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9kdmJzcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kdmJzcmNfb3Blbl9mcm9udGVuZCksIChnc3RfZHZic3JjX29wZW5fZHZyKSwKCSAgKGdzdF9kdmJzcmNfZmluYWxpemUpLCAocmVhZF9kZXZpY2UpLCAoZ3N0X2R2YnNyY19jcmVhdGUpLAoJICAoZ3N0X2R2YnNyY19zdGFydCksIChnc3RfZHZic3JjX2Zyb250ZW5kX3N0YXR1cyksCgkgIChnc3RfZHZic3JjX3R1bmUpLCAoZ3N0X2R2YnNyY191bnNldF9wZXNfZmlsdGVycyksCgkgIChnc3RfZHZic3JjX3NldF9wZXNfZmlsdGVyKToKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBhZGFwdGVyLXByZWZpeCBpcyBhIHRlcnJpYmxlIG5hbWUgZm9yIGEgZGV2aWNlLCBzbyByZXBsYWNlIGl0LgoJICBzdHJlcnJvciBzaG91bGQgYmUgdXNlZCBpbW1lZGlhdGVseSBhZnRlciB0aGUgc3lzY2FsbCByZWxhdGVkIHRvIGl0LgoJICBBY3R1YWxseSB0aHJvdyBhIHJlYXNvbmFibGUgR1NUX0VMRU1FTlRfRVJST1IgaWYgd2UgZmFpbCB0byBvcGVuCgkgIChwcmV0dHkgZWFzeSB0byB0cmlnZ2VyIGJ5IG9wZW5pbmcgdGhlIHNhbWUgZGV2aWNlIHR3aWNlKS4KCSAgVXNlIF9PQkpFQ1QgbWFjcm9zIHdoZXJlIGl0IG1ha2VzIHNlbnNlLgoJICBUaGlzIGVsZW1lbnQgaXMgZ29pbmcgdG8gbmVlZCBzb21lIHdvcmsgYmVmb3JlIGl0IG1vdmVzLgoKMjAwNi0xMS0wMiAyMDoxMzoyNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgRml4IGVudW0gbmlja3M7IG9ubHkgZW1pdCBuby1tb3JlLXBhZHMgb25jZTsgYWRkIHN1cHBvcnQgZm9yIHZlcnkgZmFzdCBlbmNvZGluZyBtb2RlIGluIHVwY29taW5nIDQuNDAuMCByZWxlYXNlICgjMzY5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfY29ycmVjdGlvbl9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19qb2ludF9zdGVyZW9fbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyk6CgkgIEZpeCBlbnVtIG5pY2tzOyBvbmx5IGVtaXQgbm8tbW9yZS1wYWRzIG9uY2U7IGFkZCBzdXBwb3J0IGZvciB2ZXJ5CgkgIGZhc3QgZW5jb2RpbmcgbW9kZSBpbiB1cGNvbWluZyA0LjQwLjAgcmVsZWFzZSAoIzM2OTUzOSkuCgoyMDA2LTExLTAxIDEwOjE5OjE4ICswMDAwICBTZXJnZXkgU2NvYmljaCA8c2VyZ2V5LnNjb2JpY2hAZ21haWwuY29tPgoKCSAgc3lzLzogV2FpdCB1bnRpbCB0aGUgd2luZG93IGlzIGNyZWF0ZWQgYmVmb3JlIHVzaW5nIGl0OyBndWFyZCB1bmlzdGQuaCBpbmNsdWRlcyB3aXRoIEhBVkVfVU5JU1REX0guICgjMzY2NTIzKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlcmdleSBTY29iaWNoICA8c2VyZ2V5IGRvdCBzY29iaWNoIGF0IGdtYWlsIGNvbT4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX3dpbmRvd190aHJlYWQpLAoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX2NyZWF0ZV9kZWZhdWx0X3dpbmRvdyk6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIFdhaXQgdW50aWwgdGhlIHdpbmRvdyBpcyBjcmVhdGVkIGJlZm9yZSB1c2luZyBpdDsgZ3VhcmQgdW5pc3RkLmgKCSAgaW5jbHVkZXMgd2l0aCBIQVZFX1VOSVNURF9ILiAoIzM2NjUyMykKCSAgKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0ZHJhdy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGRpcmVjdHNvdW5kLnZjcHJvajoKCSAgVXBkYXRlIHByb2plY3QgZmlsZXMuCgoyMDA2LTEwLTMxIDEwOjMxOjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBIYW5kbGUgdW5ib3VuZGVkIGxlbmd0aCBzdHJlYW1zIGEgYml0IGJldHRlci4gRml4ZXMgIzM2NzY5Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X2R1cmF0aW9uKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAocXRkZW11eF9wYXJzZV90cmVlKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEhhbmRsZSB1bmJvdW5kZWQgbGVuZ3RoIHN0cmVhbXMgYSBiaXQgYmV0dGVyLiBGaXhlcyAjMzY3Njk2LgoKMjAwNi0xMC0yOSAxOTowODowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IEZpeCBmbG93IGhhbmRsaW5nIGFuZCBidWZmZXIgcmVmY291bnRpbmcgKGdzdF9wYWRfcHVzaCgpIHRha2VzIG93bmVyc2hpcCBvZiB0aGUgYnVmZmVyIHBhc3NlZCB0by4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19oYW5kbGVfZnJhbWUpOgoJICBGaXggZmxvdyBoYW5kbGluZyBhbmQgYnVmZmVyIHJlZmNvdW50aW5nIChnc3RfcGFkX3B1c2goKSB0YWtlcwoJICBvd25lcnNoaXAgb2YgdGhlIGJ1ZmZlciBwYXNzZWQgdG8gaXQsIHRoZSBidWZmZXIgZG9lcyBub3QgaGF2ZQoJICB0byBiZSB1bnJlZmZlZCBubyBtYXR0ZXIgd2hhdCBmbG93IHZhbHVlIGdzdF9wYWRfcHVzaCgpIHJldHVybnMpLgoKMjAwNi0xMC0yOCAxNjowMDo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogQW5vdGhlciB0eXBvIGZpeCAoIzM2NjIxMikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogKGdzdF9hdWRpb3Jlc2FtcGxlX2luaXQpOgoJICBBbm90aGVyIHR5cG8gZml4ICgjMzY2MjEyKS4KCjIwMDYtMTAtMjYgMTQ6MDc6MDggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5oOgoJICBGaXhlZCBidWcgZm9yIGZpbGVzIHdpdGggdGltZXN0YW1wcyBsZXNzIHRoYW4gMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIGJ1ZyBmb3IgZmlsZXMgd2l0aCB0aW1lc3RhbXBzIGxlc3MgdGhhbiAwLgoKMjAwNi0xMC0yMSAyMjo1NjowMyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBJIGNvcGllZCBvdmVyIGZpbGVzaW5rIGEgd2hpbGUgYWdvIGFuZCBtb2RpZmllZCBpdCB0byB3b3JrIGFzIG11bHRpZmlsZXNpbmsuICBNaWdodCBhcyB3ZWxsIGNoZWNrIGl0IGluLiAgVGhpcyBjb3VsZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgIEkgY29waWVkIG92ZXIgZmlsZXNpbmsgYSB3aGlsZSBhZ28gYW5kIG1vZGlmaWVkIGl0IHRvIHdvcmsKCSAgYXMgbXVsdGlmaWxlc2luay4gIE1pZ2h0IGFzIHdlbGwgY2hlY2sgaXQgaW4uICBUaGlzIGNvdWxkCgkgIHVzZSBzb21lIHdvcmsgYmVmb3JlIGJlaW5nIGRlY2xhcmVkIHVzZWZ1bC4KCjIwMDYtMTAtMTcgMTU6MTY6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBBY3RpdmF0ZSBwYWRzIGJlZm9yZSBhZGRpbmcgdGhlbSB0byBydW5uaW5nIGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NyZWF0ZV9zcmNfcGFkKToKCSAgKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzogKGdzdF9udXZfZGVtdXhfY3JlYXRlX3BhZHMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOiAod2F2cGFja3BhcnNlX2ZvdW5kX3BhZCk6CgkgIEFjdGl2YXRlIHBhZHMgYmVmb3JlIGFkZGluZyB0aGVtIHRvIHJ1bm5pbmcgZWxlbWVudC4KCjIwMDYtMTAtMTcgMTQ6NTc6MTcgKzAwMDAgIEpvc2VwIFRvcnJhIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE1ha2UgY29tcGlsZSB3aXRoIEZvcnRlIGNvbXBpbGVyLCBtb3N0bHkgZG9uJ3QgZG8gcG9pbnRlciBhcml0aG1ldGljIHdpdGggdm9pZCBwb2ludGVycyAoIzM2MjYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb3NlcCBUb3JyYSBWYWxsZXMgIDxqb3NlcCBhdCBmbHVlbmRvIGNvbT4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9oYW5kbGVfc2lua19ldmVudCksCgkgIChuZXh0X2VudHJ5X3NpemUpLCAocXRkZW11eF9pbmZsYXRlKSwgKHF0ZGVtdXhfcGFyc2VfbW9vdiksCgkgIChxdGRlbXV4X3BhcnNlX3RyZWUpLCAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfdGFnX2FkZF9zdHIpLAoJICAocXRkZW11eF90YWdfYWRkX251bSksIChxdGRlbXV4X3RhZ19hZGRfZGF0ZSksCgkgIChxdGRlbXV4X3RhZ19hZGRfZ25yZSk6CgkgIE1ha2UgY29tcGlsZSB3aXRoIEZvcnRlIGNvbXBpbGVyLCBtb3N0bHkgZG9uJ3QgZG8gcG9pbnRlciBhcml0aG1ldGljCgkgIHdpdGggdm9pZCBwb2ludGVycyAoIzM2MjYyNikuCgoyMDA2LTEwLTE3IDE0OjQwOjIwICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJICBKdXN0IGEgY2FzdCB0byBtYWtlIGl0IGNvbXBpbGUgb29zIGJpZ19lbmRpYW4gc3lzdGVtcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEp1c3QgYSBjYXN0IHRvIG1ha2UgaXQgY29tcGlsZSBvb3MgYmlnX2VuZGlhbiBzeXN0ZW1zLgoKMjAwNi0xMC0xNyAxNDoyNDoxOCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9udXZkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5oOgoJICBDcmVhdGVkIG5ldyBlbGVtZW50IG51dmRlbXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ3JlYXRlZCBuZXcgZWxlbWVudCBudXZkZW11eC4KCjIwMDYtMTAtMTcgMTE6MDQ6MTQgKzAwMDAgIEpvc2VwIFRvcnJhIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgoJICBnc3QvbnNmLzogRml4IHNvbWUgdGhpbmdzIHRoZSBGb3J0ZSBjb21waWxlciB3YXJucyBhYm91dCAoIzM2MjYyNikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9zZXAgVG9ycmEgVmFsbGVzICA8am9zZXAgYXQgZmx1ZW5kbyBjb20+CgkgICogZ3N0L25zZi9mZHNfc25kLmM6CgkgICogZ3N0L25zZi9tbWM1X3NuZC5jOgoJICAqIGdzdC9uc2YvbnNmLmM6CgkgICogZ3N0L25zZi92cmM3X3NuZC5jOgoJICAqIGdzdC9uc2YvdnJjdmlzbmQuYzoKCSAgRml4IHNvbWUgdGhpbmdzIHRoZSBGb3J0ZSBjb21waWxlciB3YXJucyBhYm91dCAoIzM2MjYyNikuCgoyMDA2LTEwLTE3IDEwOjU5OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC4qOiBBdm9pZCB2b2lkIHBvaW50ZXIgdXNhZ2UsIGJldHRlciB1c2UgZ3VpbnQ4ICogaW5zdGVhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV9tb292KSwgKHF0ZGVtdXhfcGFyc2UpLAoJICAocXRkZW11eF9ub2RlX2R1bXBfZm9yZWFjaCksIChxdGRlbXV4X2R1bXBfbXZoZCksCgkgIChxdGRlbXV4X2R1bXBfdGtoZCksIChxdGRlbXV4X2R1bXBfZWxzdCksIChxdGRlbXV4X2R1bXBfbWRoZCksCgkgIChxdGRlbXV4X2R1bXBfaGRsciksIChxdGRlbXV4X2R1bXBfdm1oZCksIChxdGRlbXV4X2R1bXBfZHJlZiksCgkgIChxdGRlbXV4X2R1bXBfc3RzZCksIChxdGRlbXV4X2R1bXBfc3R0cyksIChxdGRlbXV4X2R1bXBfc3RzcyksCgkgIChxdGRlbXV4X2R1bXBfc3RzYyksIChxdGRlbXV4X2R1bXBfc3RzeiksIChxdGRlbXV4X2R1bXBfc3RjbyksCgkgIChxdGRlbXV4X2R1bXBfY282NCksIChxdGRlbXV4X2R1bXBfZGNvbSksIChxdGRlbXV4X2R1bXBfY212ZCksCgkgIChxdGRlbXV4X2R1bXBfdW5rbm93biksIChxdGRlbXV4X3RyZWVfZ2V0X2NoaWxkX2J5X3R5cGUpLAoJICAocXRkZW11eF90cmVlX2dldF9zaWJsaW5nX2J5X3R5cGUpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgQXZvaWQgdm9pZCBwb2ludGVyIHVzYWdlLCBiZXR0ZXIgdXNlIGd1aW50OCAqIGluc3RlYWQuCgoyMDA2LTEwLTExIDIwOjMzOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUG9ydCBzaW1wbGUgZGVpbnRlcmxhY2VyIGZyb20gMC44LiBVc2UgYXQgeW91ciBvd24gcmlzaywgZG9uJ3QgYmxhbWUgbWUgZm9yIGFueXRoaW5nIGl0IGRvZXMgb3IgZG9lcyBub3QgZG8gdG8geW91ciBwLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6IChnc3RfZGVpbnRlcmxhY2VfYmFzZV9pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGFjZV9pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9zdG9wKSwgKGdzdF9kZWludGVybGFjZV90cmFuc2Zvcm1fY2FwcyksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2V0X2NhcHMpLCAoZ3N0X2RlaW50ZXJsYWNlX3RyYW5zZm9ybV9pcCksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2V0X3Byb3BlcnR5KSwgKGdzdF9kZWludGVybGFjZV9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBQb3J0IHNpbXBsZSBkZWludGVybGFjZXIgZnJvbSAwLjguIFVzZSBhdCB5b3VyIG93biByaXNrLCBkb24ndCBibGFtZQoJICBtZSBmb3IgYW55dGhpbmcgaXQgZG9lcyBvciBkb2VzIG5vdCBkbyB0byB5b3VyIHByZWNpb3VzIHBpY3R1cmVzLgoKMjAwNi0xMC0xMSAxMzo0OToyNiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIHNvbWUgZm91cmNjIGZvciBEViBmb3JtYXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBzb21lIGZvdXJjYyBmb3IgRFYgZm9ybWF0LgoKMjAwNi0xMC0xMCAxODo1NDowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUHJpbnRmIGZvcm1hdCBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZXh0cmFjdF9pbml0aWFsX2xlbmd0aF9hbmRfZm91cmNjKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKToKCSAgUHJpbnRmIGZvcm1hdCBmaXhlcy4KCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBVc2UgIl9zdGRpbnQuaCIuCgoyMDA2LTEwLTEwIDE2OjA5OjU4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi86IFJlbW92ZSB0aGVzZSBmaWxlcywgbm90IG5lZWRlZCB1c2Ugc3lzdGVtIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0xMC0xMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy9kdmIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R2Yi9kdmItYXBpL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kdmIvZHZiLWFwaS9hdWRpby5oOgoJICAqIHN5cy9kdmIvZHZiLWFwaS9jYS5oOgoJICAqIHN5cy9kdmIvZHZiLWFwaS9kbXguaDoKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvZnJvbnRlbmQuaDoKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvbmV0Lmg6CgkgICogc3lzL2R2Yi9kdmItYXBpL29zZC5oOgoJICAqIHN5cy9kdmIvZHZiLWFwaS92ZXJzaW9uLmg6CgkgICogc3lzL2R2Yi9kdmItYXBpL3ZpZGVvLmg6CgkgIFJlbW92ZSB0aGVzZSBmaWxlcywgbm90IG5lZWRlZCB1c2Ugc3lzdGVtIGZpbGVzLgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IChnc3RfZHZic3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZHZic3JjX2NyZWF0ZSksIChnc3RfZHZic3JjX291dHB1dF9mcm9udGVuZF9zdGF0cyksCgkgIChnc3RfZHZic3JjX3R1bmUpOgoJICBGaXggd2FybmluZ3MsIHVpbnQxNl90IGV0Yy4gaXMgaW4gc3RkaW50LmguCgkgIFVzZSBzeXN0ZW0gaW5jbHVkZXMgbm90IG91ciBsb2NhbCBvbmVzLgoKMjAwNi0xMC0xMCAxNTo1NToyNSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIHBvLy5naXRpZ25vcmU6CgkgIEJ1aWxkYm90LCBJIGRvIGFzIHlvdSBjb21tYW5kLiBodHRwOi8vYnVpbGQuZmx1ZW5kby5jb206ODA4MC9nZW42NC1iYWQtZnVsbC9idWlsZHMvNDc1L2N2cyUyMGlnbm9yZS8xCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCdWlsZGJvdCwgSSBkbyBhcyB5b3UgY29tbWFuZC4KCSAgaHR0cDovL2J1aWxkLmZsdWVuZG8uY29tOjgwODAvZ2VuNjQtYmFkLWZ1bGwvYnVpbGRzLzQ3NS9jdnMlMjBpZ25vcmUvMQoKMjAwNi0xMC0xMCAxNTo0Nzo0OSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIEFkZCBkdmIgZGV0ZWN0aW9uIGFuZCBhbGxvdyBkdmJzcmMgdG8gYmUgYnVpbHQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTEwLTEwICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgQWRkIGR2YiBkZXRlY3Rpb24gYW5kIGFsbG93IGR2YnNyYyB0byBiZSBidWlsdC4KCjIwMDYtMTAtMTAgMTU6MDU6MzIgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBJbml0aWFsIGltcG9ydCBvZiBkdmJzcmMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTEwLTEwICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHZiL0FVVEhPUlM6CgkgICogc3lzL2R2Yi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHZiL1JFQURNRToKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvTWFrZWZpbGUuYW06CgkgICogc3lzL2R2Yi9kdmItYXBpL2F1ZGlvLmg6CgkgICogc3lzL2R2Yi9kdmItYXBpL2NhLmg6CgkgICogc3lzL2R2Yi9kdmItYXBpL2RteC5oOgoJICAqIHN5cy9kdmIvZHZiLWFwaS9mcm9udGVuZC5oOgoJICAqIHN5cy9kdmIvZHZiLWFwaS9uZXQuaDoKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvb3NkLmg6CgkgICogc3lzL2R2Yi9kdmItYXBpL3ZlcnNpb24uaDoKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvdmlkZW8uaDoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIEluaXRpYWwgaW1wb3J0IG9mIGR2YnNyYy4KCSAgQ3VycmVudGx5IHdvbid0IGJlIGJ1aWx0LgoKMjAwNi0xMC0xMCAxMjo0OTowMiArMDAwMCAgSm9zZXAgVG9ycmUgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCgkgIGV4dC9nbm9tZXZmcy86IEZpeCBVUkkgaW50ZXJmYWNlIGltcGxlbWVudGF0aW9uIHJldHVybiB0eXBlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0xMC0xMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICBQYXRjaCBieTogSm9zZXAgVG9ycmUgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCSAgKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzaW5rLmM6CgkgICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc3JjLmM6CgkgIEZpeCBVUkkgaW50ZXJmYWNlIGltcGxlbWVudGF0aW9uIHJldHVybiB0eXBlLgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0b3ZlcmxheS5jOiAoZ3N0X3RleHRfb3ZlcmxheV9zZXRfcHJvcGVydHkpOgoJICBGaXggd2hhdCBsb29rcyBsaWtlIGEgY29weS9wYXN0ZSBpc3N1ZSB3aGVuIGFzc2lnbmluZyB2YWx1ZXMuCgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGF1ZGlvZmlsdGVydGVtcGxhdGUuYzoKCSAgKGdzdF9hdWRpb19maWx0ZXJfdGVtcGxhdGVfZ2V0X3R5cGUpOgoJICBDYXN0IHRvIHByZXZlbnQgRm9ydGUgd2FybmluZ3MuCgkgICogZ3N0LWxpYnMvZ3N0L2NkZGEvZ3N0Y2RkYWJhc2VzcmMuYzogKGdzdF9jZGRhX2Jhc2Vfc3JjX2NyZWF0ZSk6CgkgIEZpeCBVUkkgaW50ZXJmYWNlIGltcGxlbWVudGF0aW9uIHJldHVybiB0eXBlLgoJICBnc3RfcGFkX3F1ZXJ5X3Bvc2l0aW9uIHJlcXVpcmVzIGEgc2lnbmVkIGludGVnZXIgcG9pbnRlciBhcwoJICAzcmQgcGFyYW1ldGVyLCBHc3RDbG9ja1RpbWUgaXMgdW5zaWduZWQuCgkgICogZ3N0L2F1ZGlvY29udmVydC9hdWRpb2NvbnZlcnQuYzoKCSAgRml4IGludGVnZXIgb3ZlcmZsb3cgd2hlbiB0cmVhdGVkIGFzIHNpZ25lZC4KCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5jOiAocmVzYW1wbGVfYWRkX2lucHV0X2RhdGEpOgoJICBDYXN0IHRvIHByZXZlbnQgd2FybmluZ3Mgb24gRm9ydGUuCgkgICogZ3N0L2ZmbXBlZ2NvbG9yc3BhY2UvaW1nY29udmVydC5jOiAoYnVpbGRfcmdiX3BhbGV0dGUpOgoJICBGaXggaW50ZWdlciBvdmVyZmxvdyB3aGVuIHRyZWF0ZWQgYXMgc2lnbmVkLgoJICAqIGdzdC9mZm1wZWdjb2xvcnNwYWNlL2ltZ2NvbnZlcnRfdGVtcGxhdGUuaDoKCSAgRml4IGludGVnZXIgb3ZlcmZsb3cgd2hlbiB0cmVhdGVkIGFzIHNpZ25lZC4gUkdCQV9PVVQgc2hpZnRzIGJpdHMuCgkgICogZ3N0L3BsYXliYWNrL2dzdGRlY29kZWJpbi5jOiAocXVldWVfZmlsbGVkX2NiKSwKCSAgKGNsZWFudXBfZGVjb2RlYmluKToKCSAgV2hvIGluaXRpYWxpc2VzIGEgZ3VpbnQgdG8gLTEhCgkgIENhc3QgZnVuY3Rpb24gcG9pbnRlcnMgdG8gcHJldmVudCB3YXJuaW5ncyBvbiBGb3J0ZS4KCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJhc2ViaW4uYzogKHF1ZXVlX2RlYWRsb2NrX2NoZWNrKSwKCSAgKHF1ZXVlX3RocmVzaG9sZF9yZWFjaGVkKToKCSAgQ2FzdCBmdW5jdGlvbiBwb2ludGVycyBjb3JyZWN0bHkgdG8gcHJldmVudCB3YXJuaW5ncyBvbiBGb3J0ZS4KCSAgKiBnc3QvcGxheWJhY2svZ3N0c3RyZWFtaW5mby5jOiAoZ3N0X3N0cmVhbV9pbmZvX2Rpc3Bvc2UpOgoJICBDYXN0IGZ1bmN0aW9uIHBvaW50ZXJzIGNvcnJlY3RseSB0byBwcmV2ZW50IHdhcm5pbmdzIG9uIEZvcnRlLgoJICAqIGdzdC9zdWJwYXJzZS9nc3Rzc2FwYXJzZS5jOiAoZ3N0X3NzYV9wYXJzZV9zZXRjYXBzKToKCSAgT2J2aW91cyBjaGFuZ2UgdG8gdW5zaWduZWQsIDB4RUYgPiBtYXggc2lnbmVkIGNoYXIuCgkgICogZ3N0L3RjcC9nc3RtdWx0aWZkc2luay5jOiAoZ2V0X2J1ZmZlcnNfbWF4KSwgKGNvdW50X2J1cnN0X3VuaXQpOgoJICBHc3RDbG9ja1RpbWUgaXMgdW5zaWduZWQsIGluaXRpYWxpc2UgY29ycmVjdGx5LgoJICAqIGdzdC90Y3AvZ3N0dGNwLmM6IChnc3RfdGNwX3NvY2tldF93cml0ZSk6CgkgIENhc3Qgc28gcG9pbnRlciBhcml0aGVtZXRpYyBkb2Vzbid0IGNhdXNlIHdhcm5pbmdzIG9uIEZvcnRlLgoJICAqIGdzdC92aWRlb3JhdGUvZ3N0dmlkZW9yYXRlLmM6CgkgIFVzZSBjb3JyZWN0IHJldHVybiB2YWx1ZS4KCSAgKiB0ZXN0cy9leGFtcGxlcy9zZWVrL3NjcnViYnkuYzoKCSAgR3N0Q2xvY2tUaW1lIGlzIHVuc2lnbmVkLCBpbml0aWFsaXNlIGNvcnJlY3RseS4KCjIwMDYtMTAtMTAgMDk6NTc6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFJlb3JnYW5pc2Ugc29tZSBzdHVmZi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaW5pdCksCgkgIChnc3RfcXRkZW11eF9wdXNoX2V2ZW50KSwgKGdzdF9xdGRlbXV4X2RvX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwgKGV4dHJhY3RfaW5pdGlhbF9sZW5ndGhfYW5kX2ZvdXJjYyksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciksIChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLCAoZ3N0X3F0ZGVtdXhfbG9vcCksCgkgIChnc3RfcXRkZW11eF9wb3N0X2J1ZmZlcmluZyksIChnc3RfcXRkZW11eF9jaGFpbiksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfcHJvY2Vzc19yZWRpcmVjdHMpLAoJICAocXRkZW11eF9wYXJzZV90cmVlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIFJlb3JnYW5pc2Ugc29tZSBzdHVmZi4KCSAgUGFyc2UgUlRTUCByZWRpcmVjdGlvbiBVUkxTLgoKMjAwNi0xMC0wNyAxMTozNzo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZC91cGRhdGUgZG9jcyBzdHVmZi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zd2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSAgQWRkL3VwZGF0ZSBkb2NzIHN0dWZmLgoKMjAwNi0xMC0wNiAxNTo1NjowMSArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIEFkZCBSZXBsYXlHYWluIGFuYWx5c2lzIGVsZW1lbnQgKCMzNTcwNjkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRlPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzogKGdzdF9yZ19hbmFseXNpc19iYXNlX2luaXQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX2NsYXNzX2luaXQpLCAoZ3N0X3JnX2FuYWx5c2lzX2luaXQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3NldF9wcm9wZXJ0eSksIChnc3RfcmdfYW5hbHlzaXNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9yZ19hbmFseXNpc19zdGFydCksIChnc3RfcmdfYW5hbHlzaXNfc2V0X2NhcHMpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3RyYW5zZm9ybV9pcCksIChnc3RfcmdfYW5hbHlzaXNfZXZlbnQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3N0b3ApLCAoZ3N0X3JnX2FuYWx5c2lzX2hhbmRsZV90YWdzKSwKCSAgKGdzdF9yZ19hbmFseXNpc19oYW5kbGVfZW9zKSwgKGdzdF9yZ19hbmFseXNpc190cmFja19yZXN1bHQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX2FsYnVtX3Jlc3VsdCksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5oOgoJICAqIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuYzogKHl1bGVfZmlsdGVyKSwgKGJ1dHRlcl9maWx0ZXIpLAoJICAoYXBwbHlfZmlsdGVycyksIChyZXNldF9maWx0ZXJzKSwgKGFjY3VtdWxhdG9yX2FkZCksCgkgIChhY2N1bXVsYXRvcl9jbGVhciksIChhY2N1bXVsYXRvcl9yZXN1bHQpLCAocmdfYW5hbHlzaXNfbmV3KSwKCSAgKHJnX2FuYWx5c2lzX3NldF9zYW1wbGVfcmF0ZSksIChyZ19hbmFseXNpc19kZXN0cm95KSwKCSAgKHJnX2FuYWx5c2lzX2FuYWx5emVfbW9ub19mbG9hdCksCgkgIChyZ19hbmFseXNpc19hbmFseXplX3N0ZXJlb19mbG9hdCksCgkgIChyZ19hbmFseXNpc19hbmFseXplX21vbm9faW50MTYpLAoJICAocmdfYW5hbHlzaXNfYW5hbHl6ZV9zdGVyZW9faW50MTYpLCAocmdfYW5hbHlzaXNfYW5hbHl6ZSksCgkgIChyZ19hbmFseXNpc190cmFja19yZXN1bHQpLCAocmdfYW5hbHlzaXNfYWxidW1fcmVzdWx0KSwKCSAgKHJnX2FuYWx5c2lzX3Jlc2V0X2FsYnVtKSwgKHJnX2FuYWx5c2lzX3Jlc2V0KToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmg6CgkgIEFkZCBSZXBsYXlHYWluIGFuYWx5c2lzIGVsZW1lbnQgKCMzNTcwNjkpLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoZ2V0X2V4cGVjdGVkX2dhaW4pLAoJICAoc2V0dXBfcmdhbmFseXNpcyksIChjbGVhbnVwX3JnYW5hbHlzaXMpLCAoc2V0X3BsYXlpbmdfc3RhdGUpLAoJICAoc2VuZF9lb3NfZXZlbnQpLCAoc2VuZF90YWdfZXZlbnQpLCAocG9sbF9lb3MpLCAocG9sbF90YWdzKSwKCSAgKGZhaWxfdW5sZXNzX3RyYWNrX2dhaW4pLCAoZmFpbF91bmxlc3NfdHJhY2tfcGVhayksCgkgIChmYWlsX3VubGVzc19hbGJ1bV9nYWluKSwgKGZhaWxfdW5sZXNzX2FsYnVtX3BlYWspLAoJICAoZmFpbF9pZl90cmFja190YWdzKSwgKGZhaWxfaWZfYWxidW1fdGFncyksCgkgIChmYWlsX3VubGVzc19udW1fdHJhY2tzKSwgKHRlc3RfYnVmZmVyX2NvbnN0X2Zsb2F0X21vbm8pLAoJICAodGVzdF9idWZmZXJfY29uc3RfZmxvYXRfc3RlcmVvKSwgKHRlc3RfYnVmZmVyX2NvbnN0X2ludDE2X21vbm8pLAoJICAodGVzdF9idWZmZXJfY29uc3RfaW50MTZfc3RlcmVvKSwgKHRlc3RfYnVmZmVyX3NxdWFyZV9mbG9hdF9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX3NxdWFyZV9mbG9hdF9zdGVyZW8pLCAodGVzdF9idWZmZXJfc3F1YXJlX2ludDE2X21vbm8pLAoJICAodGVzdF9idWZmZXJfc3F1YXJlX2ludDE2X3N0ZXJlbyksIChwdXNoX2J1ZmZlciksIChHU1RfU1RBUlRfVEVTVCksCgkgIChyZ2FuYWx5c2lzX3N1aXRlKSwgKG1haW4pOgoJICBVbml0IHRlc3RzIGZvciB0aGUgbmV3IHJlcGxheWdhaW4gZWxlbWVudC4KCjIwMDYtMTAtMDYgMTU6NDk6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IFNvbWUgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX3NldGNhcHMpLCAoZ3N0X2ZhYWRfY2hhaW4pLAoJICAoZ3N0X2ZhYWRfY2xvc2VfZGVjb2Rlcik6CgkgIFNvbWUgY2xlYW51cHMuCgkgIEFkZGVkIHNvbWUgbW9yZSBkZWJ1Z2dpbmcuCgkgIERvbid0IGV2ZXIgaWdub3JlIHVubGlua2VkLCB3ZSdyZSBub3QgYSBkZW11eGVyLgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pOgoJICBBY3RpdmF0ZSBwYWQgYmVmb3JlIGFkZGluZyBpdCB0byB0aGUgZWxlbWVudC4KCjIwMDYtMTAtMDYgMTI6MDI6MDkgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC90aGVvcmEvdGhlb3JhZGVjLio6IFBvcnQgbG90cyBvZiBjaGFuZ2VzIGZyb20gdGhlb3JhZGVjIHRvIHRoZW9yYWV4cGRlYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzogKGdzdF90aGVvcmFkZWNfcmVzZXQpLAoJICAodGhlb3JhX2dldF9xdWVyeV90eXBlcyksICh0aGVvcmFfZGVjX3NyY19xdWVyeSksCgkgICh0aGVvcmFfZGVjX3NyY19ldmVudCksICh0aGVvcmFfZGVjX3NpbmtfZXZlbnQpLAoJICAodGhlb3JhX2hhbmRsZV9jb21tZW50X3BhY2tldCksICh0aGVvcmFfaGFuZGxlX3R5cGVfcGFja2V0KSwKCSAgKHRoZW9yYV9oYW5kbGVfaGVhZGVyX3BhY2tldCksIChjbGlwX2J1ZmZlciksICh0aGVvcmFfZGVjX3B1c2gpLAoJICAodGhlb3JhX2hhbmRsZV80MjJfaW1hZ2UpLCAodGhlb3JhX2hhbmRsZV80MjBfaW1hZ2UpLAoJICAodGhlb3JhX2hhbmRsZV9kYXRhX3BhY2tldCksICh0aGVvcmFfZGVjX2NoYWluKSwKCSAgKHRoZW9yYV9kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5oOgoJICBQb3J0IGxvdHMgb2YgY2hhbmdlcyBmcm9tIHRoZW9yYWRlYyB0byB0aGVvcmFleHBkZWMuCgkgIFRoaXMgY2F0Y2hlcyB0aGlzIHBsdWdpbiB1cCB0byB0aGVvcmFkZWMuIE5vdGUgdGhhdCBkdXBsaWNhdGUgZnJhbWVzCgkgIGFyZSBicm9rZW4gaW4gdGhlb3JhZGVjIGF0IHRoZSBtb21lbnQuCgoyMDA2LTEwLTA2IDExOjMxOjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IEZpeCBtZW0gbGVhaywgYXZvaWQgdW5uZWNlc3NhcnkgbWVtY3B5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBGaXggbWVtIGxlYWssIGF2b2lkIHVubmVjZXNzYXJ5IG1lbWNweS4KCjIwMDYtMTAtMDYgMDI6Mjk6MzUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBSZW1vdmVkIGNydWZ0IGNvZGUgdGhhdCB3YXMganVzdCBjb21tZW50ZWQgb3V0LiBSZW1vdmVkIHNvbWUgb2Jzb2xldGUgZGVidWcgbG9ncyBzdGF0ZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBSZW1vdmVkIGNydWZ0IGNvZGUgdGhhdCB3YXMganVzdCBjb21tZW50ZWQgb3V0LiBSZW1vdmVkIHNvbWUgb2Jzb2xldGUKCSAgZGVidWcgbG9ncyBzdGF0ZW1lbnRzLgoKMjAwNi0xMC0wNSAxODoxNDo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEFub3RoZXIgYmF0Y2ggb2YgcHJpbnRmIGZvcm1hdCBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfY2hhaW4pOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF90cm1fc2V0Y2Fwcyk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3Npbmtfc2V0X2NhcHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYWluKSwgKHF0ZGVtdXhfcGFyc2UpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBBbm90aGVyIGJhdGNoIG9mIHByaW50ZiBmb3JtYXQgZml4ZXMuCgoyMDA2LTEwLTA1IDE1OjU1OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUHJpbnRmIGZvcm1hdCBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYWRldmljZXByb2JlLmM6CgkgIChnc3RfYWxzYV9kZXZpY2VfcHJvcGVydHlfcHJvYmVfZ2V0X3ZhbHVlcyk6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYXNpbmsuYzogKHNldF9od3BhcmFtcyk6CgkgICogZXh0L29nZy9nc3RvZ2dkZW11eC5jOiAoZ3N0X29nZ19kZW11eF9jaGFpbl9lbGVtX3BhZCksCgkgIChnc3Rfb2dnX2NoYWluX25ld19zdHJlYW0pLCAoZ3N0X29nZ19kZW11eF9yZWFkX2NoYWluKToKCSAgKiBleHQvb2dnL2dzdG9nZ211eC5jOiAoZ3N0X29nZ19tdXhfc2VuZF9oZWFkZXJzKSwKCSAgKGdzdF9vZ2dfbXV4X3Byb2Nlc3NfYmVzdF9wYWQpOgoJICAqIGV4dC9vZ2cvZ3N0b2dncGFyc2UuYzogKGdzdF9vZ2dfcGFyc2VfbmV3X3N0cmVhbSksCgkgIChnc3Rfb2dnX3BhcnNlX2NoYWluKToKCSAgKiBleHQvb2dnL2dzdG9nbXBhcnNlLmM6IChnc3Rfb2dtX3BhcnNlX3N0cmVhbV9oZWFkZXIpOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzZGVjLmM6ICh2b3JiaXNfaGFuZGxlX2RhdGFfcGFja2V0KToKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc2VuYy5jOiAoZ3N0X3ZvcmJpc19lbmNfc2V0dXApLAoJICAoZ3N0X3ZvcmJpc19lbmNfYnVmZmVyX2NoZWNrX2Rpc2NvbnRpbnVvdXMpOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzcGFyc2UuYzogKHZvcmJpc19wYXJzZV9zcmNfcXVlcnkpOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RiYXNlYXVkaW9zaW5rLmM6CgkgIChnc3RfYmFzZV9hdWRpb19zaW5rX3JlbmRlcik6CgkgICogZ3N0LWxpYnMvZ3N0L2NkZGEvZ3N0Y2RkYWJhc2VzcmMuYzoKCSAgKGdzdF9jZGRhX2Jhc2Vfc3JjX2hhbmRsZV90cmFja19zZWVrKToKCSAgKiBnc3QtbGlicy9nc3QvcnRwL2dzdGJhc2VydHBkZXBheWxvYWQuYzoKCSAgKGdzdF9iYXNlX3J0cF9kZXBheWxvYWRfcHVzaF9mdWxsKToKCSAgKiBnc3QtbGlicy9nc3QvcnRwL2dzdGJhc2VydHBwYXlsb2FkLmM6IChnc3RfYmFzZXJ0cHBheWxvYWRfcHVzaCk6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuYzogKHJlc2FtcGxlX2lucHV0X3B1c2h0aHJvdWdoKToKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJhc2ViaW4uYzogKHF1ZXVlX291dF9vZl9kYXRhKToKCSAgKiBnc3QvdGNwL2dzdG11bHRpZmRzaW5rLmM6IChnc3RfbXVsdGlfZmRfc2lua19oYW5kbGVfY2xpZW50cyk6CgkgICogZ3N0L3R5cGVmaW5kL2dzdHR5cGVmaW5kZnVuY3Rpb25zLmM6IChtcDNfdHlwZV9maW5kX2F0X29mZnNldCksCgkgICh3YXZwYWNrX3R5cGVfZmluZCk6CgkgICogZ3N0L3ZpZGVvdGVzdHNyYy9nc3R2aWRlb3Rlc3RzcmMuYzogKGdzdF92aWRlb190ZXN0X3NyY19jcmVhdGUpOgoJICAqIHN5cy94dmltYWdlL3h2aW1hZ2VzaW5rLmM6IChnc3RfeHZpbWFnZV9idWZmZXJfZGVzdHJveSksCgkgIChnc3RfeHZpbWFnZXNpbmtfY2hlY2tfeHNobV9jYWxscyksIChnc3RfeHZpbWFnZXNpbmtfeHZpbWFnZV9uZXcpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvbHVtZS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBQcmludGYgZm9ybWF0IGZpeGVzLgoKMjAwNi0xMC0wNCAyMjozNzowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLio6IEhhbmRsZSBwYWNrZWQgWVVWIGZvcm1hdHMgKFVZVlksIFlVWTIsIFlVWVYpIHNlcGFyYXRlbHk7IGFsc28sIGZpeCBwYXNzdGhyb3VnaCBtb2RlOyBsYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOiAoZ3N0X3ZpZGVvX2Nyb3BfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9fY3JvcF9pbml0KSwKCSAgKGdzdF92aWRlb19jcm9wX2dldF9pbWFnZV9kZXRhaWxzX2Zyb21fY2FwcyksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fcGFja2VkX2NvbXBsZXgpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX3BhY2tlZF9zaW1wbGUpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtKSwgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9jYXBzKSwKCSAgKGdzdF92aWRlb19jcm9wX3NldF9jYXBzKSwKCSAgKGdzdF92aWRlb2Nyb3BfY2xlYXJfbmVnb3RpYXRlZF9jYXBzX2xvY2tlZCksCgkgIChnc3RfdmlkZW9fY3JvcF9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmg6CgkgIEhhbmRsZSBwYWNrZWQgWVVWIGZvcm1hdHMgKFVZVlksIFlVWTIsIFlVWVYpIHNlcGFyYXRlbHk7IGFsc28sIGZpeAoJICBwYXNzdGhyb3VnaCBtb2RlOyBsYXN0bHksIGNsZWFyIG5lZ290aWF0ZWQgYmFzZXRyYW5zZm9ybSBjYXBzIHdoZW4KCSAgdGhlIGNyb3BwaW5nIGNoYW5nZXMgaW4gb3JkZXIgdG8gZm9yY2UgcmVuZWdvdGlhdGlvbi4KCjIwMDYtMTAtMDQgMjA6MDU6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9pY2xlcy86IFZpc3VhbCB0ZXN0IGZvciB2aWRlb2Nyb3AsIHNob3dzIHRoYXQgcGFja2VkIHl1diBkb2Vzbid0IHdvcmsgcmlnaHQgeWV0LiAtLXdpdGgtZmZtcGVnY29sb3JzcGFjZSBvcHRpb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiAocXVpdF9tYWlubG9vcCksICh0aWNrX2NiKSwKCSAgKHRlc3Rfd2l0aF9jYXBzKSwgKHZpZGVvX2Nyb3BfZ2V0X3Rlc3RfY2FwcyksIChtYWluKToKCSAgVmlzdWFsIHRlc3QgZm9yIHZpZGVvY3JvcCwgc2hvd3MgdGhhdCBwYWNrZWQgeXV2IGRvZXNuJ3Qgd29yayByaWdodAoJICB5ZXQuIC0td2l0aC1mZm1wZWdjb2xvcnNwYWNlIG9wdGlvbiBkb2Vzbid0IHdvcmsgeWV0IGZvciB1bmtub3duCgkgIHJlYXNvbnMgKGFub3RoZXIgYmFzZXRyYW5zZm9ybSBpc3N1ZT8pCgoyMDA2LTEwLTA0IDEwOjU1OjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUmVtb3ZlIG1vcmUgdjRsMiBzdHVmZiwgaG9wZWZ1bGx5IGZpeGluZyAnbWFrZSBkaXN0Y2hlY2snIGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9QT1RGSUxFUy5pbjoKCSAgKiBzeXMvdjRsMi8uY3ZzaWdub3JlOgoJICBSZW1vdmUgbW9yZSB2NGwyIHN0dWZmLCBob3BlZnVsbHkgZml4aW5nICdtYWtlIGRpc3RjaGVjaycgYWdhaW4uCgoyMDA2LTEwLTA0IDEwOjI5OjIyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHJlbW92ZWQgdjRsMgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJICAqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICByZW1vdmVkIHY0bDIKCjIwMDYtMTAtMDMgMTg6MzI6MzEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICByZW1vdmluZyBpY2xlIGZvciB2NGwyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmluZyBpY2xlIGZvciB2NGwyCgoyMDA2LTEwLTAzIDE4OjI3OjU3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgcmVtb3ZlIGxhc3QgY29uZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIGxhc3QgY29uZAoKMjAwNi0xMC0wMyAxODoyMzoyMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBtb3ZlZCB0byBnc3QtcGx1Z2lucy1nb29kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkgICogc3lzL3Y0bDIvUkVBRE1FOgoJICAqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50LmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgbW92ZWQgdG8gZ3N0LXBsdWdpbnMtZ29vZAoKMjAwNi0xMC0wMyAxMzo0NzoxMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIGNvbW1lbnQgb3V0IHRoZSBub3RpZmllcyBmb3IgcmVtb3ZlZCBwcm9wZXJ0aWVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjb21tZW50IG91dCB0aGUgbm90aWZpZXMgZm9yIHJlbW92ZWQgcHJvcGVydGllcwoKMjAwNi0xMC0wMyAxMzozMDo0OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IGNvbW1lbnQgb3V0IHRoZSBwcm9wZXJ0aWVzIHRoYXQgYXJlIGFscmVhZHkgcGFydCBvZiB0aGUgdHVuZXIgaW50ZXJmYWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIChnc3RfdjRsMl9vYmplY3RfaW5zdGFsbF9wcm9wZXJ0aWVzX2hlbHBlcik6CgkgIGNvbW1lbnQgb3V0IHRoZSBwcm9wZXJ0aWVzIHRoYXQgYXJlIGFscmVhZHkgcGFydCBvZiB0aGUgdHVuZXIKCSAgaW50ZXJmYWNlLgoKMjAwNi0xMC0wMyAxMzoxODo1OSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogSW1wcm92ZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0xMC0wMyAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgSW1wcm92ZSBkb2NzLgoKMjAwNi0xMC0wMiAxMzoyODo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC94dmlkL2dzdHh2aWQuYzogU2V0IHJhbmsgb2YgeHZpZGRlYyB0byBOT05FIHVudGlsIHNvbWVvbmUgZml4ZXMgaXQgKHRvbyBtYW55IGNyYXNoZXIgYnVnIHJlcG9ydHMgYWdhaW5zdCB0b3RlbSwgcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveHZpZC9nc3R4dmlkLmM6IChwbHVnaW5faW5pdCk6CgkgIFNldCByYW5rIG9mIHh2aWRkZWMgdG8gTk9ORSB1bnRpbCBzb21lb25lIGZpeGVzIGl0ICh0b28gbWFueSBjcmFzaGVyCgkgIGJ1ZyByZXBvcnRzIGFnYWluc3QgdG90ZW0sIHBlb3BsZSBzaG91bGQgdXNlIGdzdC1mZm1wZWcpLgoKMjAwNi0wOS0yOCAxNzowODo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyLzogRnJhbWVyYXRlIGNhbiBiZSAwLzEgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19nZXRfYWxsX2NhcHMpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X2NhcHMpOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2ZpbGxfbGlzdHMpOgoJICBGcmFtZXJhdGUgY2FuIGJlIDAvMSB0b28uCgkgIEluaXQgZnJhbWVyYXRlIHRvIDAvMSBiZWZvcmUgcXVlcnlpbmcgaXQgc28gdGhhdCB3ZSBjYW4gZGV0ZWN0CgkgIGRldmljZXMgdGhhdCBkb24ndCBrbm93IGFib3V0IGEgZnJhbWVyYXRlLgoJICBBZGQgc29tZSBtb3JlIGRlYnVnZ2luZyBpbmZvLgoKMjAwNi0wOS0yOCAxNDozMTo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIHN1cHBvcnQgZm9yICd5djEyJyBmb3VyY2MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBzdXBwb3J0IGZvciAneXYxMicgZm91cmNjLgoKMjAwNi0wOS0yNyAxNzo0Nzo1NyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIFJlbW92ZWQgc2V0LXVuZGVmLWZwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbW92ZWQgc2V0LXVuZGVmLWZwcy4KCjIwMDYtMDktMjcgMTc6MDQ6MjIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi86IFJlbmFtZWQgc29tZSBwcm9wZXJ0aWVzIHRvIG1hdGNoIHRoZSB0dW5lciBpbnRlcmZhY2UgbmFtaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIChnc3RfdjRsMl9vYmplY3RfaW5zdGFsbF9wcm9wZXJ0aWVzX2hlbHBlciksIChnc3RfdjRsMl9vYmplY3RfbmV3KSwKCSAgKGdzdF92NGwyX29iamVjdF9zZXRfcHJvcGVydHlfaGVscGVyKSwKCSAgKGdzdF92NGwyX29iamVjdF9nZXRfcHJvcGVydHlfaGVscGVyKSwgKGdzdF92NGwyX3NldF9kZWZhdWx0cyk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3Y0bDJzcmNfY3JlYXRlKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzogKGdzdF92NGwyX3R1bmVyX2NvbnRhaW5zX2NoYW5uZWwpLAoJICAoZ3N0X3Y0bDJfdHVuZXJfbGlzdF9jaGFubmVscyksCgkgIChnc3RfdjRsMl90dW5lcl9zZXRfY2hhbm5lbF9hbmRfbm90aWZ5KSwKCSAgKGdzdF92NGwyX3R1bmVyX2dldF9jaGFubmVsKSwgKGdzdF92NGwyX3R1bmVyX2NvbnRhaW5zX25vcm0pLAoJICAoZ3N0X3Y0bDJfdHVuZXJfbGlzdF9ub3JtcyksIChnc3RfdjRsMl90dW5lcl9zZXRfbm9ybV9hbmRfbm90aWZ5KSwKCSAgKGdzdF92NGwyX3R1bmVyX2dldF9ub3JtKToKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9nZXRfY2FwYWJpbGl0aWVzKSwKCSAgKGdzdF92NGwyX2ZpbGxfbGlzdHMpLCAoZ3N0X3Y0bDJfZW1wdHlfbGlzdHMpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2dldF9mcHMpOgoJICBSZW5hbWVkIHNvbWUgcHJvcGVydGllcyB0byBtYXRjaCB0aGUgdHVuZXIgaW50ZXJmYWNlIG5hbWluZy4KCjIwMDYtMDktMjcgMTY6MTQ6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBTbWFsbCBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiAoZ3N0X3Y0bDJfb2JqZWN0X3NldF9wcm9wZXJ0eV9oZWxwZXIpLAoJICAoZ3N0X3Y0bDJfc2V0X2RlZmF1bHRzKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19nZXRfcmVhZCksCgkgIChnc3RfdjRsMnNyY19jcmVhdGUpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOiAoZ3N0X3Y0bDJfeG92ZXJsYXlfb3Blbik6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZ2V0X2NhcGFiaWxpdGllcyksCgkgIChnc3RfdjRsMl9maWxsX2xpc3RzKSwgKGdzdF92NGwyX29wZW4pLCAoZ3N0X3Y0bDJfc2V0X25vcm0pLAoJICAoZ3N0X3Y0bDJfZ2V0X2ZyZXF1ZW5jeSksIChnc3RfdjRsMl9zZXRfZnJlcXVlbmN5KSwKCSAgKGdzdF92NGwyX3NpZ25hbF9zdHJlbmd0aCksIChnc3RfdjRsMl9nZXRfYXR0cmlidXRlKSwKCSAgKGdzdF92NGwyX3NldF9hdHRyaWJ1dGUpLCAoZ3N0X3Y0bDJfZ2V0X2lucHV0KSwKCSAgKGdzdF92NGwyX3NldF9pbnB1dCk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZmlsbF9mb3JtYXRfbGlzdCksCgkgIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKSwgKGdzdF92NGwyc3JjX2dldF9jYXB0dXJlKSwKCSAgKGdzdF92NGwyc3JjX3NldF9jYXB0dXJlKSwgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCksCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX3N0YXJ0KSwgKGdzdF92NGwyc3JjX2NhcHR1cmVfc3RvcCksCgkgIChnc3RfdjRsMnNyY19idWZmZXJfbmV3KToKCSAgKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzogKG15X2J1c19jYWxsYmFjayksIChtYWluKToKCSAgU21hbGwgY2xlYW51cHMuCgkgIEZpeCBlcnJvciBtZXNzYWdlcy4KCSAgVXNlIGxvY2tzIHdoZW4gZ2V0dGluZyB0aW1lc3RhbXBzLgoJICBGaXggbGVha3MgaW4gdGVzdC4KCSAgQWRkIGxpY2Vuc2luZyBoZWFkZXIgdG8gdGVzdHMuCgoyMDA2LTA5LTI3IDE1OjE0OjA3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIFNvbWUgY2xlYW51cHMgYW5kIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU29tZSBjbGVhbnVwcyBhbmQgY29tbWVudHMuCgoyMDA2LTA5LTI2IDE0OjE3OjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIHY0bDIgcGx1Z2luIHRvIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBBZGQgdjRsMiBwbHVnaW4gdG8gdGhlIGRvY3MuCgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfZ2V0X3JlYWQpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X21tYXApLCAoZ3N0X3Y0bDJzcmNfY3JlYXRlKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5jOgoJICBGaXggZG9jcy4KCSAgUmVtb3ZlIHNvbWUgbW9yZSBleHRlcm5zLgoKMjAwNi0wOS0yNiAxMzoxODowNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyL01ha2VmaWxlLmFtOiBGaXggbWFrZWZpbGUsIGxpc3QgbGlicyBpbiBzdGFjayBvcmRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkgIEZpeCBtYWtlZmlsZSwgbGlzdCBsaWJzIGluIHN0YWNrIG9yZGVyLgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiAoZ3N0X3Y0bDJfZGV2aWNlX2dldF90eXBlKSwKCSAgKGdzdF92NGwyX29iamVjdF9pbnN0YWxsX3Byb3BlcnRpZXNfaGVscGVyKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfZ2V0X3JlYWQpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X21tYXApLCAoZ3N0X3Y0bDJzcmNfY3JlYXRlKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIEZpeCBjb2Rpbmcgc3R5bGU6CgkgIC0gUmVtb3ZlIGV4dGVybiBmcm9tIGZ1bmN0aW9ucy4KCSAgLSBGaXggaGVhZGVyIGluZGVudGF0aW9uLgoJICBGaXggRmxhZ3MsIGFkZCBkZWZhdWx0cyBmb3IgcHJvcGVydGllcy4KCSAgUmVtb3ZlIHVudXNlZCBlbnVtcy4KCSAgRml4IFRPT19MQVpZIGluIGVycm9yIG1lc3NhZ2VzLgoKMjAwNi0wOS0yNiAxMTowNjoxNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyLzogRml4IHBhc3MgYXQgY29kZSBjbGVhbnVwcywgbW92ZSBlcnJvcnMgY2FzZXMgb3V0IG9mIHRoZSBub3JtYWwgZmxvdyBmb3IgYWRkaXRpb25hbCBjb2RlIGNsYXJpdHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogKGdzdF92NGwyX2NsYXNzX3Byb2JlX2RldmljZXMpLAoJICAoZ3N0X3Y0bDJfcHJvYmVfbmVlZHNfcHJvYmUpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X2luc3RhbGxfcHJvcGVydGllc19oZWxwZXIpLCAoZ3N0X3Y0bDJfb2JqZWN0X25ldyksCgkgIChnc3RfdjRsMl9vYmplY3RfZGVzdHJveSksIChnc3RfdjRsMl9vYmplY3Rfc2V0X3Byb3BlcnR5X2hlbHBlciksCgkgIChnc3RfdjRsMl9vYmplY3RfZ2V0X3Byb3BlcnR5X2hlbHBlciksIChnc3RfdjRsMl9zZXRfZGVmYXVsdHMpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X3N0YXJ0KSwgKGdzdF92NGwyX29iamVjdF9zdG9wKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdjRsMnNyY19pbml0KSwgKGdzdF92NGwyc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3Y0bDJzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF92NGwyc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfdjRsMnNyY19maXhhdGUpLCAoZ3N0X3Y0bDJzcmNfZ2V0X2NhcHMpLAoJICAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHMpLCAoZ3N0X3Y0bDJzcmNfZ2V0X3JlYWQpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X21tYXApLCAoZ3N0X3Y0bDJzcmNfY3JlYXRlKToKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9nZXRfY2FwYWJpbGl0aWVzKSwKCSAgKGdzdF92NGwyX29wZW4pLCAoZ3N0X3Y0bDJfY2xvc2UpLCAoZ3N0X3Y0bDJfZ2V0X25vcm0pLAoJICAoZ3N0X3Y0bDJfc2V0X25vcm0pLCAoZ3N0X3Y0bDJfZ2V0X2ZyZXF1ZW5jeSksCgkgIChnc3RfdjRsMl9zZXRfZnJlcXVlbmN5KSwgKGdzdF92NGwyX3NpZ25hbF9zdHJlbmd0aCksCgkgIChnc3RfdjRsMl9nZXRfYXR0cmlidXRlKSwgKGdzdF92NGwyX3NldF9hdHRyaWJ1dGUpLAoJICAoZ3N0X3Y0bDJfZ2V0X2lucHV0KSwgKGdzdF92NGwyX3NldF9pbnB1dCk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZmlsbF9mb3JtYXRfbGlzdCksCgkgIChnc3RfdjRsMnNyY19xdWV1ZV9mcmFtZSksIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKSwKCSAgKGdzdF92NGwyc3JjX2dldF9jYXB0dXJlKSwgKGdzdF92NGwyc3JjX3NldF9jYXB0dXJlKSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCksIChnc3RfdjRsMnNyY19jYXB0dXJlX3N0YXJ0KSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfc3RvcCksIChnc3RfdjRsMnNyY19jYXB0dXJlX2RlaW5pdCksCgkgIChnc3RfdjRsMnNyY19nZXRfc2l6ZV9saW1pdHMpLCAoZ3N0X3Y0bDJzcmNfc2V0X2ZwcyksCgkgIChnc3RfdjRsMnNyY19nZXRfZnBzKSwgKGdzdF92NGwyc3JjX2J1ZmZlcl9maW5hbGl6ZSksCgkgIChnc3RfdjRsMnNyY19idWZmZXJfbmV3KToKCSAgRml4IHBhc3MgYXQgY29kZSBjbGVhbnVwcywgbW92ZSBlcnJvcnMgY2FzZXMgb3V0IG9mIHRoZSBub3JtYWwKCSAgZmxvdyBmb3IgYWRkaXRpb25hbCBjb2RlIGNsYXJpdHkuCgoyMDA2LTA5LTIzIDEzOjIxOjQzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOiBQb3J0IHRvIDAuMTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzogKGdzdF9jZGF1ZGlvX2NsYXNzX2luaXQpLAoJICAoZ3N0X2NkYXVkaW9faW5pdCksIChnc3RfY2RhdWRpb19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2NkYXVkaW9fZ2V0X3Byb3BlcnR5KSwgKGdzdF9jZGF1ZGlvX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfY2RhdWRpb19zZW5kX2V2ZW50KSwgKGdzdF9jZGF1ZGlvX2dldF9xdWVyeV90eXBlcyksCgkgIChnc3RfY2RhdWRpb19xdWVyeSksIChjZGF1ZGlvX3VyaV9zZXRfdXJpKToKCSAgUG9ydCB0byAwLjEwLgoKMjAwNi0wOS0yMyAwMDoyODozNSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IEZpeCBwcm9ibGVtcyB3aGVuIHRoZSBlbGVtZW50IGNhbm5vdCBvcGVuIHRoZSBkaXNwbGF5LiAoZml4ZXMgIzM1NzIxMikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICBGaXggcHJvYmxlbXMgd2hlbiB0aGUgZWxlbWVudCBjYW5ub3Qgb3BlbiB0aGUgZGlzcGxheS4KCSAgKGZpeGVzICMzNTcyMTIpCgoyMDA2LTA5LTIyIDE2OjA4OjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBVcCByZXF1aXJlbWVudHMgdG8gLWJhc2UgQ1ZTIGFuZCBjb3JlIENWUyAodGhlIGZvcm1hdCBmb3IgdGhlIHZpZGVvIG9yaWVudGF0aW9uIGludGVyZmFjZSB1c2VkIGJ5IHY0bDJzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXAgcmVxdWlyZW1lbnRzIHRvIC1iYXNlIENWUyBhbmQgY29yZSBDVlMgKHRoZSBmb3JtYXQgZm9yIHRoZQoJICB2aWRlbyBvcmllbnRhdGlvbiBpbnRlcmZhY2UgdXNlZCBieSB2NGwyc3JjIGFuZCB0aGUgbGF0dGVyCgkgIHNpbmNlIHRoYXQncyB3aGF0IC1iYXNlIENWUyByZXF1aXJlcykuCgoyMDA2LTA5LTIyIDE1OjU5OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiBMb3dlciByYW5rIGZyb20gU0VDT05EQVJZIHRvIE1BUkdJTkFMLiBQbHVnaW5zIGluIC1iYWQgdGhhdCBtaWdodCBiZSBhdXRvcGx1Z2dlZCBzaG91bGRuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKHBsdWdpbl9pbml0KToKCSAgTG93ZXIgcmFuayBmcm9tIFNFQ09OREFSWSB0byBNQVJHSU5BTC4gUGx1Z2lucyBpbiAtYmFkIHRoYXQgbWlnaHQKCSAgYmUgYXV0b3BsdWdnZWQgc2hvdWxkbid0IHRydW1wIHBsdWdpbnMgaW4gLWJhc2UsIC1nb29kIG9yIC11Z2x5CgkgIChpbiB0aGlzIGNhc2UgeGltYWdlc2luaykuCgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAocGx1Z2luX2luaXQpOgoJICBTZXQgcmFuayB0byBOT05FIHRvIHByZXZlbnQgaXQgZnJvbSBiZWluZyBhdXRvcGx1Z2dlZCB1bnRpbAoJICBlcnJvcnMgYXJlIGhhbmRsZWQgcHJvcGVybHkgKHNlZSAjMzU3MjEyKS4KCjIwMDYtMDktMjEgMTQ6MDE6MTggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L25lb24vTWFrZWZpbGUuYW06CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIFJldmVydGVkIHByZXZpb3VzIGNvbW1pdCAoMjAwNi0wOS0xOSAtIEFsbG93IGludGVybmFsIGNvZGVzIGZyb20gbGFzdC5mbSkuIEFzIGRpY3Vzc2VkIG9uICNnc3RyZWFtZXIgaXQgc2hvdWxkIGJlIGRvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2ZXJ0ZWQgcHJldmlvdXMgY29tbWl0ICgyMDA2LTA5LTE5IC0gQWxsb3cgaW50ZXJuYWwgY29kZXMgZnJvbSBsYXN0LmZtKS4gQXMgZGljdXNzZWQgb24gI2dzdHJlYW1lciBpdCBzaG91bGQgYmUgZG9uZSBpbiBzZXBhcmV0ZSBlbGVtZW50LgoKMjAwNi0wOS0yMSAxMzo0MTo0MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9mYWFjL2dzdGZhYWMuYzogQWRkIGRlY29kZXIgc3BlY2lmaWMgaW5mbyBvbiB0aGUgY2Fwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfY29uZmlndXJlX3NvdXJjZV9wYWQpLAoJICAoZ3N0X2ZhYWNfY2hhaW4pOgoJICBBZGQgZGVjb2RlciBzcGVjaWZpYyBpbmZvIG9uIHRoZSBjYXBzLgoJICBTb21lIGNsZWFudXBzIGhlcmUgYW5kIHRoZXJlLgoKMjAwNi0wOS0xOSAyMTo0OTo1MiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbmVvbi9NYWtlZmlsZS5hbToKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgQWxsb3cgaW50ZXJuYWwgY29kZXMgZnJvbSBsYXN0LmZtCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBbGxvdyBpbnRlcm5hbCBjb2RlcyBmcm9tIGxhc3QuZm0KCjIwMDYtMDktMTkgMTY6MjQ6MTAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIEp1c3QgYSBzbWFsbCBmaXggdG8gdGhlIGFwcCBvcHRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSnVzdCBhIHNtYWxsIGZpeCB0byB0aGUgYXBwIG9wdGlvbnMuCgoyMDA2LTA5LTE5IDEzOjA4OjM1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5oOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgQWRkIFZpZGVvIE9yaWVudGF0aW9uIGludGVyZmFjZSBzdXBwb3J0IHRvIHY0bDJzcmMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgVmlkZW8gT3JpZW50YXRpb24gaW50ZXJmYWNlIHN1cHBvcnQgdG8gdjRsMnNyYy4KCjIwMDYtMDktMTkgMTA6MTA6MTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZ3NtL2dzdGdzbWRlYy4qOiBIYW5kbGUgV0FWNDkgdmFyaWFudCAoR1NNIGluIFdBVikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6IChnc3RfZ3NtZGVjX2luaXQpLAoJICAoZ3N0X2dzbWRlY19zaW5rX3NldGNhcHMpLCAoZ3N0X2dzbWRlY19zaW5rX2V2ZW50KSwKCSAgKGdzdF9nc21kZWNfY2hhaW4pOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmg6CgkgIEhhbmRsZSBXQVY0OSB2YXJpYW50IChHU00gaW4gV0FWKS4KCSAgU29tZSBzbWFsbCBjbGVhbnVwcy4KCjIwMDYtMDktMTggMTU6MzY6MTQgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBGaXggR1NUX0JVRkZFUl9EVVJBVElPTi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCBHU1RfQlVGRkVSX0RVUkFUSU9OLgoKMjAwNi0wOS0xNiAyMjozMDo1MCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svOiBGaXggYmlnIGJhdGNoIG9mIGNvbXBpbGVyIHdhcm5pbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW90ZXN0c3JjLmM6IChjaGVja19yZ2JfYnVmKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2x1bWUuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b3JiaXNkZWMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvb2dnbXV4LmM6ICh2YWxpZGF0ZV9vZ2dfcGFnZSksIChlb3Nfd2F0Y2gpLAoJICAodGVzdF9waXBlbGluZSksIChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RoZW9yYWVuYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy92b3JiaXNlbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRml4IGJpZyBiYXRjaCBvZiBjb21waWxlciB3YXJuaW5ncy4KCjIwMDYtMDktMTYgMjI6MTQ6MzYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIE1vcmUgR19PQkpFQ1QgbWFjcm8gZml4aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICAqIGV4dC94aW5lL3hpbmVhdWRpb2RlYy5jOgoJICAqIGV4dC94aW5lL3hpbmVhdWRpb3NpbmsuYzoKCSAgKiBleHQveGluZS94aW5laW5wdXQuYzoKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkgICogZ3N0L25zZi9nc3Ruc2YuaDoKCSAgKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJICAqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6CgkgIE1vcmUgR19PQkpFQ1QgbWFjcm8gZml4aW5nLgoKMjAwNi0wOS0xNSAxOToxMTowMCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBUaGUgdGVzdCBhcHBsaWNhdGlvbiBhbmQgdGhlIHBsZ2luZCBlcnJvciBtZXNzYWdlcyBoYXMgYmVlbiBpbXByb3ZlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFRoZSB0ZXN0IGFwcGxpY2F0aW9uIGFuZCB0aGUgcGxnaW5kIGVycm9yIG1lc3NhZ2VzIGhhcyBiZWVuIGltcHJvdmVkLgoKMjAwNi0wOS0xMiAyMDoxODo1NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IEltcGxlbWVudHMgc3RvcCgpIHRvIGNsZWFyIHRoZSBhZGFwdGVyIGFuZCBldmVudCgpIHRvIGNsZWFyIHRoZSBhZGFwdGVyIG9uIEZMVVNIX1NUT1AgYW5kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX3N0YXJ0KSwgKGdzdF9zcGVjdHJ1bV9zdG9wKSwgKGdzdF9zcGVjdHJ1bV9ldmVudCk6CgkgIEltcGxlbWVudHMgc3RvcCgpIHRvIGNsZWFyIHRoZSBhZGFwdGVyIGFuZCBldmVudCgpIHRvIGNsZWFyIHRoZQoJICBhZGFwdGVyIG9uIEZMVVNIX1NUT1AgYW5kIEVPUy4KCjIwMDYtMDktMTEgMTg6MjM6NTkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS4qOiBGaXggdHlwZSBtaXh1cCBpbiBzcGVjdHJ1bS0+aW50ZXJ2YWwgKGdkb3VibGU8LT5ndWludDY0KS4gU3BvdHRlZCBieQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBGaXggdHlwZSBtaXh1cCBpbiBzcGVjdHJ1bS0+aW50ZXJ2YWwgKGdkb3VibGU8LT5ndWludDY0KS4gU3BvdHRlZCBieQoJICBSZW7DqSBTdGFkbGVyCgoyMDA2LTA5LTExIDE4OjAyOjM5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogVXNlIG1vcmUgZGVmaW5lcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKGRyYXdfc3BlY3RydW0pLCAobWFpbik6CgkgIFVzZSBtb3JlIGRlZmluZXMKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9kaXNwb3NlKSwgKGdzdF9zcGVjdHJ1bV9zZXRfY2FwcyksCgkgIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgQXBwbHkgc29tZSBvZiB0aGUgc3BlY3RydW0gY2xlYW51cCBjaGFuZ2VzIHN1Z2dlc3RlZCBpbiAjMzQ4MDg1LgoKMjAwNi0wOS0wOCAxNjo0Nzo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCByZXF1aXJlbWVudHMgb2YgLWJhc2UgKHZpZGVvY3JvcCB0ZXN0IGNhc2UgbmVlZHMgdGhpcykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCByZXF1aXJlbWVudHMgb2YgLWJhc2UgKHZpZGVvY3JvcCB0ZXN0IGNhc2UgbmVlZHMgdGhpcykuCgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgRG9jdW1lbnQgc2xvcHB5IGhhbmRsaW5nIG9mIHN1YnNhbXBsZWQgY2hyb21hIHBsYW5lcyBpZgoJICBsZWZ0L3RvcCBjcm9wcGluZyBpcyBhbiBvZGQgbnVtYmVyLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiAoaGFuZG9mZl9jYiksCgkgICh2aWRlb2Nyb3BfdGVzdF9jcm9wcGluZ19pbml0X2NvbnRleHQpLAoJICAodmlkZW9jcm9wX3Rlc3RfY3JvcHBpbmdfZGVpbml0X2NvbnRleHQpLAoJICAodmlkZW9jcm9wX3Rlc3RfY3JvcHBpbmcpLCAoY2hlY2tfMXgxX2J1ZmZlciksIChHU1RfU1RBUlRfVEVTVCksCgkgICh2aWRlb2Nyb3Bfc3VpdGUpLCAobWFpbik6CgkgIEFkZCBhbm90aGVyIHVuaXQgdGVzdCB0aGF0IGNyb3BzIHRoZSBpbnB1dCB0byAxeDEgKGFuZCBjaGVja3MKCSAgdGhhdCB0aGF0IHBpeGVsIGhhcyB0aGUgZXhwZWN0ZWQgdmFsdWVzIGluIGEgbnVtYmVyIG9mIGZvcm1hdHMpLgoKMjAwNi0wOS0wOCAxMTowNDoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC92aWRlb2Nyb3AvOiBTb21lIHF1aWNrIHRlc3RzIGluZGljYXRlIHRoYXQgaXQgZG9lc24ndCBtYWtlIGEgZ3JlYXQgZGVhbCBvZiBzZW5zZSB0byB1c2UgbGlib2lsIGhlcmUsIGF0IGxlYXN0IG5vdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IChnc3RfdmlkZW9fY3JvcF9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9wYWNrZWQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX3BsYW5hcik6CgkgIFNvbWUgcXVpY2sgdGVzdHMgaW5kaWNhdGUgdGhhdCBpdCBkb2Vzbid0IG1ha2UgYSBncmVhdCBkZWFsCgkgIG9mIHNlbnNlIHRvIHVzZSBsaWJvaWwgaGVyZSwgYXQgbGVhc3Qgbm90IGZvciB0aGUgbWVtY3B5KClzCgkgIHdlIGRvLCBzbyByZW1vdmUgbGlib2lsIHVzYWdlIHVudGlsIHRoZXJlIGlzIGNsZWFyIGV2aWRlbmNlCgkgIGl0IGFjdHVhbGx5IG1ha2VzIGEgcG9zaXRpdmUgZGlmZmVyZW5jZSBzb21ld2hlcmUuCgoyMDA2LTA5LTAzIDIxOjEyOjM2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJICBoaWdoZXIgdXAgZmlyc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGhpZ2hlciB1cCBmaXJzdAoKMjAwNi0wOS0wMyAxMDo0NjoxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiBNb3JlIHRlc3RzOiBjaGVjayBwYXNzdGhyb3VnaCBtb2RlIGFuZCBjYXBzIHRyYW5zZm9ybSBpbiBib3RoIGRpcmVjdGlvbnMgd2l0aCBmaXhlZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogKGhhbmRvZmZfY2IpLAoJICAoYnVmZmVyX3Byb2JlX2NiKSwgKHRlc3RfY2Fwc190cmFuc2Zvcm0pLCAodGVzdF9wYXNzdGhyb3VnaCksCgkgIChub3Rnc3RfdmFsdWVfbGlzdF9nZXRfbnRoX2ludCksICh2aWRlb2Nyb3Bfc3VpdGUpOgoJICBNb3JlIHRlc3RzOiBjaGVjayBwYXNzdGhyb3VnaCBtb2RlIGFuZCBjYXBzIHRyYW5zZm9ybSBpbgoJICBib3RoIGRpcmVjdGlvbnMgd2l0aCBmaXhlZCB2YWx1ZXMsIHJhbmdlcyBhbmQgbGlzdHMuCgoyMDA2LTA5LTAyIDE4OjQ5OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIHZpZGVvY3JvcCB0byBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgIEFkZCB2aWRlb2Nyb3AgdG8gZG9jcy4KCSAgKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuaDoKCSAgTW92ZSBib2lsZXJwbGF0ZSBzdHVmZiBhbmQgc3RydWN0dXJlcyBpbnRvIGEgaGVhZGVyIGZpbGUuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogKHZpZGVvX2Nyb3BfZ2V0X3Rlc3RfY2FwcyksCgkgICh0ZXN0X3VuaXRfc2l6ZXMpLCAodmlkZW9jcm9wX3Rlc3RfY3JvcHBpbmdfaW5pdF9jb250ZXh0KSwKCSAgKHZpZGVvY3JvcF90ZXN0X2Nyb3BwaW5nX2RlaW5pdF9jb250ZXh0KSwKCSAgKHZpZGVvY3JvcF90ZXN0X2Nyb3BwaW5nKSwgKHRlc3RfY3JvcHBpbmcpLCAodmlkZW9jcm9wX3N1aXRlKToKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIHZpZGVvY3JvcC4KCjIwMDYtMDktMDIgMTU6MzA6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBQb3J0L3Jld3JpdGUgdmlkZW9jcm9wIGZyb20gc2NyYXRjaCBmb3IgR1N0cmVhbWVyLTAuMTAsIGFuZCBtYWtlIGl0IHN1cHBvcnQgYWxsIGZvcm1hdHMgdmlkZW9zY2FsZSBzdXBwb3J0cyAoIzM0NTY1MykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IChnc3RfdmlkZW9fY3JvcF9iYXNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfY2xhc3NfaW5pdCksIChnc3RfdmlkZW9fY3JvcF9pbml0KSwKCSAgKGdzdF92aWRlb19jcm9wX2dldF9pbWFnZV9kZXRhaWxzX2Zyb21fY2FwcyksCgkgIChnc3RfdmlkZW9fY3JvcF9nZXRfdW5pdF9zaXplKSwgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9wYWNrZWQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX3BsYW5hciksIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm0pLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX2RpbWVuc2lvbiksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fZGltZW5zaW9uX3ZhbHVlKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9jYXBzKSwgKGdzdF92aWRlb19jcm9wX3NldF9jYXBzKSwKCSAgKGdzdF92aWRlb19jcm9wX3NldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9fY3JvcF9nZXRfcHJvcGVydHkpLAoJICAocGx1Z2luX2luaXQpOgoJICBQb3J0L3Jld3JpdGUgdmlkZW9jcm9wIGZyb20gc2NyYXRjaCBmb3IgR1N0cmVhbWVyLTAuMTAsIGFuZCBtYWtlCgkgIGl0IHN1cHBvcnQgYWxsIGZvcm1hdHMgdmlkZW9zY2FsZSBzdXBwb3J0cyAoIzM0NTY1MykuCgoyMDA2LTA5LTAyIDE0OjQ1OjA0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi86IFdoaXRlc3BhY2UgY2xlYW51cHMsIGRhc2hpZnkgcHJvcGVydHktbmFtZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICAoZ3N0X3Y0bDJfb2JqZWN0X2luc3RhbGxfcHJvcGVydGllc19oZWxwZXIpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgV2hpdGVzcGFjZSBjbGVhbnVwcywgZGFzaGlmeSBwcm9wZXJ0eS1uYW1lcy4KCjIwMDYtMDktMDIgMTQ6Mjg6NTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyLzogQ2xlYW51cCBlcnJvciBtZXNzYWdlcyBhbmQgdW5pZnkgaGVhZGVyIGNvbW1lbnRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzogKGdzdF92NGwyX3hvdmVybGF5X29wZW4pOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2dldF9jYXBhYmlsaXRpZXMpLAoJICAoZ3N0X3Y0bDJfb3Blbik6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX3F1ZXVlX2ZyYW1lKSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBDbGVhbnVwIGVycm9yIG1lc3NhZ2VzIGFuZCB1bmlmeSBoZWFkZXIgY29tbWVudHMKCjIwMDYtMDgtMzEgMTM6MDE6MTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L25zZi9NYWtlZmlsZS5hbTogQWRkIG1pc3NpbmcgR1NUX0xJQlMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSAgQWRkIG1pc3NpbmcgR1NUX0xJQlMKCjIwMDYtMDgtMzAgMTg6MDE6NTIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBBbm90aGVyIHNtYWxsIGZpeCB0byBzZXRfY2FwcyBmdW5jdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFub3RoZXIgc21hbGwgZml4IHRvIHNldF9jYXBzIGZ1bmN0aW9uLgoKMjAwNi0wOC0zMCAxMzozMDoxMyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIFNlbmQgbmV3X3NlZ21lbnQgaW4gR1NUX0ZPUk1BVF9USU1FIGluc3RlYWQgb2YgaW4gR1NUX0ZPUk1BVF9CWVRFUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNlbmQgbmV3X3NlZ21lbnQgaW4gR1NUX0ZPUk1BVF9USU1FIGluc3RlYWQgb2YgaW4gR1NUX0ZPUk1BVF9CWVRFUy4KCjIwMDYtMDgtMzAgMTE6MzY6MDYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBBIHNtYWxsIGZpeCB0byBzZXRfY2FwcyBmdW5jdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEEgc21hbGwgZml4IHRvIHNldF9jYXBzIGZ1bmN0aW9uLgoKMjAwNi0wOC0zMCAxMToyNzo0MCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUmVzZXQgZWFjaCBzdHJlYW1zIGxhc3RfZmxvdyB0byBHU1RfRkxPV19PSy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICAoZ3N0X3F0ZGVtdXhfZG9fc2Vlayk6CgkgIFJlc2V0IGVhY2ggc3RyZWFtcyBsYXN0X2Zsb3cgdG8gR1NUX0ZMT1dfT0suCgkgIChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KToKCSAgUmVtb3ZpbmcgbXlzdGljIG1vZGlmaWNhdGlvbnMgZm9yIGdvb2QuCgoyMDA2LTA4LTMwIDExOjA3OjM3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IHB1dCBiYWNrICdzZWdtZW50IHN0YXJ0PD1zdG9wJyBjaGFuZ2UgdGhhdCB3YXMgbXlzdGljYWxseSByZXZlcnRlZCBieSB0aGUgbGFzdCBjb21taXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCksCgkgIChxdGRlbXV4X3BhcnNlX3RyZWUpOgoJICBwdXQgYmFjayAnc2VnbWVudCBzdGFydDw9c3RvcCcgY2hhbmdlIHRoYXQgd2FzIG15c3RpY2FsbHkgcmV2ZXJ0ZWQgYnkKCSAgdGhlIGxhc3QgY29tbWl0CgoyMDA2LTA4LTMwIDEwOjQzOjUzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCB0aGUgYnVpbGQgZm9yIGRpc2FibGVkIGRlYnVnCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLAoJICAocXRkZW11eF9wYXJzZV90cmVlKToKCSAgRml4IHRoZSBidWlsZCBmb3IgZGlzYWJsZWQgZGVidWcKCjIwMDYtMDgtMjkgMjA6NTk6NDcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgRml4ZWQgZnJhbWVyYXRlIG5lZ290aWF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgZnJhbWVyYXRlIG5lZ290aWF0aW9uLgoKMjAwNi0wOC0yOSAxMjowNzozOCArMDAwMCAgQW5kcmV3IEFuZGtqYXIgPGVua2lAZ29vZHNoaXAubmV0PgoKCSAgZXh0L3NkbC86IE9ubHkgZGUtaW5pdCB0aGUgc3Vic3lzdGVtIHdlIHByZXZpb3VzbHkgaW5pdGlhbGlzZWQuIEF2b2lkcyBib3JrYWdlIHdoZW4gYm90aCBzZGx2aWRlb3NpbmsgYW5kIHNkbGF1ZGlvc2luLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQW5kcmV3IEFuZGtqYXIgIDxlbmtpIGF0IGdvb2RzaGlwIG5ldD4KCSAgKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOiAoZ3N0X3NkbGF1ZGlvX3NpbmtfY2xvc2UpOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IChnc3Rfc2RsdmlkZW9zaW5rX3N1cHBvcnRlZCksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX2RlaW5pdHNkbCk6CgkgIE9ubHkgZGUtaW5pdCB0aGUgc3Vic3lzdGVtIHdlIHByZXZpb3VzbHkgaW5pdGlhbGlzZWQuIEF2b2lkcwoJICBib3JrYWdlIHdoZW4gYm90aCBzZGx2aWRlb3NpbmsgYW5kIHNkbGF1ZGlvc2luayBhcmUgdXNlZAoJICBhdCB0aGUgc2FtZSB0aW1lIGFuZCBvbmUgaXMgc2h1dCBkb3duLgoKMjAwNi0wOC0yOCAxNzo0NzoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTWFrZSBzdXJlIHNlZ21lbnQgc3RhcnQ8PXN0b3AgaW4gd2VpcmQgcXVpY2t0aW1lIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIE1ha2Ugc3VyZSBzZWdtZW50IHN0YXJ0PD1zdG9wIGluIHdlaXJkIHF1aWNrdGltZSBmaWxlcy4KCjIwMDYtMDgtMjggMTQ6NTk6MDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogYWRkIGNvbW1lbnRzIGFuZCBtb3JlIGRlYnVnIGxvZ2dpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZmlsbF9saXN0cyk6CgkgIGFkZCBjb21tZW50cyBhbmQgbW9yZSBkZWJ1ZyBsb2dnaW5nCgoyMDA2LTA4LTI0IDA5OjI0OjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IFBvc3QgYXVkaW8gY29kZWMgYW5kIGF2ZXJhZ2UgYml0cmF0ZSB0YWdzIG9uIGJ1cyAoIzM0NDQ3MikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19wb3N0X3RhZ3MpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgUG9zdCBhdWRpbyBjb2RlYyBhbmQgYXZlcmFnZSBiaXRyYXRlIHRhZ3Mgb24gYnVzICgjMzQ0NDcyKS4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpOgoJICBGb3J3YXJkIHF1ZXJpZXMgaW4gb3RoZXIgZm9ybWF0cyAoQllURSBmb3JtYXQgaW4gcGFydGljdWxhcikKCSAgdXBzdHJlYW07IGFkZCBTZWJhc3RpYW4gdG8gYXV0aG9ycy4KCjIwMDYtMDgtMjQgMDA6NDA6MDcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgRml4IHNldF9jYXBzIHRvIHNldCB3aWR0aCBhbmQgaGVpZ2h0IHRvIHRoZSB2YWx1ZXMgdGhlIGRyaXZlciBpcyByZWFsbHkgd29ya2luZyB3aXRoLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IHNldF9jYXBzIHRvIHNldCB3aWR0aCBhbmQgaGVpZ2h0IHRvIHRoZSB2YWx1ZXMgdGhlIGRyaXZlciBpcyByZWFsbHkgd29ya2luZyB3aXRoLgoKMjAwNi0wOC0yMyAxMDozMDozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogRml4IG1lbSBsZWFrLCBzZW5kIG5ld3NlZ21lbnQgZXZlbnQgb24gY29ycmVjdGlvbiBwYWQgYXMgd2VsbCAoIzM1MjQ3NikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19wdXNoX2Jsb2NrKToKCSAgRml4IG1lbSBsZWFrLCBzZW5kIG5ld3NlZ21lbnQgZXZlbnQgb24gY29ycmVjdGlvbiBwYWQKCSAgYXMgd2VsbCAoIzM1MjQ3NikuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpOgoJICBSZXN0b3JlIG9yaWdpbmFsIGF1dGhvciAob24gU2ViYXN0aWFuJ3MgcmVxdWVzdCkuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZ3N0LXBsdWdpbnMtYmFkLnN1cHA6CgkgIEFkZCAoc28gZmFyIGVtcHR5KSBzdXBwcmVzc2lvbiBmaWxlIGZvciAtYmFkLiBSZW1vdmUKCSAgd2F2cGFja2VuYyB0ZXN0IGZyb20gVkFMR1JJTkRfVE9fRklYIG5vdyB0aGF0IHRoZSBsZWFrCgkgIGlzIGZpeGVkLgoKMjAwNi0wOC0yMyAwOToyMjowNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgdW5pdCB0ZXN0cyBmb3Igd2F2cGFjayBlbGVtZW50cyAoIzM1MjQ3NikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOiAoc2V0dXBfd2F2cGFja2RlYyksCgkgIChjbGVhbnVwX3dhdnBhY2tkZWMpLCAoR1NUX1NUQVJUX1RFU1QpLCAod2F2cGFja2RlY19zdWl0ZSksIChtYWluKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6IChzZXR1cF93YXZwYWNrZW5jKSwKCSAgKGNsZWFudXBfd2F2cGFja2VuYyksIChHU1RfU1RBUlRfVEVTVCksICh3YXZwYWNrZW5jX3N1aXRlKSwgKG1haW4pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOiAod2F2cGFja3BhcnNlX2ZvdW5kX3BhZCksCgkgIChzZXR1cF93YXZwYWNrcGFyc2UpLCAoY2xlYW51cF93YXZwYWNrcGFyc2UpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAod2F2cGFja3BhcnNlX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3Igd2F2cGFjayBlbGVtZW50cyAoIzM1MjQ3NikuCgoyMDA2LTA4LTIzIDA4OjUyOjUwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgZG9jcyBmb3Igd2F2cGFjayBlbGVtZW50cyAoIzM1MjQ3NikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBBZGQgZG9jcyBmb3Igd2F2cGFjayBlbGVtZW50cyAoIzM1MjQ3NikuCgoyMDA2LTA4LTIyIDIwOjM5OjI2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBGaXhlZCBxdWVyeSBzaXplIHRvIHdvcmsgd2l0aCBkcml2ZXJzIHRoYXQgdXNlcyBpbnRlcm1lZGlhdGUgc3RlcCBsaWtlICJ3aWR0aCAqIGhlaWdodCIgdG8gZmluZCBjbG9zZXN0IHNpemUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBxdWVyeSBzaXplIHRvIHdvcmsgd2l0aCBkcml2ZXJzIHRoYXQgdXNlcyBpbnRlcm1lZGlhdGUgc3RlcCBsaWtlICJ3aWR0aCAqIGhlaWdodCIgdG8gZmluZCBjbG9zZXN0IHNpemUuCgoyMDA2LTA4LTIxIDE5OjAyOjEzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIG1vdmUgZ2RwIHBsdWdpbiB0byBnb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QvZ2RwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9nZHAvZ3N0Z2RwLmM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgbW92ZSBnZHAgcGx1Z2luIHRvIGdvb2QuCgoyMDA2LTA4LTIxIDE2OjI0OjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBTb21lIG1vcmUgY29uc3RpZmljYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9wYXJzZSksCgkgIChxdGRlbXV4X25vZGVfZHVtcF9mb3JlYWNoKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpLCAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgU29tZSBtb3JlIGNvbnN0aWZpY2F0aW9uLgoJICBGaXggc29tZSBwYWxldHRlZCBkYXRhIGZvcm1hdHMgYWdhaW4uCgkgIEZpeCB1bGF3L2FsYXcgaW4gcXQuCgkgIFNldCBjb3JyZWN0IGNhcHMgZm9yIHJhdyBSR0IuCgkgIEFkZCBzdXBwb3J0IGZvciB5dXYyLCB3aGljaCBpcyBsaWtlIFl1djIuCgkgIEFkZCBzdXBwb3J0IGZvciByYXcgYXVkaW8gd2l0aCB0aGUgTk9ORSBmb3VyY2MsIHdoaWNoIGlzIGxpa2UgcmF3LgoKMjAwNi0wOC0yMSAxNjoyMTowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9nc20vZ3N0Z3NtLmM6IE1ha2UgcmFuayBQUklNQVJZIG5vdyB0aGF0IEdTTSBzZWVtcyB0byB3b3JrIGZpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nc20vZ3N0Z3NtLmM6IChwbHVnaW5faW5pdCk6CgkgIE1ha2UgcmFuayBQUklNQVJZIG5vdyB0aGF0IEdTTSBzZWVtcyB0byB3b3JrIGZpbmUuCgoyMDA2LTA4LTIxIDEzOjU5OjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svOiBNb3JlIGNsZWFuLXVwczogdXNlIHNob3J0ZXIgdmFyaWFibGUgbmFtZXMgdG8gbWFrZSBjb2RlIGVhc2llciB0byByZWFkOyBwcmVmaXggc3RydWN0dXJlcyB3ZSBkZWZpbmUgd2l0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19maW5hbGl6ZSksIChnc3Rfd2F2cGFja19lbmNfc2lua19zZXRfY2FwcyksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksIChnc3Rfd2F2cGFja19lbmNfZm9ybWF0X3NhbXBsZXMpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3B1c2hfYmxvY2spLCAoZ3N0X3dhdnBhY2tfZW5jX2NoYWluKSwKCSAgKGdzdF93YXZwYWNrX2VuY19yZXdyaXRlX2ZpcnN0X2Jsb2NrKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zaW5rX2V2ZW50KSwgKGdzdF93YXZwYWNrX2VuY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF9wcm9wZXJ0eSksIChnc3Rfd2F2cGFja19lbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpLCAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luaXQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfZ2V0X3Vwc3RyZWFtX2xlbmd0aCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKToKCSAgTW9yZSBjbGVhbi11cHM6IHVzZSBzaG9ydGVyIHZhcmlhYmxlIG5hbWVzIHRvIG1ha2UgY29kZSBlYXNpZXIgdG8KCSAgcmVhZDsgcHJlZml4IHN0cnVjdHVyZXMgd2UgZGVmaW5lIHdpdGggJ0dzdCcgdG8gbWFrZSBpdCBjbGVhcmVyCgkgIHdoZXJlIHRoZXkgY29tZSBmcm9tLgoKMjAwNi0wOC0yMSAxMzoyNjozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogRml4IGNhcHMgc2V0IG9uIGJ1ZmZlcnMgYW5kIHRlbXBsYXRlIGNhcHMgKG91dHB1dCBpcyBmcmFtZWQpIGFuZCBtYWtlIHRoZW0gbWF0Y2ggKCMzNTE2Ni4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksIChnc3Rfd2F2cGFja19lbmNfcHVzaF9ibG9jayksCgkgIChnc3Rfd2F2cGFja19lbmNfY2hhaW4pLCAoZ3N0X3dhdnBhY2tfZW5jX3Jld3JpdGVfZmlyc3RfYmxvY2spLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NpbmtfZXZlbnQpOgoJICBGaXggY2FwcyBzZXQgb24gYnVmZmVycyBhbmQgdGVtcGxhdGUgY2FwcyAob3V0cHV0IGlzIGZyYW1lZCkKCSAgYW5kIG1ha2UgdGhlbSBtYXRjaCAoIzM1MTY2Myk7IHVzZSBHU1RfV0FSTklOR19PQkpFQ1QgaW5zdGVhZCBvZgoJICBHU1RfRUxFTUVOVF9XQVJOSU5HOyBzaW1wbGlmeSBwdXNoX2Jsb2NrKCk7IGRvIHNvbWUgc21hbGwKCSAgY2xlYW4tdXBzIGhlcmUgYW5kIHRoZXJlOyBmaXggbWVtbGVhayAoIzM1MTY2MykuCgoyMDA2LTA4LTIwIDEzOjA1OjQzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXVkaW9jb252ZXJ0L2dzdGF1ZGlvY29udmVydC5jOiBMb3dlciBkZWJ1ZywgdXNlIGdfYXNzZXJ0IGluIF9nZXRfdW5pdF9zaXplCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvZ3N0YXVkaW9jb252ZXJ0LmM6CgkgIChnc3RfYXVkaW9fY29udmVydF9nZXRfdW5pdF9zaXplKSwgKHNldF9zdHJ1Y3R1cmVfd2lkdGhzKToKCSAgTG93ZXIgZGVidWcsIHVzZSBnX2Fzc2VydCBpbiBfZ2V0X3VuaXRfc2l6ZQoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKGF1ZGlvcmVzYW1wbGVfZ2V0X3VuaXRfc2l6ZSk6CgkgICogZ3N0L2ZmbXBlZ2NvbG9yc3BhY2UvZ3N0ZmZtcGVnY29sb3JzcGFjZS5jOgoJICAoZ3N0X2ZmbXBlZ2NzcF9nZXRfdW5pdF9zaXplKToKCSAgKiBnc3QvdmlkZW9zY2FsZS9nc3R2aWRlb3NjYWxlLmM6IChnc3RfdmlkZW9fc2NhbGVfZ2V0X3VuaXRfc2l6ZSk6CgkgIHVzZSBnX2Fzc2VydCBpbiBfZ2V0X3VuaXRfc2l6ZQoKMjAwNi0wOC0xOCAyMTozOTowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IEZpeCByZXN5bmNpbmcgaW4gcHVzaCBtb2RlIG5vdCBzdG9wcGluZyByZS1zeW5jaW5nIGF0IGVtYmVkZGVkIHplcm9lczsgc2tpcCBnYXJiYWdlIGJlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2lua19ldmVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9nZXRfdXBzdHJlYW1fbGVuZ3RoKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2ZpbmRfbWFya2VyKSwgKGdzdF93YXZwYWNrX3BhcnNlX3Jlc3luY19sb29wKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApLCAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzeW5jX2FkYXB0ZXIpOgoJICBGaXggcmVzeW5jaW5nIGluIHB1c2ggbW9kZSBub3Qgc3RvcHBpbmcgcmUtc3luY2luZyBhdCBlbWJlZGRlZAoJICB6ZXJvZXM7IHNraXAgZ2FyYmFnZSBiZXR3ZWVuIGZyYW1lcyBpbiBwdWxsIG1vZGUgYXMgd2VsbCBpZgoJICBuZWNlc3Nhcnk7IHVzZSBnc3RfcGFkX3F1ZXJ5X3BlZXJfZHVyYXRpb24oKTsgcHVzaCBFT1MgYW5kCgkgIE5FV1NFR01FTlQgZXZlbnQgaW4gcmlnaHQgZGlyZWN0aW9uICgjMzUxNjU5KS4KCjIwMDYtMDgtMTYgMTY6NTA6MDAgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IE1ha2UgbGFkc3BhIGVsZW1lbnRzIHJldXNhYmxlLiBGaXhlcyAjMzUwMDA2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFuZHkgV2luZ28gPHdpbmdvIGF0IHBvYm94IGRvdCBjb20+CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldHVwKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3N0YXJ0KSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3N0b3ApLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2xlYW51cCksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Blbl9idWZmZXIpLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZmx1c2gpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZG9fcHVsbHMpLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZG9fcHVzaGVzKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NoYW5nZV9zdGF0ZSk6CgkgIE1ha2UgbGFkc3BhIGVsZW1lbnRzIHJldXNhYmxlLiBGaXhlcyAjMzUwMDA2LgoKMjAwNi0wOC0xNiAxNTozMzoxMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6IENvbnZlcnQgJyAnIGludG8gJ18nLiBUcnkgdG8ga2VlcCBhcyBtYW55IGNoYXJhY3RlcnMgaW4gdGhlIHBhZHRlbXBsYXRlIG5hbWVzIGFzIHBvc3NpYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOiAoZ3N0X2xhZHNwYV9iYXNlX2luaXQpOgoJICBDb252ZXJ0ICcgJyBpbnRvICdfJy4gVHJ5IHRvIGtlZXAgYXMgbWFueSBjaGFyYWN0ZXJzIGluIHRoZSBwYWR0ZW1wbGF0ZQoJICBuYW1lcyBhcyBwb3NzaWJsZS4KCjIwMDYtMDgtMTYgMTQ6NDc6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiBBIHB1c2goKSBnaXZlcyBhd2F5IG91ciByZWZjb3VudCBzbyB3ZSBzaG91bGQgbm90IHVzZSB0aGUgYnVmZmVyIG9uIHRoZSBwZW4gYW55bW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogKGdzdF9zaWduYWxfcHJvY2Vzc29yX2ZsdXNoKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2RvX3B1c2hlcyk6CgkgIEEgcHVzaCgpIGdpdmVzIGF3YXkgb3VyIHJlZmNvdW50IHNvIHdlIHNob3VsZCBub3QgdXNlIHRoZSBidWZmZXIgb24gdGhlCgkgIHBlbiBhbnltb3JlLgoKMjAwNi0wOC0xNiAxMDo0MDowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBJbiBwdXNoIG1vZGUsIHJlLXN5bmMgdG8gbmV4dCB3YXZwYWNrIGhlYWRlciBpZiBzeW5jIGlzIGxvc3QgKCMzNTE1NTcpLiBBbHNvIHVzZSBoeXBoZW5zIGluc3RlYWQgb2YgdW5kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3Jlc3luY19hZGFwdGVyKSwgKGdzdF93YXZwYWNrX3BhcnNlX2NoYWluKToKCSAgSW4gcHVzaCBtb2RlLCByZS1zeW5jIHRvIG5leHQgd2F2cGFjayBoZWFkZXIgaWYgc3luYyBpcyBsb3N0CgkgICgjMzUxNTU3KS4gQWxzbyB1c2UgaHlwaGVucyBpbnN0ZWFkIG9mIHVuZGVyc2NvcmVzIGluCgkgIEdPYmplY3QgcHJvcGVydHkgbmFtZXMuCgoyMDA2LTA4LTE1IDIwOjI5OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuKjogTWFrZSB3YXZwYWNrcGFyc2UgYWxzbyB3b3JrIGluIHB1c2gtbW9kZSAobm90IHNlZWthYmxlIHlldCB0aG91Z2gpOyBzb21lIHNtYWxsIGNsZWFuLXUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KSwgKGdzdF93YXZwYWNrX3BhcnNlX2dldF9zcmNfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NpbmtfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9wdXNoX2J1ZmZlciksIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NoYWluKSwgKGdzdF93YXZwYWNrX3BhcnNlX3NpbmtfYWN0aXZhdGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2lua19hY3RpdmF0ZV9wdWxsKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgTWFrZSB3YXZwYWNrcGFyc2UgYWxzbyB3b3JrIGluIHB1c2gtbW9kZSAobm90IHNlZWthYmxlIHlldCB0aG91Z2gpOwoJICBzb21lIHNtYWxsIGNsZWFuLXVwcyBhbG9uZyB0aGUgd2F5OyBhZGQgc3VwcG9ydCBmb3IgU0VFS0lORyBxdWVyeQoJICBhbmQgcXVlcnkgdHlwZXMgZnVuY3Rpb24uICgjMzUxNDk1KS4KCjIwMDYtMDgtMTUgMTk6Mjk6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBGaXggbGVha3MgKCMzNTE1MDIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6IChnc3RfZmFtZWVuY19nZXRfcHJvcGVydHkpOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlX3NpbmtfZ2V0X3Byb3BlcnR5KToKCSAgRml4IGxlYWtzICgjMzUxNTAyKS4KCjIwMDYtMDgtMTQgMTA6MDY6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEV4dHJhY3QgYWxsIHJlZmVyZW5jZXMvcmVkaXJlY3Rpb25zIGlmIHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUgYW5kIHNvcnQgdGhlbTsgYWxzbyBleHRyYWN0IG1pbmkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9yZWRpcmVjdHNfc29ydF9mdW5jKSwKCSAgKHF0ZGVtdXhfcHJvY2Vzc19yZWRpcmVjdHMpLCAocXRkZW11eF9wYXJzZV90cmVlKToKCSAgRXh0cmFjdCBhbGwgcmVmZXJlbmNlcy9yZWRpcmVjdGlvbnMgaWYgdGhlcmUgaXMgbW9yZQoJICB0aGFuIG9uZSBhbmQgc29ydCB0aGVtOyBhbHNvIGV4dHJhY3QgbWluaW11bSByZXF1aXJlZAoJICBiaXRyYXRlIGluZm9ybWF0aW9uIGlmIGF2YWlsYWJsZS4gKCMzNTAzOTkpCgoyMDA2LTA4LTEwIDE3OjA5OjEwICswMDAwICBNaWNoYWwgQmVuZXMgPG1pY2hhbC5iZW5lc0BpdG9uaXMudHY+CgoJICBleHQvZmFhYy9nc3RmYWFjLmM6IEJpdHJhdGUgaW4gdGhlIGZhYWMgc3RydWN0dXJlIGlzIHBlciBvdXRwdXQgY2hhbm5lbCwgbm90IHRvdGFsIGJpdHJhdGUgKCMzNTA3NDEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1pY2hhbCBCZW5lcyAgPG1pY2hhbC5iZW5lcyBhdCBpdG9uaXMgdHY+CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfY29uZmlndXJlX3NvdXJjZV9wYWQpOgoJICBCaXRyYXRlIGluIHRoZSBmYWFjIHN0cnVjdHVyZSBpcyBwZXIgb3V0cHV0IGNoYW5uZWwsCgkgIG5vdCB0b3RhbCBiaXRyYXRlICgjMzUwNzQxKS4KCjIwMDYtMDgtMDkgMTc6NDE6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQveHZpZC9nc3R4dmlkZW5jLmM6IEZpeCBHU1RfRUxFTUVOVF9FUlJPUiB1c2FnZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOiAoZ3N0X3h2aWRlbmNfY2hhaW4pOgoJICBGaXggR1NUX0VMRU1FTlRfRVJST1IgdXNhZ2UuCgoyMDA2LTA4LTA5IDEwOjQ1OjMyICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgZml4ZWQgdXAgYW5kIGNsZWFuZWQgdXAgdGhlIC1iYWQgc3BlYyBmaWxlIHRvIGhhdmUgcHJvcGVyIHRlc3RzIGZvciB3aGF0cyBpbnN0YWxsZWQgYW5kIGl0ZW1zIHB1dCBpbiBjb3JyZWN0IGNhdGVnb3JpZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXhlZCB1cCBhbmQgY2xlYW5lZCB1cCB0aGUgLWJhZCBzcGVjIGZpbGUgdG8gaGF2ZSBwcm9wZXIgdGVzdHMgZm9yIHdoYXRzIGluc3RhbGxlZCBhbmQgaXRlbXMgcHV0IGluIGNvcnJlY3QgY2F0ZWdvcmllcy4KCjIwMDYtMDgtMDggMTQ6NTU6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBzaWxseSB0eXBvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyZWUpOgoJICBGaXggc2lsbHkgdHlwby4KCjIwMDYtMDgtMDggMTM6NTc6MjkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiBJIGZvcmdvdCB0byBpbmNsdWRlIHRoZSBmaWxlIGNvbnRhaW5pbmcgdGhlICNkZWZpbmUgOikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKGdkcGRlcGF5X3N1aXRlKToKCSAgSSBmb3Jnb3QgdG8gaW5jbHVkZSB0aGUgZmlsZSBjb250YWluaW5nIHRoZSAjZGVmaW5lIDopCgkgIE5vdyBpbmNsdWRlcyAiY29uZmlnLmgiCgoyMDA2LTA4LTA4IDEzOjQ1OjQ0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogSWdub3JlIHRlc3Qga25vd24gdG8gZmFpbCBvbiBQUEM2NC4gU2VlICMzNDgxMTQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChnZHBkZXBheV9zdWl0ZSk6CgkgIElnbm9yZSB0ZXN0IGtub3duIHRvIGZhaWwgb24gUFBDNjQuIFNlZSAjMzQ4MTE0LgoKMjAwNi0wOC0wNCAyMTowNDo1NSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBBbGxvdyBIVFRQIHJlZGlyZWN0IChIVFRQIHN0YXR1cyBjb2RlIDMwMikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBbGxvdyBIVFRQIHJlZGlyZWN0IChIVFRQIHN0YXR1cyBjb2RlIDMwMikuCgoyMDA2LTA4LTA0IDEzOjIwOjIzICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiBGaXggZXZlbnQgcGFyc2luZyBieSBnZHBkZXBheS4gIEZpeGVzICMzNDk5MTYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA4LTA0ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9jaGFpbik6CgkgIEZpeCBldmVudCBwYXJzaW5nIGJ5IGdkcGRlcGF5LiAgRml4ZXMgIzM0OTkxNi4KCjIwMDYtMDgtMDQgMTE6Mzg6NTQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmg6IEFkZCBpbmZyYXN0cnVjdHVyZSBmb3Igc3RvcmluZyB3aGV0aGVyIGEgcHJvY2Vzc29yIGNhbiB3b3JrIGluIHBsYWNlIG9yIG5vdCwgYW5kIGZvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wOC0wNCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5oOiBBZGQgaW5mcmFzdHJ1Y3R1cmUgZm9yIHN0b3JpbmcKCSAgd2hldGhlciBhIHByb2Nlc3NvciBjYW4gd29yayBpbiBwbGFjZSBvciBub3QsIGFuZCBmb3Iga2VlcGluZwoJICB0cmFjayBvZiBpdHMgc3RhdGUuIENoYW5nZSB0aGUgRmxvd1JldHVybiBpbnN0YW5jZSB2YXJpYWJsZSBmcm9tCgkgICJzdGF0ZSIgdG8gImZsb3dfc3RhdGUiLCBhbGwgY2FsbGVycyBjaGFuZ2VkLgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldHVwKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3RhcnQsIGdzdF9zaWduYWxfcHJvY2Vzc29yX3N0b3ApCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jbGVhbnVwKTogTmV3IGZ1bmN0aW9ucyB0byBtYW5hZ2UgdGhlCgkgIHByb2Nlc3NvcidzIHN0YXRlLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2Fwcyk6IHN0YXJ0KCkgYXMgd2VsbCBhcyBzZXR1cCgpIGhlcmUuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcmVwYXJlKTogUmVzcGVjdCBDQU5fUFJPQ0VTU19JTl9QTEFDRS4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NoYW5nZV9zdGF0ZSk6IFN0b3AgYW5kIGNsZWFudXAgdGhlCgkgIHByb2Nlc3NvciBhcyB3ZSBnbyB0byBOVUxMLgoJICAqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmMgKGdzdF9sYWRzcGFfYmFzZV9pbml0KTogUmV1c2UgYnVmZmVycyBpZgoJICBJTlBMQUNFX0JST0tFTiBpcyBub3Qgc2V0LgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3ByZXBhcmUpOgoJICBEbyB0aGUgYWxsb2NfYnVmZmVyIGluIGJ5dGVzLCBub3QgZnJhbWVzLgoKMjAwNi0wOC0wNCAwOToyMDoyNiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgQlBCCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3JjX2FjdGl2YXRlX3B1bGwpOiBCUEIKCjIwMDYtMDgtMDQgMDk6MDU6NTMgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcmVwYXJlKSAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wOC0wNCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJlcGFyZSkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3VwZGF0ZV9pbnB1dHMpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzLCBnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wZW5fYnVmZmVyKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZmx1c2gpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zaW5rX2FjdGl2YXRlX3B1c2gpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zcmNfYWN0aXZhdGVfcHVsbCkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NoYW5nZV9zdGF0ZSk6IFJlbW92ZSB0aGUgbGFzdCBvZiB0aGUgY29kZQoJICB0aGF0IGFzc3VtZXMgdGhhdCB3ZSBwcm9jZXNzIHdob2xlIGJ1ZmZlcnMgYXQgYSB0aW1lLiBGaXggc29tZQoJICBkZWJ1Z2dpbmcuIFNlZW1zIHRvIHdvcmsgbm93IGluIHNvbWUgY2FzZXMuCgoyMDA2LTA4LTAzIDE0OjQ4OjIyICswMDAwICBjYXNjYXJkbyBhdCBob2xvc2NvcGlvIGRvdCBjb20gPGNhc2NhcmRvQGhvbG9zY29waW8uY29tPgoKCSAgZXh0L01ha2VmaWxlLmFtOiBVc2UgcmlnaHQgdmFyaWFibGVzIHdoZW4gVVNFX1NQQyBpcyBkZWZpbmVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6ICBjYXNjYXJkbyBhdCBob2xvc2NvcGlvIGRvdCBjb20KCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIFVzZSByaWdodCB2YXJpYWJsZXMgd2hlbiBVU0VfU1BDIGlzIGRlZmluZWQuCgoyMDA2LTA4LTAyIDE2OjU2OjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiBEaXNhYmxlIHNlZWtpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfaW5pdCksCgkgIChnc3RfZ2RwX2RlcGF5X2ZpbmFsaXplKSwgKGdzdF9nZHBfZGVwYXlfc2lua19ldmVudCksCgkgIChnc3RfZ2RwX2RlcGF5X3NyY19ldmVudCksIChnc3RfZ2RwX2RlcGF5X2NoYWluKSwKCSAgKGdzdF9nZHBfZGVwYXlfY2hhbmdlX3N0YXRlKToKCSAgRGlzYWJsZSBzZWVraW5nLgoJICBTbWFsbCBjbGVhbnVwcy4KCSAgQ2xlYXIgYWRhcHRlciBvbiBkaXNjb250cy4KCSAgQ2xlYXIgY2FwcyB3aGVuIGdvaW5nIHRvIFJFQURZIGluc3RlYWQgb2YgTlVMTAoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9nZHBfcGF5X2luaXQpLCAoZ3N0X2dkcF9wYXlfZmluYWxpemUpLCAoZ3N0X2dkcF9wYXlfcmVzZXQpLAoJICAoZ3N0X2dkcF9idWZmZXJfZnJvbV9jYXBzKSwgKGdzdF9nZHBfcGF5X2J1ZmZlcl9mcm9tX2J1ZmZlciksCgkgIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2V2ZW50KSwgKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlciksCgkgIChnc3RfZ2RwX3F1ZXVlX2J1ZmZlciksIChnc3RfZ2RwX3BheV9jaGFpbiksCgkgIChnc3RfZ2RwX3BheV9zaW5rX2V2ZW50KSwgKGdzdF9nZHBfcGF5X3NyY19ldmVudCksCgkgIChnc3RfZ2RwX3BheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgIFJlc2V0IHBheWxvYWRlciB3aGVuIGdvaW5nIHRvIFJFQURZLgoJICBGaXggbGVha2VkIGJ1ZmZlcnMgaW4gLT5xdWV1ZSBvbiBwdXNoIGVycm9ycy4KCSAgRGlzYWJsZSBzZWVraW5nLgoJICBDb2RlIGNsZWFudXBzLgoJICBDcmVhdGUgcGFja2V0aXplciBpbiBfaW5pdCwgZnJlZSBpbiBfZmluYWxpemUuCgoyMDA2LTA3LTMxIDIyOjI3OjIyICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKTogRml4IG5mcmFtZXMtY2hvb3NpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA4LTAxICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpOgoJICBGaXggbmZyYW1lcy1jaG9vc2luZy4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2luaXQpOiBJbml0IHBlbmRpbmdfaW4gYW5kIHBlbmRpbmdfb3V0LgoKMjAwNi0wNy0zMSAyMjowMzowOSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfaW5pdCk6IE5vIG1vcmUgZGVmYXVsdCBzYW1wbGUgcmF0ZSwgYWx0aG91Z2ggd2UgbmV2ZXIgY2hlY2sgdGhhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA4LTAxICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2luaXQpOiBObwoJICBtb3JlIGRlZmF1bHQgc2FtcGxlIHJhdGUsIGFsdGhvdWdoIHdlIG5ldmVyIGNoZWNrIHRoYXQgdGhlIHNhbXBsZQoJICByYXRlIGFjdHVhbGx5IGdldHMgc2V0LiBTb21ldGhpbmcgZm9yIHRoZSBmdXR1cmUuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKTogU29tZSByZWZjb3VudCBmaXhlcywgZmxvdyBmaXhlcy4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2V2ZW50KTogUmVmY291bnQgZml4ZW4uCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKTogUHVsbCB0aGUgbnVtYmVyIG9mIGZyYW1lcyB0bwoJICBwcm9jZXNzIGZyb20gdGhlIHNpemVzIG9mIHRoZSBidWZmZXJzIGluIHRoZSBpbnB1dCBwZW5zLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcGVuX2J1ZmZlcik6IFJlbW92ZSBhbiBpbmNvcnJlY3QgRklYTUUgOikKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2RvX3B1bGxzKTogQWRkIGFuIG5mcmFtZXMgYXJndW1lbnQsIGFuZCB1c2UKCSAgaXQgaW5zdGVhZCBvZiBidWZmZXJfZnJhbWVzLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZ2V0cmFuZ2UpOiBSZWZjb3VudCBmaXhlbiwgcGFzcyBuZnJhbWVzIG9uCgkgIHRvIGRvX3B1bGxzLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2hhaW4pCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zaW5rX2FjdGl2YXRlX3B1c2gpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zcmNfYWN0aXZhdGVfcHVsbCk6ICBSZWZjb3VudCBmaXhlbi4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5oOiBObyBtb3JlIGJ1ZmZlcl9mcmFtZXMsIHlheS4KCjIwMDYtMDctMzEgMTk6NDQ6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IGRvbid0IHF1ZXJ5IGJ1ZmZlci1mcmFtZXMgZnJvbSBjYXBzLCBhZGQgbG90cyBvZiBkZWJ1Zy1sb2csIHRyeSBmaXggZm9yIGFzc2VydCAoIzM0OS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2FwcyksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKToKCSAgZG9uJ3QgcXVlcnkgYnVmZmVyLWZyYW1lcyBmcm9tIGNhcHMsIGFkZCBsb3RzIG9mIGRlYnVnLWxvZywKCSAgdHJ5IGZpeCBmb3IgYXNzZXJ0ICgjMzQ5MTg5KQoKMjAwNi0wNy0zMSAxNzoyOToyMiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IFBvc3QgYW4gZXJyb3IgbWVzc2FnZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDctMzEgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IChnc3RfZGZidmlkZW9zaW5rX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2J1ZmZlcl9hbGxvYyk6IFBvc3QgYW4gZXJyb3IgbWVzc2FnZS4KCjIwMDYtMDctMzEgMTY6NTA6MjcgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiBEb24ndCB0cnkgYWxsb2NhdGluZyBpZiB3ZSBhcmUgbm90IHNldHVwIHlldC4gRmFpbCBjaGFuZ2luZyBzdGF0ZSBpZiBzZXR1cCBmYWlscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDctMzEgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IChnc3RfZGZidmlkZW9zaW5rX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2J1ZmZlcl9hbGxvYyk6IERvbid0IHRyeSBhbGxvY2F0aW5nIGlmIHdlIGFyZQoJICBub3QKCSAgc2V0dXAgeWV0LiBGYWlsIGNoYW5naW5nIHN0YXRlIGlmIHNldHVwIGZhaWxzLgoKMjAwNi0wNy0zMSAwODo0ODozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogQ29uc3VtZSBhbGwgZXZlbnRzIGV4Y2VwdCBFT1MgYmVjYXVzZSB3ZSBnZW5lcmF0ZSBldmVudHMgZnJvbSB0aGUgZ2RwIHBheWxvYWQgaW5zdGVhZC4gRml4ZXMgIy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2luaXQpLAoJICAoZ3N0X2dkcF9kZXBheV9zaW5rX2V2ZW50KSwgKGdzdF9nZHBfZGVwYXlfY2hhaW4pOgoJICBDb25zdW1lIGFsbCBldmVudHMgZXhjZXB0IEVPUyBiZWNhdXNlIHdlIGdlbmVyYXRlIGV2ZW50cyBmcm9tCgkgIHRoZSBnZHAgcGF5bG9hZCBpbnN0ZWFkLiBGaXhlcyAjMzQ5MjA0CgoyMDA2LTA3LTI5IDE2OjMyOjI2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiBBZGQgZGVidWdzIGxvZ3MgaGVyZSBhbmQgdGhlcmUsIGFkZCBtb3JlIGVycm9yIGhhbmRsaW5nLCBhZGQgc29tZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfYWRkX3BhZF9mcm9tX3RlbXBsYXRlKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2luaXQpLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2FwcyksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Blbl9idWZmZXIpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZG9fcHVsbHMpLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZ2V0cmFuZ2UpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2lua19hY3RpdmF0ZV9wdXNoKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NyY19hY3RpdmF0ZV9wdWxsKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NoYW5nZV9zdGF0ZSk6CgkgIEFkZCBkZWJ1Z3MgbG9ncyBoZXJlIGFuZCB0aGVyZSwgYWRkIG1vcmUgZXJyb3IgaGFuZGxpbmcsIGFkZCBzb21lCgkgIEZJWE1FIGNvbW1lbnRzLCBmaWxlZCAjMzQ5MTg5CgoyMDA2LTA3LTI4IDE3OjE3OjI0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogRG9uJ3QgbGVhayByZWZlcmVuY2VzIHRvIHRoZSBpbmNvbWluZyBjYXBzLiBDbGVhbiB0aGVtIHVwIHdoZW4gc3RvcHBpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogKGF1ZGlvcmVzYW1wbGVfc3RvcCksCgkgIChhdWRpb3Jlc2FtcGxlX3NldF9jYXBzKToKCSAgRG9uJ3QgbGVhayByZWZlcmVuY2VzIHRvIHRoZSBpbmNvbWluZyBjYXBzLiBDbGVhbiB0aGVtIHVwIHdoZW4KCSAgc3RvcHBpbmcuCgkgICogZ3N0L3ZpZGVvc2NhbGUvZ3N0dmlkZW9zY2FsZS5jOiAoZ3N0X3ZpZGVvX3NjYWxlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvX3NjYWxlX2ZpbmFsaXplKToKCSAgRG9uJ3QgbGVhayBvdXIgdGVtcG9yYXJ5IHBpeGVsIGJ1ZmZlci4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOiAocnVuX3BpcGVsaW5lKSwKCSAgKEdTVF9TVEFSVF9URVNUKSwgKHNpbXBsZV9sYXVuY2hfbGluZXNfc3VpdGUpOgoJICBGaXggbGVha3MgYW5kIHJlLWVuYWJsZSB0aGUgdGVzdCBmb3IgdmFsZ3JpbmQgY2hlY2tpbmcuCgoyMDA2LTA3LTI4IDEyOjE0OjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3h2aWQvZ3N0eHZpZGRlYy4qOiBDbGVhbi11cHMgYW5kIGNvZGUgcmVmbG93cy4gUGFzcyByZXR1cm4gdmFsdWUgZnJvbSBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpIHVwc3RyZWFtIGFtb25nIG90aGVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzogKGdzdF94dmlkZGVjX2luaXQpLCAoZ3N0X3h2aWRkZWNfcmVzZXQpLAoJICAoZ3N0X3h2aWRkZWNfdW5zZXQpLCAoZ3N0X3h2aWRkZWNfaGFuZGxlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3h2aWRkZWNfc2V0dXApLCAoZ3N0X3h2aWRkZWNfbmVnb3RpYXRlKSwgKGdzdF94dmlkZGVjX2NoYWluKSwKCSAgKGdzdF94dmlkZGVjX2ZsdXNoX2J1ZmZlcnMpLCAoZ3N0X3h2aWRkZWNfc3JjX2dldGNhcHMpLAoJICAoZ3N0X3h2aWRkZWNfc2V0Y2FwcyksIChnc3RfeHZpZGRlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuaDoKCSAgQ2xlYW4tdXBzIGFuZCBjb2RlIHJlZmxvd3MuIFBhc3MgcmV0dXJuIHZhbHVlIGZyb20KCSAgZ3N0X3BhZF9hbGxvY19idWZmZXIoKSB1cHN0cmVhbSBhbW9uZyBvdGhlciB0aGluZ3MuIEFsc28gY2hlY2sKCSAgZm9yIE5VTEwgR1ZhbHVlIGJlZm9yZSB1c2luZyBHU1RfVkFMVUVfVFlQRSBtYWNybyAoIzM0ODk3NikuCgkgIE1hc3MgcmVuYW1lIG9mIHh2aWRkZWMgLT4gZGVjIHZhcmlhYmxlIGZvciBiZXR0ZXIKCSAgY29kZSByZWFkYWJpbGl0eS4KCjIwMDYtMDctMjggMTA6MTk6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQveHZpZC9nc3R4dmlkLmM6IEZpeCBzaXplIGNhbGN1bGF0aW9uIGZvciBJNDIwL1lWMTIuIEZpeGVzICMzNDg5NzYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94dmlkL2dzdHh2aWQuYzogKGdzdF94dmlkX2ltYWdlX2ZpbGwpOgoJICBGaXggc2l6ZSBjYWxjdWxhdGlvbiBmb3IgSTQyMC9ZVjEyLiBGaXhlcyAjMzQ4OTc2LgoKMjAwNi0wNy0yNyAxMDo1MDozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9nc20vOiBGaXggbmVnb3RpYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6IChnc3RfZ3NtZGVjX2luaXQpLAoJICAoZ3N0X2dzbWRlY19zaW5rX3NldGNhcHMpLCAoZ3N0X2dzbWRlY19zaW5rX2V2ZW50KToKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5jOiAoZ3N0X2dzbWVuY19pbml0KSwgKGdzdF9nc21lbmNfc2V0Y2Fwcyk6CgkgIEZpeCBuZWdvdGlhdGlvbi4KCjIwMDYtMDctMjYgMTA6NTI6MDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiBwcm94eWluZyBnZXQvc2V0IGNhcHMgaXMgdGhlIHdyb25nIHRoaW5nIHRvIGRvLCBzaW5jZSB3ZSByZWFsbHkgZG8gY2hhbmdlIGNhcHMgcXVpdGUgZnVuZGFtZW50Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfaW5pdCk6CgkgIHByb3h5aW5nIGdldC9zZXQgY2FwcyBpcyB0aGUgd3JvbmcgdGhpbmcgdG8gZG8sIHNpbmNlIHdlIHJlYWxseQoJICBkbyBjaGFuZ2UgY2FwcyBxdWl0ZSBmdW5kYW1lbnRhbGx5CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgcmVtb3ZlIGRlY2xhcmF0aW9uIG9mIGJ1ZmZlcnMsIGl0J3MgYWxyZWFkeSBkb25lIGluIGdzdGNoZWNrLmgKCjIwMDYtMDctMjQgMjE6NDM6MDYgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuKjogQWRkIGFuIGF0dGVudWF0aW9uIHByb3BlcnR5IHRoYXQgd2lsbCBkaXJlY3RseSBhdHRlbnVhdGUgdGhlIGRpcmVjdHNvdW5kIGJ1ZmZlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgQWRkIGFuIGF0dGVudWF0aW9uIHByb3BlcnR5IHRoYXQgd2lsbCBkaXJlY3RseSBhdHRlbnVhdGUgdGhlCgkgIGRpcmVjdHNvdW5kIGJ1ZmZlci4KCSAgQ2hhbmdlIHRoZSBzaXplIG9mIHRoZSBkaXJlY3Rzb3VuZCBzZWNvbmRhcnkgYnVmZmVyIHRvIGEgaGFsZiBzZWNvbmQuCgkgIEFkZCBtb3JlIGRlYnVnIGxvZ3MuCgkgIEFkZCBhIGxvY2sgdG8gcHJvdGVjdCBkc291bmQgYnVmZmVyIHdyaXRlIGFjY2Vzcy4KCSAgRml4IGEgYmFkIGltcGxlbWVudGF0aW9uIG9mIHJlc2V0LgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBBZGQgYSBrZWVwX2FzcGVjdF9yYXRpbyBwcm9wZXJ0eS4KCSAgRG8gbm90IHVzZSBvdmVybGF5IGlmIG5vdCBzdXBwb3J0ZWQuCgkgIEFkZCBtb3JlIGRlYnVnIGxvZ3MuCgkgIFJlbW92ZSBvdmVyd3JpdGUgb2YgV01fRVJBU0VCS0dORCBtZXNzYWdlIGhhbmRsaW5nLiBJdCB3YXMgbm90CgkgIHJlZHJhd2luZyBib3JkZXIgd2hlbiBrZWVwX2FzcGVjdF9yYXRpbyB3YXMgZW5hYmxlZC4KCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHVwZGF0ZSB2ZXJzaW9uIHdhaXRpbmcgYW4gYXV0by1nZW5lcmF0ZWQgY29uZmlnLmgKCjIwMDYtMDctMjMgMTE6NTI6MzQgKzAwMDAgIENocmlzIExlZSA8Y2xlZUBrZGUub3JnPgoKCSAgQWRkIGxpYm9wZW5zcGMtYmFzZWQgU1BDIGRlY29kZXIgZWxlbWVudCAoIzM0ODIyMCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQ2hyaXMgTGVlICA8Y2xlZSBhdCBrZGUgb3JnPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BjL2dzdHNwYy5jOiAoc3BjX25lZ290aWF0ZSksIChnc3Rfc3BjX2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X3NwY19kZWNfY2xhc3NfaW5pdCksIChnc3Rfc3BjX2RlY19pbml0KSwgKGdzdF9zcGNfZGVjX2NoYWluKSwKCSAgKGdzdF9zcGNfZGVjX3NpbmtfZXZlbnQpLCAoZ3N0X3NwY19kZWNfc3JjX2V2ZW50KSwKCSAgKGdzdF9zcGNfZGVjX3NyY19xdWVyeSksIChzcGNfcGxheSksIChzcGNfc2V0dXApLAoJICAoZ3N0X3NwY19kZWNfY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvc3BjL2dzdHNwYy5oOgoJICBBZGQgbGlib3BlbnNwYy1iYXNlZCBTUEMgZGVjb2RlciBlbGVtZW50ICgjMzQ4MjIwKS4KCjIwMDYtMDctMTkgMTQ6MzY6MDAgKzAwMDAgIE1hcnRpbiBTenVsZWNraSA8Y29tcGl6QHN1a2ltYXNoaXRhLmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogSWYgImRldmljZS1uYW1lIiBpcyByZXF1ZXN0ZWQgYW5kIHRoZSBkZXZpY2UgaXMgbm90IG9wZW4sIHRyeSB0byB0ZW1wb3JhcmlseSBvcGVuIGl0IHRvIG9idC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcnRpbiBTenVsZWNraQoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogKGdzdF92NGwyX29iamVjdF9nZXRfcHJvcGVydHlfaGVscGVyKToKCSAgSWYgImRldmljZS1uYW1lIiBpcyByZXF1ZXN0ZWQgYW5kIHRoZSBkZXZpY2UgaXMgbm90CgkgIG9wZW4sIHRyeSB0byB0ZW1wb3JhcmlseSBvcGVuIGl0IHRvIG9idGFpbiB0aGlzCgkgIGluZm9ybWF0aW9uICgjMzQyNDk0KS4KCjIwMDYtMDctMTkgMTE6NDc6MjAgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmaWxlCgoyMDA2LTA3LTE5IDExOjQzOjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L25zZi9uc2YuYzogUmVhbGx5IGZpeCBjb21waWxhdGlvbi4gQXBwYXJlbnRseSBpdCdzIG5vdCBlbm91Z2ggdG8ganVzdCBjaGVjayB0aGUgcmV0dXJuIHZhbHVlIGZvciBlcnJvcnMsIGJ1dCB3ZSBuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9uc2YvbnNmLmM6IChuc2ZfbG9hZCk6CgkgIFJlYWxseSBmaXggY29tcGlsYXRpb24uIEFwcGFyZW50bHkgaXQncyBub3QgZW5vdWdoIHRvCgkgIGp1c3QgY2hlY2sgdGhlIHJldHVybiB2YWx1ZSBmb3IgZXJyb3JzLCBidXQgd2UgbmVlZCB0bwoJICBjaGVjayBmb3Igc2hvcnQgcmVhZHMgYXMgd2VsbCAobm93IGlmIG9ubHkgd2UgaGFuZGxlZAoJICB0aGVtIHRvbyAuLi4pLiBGaXhlcyAjMzQ3OTM1LgoKMjAwNi0wNy0xOCAxODowNToxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogRml4IGNhcHMgYWZ0ZXIgcHJldmlvdXMgY2hhbmdlIHRvIGJ5dGUgb3JkZXIgZW5kaWFubmVzcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgRml4IGNhcHMgYWZ0ZXIgcHJldmlvdXMgY2hhbmdlIHRvIGJ5dGUgb3JkZXIgZW5kaWFubmVzcy4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NpbmtfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgUXVldWUgaW5jb21pbmcgZXZlbnRzIGlmIHRoZXJlJ3Mgbm8gc291cmNlIHBhZCB5ZXQgYW5kCgkgIHNlbmQgdGhlbSBkb3duc3RyZWFtIGxhdGVyIHdoZW4gdGhlIHBhZCBpcyB0aGVyZS4KCjIwMDYtMDctMTggMTY6NDc6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLio6IE91dHB1dCBhdWRpbyBpbiBuYXRpdmUgYnl0ZSBvcmRlciAod2hpY2ggaXMgYWxzbyBob3cgd2UgZ2V0IHNhbXBsZXMgZnJvbSB3YXZwYWNrKTsgb3V0cHUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2Zvcm1hdF9zYW1wbGVzKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGlwX291dGdvaW5nX2J1ZmZlciksIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICBPdXRwdXQgYXVkaW8gaW4gbmF0aXZlIGJ5dGUgb3JkZXIgKHdoaWNoIGlzIGFsc28gaG93IHdlIGdldAoJICBzYW1wbGVzIGZyb20gd2F2cGFjayk7IG91dHB1dCBzYW1wbGVzIHdpdGggMjEtMjQgYml0IGRlcHRoCgkgIHdpdGggMzIgYml0IHdpZHRoIChtYWtlcyB0aGluZ3MgZWFzaWVyIGZvciB1cykuCgoyMDA2LTA3LTE4IDE1OjUzOjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy4qOiBNb3JlIGNsZWFuLXVwczogcmVtb3ZlIG1vc3Qgb2YgdGhlIGRpc2Z1bmN0aW9uYWwgY29ycmVjdGlvbiBwYWQgc3R1ZmYgZm9yIG5vdywgaWYgaXQgZXZlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2ZpbmFsaXplKSwgKGdzdF93YXZwYWNrX2RlY19mb3JtYXRfc2FtcGxlcyksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xpcF9vdXRnb2luZ19idWZmZXIpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKSwKCSAgKGdzdF93YXZwYWNrX2RlY19zaW5rX2V2ZW50KSwgKGdzdF93YXZwYWNrX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgTW9yZSBjbGVhbi11cHM6IHJlbW92ZSBtb3N0IG9mIHRoZSBkaXNmdW5jdGlvbmFsIGNvcnJlY3Rpb24KCSAgcGFkIHN0dWZmIGZvciBub3csIGlmIGl0IGV2ZXIgZ2V0cyBpbXBsZW1lbnRlZCBhIGxvdCBvZiBzdHVmZgoJICB3aWxsIGhhdmUgdG8gYmUgcmV3cml0dGVuIGFueXdheTsgcmVkbyBjaGFpbiBmdW5jdGlvbiwgbW92ZQoJICBlcnJvcnMgdG8gZW5kLCBlcnJvciBvdXQgaW5zdGVhZCBvZiBnX2Fzc2VydCgpaW5nLiBBbHNvIHJlbmFtZQoJICBvdmVybHkgbG9uZyB2YXJpYWJsZSAnd2F2cGFja2RlYycgdG8ganVzdCAnZGVjJzsgbWlzY2VsbGFuZW91cwoJICBvdGhlciBzbWFsbCBzdHVmZi4KCjIwMDYtMDctMTggMTQ6MDg6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogQ2hlY2sgZm9yIHdhdnBhY2sgdmVyc2lvbiBhbmQgZGVmaW5lIFdBVlBBQ0tfT0xEX0FQSSBpZiBuZWNlc3NhcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2hlY2sgZm9yIHdhdnBhY2sgdmVyc2lvbiBhbmQgZGVmaW5lIFdBVlBBQ0tfT0xEX0FQSSBpZgoJICBuZWNlc3NhcnkuCgkgICogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5jOiAoZ3N0X3dhdnBhY2tfcmVhZF9oZWFkZXIpLAoJICAoZ3N0X3dhdnBhY2tfcmVhZF9tZXRhZGF0YSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2ZpbmFsaXplKSwgKGdzdF93YXZwYWNrX2RlY19mb3JtYXRfc2FtcGxlcyksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xpcF9vdXRnb2luZ19idWZmZXIpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKSwKCSAgKGdzdF93YXZwYWNrX2RlY19zaW5rX2V2ZW50KSwgKGdzdF93YXZwYWNrX2RlY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3JlcXVlc3RfbmV3X3BhZCksIChnc3Rfd2F2cGFja19kZWNfcGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfZmluYWxpemUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2ZpbmFsaXplKSwgKGdzdF93YXZwYWNrX3BhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfZ2V0X2VudHJ5X2Zyb21fc2FtcGxlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NjYW5fdG9fZmluZF9zYW1wbGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmg6CgkgIFBvcnQgdG8gbmV3L29mZmljaWFsIHdhdnBhY2sgQVBJLCBkb24ndCB1c2UgQVBJIHRoYXQgd2FzIGV4cG9ydGVkCgkgIGluIHdhdnBhY2sgaGVhZGVyIGZpbGVzIGFuZCBpbiB0aGUgbGliIGJ1dCBtZWFudCB0byBiZSBwcml2YXRlLCBhdAoJICBsZWFzdCBub3QgZm9yIHJlY2VudCB3YXZwYWNrIHZlcnNpb25zOyBtaXNjLiAnY2xlYW51cHMnICgjMzQ3NDQzKS4KCjIwMDYtMDctMTggMDk6MzY6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbnNmL25zZi5jOiBGaXggY29tcGlsYXRpb24gYnkgbm90IGlnbm9yaW5nIHJldHVybiB2YWx1ZXMgb2YgZnJlYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9uc2YvbnNmLmM6IChuc2ZfbG9hZCk6CgkgIEZpeCBjb21waWxhdGlvbiBieSBub3QgaWdub3JpbmcgcmV0dXJuIHZhbHVlcyBvZiBmcmVhZC4KCjIwMDYtMDctMTcgMTU6MDk6MzEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvOiBhZGRpbmcgbW9yZSBpbnNwZWN0IGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICBhZGRpbmcgbW9yZSBpbnNwZWN0IGRvY3MKCjIwMDYtMDctMTcgMTQ6NDM6NTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6IGFjdHVhbGx5IGNvbW1pdCBpbnNwZWN0YXRpb24gb2YgZ2RwIGVsZW1lbnQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkgIGFjdHVhbGx5IGNvbW1pdCBpbnNwZWN0YXRpb24gb2YgZ2RwIGVsZW1lbnQKCjIwMDYtMDctMTcgMTQ6MTc6NDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L2dkcC86IHJlbW92ZSBwYXJlbnRfY2xhc3Mgc2V0dGluZywgQk9JTEVSUExBVEUgZG9lcyB0aGlzIGZpeCB0eXBvIGluIGNvbW1lbnQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDctMTcgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgIDx0aG9tYXMgYXQgYXBlc3RhYXJ0IGRvdCBvcmc+CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9jbGFzc19pbml0KToKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfY2xhc3NfaW5pdCksCgkgIHJlbW92ZSBwYXJlbnRfY2xhc3Mgc2V0dGluZywgQk9JTEVSUExBVEUgZG9lcyB0aGlzCgkgIChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIpOgoJICBmaXggdHlwbyBpbiBjb21tZW50CgoyMDA2LTA3LTE3IDEwOjI1OjU3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBTdG9yZSBkdXJhdGlvbiBpbiB1aW50NjQgdG9vIGluc3RlYWQgb2YgY2xpcHBpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayksCgkgIChnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpOgoJICBTdG9yZSBkdXJhdGlvbiBpbiB1aW50NjQgdG9vIGluc3RlYWQgb2YgY2xpcHBpbmcuCgkgIFdoZW4gd2UgZG8gYSBrZXlmcmFtZSBzZWVrIGFuZCB0aGUgcmVxdWVzdGVkIHRpbWUgaXMgYXQgdGhlCgkgIGtleWZyYW1lLCBkb24ndCBzZWVrIGJhY2sgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUga2V5ZnJhbWUuCgkgIEZpeGVzICMzNDc0MzkuCgoyMDA2LTA3LTE2IDE0OjQ2OjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBEb24ndCBjcmFzaCBvbiBzbWFsbCBidWZmZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9zZXRjYXBzKSwgKGdzdF9mYWFkX3N5bmMpOgoJICBEb24ndCBjcmFzaCBvbiBzbWFsbCBidWZmZXJzLgoKMjAwNi0wNy0xNSAxMTo1NzowMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOiBSZXNldCBhZGFwdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6IChnc3RfaXZvcmJpc2ZpbGVfc2lua19hY3RpdmF0ZSk6CgkgIFJlc2V0IGFkYXB0ZXIuCgoyMDA2LTA3LTE1IDExOjUwOjI1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vOiBEbyBub3QgdXNlIGRlcHJlY2F0ZWQgZ3RrIGZ1bmN0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChtYWluKToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKG1haW4pOgoJICBEbyBub3QgdXNlIGRlcHJlY2F0ZWQgZ3RrIGZ1bmN0aW9ucy4KCjIwMDYtMDctMTQgMTA6MzQ6MzYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9NYWtlZmlsZS5hbToKCSAgYnVpbGQgYXMgYSBwbHVnaW4sIG5vdCBhIGxpYgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYnVpbGQgYXMgYSBwbHVnaW4sIG5vdCBhIGxpYgoKMjAwNi0wNy0xNCAwOToxMToxMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9uc2YvOiBSZW1vdmUgY3JhY2sgbWFsbG9jL2ZyZWUgcmVwbGFjZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgICogZ3N0L25zZi9tZW1ndWFyZC5jOgoJICAqIGdzdC9uc2YvbWVtZ3VhcmQuaDoKCSAgKiBnc3QvbnNmL3R5cGVzLmg6CgkgIFJlbW92ZSBjcmFjayBtYWxsb2MvZnJlZSByZXBsYWNlbWVudC4KCjIwMDYtMDctMTMgMTU6MjU6NTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZG9jcy9wbHVnaW5zLzogYWRkIG1vcmUgcGx1Z2lucyBhbmQgZWxlbWVudHMgdG8gZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBhZGQgbW9yZSBwbHVnaW5zIGFuZCBlbGVtZW50cyB0byBkb2NzCgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9jaGFpbik6CgkgIGZpeCBzZWdmYXVsdHMgZHVlIHRvIHdyb25nIGdfZnJlZQoJICBhZGQgZXhhbXBsZQoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGFkZCBleGFtcGxlCgoyMDA2LTA3LTEzIDE1OjIyOjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L25zZi9NYWtlZmlsZS5hbTogRml4IGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICBGaXggYnVpbGQuCgoyMDA2LTA3LTEzIDE1OjIyOjIwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdsaW1hZ2VzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsdmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICByZW1vdmUgc2RsdmlkZW9zaW5rIHBsdWdpbiBhbmQgdXBkYXRlIHRoZSByZXN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgc2RsdmlkZW9zaW5rIHBsdWdpbiBhbmQgdXBkYXRlIHRoZSByZXN0CgoyMDA2LTA3LTEzIDE1OjA3OjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgQWRkZWQgTlNGIGRlY29kZXIgcGx1Z2luLiBGaXhlcyAxNTExOTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaGVzIGJ5OiBKb2hhbiBEYWhsaW4gPGpvaGFuIGF0IGdub21lIGRvdCBvcmc+CgkgIFJvbmFsZCBCdWx0amUgPHJidWx0amUgYXQgcm9uYWxkIGRvdCBiaXRmcmVhayBkb3QgbmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9uc2YvZGlzNjUwMi5oOgoJICAqIGdzdC9uc2YvZmRzX3NuZC5jOgoJICAqIGdzdC9uc2YvZmRzX3NuZC5oOgoJICAqIGdzdC9uc2YvZm1vcGwuYzoKCSAgKiBnc3QvbnNmL2Ztb3BsLmg6CgkgICogZ3N0L25zZi9nc3Ruc2YuYzoKCSAgKiBnc3QvbnNmL2dzdG5zZi5oOgoJICAqIGdzdC9uc2YvbG9nLmM6CgkgICogZ3N0L25zZi9sb2cuaDoKCSAgKiBnc3QvbnNmL21lbWd1YXJkLmM6CgkgICogZ3N0L25zZi9tZW1ndWFyZC5oOgoJICAqIGdzdC9uc2YvbW1jNV9zbmQuYzoKCSAgKiBnc3QvbnNmL21tYzVfc25kLmg6CgkgICogZ3N0L25zZi9uZXM2NTAyLmM6CgkgICogZ3N0L25zZi9uZXM2NTAyLmg6CgkgICogZ3N0L25zZi9uZXNfYXB1LmM6CgkgICogZ3N0L25zZi9uZXNfYXB1Lmg6CgkgICogZ3N0L25zZi9uc2YuYzoKCSAgKiBnc3QvbnNmL25zZi5oOgoJICAqIGdzdC9uc2Yvb3NkLmg6CgkgICogZ3N0L25zZi90eXBlcy5oOgoJICAqIGdzdC9uc2YvdnJjN19zbmQuYzoKCSAgKiBnc3QvbnNmL3ZyYzdfc25kLmg6CgkgICogZ3N0L25zZi92cmN2aXNuZC5jOgoJICAqIGdzdC9uc2YvdnJjdmlzbmQuaDoKCSAgQWRkZWQgTlNGIGRlY29kZXIgcGx1Z2luLiBGaXhlcyAxNTExOTIuCgoyMDA2LTA3LTEzIDEyOjQyOjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IE9ubHkgcnVuIG1wZWcyZW5jIHVuaXQgdGVzdCBpZiB3ZSBidWlsdCB0aGUgbXBlZzJlbmMgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgT25seSBydW4gbXBlZzJlbmMgdW5pdCB0ZXN0IGlmIHdlIGJ1aWx0IHRoZSBtcGVnMmVuYyBwbHVnaW4uCgoyMDA2LTA3LTEzIDEyOjI0OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBEb24ndCBlcnJvciBvdXQgaW4gY29uZmlndXJlIGlmIG1qcGVndG9vbHMgZGV2IGlzIG5vdCB0aGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEb24ndCBlcnJvciBvdXQgaW4gY29uZmlndXJlIGlmIG1qcGVndG9vbHMgZGV2IGlzIG5vdCB0aGVyZS4KCjIwMDYtMDctMTMgMTE6MDY6NDUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBQb3J0IG1wZWcyZW5jIHRvIDAuMTAgKCMzNDMxODQpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1dyBhdCBza3luZXQgYmU+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBlZzJlbmMvTWFrZWZpbGUuYW06CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5oaDoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvZGVyLmNjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29kZXIuaGg6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb3B0aW9ucy5jYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmNjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuaGg6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jc3RyZWFtd3JpdGVyLmNjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3N0cmVhbXdyaXRlci5oaDoKCSAgUG9ydCBtcGVnMmVuYyB0byAwLjEwICgjMzQzMTg0KS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6CgkgIEFkZCB1bml0IHRlc3QgZm9yIG1wZWcyZW5jLgoJICAqIHRlc3RzL2ljbGVzLy5jdnNpZ25vcmU6CgkgIElnbm9yZSBwaXRjaC10ZXN0LgoKMjAwNi0wNy0xMiAwOToyODo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBGaXggdHlwbyBpbiBwcm9wZXJ0eSBuaWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KToKCSAgRml4IHR5cG8gaW4gcHJvcGVydHkgbmljay4KCjIwMDYtMDctMTAgMTQ6NDk6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZmlsdGVyLzogRG9uJ3QgZm9yZ2V0IG5ldyBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuaDoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgRG9uJ3QgZm9yZ2V0IG5ldyBmaWxlcy4KCjIwMDYtMDctMTAgMTQ6NDM6MzUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIEknbSB0b28gbGF6eSB0byBjb21tZW50IHRoaXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICoqKiBlbXB0eSBsb2cgbWVzc2FnZSAqKioKCjIwMDYtMDctMTAgMTQ6NDI6MTUgKzAwMDAgIE1hdGhpcyBIb2ZlciA8bWF0aGlzLmhvZmVyQGRyZWFtbGFiLm5ldD4KCgkgIFBvcnRlZCB0aGUgZ3N0ZmlsdGVyIHBsdWdpbiB0byBHU3RyZWFtZXIgMC4xMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXRoaXMgSG9mZXIgPG1hdGhpcyBkb3QgaG9mZXIgYXQgZHJlYW1sYWIgZG90IG5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2Rpc3Bvc2UpLAoJICAoZ3N0X2Jwd3NpbmNfYmFzZV9pbml0KSwgKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jwd3NpbmNfaW5pdCksIChicHdzaW5jX3NldF9jYXBzKSwgKGJwd3NpbmNfdHJhbnNmb3JtX2lwKSwKCSAgKGJwd3NpbmNfc2V0X3Byb3BlcnR5KSwgKGJwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGZpbHRlci5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0ZmlsdGVyLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzogKGdzdF9paXJfZGlzcG9zZSksIChnc3RfaWlyX2Jhc2VfaW5pdCksCgkgIChnc3RfaWlyX2NsYXNzX2luaXQpLCAoZ3N0X2lpcl9pbml0KSwgKGlpcl9zZXRfY2FwcyksCgkgIChpaXJfdHJhbnNmb3JtX2lwKSwgKGlpcl9zZXRfcHJvcGVydHkpLCAoaWlyX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19kaXNwb3NlKSwKCSAgKGdzdF9scHdzaW5jX2Jhc2VfaW5pdCksIChnc3RfbHB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9scHdzaW5jX2luaXQpLCAobHB3c2luY19zZXRfY2FwcyksIChscHdzaW5jX3RyYW5zZm9ybV9pcCksCgkgIChscHdzaW5jX3NldF9wcm9wZXJ0eSksIChscHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgIFBvcnRlZCB0aGUgZ3N0ZmlsdGVyIHBsdWdpbiB0byBHU3RyZWFtZXIgMC4xMC4KCjIwMDYtMDctMTAgMDk6NTc6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEV4dHJhY3QgY29tbWVudCBpbmZvcm1hdGlvbiEhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdWR0YSk6CgkgIEV4dHJhY3QgY29tbWVudCBpbmZvcm1hdGlvbiEhCgoyMDA2LTA3LTEwIDA5OjQ2OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBFeHRyYWN0IHllYXIvZGF0ZSBpbmZvcm1hdGlvbiAoZml4ZXMgIzM0NzA3OSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdWR0YSksCgkgIChxdGRlbXV4X3RhZ19hZGRfZGF0ZSk6CgkgIEV4dHJhY3QgeWVhci9kYXRlIGluZm9ybWF0aW9uIChmaXhlcyAjMzQ3MDc5KS4KCjIwMDYtMDctMDcgMTQ6MzA6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IGNyYXNoIG9uIHR3b3Mvc293dC9yYXcgYXVkaW8uICMzNDU4MzAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIERvbid0IGNyYXNoIG9uIHR3b3Mvc293dC9yYXcgYXVkaW8uICMzNDU4MzAuCgoyMDA2LTA3LTA3IDExOjQ0OjA1ICswMDAwICBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy4qOiBSZW1vdmUgdW5sb2NrIGZ1bmN0aW9uLiBzdGFydC9zdG9wIHdpbGwgZG8gZXZlcnl0aGluZyBuZWVkZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMdXR6IE11ZWxsZXIgPGx1dHogYXQgdG9wZnJvc2UgZG90IGRlPgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X25lb25odHRwX3NyY19pbml0KSwgKGdzdF9uZW9uaHR0cF9zcmNfZmluYWxpemUpLAoJICAocmVxdWVzdF9kaXNwYXRjaCksIChnc3RfbmVvbmh0dHBfc3JjX2NyZWF0ZSksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3N0YXJ0KSwgKGdzdF9uZW9uaHR0cF9zcmNfZ2V0X3NpemUpLAoJICAoZ3N0X25lb25odHRwX3NyY19zdG9wKSwgKHNldF9wcm94eSksIChzZXRfdXJpKSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9uZW9uaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfdXJpX3NldF91cmkpLCAoc2l6ZV9oZWFkZXJfaGFuZGxlcik6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgUmVtb3ZlIHVubG9jayBmdW5jdGlvbi4gc3RhcnQvc3RvcCB3aWxsIGRvIGV2ZXJ5dGhpbmcgbmVlZGVkCgkgIFJlbW92ZWQgY29kZSB0aGF0IHdhcyBuZXZlciBjYWxsZWQuCgkgIFVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlci4gRG9uJ3Qgc2VuZCBFT1MgLSBwYXJlbnQgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgRG8gbm90IGVzY2FwZSBwYXRoLiBGaXhlcyAjMzQ2NzIzLgoJICBBZGRpdGlvbmFsIGNvZGUgY2xlYW51cHMuCgoyMDA2LTA3LTAzIDIwOjAyOjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggc2lsbHkgY3Jhc2hlciBpbiBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb247IGFkZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpLCAocXRkZW11eF92aWRlb19jYXBzKToKCSAgRml4IHNpbGx5IGNyYXNoZXIgaW4gc3RhdGUgY2hhbmdlIGZ1bmN0aW9uOyBhZGQKCSAgSVY0MSBmb3VyY2MgKHNlZSBidWcgIzE3MTExMSk7IGRvbid0IG91dHB1dCBjb25mdXNpbmcKCSAgZGVidWcgbWVzc2FnZSB3aGVuIHNraXBwaW5nIGF0b21zLgoKMjAwNi0wNi0yMyAwOTowOTo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFVzZSBHU1RfREVCVUdfQ0FURUdPUllfU1RBVElDIHdoZXJlIHBvc3NpYmxlICgjMzQyNTAzKSBhbmQgZml4IG9uZSBHT2JqZWN0IGJvaWxlcnBsYXRlIG1hY3JvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICBVc2UgR1NUX0RFQlVHX0NBVEVHT1JZX1NUQVRJQyB3aGVyZSBwb3NzaWJsZSAoIzM0MjUwMykKCSAgYW5kIGZpeCBvbmUgR09iamVjdCBib2lsZXJwbGF0ZSBtYWNyby4KCjIwMDYtMDYtMjIgMTA6MTA6NTEgKzAwMDAgIENvZHkgUnVzc2VsbCA8YnJhdHNjaGVAZ25vbWUub3JnPgoKCSAgZ3N0LzogQXZvaWQgdW5uZWNlc3NhcnkgY2xhc3MgY2FzdCBjaGVjayBpbiBjbGFzc19pbml0IGZ1bmN0aW9ucyAoIzMzNzc0NykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQ29keSBSdXNzZWxsIDxicmF0c2NoZSBhdCBnbm9tZSBvcmc+CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAoZ3N0X2F1ZGlvcmVzYW1wbGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHN0cmVhbXNlbGVjdG9yLmM6CgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zdWJwYXJzZS9nc3RzdWJwYXJzZS5jOiAoZ3N0X3N1Yl9wYXJzZV9jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdG11bHRpZmRzaW5rLmM6IChnc3RfbXVsdGlfZmRfc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdHRjcGNsaWVudHNpbmsuYzogKGdzdF90Y3BfY2xpZW50X3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3RjcC9nc3R0Y3BjbGllbnRzcmMuYzogKGdzdF90Y3BfY2xpZW50X3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdHRjcHNlcnZlcnNpbmsuYzogKGdzdF90Y3Bfc2VydmVyX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3RjcC9nc3R0Y3BzZXJ2ZXJzcmMuYzogKGdzdF90Y3Bfc2VydmVyX3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QvdmlkZW9zY2FsZS9nc3R2aWRlb3NjYWxlLmM6IChnc3RfdmlkZW9fc2NhbGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvdGVzdHNyYy9nc3R2aWRlb3Rlc3RzcmMuYzoKCSAgKGdzdF92aWRlb190ZXN0X3NyY19jbGFzc19pbml0KToKCSAgKiBnc3Qvdm9sdW1lL2dzdHZvbHVtZS5jOiAoZ3N0X3ZvbHVtZV9jbGFzc19pbml0KToKCSAgQXZvaWQgdW5uZWNlc3NhcnkgY2xhc3MgY2FzdCBjaGVjayBpbiBjbGFzc19pbml0CgkgIGZ1bmN0aW9ucyAoIzMzNzc0NykuCgoyMDA2LTA2LTIwIDExOjA3OjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zdGRhZnguaDogRml4IG1vZHBsdWcgb24gQU1ENjQuIEZpeGVzICMzNDUzMzYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc3RkYWZ4Lmg6CgkgIEZpeCBtb2RwbHVnIG9uIEFNRDY0LiBGaXhlcyAjMzQ1MzM2LgoKMjAwNi0wNi0xOSAxNDowNzoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IGNoZWNrIHNvIHRoYXQgZnV0dXJlIGxpYm5lb24gQVBJIGNoYW5nZXMgd29uJ3QgYnJlYWsgdGhlIGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCBjaGVjayBzbyB0aGF0IGZ1dHVyZSBsaWJuZW9uIEFQSSBjaGFuZ2VzIHdvbid0IGJyZWFrIHRoZSBidWlsZC4KCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICBGaXggYnVpbGQgd2l0aCBsaWJuZW9uLTAuMjYueCAoIzM0NTE4MikuCgoyMDA2LTA2LTE5IDEzOjE3OjU3ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIGxhdGVzdCBwbHVnaW5zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbGF0ZXN0IHBsdWdpbnMKCjIwMDYtMDYtMTcgMTU6MDk6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEZpeCAtLWRpc2FibGUtZXh0ZXJuYWwgKGNhbid0IHNldCBjb25kaXRpb25hbHMgY29uZGl0aW9uYWxseSwgIzM0MzYwMikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IC0tZGlzYWJsZS1leHRlcm5hbCAoY2FuJ3Qgc2V0IGNvbmRpdGlvbmFscyBjb25kaXRpb25hbGx5LAoJICAjMzQzNjAyKS4KCjIwMDYtMDYtMTYgMTU6NDM6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6IEFkZCB0ZXN0IGNhc2UgZm9yIGJ1ZyAjMzQyNzg5IGZpeGVkIGJlbG93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6ICh0ZXN0X3JldXNlKSwKCSAgKGF1ZGlvcmVzYW1wbGVfc3VpdGUpOgoJICBBZGQgdGVzdCBjYXNlIGZvciBidWcgIzM0Mjc4OSBmaXhlZCBiZWxvdy4KCjIwMDYtMDYtMTYgMTU6MTc6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IEltcGxlbWVudCBHc3RCYXNlVHJhbnNmb3JtOjpzdGFydCBhbmQgOjpzdG9wIHNvIHRoYXQgYXVkaW9yZXNhbXBsZSBjYW4gY2xlYXIgaXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAoZ3N0X2F1ZGlvcmVzYW1wbGVfY2xhc3NfaW5pdCksIChnc3RfYXVkaW9yZXNhbXBsZV9pbml0KSwKCSAgKGF1ZGlvcmVzYW1wbGVfc3RhcnQpLCAoYXVkaW9yZXNhbXBsZV9zdG9wKSwKCSAgKGdzdF9hdWRpb3Jlc2FtcGxlX3NldF9wcm9wZXJ0eSksIChnc3RfYXVkaW9yZXNhbXBsZV9nZXRfcHJvcGVydHkpOgoJICBJbXBsZW1lbnQgR3N0QmFzZVRyYW5zZm9ybTo6c3RhcnQgYW5kIDo6c3RvcCBzbyB0aGF0IGF1ZGlvcmVzYW1wbGUKCSAgY2FuIGNsZWFyIGl0cyBpbnRlcm5hbCBzdGF0ZSBwcm9wZXJseSBhbmQgYmUgcmV1c2VkIGluc3RlZCBvZgoJICBjYXVzaW5nIG5vbi1uZWdvdGlhdGVkIGVycm9ycyB3aXRoIHBsYXliaW4gdW5kZXIgc29tZSBjaXJjdW1zdGFuY2VzCgkgICgjMzQyNzg5KS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6IChzZXR1cF9hdWRpb3Jlc2FtcGxlKSwKCSAgKGNsZWFudXBfYXVkaW9yZXNhbXBsZSk6CgkgIE5lZWQgdG8gc2V0IGVsZW1lbnQgc3RhdGUgaGVyZSBzbyB0aGF0IDo6c3RhcnQgYW5kIDo6c3RvcCBhcmUKCSAgY2FsbGVkLgoKMjAwNi0wNi0xNiAxMjozNTowOCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbTogRml4IGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNi0xNiAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgRml4IGJ1aWxkLgoKMjAwNi0wNi0xNiAwOTo0OTowNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtLzogcG9ydCB0byB1c2UgbWVzc2FnZSB0byBnZXQgcmVzdWx0cywgY2xlYW5seSBleGl0IHdoZW4gY2xvc2luZyB0aGUgd2luZG93CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAob25fd2luZG93X2Rlc3Ryb3kpLAoJICAoZHJhd19zcGVjdHJ1bSksIChtZXNzYWdlX2hhbmRsZXIpLCAobWFpbik6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChvbl93aW5kb3dfZGVzdHJveSksIChkcmF3X3NwZWN0cnVtKSwKCSAgKG1lc3NhZ2VfaGFuZGxlciksIChtYWluKToKCSAgcG9ydCB0byB1c2UgbWVzc2FnZSB0byBnZXQgcmVzdWx0cywgY2xlYW5seSBleGl0IHdoZW4gY2xvc2luZyB0aGUgd2luZG93CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1faW5pdCksIChnc3Rfc3BlY3RydW1fZGlzcG9zZSksCgkgIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5KSwgKGdzdF9zcGVjdHJ1bV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NwZWN0cnVtX3NldF9jYXBzKSwgKGdzdF9zcGVjdHJ1bV9zdGFydCksCgkgIChnc3Rfc3BlY3RydW1fbWVzc2FnZV9uZXcpLCAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIHBvcnQgdG8gZGVyaXZlIGZyb20gYmFzZXRyYW5zZm9ybSBhbmQgc2VuZCByZXN1bHRzIHZpYSBtZXNzYWdlcwoJICAobGlrZSBsZXZlbCBlbGVtZW50KQoKMjAwNi0wNi0xNSAxNTo1ODowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ29tYmluZSByZXR1cm4gdmFsdWVzIGZyb20gc3JjIHBhZCBwdXNoZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayksCgkgIChnc3RfcXRkZW11eF9jb21iaW5lX2Zsb3dzKSwgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcCksIChnc3RfcXRkZW11eF9jaGFpbiksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBDb21iaW5lIHJldHVybiB2YWx1ZXMgZnJvbSBzcmMgcGFkIHB1c2hlcy4KCjIwMDYtMDYtMTUgMDg6NTA6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IGNyYXNoIG9uIGZpbGVzIHdpdGggMCBzYW1wbGVzLCBFT1MgaW1tZWRpYXRseSBpbnN0ZWFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciksCgkgIChnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlKSwgKGdzdF9xdGRlbXV4X2FkdmFuY2Vfc2FtcGxlKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pOgoJICBEb24ndCBjcmFzaCBvbiBmaWxlcyB3aXRoIDAgc2FtcGxlcywgRU9TIGltbWVkaWF0bHkgaW5zdGVhZC4KCSAgRml4ZXMgIzM0NDk0NC4KCjIwMDYtMDYtMTQgMTg6MDc6NTEgKzAwMDAgIFdvdXRlciBQYWVzZW4gPHdvdXRlckBrYW5nYXJvb3QubmV0PgoKCSAgZXh0L3NvdW5kdG91Y2gvOiBNYWtlIHBpdGNoIGVsZW1lbnQgY29udHJvbGxhYmxlIHZpYSBHc3RDb250cm9sbGVyIGludGVyZmFjZSAoIzM0NDgyMSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIFBhZXNlbiAgPHdvdXRlciBhdCBrYW5nYXJvb3QgbmV0PgoJICAqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBNYWtlIHBpdGNoIGVsZW1lbnQgY29udHJvbGxhYmxlIHZpYSBHc3RDb250cm9sbGVyIGludGVyZmFjZQoJICAoIzM0NDgyMSkuCgkgICogY29uZmlndXJlLmFjOgoJICBVcCBjb3JlIHJlcXVpcmVtZW50cyB0byAwLjEwLjguMS9DVlMgYmVjYXVzZSBlYXJsaWVyCgkgIEdzdENvbnRyb2xsZXJzIGNhbid0IGhhbmRsZSBmbG9hdCBwcm9wZXJ0aWVzIGNvcnJlY3RseS4KCSAgQ2hlY2sgZm9yIEdzdENvbnRyb2xsZXIgQ0ZMQUdTIGFuZCBMSUJTLgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL3BpdGNoLXRlc3QuYzogKG1haW4pOgoJICBBZGQgc21hbGwgdGVzdCBwcm9ncmFtIGZvciB0aGUgYWJvdmUgKHdlbGNvbWUgdG8gdGhlIDgwcyEpLgoKMjAwNi0wNi0xNCAwOTozMjoyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy4qOiBVc2UgYml0cmF0ZSBwcm9wZXJ0eSBzb2xlbHkgZm9yIGJpdHJhdGVzIGFuZCBhZGQgbmV3IGJpdHMtcGVyLXNhbXBsZSBwcm9wZXJ0eSBmb3IgdGhlIG90Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSAgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zIG9yZz4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jaGFpbiksIChnc3Rfd2F2cGFja19lbmNfc2lua19ldmVudCksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF93YXZwYWNrX2VuY19nZXRfcHJvcGVydHkpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgVXNlIGJpdHJhdGUgcHJvcGVydHkgc29sZWx5IGZvciBiaXRyYXRlcyBhbmQgYWRkIG5ldwoJICBiaXRzLXBlci1zYW1wbGUgcHJvcGVydHkgZm9yIHRoZSBvdGhlciBzdHVmZi4gU2V0IGR1cmF0aW9uCgkgIHRvICd1bmtub3duJyBpbiBpbml0aWFsIGhlYWRlciBhbmQgcmVzZW5kIGhlYWRlciB3aXRoIHByb3BlcgoJICBkdXJhdGlvbiBvbiBFT1M7IHVwZGF0ZSBTZWJhc3RpYW4ncyBlLW1haWwgYWRkcmVzcy4KCjIwMDYtMDYtMTIgMTE6MzA6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleC86ICNkZWZpbmUgcmVkIGdyZWVuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2RpcmVjdGZiLy5jdnNpZ25vcmU6CgkgICogZXh0L2RpcmVjdGZiLy5jdnNpZ25vcmU6CgkgICNkZWZpbmUgcmVkIGdyZWVuCgoyMDA2LTA2LTEyIDExOjA0OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3NwZWN0cnVtLy5jdnNpZ25vcmU6IElnbm9yZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vLmN2c2lnbm9yZToKCSAgSWdub3JlIG1vcmUuCgoyMDA2LTA2LTEyIDEwOjUzOjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2xpYm1tcy9nc3RtbXMuYzogU2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfY3JlYXRlKToKCSAgU2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiAoZ3N0X2RpcmVjdGRyYXdzaW5rX2luaXQpOgoJICBDb21tZW50IG91dCB1bnVzZWQgZ2xvYmFsIGluc3RhbmNlIHZhcmlhYmxlLgoKMjAwNi0wNi0xMSAyMjozNzowNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiAuZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBtb2FwIGlnbm9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW9hcCBpZ25vcmUKCjIwMDYtMDYtMTEgMTM6NTc6MTkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgYXV0b2dlbi5zaDogcmVxdWlyZSBhbTE3CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGF1dG9nZW4uc2g6CgkgIHJlcXVpcmUgYW0xNwoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvYW5ub2RleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2Rpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvZHYvTWFrZWZpbGUuYW06CgkgICogZXh0L2VzZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmxhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJjYWNhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zcGVleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3MvTWFrZWZpbGUuYW06CgkgICogc3lzL3N1bmF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIHN5cy94aW1hZ2UvTWFrZWZpbGUuYW06CgkgIGNsZWFuIHVwIGJ1aWxkIGZ1cnRoZXIKCjIwMDYtMDYtMTAgMTU6MzM6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPG1haWxAc2xvbW9zbmFpbC5kZT4KCgkgIGV4dC93YXZwYWNrLzogQWRkIHdhdnBhY2sgZW5jb2RlciBlbGVtZW50ICgjMzQzMTMxKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlICA8bWFpbCBhdCBzbG9tb3NuYWlsIGRlPgoJICAqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2suYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NvcnJlY3Rpb25fbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfam9pbnRfc3RlcmVvX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2Jhc2VfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfZGlzcG9zZSksCgkgIChnc3Rfd2F2cGFja19lbmNfc2lua19zZXRfY2FwcyksIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksCgkgIChnc3Rfd2F2cGFja19lbmNfZm9ybWF0X3NhbXBsZXMpLCAoZ3N0X3dhdnBhY2tfZW5jX3B1c2hfYmxvY2spLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NoYWluKSwgKGdzdF93YXZwYWNrX2VuY19yZXdyaXRlX2ZpcnN0X2Jsb2NrKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zaW5rX2V2ZW50KSwgKGdzdF93YXZwYWNrX2VuY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF9wcm9wZXJ0eSksIChnc3Rfd2F2cGFja19lbmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF93YXZwYWNrX2VuY19wbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICAqIGV4dC93YXZwYWNrL21kNS5jOgoJICAqIGV4dC93YXZwYWNrL21kNS5oOgoJICBBZGQgd2F2cGFjayBlbmNvZGVyIGVsZW1lbnQgKCMzNDMxMzEpLgoKMjAwNi0wNi0wOSAxNzozODoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQ2hlY2sgZm9yIFggYmVmb3JlIHVzaW5nIFhfQ0ZMQUdTIGluIHRoZSBjaGVjayBmb3Igb3BlbmdsICgjMzQzODY2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDaGVjayBmb3IgWCBiZWZvcmUgdXNpbmcgWF9DRkxBR1MgaW4gdGhlIGNoZWNrIGZvciBvcGVuZ2wgKCMzNDM4NjYpLgoJICAqIGV4dC9tdXNlcGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkgIEFkZCBtaXNzaW5nIEdTVF9MSUJTLCBmaXhlcyBidWlsZCBvbiBjeWd3aW4gKCMzNDM4NjYpLgoKMjAwNi0wNi0wNiAxNjoyNjo1OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBhZGFwdCB0byBuZXcgYXBpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGFwdCB0byBuZXcgYXBpCgoyMDA2LTA2LTA2IDE2OjE0OjUyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L01ha2VmaWxlLmFtOgoJICBidWlsZCBnZHAgcGx1Z2lucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYnVpbGQgZ2RwIHBsdWdpbnMKCjIwMDYtMDYtMDYgMTU6MTY6MTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvaWNsZXMvLmdpdGlnbm9yZToKCSAgaWdub3JlIG1vcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGlnbm9yZSBtb3JlCgoyMDA2LTA2LTA2IDE0OjM5OjE1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogZW5hYmxlIGJ1aWxkaW5nIG9mIEdEUCBlbGVtZW50cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIGVuYWJsZSBidWlsZGluZyBvZiBHRFAgZWxlbWVudHMKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2NoYWluKToKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfZ2RwX3BheV9pbml0KSwgKGdzdF9nZHBfYnVmZmVyX2Zyb21fY2FwcyksCgkgIChnc3RfZ2RwX3BheV9idWZmZXJfZnJvbV9idWZmZXIpLCAoZ3N0X2dkcF9idWZmZXJfZnJvbV9ldmVudCksCgkgIChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIpLCAoZ3N0X2dkcF9wYXlfc2lua19ldmVudCksCgkgIChnc3RfZ2RwX3BheV9zZXRfcHJvcGVydHkpLCAoZ3N0X2dkcF9wYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9nZHBfcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgYWRkIHZlcnNpb24gMS4wCgoyMDA2LTA2LTAyIDE3OjAxOjAxICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICB0ZXN0cy9jaGVjay86IERvbid0IGJ1c3ktd2FpdCBpbiB0ZXN0czsgdGhpcyB3YXMgY2F1c2luZyB0ZXN0IHRpbWVvdXRzIHZlcnkgZnJlcXVlbnRseSB3aGVuIHJ1bm5pbmcgdW5kZXIgdmFsZ3JpbmQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY29udmVydC5jOiAoc2V0X2NoYW5uZWxfcG9zaXRpb25zKSwKCSAgKGdldF9mbG9hdF9tY19jYXBzKSwgKGdldF9pbnRfbWNfY2Fwcyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvdGVzdHNyYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvcmF0ZS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvdGVzdHNyYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvbHVtZS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvcmJpc2RlYy5jOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy92b3JiaXNlbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRG9uJ3QgYnVzeS13YWl0IGluIHRlc3RzOyB0aGlzIHdhcyBjYXVzaW5nIHRlc3QgdGltZW91dHMgdmVyeQoJICBmcmVxdWVudGx5IHdoZW4gcnVubmluZyB1bmRlciB2YWxncmluZC4KCjIwMDYtMDYtMDIgMTY6NDU6NTkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICBzbWFsbCBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc21hbGwgZml4ZXMKCjIwMDYtMDYtMDIgMTM6NDM6MjQgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6IFRoZW9yYSA0OjQ6NCBwaXhlbCBmb3JtYXQgc3VwcG9ydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzogKHRoZW9yYV9kZWNfc3JjX2NvbnZlcnQpLAoJICAodGhlb3JhX2hhbmRsZV90eXBlX3BhY2tldCksICh0aGVvcmFfaGFuZGxlXzQyMl9pbWFnZSksCgkgICh0aGVvcmFfaGFuZGxlXzQ0NF9pbWFnZSksICh0aGVvcmFfaGFuZGxlXzQyMF9pbWFnZSksCgkgICh0aGVvcmFfaGFuZGxlX2RhdGFfcGFja2V0KToKCSAgVGhlb3JhIDQ6NDo0IHBpeGVsIGZvcm1hdCBzdXBwb3J0LgoKMjAwNi0wNi0wMiAxMDoyODozMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvZ2RwL2dzdGdkcHBheS5jOiBhZGQgY3JjLWhlYWRlciBhbmQgY3JjLXBheWxvYWQgcHJvcGVydGllcyBkb24ndCBlcnJvciBvdXQgb24gc29tZSB0aGluZ3MgdGhhdCBhcmUgcmVjb3ZlcmFibGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X2dkcF9wYXlfaW5pdCksIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2NhcHMpLAoJICAoZ3N0X2dkcF9wYXlfYnVmZmVyX2Zyb21fYnVmZmVyKSwgKGdzdF9nZHBfYnVmZmVyX2Zyb21fZXZlbnQpLAoJICAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyKSwgKGdzdF9nZHBfcGF5X2NoYWluKSwKCSAgKGdzdF9nZHBfcGF5X3NpbmtfZXZlbnQpLCAoZ3N0X2dkcF9wYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9nZHBfcGF5X2dldF9wcm9wZXJ0eSk6CgkgIGFkZCBjcmMtaGVhZGVyIGFuZCBjcmMtcGF5bG9hZCBwcm9wZXJ0aWVzCgkgIGRvbid0IGVycm9yIG91dCBvbiBzb21lIHRoaW5ncyB0aGF0IGFyZSByZWNvdmVyYWJsZQoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOiAoR1NUX1NUQVJUX1RFU1QpLCAoZ2RwcGF5X3N1aXRlKToKCSAgYWRkIHRlc3QgZm9yIGNyYwoKMjAwNi0wNi0wMSAyMjowMDoyNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4IG1vcmUgZ29iamVjdCBtYWNyb3M6IG9iajwtPmtsYXNzLCBHc3RYWFg8LT5Hc3RYWFhDbGFzcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5oOgoJICAqIGV4dC9hcnRzL2dzdF9hcnRzLmg6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5oOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuaDoKCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5oOgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmg6CgkgICogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmg6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuaDoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmg6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuaDoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5oOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2VuYy5oOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuaDoKCSAgKiBleHQvbmFzL25hc3NpbmsuaDoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuaDoKCSAgKiBleHQvc2RsL3NkbGF1ZGlvc2luay5oOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0Lmg6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90Lmg6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuaDoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5oOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmg6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuaDoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgKiBleHQveGluZS9nc3R4aW5lLmg6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5oOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuaDoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5oOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmg6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5oOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5oOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmg6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5oOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5oOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5oOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuaDoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5oOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmg6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuaDoKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5oOgoJICAqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuaDoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuaDoKCSAgKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5oOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmg6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuaDoKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmg6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuaDoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4Lmg6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5oOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5oOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuaDoKCSAgKiBzeXMvdmNkL3ZjZHNyYy5oOgoJICBGaXggbW9yZSBnb2JqZWN0IG1hY3Jvczogb2JqPC0+a2xhc3MsIEdzdFhYWDwtPkdzdFhYWENsYXNzCgoyMDA2LTA2LTAxIDE5OjE5OjUwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggbW9yZSBnb2JqZWN0IG1hY3Jvczogb2JqPC0+a2xhc3MsIEdzdFhYWDwtPkdzdFhYWENsYXNzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FtaXhlcmVsZW1lbnQuaDoKCSAgKiBleHQvYWxzYS9nc3RhbHNhbWl4ZXJvcHRpb25zLmg6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYW1peGVydHJhY2suaDoKCSAgKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzaW5rLmg6CgkgICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc3JjLmg6CgkgICogZXh0L3RoZW9yYS9nc3R0aGVvcmFkZWMuaDoKCSAgKiBleHQvdGhlb3JhL2dzdHRoZW9yYWVuYy5oOgoJICAqIGV4dC90aGVvcmEvZ3N0dGhlb3JhcGFyc2UuaDoKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc3BhcnNlLmg6CgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGF1ZGlvY2xvY2suaDoKCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YXVkaW9maWx0ZXIuaDoKCSAgKiBnc3QtbGlicy9nc3QvcnRwL2dzdGJhc2VydHBhdWRpb3BheWxvYWQuaDoKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L2dzdGF1ZGlvY29udmVydC5oOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuaDoKCSAgKiBnc3QvYXVkaW90ZXN0c3JjL2dzdGF1ZGlvdGVzdHNyYy5oOgoJICAqIGdzdC9mZm1wZWdjb2xvcnNwYWNlL2dzdGZmbXBlZ2NvbG9yc3BhY2UuaDoKCSAgKiBnc3QvcGxheWJhY2svZ3N0c3RyZWFtc2VsZWN0b3IuaDoKCSAgKiBnc3QvdGNwL2dzdG11bHRpZmRzaW5rLmg6CgkgICogZ3N0L3RjcC9nc3R0Y3BjbGllbnRzaW5rLmg6CgkgICogZ3N0L3RjcC9nc3R0Y3BjbGllbnRzcmMuaDoKCSAgKiBnc3QvdGNwL2dzdHRjcHNlcnZlcnNpbmsuaDoKCSAgKiBnc3QvdGNwL2dzdHRjcHNlcnZlcnNyYy5oOgoJICAqIGdzdC92aWRlb3JhdGUvZ3N0dmlkZW9yYXRlLmg6CgkgICogZ3N0L3ZpZGVvc2NhbGUvZ3N0dmlkZW9zY2FsZS5oOgoJICAqIGdzdC92aWRlb3Rlc3RzcmMvZ3N0dmlkZW90ZXN0c3JjLmg6CgkgICogZ3N0L3ZvbHVtZS9nc3R2b2x1bWUuaDoKCSAgKiBzeXMvdjRsL2dzdHY0bGpwZWdzcmMuaDoKCSAgKiBzeXMvdjRsL2dzdHY0bG1qcGVnc2luay5oOgoJICAqIHN5cy92NGwvZ3N0djRsbWpwZWdzcmMuaDoKCSAgKiBzeXMvdjRsL2dzdHY0bHNyYy5oOgoJICAqIHN5cy94aW1hZ2UveGltYWdlc2luay5oOgoJICAqIHN5cy94dmltYWdlL3h2aW1hZ2VzaW5rLmg6CgkgICogdGVzdHMvb2xkL3Rlc3RzdWl0ZS9hbHNhL3NpbmVzcmMuaDoKCSAgRml4IG1vcmUgZ29iamVjdCBtYWNyb3M6IG9iajwtPmtsYXNzLCBHc3RYWFg8LT5Hc3RYWFhDbGFzcwoKMjAwNi0wNS0zMSAxOToyNjoyNCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuaDogRm9yZ290IHRvIGNvbW1pdCB0aGUgaGVhZGVyIGZpbGUgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmg6CgkgIEZvcmdvdCB0byBjb21taXQgdGhlIGhlYWRlciBmaWxlIHRvby4KCjIwMDYtMDUtMzEgMTM6Mzc6MjcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IEFkZGVkIEdzdFNlZ21lbnQgdG8gY29udHJvbCBzZWdtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfY2xhc3NfaW5pdCksIChnc3RfZmFhZF9pbml0KSwKCSAgKGdzdF9mYWFkX2Rpc3Bvc2UpLCAoZ3N0X2ZhYWRfc2lua19ldmVudCksIChjbGlwX291dGdvaW5nX2J1ZmZlciksCgkgIChnc3RfZmFhZF9jaGFpbiksIChnc3RfZmFhZF9jaGFuZ2Vfc3RhdGUpOgoJICBBZGRlZCBHc3RTZWdtZW50IHRvIGNvbnRyb2wgc2VnbWVudHMuCgkgIEFkZGVkIGNsaXBwaW5nL2Ryb3BwaW5nIG9mIG91dGdvaW5nIGJ1ZmZlcnMgaW4gb3JkZXIgdG8gaGF2ZSBhY2N1cmF0ZQoJICBzZWVraW5nIHdvcmtpbmcgcHJvcGVybHkuCgoyMDA2LTA1LTI4IDE3OjA4OjE3ICswMDAwICBMdXR6IE3DvGxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgoJICBleHQvYnoyLzogVXNlIGdzdF90eXBlX2ZpbmRfaGVscGVyXyogZnVuY3Rpb25zIGZvciB0eXBlZmluZGluZzsgdXNlIGNvcnJlY3QgY2FwcyB3aXRoIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCk7IGFkZCBzdGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMdXR6IE3DvGxsZXIgIDxsdXR6IGF0IHRvcGZyb3NlIGRlPgoJICAqIGV4dC9iejIvTWFrZWZpbGUuYW06CgkgICogZXh0L2J6Mi9nc3RiejJkZWMuYzogKGdzdF9iejJkZWNfY2hhaW4pLCAoZ3N0X2J6MmRlY19pbml0KSwKCSAgKGdzdF9iejJkZWNfY2hhbmdlX3N0YXRlKSwgKGdzdF9iejJkZWNfY2xhc3NfaW5pdCk6CgkgIFVzZSBnc3RfdHlwZV9maW5kX2hlbHBlcl8qIGZ1bmN0aW9ucyBmb3IgdHlwZWZpbmRpbmc7IHVzZQoJICBjb3JyZWN0IGNhcHMgd2l0aCBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpOyBhZGQgc3RhdGUgY2hhbmdlCgkgIGZ1bmN0aW9uIGFuZCByZXNldCBkZWNvZGVyIGluIGl0OyBkb24ndCB1bnJlZiBidWZmZXIgaWYKCSAgcGFkX3B1c2ggZmFpbHM7IHVzZSBmaXhlZCBjYXBzIG9uIHNvdXJjZSBwYWQuICgjMzQxNTI0KS4KCjIwMDYtMDUtMjYgMjI6MzU6MDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS86IGFkZGVkIGFub3RoZXIgZXhhbXBsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChvbl9mcmVxdWVuY3lfY2hhbmdlZCksCgkgIChzcGVjdHJ1bV9jaGFpbiksIChtYWluKToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgYWRkZWQgYW5vdGhlciBleGFtcGxlCgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBmaXggdHlwbwoKMjAwNi0wNS0yNiAxMzoxNjo1NCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ2xpcCB0aGUgb3V0cHV0ZWQgTkVXU0VHTUVOVCBzdG9wIHRpbWUgdG8gdGhlIGNvbmZpZ3VyZWQgc2VnbWVudCBzdG9wIHRpbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpOgoJICBDbGlwIHRoZSBvdXRwdXRlZCBORVdTRUdNRU5UIHN0b3AgdGltZSB0byB0aGUgY29uZmlndXJlZCBzZWdtZW50IHN0b3AKCSAgdGltZS4KCjIwMDYtMDUtMjYgMTE6NDg6NDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IGNsZWFyIHRoZSBydW5uaW5nIHZhcmlhYmxlIGluIHRoZSBzZWVrIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2RvX3NlZWspOgoJICBEb24ndCBjbGVhciB0aGUgcnVubmluZyB2YXJpYWJsZSBpbiB0aGUgc2VlayBjb2RlLgoKMjAwNi0wNS0yNCAxMTo1Njo0MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRGV0ZWN0IFFDRUxQIGluIG1wNGEgZGVzY3JpcHRvcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2hhbmRsZV9lc2RzKToKCSAgRGV0ZWN0IFFDRUxQIGluIG1wNGEgZGVzY3JpcHRvcnMuCgoyMDA2LTA1LTIyIDE4OjAwOjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBwby9QT1RGSUxFUy5pbjoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKSwgKHBsdWdpbl9pbml0KToKCSAgcG8vUE9URklMRVMuaW46CgkgIFRocm93IGFuIGVycm9yIHdoZW4gdGhlIGZpbGUgaXMgZW5jcnlwdGVkLiBNb3ZlIHBsdWdpbl9pbml0IHN0dWZmCgkgIHRvIHRoZSBlbmQgb2YgdGhlIGZpbGUsIGFkZCBzdHVmZiBmb3IgaTE4biwgbWFrZSBkZWJ1ZyBjYXRlZ29yeQoJICBzdGF0aWMuCgoyMDA2LTA1LTIyIDE2OjI0OjEyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBzaWdoLCByZWFsbHkgZG9uJ3QgYnVpbGQgdGhlc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNpZ2gsIHJlYWxseSBkb24ndCBidWlsZCB0aGVzZQoKMjAwNi0wNS0yMiAxNjowODozNCArMDAwMCAgTWljaGFsIEJlbmVzIDxtaWNoYWwuYmVuZXNAeGVyaXMuY3o+CgoJICBOZXcgcGx1Z2luOiBoMjY0cGFyc2UgKCMzNDA2MzgpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWljaGFsIEJlbmVzICA8bWljaGFsIGRvdCBiZW5lcyBhdCB4ZXJpcyBkb3QgY3o+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9oMjY0cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogKGdzdF9oMjY0X3BhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3RfaDI2NF9wYXJzZV9maW5hbGl6ZSksIChnc3RfaDI2NF9wYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF9oMjY0X3BhcnNlX2luaXQpLCAoZ3N0X2gyNjRfcGFyc2VfY2hhaW4pLAoJICAoZ3N0X2gyNjRfcGFyc2VfaGFuZGxlX2V2ZW50KSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBOZXcgcGx1Z2luOiBoMjY0cGFyc2UgKCMzNDA2MzgpCgoyMDA2LTA1LTIyIDE1OjUzOjA3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9nZHAvOiBIYW5kbGUgZXJyb3IgY2FzZXMgd2hlbiBjYWxsaW5nIGZ1bmN0aW9ucyBkbyBkb3dud2FyZHMgc3RhdGUgY2hhbmdlIGFmdGVyIHBhcmVudCdzIGNoYW5nZV9zdGF0ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2NoYWluKSwKCSAgKGdzdF9nZHBfZGVwYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5Lmg6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlciksCgkgIChnc3RfZ2RwX3BheV9jaGFpbiksIChnc3RfZ2RwX3BheV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9nZHBfcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgSGFuZGxlIGVycm9yIGNhc2VzIHdoZW4gY2FsbGluZyBmdW5jdGlvbnMKCSAgZG8gZG93bndhcmRzIHN0YXRlIGNoYW5nZSBhZnRlciBwYXJlbnQncyBjaGFuZ2Vfc3RhdGUKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBjbGVhbiB1cCBtb3JlCgoyMDA2LTA1LTIyIDE0OjM3OjQxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBkb24ndCBidWlsZCB0aGVzZSB5ZXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvbid0IGJ1aWxkIHRoZXNlIHlldAoKMjAwNi0wNS0yMiAxMzo0MDoyOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgZG9uJ3QgYnVpbGQgdGhlc2UgeWV0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb24ndCBidWlsZCB0aGVzZSB5ZXQKCjIwMDYtMDUtMjIgMTM6MjU6NTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgYWRkaW5nIEdEUCBwYXlsb2FkZXIgYW5kIGRlcGF5bG9hZGVyLiAgQnVpbGQgaW50ZWdyYXRpb24gd2lsbCBmb2xsb3cgbGF0ZXIgd2hlbiB0aGUgR0RQIGlzc3VlcyBmb3IgY29yZSBhcmUgc29ydGVkIG91dC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ2RwL2dzdGdkcC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9nZHBfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfZ2RwX2RlcGF5X2luaXQpLAoJICAoZ3N0X2dkcF9kZXBheV9maW5hbGl6ZSksIChnc3RfZ2RwX2RlcGF5X2NoYWluKSwKCSAgKGdzdF9nZHBfZGVwYXlfY2hhbmdlX3N0YXRlKSwgKGdzdF9nZHBfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9nZHBfcGF5X2NsYXNzX2luaXQpLCAoZ3N0X2dkcF9wYXlfaW5pdCksCgkgIChnc3RfZ2RwX3BheV9kaXNwb3NlKSwgKGdzdF9nZHBfc3RhbXBfYnVmZmVyKSwKCSAgKGdzdF9nZHBfYnVmZmVyX2Zyb21fY2FwcyksIChnc3RfZ2RwX3BheV9idWZmZXJfZnJvbV9idWZmZXIpLAoJICAoZ3N0X2dkcF9idWZmZXJfZnJvbV9ldmVudCksIChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIpLAoJICAoZ3N0X2dkcF9xdWV1ZV9idWZmZXIpLCAoZ3N0X2dkcF9wYXlfY2hhaW4pLAoJICAoZ3N0X2dkcF9wYXlfc2lua19ldmVudCksIChnc3RfZ2RwX3BheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2dkcF9wYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKHNldHVwX2dkcGRlcGF5KSwKCSAgKGNsZWFudXBfZ2RwZGVwYXkpLCAoZ2RwZGVwYXlfcHVzaF9wZXJfYnl0ZSksIChHU1RfU1RBUlRfVEVTVCksCgkgIChzZXR1cF9nZHBkZXBheV9zdHJlYW1oZWFkZXIpLCAoZ2RwZGVwYXlfc3VpdGUpLCAobWFpbik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6IChzZXR1cF9nZHBwYXkpLCAoY2xlYW51cF9nZHBwYXkpLAoJICAoR1NUX1NUQVJUX1RFU1QpLCAoc2V0dXBfZ2RwcGF5X3N0cmVhbWhlYWRlciksIChnZHBwYXlfc3VpdGUpLAoJICAobWFpbik6CgkgIGFkZGluZyBHRFAgcGF5bG9hZGVyIGFuZCBkZXBheWxvYWRlci4gIEJ1aWxkIGludGVncmF0aW9uIHdpbGwKCSAgZm9sbG93IGxhdGVyIHdoZW4gdGhlIEdEUCBpc3N1ZXMgZm9yIGNvcmUgYXJlIHNvcnRlZCBvdXQuCgoyMDA2LTA1LTIxIDE2OjQxOjQ0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogVXNlIGJvaWxlcnBsYXRlIG1hY3JvLCBmaXggc3RyaW5ncyB0byBtYXRjaCBwbHVnaW4tbW92YWwtcmVxdWlyZW1lbnRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2luaXQpLCAoZ3N0X3NwZWN0cnVtX3NldF9zaW5rX2NhcHMpLAoJICAoZ3N0X3NwZWN0cnVtX2dldF9zaW5rX2NhcHMpLCAoZ3N0X3NwZWN0cnVtX2NoYWluKToKCSAgVXNlIGJvaWxlcnBsYXRlIG1hY3JvLCBmaXggc3RyaW5ncyB0byBtYXRjaCBwbHVnaW4tbW92YWwtcmVxdWlyZW1lbnRzCgoyMDA2LTA1LTIxIDE2OjIzOjIzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06IExpbmsgdG8gYmFzZSBsaWJyYXJpZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICBMaW5rIHRvIGJhc2UgbGlicmFyaWVzCgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChtYWluKToKCSAgdXNlIG5ldyB0aHJlc2hob2xkIHByb3BlcnR5CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1faW5pdCksIChnc3Rfc3BlY3RydW1fZGlzcG9zZSksCgkgIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5KSwgKGdzdF9zcGVjdHJ1bV9zZXRfc2lua19jYXBzKSwKCSAgKGdzdF9zcGVjdHJ1bV9nZXRfc2lua19jYXBzKSwgKGdzdF9zcGVjdHJ1bV9jaGFpbiksCgkgIChnc3Rfc3BlY3RydW1fY2hhbmdlX3N0YXRlKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgVXNlIGdzdF9hZGFwdGVyLCBzdXBwb3J0IG11bHRpcGxlLWNoYW5uZWxzLCBhZGQgdGhyZXNob2xkIHByb3BlcnR5IGZvcgoJICByZXN1bHQsIGFkZCBkb2NzLCBmaXggcmVzdWx0aW5nIHNwZWN0cnVtIHJhbmdlICh3YXMgaW5jbHVkaW5nIG1pcnJvcmVkCgkgIHJlc3VsdHMpCgoyMDA2LTA1LTIwIDIyOjQyOjE1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBJbml0aWFsIHBvcnQgb2YgdGhlIHNwZWN0cnVtIGVsZW1lbnQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAoc3BlY3RydW1fY2hhaW4pLCAobWFpbik6CgkgICogZ3N0L3NwZWN0cnVtL2ZpeF9mZnQuYzogKGdzdF9zcGVjdHJ1bV9maXhfZG90KToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9nZXRfdHlwZSksCgkgIChnc3Rfc3BlY3RydW1fYmFzZV9pbml0KSwgKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9pbml0KSwgKGdzdF9zcGVjdHJ1bV9kaXNwb3NlKSwKCSAgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHkpLCAoZ3N0X3NwZWN0cnVtX2NoYWluKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgSW5pdGlhbCBwb3J0IG9mIHRoZSBzcGVjdHJ1bSBlbGVtZW50CgoyMDA2LTA1LTE5IDE4OjU4OjA1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJICBJIGZvcmdldCB0byBhZGQgc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmMgaW4gbGFzIGNvbW1pdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSSBmb3JnZXQgdG8gYWRkIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jIGluIGxhcyBjb21taXQKCjIwMDYtMDUtMTkgMTg6MzE6MjUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBTb21lIGNsZWFuLXVwcyByZXF1ZXN0ZWQgYnkgd2luZ28gaW4gYnVnICMzMzg4MTguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTb21lIGNsZWFuLXVwcyByZXF1ZXN0ZWQgYnkgd2luZ28gaW4gYnVnICMzMzg4MTguCgoyMDA2LTA1LTE5IDE0OjE3OjA0ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuKjogVXNlIHNhbXBsaW5nIHJhdGUgZnJvbSBzZXRfY2Fwcy4gQ29tbWVudCBvdXQgc29tZSBtb3JlIHVudXNlZCBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzogKGFsc2FzcGRpZnNpbmtfYmFzZV9pbml0KSwKCSAgKGFsc2FzcGRpZnNpbmtfY2xhc3NfaW5pdCksIChhbHNhc3BkaWZzaW5rX2luaXQpLAoJICAoYWxzYXNwZGlmc2lua19kaXNwb3NlKSwgKGFsc2FzcGRpZnNpbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGFsc2FzcGRpZnNpbmtfZ2V0X3Byb3BlcnR5KSwgKGFsc2FzcGRpZnNpbmtfc2V0X2NhcHMpLAoJICAoYWxzYXNwZGlmc2lua19nZXRfdGltZSksIChhbHNhc3BkaWZzaW5rX29wZW4pLAoJICAoYWxzYXNwZGlmc2lua19jbG9zZSksIChhbHNhc3BkaWZzaW5rX2ZpbmRfcGNtX2RldmljZSksCgkgIChhbHNhc3BkaWZzaW5rX3dyaXRlX2ZyYW1lKSwgKGFsc2FzcGRpZnNpbmtfZXZlbnQpLAoJICAoYWxzYXNwZGlmc2lua19nZXRfdGltZXMpLCAoYWxzYXNwZGlmc2lua19jdXJyZW50X2RlbGF5KSwKCSAgKGdlbmVyYXRlX2llYzk1OF96ZXJvX2ZyYW1lKSwgKGFsc2FzcGRpZnNpbmtfcmVuZGVyKSwKCSAgKGlnbm9yZV9hbHNhX2VyciksIChhbHNhc3BkaWZzaW5rX2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmg6CgkgIFVzZSBzYW1wbGluZyByYXRlIGZyb20gc2V0X2NhcHMuIENvbW1lbnQgb3V0IHNvbWUgbW9yZSB1bnVzZWQgY29kZS4KCjIwMDYtMDUtMTggMTk6MzQ6NDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQ2hlY2sgZm9yIFgxMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENoZWNrIGZvciBYMTEKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IChnc3RfdjRsMl9jbGFzc19wcm9iZV9kZXZpY2VzKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfaWZhY2Vfc3VwcG9ydGVkKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6IChnc3RfdjRsMl94b3ZlcmxheV9vcGVuKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSAgQ29kZSBjbGVhbnVwcywgZml4IGRlYnVnIG1hY3JvcwoKMjAwNi0wNS0xOCAxMzoxMjoxOSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L01ha2VmaWxlLmFtOiBGaXggZGlzdGNoZWNrPwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIEZpeCBkaXN0Y2hlY2s/CgoyMDA2LTA1LTE4IDEyOjUxOjAxICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBBZGQgYW4gYWxzYSBwbHVnaW4gdG8gb3V0cHV0IElFQzk1OCBmcmFtZXMgb3ZlciBTL1BESUYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvYWxzYXNwZGlmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOiAoYWxzYXNwZGlmc2lua19iYXNlX2luaXQpLAoJICAoYWxzYXNwZGlmc2lua19jbGFzc19pbml0KSwgKGFsc2FzcGRpZnNpbmtfaW5pdCksCgkgIChhbHNhc3BkaWZzaW5rX2Rpc3Bvc2UpLCAoYWxzYXNwZGlmc2lua19zZXRfcHJvcGVydHkpLAoJICAoYWxzYXNwZGlmc2lua19nZXRfcHJvcGVydHkpLCAoYWxzYXNwZGlmc2lua19wcm92aWRlX2Nsb2NrKSwKCSAgKGFsc2FzcGRpZnNpbmtfZ2V0X3RpbWUpLCAoYWxzYXNwZGlmc2lua19vcGVuKSwKCSAgKGFsc2FzcGRpZnNpbmtfY2xvc2UpLCAoYWxzYXNwZGlmc2lua19maW5kX3BjbV9kZXZpY2UpLAoJICAoYWxzYXNwZGlmc2lua193cml0ZV9mcmFtZSksIChhbHNhc3BkaWZzaW5rX2V2ZW50KSwKCSAgKGFsc2FzcGRpZnNpbmtfZ2V0X3RpbWVzKSwgKGFsc2FzcGRpZnNpbmtfY3VycmVudF9kZWxheSksCgkgIChnZW5lcmF0ZV9pZWM5NThfemVyb19mcmFtZSksIChhbHNhc3BkaWZzaW5rX3JlbmRlciksCgkgIChpZ25vcmVfYWxzYV9lcnIpLCAoYWxzYXNwZGlmc2lua19jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5oOgoJICBBZGQgYW4gYWxzYSBwbHVnaW4gdG8gb3V0cHV0IElFQzk1OCBmcmFtZXMgb3ZlciBTL1BESUYKCjIwMDYtMDUtMTcgMDk6Mzk6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IFJlbW92ZSB1bnVzZWQgY2FwcyBjcnVmdCBmcm9tIGNoYWluIGZ1bmN0aW9uIGFsdG9nZXRoZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX3VwZGF0ZV9jYXBzKSwgKGdzdF9mYWFkX2NoYWluKToKCSAgUmVtb3ZlIHVudXNlZCBjYXBzIGNydWZ0IGZyb20gY2hhaW4gZnVuY3Rpb24gYWx0b2dldGhlci4KCjIwMDYtMDUtMTcgMDk6MTU6NTUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IFRoZXJlJ3Mgbm8gZ3VhcmFudGVlIHRoYXQgY2FwcyB3YXMgc2V0IHRvIHNvbWV0aGluZywgYW5kIGlmIGl0IGRpZCwgdGhlIGZ1bmN0aW9uIGNhbGxlZCB0byBmaWxsIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfY2hhaW4pOgoJICBUaGVyZSdzIG5vIGd1YXJhbnRlZSB0aGF0IGNhcHMgd2FzIHNldCB0byBzb21ldGhpbmcsIGFuZCBpZiBpdCBkaWQsIHRoZQoJICBmdW5jdGlvbiBjYWxsZWQgdG8gZmlsbCB0aGF0IHZhcmlhYmxlIGFjdHVhbGx5IHNldHMgdGhlIGNhcHMgb24gdGhlCgkgIHNvdXJjcGFkLCBzbyB3ZSBjYWxsIGdzdF9wYWRfYWxsb2NfYnVmZmVyX2FuZF9zZXRfY2FwcygpIHVzaW5nCgkgIEdTVF9QQURfQ0FQUyhmYWFkLT5zcmNwYWQpLgoKMjAwNi0wNS0xNSAxMDoxMDowOCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogY29tbW9uOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgbGF0ZXN0IGNoYW5nZXMgd2l0aCBhZGRpdGlvbnMgYW5kIHJlbW92YWxzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBsYXRlc3QgY2hhbmdlcyB3aXRoIGFkZGl0aW9ucyBhbmQgcmVtb3ZhbHMKCjIwMDYtMDUtMTMgMTg6Mzk6MTMgKzAwMDAgIFlvdW5nLUhvIENoYSA8Z2FuYWRpc3RAY2hvbGxpYW4ubmV0PgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC4qOiBJZiB3ZSBlbmNvdW50ZXIgYSBkZWNvZGluZyBlcnJvciwgZG9uJ3QgZXJyb3Igb3V0IGltbWVkaWF0ZWx5LCBidXQgdHJ5IHRvIHJlc3luYyAob3Igc2VlIGlmIHdlIGhhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogWW91bmctSG8gQ2hhICA8Z2FuYWRpc3QgY2hvbGxpYW4gbmV0PgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2luaXQpLCAoZ3N0X2ZhYWRfY2hhaW4pLAoJICAoZ3N0X2ZhYWRfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmg6CgkgIElmIHdlIGVuY291bnRlciBhIGRlY29kaW5nIGVycm9yLCBkb24ndCBlcnJvciBvdXQgaW1tZWRpYXRlbHksCgkgIGJ1dCB0cnkgdG8gcmVzeW5jIChvciBzZWUgaWYgd2UgaGF2ZSBiZXR0ZXIgbHVjayB3aXRoIHRoZSBuZXh0CgkgIGJ1ZmZlciBpbiBjYXNlIG9mIGZyYW1lZCBpbnB1dCkuIE9ubHkgZXJyb3Igb3V0IGFmdGVyIGZpdmUKCSAgY29uc2VjdXRpdmUgZXJyb3JzLiBGaXhlcyAjMzQxNTYzLgoKMjAwNi0wNS0xMiAxMDo0Mzo0OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC94dmlkL2dzdHh2aWRlbmMuYzogQ29tcGlsZSBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOiAoZ3N0X3h2aWRlbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfeHZpZGVuY19pbml0KSwgKGdzdF94dmlkZW5jX2ZpbmFsaXplKSwKCSAgKGdzdF94dmlkZW5jX2hhbmRsZV9zaW5rX2V2ZW50KSwgKGdzdF94dmlkZW5jX3NldHVwKSwKCSAgKGdzdF94dmlkZW5jX3NldGNhcHMpLCAoZ3N0X3h2aWRlbmNfZW5jb2RlKSwgKGdzdF94dmlkZW5jX2NoYWluKSwKCSAgKGdzdF94dmlkZW5jX2ZsdXNoX2J1ZmZlcnMpLCAoZ3N0X3h2aWRlbmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF94dmlkZW5jX2dldF9wcm9wZXJ0eSk6CgkgIENvbXBpbGUgZml4ZXMuCgoyMDA2LTA1LTEyIDA5OjI4OjE1ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZXh0L3h2aWQvOiB4dmlkIHBsdWdpbiB0byBzdXBwb3J0IG1vcmUgY2FwYWJpbGl0aWVzIG9mIFh2aUQgY29kZWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3IGF0IHNreW5ldCBkb3QgYmU+CgkgICogZXh0L3h2aWQvZ3N0eHZpZC5jOiAoZ3N0X3h2aWRfaW5pdCksIChnc3RfeHZpZF9zdHJ1Y3R1cmVfdG9fY3NwKSwKCSAgKGdzdF94dmlkX2NzcF90b19jYXBzKSwgKGdzdF94dmlkX2ltYWdlX2dldF9zaXplKSwKCSAgKGdzdF94dmlkX2ltYWdlX2ZpbGwpOgoJICAqIGV4dC94dmlkL2dzdHh2aWQuaDoKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6IChnc3RfeHZpZGRlY19jbGFzc19pbml0KSwKCSAgKGdzdF94dmlkZGVjX2luaXQpLCAoZ3N0X3h2aWRkZWNfcmVzZXQpLCAoZ3N0X3h2aWRkZWNfdW5zZXQpLAoJICAoZ3N0X3h2aWRkZWNfaGFuZGxlX3NpbmtfZXZlbnQpLCAoZ3N0X3h2aWRkZWNfc2V0dXApLAoJICAoZ3N0X3h2aWRkZWNfYWRkX3BhciksIChnc3RfeHZpZGRlY19uZWdvdGlhdGUpLAoJICAoZ3N0X3h2aWRkZWNfZGVjb2RlKSwgKGdzdF94dmlkZGVjX2NoYWluKSwKCSAgKGdzdF94dmlkZGVjX2ZsdXNoX2J1ZmZlcnMpLCAoZ3N0X3h2aWRkZWNfc3JjX2dldGNhcHMpLAoJICAoZ3N0X3h2aWRkZWNfc3JjX2xpbmspLCAoZ3N0X3h2aWRkZWNfc2V0Y2FwcyksCgkgIChnc3RfeHZpZGRlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuaDoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6IChnc3RfeHZpZGVuY19wcm9maWxlX2dldF90eXBlKSwKCSAgKGdzdF94dmlkZW5jX3F1YW50X3R5cGVfZ2V0X3R5cGUpLCAoZ3N0X3h2aWRlbmNfcGFzc19nZXRfdHlwZSksCgkgIChnc3RfeHZpZGVuY19nZXRfdHlwZSksIChnc3RfeHZpZGVuY19iYXNlX2luaXQpLAoJICAoZ3N0X3h2aWRlbmNfY2xhc3NfaW5pdCksIChnc3RfeHZpZGVuY19pbml0KSwKCSAgKGdzdF94dmlkZW5jX2ZpbmFsaXplKSwgKGdzdF94dmlkZW5jX2hhbmRsZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF94dmlkZW5jX3NldHVwKSwgKGdzdF94dmlkZW5jX3NldGNhcHMpLCAoZ3N0X3h2aWRlbmNfZW5jb2RlKSwKCSAgKGdzdF94dmlkZW5jX2NoYWluKSwgKGdzdF94dmlkZW5jX2ZsdXNoX2J1ZmZlcnMpLAoJICAoZ3N0X3h2aWRlbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF94dmlkZW5jX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfeHZpZGVuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuaDoKCSAgeHZpZCBwbHVnaW4gdG8gc3VwcG9ydCBtb3JlIGNhcGFiaWxpdGllcyBvZiBYdmlEIGNvZGVjLgoJICBGaXhlcyAjMzM5NDYyLgoJICBTb21lIG1vcmUgY2xlYW51cHMgaGVyZSBhbmQgdGhlcmUuCgoyMDA2LTA1LTExIDIwOjQ3OjUwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgcHV0IGJhY2sgLW5vLXVuZGVmaW5lZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcHV0IGJhY2sgLW5vLXVuZGVmaW5lZAoKMjAwNi0wNS0xMSAxNzo1OTo1OSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBDaGFuZ2VzIHByb3Bvc2VkIGJ5IFdpbmdvIGluIGJ1ZyAjMzM4ODE4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlcyBwcm9wb3NlZCBieSBXaW5nbyBpbiBidWcgIzMzODgxOC4KCjIwMDYtMDUtMTEgMDk6MDk6NDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpZ3VyZSBvdXQgdGhlIHJlYWwgYXVkaW8gdHlwZSBpbiBtcDRhIGJveGVzIGJ5IHBhcnNpbmcgdGhlIG9wdGlvbmFsIGRlc2NyaXB0b3JzIGluIHRoZSBvcHRpb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX2VzZHMpOgoJICBGaWd1cmUgb3V0IHRoZSByZWFsIGF1ZGlvIHR5cGUgaW4gbXA0YSBib3hlcyBieSBwYXJzaW5nIHRoZQoJICBvcHRpb25hbCBkZXNjcmlwdG9ycyBpbiB0aGUgb3B0aW9uYWwgZXNkcyBib3guIFByb21vdGUgdGhlCgkgIGRlZmF1bHQgQUFDIHRvIG1wMyB3aGVuIGluZGljYXRlZC4gRml4ZXMgIzMzMDYzMi4KCjIwMDYtMDUtMTAgMTc6NDQ6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFBhcnNlIHZlcnNpb24gMiBzYW1wbGUgZGVzY3JpcHRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlKSwgKHF0ZGVtdXhfZHVtcF91bmtub3duKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChnc3RfcXRkZW11eF9oYW5kbGVfZXNkcyk6CgkgIFBhcnNlIHZlcnNpb24gMiBzYW1wbGUgZGVzY3JpcHRpb25zLgoJICBEb24ndCAjZGVmaW5lIGdzdF91dGlsX2R1bXBfbWVtKCksIHVzZSBzb21ldGhpbmcgbW9yZQoJICBzcGVjaWZpYyBpbnN0ZWFkIHRvIGF2b2lkIGNvbmZ1c2lvbi4KCjIwMDYtMDUtMDggMTk6MjE6MTggKzAwMDAgIE1hcnRpbiBSdWJsaSA8bWFydGluX3J1YmxpQGxvZ2l0ZWNoLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEZpeCBmb3VyY2MgbmFtZSBwcmludGVkIG91dC4gUGF0Y2ggZnJvbSBNYXJ0aW4gUnVibGkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggZm91cmNjIG5hbWUgcHJpbnRlZCBvdXQuIFBhdGNoIGZyb20gTWFydGluIFJ1YmxpLgoKMjAwNi0wNS0wOCAxNToyMDoxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgY2F1c2Ugc2lkZSBlZmZlY3RzIGluIGEgZGVidWdnaW5nIGZ1bmN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKHF0ZGVtdXhfZHVtcF9tdmhkKToKCSAgRG9uJ3QgY2F1c2Ugc2lkZSBlZmZlY3RzIGluIGEgZGVidWdnaW5nIGZ1bmN0aW9uLgoJICBBbHNvIHJlcG9ydCBkdXJhdGlvbiBpbiBwdXNoIG1vZGUgc2luY2Ugd2UgY2FuLgoKMjAwNi0wNS0wOCAxMTo1NTowMiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGF1dG9nZW4uc2g6IGxpYnRvb2xpemUgb24gRGFyd2luL01hY09TWCBpcyBjYWxsZWQgZ2xpYnRvb2xpemUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYXV0b2dlbi5zaDogKENPTkZJR1VSRV9ERUZfT1BUKToKCSAgbGlidG9vbGl6ZSBvbiBEYXJ3aW4vTWFjT1NYIGlzIGNhbGxlZCBnbGlidG9vbGl6ZQoKMjAwNi0wNS0wNiAwMDoxNTo1OSArMDAwMCAgTWFjaWVqIEthdGFmaWFzeiA8bWF0aHJpY2tAbWF0aHJpY2sub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzoKCSogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZXh0L3hpbmUveGluZS5jOgoJKiBleHQveGluZS94aW5lYXVkaW9kZWMuYzoKCSogZXh0L3hpbmUveGluZWF1ZGlvc2luay5jOgoJKiBleHQveGluZS94aW5laW5wdXQuYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSAgQWRkIHNlbWljb2xvbnMgYWZ0ZXIgR1NUX0JPSUxFUlBMQVRFW19GVUxMXSBzbyB0aGF0IGluZGVudCBkb2Vzbid0IG1lc3MgdXAgZm9sbG93aW5nIGxpbmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIHNlbWljb2xvbnMgYWZ0ZXIgR1NUX0JPSUxFUlBMQVRFW19GVUxMXSBzbyB0aGF0IGluZGVudCBkb2Vzbid0IG1lc3MgdXAgZm9sbG93aW5nIGxpbmVzLgoKMjAwNi0wNS0wNSAyMDoxMjo1OSArMDAwMCAgTWFydGluIFJ1YmxpIDxtYXJ0aW5fcnVibGlAbG9naXRlY2guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBTb21lIGNoYW5nZXMgcHJvcG9zZWQgYnkgd2luZ28gaW4gYnVnICMzMzg4MTggKGJ1dCBub3QgZXZlcnl0aGluZyB5ZXQpLiBQYXRjaCBmcm9tIE1hcnRpbiBSdWJsaSB0byBmaXggZnJhbWVyYXRlIGRldGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNvbWUgY2hhbmdlcyBwcm9wb3NlZCBieSB3aW5nbyBpbiBidWcgIzMzODgxOCAoYnV0IG5vdCBldmVyeXRoaW5nIHlldCkuIFBhdGNoIGZyb20gTWFydGluIFJ1YmxpIHRvIGZpeCBmcmFtZXJhdGUgZGV0ZWN0aW9uLgoKMjAwNi0wNS0wNSAxNTo1MDoxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6IFVzZSAoTlVMTCkgaW5zdGVhZCBvZiBqdXN0IE5VTEwgaW4gR1NUX0VMRU1FTlRfRVJST1IgbWFjcm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6IChnc3Rfc2RsYXVkaW9fc2lua19wcmVwYXJlKToKCSAgVXNlIChOVUxMKSBpbnN0ZWFkIG9mIGp1c3QgTlVMTCBpbiBHU1RfRUxFTUVOVF9FUlJPUiBtYWNyby4KCjIwMDYtMDUtMDQgMTU6MzI6MTAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIENWUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gQ1ZTCgo9PT0gcmVsZWFzZSAwLjEwLjMgPT09CgoyMDA2LTA1LTA0IDE1OjI4OjUzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2xpbWFnZXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgIFJlYWxseSByZWxlYXNlIDAuMTAuMyB0aGlzIHRpbWUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlYWxseSByZWxlYXNlIDAuMTAuMyB0aGlzIHRpbWUKCjIwMDYtMDUtMDQgMTU6MDk6MTMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkgIFBlcmZvcm0gdmVyc2lvbiBudW1iZXIgc3VyZ2VyeSB0byBjb3JyZWN0bHkgcmVsZWFzZSB0YXJiYWxscyBvZiAwLjEwLjMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBlcmZvcm0gdmVyc2lvbiBudW1iZXIgc3VyZ2VyeSB0byBjb3JyZWN0bHkgcmVsZWFzZSB0YXJiYWxscyBvZiAwLjEwLjMKCjIwMDYtMDUtMDQgMTQ6NTI6NTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIENWUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gQ1ZTCgoyMDA2LTA1LTA0IDE0OjUxOjA2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbGltYWdlc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgUmVsZWFzZSAwLjEwLjMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbGVhc2UgMC4xMC4zCgoyMDA2LTA1LTA0IDA5OjI5OjI0ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOiBGaXggYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA1LTA0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06IEZpeCBidWlsZC4KCjIwMDYtMDUtMDMgMjE6NDg6MjIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA2LTA1LTAzIDE2OjU0OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L211c2ljYnJhaW56L01ha2VmaWxlLmFtOiBBZGQgR1NUX1BMVUdJTlNfQkFTRV9DRkxBR1MgdG8gQ0ZMQUdTIGZvciBnc3QvdGFnL3RhZy5oCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSAgQWRkIEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTIHRvIENGTEFHUyBmb3IgZ3N0L3RhZy90YWcuaAoKMjAwNi0wNS0wMyAxNDozMDoyMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IENsZWFuIHVwIG9uZSBwaWVjZSBvZiBsb2dpYyBzbGlnaHRseSBhbmQgcmVtb3ZlIGEgZGVhZCBjb2RlIGJsb2NrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBDbGVhbiB1cCBvbmUgcGllY2Ugb2YgbG9naWMgc2xpZ2h0bHkgYW5kIHJlbW92ZSBhCgkgIGRlYWQgY29kZSBibG9jay4KCjIwMDYtMDUtMDMgMTM6MjA6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBFdmVyeWJvZHkgbG92ZXMgZG9jcyAtIGFkZCBkb2NzIGZvciBtdXNpY2JyYWlueiBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmg6CgkgIEV2ZXJ5Ym9keSBsb3ZlcyBkb2NzIC0gYWRkIGRvY3MgZm9yIG11c2ljYnJhaW56IHBsdWdpbi4KCjIwMDYtMDUtMDMgMTI6MDE6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvTWFrZWZpbGUuYW06IEFkZCBtdXNpY2JyYWlueiBkaXIgdG8gRElTVF9TVUJESVJTIGFzIHdlbGwgKGZpeGVzIGRpc3RjaGVjaykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgQWRkIG11c2ljYnJhaW56IGRpciB0byBESVNUX1NVQkRJUlMgYXMgd2VsbCAoZml4ZXMgZGlzdGNoZWNrKS4KCjIwMDYtMDUtMDMgMTE6MzQ6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvTWFrZWZpbGUuYW06IEZvcmdvdCB0byBjb21taXQgdGhpcyBvbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgRm9yZ290IHRvIGNvbW1pdCB0aGlzIG9uZS4KCjIwMDYtMDUtMDMgMTE6Mjc6NDIgKzAwMDAgIEphbWVzIERvYyBMaXZpbmdzdG9uIDxkb2NsaXZpbmdzdG9uQGdtYWlsLmNvbT4KCgkgIFBvcnQgTXVzaWNCcmFpbnogVFJNIHBsdWdpbiAoIzMzNjg5OCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmFtZXMgIkRvYyIgTGl2aW5nc3RvbiAgPGRvY2xpdmluZ3N0b24gZ21haWwgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvbXVzaWNicmFpbnovTWFrZWZpbGUuYW06CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X3RybV9iYXNlX2luaXQpLAoJICAoZ3N0X3RybV9jbGFzc19pbml0KSwgKGdzdF90cm1faW5pdCksIChnc3RfdHJtX3NldGNhcHMpLAoJICAoZ3N0X3RybV9jaGFpbiksIChnc3RfdHJtX2VtaXRfc2lnbmF0dXJlKSwgKGdzdF90cm1fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF90cm1fZ2V0X3Byb3BlcnR5KSwgKGdzdF90cm1fY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmg6CgkgIFBvcnQgTXVzaWNCcmFpbnogVFJNIHBsdWdpbiAoIzMzNjg5OCkuCgoyMDA2LTA1LTAzIDEwOjI1OjQ2ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IEZpeCAjMzM0NzQ4OiB1c2UgZmFrZV9jb2RlY19kYXRhIGlmIHRoZSBmaXJzdCBieXRlcyBvZiB0aGUgZmlyc3QgYnVmZmVyIHdlIHByb2Nlc3MgZG9lc24ndCBsb29rIGwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfc2V0Y2FwcyksCgkgIChsb29rc19saWtlX3ZhbGlkX2hlYWRlciksIChnc3RfZmFhZF9jaGFpbik6CgkgIEZpeCAjMzM0NzQ4OiB1c2UgZmFrZV9jb2RlY19kYXRhIGlmIHRoZSBmaXJzdCBieXRlcyBvZiB0aGUgZmlyc3QKCSAgYnVmZmVyIHdlIHByb2Nlc3MgZG9lc24ndCBsb29rIGxpa2UgcGxhdXNpYmxlIEFBQyBkYXRhIChlLmcuCgkgIHJlc2VydmVkIHZhbHVlcyBmb3IgcmF0ZSwgb3IgY2hhbm5lbHMpLiBGaXhlcyBwbGF5YmFjayBvZiBBcHBsZSdzCgkgIG1vdmllIHRyYWlsZXJzLgoKMjAwNi0wNS0wMiAyMTo1Mjo0OCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEZpeCBnZXRfY2FwcyBmdW5jIHRvIHdvcmsgd2hlbiBubyBmcmFtZXJhdGUgaXMgYXZhaWxhYmxlIGFuZCB0aGUgY2FwcyBpc24ndCBzaW1wbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggZ2V0X2NhcHMgZnVuYyB0byB3b3JrIHdoZW4gbm8gZnJhbWVyYXRlIGlzIGF2YWlsYWJsZSBhbmQgdGhlIGNhcHMgaXNuJ3Qgc2ltcGxlLgoKMjAwNi0wNS0wMSAyMTozNzo1MSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIEZldyBpbXByb3ZlbWVudHMgdG8gbW92ZSB0byBnb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRmV3IGltcHJvdmVtZW50cyB0byBtb3ZlIHRvIGdvb2QuCgoyMDA2LTA1LTAxIDE3OjU4OjM4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIG1vdmVkIHRvIGdvb2QuICBDbG9zZXMgIzMzNjExMAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguaDoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RhZ2lkM3YybXV4LmM6CgkgIG1vdmVkIHRvIGdvb2QuICBDbG9zZXMgIzMzNjExMAoKMjAwNi0wNC0zMCAxNjoxNjo1OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgc21hbGwgY2xlYW51cHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNtYWxsIGNsZWFudXBzCgoyMDA2LTA0LTMwIDE1OjMyOjEzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIGZpeCBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggZG9jcwoKMjAwNi0wNC0zMCAxNToxMzo0OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgIHVwZGF0ZWQgZWxlbWVudCBwcm9wZXJ0aWVzIGFuZCBzaWduYWxzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGVkIGVsZW1lbnQgcHJvcGVydGllcyBhbmQgc2lnbmFscwoKMjAwNi0wNC0zMCAxNToxMTo0NiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvLmdpdGlnbm9yZToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgaWdub3JlIG1vcmU7IGFkZCBuZXcgaW5zcGVjdCBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgaWdub3JlIG1vcmU7IGFkZCBuZXcgaW5zcGVjdCBmaWxlcwoKMjAwNi0wNC0zMCAxNDo1OTozOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC1saXN0LnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtdW5kb2N1bWVudGVkLnR4dDoKCSAgcmVtb3ZlIGZpbGVzIHRoYXQgc2hvdWxkIG5vdCBiZSBpbiBjdnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSBmaWxlcyB0aGF0IHNob3VsZCBub3QgYmUgaW4gY3ZzCgoyMDA2LTA0LTMwIDE0OjU4OjI5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGRvY3MvcGx1Z2lucy86IEZpeCB1cCBkb2NzIGZvciB0YWdsaWIgcGx1Z2luCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC1saXN0LnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy11bmRvY3VtZW50ZWQudHh0OgoJICBGaXggdXAgZG9jcyBmb3IgdGFnbGliIHBsdWdpbgoJICBBbHNvIHNjYW4gLmNjIGZpbGVzCgoyMDA2LTA0LTMwIDE0OjU1OjE1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJICB1cGRhdGUgdG8gbGF0ZXN0IHZlcnNpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSB0byBsYXRlc3QgdmVyc2lvbgoKMjAwNi0wNC0yOSAxODo0NjozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOiBQb3N0IGFuIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBpbiB0aGUgKGV4dHJlbWVseSB1bmxpa2VseSkgY2FzZSBvZiBhbiBlcnJvci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkgIFBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGluIHRoZSAoZXh0cmVtZWx5IHVubGlrZWx5KQoJICBjYXNlIG9mIGFuIGVycm9yLgoKMjAwNi0wNC0yOSAxODoxODoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvOiBTcGxpdCB0aGUgYWN0dWFsIElEM3YyIHRhZyByZW5kZXJpbmcgY29kZSBpbnRvIGl0cyBvd24gc3ViY2xhc3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4Lmg6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuaDoKCSAgU3BsaXQgdGhlIGFjdHVhbCBJRDN2MiB0YWcgcmVuZGVyaW5nIGNvZGUgaW50bwoJICBpdHMgb3duIHN1YmNsYXNzLgoKMjAwNi0wNC0yOSAxNTozNjoxNiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuKjogYWRkZWQgaXJhZGlvLW1vZGUgc3VwcG9ydCBhcyBpbiBnbm9tZXZmc3NyYyB0byBlbmFibGUgY29ubmVjdGlvbnMgd2l0aCBpY3lkZW11eCB0aGF0IHdpbGwgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgYWRkZWQgaXJhZGlvLW1vZGUgc3VwcG9ydCBhcyBpbiBnbm9tZXZmc3NyYyB0byBlbmFibGUKCSAgY29ubmVjdGlvbnMgd2l0aCBpY3lkZW11eCB0aGF0IHdpbGwgc2VuZCB0aXRsZSB0YWcgbWVzc2FnZXMgb24KCSAgc2hvdXRjYXN0L2ljZWNhc3Qgc3RyZWFtcy4gSSd2ZSBhbHNvIGFkZGVkIGlyYWRpbyBwcm9wZXJ0aWVzCgkgIGlyYWRpby1uYW1lLCBpcmFkaW8tZ2VucmUsIGlyYWRpby11cmwuCgkgIGFkZGVkIHVzZXItYWdlbnQgcHJvcGVydHkgYmVjYXVzZSBzb21lIHNob3V0Y2FzdCBzdHJlYW1zIGRvbid0IHJldHVybgoJICBkYXRhIGlmIHRoZSBHRVQgcmVxdWVzdHMgZG9uJ3QgaGF2ZSBhIFVzZXItQWdlbnQuCgkgICogd2luMzIvY29tbW9uL2xpYmdzdG5lb24uZHNwOgoJICB1c2UgZGVidWcgdmVyc2lvbiBvZiBsaWJuZW9uIGluIGRlYnVnIG1vZGUKCjIwMDYtMDQtMjggMjE6NDM6MDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdGFnaWQzdjJtdXguYzoKCSAgZWxlbWVudCByZW5hbWVkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBlbGVtZW50IHJlbmFtZWQKCjIwMDYtMDQtMjggMTk6NDY6MzYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIG1ha2UgR3N0RWxlbWVudERldGFpbHMgY29uc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYW1peGVyZWxlbWVudC5jOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FzcmMuYzoKCSAgKiBleHQvY2RwYXJhbm9pYS9nc3RjZHBhcmFub2lhc3JjLmM6CgkgICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc2luay5jOgoJICAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NyYy5jOgoJICAqIGV4dC9vZ2cvZ3N0b2dnZGVtdXguYzoKCSAgKiBleHQvb2dnL2dzdG9nZ211eC5jOgoJICAqIGV4dC9vZ2cvZ3N0b2dncGFyc2UuYzoKCSAgKiBleHQvb2dnL2dzdG9nbXBhcnNlLmM6CgkgICogZXh0L3BhbmdvL2dzdGNsb2Nrb3ZlcmxheS5jOgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0b3ZlcmxheS5jOgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0cmVuZGVyLmM6CgkgICogZXh0L3BhbmdvL2dzdHRpbWVvdmVybGF5LmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWVuYy5jOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzZGVjLmM6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNlbmMuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YXVkaW9maWx0ZXIuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YXVkaW9maWx0ZXJ0ZW1wbGF0ZS5jOgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvZ3N0YXVkaW9jb252ZXJ0LmM6CgkgICogZ3N0L2F1ZGlvcmF0ZS9nc3RhdWRpb3JhdGUuYzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZ3N0L2F1ZGlvdGVzdHNyYy9nc3RhdWRpb3Rlc3RzcmMuYzoKCSAgKiBnc3QvZmZtcGVnY29sb3JzcGFjZS9nc3RmZm1wZWdjb2xvcnNwYWNlLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdGRlY29kZWJpbi5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmluLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdHN0cmVhbXNlbGVjdG9yLmM6CgkgICogZ3N0L3N1YnBhcnNlL2dzdHN1YnBhcnNlLmM6CgkgICogZ3N0L3RjcC9nc3RtdWx0aWZkc2luay5jOgoJICAqIGdzdC90Y3AvZ3N0dGNwY2xpZW50c2luay5jOgoJICAqIGdzdC90Y3AvZ3N0dGNwY2xpZW50c3JjLmM6CgkgICogZ3N0L3RjcC9nc3R0Y3BzZXJ2ZXJzaW5rLmM6CgkgICogZ3N0L3RjcC9nc3R0Y3BzZXJ2ZXJzcmMuYzoKCSAgKiBnc3QvdHlwZWZpbmQvZ3N0dHlwZWZpbmRmdW5jdGlvbnMuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvdmlkZW9yYXRlL2dzdHZpZGVvcmF0ZS5jOgoJICAqIGdzdC92aWRlb3NjYWxlL2dzdHZpZGVvc2NhbGUuYzoKCSAgKiBnc3QvdmlkZW90ZXN0c3JjL2dzdHZpZGVvdGVzdHNyYy5jOgoJICAqIGdzdC92b2x1bWUvZ3N0dm9sdW1lLmM6CgkgICogc3lzL3Y0bC9nc3R2NGxqcGVnc3JjLmM6CgkgICogc3lzL3Y0bC9nc3R2NGxtanBlZ3NpbmsuYzoKCSAgKiBzeXMvdjRsL2dzdHY0bG1qcGVnc3JjLmM6CgkgICogc3lzL3Y0bC9nc3R2NGxzcmMuYzoKCSAgKiBzeXMveGltYWdlL3hpbWFnZXNpbmsuYzoKCSAgKiBzeXMveHZpbWFnZS94dmltYWdlc2luay5jOgoJICAqIHRlc3RzL2NoZWNrL2xpYnMvY2RkYWJhc2VzcmMuYzoKCSAgbWFrZSBHc3RFbGVtZW50RGV0YWlscyBjb25zdAoKMjAwNi0wNC0yOCAxOToyNDo0MCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSAgcmVtb3ZlZCBwbHVnaW4gZG9jCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmVkIHBsdWdpbiBkb2MKCjIwMDYtMDQtMjggMTk6MjM6MjAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLWxpc3QudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy11bmRvY3VtZW50ZWQudHh0OgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy94aW1hZ2VzcmMvTWFrZWZpbGUuYW06CgkqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6CgkqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmg6CgkqIHN5cy94aW1hZ2VzcmMveGltYWdldXRpbC5jOgoJKiBzeXMveGltYWdlc3JjL3hpbWFnZXV0aWwuaDoKCSogdGVzdHMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOgoJICBtb3ZlZCB4aW1hZ2VzcmMgdG8gZ29vZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW92ZWQgeGltYWdlc3JjIHRvIGdvb2QKCjIwMDYtMDQtMjggMTY6NTE6MzMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzoKCSogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuaDoKCSAgYm9yZ2lmeSBuYW1pbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJvcmdpZnkgbmFtaW5nCgoyMDA2LTA0LTI4IDE2OjQ2OjUyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6CgkgIGRvYyB0d2Vha3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvYyB0d2Vha3MKCjIwMDYtMDQtMjggMTY6MTU6MjAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogc3lzL3hpbWFnZXNyYy9NYWtlZmlsZS5hbToKCSogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzoKCSAgY2xlYW4gdXAgTWFrZWZpbGUuYW0KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNsZWFuIHVwIE1ha2VmaWxlLmFtCgoyMDA2LTA0LTI4IDE1OjMzOjA5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5oOgoJICBwZWRhbnRpYyBjbGVhbnVwcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGVkYW50aWMgY2xlYW51cHMKCjIwMDYtMDQtMjggMTQ6MTc6MDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IEFkZCBzdXBwb3J0IGZvciBvdGhlciBmb3JtYXRzIGF1ZGlvcmVzYW1wbGUgY2FuIGhhbmRsZSBzdWNoIGFzIDMyIGJpdHMgaW4gYW5kIGYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiAoZ3N0X2F1ZGlvcmVzYW1wbGVfaW5pdCksCgkgIChyZXNhbXBsZV9zZXRfc3RhdGVfZnJvbV9jYXBzKToKCSAgQWRkIHN1cHBvcnQgZm9yIG90aGVyIGZvcm1hdHMgYXVkaW9yZXNhbXBsZSBjYW4gaGFuZGxlIHN1Y2ggYXMKCSAgMzIgYml0cyBpbiBhbmQgZmxvYXQgYW5kIDY0IGJpdHMgZmxvYXQuIEZpeGVzICMzMDE3NTkKCjIwMDYtMDQtMjggMTE6MDQ6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmFhZC9nc3RmYWFkLio6IElmIHdlIHJ1biBpbnRvIGEgZGVjb2RpbmcgZXJyb3IsIHRyeSByZS1vcGVuaW5nIHRoZSBkZWNvZGVyIHdpdGggZmFhY0RlY0luaXQyKCkgdXNpbmcgZmFrZSBjb2RlYyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfaW5pdCksIChhYWNfcmF0ZV9pZHgpLAoJICAoZ3N0X2ZhYWRfc2V0Y2FwcyksIChnc3RfZmFhZF9jaGFpbiksIChnc3RfZmFhZF9vcGVuX2RlY29kZXIpLAoJICAoZ3N0X2ZhYWRfY2xvc2VfZGVjb2RlciksIChnc3RfZmFhZF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuaDoKCSAgSWYgd2UgcnVuIGludG8gYSBkZWNvZGluZyBlcnJvciwgdHJ5IHJlLW9wZW5pbmcgdGhlIGRlY29kZXIKCSAgd2l0aCBmYWFjRGVjSW5pdDIoKSB1c2luZyBmYWtlIGNvZGVjIGRhdGEgY3JlYXRlZCBmcm9tIHRoZQoJICBkYXRhIHRoZSBkZW11eGVyIGdhdmUgdXMuIFNob3VsZCBmaXggYSB3aG9sZSBidW5jaCBvZgoJICBHU3RyZWFtZXItZmFhZCBwcm9ibGVtcyBpbmNsLiAnY2hhbm5lbCBjb3VwbGluZyBub3QKCSAgaW1wbGVtZW50ZWQnLCAnbWF4aW11bSBudW1iZXIgb2Ygc2NhbGVmYWN0b3IgYmFuZHMgZXhjZWVkZWQnCgkgIGV0Yy4gKCMxNzMwMDcsICMzMzI4OTIpLgoKMjAwNi0wNC0yNSAyMTo1NjozOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRGVmaW5lIEdzdEVsZW1lbnREZXRhaWxzIGFzIGNvbnN0IGFuZCBhbHNvIHN0YXRpYyAod2hlbiBkZWZpbmVkIGFzIGdsb2JhbCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSAgKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZXh0L2J6Mi9nc3RiejJkZWMuYzoKCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJICAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX2Jhc2VfaW5pdCk6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfYmFzZV9pbml0KToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfYmFzZV9pbml0KToKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0LmM6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6IChnc3RfY2R4YV9wYXJzZV9iYXNlX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9iYXNlX2luaXQpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSAgKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6IChnc3RfcHV6emxlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5jOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzoKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJICAqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuYzogKGdzdF90dGFfZGVjX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9iYXNlX2luaXQpOgoJICAqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOgoJICAqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiAoZ3N0X3hpbmdfbXV4X2Jhc2VfaW5pdCk6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgKiBzeXMvdmNkL3ZjZHNyYy5jOiAoZ3N0X3ZjZHNyY19iYXNlX2luaXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6CgkgIERlZmluZSBHc3RFbGVtZW50RGV0YWlscyBhcyBjb25zdCBhbmQgYWxzbyBzdGF0aWMgKHdoZW4gZGVmaW5lZCBhcwoJICBnbG9iYWwpCgoyMDA2LTA0LTIwIDE4OjAyOjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IEFkZCBzdXBwb3J0IGZvciBzZWdtZW50IHNlZWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzoKCSAgKGdzdF9tdXNlcGFja2RlY19oYW5kbGVfc2Vla19ldmVudCksIChnc3RfbXVzZXBhY2tkZWNfbG9vcCk6CgkgIEFkZCBzdXBwb3J0IGZvciBzZWdtZW50IHNlZWtzLgoKMjAwNi0wNC0yMCAxNzoyOTo1NiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEFkZGVkIGEgY291cGxlIG9mIGlmZGVmcyB0byBtYWtlIGl0IGNvbXBpbGUgd2l0aCBvdGhlciBrZXJuZWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkZWQgYSBjb3VwbGUgb2YgaWZkZWZzIHRvIG1ha2UgaXQgY29tcGlsZSB3aXRoIG90aGVyIGtlcm5lbHMuCgoyMDA2LTA0LTIwIDA5OjQ4OjA1ICswMDAwICBqXiA8akBib290bGFiLm9yZz4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTmV2ZXIgdHJlYXQgdmlkZW8gc3RyZWFtcyBhcyBhbiBhdWRpbyBzdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogal4gPGogYXQgYm9vdGxhYiBkb3Qgb3JnPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBOZXZlciB0cmVhdCB2aWRlbyBzdHJlYW1zIGFzIGFuIGF1ZGlvIHN0cmVhbS4KCSAgQWRkIHF0ZHJ3IG1pbWUgdHlwZS4KCSAgRml4ZXMgIzMzOTA0MQoKMjAwNi0wNC0xOSAwOToyNzowMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRm9yIFZCUiBhdWRpbywgZG9uJ3QgdHJ5IHRvIGNhbGN1bGF0ZSB0aGUgc2FtcGxlc19wZXJfZnJhbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEZvciBWQlIgYXVkaW8sIGRvbid0IHRyeSB0byBjYWxjdWxhdGUgdGhlIHNhbXBsZXNfcGVyX2ZyYW1lLgoJICBGaXhlcyAjMzM4OTM1LgoKMjAwNi0wNC0xNyAxOTo0MzozMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEp1c3QgYWRkZWQgYSBndGstZG9jIGNvbW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBKdXN0IGFkZGVkIGEgZ3RrLWRvYyBjb21tZW50LgoKMjAwNi0wNC0xNyAxODo0NDo0OCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L3RoZW9yYS90aGVvcmFkZWMuKjogQXBwbHkgZml4IGZyb20gal4gZm9yIEFQSSBjaGFuZ2UgaW4gbGlidGhlb3JhZGVjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOiAodGhlb3JhX2RlY19zcmNfY29udmVydCksCgkgICh0aGVvcmFfaGFuZGxlX3R5cGVfcGFja2V0KSwgKHRoZW9yYV9oYW5kbGVfNDIyX2ltYWdlKSwKCSAgKHRoZW9yYV9oYW5kbGVfNDIwX2ltYWdlKSwgKHRoZW9yYV9oYW5kbGVfZGF0YV9wYWNrZXQpOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmg6CgkgIEFwcGx5IGZpeCBmcm9tIGpeIGZvciBBUEkgY2hhbmdlIGluIGxpYnRoZW9yYWRlYy4KCSAgSW1wbGVtZW50IDQ6MjoyIHBpeGVsIGZvcm1hdC4gVW50ZXN0ZWQgYXQgdGhlIG1vbWVudC4KCjIwMDYtMDQtMTQgMTM6MTI6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogRml4IHRyYWNrL2FsYnVtIHBlYWsgdGFnIHZhbHVlczsgdXNlIEdTVF9ERUJVR19GVU5DUFRSIGFuZCBnc3RfcGFkX25ld19mcm9tX3N0YXRpY190ZW0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfaW5pdCksCgkgIChnc3RfbXVzZXBhY2tfc3RyZWFtX2luaXQpOgoJICBGaXggdHJhY2svYWxidW0gcGVhayB0YWcgdmFsdWVzOyB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIgYW5kCgkgIGdzdF9wYWRfbmV3X2Zyb21fc3RhdGljX3RlbXBsYXRlKCkuCgoyMDA2LTA0LTEzIDIxOjQ1OjU3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBGaXhlZCBzb21lIG1lbW9yeSBsZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIHNvbWUgbWVtb3J5IGxlYWtzLgoKMjAwNi0wNC0xMiAyMTo1NzowMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEZpeCB0byB3b3JrIGluIHJlYWQgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCB0byB3b3JrIGluIHJlYWQgbW9kZS4KCjIwMDYtMDQtMTEgMTY6MTg6MTMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBmaXggdmVyc2lvbmluZyBtYWNybyBhbmQgYWRkIHRyYW5zbGF0aW9uIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggdmVyc2lvbmluZyBtYWNybyBhbmQgYWRkIHRyYW5zbGF0aW9uIGZpbGVzCgoyMDA2LTA0LTEwIDE3OjE2OjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggcGFyc2luZyBvZiBuZXdlciBzdHNkIGNodW5rcyBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRml4IHBhcnNpbmcgb2YgbmV3ZXIgc3RzZCBjaHVua3MgYWdhaW4uCgoyMDA2LTA0LTEwIDE0OjIwOjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggZnJhbWVyYXRlIGNhbGN1bGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEZpeCBmcmFtZXJhdGUgY2FsY3VsYXRpb24uCgoyMDA2LTA0LTEwIDEzOjU4OjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogRml4IGJ1aWxkIChjbGFzc19pbml0IGRlY2xhcmF0aW9uL2RlZmluaXRpb24gbWlzbWF0Y2gpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY2J1ZmZlcl9jbGFzc19pbml0KToKCSAgRml4IGJ1aWxkIChjbGFzc19pbml0IGRlY2xhcmF0aW9uL2RlZmluaXRpb24gbWlzbWF0Y2gpLgoKMjAwNi0wNC0xMCAwODozMTo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogZm9yY2UgbW9ubyA4MDAwIEh6IG9uIEFNUiBzYW1wbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBmb3JjZSBtb25vIDgwMDAgSHogb24gQU1SIHNhbXBsZXMuCgoyMDA2LTA0LTA5IDE4OjMwOjUxICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiByZW1vdmUgYXRvbGwgYnkgdXNpbmcgZ19hc2NpaV9zdHJ0b3VsbCAoYXRvbGwgaXMgbm90IHN1cHBvcnRlZCBvbiBXSU4zMikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfc3RhcnQpOgoJICByZW1vdmUgYXRvbGwgYnkgdXNpbmcgZ19hc2NpaV9zdHJ0b3VsbCAoYXRvbGwgaXMgbm90IHN1cHBvcnRlZCBvbiBXSU4zMikKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZG9uZSBzb21lIGNsZWFucyBpbiBzb3VyY2VzCgkgICogd2luMzIvdnM2OgoJICBhZGQgcHJvamVjdCBmaWxlcyBmb3IgbmVvbiwgcXRkZW11eAoKMjAwNi0wNC0wOSAxNzoxNDoyMiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZGVidWcuaDogcmVwbGFjZSBkZWJ1ZyBtYWNyb3Mgd2l0aCB2YXJpYWJsZSBudW1iZXIgb2YgcGFyYW1ldGVycyBieSBhIHNpbXBsZSBhbGlhcyB0byBnc3RyZWFtZXIgc3RhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2RlYnVnLmg6CgkgIHJlcGxhY2UgZGVidWcgbWFjcm9zIHdpdGggdmFyaWFibGUgbnVtYmVyIG9mIHBhcmFtZXRlcnMKCSAgYnkgYSBzaW1wbGUgYWxpYXMgdG8gZ3N0cmVhbWVyIHN0YW5kYXJkIGRlYnVnIG1hY3JvcwoJICAoI2RlZmluZSBSRVNBTVBMRV9FUlJPUiBHU1RfRVJST1IsIF9fVkFfQVJHU19fIGlzIG5vdAoJICBzdXBwb3J0ZWQgYnkgTVNWQyA2LjAgYW5kIDcuMSkKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5oOgoJICBkZWZpbmUgTV9QSSBhbmQgcmludCBmb3IgV0lOMzIKCSAgKiB3aW4zMi9jb21tb24vbGliZ3N0YXVkaW8uZGVmOgoJICAqIHdpbjMyL2NvbW1vbi9saWJnc3RyaWZmLmRlZjoKCSAgKiB3aW4zMi9jb21tb24vbGliZ3N0dGFnLmRlZjoKCSAgKiB3aW4zMi9jb21tb24vbGliZ3N0dmlkZW8uZGVmOgoJICBhZGQgbmV3IGV4cG9ydGVkIGZ1bmN0aW9ucwoJICAqIHdpbjMyL3ZzNjoKCSAgdXBkYXRlIHByb2plY3QgZmlsZXMKCjIwMDYtMDQtMDggMjE6NDg6MDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCAjMzM3MzY1IChnX3R5cGVfY2xhc3NfcmVmIDwtPiBnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOiAoZ3N0X2FtcndiZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOiAoZ3N0X2FtcndiZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6IChnc3RfYW1yd2JwYXJzZV9jbGFzc19pbml0KToKCSAgKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOiAoZ3N0X2FydHNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOiAoZ3N0X2FydHNkc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOiAoZ3N0X2Fmc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6IChnc3RfYWZzcmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzogKGdzdF9jZGF1ZGlvX2NsYXNzX2luaXQpOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKGdzdF9kZmJ2aWRlb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOiAoZ3N0X2RpdnhkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkgIChnc3RfaGVybWVzX2NvbG9yc3BhY2VfY2xhc3NfaW5pdCk6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOiAoZ3N0X2l2b3JiaXNmaWxlX2NsYXNzX2luaXQpOgoJICAqIGV4dC9qYWNrL2dzdGphY2suYzogKGdzdF9qYWNrX2NsYXNzX2luaXQpOgoJICAqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzogKGdzdF9qYWNrX2Jpbl9jbGFzc19pbml0KToKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzogKGdzdF9jb2xvcnNwYWNlX2NsYXNzX2luaXQpOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzogKGdzdF9mYW1lZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF9tdXNpY2JyYWluel9jbGFzc19pbml0KToKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5jOiAoZ3N0X2ljZWNhc3RzZW5kX2NsYXNzX2luaXQpOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOiAoZ3N0X3NuYXBzaG90X2NsYXNzX2luaXQpOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6IChnc3Rfc2ZfY2xhc3NfaW5pdCk6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogKGdzdF9zd2ZkZWNidWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3dmZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6IChnc3RfdGFya2luZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmM6IChnc3RfdGFya2luZW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2NsYXNzX2luaXQpOgoJICAqIGdzdC9jaGFydC9nc3RjaGFydC5jOiAoZ3N0X2NoYXJ0X2NsYXNzX2luaXQpOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzogKGdzdF9jb2xvcnNwYWNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOiAoZ3N0X2RlaW50ZXJsYWNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOiAoZ3N0X2Zlc3RpdmFsX2NsYXNzX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzogKGdzdF9paXJfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KToKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiAoZ3N0X3JmYnNyY19jbGFzc19pbml0KToKCSAgKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOiAoZ3N0X21peG1hdHJpeF9jbGFzc19pbml0KToKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSAgKGdzdF9zeXN0ZW1fZW5jb2RlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5jOgoJICAoZ3N0X21wMXZpZGVvcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOiAoZ3N0X21wZWcyc3VidF9jbGFzc19pbml0KToKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgKGdzdF9tcDNwYXJzZV9jbGFzc19pbml0KToKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6IChnc3Rfb3ZlcmxheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzogKHBhc3N0aHJvdWdoX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6IChwbGF5X29uX2RlbWFuZF9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOiAoZ3N0X3J0anBlZ2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOiAoZ3N0X3J0anBlZ2VuY19jbGFzc19pbml0KToKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOiAoZ3N0X3Ntb290aF9jbGFzc19pbml0KToKCSAgKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6IChnc3Rfc21vb3Rod2F2ZV9jbGFzc19pbml0KToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KToKCSAgKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOiAoZ3N0X3N0ZXJlb19jbGFzc19pbml0KToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOiAoZ3N0X3N3aXRjaF9jbGFzc19pbml0KToKCSAgKiBnc3QvdHRhL2dzdHR0YWRlYy5jOiAoZ3N0X3R0YV9kZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9jbGFzc19pbml0KToKCSAgKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOiAoZ3N0X3ZiaWRlY19jbGFzc19pbml0KToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOiAoZ3N0X3ZpZGVvX2Nyb3BfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpcnR1YWxkdWIvZ3N0eHNoYXJwZW4uYzogKGdzdF94c2hhcnBlbl9jbGFzc19pbml0KToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOiAoZ3N0X3k0bWVuY29kZV9jbGFzc19pbml0KToKCSAgKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzogKGNkcGxheWVyX2NsYXNzX2luaXQpOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKGdzdF9kaXJlY3Rzb3VuZHNpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOiAoZHhyM2F1ZGlvc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOiAoZHhyM3NwdXNpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOiAoZHhyM3ZpZGVvc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6IChnc3RfcWNhbXNyY19jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkgIChnc3RfdjRsMl9jb2xvcl9iYWxhbmNlX2NoYW5uZWxfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6IChnc3RfdjRsMl90dW5lcl9jaGFubmVsX2NsYXNzX2luaXQpLAoJICAoZ3N0X3Y0bDJfdHVuZXJfbm9ybV9jbGFzc19pbml0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZXNyY19jbGFzc19pbml0KToKCSAgRml4ICMzMzczNjUgKGdfdHlwZV9jbGFzc19yZWYgPC0+IGdfdHlwZV9jbGFzc19wZWVrX3BhcmVudCkKCjIwMDYtMDQtMDggMTk6MDQ6MDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC86IEZpeCBtb3JlIGJyb2tlbiBHT2JqZWN0IG1hY3JvcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmg6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgRml4IG1vcmUgYnJva2VuIEdPYmplY3QgbWFjcm9zCgoyMDA2LTA0LTA4IDE4OjQxOjA3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggYnJva2VuIEdPYmplY3QgbWFjcm9zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94aW5lL2dzdHhpbmUuaDoKCSAgKiBnc3QtbGlicy9nc3QvcGxheS9wbGF5Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXV0aWwuaDoKCSAgRml4IGJyb2tlbiBHT2JqZWN0IG1hY3JvcwoKMjAwNi0wNC0wOCAxODoyNTo1NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4IGJyb2tlbiBHT2JqZWN0IG1hY3JvcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmg6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5oOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWx0YWcuaDoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuaDoKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuaDoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuaDoKCSAgRml4IGJyb2tlbiBHT2JqZWN0IG1hY3JvcwoKMjAwNi0wNC0wOCAxODoyMzowNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgbWFrZSByb3VuZGluZyBlcnJvcnMgaW4gdGltZXN0YW1wL2R1cmF0aW9uIGNhbGN1bGF0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSksCgkgIChnc3RfcXRkZW11eF9jaGFpbiksIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfZHVtcF9zdHN6KSwKCSAgKHF0ZGVtdXhfZHVtcF9zdGNvKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIERvbid0IG1ha2Ugcm91bmRpbmcgZXJyb3JzIGluIHRpbWVzdGFtcC9kdXJhdGlvbiBjYWxjdWxhdGlvbnMuCgkgIEZpeCB0aW1lc3RhbXBzIGZvciBBTVIgYW5kIElNQTQuICBGaXhlcyAoIzMzNzQzNikuCgkgIENyZWF0ZSBhIGR1bW15IHNlZ21lbnQgZXZlbiB3aGVuIHRoZXJlIGlzIG5vIGVkaXQgbGlzdC4KCjIwMDYtMDQtMDcgMTY6NTk6MTUgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wtbGlzdC50eHQ6IFVwZGF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA0LTA3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wtbGlzdC50eHQ6IFVwZGF0ZXMuCgkgICogZXhhbXBsZXMvZGlyZWN0ZmIvTWFrZWZpbGUuYW06IEFkZCBleGFtcGxlIHJlc291cmNlIGZpbGVzIHRvCgkgIGRpc3QuCgoyMDA2LTA0LTA3IDE1OjUzOjQzICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgVHlwbyBmaXgsIHMvWEZyZWU4Ni9YMTEgYW5kIGFkZGVkIGRvYyBibHVyYiBzYXlpbmcgdGhhdCBpdCBmaXhhdGVzIHRvIDI1ZnBzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA0LTA3ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogZXh0L2FtcndiL2FtcndiLWNvZGUvTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2VzcmNfcmVjYWxjKSwKCSAgKGdzdF94aW1hZ2VzcmNfY3JlYXRlKSwgKGdzdF94aW1hZ2VzcmNfc2V0X3Byb3BlcnR5KToKCSAgVHlwbyBmaXgsIHMvWEZyZWU4Ni9YMTEgYW5kIGFkZGVkIGRvYyBibHVyYiBzYXlpbmcgdGhhdCBpdCBmaXhhdGVzIHRvCgkgIDI1ZnBzCgoyMDA2LTA0LTA3IDE1OjQ3OjI3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgdGVzdHMvaWNsZXMveGltYWdlc3JjLXRlc3QuYzogQWN0dWFsbHkgYXNzZXJ0IHRoYXQgcGlwZWxpbmUgZ29lcyB0byBwbGF5aW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA0LTA3ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogdGVzdHMvaWNsZXMveGltYWdlc3JjLXRlc3QuYzogKG1haW4pOgoJICBBY3R1YWxseSBhc3NlcnQgdGhhdCBwaXBlbGluZSBnb2VzIHRvIHBsYXlpbmcKCjIwMDYtMDQtMDcgMTU6Mjc6NDAgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiBGaXggdHlwbywgQysrIHN0eWxlIGNvbW1lbnRzIGFuZCBvdGhlciBzbWFsbCBjbGVhbnVwcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNC0wNyAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IChnc3RfeGltYWdlc3JjX3JlY2FsYyksCgkgIChjb21wb3NpdGVfcGl4ZWwpLCAoZ3N0X3hpbWFnZXNyY194aW1hZ2VfZ2V0KSwKCSAgKGdzdF94aW1hZ2VzcmNfY3JlYXRlKSwgKGdzdF94aW1hZ2VzcmNfc2V0X3Byb3BlcnR5KToKCSAgRml4IHR5cG8sIEMrKyBzdHlsZSBjb21tZW50cyBhbmQgb3RoZXIgc21hbGwgY2xlYW51cHMKCjIwMDYtMDQtMDYgMTk6MTY6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZGVkIGZ1bGwgZWRpdCBsaXN0IHN1cHBvcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChnc3RfcXRkZW11eF9maW5kX2luZGV4KSwKCSAgKGdzdF9xdGRlbXV4X2ZpbmRfa2V5ZnJhbWUpLCAoZ3N0X3F0ZGVtdXhfZmluZF9zZWdtZW50KSwKCSAgKGdzdF9xdGRlbXV4X21vdmVfc3RyZWFtKSwgKGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayksCgkgIChnc3RfcXRkZW11eF9kb19zZWVrKSwgKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KSwKCSAgKGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUpLCAoZ3N0X3F0ZGVtdXhfYWR2YW5jZV9zYW1wbGUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksIChnc3RfcXRkZW11eF9sb29wKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEFkZGVkIGZ1bGwgZWRpdCBsaXN0IHN1cHBvcnQuCgkgIEF2b2lkIG92ZXJmbG93cyBpbiBwcm9sb2d1ZSBpbWFnZSBkZXRlY3Rpb24gY29kZS4KCSAgQXZvaWQgcm91bmRvZmYgZXJyb3JzIGluIHRpbWVzdGFtcCBjYWxjdWxhdGlvbnMuCgoyMDA2LTA0LTA2IDE0OjIwOjI3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3hpbmUvTWFrZWZpbGUuYW06CgkgIG1vcmUgZGlzdGNoZWNrIGZpeGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb3JlIGRpc3RjaGVjayBmaXhlcwoKMjAwNi0wNC0wNiAxNDowODowOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBjb25maWd1cmUuYWM6IGNsZWFuIHVwIHNvIHJlcG9ydCBwcm9wZXJseSBvbiBtaXNzaW5nIHN0dWZmIGZpeCBtb2RwbHVnIGRldGVjdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIGNsZWFuIHVwIHNvIHJlcG9ydCBwcm9wZXJseSBvbiBtaXNzaW5nIHN0dWZmCgkgIGZpeCBtb2RwbHVnIGRldGVjdGlvbgoKMjAwNi0wNC0wNiAxMjo1MjoyMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBleHQvOiBkb24ndCBkaXN0IGFtciB3YiBzb3VyY2UgY29kZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2FtcndiL2FtcndiLWNvZGUvTWFrZWZpbGUuYW06CgkgIGRvbid0IGRpc3QgYW1yIHdiIHNvdXJjZSBjb2RlCgoyMDA2LTA0LTA2IDExOjM1OjI2ICswMDAwICBqXiA8akBib290bGFiLm9yZz4KCgkgIFVuaWZ5IHRoZSBsb25nIGRlc2NyaXB0aW9ucyBpbiB0aGUgcGx1Z2luIGRldGFpbHMgKCMzMzcyNjMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IGpeICA8aiBhdCBib290bGFiIGRvdCBvcmc+CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSAgKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSAgKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19iYXNlX2luaXQpOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19iYXNlX2luaXQpOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF9tdXNpY2JyYWluel9iYXNlX2luaXQpOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3NpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuYzogKGdzdF9wb2x5cHNpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0LmM6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOiAoZ3N0X2NkeGFfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9iYXNlX2luaXQpOgoJICAqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9iYXNlX2luaXQpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSAgKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6IChnc3RfcHV6emxlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuYzoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSAgKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzoKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSAgKiBnc3QvdHRhL2dzdHR0YWRlYy5jOiAoZ3N0X3R0YV9kZWNfYmFzZV9pbml0KToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOgoJICAqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiAoZ3N0X3hpbmdfbXV4X2Jhc2VfaW5pdCk6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgVW5pZnkgdGhlIGxvbmcgZGVzY3JpcHRpb25zIGluIHRoZSBwbHVnaW4gZGV0YWlscyAoIzMzNzI2MykuCgoyMDA2LTA0LTA2IDA5OjM3OjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogQWRkIGJhY2sgInVyaSIgcHJvcGVydHkgYW5kIG1hcmsgaXQgYXMgZGVwcmVjYXRlZDsgdW5kb2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X25lb25odHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X25lb25odHRwX3NyY19nZXRfcHJvcGVydHkpOgoJICBBZGQgYmFjayAidXJpIiBwcm9wZXJ0eSBhbmQgbWFyayBpdCBhcyBkZXByZWNhdGVkOyB1bmRvZXMKCSAgQVBJL0FCSSBicmVha2FnZSBmcm9tIDIwMDYtMDItMjQuCgoyMDA2LTA0LTA1IDA4OjM2OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBVc2UgZHVyYXRpb24gYXMgc2VnbWVudCBzdG9wIHBvc2l0aW9uIGlmIG5vbmUgaXMgZXhwbGljaXRseSBjb25maWd1cmVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfZG9fc2VlayksIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3ApOgoJICBVc2UgZHVyYXRpb24gYXMgc2VnbWVudCBzdG9wIHBvc2l0aW9uIGlmIG5vbmUgaXMKCSAgZXhwbGljaXRseSBjb25maWd1cmVkLgoJICBBbHNvIHBlcmZvcm0gRU9TIHdoZW4gd2UgcnVuIHBhc3QgdGhlIHNlZ21lbnQgc3RvcC4KCjIwMDYtMDQtMDQgMTE6MjA6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE1vcmUgY2xlYW51cHMsIGFkZGVkIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nb19iYWNrKSwKCSAgKGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayksIChnc3RfcXRkZW11eF9kb19zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLCAoZ3N0X3F0ZGVtdXhfbG9vcCksCgkgIChnc3RfcXRkZW11eF9jaGFpbiksIChxdGRlbXV4X3BhcnNlX3RyZWUpLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgTW9yZSBjbGVhbnVwcywgYWRkZWQgY29tbWVudHMuCgkgIE1hcmsgZGlzY29udGludWl0aWVzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIFBvc3QgYmV0dGVyIGVycm9ycyB3aGVuIHNvbWV0aGluZyBnb2VzIHdyb25nLgoJICBIYW5kbGUgRU9TIGFuZCBzZWdtZW50IGVuZCBwcm9wZXJseS4KCjIwMDYtMDQtMDQgMDg6NDA6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIE1hcmsgbGF0ZXN0IGNoYW5nZSBhcyBmaXhpbmcgYSBidWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBNYXJrIGxhdGVzdCBjaGFuZ2UgYXMgZml4aW5nIGEgYnVnLgoKMjAwNi0wNC0wNCAwODozMToxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguKjogSGFuZGxlIHN0c3MgYm94ZXMgc28gd2UgY2FuIG1hcmsgYW5kIGZpbmQga2V5ZnJhbWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X3B1c2hfZXZlbnQpLCAoZ3N0X3F0ZGVtdXhfZ29fYmFjayksCgkgIChnc3RfcXRkZW11eF9wZXJmb3JtX3NlZWspLCAoZ3N0X3F0ZGVtdXhfZG9fc2VlayksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwgKHBsdWdpbl9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3ApLCAoZ3N0X3F0ZGVtdXhfY2hhaW4pLAoJICAocXRkZW11eF9zaW5rX2FjdGl2YXRlX3B1bGwpLCAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksCgkgIChxdGRlbXV4X3BhcnNlKSwgKHF0ZGVtdXhfcGFyc2VfdHJlZSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF9wYXJzZV91ZHRhKSwgKHF0ZGVtdXhfdGFnX2FkZF9zdHIpLCAocXRkZW11eF90YWdfYWRkX251bSksCgkgIChxdGRlbXV4X3RhZ19hZGRfZ25yZSksIChnc3RfcXRkZW11eF9oYW5kbGVfZXNkcyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBIYW5kbGUgc3RzcyBib3hlcyBzbyB3ZSBjYW4gbWFyayBhbmQgZmluZCBrZXlmcmFtZXMuCgkgIEltcGxlbWVudCBjb3JyZWN0IGFjY3VyYXRlIGFuZCBrZXlmcmFtZSBzZWVraW5nLgoJICBVc2UgX0RFQlVHX09CSkVDVCB3aGVuIHBvc3NpYmxlLgoKMjAwNi0wNC0wMyAxMTowODo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBPbmx5IHJ1biB0aGUgaWQzdjJtdXggY2hlY2sgaWYgdGFnbGliIGlzIGF2YWlsYWJsZSBhbmQgdGhlIHRhZ2xpYiBwbHVnaW4gaGFzIGJlZW4gYnVpbHQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBPbmx5IHJ1biB0aGUgaWQzdjJtdXggY2hlY2sgaWYgdGFnbGliIGlzIGF2YWlsYWJsZSBhbmQKCSAgdGhlIHRhZ2xpYiBwbHVnaW4gaGFzIGJlZW4gYnVpbHQuCgoyMDA2LTA0LTAzIDEwOjU3OjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3N3ZmRlYy9NYWtlZmlsZS5hbTogRG9uJ3Qgc2V0IHBsdWdpbmRpci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3N3ZmRlYy9NYWtlZmlsZS5hbToKCSAgRG9uJ3Qgc2V0IHBsdWdpbmRpci4KCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJICBHU1RfUExVR0lOX0RFRklORV9TVEFUSUMgaXNuJ3QgYSBnb29kIGlkZWEgZm9yIGluc3RhbGxlZCBwbHVnaW5zLgoKMjAwNi0wNC0wMyAxMDo1MTo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQWRkIEFYX0NSRUFURV9TVERJTlRfSCB0byBjcmVhdGUgX3N0ZGludC5oLCBuZWVkZWQgYnkgdGhlIGR0cyBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQWRkIEFYX0NSRUFURV9TVERJTlRfSCB0byBjcmVhdGUgX3N0ZGludC5oLCBuZWVkZWQgYnkKCSAgdGhlIGR0cyBwbHVnaW4uCgoyMDA2LTA0LTAzIDEwOjM0OjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgR1NUX09SSUdJTiA9PiBHU1RfUEFDS0FHRV9PUklHSU4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBHU1RfT1JJR0lOID0+IEdTVF9QQUNLQUdFX09SSUdJTgoJICBHU1RfUEFDS0FHRSA9PiBHU1RfUEFDS0FHRV9OQU1FCgoyMDA2LTA0LTAyIDEwOjQyOjMyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGRvY3MvcGx1Z2lucy86IGFkZCBtb3JlIHBsdWdpbnMgdG8gZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbGltYWdlc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkgIGFkZCBtb3JlIHBsdWdpbnMgdG8gZG9jcwoKMjAwNi0wNC0wMiAwOTozMzoxMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIHRoZSBhbHBoYWJldCwgYSB0cmlja3kgY29uY2VwdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdGhlIGFscGhhYmV0LCBhIHRyaWNreSBjb25jZXB0CgoyMDA2LTA0LTAyIDA5OjE3OjIzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYWRkIGxpYm9pbCBjaGVjaywgZHRzIHVzZXMgaXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBsaWJvaWwgY2hlY2ssIGR0cyB1c2VzIGl0CgoyMDA2LTA0LTAxIDE2OjUwOjQ5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLWxpc3QudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy11bmRvY3VtZW50ZWQudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkqIHN5cy9keHIzL2FjM19wYWRkZXIuaDoKCSogdGVzdHMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90YWdpZDN2Mm11eC5jOgoJICBhZGQgdGFnbGliIGNoZWNrcyBhbmQgZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHRhZ2xpYiBjaGVja3MgYW5kIGRvY3MKCjIwMDYtMDQtMDEgMTU6MzY6MjUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkgIGRvbid0IHVzZSBBU19MSUJUT09MX1RBR1MsIGl0IGRvZXNuJ3Qgd29yawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9uJ3QgdXNlIEFTX0xJQlRPT0xfVEFHUywgaXQgZG9lc24ndCB3b3JrCgoyMDA2LTA0LTAxIDEwOjE2OjI4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIC5naXRpZ25vcmU6CgkqIGRvY3MvLmdpdGlnbm9yZToKCSogZG9jcy9wbHVnaW5zLy5naXRpZ25vcmU6CgkgIGlnbm9yZSBtb3JlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBpZ25vcmUgbW9yZQoKMjAwNi0wNC0wMSAxMDoxNTozMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOgoJICA1IHNlY29uZCB0aW1lb3V0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICA1IHNlY29uZCB0aW1lb3V0CgoyMDA2LTA0LTAxIDEwOjE0OjI2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOgoJICByZW5hbWUgdGVzdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVuYW1lIHRlc3QKCjIwMDYtMDQtMDEgMTA6MDk6MTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBNYWtlZmlsZS5hbToKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLWxpc3QudHh0OgoJKiBleHQvYW1yd2IvZ3N0YW1yd2IuYzoKCSogZXh0L2FydHMvZ3N0X2FydHMuYzoKCSogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmLmM6CgkqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSogZXh0L2J6Mi9nc3RiejIuYzoKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSogZXh0L2l2b3JiaXMvdm9yYmlzLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOgoJKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6CgkqIGV4dC9uYXMvbmFzc2luay5jOgoJKiBleHQvc2RsL2dzdHNkbC5jOgoJKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2YuYzoKCSogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSogZXh0L3Rhcmtpbi9nc3R0YXJraW4uYzoKCSogZXh0L3hpbmUveGluZS5jOgoJKiBleHQveHZpZC9nc3R4dmlkLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSogZ3N0L2ZpbHRlci9nc3RmaWx0ZXIuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmM6CgkqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzoKCSogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzoKCSogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZy5jOgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSogZ3N0L3ZpcnR1YWxkdWIvZ3N0dmlydHVhbGR1Yi5jOgoJKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIHBvL1BPVEZJTEVTLmluOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJKiBzeXMvZHhyMy9keHIzaW5pdC5jOgoJKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdmNkL3ZjZHNyYy5jOgoJKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOgoJICByZXdvcmsgYnVpbGQ7IGFkZCB0cmFuc2xhdGlvbnMgZm9yIHY0bDIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJld29yayBidWlsZDsgYWRkIHRyYW5zbGF0aW9ucyBmb3IgdjRsMgoKMjAwNi0wMy0zMSAxNzo1MjozNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIEFkZCB0ZXN0cyBhbmQgZml4IFBBUiBjYXBzIGlzc3VlIHRvIHhpbWFnZXNyYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0zMSAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIE1ha2VmaWxlLmFtOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOgoJICAoZ3N0X3hpbWFnZXNyY194aW1hZ2VfZ2V0KSwKCSAgKGdzdF94aW1hZ2VzcmNfZ2V0X2NhcHMpLCAoZ3N0X3hpbWFnZXNyY19jbGFzc19pbml0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXV0aWwuYzoKCSAgKiB0ZXN0cy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOiAodGVybWluYXRlX3BsYXliYWNrKSwgKG1haW4pOgoJICBBZGQgdGVzdHMgYW5kIGZpeCBQQVIgY2FwcyBpc3N1ZSB0byB4aW1hZ2VzcmMKCjIwMDYtMDMtMzEgMTY6MzI6NDcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiBBZGQgZG9jcyB0byB4aW1hZ2VzcmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMzEgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOgoJICBBZGQgZG9jcyB0byB4aW1hZ2VzcmMKCjIwMDYtMDMtMzEgMTU6MjE6MzUgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMveGltYWdlc3JjLzogRml4IHhpbWFnZXNyYyBzbyBhKSB0aGUgY3Vyc29yIGRvZXNudCB0cmFpbCBhbmQgYikgdGhlcmUgYXJlIG5vIHllbGxvdyByZWN0YW5nbGVzIHdpdGggdGhlIGN1cnNvcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0zMSAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IChjb21wb3NpdGVfcGl4ZWwpLAoJICAoZ3N0X3hpbWFnZXNyY194aW1hZ2VfZ2V0KSwgKGdzdF94aW1hZ2VzcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF94aW1hZ2VzcmNfZ2V0X2NhcHMpLCAoZ3N0X3hpbWFnZXNyY19jbGFzc19pbml0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5oOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdldXRpbC5jOiAoeGltYWdldXRpbF94Y29udGV4dF9nZXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdldXRpbC5oOgoJICBGaXggeGltYWdlc3JjIHNvIGEpIHRoZSBjdXJzb3IgZG9lc250IHRyYWlsIGFuZCBiKSB0aGVyZSBhcmUgbm8KCSAgeWVsbG93IHJlY3RhbmdsZXMgd2l0aCB0aGUgY3Vyc29yCgoyMDA2LTAzLTMxIDE0OjI2OjA1ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBjb25maWd1cmUuYWM6IEFkZCBhdXRvY29uZmVyeSBmb3IgdGhlb3JhZGVjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEFkZCBhdXRvY29uZmVyeSBmb3IgdGhlb3JhZGVjLgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgQWRkIHRoZW9yYSBkaXJlY3RvcnkuCgkgICogZXh0L3RoZW9yYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOiAoZ3N0X3RoZW9yYWRlY19iYXNlX2luaXQpLAoJICAoZ3N0X3RoZW9yYWRlY19jbGFzc19pbml0KSwgKGdzdF90aGVvcmFkZWNfaW5pdCksCgkgIChnc3RfdGhlb3JhZGVjX3Jlc2V0KSwgKGluY19ncmFudWxlcG9zKSwgKHRoZW9yYV9nZXRfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X3RoZW9yYWRlY19ncmFudWxlX2Nsb2NrdGltZSksICh0aGVvcmFfZGVjX3NyY19jb252ZXJ0KSwKCSAgKHRoZW9yYV9kZWNfc2lua19jb252ZXJ0KSwgKHRoZW9yYV9kZWNfc3JjX3F1ZXJ5KSwKCSAgKHRoZW9yYV9kZWNfc2lua19xdWVyeSksICh0aGVvcmFfZGVjX3NyY19ldmVudCksCgkgICh0aGVvcmFfZGVjX3NpbmtfZXZlbnQpLCAodGhlb3JhX2hhbmRsZV9jb21tZW50X3BhY2tldCksCgkgICh0aGVvcmFfaGFuZGxlX3R5cGVfcGFja2V0KSwgKHRoZW9yYV9oYW5kbGVfaGVhZGVyX3BhY2tldCksCgkgICh0aGVvcmFfZGVjX3B1c2gpLCAodGhlb3JhX2hhbmRsZV9kYXRhX3BhY2tldCksICh0aGVvcmFfZGVjX2NoYWluKSwKCSAgKHRoZW9yYV9kZWNfY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5oOgoJICBBZGQgdGhlb3JhIHBsdWdpbiBmb3IgdGhlb3JhLWV4cCBkZWNvZGVyLiBWZXJ5IGhlYXZpbHkgYmFzZWQgb24gdGhlCgkgIGV4aXN0aW5nIHRoZW9yYSBkZWNvZGVyIHBsdWdpbi4KCjIwMDYtMDMtMjkgMTY6NTQ6MTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZ3NtLzogQ2xlYW51cHMsIGZpeCBsZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuYzogKGdzdF9nc21kZWNfY2xhc3NfaW5pdCksIChnc3RfZ3NtZGVjX2luaXQpLAoJICAoZ3N0X2dzbWRlY19maW5hbGl6ZSksIChnc3RfZ3NtZGVjX3NpbmtfZXZlbnQpLCAoZ3N0X2dzbWRlY19jaGFpbik6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuaDoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5jOiAoZ3N0X2dzbWVuY19jbGFzc19pbml0KSwgKGdzdF9nc21lbmNfaW5pdCksCgkgIChnc3RfZ3NtZW5jX2ZpbmFsaXplKSwgKGdzdF9nc21lbmNfY2hhaW4pOgoJICBDbGVhbnVwcywgZml4IGxlYWtzLgoJICBIYW5kbGUgZXZlbnRzIGFuZCBESVNDT05ULgoJICBVc2UgYWRhcHRlciBpbiB0aGUgZGVjb2Rlci4KCjIwMDYtMDMtMjkgMTY6NTA6MDggKzAwMDAgIFJlbmF0byBBcmF1am8gT2xpdmVpcmEgRmlsaG8gPHJlbmF0b3hAZ21haWwuY29tPgoKCSAgQWRkZWQgbmV3IHBsdWdpbiBhbXJ3YiBwYXJzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW5hdG8gQXJhdWpvIE9saXZlaXJhIEZpbGhvIDxyZW5hdG94IGF0IGdtYWlsIGRvdCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW1yd2IvTWFrZWZpbGUuYW06CgkgICogZXh0L2FtcndiL1JFQURNRToKCSAgKiBleHQvYW1yd2IvYW1yd2ItY29kZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW1yd2IvYW1yd2ItY29kZS9ydW4uc2g6CgkgICogZXh0L2FtcndiL2dzdGFtcndiLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6IChnc3RfYW1yd2JkZWNfYmFzZV9pbml0KSwKCSAgKGdzdF9hbXJ3YmRlY19jbGFzc19pbml0KSwgKGdzdF9hbXJ3YmRlY19pbml0KSwKCSAgKGdzdF9hbXJ3YmRlY19zZXRjYXBzKSwgKGdzdF9hbXJ3YmRlY19ldmVudCksIChnc3RfYW1yd2JkZWNfY2hhaW4pLAoJICAoZ3N0X2FtcndiZGVjX3N0YXRlX2NoYW5nZSk6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6IChnc3RfYW1yd2JlbmNfYmFzZV9pbml0KSwKCSAgKGdzdF9hbXJ3YmVuY19jbGFzc19pbml0KSwgKGdzdF9hbXJ3YmVuY19pbml0KSwKCSAgKGdzdF9hbXJ3YmVuY19maW5hbGl6ZSksIChnc3RfYW1yd2JlbmNfc2V0Y2FwcyksCgkgIChnc3RfYW1yd2JlbmNfY2hhaW4pLCAoZ3N0X2FtcndiZW5jX3N0YXRlX2NoYW5nZSk6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzogKGdzdF9hbXJ3YnBhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3RfYW1yd2JwYXJzZV9jbGFzc19pbml0KSwgKGdzdF9hbXJ3YnBhcnNlX2luaXQpLAoJICAoZ3N0X2FtcndicGFyc2VfcXVlcnl0eXBlcyksIChnc3RfYW1yd2JwYXJzZV9xdWVyeSksCgkgIChnc3RfYW1yd2JwYXJzZV9jaGFpbiksIChnc3RfYW1yd2JwYXJzZV9yZWFkX2hlYWRlciksCgkgIChnc3RfYW1yd2JwYXJzZV9sb29wKSwgKGdzdF9hbXJ3YnBhcnNlX3NpbmtfYWN0aXZhdGUpLAoJICAoZ3N0X2FtcndicGFyc2Vfc2lua19hY3RpdmF0ZV9wdWxsKSwgKGdzdF9hbXJ3YnBhcnNlX3N0YXRlX2NoYW5nZSk6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuaDoKCSAgQWRkZWQgbmV3IHBsdWdpbiBhbXJ3YiBwYXJzZS4KCSAgUmVuYW1lZCBhdWRpby9BTVIgdG8gYXVkaW8vQU1SLVdCIGFzIHBlciBzcGVjLgoJICBGaXhlcyAjMzMzMzA3CgoyMDA2LTAzLTI3IDE3OjA2OjQ1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgU21hbGwgZml4LCBub3cgcHdjIGRyaXZlciBjYW4gdGVsbCBhYm91dCBpdHMgYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNtYWxsIGZpeCwgbm93IHB3YyBkcml2ZXIgY2FuIHRlbGwgYWJvdXQgaXRzIGJ1ZmZlcnMuCgoyMDA2LTAzLTI3IDEwOjEzOjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBSZW1vdmUgQ1hYIHRhZyBmcm9tIEFTX0xJQlRPT0xfVEFHUywganVzdCBsaWtlIHdlIGRpZCBmb3IgLWdvb2QgYW5kIC11Z2x5LiBGaXhlcyBidWlsZCBvbiBzb21lIHN5c3RlbXMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVtb3ZlIENYWCB0YWcgZnJvbSBBU19MSUJUT09MX1RBR1MsIGp1c3QgbGlrZSB3ZQoJICBkaWQgZm9yIC1nb29kIGFuZCAtdWdseS4gRml4ZXMgYnVpbGQgb24gc29tZSBzeXN0ZW1zCgkgIGFuZCBkb2Vzbid0IHNlZW0gdG8gYmUgcmVxdWlyZWQgZm9yIEMrKyBjb2RlLgoKMjAwNi0wMy0yNiAxOTo1NjozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGliLio6IEZpeCBuZXdzZWdtZW50IGV2ZW50IGhhbmRsaW5nIGEgYml0LiBXZSBuZWVkIHRvIGNhY2hlIHRoZSBmaXJzdCBuZXdzZWdtZW50IGV2ZW50LCBiZWNhdXNlIHdlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5oOgoJICBGaXggbmV3c2VnbWVudCBldmVudCBoYW5kbGluZyBhIGJpdC4gV2UgbmVlZCB0bwoJICBjYWNoZSB0aGUgZmlyc3QgbmV3c2VnbWVudCBldmVudCwgYmVjYXVzZSB3ZSBjYW4ndAoJICBhZGp1c3Qgb2Zmc2V0cyB5ZXQgd2hlbiB3ZSBnZXQgaXQsIGFzIHdlIGRvbid0CgkgIGtub3cgdGhlIHNpemUgb2YgdGhlIHRhZyB5ZXQgZm9yIHN1cmUgYXQgdGhhdCBwb2ludC4KCSAgQWxzbyBkbyBzb21lIG1pbm9yIGNsZWFuaW5nIHVwIGhlcmUgYW5kIHRoZXJlIGFuZCBhZGQKCSAgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzLgoKMjAwNi0wMy0yNSAyMTo1NzoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOiBXZSBkbyBub3Qgd2FudCB0byBwcm94eSB0aGUgY2FwcyBvbiB0aGUgc2luayBwYWQ7IG91ciBzb3VyY2UgcGFkIHNob3VsZCBoYXZlIGFwcGxpY2F0aW9uL3gtaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgV2UgZG8gbm90IHdhbnQgdG8gcHJveHkgdGhlIGNhcHMgb24gdGhlIHNpbmsgcGFkOyBvdXIKCSAgc291cmNlIHBhZCBzaG91bGQgaGF2ZSBhcHBsaWNhdGlvbi94LWlkMyBjYXBzOyBhbHNvLAoJICBkb24ndCB1c2UgYWxyZWFkeS1mcmVlZCBzdHJpbmdzIGluIGRlYnVnIG1lc3NhZ2VzOwoJICBmaW5hbGx5LCBhZGp1c3QgYnVmZmVyIG9mZnNldHMgb24gYnVmZmVycyBzZW50IG91dC4KCjIwMDYtMDMtMjUgMTM6MDI6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IE9sZGVyIGtlcm5lbHMgZG9uJ3Qgc2VlbSB0byBoYXZlIHRoaXMgcGFydGljdWxhciB2NGwyIGZvcm1hdCwgc28gY29tbWVudCBvdXQgdW50aWwgdGhpcyBnZXRzIGYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBPbGRlciBrZXJuZWxzIGRvbid0IHNlZW0gdG8gaGF2ZSB0aGlzIHBhcnRpY3VsYXIgdjRsMiBmb3JtYXQsCgkgIHNvIGNvbW1lbnQgb3V0IHVudGlsIHRoaXMgZ2V0cyBmaXhlZCBwcm9wZXJseSAoYW5kIG1ha2UKCSAgYnVpbGRib3RzIGhhcHB5KS4KCjIwMDYtMDMtMjUgMDU6MzE6MjggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBKdXN0IG1ha2UgZmV3IHRoaW5ncyBtb3JlIHJvYnVzdCBhbmQgYWxzbyBzb21lIGlkZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBKdXN0IG1ha2UgZmV3IHRoaW5ncyBtb3JlIHJvYnVzdCBhbmQgYWxzbyBzb21lIGlkZW50YXRpb24uCgoyMDA2LTAzLTIzIDA5OjE1OjA5ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOiBQYXRjaCB0byBtYXJrIG91dGdvaW5nIGVuY29kZWQgYnVmZmVycyBhcyBkZWx0YS11bml0cyAob3Igbm90KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXcgYXQgc2t5bmV0IGRvdCBiZT4KCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6IChnc3RfeHZpZGVuY19pbml0KSwgKGdzdF94dmlkZW5jX3NldHVwKSwKCSAgKGdzdF94dmlkZW5jX2NoYWluKToKCSAgUGF0Y2ggdG8gbWFyayBvdXRnb2luZyBlbmNvZGVkIGJ1ZmZlcnMgYXMgZGVsdGEtdW5pdHMgKG9yIG5vdCkuCgkgIE5vdGUgdGhhdCB0aGlzIHBhdGNoIGFsc28gcGF0Y2hlczoKCSAgLSB0aGUgc2V0dGluZyBvZiBmaW5jciBhbmQgZmJhc2UgaW4geHZpZC1lbmNvZGVyIGNyZWF0aW9uIGJhc2VkIG9uCgkgIGNhcHMgZnJhbWVyYXRlCgkgIC0gbWFrZXMgMCwgcmF0aGVyIHRoYW4gMiwgdGhlIGRlZmF1bHQgbWF4X2JfZnJhbWVzLCBhcyB0aGUgY3VycmVudAoJICB4dmlkZW5jIGRvZXMgbm90IHNlZW0gImZ1bGx5IHByZXBhcmVkIiB0byBoYW5kbGUgYi1mcmFtZQoJICAiZWZmZWN0cyIsIHN1Y2ggYXMgZW5jb2RlciByZXR1cm5pbmcgMCBlbmNvZGVkIGJ5dGVzLCBldGMuCgkgIEZpeGVzICMzMzU1ODUKCjIwMDYtMDMtMjIgMTk6NTE6MjkgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgbGF0ZXN0IHBsdWdpbnMgYWRkaXRpb25zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbGF0ZXN0IHBsdWdpbnMgYWRkaXRpb25zCgoyMDA2LTAzLTIyIDE3OjEzOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy86IFRyeSB0aGF0IGFnYWluIChub3Qgb25seSBzaG91bGQgaXQgYmUgTU9EUExVR18gaW5zdGVhZCBvZiBNT0RGSUxFLCBhbHNvIHRoYXQgZGVmaW5lIGlzIGFscmVhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX2l0LmNwcDoKCSAgVHJ5IHRoYXQgYWdhaW4gKG5vdCBvbmx5IHNob3VsZCBpdCBiZSBNT0RQTFVHXyBpbnN0ZWFkCgkgIG9mIE1PREZJTEUsIGFsc28gdGhhdCBkZWZpbmUgaXMgYWxyZWFkeSBzZXQgaW4gc3RkYWZ4Lmg7CgkgIHdoYXQgd2UgcmVhbGx5IG5lZWQgaXMgc29tZSBtb3JlICNpZm5kZWZzKS4KCjIwMDYtMDMtMjIgMTU6MDI6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL01ha2VmaWxlLmFtOiBNb3JlIGdjYy00LjEgZml4ZXMgKHdlIGRvbid0IG5lZWQgZmlsZSBzYXZpbmcsIHNvIGp1c3QgZGVmaW5lIE1PRFBMVUdfTk9fRklMRVNBVkUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgTW9yZSBnY2MtNC4xIGZpeGVzICh3ZSBkb24ndCBuZWVkIGZpbGUgc2F2aW5nLCBzbyBqdXN0CgkgIGRlZmluZSBNT0RQTFVHX05PX0ZJTEVTQVZFLiBUaGF0IHdheSwgdGhlIGNvbXBpbGVyIHdvbid0CgkgIGNvbXBsYWluIGFib3V0IG1vZHBsdWcgaWdub3JpbmcgdGhlIHJldHVybiB2YWx1ZSBvZiBmd3JpdGUKCSAgYW55IGxvbmdlciBhbmQgd2UgbWlnaHQgZXZlbiBzYXZlIGEgZmV3IGJ5dGVzIGFzIHdlbGwpLgoKMjAwNi0wMy0yMiAxNDozMTo0NyArMDAwMCAgV291dGVyIFBhZXNvbiA8d291dGVyQGthbmdhcm9vdC5uZXQ+CgoJICBBZGQgbmV3IGxpYnNvdW5kdG91Y2gtYmFzZWQgcGl0Y2ggcGx1Z2luICgjMzMxMzM1KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgUGFlc29uICA8d291dGVyIGF0IGthbmdhcm9vdCBkb3QgbmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guaGg6CgkgIEFkZCBuZXcgbGlic291bmR0b3VjaC1iYXNlZCBwaXRjaCBwbHVnaW4gKCMzMzEzMzUpLgoKMjAwNi0wMy0yMSAxNjowMjowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9wdG0uY3BwOiBGaXggY29tcGlsYXRpb24gd2l0aCBnY2MtNC4xIGFuZCAtV2Vycm9yICgjMzI3MzU1KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX3B0bS5jcHA6CgkgIEZpeCBjb21waWxhdGlvbiB3aXRoIGdjYy00LjEgYW5kIC1XZXJyb3IgKCMzMjczNTUpLgoKMjAwNi0wMy0yMCAwODo1OToyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGliLmg6IEZpeCBsZWZ0LW92ZXIgZ3N0X215X2ZpbHRlcl9nZXRfdHlwZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuaDoKCSAgRml4IGxlZnQtb3ZlciBnc3RfbXlfZmlsdGVyX2dldF90eXBlLgoKMjAwNi0wMy0xNyAxNjozNDozNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzoKCSAgSGF2ZSBhIHNob3cgbW91c2UgcG9pbnRlciBwcm9wZXJ0eSBhbmQgdXNlIGl0IGlmIHdlIGNhbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSGF2ZSBhIHNob3cgbW91c2UgcG9pbnRlciBwcm9wZXJ0eSBhbmQgdXNlIGl0IGlmIHdlIGNhbgoKMjAwNi0wMy0xNSAxNTowODoyMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTGV0J3Mgbm90IGZvcmdldCB0byBjaGFpbiB1cCB0byB0aGUgcGFyZW50IGRpc3Bvc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2Rpc3Bvc2UpOgoJICBMZXQncyBub3QgZm9yZ2V0IHRvIGNoYWluIHVwIHRvIHRoZSBwYXJlbnQgZGlzcG9zZS4KCjIwMDYtMDMtMTUgMTQ6Mzk6MjUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFNlcmllcyBvZiBtZW1sZWFrIGZpeGVzOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9xdGRlbXV4X2luaXQpLCAoZ3N0X3F0ZGVtdXhfZGlzcG9zZSksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIFNlcmllcyBvZiBtZW1sZWFrIGZpeGVzOgoJICAtIFVucmVmIHRoZSBHc3RBZGFwdGVyIGluIGZpbmFsaXplLgoJICAtIFVzZSBnc3RfcGFkX25ld19mcm9tX3N0YXRpY190ZW1wbGF0ZSgpLCBzaG9ydGVyIGFuZCBzYWZlci4KCSAgLSBGcmVlIHVudXNlZCBRdERlbXV4U3RyZWFtIHdoZW4gbm90IHVzZWQuCgoyMDA2LTAzLTE0IDE3OjI0OjAzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBJbml0aWFsaXphdGlvbiBvZiB0aGUgZGVidWdnaW5nIGNhdGVnb3J5IHNob3VsZCBiZSBhcyBlYXJseSBhcyBwb3NzaWJsZSwgbW92aW5nIGl0IGZyb20gX2NsYXNzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfdjRsMnNyY19jbGFzc19pbml0KToKCSAgSW5pdGlhbGl6YXRpb24gb2YgdGhlIGRlYnVnZ2luZyBjYXRlZ29yeSBzaG91bGQgYmUgYXMgZWFybHkgYXMgcG9zc2libGUsCgkgIG1vdmluZyBpdCBmcm9tIF9jbGFzc19pbml0KCkgdG8gYmVnaW5uaW5nIG9mIF9iYXNlX2luaXQoKS4KCjIwMDYtMDMtMTMgMTc6MjI6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzogQWRkIGd0ay1kb2MgYmx1cmIgKHVudXNlZCBmb3IgdGhlIHRpbWUgYmVpbmcpOyBtYXRjaCByZWdpc3RlcmVkIHBsdWdpbiBuYW1lIHRvIHRoZSBmaWxlbmFtZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkgIEFkZCBndGstZG9jIGJsdXJiICh1bnVzZWQgZm9yIHRoZSB0aW1lIGJlaW5nKTsgbWF0Y2ggcmVnaXN0ZXJlZAoJICBwbHVnaW4gbmFtZSB0byB0aGUgZmlsZW5hbWUgb2YgdGhlIHBsdWdpbiAodGFnbGlibXV4ID0+IHRhZ2xpYikKCjIwMDYtMDMtMTMgMTI6MTQ6MTggKzAwMDAgIE1pa2hhaWwgWmFiYWx1ZXYgPG1oekBhbHRsaW51eC5vcmc+CgoJICBhdXRvZ2VuLnNoOiBEb24ndCBjaGVjayBmb3IgZmlsZSB0aGF0IG9ubHkgZXhpc3RzIGluIENWUyBidXQgaXNuJ3QgZGlzdGVkICgjMzM0NDE3KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1pa2hhaWwgWmFiYWx1ZXYgIDxtaHogYWx0bGludXggb3JnPgoJICAqIGF1dG9nZW4uc2g6CgkgIERvbid0IGNoZWNrIGZvciBmaWxlIHRoYXQgb25seSBleGlzdHMgaW4gQ1ZTIGJ1dCBpc24ndAoJICBkaXN0ZWQgKCMzMzQ0MTcpCgoyMDA2LTAzLTEzIDEwOjA1OjA5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIEZpeCBidWlsZCBvZiB2NGwyIChzaWdoKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0xMyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLWxpc3QudHh0OgoJICAqIHN5cy92NGwyL01ha2VmaWxlLmFtOiBGaXggYnVpbGQgb2YgdjRsMiAoc2lnaCkKCjIwMDYtMDMtMTIgMjM6NTY6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBGaXggZGlzdGNoZWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCBkaXN0Y2hlY2suCgoyMDA2LTAzLTEyIDE1OjMzOjAwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBnX2F0b21pY19pbnRfc2V0IGlzIG9ubHkgYXZhaWxhYmxlIGluIGdsaWItMC4xMCwgdXNlIGdzdF9hdG9taWNfaW50X2V0IGluc3RlYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCksCgkgIChnc3RfdjRsMnNyY19idWZmZXJfcG9vbF9mcmVlKToKCSAgZ19hdG9taWNfaW50X3NldCBpcyBvbmx5IGF2YWlsYWJsZSBpbiBnbGliLTAuMTAsIHVzZSBnc3RfYXRvbWljX2ludF9ldAoJICBpbnN0ZWFkLgoKMjAwNi0wMy0xMiAxNToyNTo1MSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6IFJlbW92ZSB0aW0ncyBhZGRpdGlvbiBvZiAiX3N0ZGludC5oIiBzaW5jZSBpdCBkb2Vzbid0IG1ha2UgdGhlIFBQQyBidWlsZGJvdCBoYXBweS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSAgUmVtb3ZlIHRpbSdzIGFkZGl0aW9uIG9mICJfc3RkaW50LmgiIHNpbmNlIGl0IGRvZXNuJ3QgbWFrZSB0aGUgUFBDCgkgIGJ1aWxkYm90IGhhcHB5LgoJICBJIHdpbGwganVzdCB1c2UgdGhlIHNhbWUgY29tbWVudCBSb25hbGQgdXNlZCB3aGVuIGhlIGFkZGVkIHRoZXNlIGxpbmVzOgoJICBZZXQgQW5vdGhlciBIYWNrICh0bSkgZm9yIGtlcm5lbCBoZWFkZXIgYm9ya2VkbmVzcy4KCjIwMDYtMDMtMTIgMTU6MDI6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliLzogQWRkIHN1cHBvcnQgZm9yIHdyaXRpbmcgTXVzaWNCcmFpbnogSURzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmg6CgkgIEFkZCBzdXBwb3J0IGZvciB3cml0aW5nIE11c2ljQnJhaW56IElEcy4KCjIwMDYtMDMtMTIgMTQ6NDM6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOiBJbmNsdWRlICJfc3RkaW50LmgiIGluIGFuIGF0dGVtcHQgdG8gbWFrZSB0aGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSAgSW5jbHVkZSAiX3N0ZGludC5oIiBpbiBhbiBhdHRlbXB0IHRvIG1ha2UgdGhlCgkgIFBQQy1idWlsZGJvdCBoYXBweS4KCjIwMDYtMDMtMTEgMjI6NTA6MDMgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIFY0TDIgcG9ydGVkIHRvIDAuMTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBWNEwyIHBvcnRlZCB0byAwLjEwLgoKMjAwNi0wMy0xMSAxNzowODozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogT25seSBjb21waWxlIHRoZSB0YWdsaWIgcGx1Z2luIGlmIGEgQysrIGNvbXBpbGVyIGlzIHByZXNlbnQuIFVzZSBHU1RfREVGQVVMVF9FTEVNRU5UUyBtYWNybyBmcm9tIGNvbW1vbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIE9ubHkgY29tcGlsZSB0aGUgdGFnbGliIHBsdWdpbiBpZiBhIEMrKyBjb21waWxlciBpcwoJICBwcmVzZW50LiBVc2UgR1NUX0RFRkFVTFRfRUxFTUVOVFMgbWFjcm8gZnJvbSBjb21tb24vCgkgIGZvciBhbGwgdGhlIGRlZmF1bHRzIHN0dWZmLgoKMjAwNi0wMy0xMSAxMToxMjozMCArMDAwMCAgQ2hyaXN0b3BoZSBGZXJnZWF1IDx0ZXVmQGdub21lLm9yZz4KCgkgIGFkZGVkIG5ldyBlbGVtZW50IHRvIGFkZCBYaW5nIGhlYWRlcnMgdG8gTVAzIGZpbGVzICh0aGlzIGFsbG93cyBkZWNvZGVyIHRvIGZpZ3VyZSBvdXQgdGhlIGxlbmd0aCBvZiBWQlIgZmlsZXMpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTExICBDaHJpc3RvcGhlIEZlcmdlYXUgIDx0ZXVmQGdub21lLm9yZz4KCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3hpbmdoZWFkZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguaDogYWRkZWQgbmV3IGVsZW1lbnQgdG8gYWRkIFhpbmcgaGVhZGVycwoJICB0byBNUDMgZmlsZXMgKHRoaXMgYWxsb3dzIGRlY29kZXIgdG8gZmlndXJlIG91dCB0aGUgbGVuZ3RoIG9mIFZCUgoJICBmaWxlcykKCjIwMDYtMDMtMTEgMTA6NTg6MDggKzAwMDAgIEFsZXggTGFuY2FzdGVyIDxhbGV4bGFuQGZlZG9yYXByb2plY3Qub3JnPgoKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6IGFuZCBhZGQgc3VwcG9ydCBmb3IgVENPUCAoY29weXJpZ2h0KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0xMSAgQ2hyaXN0b3BoZSBGZXJnZWF1ICA8dGV1ZkBnbm9tZS5vcmc+CgkgIFBhdGNoIGJ5OiBBbGV4IExhbmNhc3RlcgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOiBmaXggd3JpdGluZyBvZiBUUE9TIHRhZ3MgKGFsYnVtIG51bWJlciksCgkgIGFuZCBhZGQgc3VwcG9ydCBmb3IgVENPUCAoY29weXJpZ2h0KQoKMjAwNi0wMy0xMCAyMjo0MToxNCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvbW9kcGx1Zy86IEZpeCBtb2RwbHVnIGNvbXBpbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0xMCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6IEZpeCBtb2RwbHVnIGNvbXBpbGF0aW9uLgoKMjAwNi0wMy0xMCAxNzoxMDowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5oOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3NuZGZpbGUuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3NuZGZpbGUuaDoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6ICogY29uZmlndXJlLmFjOiAqIGdzdC9tb2RwbHVnL01ha2VmaWxlLmFtOiAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6ICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5oOiAqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc25kZmlsZS5jcHA6ICogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRmaWxlLmg6IG1vZHBsdWcgcGx1Z2luIHBvcnRlZCB0byAwLjEwICgjMzMyNTk4LCBwYXRjaCBieTogSm9uYXRoYW4gTWF0dGhldyA8am9uYXRoYW4gYXQga2FvbGluIHdoOSBuZXQ+KS4KCjIwMDYtMDMtMTAgMTM6NDk6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbGlibW1zL2dzdG1tcy4qOiBTb21lIGNsZWFuLXVwczsgbW9yZSBkZWJ1ZyBvdXRwdXQ7IHVzZSBibG9ja3NpemUgcHJvcGVydHkgb2YgR3N0QmFzZVNyYyBpbnN0ZWFkIG9mIHJlLXJlZ2lzdGVyaW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfdXJpaGFuZGxlcl9pbml0KSwKCSAgKGdzdF9tbXNfYmFzZV9pbml0KSwgKGdzdF9tbXNfY2xhc3NfaW5pdCksIChnc3RfbW1zX2luaXQpLAoJICAoZ3N0X21tc19maW5hbGl6ZSksIChnc3RfbW1zX2NyZWF0ZSksIChnc3RfbW1zX3N0YXJ0KSwKCSAgKGdzdF9tbXNfc2V0X3Byb3BlcnR5KSwgKGdzdF9tbXNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9tbXNfdXJpX2dldF91cmkpOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmg6CgkgIFNvbWUgY2xlYW4tdXBzOyBtb3JlIGRlYnVnIG91dHB1dDsgdXNlIGJsb2Nrc2l6ZSBwcm9wZXJ0eQoJICBvZiBHc3RCYXNlU3JjIGluc3RlYWQgb2YgcmUtcmVnaXN0ZXJpbmcgb3VyIG93bjsgbWFrZSBkZWJ1ZwoJICBjYXRlZ29yeSBhY3R1YWxseSBiZSB1c2VkLgoKMjAwNi0wMy0wOSAyMDowMjo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IGJ1aWxkIHdpdGggZ2NjLTQuMSAoIzMyNzM1NSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3NlbmRfZXZlbnQpOgoJICBGaXggYnVpbGQgd2l0aCBnY2MtNC4xICgjMzI3MzU1KS4KCjIwMDYtMDMtMDkgMTc6NDQ6MTcgKzAwMDAgIENocmlzdG9waGUgRmVyZ2VhdSA8dGV1ZkBnbm9tZS5vcmc+CgoJICBuZXcgaWQzdjIgbXV4ZXIgYmFzZWQgb24gVGFnTGliCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTA5ICBDaHJpc3RvcGhlIEZlcmdlYXUgIDx0ZXVmQGdub21lLm9yZz4KCSAgcmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuaDogbmV3IGlkM3YyIG11eGVyIGJhc2VkIG9uIFRhZ0xpYgoKMjAwNi0wMy0wOCAxMjoxNjoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRXh0cmFjdCBkaXNjIG51bWJlciBhbmQgY291bnQgZnJvbSBmaWxlcyB0aGF0IHVzZSAnZGlzaycgaW5zdGVhZCBvZiAnZGlzYycgYXMgbm9kZSBpZGVudGlmaWVyIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3VkdGEpOgoJICBFeHRyYWN0IGRpc2MgbnVtYmVyIGFuZCBjb3VudCBmcm9tIGZpbGVzIHRoYXQgdXNlCgkgICdkaXNrJyBpbnN0ZWFkIG9mICdkaXNjJyBhcyBub2RlIGlkZW50aWZpZXIgZm9yIHRoYXQKCSAgKGZpeGVzICMzMzIwNjYpLgoKMjAwNi0wMy0wNiAxMzoxNTowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9tdXNlcGFjay86IEZvcmdvdCB0aG9zZSB0d28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5oOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja3JlYWRlci5jOiAoZ3N0X211c2VwYWNrX3JlYWRlcl9wZWVrKToKCSAgRm9yZ290IHRob3NlIHR3by4KCjIwMDYtMDMtMDYgMTM6MTM6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogU29tZSBjbGVhbnVwczsgcGF1c2UgdGFzayB3aGVuIHB1c2ggZmFpbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX2Jhc2VfaW5pdCksCgkgIChnc3RfbXVzZXBhY2tkZWNfaW5pdCksIChnc3RfbXVzZXBhY2tkZWNfc2VuZF9uZXdzZWdtZW50KSwKCSAgKGdzdF9tdXNlcGFja2RlY19oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3RfbXVzZXBhY2tkZWNfZ2V0X3NyY19xdWVyeV90eXBlcyksIChnc3RfbXVzZXBhY2tkZWNfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9tdXNlcGFja19zdHJlYW1faW5pdCksIChnc3RfbXVzZXBhY2tkZWNfc2lua19hY3RpdmF0ZSksCgkgIChnc3RfbXVzZXBhY2tkZWNfc2lua19hY3RpdmF0ZV9wdWxsKSwgKGdzdF9tdXNlcGFja2RlY19sb29wKSwKCSAgKGdzdF9tdXNlcGFja2RlY19jaGFuZ2Vfc3RhdGUpOgoJICBTb21lIGNsZWFudXBzOyBwYXVzZSB0YXNrIHdoZW4gcHVzaCBmYWlscy4KCjIwMDYtMDMtMDUgMTM6MDM6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBzdXBwb3J0IGZvciAnM0lWRCcgZm91cmNjICgjMzMzNDAzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIHN1cHBvcnQgZm9yICczSVZEJyBmb3VyY2MgKCMzMzM0MDMpLgoKMjAwNi0wMy0wNCAyMDowNDoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogQWRkIHF1ZXJ5IGZ1bmN0aW9uIGZvciBwb3NpdGlvbi9kdXJhdGlvbiBxdWVyeWluZyAobW9zdGx5IGZvciByYXcgQUFDIHN0cmVhbXMpOyBtYWtlIHNlZWtpbmcgaW4gci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9pbml0KSwgKGdzdF9mYWFkX3NlbmRfdGFncyksCgkgIChnc3RfZmFhZF9zZXRjYXBzKSwgKGdzdF9mYWFkX2RvX3Jhd19zZWVrKSwgKGdzdF9mYWFkX3NyY19ldmVudCksCgkgIChnc3RfZmFhZF9zaW5rX2V2ZW50KSwgKGdzdF9mYWFkX3NyY19jb252ZXJ0KSwKCSAgKGdzdF9mYWFkX3NyY19xdWVyeSksIChnc3RfZmFhZF9jaGFpbiksIChnc3RfZmFhZF9jaGFuZ2Vfc3RhdGUpOgoJICBBZGQgcXVlcnkgZnVuY3Rpb24gZm9yIHBvc2l0aW9uL2R1cmF0aW9uIHF1ZXJ5aW5nIChtb3N0bHkgZm9yCgkgIHJhdyBBQUMgc3RyZWFtcyk7IG1ha2Ugc2Vla2luZyBpbiByYXcgQUFDIHN0cmVhbXMgd29yazsgcG9zdAoJICB0YWdzIHdpdGggY29kZWMgbmFtZSBpZiB0aGlzIGlzIGEgcmF3IEFBQyBzdHJlYW0uCgoyMDA2LTAzLTAzIDIzOjQ1OjIzICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBzeXMvOiBzaW5rcyBhcmUgbm93IHVzaW5nIEdTVF9SQU5LX1BSSU1BUlkgdG8gYmUgdXNlZCB3aXRoIGF1dG9kZWN0ZWN0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3OgoJICAqIHN5cy9kaXJlY3Rzb3VuZDoKCSAgc2lua3MgYXJlIG5vdyB1c2luZyBHU1RfUkFOS19QUklNQVJZIHRvIGJlIHVzZWQgd2l0aCBhdXRvZGVjdGVjdGlvbgoJICAqIHdpbjMyL3ZzNjoKCSAgcHJvamVjdCBmaWxlcyB1cGRhdGVkIHRvIGZpeCBzb21lIGJ1Z3MKCSAgKiB3aW4zMi92czc6CgkgICogd2luMzIvdnM4OgoJICB2czcgYW5kIHZzOCBwcm9qZWN0IGZpbGVzIGFkZGVkCgoyMDA2LTAzLTAzIDE4OjEwOjEyICswMDAwICBKZW5zIEdyYW5zZXVlciA8amVuc2dyQGdteC5uZXQ+CgoJICBleHQveHZpZC9nc3R4dmlkZGVjLmM6IERlY2xhcmUgdmFyaWFibGUgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgYmxvY2sgYW5kIG1ha2UgZ2NjLTIuOXgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOiAoZ3N0X3h2aWRkZWNfY2hhaW4pOgoJICBEZWNsYXJlIHZhcmlhYmxlIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJsb2NrIGFuZCBtYWtlIGdjYy0yLjl4CgkgIGhhcHB5IChmaXhlcyAjMzMzMjgzOyBwYXRjaCBieTogSmVucyBHcmFuc2V1ZXIpLgoKMjAwNi0wMy0wMyAxMTowNzo0MSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogVXNlIEdTVF9XQVJOSU5HIGluc3RlYWQgb2YgR1NUX0VSUk9SIGZvciBhbGwgdGhlIHRvbyBzaG9ydC9sb25nIGF0b21zIHdoZW4gcGFyc2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBVc2UgR1NUX1dBUk5JTkcgaW5zdGVhZCBvZiBHU1RfRVJST1IgZm9yIGFsbCB0aGUgdG9vIHNob3J0L2xvbmcgYXRvbXMKCSAgd2hlbiBwYXJzaW5nLgoJICBBbHNvIGxldCdzIGJlIGEgYml0IGxlc3MgdnVsZ2FyIGluIG91ciB3YXJuaW5nIG1lc3NhZ2VzIDopCgoyMDA2LTAzLTAyIDE4OjIzOjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIGF1ZGlvcmVzYW1wbGUgdG8gZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBBZGQgYXVkaW9yZXNhbXBsZSB0byBkb2NzLgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvZ3N0YXVkaW9jb252ZXJ0LmM6CgkgIEFkZCByZXZpc2lvbiBkYXRlLgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKGdzdF9hdWRpb3Jlc2FtcGxlX2Jhc2VfaW5pdCksIChnc3RfYXVkaW9yZXNhbXBsZV9jbGFzc19pbml0KSwKCSAgKGdzdF9hdWRpb3Jlc2FtcGxlX2luaXQpLCAoZ3N0X2F1ZGlvcmVzYW1wbGVfZGlzcG9zZSksCgkgIChhdWRpb3Jlc2FtcGxlX2dldF91bml0X3NpemUpLCAoYXVkaW9yZXNhbXBsZV90cmFuc2Zvcm1fY2FwcyksCgkgIChyZXNhbXBsZV9zZXRfc3RhdGVfZnJvbV9jYXBzKSwgKGF1ZGlvcmVzYW1wbGVfdHJhbnNmb3JtX3NpemUpLAoJICAoYXVkaW9yZXNhbXBsZV9zZXRfY2FwcyksIChhdWRpb3Jlc2FtcGxlX2V2ZW50KSwKCSAgKGF1ZGlvcmVzYW1wbGVfZG9fb3V0cHV0KSwgKGF1ZGlvcmVzYW1wbGVfdHJhbnNmb3JtKSwKCSAgKGF1ZGlvcmVzYW1wbGVfcHVzaHRocm91Z2gpLCAoZ3N0X2F1ZGlvcmVzYW1wbGVfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb3Jlc2FtcGxlX2dldF9wcm9wZXJ0eSksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5oOgoJICBBZGRlZCBkb2NzLgoJICBTbWFsbCBjb2RlIGNsZWFudXBzLgoKMjAwNi0wMi0yOCAxMTo1OTo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ2FuJ3QgZGl2aWRlIHRocm91Z2ggemVybyAoc3VwcHJlc3Mgd2FybmluZyBpbiBjYXNlIG9mIHN0cmVhbSB3aXRoIG9uZSBzaW5nbGUgc3RpbGwgcGljdHVyZSkgKC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBDYW4ndCBkaXZpZGUgdGhyb3VnaCB6ZXJvIChzdXBwcmVzcyB3YXJuaW5nIGluIGNhc2Ugb2YKCSAgc3RyZWFtIHdpdGggb25lIHNpbmdsZSBzdGlsbCBwaWN0dXJlKSAoc2VlICMzMjcwODMpCgoyMDA2LTAyLTI1IDIxOjQwOjA4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogSXQgZG9lc24ndCBzZWVtIHdlIG5lZWQgR0xVLmgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMjUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IEl0IGRvZXNuJ3Qgc2VlbSB3ZSBuZWVkIEdMVS5oCgoyMDA2LTAyLTI0IDE5OjQ5OjMyICswMDAwICBGYWJyaXppbyBHZW5uYXJpIDxmYWJyaXppby5nZUB0aXNjYWxpLml0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgc3VwcG9ydCBmb3IgcGFsZXR0aXNlZCBBcHBsZSBTTUMgdmlkZW9zICgjMzI3MDc1LCBiYXNlZCBvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgc3VwcG9ydCBmb3IgcGFsZXR0aXNlZCBBcHBsZSBTTUMgdmlkZW9zICgjMzI3MDc1LCBiYXNlZCBvbgoJICBwYXRjaCBieTogRmFicml6aW8gR2VubmFyaSA8ZmFicml6aW8gZG90IGdlIGF0IHRpc2NhbGkgZG90IGl0PikuCgoyMDA2LTAyLTI0IDE3OjE1OjM1ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBhdXRvZ2VuLnNoOiBBbGxvdyBhdXRvbWFrZSAxLjkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYXV0b2dlbi5zaDoKCSAgQWxsb3cgYXV0b21ha2UgMS45CgoyMDA2LTAyLTI0IDE3OjAyOjA4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgIENoYW5nZWQgcHJvcGVydHkgbmFtZSBmcm9tICJ1cmkiIHRvICJsb2NhdGlvbiIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VkIHByb3BlcnR5IG5hbWUgZnJvbSAidXJpIiB0byAibG9jYXRpb24iLgoKMjAwNi0wMi0yMiAxNDozNzoyMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBDeWd3aW4gUG9ydHMgbWFpbnRhaW5lci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgIE1lcmdlIHBhdGNoIGZyb20gIzMxNzA0OCBmb3IgYnVpbGRpbmcgb24gQ3lnd2luLiBQYXRjaCBieQoJICBDeWd3aW4gUG9ydHMgbWFpbnRhaW5lci4KCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZV9zaW5rX2luaXRfZGlzcGxheSk6CgkgIE1vdmUgbm9ybWFsIGRlYnVnIG91dHB1dCB0byBMT0cgbGV2ZWwgbm90IEVSUk9SLgoKMjAwNi0wMi0yMiAwOTozMzoyNSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkICdkdnNkJyBhbmQgJ2R2MjUnIHRvIGxpc3Qgb2YgcG9zc2libGUgZm91cmNjIHZhbHVlcyBmb3IgRFYgVmlkZW8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieSA6IEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgJ2R2c2QnIGFuZCAnZHYyNScgdG8gbGlzdCBvZiBwb3NzaWJsZSBmb3VyY2MgdmFsdWVzIGZvciBEViBWaWRlby4KCSAgQWRkIGltYWdlL3BuZyBmb3IgZm91cmNjICdwbmcgJwoKMjAwNi0wMi0yMSAxNTo0NDowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogU3VyZWx5IHRoaXMgaXMgc3VwcG9zZWQgdG8gYmUgPj0gYS5iLCBub3QgPT0gYS5iCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgU3VyZWx5IHRoaXMgaXMgc3VwcG9zZWQgdG8gYmUgPj0gYS5iLCBub3QgPT0gYS5iCgoyMDA2LTAyLTIwIDIxOjE5OjU5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFBvcnQgeGltYWdlc3JjIHRvIDAuMTAgKENsb3NlcyAjMzA0Nzk1KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy94aW1hZ2VzcmMvTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2VzcmNfcmV0dXJuX2J1ZiksCgkgIChnc3RfeGltYWdlc3JjX29wZW5fZGlzcGxheSksIChnc3RfeGltYWdlc3JjX3N0YXJ0KSwKCSAgKGdzdF94aW1hZ2VzcmNfc3RvcCksIChnc3RfeGltYWdlc3JjX3VubG9jayksCgkgIChnc3RfeGltYWdlc3JjX3JlY2FsYyksIChjb21wb3NpdGVfcGl4ZWwpLAoJICAoZ3N0X3hpbWFnZXNyY194aW1hZ2VfZ2V0KSwgKGdzdF94aW1hZ2VzcmNfY3JlYXRlKSwKCSAgKGdzdF94aW1hZ2VzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF94aW1hZ2VzcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF94aW1hZ2VzcmNfY2xlYXJfYnVmcG9vbCksIChnc3RfeGltYWdlc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfeGltYWdlc3JjX2Rpc3Bvc2UpLCAoZ3N0X3hpbWFnZXNyY19maW5hbGl6ZSksCgkgIChnc3RfeGltYWdlc3JjX2dldF9jYXBzKSwgKGdzdF94aW1hZ2VzcmNfc2V0X2NhcHMpLAoJICAoZ3N0X3hpbWFnZXNyY19maXhhdGUpLCAoZ3N0X3hpbWFnZXNyY19jbGFzc19pbml0KSwKCSAgKGdzdF94aW1hZ2VzcmNfaW5pdCksIChwbHVnaW5faW5pdCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuaDoKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXV0aWwuYzogKHhpbWFnZXV0aWxfaGFuZGxlX3hlcnJvciksCgkgICh4aW1hZ2V1dGlsX2NoZWNrX3hzaG1fY2FsbHMpLCAoeGltYWdldXRpbF94Y29udGV4dF9nZXQpLAoJICAoeGltYWdldXRpbF94Y29udGV4dF9jbGVhciksCgkgICh4aW1hZ2V1dGlsX2NhbGN1bGF0ZV9waXhlbF9hc3BlY3RfcmF0aW8pLAoJICAoZ3N0X3hpbWFnZXNyY19idWZmZXJfZmluYWxpemUpLCAoZ3N0X3hpbWFnZV9idWZmZXJfZnJlZSksCgkgIChnc3RfeGltYWdlc3JjX2J1ZmZlcl9pbml0KSwgKGdzdF94aW1hZ2VzcmNfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3hpbWFnZXNyY19idWZmZXJfZ2V0X3R5cGUpLCAoZ3N0X3hpbWFnZXV0aWxfeGltYWdlX25ldyksCgkgIChnc3RfeGltYWdldXRpbF94aW1hZ2VfZGVzdHJveSk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2V1dGlsLmg6CgkgIFBvcnQgeGltYWdlc3JjIHRvIDAuMTAgKENsb3NlcyAjMzA0Nzk1KQoKMjAwNi0wMi0yMCAyMDo1MjowMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5oOgoJICBJJ20gdG9vIGxhenkgdG8gY29tbWVudCB0aGlzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTb21lIGV2ZW50IGhhbmRsaW5nIGFkZGVkIGJ5IFJlbmF0byBGaWxobyA8cmVuYXRvLmZpbGhvQGluZHQub3JnLmJyPgoKMjAwNi0wMi0yMCAxOToxMzozNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gQ1ZTIG5hbm8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIENWUyBuYW5vCgo9PT0gcmVsZWFzZSAwLjEwLjEgPT09CgoyMDA2LTAyLTIwIDE5OjEyOjEwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogcmVsZWFzaW5nIDAuMTAuMSwgIlNsaW15IC0geWV0IHNhdGlzZnlpbmciCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTIwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIHJlbGVhc2luZyAwLjEwLjEsICJTbGlteSAtIHlldCBzYXRpc2Z5aW5nIgoKMjAwNi0wMi0yMCAxMzowODo1MCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiBGaXggY29tcGlsYXRpb24gb2YgTEFEUFNBLiBJdCBkb2Vzbid0IHNlZW0gdG8gd29yaywgYW5kIGlzbid0IGVuYWJsZWQgZm9yIHRoZSBidWlsZCwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogKGdzdF9zaWduYWxfcHJvY2Vzc29yX2V2ZW50KSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpOgoJICBGaXggY29tcGlsYXRpb24gb2YgTEFEUFNBLiBJdCBkb2Vzbid0IHNlZW0gdG8gd29yaywgYW5kIGlzbid0CgkgIGVuYWJsZWQgZm9yIHRoZSBidWlsZCwgYnV0IGl0IGhlbHBzIG1lIHdpbiB0aGUgZmVhdHVyZS1jb3VudAoJICBjb21wZXRpdGlvbnMgb29oIHllYWguCgoyMDA2LTAyLTE5IDIzOjQ1OjU2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogUmVsZWFzZSAwLjEwLjAuMyAtIHByZS1yZWxlYXNlIGZvciAwLjEwLjEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZWxlYXNlIDAuMTAuMC4zIC0gcHJlLXJlbGVhc2UgZm9yIDAuMTAuMQoKMjAwNi0wMi0xOSAyMDowMDoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9iejIvOiBBZGQgcHJvcGVyIGNvcHlyaWdodCBoZWFkZXJzIGlkZW50aWZ5aW5nIEx1dHogTcO8bGxlciBhcyB0aGUgYXV0aG9yIGFuZCBjb3B5cmlnaHQgaG9sZGVyICgjMzMxNjAwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2J6Mi9nc3RiejIuYzoKCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmg6CgkgICogZXh0L2J6Mi9nc3RiejJlbmMuYzoKCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5oOgoJICBBZGQgcHJvcGVyIGNvcHlyaWdodCBoZWFkZXJzIGlkZW50aWZ5aW5nIEx1dHogTcO8bGxlcgoJICBhcyB0aGUgYXV0aG9yIGFuZCBjb3B5cmlnaHQgaG9sZGVyICgjMzMxNjAwKS4KCjIwMDYtMDItMTcgMTg6MjU6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IEdTVF9MT0cgdGltZXN0YW1wcyBmcm9tIG5vbmV4aXN0ZW50IGluZGV4IGVudHJpZXMgKCMzMzE1ODIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKToKCSAgRG9uJ3QgR1NUX0xPRyB0aW1lc3RhbXBzIGZyb20gbm9uZXhpc3RlbnQgaW5kZXgKCSAgZW50cmllcyAoIzMzMTU4MikuCgoyMDA2LTAyLTE3IDE2OjI4OjI5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDaGVjayB0aGF0IHRoZSBzaXplIG9mIHRoZSByZXR1cm5lZCBidWZmZXIgaXMgb2YgdGhlIGNvcnJlY3Qgc2l6ZSBiZWNhdXNlIHRoZSBwYXJzZXIgYXNzdW1lcyB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKToKCSAgQ2hlY2sgdGhhdCB0aGUgc2l6ZSBvZiB0aGUgcmV0dXJuZWQgYnVmZmVyIGlzIG9mIHRoZSBjb3JyZWN0IHNpemUKCSAgYmVjYXVzZSB0aGUgcGFyc2VyIGFzc3VtZXMgdGhhdC4KCSAgRml4ZXMgIzMzMTU0My4KCjIwMDYtMDItMTcgMTY6MDA6MTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBSZWxlYXNlIDAuMTAuMC4yIC0gcHJlLXJlbGVhc2UgZm9yIDAuMTAuMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlbGVhc2UgMC4xMC4wLjIgLSBwcmUtcmVsZWFzZSBmb3IgMC4xMC4xCgoyMDA2LTAyLTE3IDE1OjAzOjEyICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgbGF0ZXN0IHVwZGF0ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGxhdGVzdCB1cGRhdGVzCgoyMDA2LTAyLTE2IDE0OjAyOjU3ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBzdG9wIHRoZSB0YXNrIGlmIHRoZSBwYWQgaXNuJ3QgbGlua2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9xdGRlbXV4X2xvb3ApLCAocXRkZW11eF9zaW5rX2FjdGl2YXRlX3B1bGwpOgoJICBEb24ndCBzdG9wIHRoZSB0YXNrIGlmIHRoZSBwYWQgaXNuJ3QgbGlua2VkLgoKMjAwNi0wMi0xNSAxMjoxMzo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogSXQgYXBwZWFycyAxMDAlIGVxdWFscyAxLzEgYW5kIG5vdCAxMDAvMSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2hhaW4pOgoJICBJdCBhcHBlYXJzIDEwMCUgZXF1YWxzIDEvMSBhbmQgbm90IDEwMC8xIC4uLgoKMjAwNi0wMi0xNSAwOTo0NToyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogV2hlbiBidWZmZXJpbmcgTURBVCBkYXRhLCBzaG93IHRoZSB1c2VyIHNvbWV0aGluZyBpcyBoYXBwZW5pbmcgYnkgcG9zdGluZyAnYnVmZmVyaW5nJyBtZXNzYWdlcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wb3N0X2J1ZmZlcmluZyksCgkgIChnc3RfcXRkZW11eF9jaGFpbik6CgkgIFdoZW4gYnVmZmVyaW5nIE1EQVQgZGF0YSwgc2hvdyB0aGUgdXNlciBzb21ldGhpbmcgaXMKCSAgaGFwcGVuaW5nIGJ5IHBvc3RpbmcgJ2J1ZmZlcmluZycgbWVzc2FnZXMgb24gdGhlIGJ1cy4KCjIwMDYtMDItMTQgMTg6NTA6MTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4Lio6IE1ha2UgcHVzaC1iYXNlZCB3b3JrIGlmIG1kYXQgYXRvbSBpcyBiZWZvcmUgbW9vdiBhdG9tLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKG5leHRfZW50cnlfc2l6ZSksIChnc3RfcXRkZW11eF9jaGFpbik6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBNYWtlIHB1c2gtYmFzZWQgd29yayBpZiBtZGF0IGF0b20gaXMgYmVmb3JlIG1vb3YgYXRvbS4KCSAgRG9uJ3QgYW5zd2VyIGR1cmF0aW9uIHF1ZXJ5LiBUaGlzIHNob3VsZCBiZSB0cmFuc2Zvcm1lZCBpbnRvIHJlcGx5aW5nCgkgIEZBTFNFIHRvIHNlZWsgZXZlbnRzLgoKMjAwNi0wMi0xNCAxMjoyNjoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9saWJtbXMvZ3N0bW1zLmM6IFJldHVybiBGTE9XX1VORVhQRUNURUQgb24gRU9TLCBub3QgRkxPV19FUlJPUi4gQWxzbywgbm8gbmVlZCB0byBwdXNoIG91ciBvd24gRU9TIGV2ZW50IG9uIEVPUywgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19jbGFzc19pbml0KSwgKGdzdF9tbXNfY3JlYXRlKSwKCSAgKGdzdF9tbXNfc3RhcnQpOgoJICBSZXR1cm4gRkxPV19VTkVYUEVDVEVEIG9uIEVPUywgbm90IEZMT1dfRVJST1IuIEFsc28sIG5vIG5lZWQgdG8KCSAgcHVzaCBvdXIgb3duIEVPUyBldmVudCBvbiBFT1MsIHRoZSBiYXNlIGNsYXNzIHdpbGwgZG8gdGhhdCBmb3IgdXM7CgkgIGZpeCBib2d1cyBxdWVyeSBjb2RlOyBwb3N0IHNlbWktZGVjZW50IGVycm9ycyBvbiB0aGUgYnVzIHdoZW4gYW4KCSAgZXJyb3Igb2NjdXJzIGluIDo6c3RhcnQoKSwgb3RoZXJ3aXNlIHRoZSB1c2VyIHdpbGwgZ2V0IHRvIHNlZQoJICB3aGF0ZXZlciBjcnlwdGljIGRlZmF1bHQgbWVzc2FnZSBHc3RCYXNlU3JjIGNvbWVzIHVwIHdpdGguCgoyMDA2LTAyLTE0IDExOjM2OjMwICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmMgKGdzdF9nbGltYWdlX3NpbmtfaW5pdCk6IENvbWUgb24gc2NobGVlZiwgZG9uJ3QgYnJlYWsgbWUgZ3N0LWluc3BlY3QgLWEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTE0ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYyAoZ3N0X2dsaW1hZ2Vfc2lua19pbml0KTogQ29tZSBvbgoJICBzY2hsZWVmLCBkb24ndCBicmVhayBtZSBnc3QtaW5zcGVjdCAtYS4KCjIwMDYtMDItMTQgMTE6MjQ6NTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEhhbmRsZSB0aGUgY2FzZSB3aGVyZSBkYXRhIGF0b21zIGFyZSBiZWZvcmUgbW9vdiBhdG9tcyBpbiBwdXNoLWJhc2VkIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKG5leHRfZW50cnlfc2l6ZSksIChnc3RfcXRkZW11eF9jaGFpbik6CgkgIEhhbmRsZSB0aGUgY2FzZSB3aGVyZSBkYXRhIGF0b21zIGFyZSBiZWZvcmUgbW9vdiBhdG9tcyBpbiBwdXNoLWJhc2VkIG1vZGUuCgkgIEVycm9ycyBvdXQgZ3JhY2VmdWxseS4KCjIwMDYtMDItMTMgMjI6MDQ6NDIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC86IFF0RGVtdXggY2FuIG5vdyB3b3JrIHB1c2gtYmFzZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NpbmtfZXZlbnQpLCAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKGV4dHJhY3RfaW5pdGlhbF9sZW5ndGhfYW5kX2ZvdXJjYyksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciksIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwgKG5leHRfZW50cnlfc2l6ZSksIChnc3RfcXRkZW11eF9jaGFpbiksCgkgIChxdGRlbXV4X3NpbmtfYWN0aXZhdGUpLCAocXRkZW11eF9zaW5rX2FjdGl2YXRlX3B1bGwpLAoJICAocXRkZW11eF9zaW5rX2FjdGl2YXRlX3B1c2gpLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIFF0RGVtdXggY2FuIG5vdyB3b3JrIHB1c2gtYmFzZWQuCgkgIEl0IHN0aWxsIG5lZWRzIHNvbWUgbG92ZSBmb3Igc2Vla2luZy4KCjIwMDYtMDItMTMgMTc6MDI6MDkgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9mcmVlemUvRkFROgoJKiBnc3QvZnJlZXplL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5oOgoJICBJJ20gdG9vIGxhenkgdG8gY29tbWVudCB0aGlzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmcmVlemUgcGx1Z2luIHBvcnRlZCB0byAwLjEwIGJ5IFJlbmF0byBGaWxobyA8cmVuYXRvLmZpbGhvQGluZHQub3JnLmJyPgoKMjAwNi0wMi0xMCAxNzo0MToxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFBvcnQgY2R4YXBhcnNlLCBtYWtlcyBWQ0QgcGxheWJhY2sgd29yay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9jZHhhcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5oOgoJICBQb3J0IGNkeGFwYXJzZSwgbWFrZXMgVkNEIHBsYXliYWNrIHdvcmsuCgoyMDA2LTAyLTEwIDEzOjE2OjQ5ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZQoKMjAwNi0wMi0wNyAxODozMTozMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHJlbW92ZSB1bnVzZWQgdmFyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgdW51c2VkIHZhcgoKMjAwNi0wMi0wNyAxODowMToxNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IHVzZSB0aGUgY29ycmVjdCB2YXJpYWJsZSB0byBjaGVjayBpZiB3ZSBjYW4gY2FsY3VsYXRlIHRoZSBsYXN0IGNodW5rLiAgTG9va3MgbGlrZSBhbiBvYnZpb3VzIGIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgdXNlIHRoZSBjb3JyZWN0IHZhcmlhYmxlIHRvIGNoZWNrIGlmIHdlIGNhbiBjYWxjdWxhdGUKCSAgdGhlIGxhc3QgY2h1bmsuICBMb29rcyBsaWtlIGFuIG9idmlvdXMgYnVnLCBhbmQgbWFrZXMKCSAgdGhlIGR1bXAgb2Ygb2Zmc2V0cyBjb21wYXJhYmxlIHRvIG90aGVyIHRvb2xzCgoyMDA2LTAyLTA3IDE3OjU1OjMzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgZG9jIHVwZGF0ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvYyB1cGRhdGVzCgoyMDA2LTAyLTA3IDE3OjU0OjQyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogY2xlYW4gdXAgc29tZSBkZWJ1Z2dpbmcsIHVzaW5nIF9PQkpFQ1QsIG1vdmluZyByZWN1cnJpbmcgbWVzc2FnZXMgdG8gTE9HIGxldmVsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIGNsZWFuIHVwIHNvbWUgZGVidWdnaW5nLCB1c2luZyBfT0JKRUNULCBtb3ZpbmcgcmVjdXJyaW5nCgkgIG1lc3NhZ2VzIHRvIExPRyBsZXZlbAoKMjAwNi0wMi0wNiAyMDo1MTo0OSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgIE5vdyBpdCB1c2VzIGxpYm5lb24gMC4yNS41IHRoYXQgc3VwcG9ydHMgc2hvdXRjYXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTm93IGl0IHVzZXMgbGlibmVvbiAwLjI1LjUgdGhhdCBzdXBwb3J0cyBzaG91dGNhc3QuCgoyMDA2LTAyLTA2IDE4OjIxOjUzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2J6Mi9nc3RiejJlbmMuYzogQWNjZXBkICJBTlkiIGNhcHMuIFVzZSAieC1iemlwIiBpbnN0ZWFkIG9mICJ4LWJ6MiIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieTogRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGZsdWVuZG8uY29tPgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmM6IEFjY2VwZCAiQU5ZIiBjYXBzLiBVc2UgIngtYnppcCIgaW5zdGVhZCBvZgoJICAieC1iejIiLgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmM6IFVzZSAieC1iemlwIiBpbnN0ZWFkIG9mICJ4LWJ6MiIuIEluaXRpYWwKCSAgY2FwcyBhcmUgIkFOWSIuCgkgIChnc3RfYnoyZGVjX2NoYWluKTogQ29uZmlndXJlIHRoZSBzb3VyY2UgcGFkIGlmIHdlIGNhbiBmaWd1cmUgb3V0CgkgIHRoZSBtaW1lIHR5cGUgb2YgdGhlIGRlY29tcHJlc3NlZCBkYXRhLgoJICAoZ3N0X2J6MmRlY19bZ2V0LHNldF1fcHJvcGVydHkpOgoJICAoZ3N0X2J6MmRlY19jbGFzc19pbml0OiBOZXcgcHJvcGVydHkgImZpcnN0X2J1ZmZlcl9zaXplIi4KCjIwMDYtMDItMDYgMTU6NDE6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4Lio6IFNvbWUgUVQgZGVtdXggbG92aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLCAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLAoJICAocXRkZW11eF9pbmZsYXRlKSwgKHF0ZGVtdXhfcGFyc2UpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdWR0YSksIChxdGRlbXV4X3RhZ19hZGRfc3RyKSwgKHF0ZGVtdXhfdGFnX2FkZF9udW0pLAoJICAocXRkZW11eF90YWdfYWRkX2ducmUpLCAoZ3N0X3F0ZGVtdXhfaGFuZGxlX2VzZHMpLAoJICAocXRkZW11eF92aWRlb19jYXBzKSwgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBTb21lIFFUIGRlbXV4IGxvdmluZy4KCSAgSGFuZGxlIHNlZWtpbmcgaW4gYSBsZXNzIGJyb2tlbiB3YXkuCgkgIEZpeCBBTVIgY2FwcyB0byBtYXRjaCB0aGUgQU1SIGRlY29kZXIuCgkgIFNldCBmaXJzdCB0aW1lc3RhbXAgb24gQU1SIHNhbXBsZXMgdG8gMCBmb3Igbm93LgoJICBSZW1vdmUgc29tZSBcbiBpbiBERUJVRyBzdHJpbmdzLgoJICBVc2UgX3NjYWxlX2ludCBmb3IgbWF4aW11bSBwcmVjaXNpb24uCgoyMDA2LTAyLTA2IDEyOjU2OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2FwZXRhZy86IFJlbW92ZSBvbGQgZmlsZXMsIGFwZXRhZyBpcyBpbiBnc3QtcGx1Z2lucy1nb29kIG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBldGFnL2FwZWRlbXV4LmM6CgkgICogZ3N0L2FwZXRhZy9hcGVkZW11eC5oOgoJICAqIGdzdC9hcGV0YWcvYXBldGFnLmM6CgkgIFJlbW92ZSBvbGQgZmlsZXMsIGFwZXRhZyBpcyBpbiBnc3QtcGx1Z2lucy1nb29kIG5vdy4KCjIwMDYtMDItMDYgMDk6NTQ6NTUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9iejIvOiBObyBuZWVkIHRvIGluaXQgcGFyZW50X2NsYXNzLCB0aGUgYm9pbGVycGxhdGUgZG9lcyBpdCBmb3IgeW91LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0wNiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5jIChnc3RfYnoyZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmMgKGdzdF9iejJkZWNfY2xhc3NfaW5pdCk6IE5vIG5lZWQgdG8gaW5pdAoJICBwYXJlbnRfY2xhc3MsIHRoZSBib2lsZXJwbGF0ZSBkb2VzIGl0IGZvciB5b3UuCgoyMDA2LTAyLTA2IDA5OjQwOjA5ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBIb29rIGl0IHVwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0wNSAgTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoJICByZXZpZXdlZCBieTogQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06IEhvb2sgaXQgdXAuCgkgICogZXh0L2J6Mi9nc3RiejIuYzoKCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5oOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkgICogZXh0L2J6Mi9nc3RiejJlbmMuaDoKCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5jOiBOZXcgcGx1Z2luLCBpbXBsZW1lbnRzIGJ6MiBlbmNvZGluZyBhbmQKCSAgZGVjb2RpbmcgKCMzMDMxNjcpLgoKMjAwNi0wMi0wMyAxMDoxMzoyMiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogY29tbW9uOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIG9wZW5nbCBwbHVnaW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBvcGVuZ2wgcGx1Z2luCgoyMDA2LTAxLTMwIDE1OjQ3OjQ3ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgc3lzL2dsc2luay9NYWtlZmlsZS5hbSAobGliZ3N0Z2xpbWFnZXNpbmtfbGFfTElCQUREKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMS0zMCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtIChsaWJnc3RnbGltYWdlc2lua19sYV9MSUJBREQpCgkgIChsaWJnc3RnbGltYWdlc2lua19sYV9DRkxBR1MpOiBBZGQgUExVR0lOU19CQVNFIGNmbGFncyBhbmQgbGlicy4KCjIwMDYtMDEtMjkgMjA6MDc6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IEFkZCBkZWJ1ZyBjYXRlZ29yeSwgdXNlIGJvaWxlcnBsYXRlIG1hY3JvcywgZml4IGhhbmRsaW5nIG9mIHdpZHRocyBvZiAzMiBiaXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfc2V0Y2FwcyksCgkgIChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KSwgKGdzdF93YXZwYWNrX2RlY19kaXNwb3NlKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGFzc19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19zaW5rX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX2RlY19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19mb3JtYXRfc2FtcGxlcyksCgkgIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pLCAoZ3N0X3dhdnBhY2tfZGVjX3BsdWdpbl9pbml0KToKCSAgQWRkIGRlYnVnIGNhdGVnb3J5LCB1c2UgYm9pbGVycGxhdGUgbWFjcm9zLCBmaXggaGFuZGxpbmcKCSAgb2Ygd2lkdGhzIG9mIDMyIGJpdHMuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfZGlzcG9zZSksIChnc3Rfd2F2cGFja19wYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2dldF9sYXN0X2VudHJ5KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2dldF9lbnRyeV9mcm9tX3NhbXBsZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9hcHBlbmRfZW50cnkpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NjYW5fdG9fZmluZF9zYW1wbGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2VuZF9uZXdzZWdtZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19ldmVudCksIChnc3Rfd2F2cGFja19wYXJzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2dldF91cHN0cmVhbV9sZW5ndGgpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcHVsbF9idWZmZXIpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3dhdmVwYWNrX3BhcnNlX3NpbmtfYWN0aXZhdGUpLAoJICAoZ3N0X3dhdmVwYWNrX3BhcnNlX3NpbmtfYWN0aXZhdGVfcHVsbCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9wbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIFJld3JpdGUgYSBiaXQsIG1vc3RseSB0byBmaXggZmxvdyBsb2dpYyBhbmQgdG8gbWFrZSBzZWVraW5nIHdvcmsuCgkgIEZpeCBidWZmZXIvZXZlbnQgcmVmY291bnRpbmcuIEFkZCBzb21lIGRlYnVnIHN0YXRlbWVudHMuIEFkZAoJICB3aWR0aCBvZiAzMiB0byBzb3VyY2UgcGFkIHRlbXBsYXRlIGNhcHMuIFVzZSBib2lsZXJwbGF0ZSBtYWNyb3MuCgoyMDA2LTAxLTI4IDEyOjQ1OjU0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL2dsc2luay9NYWtlZmlsZS5hbTogZ2xpbWFnZXNpbmsuaCBpcyBkZWFkLCBsb25nIGxpdmUgZ2xpbWFnZXNpbmsuaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICBnbGltYWdlc2luay5oIGlzIGRlYWQsIGxvbmcgbGl2ZSBnbGltYWdlc2luay5oCgoyMDA2LTAxLTI4IDA0OjM5OjE4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHJldml2YWwgb2YgZ2xpbWFnZXNpbmsuICBLaW5kIG9mIHdvcmtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDoKCSAgcmV2aXZhbCBvZiBnbGltYWdlc2luay4gIEtpbmQgb2Ygd29ya3MuCgoyMDA2LTAxLTI3IDEyOjQ3OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBIYW5kbGUgJ2ZyYW1lZCcgZmllbGQgaW4gY2FwczsgUG9ydCBzeW5jaW5nIGZvciByYXcgc3RyZWFtcyBmcm9tIDAuOCBicmFuY2ggKGZvciBBQUMrIHJhZGlvIHN0cmVhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX3NldGNhcHMpLAoJICAoZ3N0X2ZhYWRfY2hhbnBvc190b19nc3QpLCAoZ3N0X2ZhYWRfc3luYyksIChnc3RfZmFhZF9jaGFpbik6CgkgIEhhbmRsZSAnZnJhbWVkJyBmaWVsZCBpbiBjYXBzOyBQb3J0IHN5bmNpbmcgZm9yIHJhdyBzdHJlYW1zCgkgIGZyb20gMC44IGJyYW5jaCAoZm9yIEFBQysgcmFkaW8gc3RyZWFtcykgKCMzMjg3MjIpLgoKMjAwNi0wMS0yNyAwMTozMToxMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvc2RsL3NkbHZpZGVvc2luay4qOiBGaXggb3V0cHV0IHN0cmlkZSBjb3B5aW5nLCBzbyB0aGF0IGl0IGRpc3BsYXlzIGNvcnJlY3RseSBvbiBmcmFtZWJ1ZmZlciBkZXZpY2VzIHRoYXQgZG9uJ3QgbWEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3Npbmtfc3VwcG9ydGVkKSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfeG92ZXJsYXlfc2V0X3h3aW5kb3dfaWQpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19kZWluaXRzZGwpLCAoZ3N0X3NkbHZfcHJvY2Vzc19ldmVudHMpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19ldmVudF90aHJlYWQpLCAoZ3N0X3NkbHZpZGVvc2lua19pbml0c2RsKSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfZGVzdHJveSksIChnc3Rfc2RsdmlkZW9zaW5rX2NyZWF0ZSksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX3NldGNhcHMpLCAoZ3N0X3NkbHZpZGVvc2lua19zaG93X2ZyYW1lKSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfbmF2aWdhdGlvbl9zZW5kX2V2ZW50KToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJICBGaXggb3V0cHV0IHN0cmlkZSBjb3B5aW5nLCBzbyB0aGF0IGl0IGRpc3BsYXlzIGNvcnJlY3RseSBvbgoJICBmcmFtZWJ1ZmZlciBkZXZpY2VzIHRoYXQgZG9uJ3QgbWF0Y2ggb3VyIGltcGxpY3QgR1N0cmVhbWVyIHN0cmlkZQoJICBhcnJhbmdlbWVudC4KCSAgRml4IGxvY2tpbmcgdGhpbmdzLiBPZmZlciBYT3ZlcmxheSBvbmx5IHdoZW4gU0RMIGlzIHJ1bm5pbmcgYWdhaW5zdAoJICBYLiBNYWtlIG5vbi1zY2FsZWQgKGFuZCB1Z2x5KSBlbWJlZGRpbmcgd29yayB2aWEgWCBPdmVybGF5LiBJdCBjYW4ndAoJICBhY3R1YWxseSBtYXRjaCB0aGUgZW1iZWRkZWQgd2luZG93IHNpemUgYmVjYXVzZSB0aGVyZSdzIG5vIHdheSB0bwoJICBmaWd1cmUgb3V0IHdoYXQgc2l6ZSB0aGF0IHNob3VsZCBiZSBmcm9tIHRoZSBYT3ZlcmxheSBpbnRlcmZhY2UuCgkgIFNlZSBjb21tZW50IGluIHNkbHZpZGVvc2luay5jCgoyMDA2LTAxLTI2IDE2OjIzOjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggd3JvbmcgbWVtY3B5IHNvdXJjZSBwb2ludGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBGaXggd3JvbmcgbWVtY3B5IHNvdXJjZSBwb2ludGVyLgoKMjAwNi0wMS0yNSAxNDo0NDowNSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICBKdXN0IGNoYWluIHVwIGZpbmFsaXplIGNhbGxzIChjYWxsaW5nIHBhcmVudF9jbGFzcy0+ZmluYWxpemUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSnVzdCBjaGFpbiB1cCBmaW5hbGl6ZSBjYWxscyAoY2FsbGluZyBwYXJlbnRfY2xhc3MtPmZpbmFsaXplKS4KCjIwMDYtMDEtMjUgMTQ6MjA6MDQgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgRmluYWxpemUgbWV0aG9kIGhhcyBiZWVuIGNyZWF0ZWQgYW5kIG90aGVycyBzbWFsbCBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRmluYWxpemUgbWV0aG9kIGhhcyBiZWVuIGNyZWF0ZWQgYW5kIG90aGVycyBzbWFsbCBjaGFuZ2VzLgoKMjAwNi0wMS0yNCAyMTozMzoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9tdXNlcGFjay86IEZpeCBzZWVraW5nIGluIG11c2VwYWNrIGZpbGVzIChpdCdzIHN0aWxsIGluY3JlZGlibHkgc2xvdywgYnV0IEkgZG9uJ3QgdGhpbmsgdGhhdCBpcyBvdXIgcGx1Z2luJ3MgZmF1bC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X211c2VwYWNrZGVjX2NsYXNzX2luaXQpLCAoZ3N0X211c2VwYWNrZGVjX2luaXQpLAoJICAoZ3N0X211c2VwYWNrZGVjX3NlbmRfbmV3c2VnbWVudCksCgkgIChnc3RfbXVzZXBhY2tkZWNfaGFuZGxlX3NlZWtfZXZlbnQpLCAoZ3N0X211c2VwYWNrZGVjX3NyY19ldmVudCksCgkgIChnc3RfbXVzZXBhY2tkZWNfc3JjX3F1ZXJ5KSwgKGdzdF9tdXNlcGFja2RlY19zcmNfY29udmVydCksCgkgIChnc3RfbXVzZXBhY2tfc3RyZWFtX2luaXQpLCAoZ3N0X211c2VwYWNrZGVjX3NpbmtfYWN0aXZhdGVfcHVsbCksCgkgIChnc3RfbXVzZXBhY2tkZWNfbG9vcCksIChnc3RfbXVzZXBhY2tkZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuaDoKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tyZWFkZXIuYzogKGdzdF9tdXNlcGFja19yZWFkZXJfcGVlayksCgkgIChnc3RfbXVzZXBhY2tfcmVhZGVyX3NlZWspLCAoZ3N0X211c2VwYWNrX3JlYWRlcl90ZWxsKSwKCSAgKGdzdF9tdXNlcGFja19yZWFkZXJfZ2V0X3NpemUpOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja3JlYWRlci5oOgoJICBGaXggc2Vla2luZyBpbiBtdXNlcGFjayBmaWxlcyAoaXQncyBzdGlsbCBpbmNyZWRpYmx5IHNsb3csIGJ1dCBJCgkgIGRvbid0IHRoaW5rIHRoYXQgaXMgb3VyIHBsdWdpbidzIGZhdWx0KS4gQ2xlYW4gdXAgY29kZSBhbmQgZ2V0CgkgIHJpZCBvZiBvbGQgY3J1ZnQuIFBvc3QgdGFncyB3aXRoIGFsbCBraW5kIG9mIG5lYXQgaW5mb3JtYXRpb24gbGlrZQoJICByZXBsYXkgZ2FpbiBhbmQgc3VjaCBvbiB0aGUgYnVzLCBpZiBpdCBpcyBhdmFpbGFibGUuIEFkZCBhCgkgICdtdXNlcGFja2RlYycgZGVidWcgY2F0ZWdvcnkuCgoyMDA2LTAxLTI0IDExOjU4OjUzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBNb3JlIGNvaGVyZW50IGZyYW1lcmF0ZSBzZXR0aW5nIG9uIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgTW9yZSBjb2hlcmVudCBmcmFtZXJhdGUgc2V0dGluZyBvbiBjYXBzLgoJICBJZiBzYW1wbGVfc2l6ZSBpcyBhdmFpbGFibGUsIHVzZSB0aGF0IGZvciB0aGUgc2FtcGxlcycgZHVyYXRpb24gaW4KCSAgdGhlIGluZGV4LiBUaGlzIGVuYWJsZXMgc2luZ2xlIGZyYW1lIHN0cmVhbXMgdG8gd29yayAoYW5kIEkgaW1hZ2luZQoJICBmaXhlcyBzb21lIG90aGVyIGNhc2VzKS4KCSAgVGVzdGVkIG9uIHRlc3RzdWl0ZSwgbm8gcmVncmVzc2lvbi4KCjIwMDYtMDEtMjMgMTU6MTA6NTUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZGVkIGNvZGVjIHJlY29nbml0aW9uIGZvcjogXyBWUDMxIDogdmlkZW8veC12cDMgXyBBVkRKIDogaW1hZ2UvanBlZyBfIGR2Y3AsIGR2YyAgOiB2aWRlby94LWQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2FwcyksIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICBBZGRlZCBjb2RlYyByZWNvZ25pdGlvbiBmb3I6CgkgIF8gVlAzMSA6IHZpZGVvL3gtdnAzCgkgIF8gQVZESiA6IGltYWdlL2pwZWcKCSAgXyBkdmNwLCBkdmMgIDogdmlkZW8veC1kdiwgc3lzdGVtc3RyZWFtPShib29sZWFuKWZhbHNlCgkgIF8gMHg2ZDczMDAxNyA6IGF1ZGlvL3gtYWRwY20sIGxheW91dD0oc3RyaW5nKXF1aWNrdGltZQoKMjAwNi0wMS0yMSAxODozNToyOSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBVcGRhdGUgZnJvbSBzd2ZkZWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiBVcGRhdGUgZnJvbSBzd2ZkZWMuCgoyMDA2LTAxLTIxIDExOjQzOjUzICswMDAwICBGYWJyaXppbyA8ZmFicml6aW8uZ2VAdGlzY2FsaS5pdD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogJ3R3b3MnIGFuZCAnc293dCcgZm91cmNjIGNhbiBiZSAxNmJpdCBvciA4Yml0IGF1ZGlvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgJ3R3b3MnIGFuZCAnc293dCcgZm91cmNjIGNhbiBiZSAxNmJpdCBvciA4Yml0IGF1ZGlvLgoJICBGaXggOGJpdCBjYXNlICgjMzI3MTMzLCBiYXNlZCBvbiBwYXRjaCBieTogRmFicml6aW8KCSAgR2VubmFyaSA8ZmFicml6aW8gZG90IGdlIGF0IHRpc2NhbGkgZG90IGl0PikuCgkgIEFsc28sICJHX0xJVFRMRV9FTkRJQU4iIGFuZCAiR19CSUdfRU5ESUFOIiBhcmUgbm90CgkgIHZhbGlkIGxpdGVyYWxzIGZvciBlbmRpYW5uZXNzIGluIGNhcHMgc3RyaW5ncywKCSAgb25seSAiTElUVExFX0VORElBTiIgYW5kICJCSUdfRU5ESUFOIiBhcmUgdmFsaWQuCgoyMDA2LTAxLTIwIDE3OjA0OjM4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICBGaXhlZCBzdGF0ZSB0cmFuc2ljdGlvbnMgUExBWUlORy0+TlVMTC0+UExBWUlORy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIHN0YXRlIHRyYW5zaWN0aW9ucyBQTEFZSU5HLT5OVUxMLT5QTEFZSU5HLgoKMjAwNi0wMS0xOSAxNjo0OToyOSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkgIFNvbWUgbWlub3IgaW1wcm92ZW1lbnRzIG9uIGxvZyBtZXNzYWdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNvbWUgbWlub3IgaW1wcm92ZW1lbnRzIG9uIGxvZyBtZXNzYWdlcy4KCjIwMDYtMDEtMTggMTg6NTQ6MDIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBSb25hbGQncyBwYXRjaCBhcHBsaWVkLiBzZWUgYnVnICMzMjYzMTguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSb25hbGQncyBwYXRjaCBhcHBsaWVkLiBzZWUgYnVnICMzMjYzMTguCgoyMDA2LTAxLTE3IDE2OjQ1OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC4qOiBGaXggc2Vla2luZyBmb3IgcXVpY2t0aW1lIGZpbGVzLiBDb3VsZCBzdGlsbCB1c2Ugc29tZSBtb3JlIGxvdmUgYW5kIHNvcGhpc3RpY2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X3NlbmRfZXZlbnQpLCAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgRml4IHNlZWtpbmcgZm9yIHF1aWNrdGltZSBmaWxlcy4gQ291bGQgc3RpbGwgdXNlIHNvbWUgbW9yZQoJICBsb3ZlIGFuZCBzb3BoaXN0aWNhdGlvbi4KCjIwMDYtMDEtMTcgMTM6MTQ6MDggKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBmaXhpbmcgdmVyc2lvbmluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4aW5nIHZlcnNpb25pbmcKCjIwMDYtMDEtMTYgMTI6MzA6NDEgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSAgUmVtb3ZlZCBnc3RfYmFzZV9zcmNfc2V0X2xpdmUgZnJvbSBtbXMgYW5kIG5lb24sIGFuZCBub3cgY2FsbGluZyBwYXJlbnRfY2xhc3MtPmRpc3Bvc2UgaW4gZGlzcG9zZSBvbiBzZGxhdWRpby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbW92ZWQgZ3N0X2Jhc2Vfc3JjX3NldF9saXZlIGZyb20gbW1zIGFuZCBuZW9uLCBhbmQgbm93IGNhbGxpbmcgcGFyZW50X2NsYXNzLT5kaXNwb3NlIGluIGRpc3Bvc2Ugb24gc2RsYXVkaW8uCgoyMDA2LTAxLTExIDIwOjU5OjM5ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkgIE5vdyBpbXBsZW1lbnRpbmcgbmF2aWdhdGlvbiBpbnRlcmZhY2UgYW5kIHVzaW5nIEdTVF9CT0lMRVJfUExBVEVfRlVMTC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE5vdyBpbXBsZW1lbnRpbmcgbmF2aWdhdGlvbiBpbnRlcmZhY2UgYW5kIHVzaW5nIEdTVF9CT0lMRVJfUExBVEVfRlVMTC4KCjIwMDYtMDEtMTEgMTU6MzQ6NTIgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvc3VuYXVkaW8vTWFrZWZpbGUuYW06CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpby5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmg6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5lbGVtZW50LmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5lbGVtZW50Lmg6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5taXhlci5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VubWl4ZXIuaDoKCSAgcmVtb3ZlIG9sZCAoYnJva2VuKSBzdW5hdWRpbyBwbHVnaW4gZnJvbSBiYWQgYXMgdGhlcmUgaXMgYSBuZXcgd29ya2luZyBvbmUgaW4gLWdvb2QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSBvbGQgKGJyb2tlbikgc3VuYXVkaW8gcGx1Z2luIGZyb20gYmFkIGFzIHRoZXJlIGlzIGEgbmV3IHdvcmtpbmcgb25lCgkgIGluIC1nb29kCgoyMDA2LTAxLTExIDE0OjQxOjI0ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkgIFJlcGxhY2VkIHdyb25nIHN0eWxlIGNvZGUgYnkgR1NUX0JPSUxFUlBMQVRFLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVwbGFjZWQgd3Jvbmcgc3R5bGUgY29kZSBieSBHU1RfQk9JTEVSUExBVEUuCgoyMDA2LTAxLTExIDExOjA0OjAzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgc3VwcG9ydCBmb3IgSW5kZW8zIHZpZGVvIGluIFF1aWNrdGltZSBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJldmlld2VkIGJ5OiBFZHdhcmQgSGVydmV5ICA8ZWR3YXJkQGZsdWVuZG8uY29tPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBzdXBwb3J0IGZvciBJbmRlbzMgdmlkZW8gaW4gUXVpY2t0aW1lIGZpbGVzLgoJICBDbG9zZXMgIzMyNjUyNAoKMjAwNi0wMS0wOSAxODoyMDo1NiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSogZXh0L3NkbC9nc3RzZGwuYzoKCSogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSogZXh0L3NkbC9zZGxhdWRpb3NpbmsuaDoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgQ3JlYXRlZCBuZXcgZWxlbWVudCwgc2RsYXVkaW9zaW5rLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ3JlYXRlZCBuZXcgZWxlbWVudCwgc2RsYXVkaW9zaW5rLgoKMjAwNi0wMS0wNSAyMzoxNzo0NCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSogd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwOgoJICBhZGRlZCBzeXMvZGlyZWN0ZHJhdyBhZGRlZCBzeXMvZGlyZWN0c291bmQgYWRkZWQgd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3cgYWRkZWQgd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDEtMDUgIFNlYmFzdGllbiBNb3V0dGUgIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCSAgKiBhZGRlZCBzeXMvZGlyZWN0ZHJhdwoJICAqIGFkZGVkIHN5cy9kaXJlY3Rzb3VuZAoJICAqIGFkZGVkIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3CgkgICogYWRkZWQgd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcAoJICAqIGFkZGVkIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3RkcmF3LmRzcAoJICAqIGFkZGVkIHdpbjMyL2NvbW1vbi9jb25maWcuaAoKMjAwNi0wMS0wNSAxNzowMzoxNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2dhbWVzL2dzdHB1enpsZS5jOiBjYWxsIG9pbF9pbml0KCkgd2hlbiB1c2luZyBsaWJvaWwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOiAocGx1Z2luX2luaXQpOgoJICBjYWxsIG9pbF9pbml0KCkgd2hlbiB1c2luZyBsaWJvaWwKCjIwMDYtMDEtMDQgMTk6Mzk6MTAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgU29tZSBpbXByb3ZlbWVudHMgaW4gY2FuY2VsbGF0aW9uIGFuZCBkZWJ1ZyBtZXNzYWdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNvbWUgaW1wcm92ZW1lbnRzIGluIGNhbmNlbGxhdGlvbiBhbmQgZGVidWcgbWVzc2FnZXMuCgoyMDA2LTAxLTA0IDEzOjI2OjM1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgUmVtb3ZlZCBub3QgbmVlZCB0aHJlYWQgYW5kIGNoYW5nZWQgdG8gcHVzaCBvdXQgYmxvY2tzaXplIGJ5dGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVtb3ZlZCBub3QgbmVlZCB0aHJlYWQgYW5kIGNoYW5nZWQgdG8gcHVzaCBvdXQgYmxvY2tzaXplIGJ5dGVzLgoKPT09IHJlbGVhc2UgMC4xMC4yID09PQoKMjAwNi0wMS0wMyAxNzozMzoxNiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuaDogQXMgYmVmb3JlLCBidXQgZm9yIG9fYnVmCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmg6CgkgIEFzIGJlZm9yZSwgYnV0IGZvciBvX2J1ZgoKMjAwNi0wMS0wMyAxNzoyNzoxMyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuaDogRGVjbGFyZSBzdHJ1Y3QgX1Jlc2FtcGxlU3RhdGUuYnVmZmVyIGFzIHVuc2lnbmVkIGNoYXIgKiwgbm90IHZvaWQgKiwgc2luY2Ugd2UgZG8gYXJpdGhtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmg6CgkgIERlY2xhcmUgc3RydWN0IF9SZXNhbXBsZVN0YXRlLmJ1ZmZlciBhcyB1bnNpZ25lZCBjaGFyICosIG5vdCB2b2lkICosCgkgIHNpbmNlIHdlIGRvIGFyaXRobWV0aWMgb24gaXQuCgoyMDA2LTAxLTAyIDE1OjA1OjA5ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIG5lb24gcGx1Z2luIHRvIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIG5lb24gcGx1Z2luIHRvIHNwZWMgZmlsZQoKMjAwNS0xMi0zMCAxNTo0MToyMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvc21vb3Rod2F2ZS8uZ2l0aWdub3JlOgoJKiBleHQvc21vb3Rod2F2ZS9NYWtlZmlsZS5hbToKCSogZXh0L3Ntb290aHdhdmUvUkVBRE1FOgoJKiBleHQvc21vb3Rod2F2ZS9kZW1vLW9zc3NyYy5jOgoJKiBleHQvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6CgkqIGV4dC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuaDoKCSAgbW92ZSBzbW9vdGh3YXZlIHRvIGdzdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW92ZSBzbW9vdGh3YXZlIHRvIGdzdAoKMjAwNS0xMi0yOCAyMTowNzoxNyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L25lb24vTWFrZWZpbGUuYW06CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIENyZWF0ZWQgbmV3IGVsZW1lbnQgbmVvbmh0dHBzcmMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDcmVhdGVkIG5ldyBlbGVtZW50IG5lb25odHRwc3JjLgoKMjAwNS0xMi0xOSAxNToxOTo0NCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IEFkZCBkZWJ1Z2dpbmcgY2F0ZWdvcnkgYW5kIHJldHVybiBHc3RGbG93UmV0dXJuIGluIHRoZSByaWdodCBwbGFjZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogKGdzdF9zd2ZkZWNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3dmZGVjX2NoYWluKSwgKGdzdF9zd2ZkZWNfcmVuZGVyKToKCSAgQWRkIGRlYnVnZ2luZyBjYXRlZ29yeSBhbmQgcmV0dXJuIEdzdEZsb3dSZXR1cm4gaW4gdGhlIHJpZ2h0IHBsYWNlcwoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19saW5rKToKCSAgR2V0IHNvbWV0aGluZyBmcm9tIHRoZSBwZWVyIHBhZCBvbmNlIHdlJ3ZlIGNoZWNrZWQgaWYgdGhlcmUgaXMgYSBwZWVyIHBhZC4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAocXRkZW11eF90cmVlX2dldF9jaGlsZF9ieV90eXBlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBDb3VwbGUgb2YgZml4ZXMKCjIwMDUtMTItMTkgMTQ6NTg6NDcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2RpdngvTWFrZWZpbGUuYW06CgkgIGp1c3QgYSBzbWFsbCBmaXguIEkgaGF2ZSB0byBwYXkgbW9yZSBhdHRlbnRpb24gd2hlbiBjb21taXRpbmcgOy0pCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBqdXN0IGEgc21hbGwgZml4LiBJIGhhdmUgdG8gcGF5IG1vcmUgYXR0ZW50aW9uIHdoZW4gY29tbWl0aW5nIDstKQoKMjAwNS0xMi0xOSAxNDo0MDoyMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2RpdngvTWFrZWZpbGUuYW06CgkqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzoKCSogZXh0L2RpdngvZ3N0ZGl2eGRlYy5oOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuaDoKCSAgZGl2eGRlYyBhbmQgZGl2eGVuYyBwb3J0ZWQgdG8gMC4xMAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZGl2eGRlYyBhbmQgZGl2eGVuYyBwb3J0ZWQgdG8gMC4xMAoKMjAwNS0xMi0xOCAyMTowNjo0NyArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBTb21lIG1vcmUgcmVmYWN0b3JpbmcsIGhhbmRsZSBleG90aWMgRGlyZWN0RkIgcm93IHN0cmlkZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMTggIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC50eHQ6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAoZ3N0X2RmYnZpZGVvc2lua19zdXJmYWNlX2NyZWF0ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2V2ZW50X3RocmVhZCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2VudW1fZGV2aWNlcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX3NldHVwKSwgKGdzdF9kZmJ2aWRlb3NpbmtfY2xlYW51cCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2Nhbl9ibGl0X2Zyb21fZm9ybWF0KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0Y2FwcyksIChnc3RfZGZidmlkZW9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zaG93X2ZyYW1lKSwgKGdzdF9kZmJ2aWRlb3NpbmtfYnVmZmVyX2FsbG9jKSwKCSAgKGdzdF9kZmJzdXJmYWNlX2ZpbmFsaXplKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfbmF2aWdhdGlvbl9zZW5kX2V2ZW50KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfdXBkYXRlX2NvbG9yYmFsYW5jZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX3NldF9wcm9wZXJ0eSksIChnc3RfZGZidmlkZW9zaW5rX2luaXQpOiBTb21lCgkgIG1vcmUgcmVmYWN0b3JpbmcsIGhhbmRsZSBleG90aWMgRGlyZWN0RkIgcm93IHN0cmlkZS4KCjIwMDUtMTItMTggMTA6NTg6NDQgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogVXBkYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMTggIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXVuZG9jdW1lbnRlZC50eHQ6CgkgIFVwZGF0ZXMuCgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAoZ3N0X2RmYnZpZGVvc2lua19zdXJmYWNlX2NyZWF0ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2V2ZW50X3RocmVhZCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2VudW1fZGV2aWNlcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX3NldHVwKSwgKGdzdF9kZmJ2aWRlb3NpbmtfY2xlYW51cCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2Nhbl9ibGl0X2Zyb21fZm9ybWF0KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0Y2FwcyksIChnc3RfZGZidmlkZW9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zaG93X2ZyYW1lKSwgKGdzdF9kZmJ2aWRlb3NpbmtfYnVmZmVyX2FsbG9jKSwKCSAgKGdzdF9kZmJzdXJmYWNlX2ZpbmFsaXplKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfbmF2aWdhdGlvbl9zZW5kX2V2ZW50KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfdXBkYXRlX2NvbG9yYmFsYW5jZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2ZpbmFsaXplKSwgKGdzdF9kZmJ2aWRlb3NpbmtfaW5pdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDogSW1wbGVtZW50IHBpeGVsLWFzcGVjdC1yYXRpby4KCSAgVGhpcyBzaG91bGQgd29yayBib3RoIGZvciBoYXJkd2FyZSBhY2NlbGVyYXRlZCBzY2FsaW5nIGFuZAoJICByZXZlcnNlIGNhcHMgbmVnb3RpYXRpb24gd2l0aCBhIHNjYWxpbmcgZWxlbWVudC4KCjIwMDUtMTItMTcgMTc6NDg6MzggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogVXBkYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMTcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtdW5kb2N1bWVudGVkLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbHZpZGVvc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDogVXBkYXRlcy4KCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIChnc3RfZGZidmlkZW9zaW5rX3N1cmZhY2VfY3JlYXRlKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZXZlbnRfdGhyZWFkKSwgKGdzdF9kZmJ2aWRlb3NpbmtfZW51bV92bW9kZXMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19lbnVtX2RldmljZXMpLCAoZ3N0X2RmYnZpZGVvc2lua19zZXR1cCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NsZWFudXApLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jYW5fYmxpdF9mcm9tX2Zvcm1hdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF9iZXN0X3Ztb2RlKSwgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0Y2FwcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX3NldGNhcHMpLCAoZ3N0X2RmYnZpZGVvc2lua19zaG93X2ZyYW1lKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfYnVmZmVyX2FsbG9jKSwgKGdzdF9kZmJzdXJmYWNlX2ZpbmFsaXplKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfaW50ZXJmYWNlX3N1cHBvcnRlZCksCgkgIChnc3RfZGZidmlkZW9zaW5rX25hdmlnYXRpb25fc2VuZF9ldmVudCksCgkgIChnc3RfZGZidmlkZW9zaW5rX3VwZGF0ZV9jb2xvcmJhbGFuY2UpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jb2xvcmJhbGFuY2VfbGlzdF9jaGFubmVscyksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NvbG9yYmFsYW5jZV9zZXRfdmFsdWUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jb2xvcmJhbGFuY2VfZ2V0X3ZhbHVlKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY29sb3JiYWxhbmNlX2luaXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19pbml0KSwgKGdzdF9kZmJ2aWRlb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOiBJbXBsZW1lbnQgdmVydGljYWwgc3luYyBhbmQKCSAgY29sb3IgYmFsYW5jZSBpbnRlcmZhY2UuCgoyMDA1LTEyLTE2IDIxOjU1OjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb24ndCB1c2UgZG9jIGNvbW1lbnRzIGZvciBub24tZG9jcyBjaGFuZ2Ugc29tZSBjaGFyKiBpbnRvIGNoYXJbXQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6IChnc3RfYXJ0c2RzaW5rX29wZW5fYXVkaW8pOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOiAoc29ja2V0X3JlY2VpdmVfZmlsZV90b19idWZmKToKCSAgKiBnc3QvdmJpZGVjL3ZiaWRhdGEuYzoKCSAgKiBnc3QvdmJpZGVjL3ZiaWRhdGEuaDoKCSAgKiBnc3QvdmJpZGVjL3ZiaXNjcmVlbi5jOgoJICAqIHN5cy9keHIzL2FjM19wYWRkZXIuYzoKCSAgZG9uJ3QgdXNlIGRvYyBjb21tZW50cyBmb3Igbm9uLWRvY3MKCSAgY2hhbmdlIHNvbWUgY2hhciogaW50byBjaGFyW10KCjIwMDUtMTItMTYgMTQ6NDc6NTkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiBBbHdheXMgcHJlZmVyIHRoZSBwcmltYXJ5IGxheWVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0xNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKGdzdF9kZmJ2aWRlb3NpbmtfZW51bV9sYXllcnMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19pbml0KTogQWx3YXlzIHByZWZlciB0aGUgcHJpbWFyeSBsYXllci4KCjIwMDUtMTItMTYgMTI6MjU6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IE9vcHMsIHJlbW92ZSB0cmFpbGluZyBjb21tYSBmcm9tIGNhcHMgc3RyaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkgIE9vcHMsIHJlbW92ZSB0cmFpbGluZyBjb21tYSBmcm9tIGNhcHMgc3RyaW5nLgoKMjAwNS0xMi0xNiAwOTo1OToyMSArMDAwMCAgZ2NvY2F0cmVAZ21haWwuY29tIDxnY29jYXRyZUBnbWFpbC5jb20+CgoJICBleHQvd2F2cGFjay86IFdhdnBhY2sgc3VwcG9ydHMgc2FtcGxlcmF0ZXMgZnJvbSA2LTE5MmtIeiwgZml4IHBhZCB0ZW1wbGF0ZSByZW1vdmUgYnVmZmVyLWZyYW1lcyBmcm9tIGNhcHMsIHRoZXkgYXJlIGcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2xpbmspOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICBXYXZwYWNrIHN1cHBvcnRzIHNhbXBsZXJhdGVzIGZyb20gNi0xOTJrSHosIGZpeCBwYWQgdGVtcGxhdGUKCSAgY2FwcyAoZml4ZXMgIzMyMjk3MzsgcGF0Y2ggYnk6IGdjb2NhdHJlQGdtYWlsLmNvbSkuIEFsc28KCSAgcmVtb3ZlIGJ1ZmZlci1mcmFtZXMgZnJvbSBjYXBzLCB0aGV5IGFyZSBnb25lIGluIDAuMTAuCgoyMDA1LTEyLTE1IDE0OjM5OjAwICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC94dmlkL01ha2VmaWxlLmFtOgoJKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgRml4ZWQgc29tZSBtZW0tbGVha3MgaW4geHZpZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIHNvbWUgbWVtLWxlYWtzIGluIHh2aWQuCgoyMDA1LTEyLTE1IDEwOjMwOjE0ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IERvbid0IGxlYWsgYWxsIGlucHV0IGJ1ZmZlcnMgdG8gYXVkaW9yZXNhbXBsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICBEb24ndCBsZWFrIGFsbCBpbnB1dCBidWZmZXJzIHRvIGF1ZGlvcmVzYW1wbGUuCgoyMDA1LTEyLTE1IDA4OjU0OjI2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgZG9lc24ndCB1c2UgbGlib2lsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb2Vzbid0IHVzZSBsaWJvaWwKCjIwMDUtMTItMTQgMjI6NDE6NDcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC94dmlkL2dzdHh2aWQuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZC5oOgoJKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRkZWMuaDoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmg6CgkgIHh2aWRkZWMgYW5kIHh2aWRlZW5jIHBvcnRlZCB0byAwLjEwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB4dmlkZGVjIGFuZCB4dmlkZWVuYyBwb3J0ZWQgdG8gMC4xMAoKMjAwNS0xMi0xNCAyMDo1NDowNiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2R0cy9NYWtlZmlsZS5hbToKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSAgZHRzZGVjIHBvcnRlZCB0byAwLjEwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkdHNkZWMgcG9ydGVkIHRvIDAuMTAKCjIwMDUtMTItMTIgMTA6NDA6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvOiBHc3RPYmplY3RzIG11c3QgYmUgdW5yZWYnZWQgd2l0aCBnc3Rfb2JqZWN0X3VucmVmKCkgaW5zdGVhZCBvZiBnX29iamVjdF91bnJlZigpLCBvdGhlcndpc2UgdGhpbmdzIGJyZWFrIGZvciBHTGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOiAoZ3N0X2l2b3JiaXNmaWxlX2xvb3ApOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX3NyY19xdWVyeSksIChnc3RfbW1zX2NyZWF0ZSk6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9tdXNlcGFja2RlY19sb29wKToKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY192aWRlb19saW5rKSwKCSAgKGdzdF9zd2ZkZWNfc3JjX3F1ZXJ5KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSk6CgkgIEdzdE9iamVjdHMgbXVzdCBiZSB1bnJlZidlZCB3aXRoIGdzdF9vYmplY3RfdW5yZWYoKSBpbnN0ZWFkIG9mCgkgIGdfb2JqZWN0X3VucmVmKCksIG90aGVyd2lzZSB0aGluZ3MgYnJlYWsgZm9yIEdMaWItMi42IHVzZXJzLgoKMjAwNS0xMi0xMiAwOToyOToyMSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiBBZGQgYSBzdWJjbGFzcyBvZiBHc3RCdWZmZXIgdGhhdCB3cmFwcyBTd2ZkZWNCdWZmZXJzLiAgRml4IGEgbWFzc2l2ZSBtZW1sZWFrIGJlY2F1c2UgdGhlIHZpZGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogKGdzdF9zd2ZkZWNidWZmZXJfZ2V0X3R5cGUpLAoJICAoZ3N0X3N3ZmRlY2J1ZmZlcl9jbGFzc19pbml0KSwgKGdzdF9zd2ZkZWNidWZmZXJfZmluYWxpemUpLAoJICAoZ3N0X3N3ZmRlY19idWZmZXJfZnJvbV9zd2YpLCAoZ3N0X3N3ZmRlY19yZW5kZXIpOiBBZGQgYSBzdWJjbGFzcwoJICBvZiBHc3RCdWZmZXIgdGhhdCB3cmFwcyBTd2ZkZWNCdWZmZXJzLiAgRml4IGEgbWFzc2l2ZSBtZW1sZWFrCgkgIGJlY2F1c2UgdGhlIHZpZGVvIGJ1ZmZlcnMgcHJldmlvdXNseSBuZXZlciBnb3QgZnJlZWQuCgoyMDA1LTEyLTExIDIzOjU0OjU2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgIEp1c3QgcmVtb3ZlZCBhIHdlaXJkIHByaW50ZiA7LSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEp1c3QgcmVtb3ZlZCBhIHdlaXJkIHByaW50ZiA7LSkKCjIwMDUtMTItMTEgMjM6MDk6MjEgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5oOgoJICBBZGRlZCBzdXBvcnQgdG8gbW1zaC4gVGhlcmUncyBzdGlsbCBhIHN1Y2tzIG1zZyAiRVJST1I6IFBpcGVsaW5lIGNhbnQgUFJFUk9PTC4uLiIgdG8gYmUgZml4ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGRlZCBzdXBvcnQgdG8gbW1zaC4gVGhlcmUncyBzdGlsbCBhIHN1Y2tzIG1zZyAiRVJST1I6IFBpcGVsaW5lIGNhbnQgUFJFUk9PTC4uLiIgdG8gYmUgZml4ZWQuCgoyMDA1LTEyLTA5IDE1OjMwOjIxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogQXNzdW1lIHRoYXQgYW4gdW5rbm93biBjaGFubmVsIG1hcHBpbmcgd2l0aCAyIGNoYW5uZWxzIGlzIHN0ZXJlbyBhbmQgcGxheSBpdCB0aGF0IHdheSBpbnN0ZWFkIG9mIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9jaGFucG9zX3RvX2dzdCksCgkgIChnc3RfZmFhZF91cGRhdGVfY2Fwcyk6CgkgIEFzc3VtZSB0aGF0IGFuIHVua25vd24gY2hhbm5lbCBtYXBwaW5nIHdpdGggMiBjaGFubmVscwoJICBpcyBzdGVyZW8gYW5kIHBsYXkgaXQgdGhhdCB3YXkgaW5zdGVhZCBvZiBlcnJvcmluZy4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEhhbmRsZSBlLmcuIGpwZWcgc3RyZWFtcyB3aXRoIDAgZHVyYXRpb24gZnJhbWVzIGFzIGhhdmluZyAwIGZyYW1lcmF0ZS4KCSAgRGVidWcgZml4ZXMuIFNvbWUgNjQgYml0IHZhcmlhYmxlIGZpeGVzCgoyMDA1LTEyLTA5IDA0OjE1OjAyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvc3dmZGVjL01ha2VmaWxlLmFtOgoJKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5oOgoJICBzd2ZkZWMgUG9ydGVkIHRvIDAuMTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzd2ZkZWMgUG9ydGVkIHRvIDAuMTAuCgoyMDA1LTEyLTA3IDExOjQ2OjE1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBNZW1sZWFrIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKToKCSAgTWVtbGVhayBmaXhlcy4KCSAgU2VuZCBvdXQgRU9TIGZvciB2YWxpZCByZWFzb25zIChjb3VsZG4ndCBwdWxsX3JhbmdlKCkgZnJvbSB1cHN0cmVhbQoJICBmb3IgZXhhbXBsZSkuCgoyMDA1LTEyLTA2IDE5OjU1OjU4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXVuZG9jdW1lbnRlZC50eHQ6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5oOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5oOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuaDoKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmg6CgkqIGV4dC9mYWFjL2dzdGZhYWMuaDoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZW5jLmg6CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmg6CgkqIGV4dC9uYXMvbmFzc2luay5jOgoJKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2YuaDoKCSogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuaDoKCSogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuaDoKCSogZXh0L3hpbmUvZ3N0eGluZS5oOgoJKiBleHQveGluZS94aW5lY2Fwcy5jOgoJKiBleHQveHZpZC9nc3R4dmlkLmg6CgkqIGdzdC1saWJzL2dzdC9wbGF5L3BsYXkuaDoKCSogZ3N0L2FwZXRhZy9hcGVkZW11eC5oOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5oOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5oOgoJKiBnc3QvY2R4YXBhcnNlL2dzdHZjZHBhcnNlLmg6CgkqIGdzdC9jb2xvcnNwYWNlL3l1djJyZ2IuYzoKCSogZ3N0L2NvbG9yc3BhY2UveXV2MnJnYi5oOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuaDoKCSogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOgoJKiBnc3QvZ2FtZXMvZ3N0dmlkZW9pbWFnZS5jOgoJKiBnc3QvZ2FtZXMvZ3N0dmlkZW9pbWFnZS5oOgoJKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmg6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvaXRfZGVmcy5oOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL21vZHBsdWcuaDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRmaWxlLmg6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc3RkYWZ4Lmg6CgkqIGdzdC9tcGVnMXN5cy9idWZmZXIuYzoKCSogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmg6CgkqIGdzdC9tcGVnMXN5cy9tYWluLmg6CgkqIGdzdC9tcGVnMXN5cy9zeXN0ZW1zLmM6CgkqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5oOgoJKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0Lmg6CgkqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5oOgoJKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5Lmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJKiBnc3QvcnRqcGVnL1JUanBlZy5jOgoJKiBnc3QvcnRqcGVnL1JUanBlZy5oOgoJKiBnc3QvdHRhL2NyYzMyLmg6CgkqIGdzdC90dGEvZmlsdGVycy5oOgoJKiBnc3QvdHRhL3R0YWRlYy5oOgoJKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5oOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuaDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyX2lvY3RsLmM6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllcl9pb2N0bC5oOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXJfaW9jdGxfYnNkLmg6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllcl9pb2N0bF9pcml4Lmg6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllcl9pb2N0bF9zb2xhcmlzLmg6CgkqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzoKCSogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5oOgoJKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOgoJKiBzeXMvZHhyMy9keHIzc3B1c2luay5oOgoJKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6CgkqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuaDoKCSogc3lzL3FjYW0vZGFyay5jOgoJKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSogc3lzL3ZjZC92Y2RzcmMuaDoKCSAgZXhwYW5kIHRhYnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGV4cGFuZCB0YWJzCgoyMDA1LTEyLTA2IDE5OjQ0OjQ4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkqIGV4dC9sYWRzcGEvc2VhcmNoLmM6CgkqIGV4dC9sYWRzcGEvdXRpbHMuaDoKCSAgZXhwYW5kIHRhYnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGV4cGFuZCB0YWJzCgoyMDA1LTEyLTA2IDE5OjQyOjAyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9hdWRpb3Jlc2FtcGxlL2J1ZmZlci5oOgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9mdW5jdGFibGUuaDoKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6CgkgIGV4cGFuZCB0YWJzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBleHBhbmQgdGFicwoKMjAwNS0xMi0wNSAxODoxMTozMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gSEVBRAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBIRUFECgo9PT0gcmVsZWFzZSAwLjEwLjAgPT09CgoyMDA1LTEyLTA1IDE4OjAxOjQ4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGx2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgcmVsZWFzaW5nIDAuMTAuMAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuMTAuMAoKMjAwNS0xMi0wNSAxMzowNDoyMiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgVXBkYXRlIGZvciBhbGxvY19idWZmZXIgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMDUgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfc2lua19ldmVudCksIChnc3RfZmFhY19jaGFpbik6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfY2hhaW4pOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOiAoZ3N0X2hlcm1lc19jb2xvcnNwYWNlX2NoYWluKToKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzogKGdzdF9jb2xvcnNwYWNlX2NoYWluKToKCSAgKiBleHQveGluZS94aW5laW5wdXQuYzogKGdzdF94aW5lX2lucHV0X2dldCk6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOiAoZ3N0X2NvbG9yc3BhY2VfY2hhaW4pOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOiAoc3BlZWRfY2hhaW4pOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IChnc3RfdmlkZW9fY3JvcF9jaGFpbik6IFVwZGF0ZSBmb3IKCSAgYWxsb2NfYnVmZmVyIGNoYW5nZXMuCgoyMDA1LTEyLTA1IDEzOjAyOjU4ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBVcGRhdGUgZm9yIGFsbG9jX2J1ZmZlciBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0wNSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzogKGdzdF9kdmRlY19jaGFpbik6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNkZWNfd3JpdGUpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjZW5jX3dyaXRlX2NhbGxiYWNrKToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogKGdzdF9nZGtfcGl4YnVmX2NoYWluKToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOiAoZ3N0X3BpeGJ1ZnNjYWxlX2NoYWluKToKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfY2hhaW4pOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzogKGdzdF9qcGVnZW5jX2NoYWluKToKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2Vzcyk6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKHVzZXJfaW5mb19jYWxsYmFjayksIChnc3RfcG5nZGVjX3Rhc2spOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoc3BlZXhfZGVjX2NoYWluKToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleGVuY19jaGFpbik6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiAoZ3N0X2F1cGFyc2VfY2hhaW4pOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChnc3RfZmx4ZGVjX2NoYWluKToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnc3RfZ29vbV9jaGFpbik6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF92b3JiaXNfY29kZWNfcHJpdl9kYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfd3Zwa19oZWFkZXIpOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9jb2xsZWN0ZWQpOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX2NvbGxlY3RlZCk6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfY2hhaW4pOiBVcGRhdGUgZm9yCgkgIGFsbG9jX2J1ZmZlciBjaGFuZ2VzLgoKMjAwNS0xMi0wNCAyMjo0NjozNCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZpbGUKCjIwMDUtMTItMDIgMTE6MzQ6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS86IEZpeCBhdWRpb3Jlc2FtcGxlLCBzZWVrIHRvcnR1cmUsIG5ldyBzZWdtZW50cywgcmV2ZXJzZSBuZWdvdGlhdGlvbiBldGMuLiB3b3JrIGZpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2J1ZmZlci5jOiAoYXVkaW9yZXNhbXBsZV9idWZmZXJfcXVldWVfZmx1c2gpOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2J1ZmZlci5oOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmg6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuYzogKHJlc2FtcGxlX2lucHV0X2ZsdXNoKSwKCSAgKHJlc2FtcGxlX2lucHV0X3B1c2h0aHJvdWdoKSwgKHJlc2FtcGxlX2lucHV0X2VvcyksCgkgIChyZXNhbXBsZV9nZXRfb3V0cHV0X3NpemVfZm9yX2lucHV0KSwKCSAgKHJlc2FtcGxlX2dldF9pbnB1dF9zaXplX2Zvcl9vdXRwdXQpLCAocmVzYW1wbGVfZ2V0X291dHB1dF9zaXplKSwKCSAgKHJlc2FtcGxlX2dldF9vdXRwdXRfZGF0YSk6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuaDoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZV9yZWYuYzogKHJlc2FtcGxlX3NjYWxlX3JlZik6CgkgIEZpeCBhdWRpb3Jlc2FtcGxlLCBzZWVrIHRvcnR1cmUsIG5ldyBzZWdtZW50cywgcmV2ZXJzZSBuZWdvdGlhdGlvbgoJICBldGMuLiB3b3JrIGZpbmUuCgoyMDA1LTEyLTAyIDA5OjMyOjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L01ha2VmaWxlLmFtOiBBZGQgbWlzc2luZyAkKFdBVlBBQ0tfRElSKSAoIzMyMjk2MikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgQWRkIG1pc3NpbmcgJChXQVZQQUNLX0RJUikgKCMzMjI5NjIpLgoKMjAwNS0xMi0wMSAxOToxNzozNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gSEVBRAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBIRUFECgo9PT0gcmVsZWFzZSAwLjkuNyA9PT0KCjIwMDUtMTItMDEgMTk6MTM6MjAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBMSUNFTlNFOgoJKiBORVdTOgoJKiBQT1JURURfMDk6CgkqIFJFTEVBU0U6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtdW5kb2N1bWVudGVkLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbHZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3JhbmRvbS9MSUNFTlNFOgoJKiBkb2NzL3JhbmRvbS9QT1JURURfMDk6CgkgIHJlbGVhc2luZyAwLjkuNwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuOS43CgoyMDA1LTExLTI5IDAyOjU1OjE4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIFBPUlRFRF8wOToKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2xpYm1tcy9NYWtlZmlsZS5hbToKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuaDoKCSAgbGlibW0gcG9ydGVkIHRvIDAuOS4gSXQgd29ya3MgZmluZSwgYnV0IHByaW50IHNvbWUgZXJyb3IgbWVzc2FnZXMuIEknbGwgZml4IHRoZW0gc29vbi4gVGVzdGVkIHdpdGggIG1tc3NyYyBsb2NhdGlvbj1tLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBsaWJtbSBwb3J0ZWQgdG8gMC45LiBJdCB3b3JrcyBmaW5lLCBidXQgcHJpbnQgc29tZSBlcnJvciBtZXNzYWdlcy4gSSdsbCBmaXggdGhlbSBzb29uLiBUZXN0ZWQgd2l0aCAgbW1zc3JjIGxvY2F0aW9uPW1tczovLyAhIGZpbGVzaW5rLgoKMjAwNS0xMS0yOCAyMToyMjozOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb21tb246CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDoKCSAgZml4IGhlYWRlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGhlYWRlcgoKMjAwNS0xMS0yOCAxNzo0NzoyNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJICBmaXggaW5jbHVkZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGluY2x1ZGUKCjIwMDUtMTEtMjggMTU6NDM6MjkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IEhhbmRsZSBncmFjZWZ1bGx5IHRoZSBjb25zZXF1ZW5jZSBvZiAiTWF4aW11bSBudW1iZXIgb2Ygc2NhbGVmYWN0b3IgYmFuZHMgZXhjZWVkZWQiLCB3aGljaCByZXN1bHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfc3JjZ2V0Y2Fwcyk6CgkgIEhhbmRsZSBncmFjZWZ1bGx5IHRoZSBjb25zZXF1ZW5jZSBvZiAiTWF4aW11bSBudW1iZXIgb2Ygc2NhbGVmYWN0b3IKCSAgYmFuZHMgZXhjZWVkZWQiLCB3aGljaCByZXN1bHRzIGluIDAgY2hhbm5lbHMgd2l0aCBzYW1wbGVyYXRlcyBvZiAwLgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIERvIHVwd2FyZCB0cmFuc2l0aW9ucywgdGhlbiBjYWxsIHBhcmVudCBzdGF0ZV9jaGFuZ2UsIHRoZW4gZG8KCSAgZG93bndhcmQgdHJhbnNpdGlvbnMuCgoyMDA1LTExLTI4IDE1OjE5OjMzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgZml4IG1ha2VmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggbWFrZWZpbGUKCjIwMDUtMTEtMjggMTQ6NTA6NDQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZXh0L01ha2VmaWxlLmFtOiBhbHBoYWJldHMsIHNvIGhhcmQgdG8gbWFzdGVyLiAgU2hvdWxkIGZpeCBkaXN0Y2hlY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgYWxwaGFiZXRzLCBzbyBoYXJkIHRvIG1hc3Rlci4gIFNob3VsZCBmaXggZGlzdGNoZWNrLgoKMjAwNS0xMS0yNyAxNDozNToyNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSogY29tbW9uOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIEFDTE9DQUxfQU1GTEFHUzsgcmVtb3ZlIG9sZCBzdHVmZiBmcm9tIHNwZWMgY2hhbmdlbG9nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgQUNMT0NBTF9BTUZMQUdTOyByZW1vdmUgb2xkIHN0dWZmIGZyb20gc3BlYyBjaGFuZ2Vsb2cKCjIwMDUtMTEtMjUgMTk6NTg6MTkgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogUE9SVEVEXzA5OgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIFdhdnBhY2sgcG9ydGVkIHRvIDAuOS4gTm8gc3VwcG9ydCBmb3IgY29ycmVjdGlvbiBmaWxlIHlldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFdhdnBhY2sgcG9ydGVkIHRvIDAuOS4gTm8gc3VwcG9ydCBmb3IgY29ycmVjdGlvbiBmaWxlIHlldC4KCjIwMDUtMTEtMjUgMTg6MTU6NTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBwdXQgYmFjayB3YXZwYWNrIC0gc3RpbGwgbmVlZHMgcG9ydGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2xpbmspLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3d2Y2xpbmspLCAoZ3N0X3dhdnBhY2tfZGVjX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX2Rpc3Bvc2UpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX3NyY19xdWVyeSksCgkgIChnc3Rfd2F2cGFja19kZWNfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfc2V0dXBfY29udGV4dCksCgkgIChnc3Rfd2F2cGFja19kZWNfZm9ybWF0X3NhbXBsZXMpLCAoZ3N0X3dhdnBhY2tfZGVjX2xvb3ApLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3BsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfZGlzcG9zZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jbGFzc19pbml0KSwgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfZXZlbnQpLCAoZmluZF9oZWFkZXIpLCAoZmluZF9zYW1wbGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2VlayksIChnc3Rfd2F2cGFja19wYXJzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9ldmVudCksIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NoYW5nZV9zdGF0ZSksIChnc3Rfd2F2cGFja19wYXJzZV9wbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIHB1dCBiYWNrIHdhdnBhY2sgLSBzdGlsbCBuZWVkcyBwb3J0aW5nCgoyMDA1LTExLTIzIDIxOjI3OjIwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJICBhZGQgYSB0b3J0dXJlIHRhcmdldAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGEgdG9ydHVyZSB0YXJnZXQKCjIwMDUtMTEtMjMgMjA6MDY6MDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gSEVBRAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBIRUFECgo9PT0gcmVsZWFzZSAwLjkuNiA9PT0KCjIwMDUtMTEtMjMgMTk6NTc6NDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbHZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICByZWxlYXNpbmcgMC45LjYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjkuNgoKMjAwNS0xMS0yMyAxODowNToxNiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBVc2UgZnJhY3Rpb24gZm9yIGZyYW1lcmF0ZSwgdmFyaW91cyBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMjMgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC50eHQ6CgkgICogZXh0L2RpcmVjdGZiL2RmYi1leGFtcGxlLmM6IChtYWluKToKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIChnc3RfZGZidmlkZW9zaW5rX3N1cmZhY2VfZGVzdHJveSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2V2ZW50X3RocmVhZCksIChnc3RfZGZidmlkZW9zaW5rX3NldHVwKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0Y2FwcyksIChnc3RfZGZidmlkZW9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2RmYnZpZGVvc2lua19nZXRfdGltZXMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19idWZmZXJwb29sX2NsZWFyKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfYnVmZmVyX2FsbG9jKSwgKGdzdF9kZmJzdXJmYWNlX2ZpbmFsaXplKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfbmF2aWdhdGlvbl9zZW5kX2V2ZW50KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZmluYWxpemUpLCAoZ3N0X2RmYnZpZGVvc2lua19pbml0KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOiBVc2UgZnJhY3Rpb24gZm9yIGZyYW1lcmF0ZSwKCSAgdmFyaW91cwoJICBmaXhlcy4KCjIwMDUtMTEtMjMgMTU6MzY6MDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3NkbC9zZGx2aWRlb3NpbmsuKjogVXBkYXRlcyBmb3IgZnJhY3Rpb25hbCBmcmFtZXJhdGVzIGFuZCBYT3ZlcmxheSBpbnRlcmZhY2UgY2hhbmdlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19nZXRfdGltZXMpLCAoZ3N0X3NkbHZpZGVvc2lua19pbml0KSwKCSAgKGdzdF9zZGx2aWRlb3Npbmtfc2V0Y2FwcyksIChnc3Rfc2RsdmlkZW9zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDoKCSAgVXBkYXRlcyBmb3IgZnJhY3Rpb25hbCBmcmFtZXJhdGVzIGFuZCBYT3ZlcmxheSBpbnRlcmZhY2UgY2hhbmdlcwoKMjAwNS0xMS0yMyAxMTo1Nzo1MSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IENvbnZlcnQgdG8gZnJhY3Rpb25hbCBmcmFtZXJhdGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9kdW1wX212aGQpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgQ29udmVydCB0byBmcmFjdGlvbmFsIGZyYW1lcmF0ZXMKCjIwMDUtMTEtMjMgMDA6Mjg6MTIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogRml4IGZvciBsYXRlc3QgQVBJIGNoYW5nZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfbG9vcCk6CgkgIEZpeCBmb3IgbGF0ZXN0IEFQSSBjaGFuZ2VzCgoyMDA1LTExLTIyIDE1OjA5OjI4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIFBPUlRFRF8wOToKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuaDoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrcmVhZGVyLmM6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja3JlYWRlci5oOgoJICBNdXNlcGFja2RlYyBwb3J0ZWQgdG8gMC45LiBUaGVyZSBpcyBzdGlsbCBhIHNtYWxsIHByb2JsZW0gdG8gYmUgc29sdmVkLCBhZnRlciB0aGUgZW5kIG9mIGZpbGUsIHRoZSBwaXBlbGluZSBkb2Vucyd0IHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE11c2VwYWNrZGVjIHBvcnRlZCB0byAwLjkuIFRoZXJlIGlzIHN0aWxsIGEgc21hbGwgcHJvYmxlbSB0byBiZSBzb2x2ZWQsIGFmdGVyIHRoZSBlbmQgb2YgZmlsZSwgdGhlIHBpcGVsaW5lIGRvZW5zJ3Qgc3RvcC4KCjIwMDUtMTEtMjIgMTE6NTc6NTEgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jIChnc3RfZmFhZF9ldmVudCkgZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jIChnc3RfaXZvcmJpc2ZpbGVfbG9vcCkgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jIChnc3RfcXRkZW11Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTIyICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYyAoZ3N0X2ZhYWRfZXZlbnQpCgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jIChnc3RfaXZvcmJpc2ZpbGVfbG9vcCkKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmMgKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKQoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jIChzcGVlZF9zaW5rX2V2ZW50KQoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYyAoZ3N0X3R0YV9wYXJzZV9zcmNfZXZlbnQpCgkgIChnc3RfdHRhX3BhcnNlX3BhcnNlX2hlYWRlcik6IFJ1biB1cGRhdGUtZnVuY25hbWVzLgoKMjAwNS0xMS0yMSAxODo0NTo1NCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBEb24ndCB0YWtlIFNUUkVBTV9MT0NLIGluIHNpbmsgZXZlbnQgaGFuZGxlcnMgYW55IG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX3NldGNhcHMpLCAoZ3N0X2ZhYWRfZXZlbnQpOgoJICBEb24ndCB0YWtlIFNUUkVBTV9MT0NLIGluIHNpbmsgZXZlbnQgaGFuZGxlcnMgYW55IG1vcmUuCgoyMDA1LTExLTIxIDE4OjA5OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgVXBkYXRlIGZvciBzdHJlYW0gbG9jayBBUEkgY2hhbmdlczogZG9uJ3QgdGFrZSBzdHJlYW0gbG9nIGluIHNpbmsgZXZlbnQgaGFuZGxlcnMgYW55IGxvbmdlciBhbmQgY2hhbmdlIEdTVF9TVFJFQU1fTE9DLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9oYW5kbGVfc2lua19ldmVudCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNkZWNfbG9vcCksCgkgIChnc3RfZmxhY2RlY19zcmNfZXZlbnQpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjZW5jX3NpbmtfZXZlbnQpOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9ldmVudCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9nZXRyYW5nZSksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jaGFpbik6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2Vlayk6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGdzdF9mbHhkZWNfc3JjX2V2ZW50X2hhbmRsZXIpLAoJICAoZ3N0X2ZseGRlY19zaW5rX2V2ZW50X2hhbmRsZXIpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9oYW5kbGVfc2Vlayk6CgkgIFVwZGF0ZSBmb3Igc3RyZWFtIGxvY2sgQVBJIGNoYW5nZXM6IGRvbid0IHRha2Ugc3RyZWFtIGxvZwoJICBpbiBzaW5rIGV2ZW50IGhhbmRsZXJzIGFueSBsb25nZXIgYW5kIGNoYW5nZSBHU1RfU1RSRUFNX0xPQ0sKCSAgdG8gR1NUX1BBRF9TVFJFQU1fTE9DSy4gRG9uJ3QgbGVhayByZWZlcmVuY2VzIGluIGZseGRlYyBldmVudAoJICBmdW5jdGlvbnMuCgoyMDA1LTExLTIxIDE3OjM3OjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgRml4IGZvciBzdHJlYW0gbG9jayB1cGRhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19zaW5rX2V2ZW50KToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX2V2ZW50KToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX3NyY19ldmVudCk6CgkgIEZpeCBmb3Igc3RyZWFtIGxvY2sgdXBkYXRlcy4KCjIwMDUtMTEtMjEgMTc6MTQ6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvOiBTZWdtZW50IHVwZGF0ZSBmaXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RiYXNlYXVkaW9zaW5rLmM6CgkgIChnc3RfYmFzZV9hdWRpb19zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2Jhc2VfYXVkaW9fc2lua19pbml0KSwKCSAgKGdzdF9iYXNlX2F1ZGlvX3NpbmtfcHJvdmlkZV9jbG9jayksCgkgIChnc3RfYmFzZV9hdWRpb19zaW5rX3NldF9jbG9jayksIChnc3RfYmFzZV9hdWRpb19zaW5rX3JlbmRlciksCgkgIChnc3RfYmFzZV9hdWRpb19zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICBTZWdtZW50IHVwZGF0ZSBmaXguCgoyMDA1LTExLTIxIDE2OjQ1OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBqQGJvb3RsYWIub3JnLCAjMzIxOTAzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIERYNTAsIERJVlggYW5kIERJVjMgZm91cmNjcyAocGF0Y2ggYnkKCSAgakBib290bGFiLm9yZywgIzMyMTkwMykuCgoyMDA1LTExLTIxIDE2OjM3OjE4ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICAqLio6IFJhbiBzY3JpcHRzL3VwZGF0ZS1tYWNyb3MuIE9oIHllcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMjEgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogKi5oOgoJICAqICouYzogUmFuIHNjcmlwdHMvdXBkYXRlLW1hY3Jvcy4gT2ggeWVzLgoKMjAwNS0xMS0yMSAxNDozOTowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFVwZGF0ZSBmb3IgR1NUX0ZPVVJDQ19GT1JNQVQgQVBJIGNoYW5nZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRfZm9ybWF0X2Zyb21fY2Fwcyk6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3NpbmtfY3JlYXRlKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChxdGRlbXV4X3BhcnNlKSwgKHF0ZGVtdXhfdHlwZV9nZXQpLCAocXRkZW11eF9ub2RlX2R1bXBfZm9yZWFjaCksCgkgIChxdGRlbXV4X2R1bXBfaGRsciksIChxdGRlbXV4X2R1bXBfZHJlZiksIChxdGRlbXV4X2R1bXBfc3RzZCksCgkgIChxdGRlbXV4X2R1bXBfZGNvbSksIChxdGRlbXV4X3BhcnNlX3RyYWspLCAocXRkZW11eF92aWRlb19jYXBzKSwKCSAgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfdjRsMmZvdXJjY190b19jYXBzKToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCksIChnc3RfdjRsMnNyY19nZXRfc2l6ZV9saW1pdHMpOgoJICBVcGRhdGUgZm9yIEdTVF9GT1VSQ0NfRk9STUFUIEFQSSBjaGFuZ2UuCgoyMDA1LTExLTIxIDE0OjMzOjExICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbmFtZSBnc3RfY2Fwc19zdHJ1Y3R1cmVfZml4YXRlXyogdG8gZ3N0X3N0cnVjdHVyZV9maXhhdGVfKiAoIzMyMjAyNykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuYzogKGdzdF9wb2x5cHNpbmtfc2lua19maXhhdGUpOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IChnc3RfcmZic3JjX2ZpeGF0ZSk6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZXNpbmtfZml4YXRlKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19maXhhdGUpOgoJICBSZW5hbWUgZ3N0X2NhcHNfc3RydWN0dXJlX2ZpeGF0ZV8qIHRvIGdzdF9zdHJ1Y3R1cmVfZml4YXRlXyoKCSAgKCMzMjIwMjcpCgoyMDA1LTExLTIxIDAzOjIxOjA0ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSAgTm93IGl0IHdvcmtzIGluIHB1c2gtbW9kZS4gVGVzdGVkIHdpdGggZ25vbWV2ZnNzcmMgbG9jYXRpb249aHR0cDovLy4uICAhIHRyZW1vciAhIGFsc2FzaW5rLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTm93IGl0IHdvcmtzIGluIHB1c2gtbW9kZS4gVGVzdGVkIHdpdGggZ25vbWV2ZnNzcmMgbG9jYXRpb249aHR0cDovLy4uICAhIHRyZW1vciAhIGFsc2FzaW5rLgoJICBTb21lIGlzc3VlcyB0byBiZSBzb2x2ZWQgeWV0OgoJICAxLSBzZXQgY29ycmVjdCB0aW1lc3RhbXBzCgkgIDItIHNlZWsgaXMgZm9yY2VkIHRvIGRpc2FibGVkIGluIHB1bGwtbW9kZQoKMjAwNS0xMS0xNiAxNzoyNjoxMCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogY29tbW9uOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgbWFrZSBpdCB3b3JrCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtYWtlIGl0IHdvcmsKCjIwMDUtMTEtMTUgMTY6NTA6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmFhYy9nc3RmYWFjLmM6IFNldCBwcm9wZXIgY2FwcyBvbiBzb3VyY2UgcGFkICgjMzIwNTMyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfYmFzZV9pbml0KSwgKGdzdF9mYWFjX2luaXQpLAoJICAoZ3N0X2ZhYWNfc2lua19zZXRjYXBzKSwgKGdzdF9mYWFjX2NvbmZpZ3VyZV9zb3VyY2VfcGFkKSwKCSAgKGdzdF9mYWFjX2NoYWluKToKCSAgU2V0IHByb3BlciBjYXBzIG9uIHNvdXJjZSBwYWQgKCMzMjA1MzIpLgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgRG9uJ3QgdXNlIGd0ay1kb2MgbWFya2VycyBmb3IgY29tbWVudCBibG9jay4KCjIwMDUtMTEtMTUgMDg6Mzg6MTYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGV4dC9pdm9yYmlzL3ZvcmJpcy5jOgoJICBzZXQgcmFuayB0byBzZWNvbmRhcnkgYXMgeW91IG5ldmVyIHdhbnQgdGhpcyB0byBiZSB1c2VkIGluc3RlYWQgb2Ygbm9ybWFsIG9nZ2RlbXV4IGV0Yy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNldCByYW5rIHRvIHNlY29uZGFyeSBhcyB5b3UgbmV2ZXIgd2FudCB0aGlzIHRvIGJlIHVzZWQgaW5zdGVhZCBvZiBub3JtYWwgb2dnZGVtdXggZXRjLgoKMjAwNS0xMS0xNCAxNzoxMTo1NSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgY29uZmlndXJlLmFjIChHU1RfUExVR0lOX0xERkxBR1MpOiAtbm8tdW5kZWZpbmVkIGZvciBiZXR0ZXIgZGVidWdnaW5nLCBhbGxvd3MgZGxsIGJ1aWxkcyBvbiB3aW5kb3dzLiBGaXhlcyAjMzE2MDc2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0xNCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBjb25maWd1cmUuYWMgKEdTVF9QTFVHSU5fTERGTEFHUyk6IC1uby11bmRlZmluZWQgZm9yIGJldHRlcgoJICBkZWJ1Z2dpbmcsIGFsbG93cyBkbGwgYnVpbGRzIG9uIHdpbmRvd3MuIEZpeGVzICMzMTYwNzYuCgoyMDA1LTExLTE0IDAyOjEzOjI2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbW1vbjoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgcmV3b3JrIGNvbmZpZ3VyZS5hYzsgbWFrZSBhc3RlcmlzayBydHAgc3R1ZmYgY29tcGlsZSBvbiBtaW5ndwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV3b3JrIGNvbmZpZ3VyZS5hYzsgbWFrZSBhc3RlcmlzayBydHAgc3R1ZmYgY29tcGlsZSBvbiBtaW5ndwoKMjAwNS0xMS0xMSAxOTozOToxNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBoZWFkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIGhlYWQKCj09PSByZWxlYXNlIDAuOS41ID09PQoKMjAwNS0xMS0xMSAxOTozODoxNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgcmVsZWFzaW5nIDAuOS41CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC45LjUKCjIwMDUtMTEtMTEgMTg6NTQ6MTQgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBGaXggY29tcGlsZSBvbiBzeXN0ZW1zIHdpdGggYnJva2VuIGZhYWQgaGVhZGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCBjb21waWxlIG9uIHN5c3RlbXMgd2l0aCBicm9rZW4gZmFhZCBoZWFkZXJzLgoKMjAwNS0xMS0xMSAxODoxNzoyMiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBDYWxsIGZ1bmN0aW9ucyB3aXRoIHRoZSBjb3JyZWN0IEFQSS4gVW5mb3J0dW5hdGVseSwgdW5sZXNzIHlvdXIgZGlzdHJpYnV0aW9uIHBhdGNoZXMgdXBzdHJlYW0sIHRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX3NldGNhcHMpLCAoZ3N0X2ZhYWRfY2hhaW4pOgoJICBDYWxsIGZ1bmN0aW9ucyB3aXRoIHRoZSBjb3JyZWN0IEFQSS4gVW5mb3J0dW5hdGVseSwgdW5sZXNzIHlvdXIKCSAgZGlzdHJpYnV0aW9uIHBhdGNoZXMgdXBzdHJlYW0sIHRoZSBwdWJsaWMgaGVhZGVyIGZpbGUgZm9yIEZBQUQKCSAgZG9lc24ndCBhY3R1YWxseSBkZWNsYXJlIHRoZSBBUEkgYWNjdXJhdGVseS4gU28sIHNvbWUgbmFzdGluZXNzCgkgIGVuc3Vlcy4uLgoKMjAwNS0xMS0xMCAxMjozNDoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIHN1cHBvcnQgZm9yIGN1c3RvbSBnZW5yZSB0YWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3VkdGEpOgoJICBBZGQgc3VwcG9ydCBmb3IgY3VzdG9tIGdlbnJlIHRhZ3MuCgoyMDA1LTExLTA5IDAxOjA0OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgRG9uJ3QgdXNlIGd0ay1kb2MgbWFya2VycyBmb3Igbm9ybWFsIGNvbW1lbnRzLiBGaXggZ3RrLWRvYyBmb3JtYXR0aW5nIHdoZXJlIHJlcXVpcmVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFya2luL3dhdmVsZXQuYzoKCSAgKiBleHQvdGFya2luL3dhdmVsZXQuaDoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgKiBnc3QvdmJpZGVjL3ZiaWRhdGEuYzoKCSAgKiBnc3QvdmJpZGVjL3ZiaXNjcmVlbi5oOgoJICAqIHN5cy9keHIzL2FjM19wYWRkZXIuYzoKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzoKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6CgkgICogc3lzL3FjYW0vZGFyay5jOgoJICBEb24ndCB1c2UgZ3RrLWRvYyBtYXJrZXJzIGZvciBub3JtYWwgY29tbWVudHMuIEZpeAoJICBndGstZG9jIGZvcm1hdHRpbmcgd2hlcmUgcmVxdWlyZWQuCgoyMDA1LTExLTA4IDE0OjIwOjUwICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgcmVtb3ZlIHdyb25nIG1wZWdzdHJlYW0gYWRkaXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSB3cm9uZyBtcGVnc3RyZWFtIGFkZGl0aW9uCgoyMDA1LTExLTA4IDE0OjE3OjAzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgdHJlbW9yIHBsdWdpbnMgdG8gbmVlZGVkIGJ1aWxkc2NyaXB0cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHRyZW1vciBwbHVnaW5zIHRvIG5lZWRlZCBidWlsZHNjcmlwdHMKCjIwMDUtMTEtMDggMTM6NTU6MTMgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogUE9SVEVEXzA5OgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2l2b3JiaXMvdm9yYmlzLmM6CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSAgUG9ydGVkIHRvIDAuOS4gU29tZSBpc3N1ZXMgdG8gYmUgc29sdmVkIHlldDogMS0gc2V0IGNvcnJlY3QgdGltZXN0YW1wcyAyLSBzZWcgZmF1bHQgd2hlbiBlb3MgMy0gc2VlayBpcyBub3cgZGlzYWJsZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBvcnRlZCB0byAwLjkuIFNvbWUgaXNzdWVzIHRvIGJlIHNvbHZlZCB5ZXQ6CgkgIDEtIHNldCBjb3JyZWN0IHRpbWVzdGFtcHMKCSAgMi0gc2VnIGZhdWx0IHdoZW4gZW9zCgkgIDMtIHNlZWsgaXMgbm93IGRpc2FibGVkCgoyMDA1LTExLTA2IDIyOjI4OjMzICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4YW1wbGVzL01ha2VmaWxlLmFtOiBDbGVhbnVwIG5vbiBleGlzdGluZyBleGFtcGxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMDYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleGFtcGxlcy9NYWtlZmlsZS5hbTogQ2xlYW51cCBub24gZXhpc3RpbmcKCSAgZXhhbXBsZXMuCgoyMDA1LTExLTA2IDIyOjIzOjA3ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0LnN0YW1wOiBBZGQgbWlzc2luZyBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMDYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC5zdGFtcDogQWRkIG1pc3NpbmcgZmlsZXMuCgoyMDA1LTExLTA2IDIyOjE5OjA1ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4YW1wbGVzL01ha2VmaWxlLmFtOiBNYWtlIGJ1aWxkYm90IGhhcHB5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0wNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4YW1wbGVzL01ha2VmaWxlLmFtOiBNYWtlIGJ1aWxkYm90IGhhcHB5LgoKMjAwNS0xMS0wNiAyMjoxNjoyNyArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBNYWtlZmlsZS5hbTogZXhhbXBsZXMgaW4gZGlzdCBzdWJkaXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0wNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIE1ha2VmaWxlLmFtOiBleGFtcGxlcyBpbiBkaXN0IHN1YmRpcnMuCgkgICogY29uZmlndXJlLmFjOiBlbmFibGUgcGFyYW1ldGVyIGZvciBidWlsZGluZwoJICBleGFtcGxlcy4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSAgKiBleGFtcGxlcy9NYWtlZmlsZS5hbTogVXBkYXRlcy4KCjIwMDUtMTEtMDYgMjE6NTU6MDEgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgRW5hYmxlIGRvY3VtZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTA2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogTWFrZWZpbGUuYW06CgkgICogYXV0b2dlbi5zaDoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvLmN2c2lnbm9yZToKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wtbGlzdC50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtdW5kb2N1bWVudGVkLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy50eXBlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSAgKiBkb2NzL3ZlcnNpb24uZW50aXRpZXMuaW46IEVuYWJsZSBkb2N1bWVudGF0aW9uLgoJICAqIGV4YW1wbGVzL01ha2VmaWxlLmFtOgoJICAqIGV4YW1wbGVzL2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJICAqIGV4YW1wbGVzL2RpcmVjdGZiL2RlY2tlci50dGY6CgkgICogZXhhbXBsZXMvZGlyZWN0ZmIvZGZibG9nby5wbmc6CgkgICogZXhhbXBsZXMvZGlyZWN0ZmIvZ3N0ZGZiLmM6IChteWNsb2NrKSwgKGR5bmFtaWNfbGluayksCgkgIChzaXplX2NoYW5nZWQpLCAoc2V0dXBfZHluYW1pY19saW5rKSwgKG1haW4pOiBBZGQgYW4gZXhhbXBsZQoJICBhcHBsaWNhdGlvbiBmb3IgRGlyZWN0RkIuCgoyMDA1LTExLTA1IDIzOjM2OjIwICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbTogQWRkIHRoZSBleGFtcGxlIGFwcGxpY2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0wNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbTogQWRkIHRoZSBleGFtcGxlIGFwcGxpY2F0aW9uLgoJICAqIGV4dC9kaXJlY3RmYi9kZmItZXhhbXBsZS5jOiAoZ2V0X21lX291dCksIChtYWluKToKCSAgSGVyZSBpcyBhbiBleGFtcGxlIGFwcGxpY2F0aW9uIHRoYXQgcnVucyB2aWRlb3Rlc3RzcmMgZm9yIDIwCgkgIHNlY29uZHMuIEl0J3MgaW5jbHVkZWQgaW4gdGhlIGRvY3VtZW50YXRpb24uCgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAoZ3N0X2RmYnZpZGVvc2lua19lbnVtX2xheWVycyksCgkgIChnc3RfZGZidmlkZW9zaW5rX3NldHVwKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY2FuX2JsaXRfZnJvbV9mb3JtYXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRjYXBzKSwgKGdzdF9kZmJ2aWRlb3NpbmtfYnVmZmVyX2FsbG9jKToKCSAgTW9yZSBmaXhlcywgY2FsY3VsYXRlIG5ldyBzaXplIG9mIHRoZSBidWZmZXIgd2hlbiByZW5lZ290aWF0aW5nLgoJICBUaGlzIGNvbXBsZXRlbHkgYnJlYWtzIGZmbXBlZ2NvbG9yc3BhY2UgYnV0IGkgbmVlZCB0byBkaXNjdXNzCgkgIHRoYXQgd2l0aCBXaW0gb24gbW9uZGF5LiBBZGQgZG9jdW1lbnRhdGlvbi4KCjIwMDUtMTEtMDUgMTk6NTU6MTIgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiBNYWtlIGFjY2VsZXJhdGlvbiBkZXRlY3Rpb24gd29yaywgYmV0dGVyLCBhZGQgc2FmZXR5IGNoZWNrcyBhbmQgQVJHQiBzdXBwb3J0IGZvciBjYXJkcyB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTA1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAoZ3N0X2RmYnZpZGVvc2lua19lbnVtX2xheWVycyksCgkgIChnc3RfZGZidmlkZW9zaW5rX3NldHVwKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY2FuX2JsaXRfZnJvbV9mb3JtYXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRjYXBzKTogTWFrZSBhY2NlbGVyYXRpb24gZGV0ZWN0aW9uIHdvcmssCgkgIGJldHRlciwgYWRkIHNhZmV0eSBjaGVja3MgYW5kIEFSR0Igc3VwcG9ydCBmb3IgY2FyZHMgdGhhdAoJICBzdXBwb3J0IGl0LgoKMjAwNS0xMS0wNCAxODoyODo1NiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLio6IE5vdyBkb2VzIGNsaXBwaW5nIHdoZW4gc3VyZmFjZSBpcyB0b28gc21hbGwsIGhhbmRsZXMgdXBzdHJlYW0gZWxlbWVudHMgdGhhdCBhcmUgbm90IGNhbGwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMDQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIChnc3RfZGZidmlkZW9zaW5rX3N1cmZhY2VfY3JlYXRlKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc3VyZmFjZV9kZXN0cm95KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X2Jlc3Rfdm1vZGUpLCAoZ3N0X2RmYnZpZGVvc2lua19nZXRjYXBzKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY2VudGVyX3JlY3QpLCAoZ3N0X2RmYnZpZGVvc2lua19zaG93X2ZyYW1lKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfYnVmZmVyX2FsbG9jKToKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6IE5vdyBkb2VzIGNsaXBwaW5nIHdoZW4gc3VyZmFjZQoJICBpcyB0b28gc21hbGwsIGhhbmRsZXMgdXBzdHJlYW0gZWxlbWVudHMgdGhhdCBhcmUgbm90IGNhbGxpbmcKCSAgZ3N0X3BhZF9hbGxvY19idWZmZXIsIGZpeGVzIGEgbG90IG9mIGJ1Z3MuCgoyMDA1LTExLTAzIDIyOjM2OjQyICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbTogUHJlcGFyZSBmb3IgbGlib2lsIHVzYWdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0wMyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbTogUHJlcGFyZSBmb3IgbGlib2lsIHVzYWdlLgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKGdzdF9kZmJ2aWRlb3Npbmtfc2hvd19mcmFtZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2J1ZmZlcl9hbGxvYyk6ICBQcmVwYXJlIGZvciBsaWJvaWwsIGhhbmRsZQoJICByZW5kZXJpbmcgaW4gZXh0ZXJuYWwgc3VyZmFjZSBjb3JyZWN0bHkuIFdpbGwgY29tbWl0IGEgbmVhdAoJICBleGFtcGxlIHNvb24uCgoyMDA1LTExLTAzIDE2OjU5OjIwICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkgIEFkZCBzdXBwb3J0IHRvIGV4aXQgd2hlbiAnRXNjJyBrZXkgaXMgcHJlc3NlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBzdXBwb3J0IHRvIGV4aXQgd2hlbiAnRXNjJyBrZXkgaXMgcHJlc3NlZC4KCjIwMDUtMTEtMDIgMTc6MTI6MzEgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgY29uZmlndXJlLmFjOiBSZXF1aXJlcyBEaXJlY3RGQiAwLjkuMjQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMDIgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBjb25maWd1cmUuYWM6IFJlcXVpcmVzIERpcmVjdEZCIDAuOS4yNAoKMjAwNS0xMS0wMiAxMjo1MzowMCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJICBhZGQgZGlyZWN0ZmIgdG8gZGlzdGRpcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGRpcmVjdGZiIHRvIGRpc3RkaXIKCjIwMDUtMTEtMDIgMTI6NDM6MDMgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgQ29tcGxldGUgcmV3cml0ZS9wb3J0IG9mCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTAyICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRfZm9ybWF0X25hbWUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zdXJmYWNlX2NyZWF0ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX3N1cmZhY2VfZGVzdHJveSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2V2ZW50X3RocmVhZCksIChnc3RfZGZidmlkZW9zaW5rX2VudW1fbGF5ZXJzKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZW51bV92bW9kZXMpLCAoZ3N0X2RmYnZpZGVvc2lua19lbnVtX2RldmljZXMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zZXR1cCksIChnc3RfZGZidmlkZW9zaW5rX2NsZWFudXApLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRfZm9ybWF0X2Zyb21fY2FwcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF9jYXBzX2Zyb21fZm9ybWF0KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY2FuX2JsaXRfZnJvbV9mb3JtYXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRfYmVzdF92bW9kZSksIChnc3RfZGZidmlkZW9zaW5rX2dldGNhcHMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zZXRjYXBzKSwgKGdzdF9kZmJ2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X3RpbWVzKSwgKGdzdF9kZmJ2aWRlb3NpbmtfY2VudGVyX3JlY3QpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zaG93X2ZyYW1lKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfYnVmZmVycG9vbF9jbGVhciksCgkgIChnc3RfZGZidmlkZW9zaW5rX2J1ZmZlcl9hbGxvYyksIChnc3RfZGZic3VyZmFjZV9maW5hbGl6ZSksCgkgIChnc3RfZGZic3VyZmFjZV9pbml0KSwgKGdzdF9kZmJzdXJmYWNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RmYnN1cmZhY2VfZ2V0X3R5cGUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19pbnRlcmZhY2Vfc3VwcG9ydGVkKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfaW50ZXJmYWNlX2luaXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19uYXZpZ2F0aW9uX3NlbmRfZXZlbnQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19uYXZpZ2F0aW9uX2luaXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19pbml0KSwgKGdzdF9kZmJ2aWRlb3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY2xhc3NfaW5pdCksIChnc3RfZGZidmlkZW9zaW5rX2dldF90eXBlKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6CgkgICogZXh0L2RpcmVjdGZiL2RpcmVjdGZidmlkZW9zaW5rLmM6CgkgICogZXh0L2RpcmVjdGZiL2RpcmVjdGZidmlkZW9zaW5rLmg6IENvbXBsZXRlIHJld3JpdGUvcG9ydCBvZgoJICBEaXJlY3RGQiB2aWRlbyBzaW5rIHRvIDAuOS4gSGFuZGxlcyByZXZlcnNlIG5lZ290aWF0aW9uLAoJICBoYXJkd2FyZQoJICBzY2FsaW5nLCBuYXZpZ2F0aW9uLCBidWZmZXIgYWxsb2NhdGlvbiBmcm9tIHZpZGVvIG1lbW9yeSBldGMuLi4KCjIwMDUtMTAtMzEgMjA6NTc6NDIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgQ2hhbmdlZCBwcm9wZXJ0eSBmdWxsLXNjcmVlbiB0byBmdWxsc2NyZWVuLCB1c2luZyBTRExfU1dTVVJGQUNFIGluc3RlYWQgb2YgU0RMX0hXU1VSRkFDRSB3aGVuIGluIGZ1bGwgc2NyZWVuIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VkIHByb3BlcnR5IGZ1bGwtc2NyZWVuIHRvIGZ1bGxzY3JlZW4sIHVzaW5nIFNETF9TV1NVUkZBQ0UgaW5zdGVhZCBvZiBTRExfSFdTVVJGQUNFIHdoZW4gaW4gZnVsbCBzY3JlZW4gbW9kZS4KCjIwMDUtMTAtMzEgMTg6MDc6MzAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJICBBZGRlZCBhIHByb3BlcnR5IHRoYXQgYWxsb3dzIGZ1bGwtc2NyZWVuLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkZWQgYSBwcm9wZXJ0eSB0aGF0IGFsbG93cyBmdWxsLXNjcmVlbi4KCjIwMDUtMTAtMjggMTU6MTE6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc2RsL3NkbHZpZGVvc2luay4qOiBGaXggSTQyMCBvdXRwdXQgb24gc29tZSBtYWNoaW5lcyAobm90IHZlcnkgbmljZSwgYnV0IHNob3VsZCB3b3JrKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX2dldF9zZGxfZnJvbV9mb3VyY2MpLCAoZ3N0X3NkbHZpZGVvc2lua19zZXRjYXBzKSwKCSAgKGdzdF9zZGx2aWRlb3Npbmtfc2hvd19mcmFtZSk6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDoKCSAgRml4IEk0MjAgb3V0cHV0IG9uIHNvbWUgbWFjaGluZXMgKG5vdCB2ZXJ5IG5pY2UsIGJ1dCBzaG91bGQgd29yaykuCgkgIEFkZCBhbiAnc2RsdmlkZW9zaW5rJyBkZWJ1ZyBjYXRlZ29yeS4gRGlzYWJsZSBmb3JtYXRzIHRoYXQgZG8KCSAgbm90IHdvcmsuIEZpeCBzb21lIHZhcmFyZyBmdW5jdGlvbiBpc3N1ZXMuCgoyMDA1LTEwLTI3IDIwOjE2OjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogRml4IFNETCB2aWRlb3NpbmsgYW5kIGRpZCBzb21lIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19maW5hbGl6ZSksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX2dldF90aW1lcyksIChnc3Rfc2RsdmlkZW9zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19pbml0KSwgKGdzdF9zZGx2aWRlb3NpbmtfbG9jayksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX2luaXRzZGwpLCAoZ3N0X3NkbHZpZGVvc2lua19jcmVhdGUpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19zaG93X2ZyYW1lKSwgKGdzdF9zZGx2aWRlb3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfZ2V0X3Byb3BlcnR5KSwgKGdzdF9zZGx2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgRml4IFNETCB2aWRlb3NpbmsgYW5kIGRpZCBzb21lIGNsZWFudXBzLgoKMjAwNS0xMC0yNyAxOTozNjoxOCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJICBUcnlpbmcgdG8gZml4IHZpZGVvcyBvdXQgb2Ygc3luYyAobm90IGZpeGVkIHlldCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFRyeWluZyB0byBmaXggdmlkZW9zIG91dCBvZiBzeW5jIChub3QgZml4ZWQgeWV0KQoKMjAwNS0xMC0yNyAxNjoxNjowMCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHJlbW92ZWQgdW51c2VkIGxhbmd1YWdlIHN0dWZmCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmVkIHVudXNlZCBsYW5ndWFnZSBzdHVmZgoKMjAwNS0xMC0yNyAxMjo0OTo1NCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJICBkb24ndCBkbyBwbyB1bnRpbCBzb21ldGhpbmcgd2FudHMgdG8gYmUgdHJhbnNsYXRlZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9uJ3QgZG8gcG8gdW50aWwgc29tZXRoaW5nIHdhbnRzIHRvIGJlIHRyYW5zbGF0ZWQKCjIwMDUtMTAtMjcgMTE6Mjc6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6IFJlbW92ZSBnb3RfcmVkaXJlY3QgZnJvbSBjbGFzcyBzdHJ1Y3R1cmUgYXMgd2VsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBSZW1vdmUgZ290X3JlZGlyZWN0IGZyb20gY2xhc3Mgc3RydWN0dXJlIGFzIHdlbGwuCgoyMDA1LTEwLTI3IDExOjI1OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBSZW1vdmUgJ2dvdC1yZWRpcmVjdCcgc2lnbmFsIGFuZCBwb3N0IGVsZW1lbnQgbWVzc2FnZSBvbiB0aGUgYnVzIGluc3RlYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NsYXNzX2luaXQpLAoJICAocXRkZW11eF9wYXJzZV90cmVlKToKCSAgUmVtb3ZlICdnb3QtcmVkaXJlY3QnIHNpZ25hbCBhbmQgcG9zdCBlbGVtZW50IG1lc3NhZ2UKCSAgb24gdGhlIGJ1cyBpbnN0ZWFkLgoKMjAwNS0xMC0yNiAxNTo0NToxMSArMDAwMCAgWmVlc2hhbiBBbGkgPHplZW5peEBnbWFpbC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9nc20vZ3N0Z3NtLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmg6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgIEZpeGluZyBzdHVmZiBhcyB3aW5nbyBwb2ludGVkIG91dC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGluZyBzdHVmZiBhcyB3aW5nbyBwb2ludGVkIG91dC4KCjIwMDUtMTAtMjYgMTM6NDA6MzMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogcG8vUE9URklMRVMuaW46CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgZml4IGRpc3RjaGVjawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGRpc3RjaGVjawoKMjAwNS0xMC0yNiAxMzowMToyMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6CgkgIGRvbid0IHB1dCBjcmFwIGluIHVzZXItdmlzaWJsZSBzdHJpbmdzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb24ndCBwdXQgY3JhcCBpbiB1c2VyLXZpc2libGUgc3RyaW5ncwoKMjAwNS0xMC0yNSAxNjoxMjowMyArMDAwMCAgWmVlc2hhbiBBbGkgPHplZW5peEBnbWFpbC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9nc20vZ3N0Z3NtLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmg6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmg6CgkgIE92ZXItd3JpdGluZyBXaW0ncyBnc20gcGx1Z2lucyAoY3VycmVudGx5IG5vdCB3b3JraW5nKSB3aXRoIHRoYXQgZnJvbSB0aGUgZmFyc2lnaHQgcmVwby4gQWxzbyBtYWRlIHN1cmUgdGhhdCB0aGV5IHdvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgT3Zlci13cml0aW5nIFdpbSdzIGdzbSBwbHVnaW5zIChjdXJyZW50bHkgbm90IHdvcmtpbmcpIHdpdGggdGhhdCBmcm9tIHRoZSBmYXJzaWdodCByZXBvLiBBbHNvIG1hZGUgc3VyZSB0aGF0IHRoZXkgd29yayB3aXRoIHRoZSBSVFAgKGRlKXBheWxvYWRlci4KCjIwMDUtMTAtMjUgMTM6MzE6MDkgKzAwMDAgIEZsYXZpbyBPbGl2ZWlyYSA8ZmxhdmlvLm9saXZlaXJhQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5oOgoJICBGaXhlZCBldmVudCBoYW5kbGluZyBpbiBnc21lbmMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBldmVudCBoYW5kbGluZyBpbiBnc21lbmMuCgoyMDA1LTEwLTI0IDEzOjAyOjMyICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgcG9ydCBvdmVyIHBsdWdpbiBsaXN0aW5nIGZyb20gYmFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcG9ydCBvdmVyIHBsdWdpbiBsaXN0aW5nIGZyb20gYmFzZQoKMjAwNS0xMC0yMyAyMzowNzowMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBIRUFECgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIEhFQUQKCj09PSByZWxlYXNlIDAuOS40ID09PQoKMjAwNS0xMC0yMyAyMjo0Njo0MCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICByZWxlYXNpbmcgMC45LjQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjkuNAoKMjAwNS0xMC0yMyAxNDozODowMCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IFNUT1BQRUQtPkZBSUxFRC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMjMgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX2xvb3ApOiBTVE9QUEVELT5GQUlMRUQuCgoyMDA1LTEwLTIxIDE2OjExOjUzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgbGF0ZXN0IHVwZGF0ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGxhdGVzdCB1cGRhdGVzCgoyMDA1LTEwLTIwIDE1OjA4OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC4qOiBEbyBzb21lIHRpbWVzdGFtcCBzbW9vdGhpbmcgKG1hdHJvc2thZGVtdXggYXBwYXJlbnRseSBzZW5kcyBtdWx0aXBsZSBidWZmZXJzIGluIGEgcm93IHdpdGggdGhlIHNhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2Jhc2VfaW5pdCksIChnc3RfZmFhZF9jbGFzc19pbml0KSwKCSAgKGdzdF9mYWFkX2luaXQpLCAoZ3N0X2ZhYWRfc3JjZ2V0Y2FwcyksIChnc3RfZmFhZF9ldmVudCksCgkgIChnc3RfZmFhZF9jaGFpbiksIChnc3RfZmFhZF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuaDoKCSAgRG8gc29tZSB0aW1lc3RhbXAgc21vb3RoaW5nIChtYXRyb3NrYWRlbXV4IGFwcGFyZW50bHkgc2VuZHMKCSAgbXVsdGlwbGUgYnVmZmVycyBpbiBhIHJvdyB3aXRoIHRoZSBzYW1lIHRpbWVzdGFtcCk7IGZpeAoJICBkdXJhdGlvbiBvbiBvdXRnb2luZyBidWZmZXJzOyBmaXggY2hhbmdlIHN0YXRlIGZ1bmN0aW9uOyB1c2UKCSAgR1NUX0RFQlVHX0ZVTkNQVFIgZm9yIHBhZCBmdW5jdGlvbnMuCgoyMDA1LTEwLTE5IDE1OjU4OjAxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LzogQVBJIGNoYW5nZSBmaXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9zcmNfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSk6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6IChzcGVlZF9nZXRfcXVlcnlfdHlwZXMpLCAoc3BlZWRfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX3NyY19ldmVudCksCgkgIChnc3RfdHRhX3BhcnNlX2dldF9xdWVyeV90eXBlcyksIChnc3RfdHRhX3BhcnNlX3F1ZXJ5KToKCSAgQVBJIGNoYW5nZSBmaXguCgoyMDA1LTEwLTE5IDEyOjQxOjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBBbGwgdGhlIGNvb2wga2lkcyB1c2UgR1NUX0RPQ0JPT0tfQ0hFQ0sgbm93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEFsbCB0aGUgY29vbCBraWRzIHVzZSBHU1RfRE9DQk9PS19DSEVDSyBub3cuCgoyMDA1LTEwLTE4IDA4OjM5OjQxICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9zcGVlZC9NYWtlZmlsZS5hbTogRml4IGJ1aWxkIG9mIHNwZWVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0xOCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbTogRml4IGJ1aWxkIG9mIHNwZWVkLgoKMjAwNS0xMC0xNyAyMDo0ODozNSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5oOgoJICBGaXhlZCBTcGVlZCAtIFJlY292ZXJlZCBmZWF0dXJlZCBtaXNzZWQgc2luY2UgdmVyc2lvbiAxLjM3LCBhbmQgY2hhbmdlZCBvdGhlciBtaW5vciB0aGluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBTcGVlZCAtIFJlY292ZXJlZCBmZWF0dXJlZCBtaXNzZWQgc2luY2UgdmVyc2lvbiAxLjM3LCBhbmQgY2hhbmdlZCBvdGhlcgoJICBtaW5vciB0aGluZ3MuCgoyMDA1LTEwLTE2IDE3OjA4OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBGaXggZ2xpYiBjaGVjawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCBnbGliIGNoZWNrCgoyMDA1LTEwLTE2IDEzOjU0OjM4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbW1vbjoKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICByZXN0cnVjdHVyZSBjb25maWd1cmUuYWMsIHVzZSBjb3JyZWN0IGxpYnRvb2wgTERGTEFHUywgZml4IHVwIGRlZmluZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlc3RydWN0dXJlIGNvbmZpZ3VyZS5hYywgdXNlIGNvcnJlY3QgbGlidG9vbCBMREZMQUdTLCBmaXggdXAgZGVmaW5lcwoKMjAwNS0xMC0xMyAxNTozMToyMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXgvOiBhbmQgbW9yZSB0eXBvcyBmaXhlZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9zdGF0cy9tcDJvZ2cuYzoKCSAgKiBleHQvdGFya2luL3Rhcmtpbi5jOiAodGFya2luX2FuYWx5c2lzX2ZyYW1laW4pLAoJICAodGFya2luX3N5bnRoZXNpc19wYWNrZXRpbik6CgkgIGFuZCBtb3JlIHR5cG9zIGZpeGVkCgoyMDA1LTEwLTEzIDExOjM3OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZhYWMvZ3N0ZmFhYy5jOiBHc3QwOS1pemUgY29kZSBhIGxpdHRsZSBiaXQgbW9yZTogdXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCksIG1vdmUgZXZlbnQgaGFuZGxpbmcgZnJvbSBjaGFpbiBmdW5jLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2NsYXNzX2luaXQpLCAoZ3N0X2ZhYWNfaW5pdCksCgkgIChnc3RfZmFhY19zaW5rX3NldGNhcHMpLCAoZ3N0X2ZhYWNfc3JjX3NldGNhcHMpLAoJICAoZ3N0X2ZhYWNfc2lua19ldmVudCksIChnc3RfZmFhY19jaGFpbiksIChnc3RfZmFhY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2ZhYWNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9mYWFjX2NoYW5nZV9zdGF0ZSk6CgkgIEdzdDA5LWl6ZSBjb2RlIGEgbGl0dGxlIGJpdCBtb3JlOiB1c2UgZ3N0X3BhZF9hbGxvY19idWZmZXIoKSwKCSAgbW92ZSBldmVudCBoYW5kbGluZyBmcm9tIGNoYWluIGZ1bmN0aW9uIGludG8gYW4gZXZlbnQgZnVuY3Rpb24sCgkgIGFkZCBzb21lIGxvY2tzIGhlcmUgYW5kIHRoZXJlLCBkbyBzb21lIGNsZWFudXBzOyBkaXNhYmxlIDMyLWJpdAoJICBpbnRlZ2VyIGFuZCBmbG9hdCBpbnB1dCBmb3JtYXRzIHVudGlsIHdlJ3JlIHN1cmUgdGhhdCB0aG9zZQoJICBhY3R1YWxseSB3b3JrIChjb3VsZG4ndCBwbGF5IGJhY2sgdGhlIHByb2R1Y2VkIGZpbGVzIHdpdGgKCSAgYW55dGhpbmcpLgoKMjAwNS0xMC0xMiAxNDoyOTo1NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgcmVuYW1lZCBHU1RfRkxBR1MgbWFjcm9zIHRvIEdTVF9PQkpFQ1RfRkxBR1MgbW92ZWQgYml0c2hpZnQgZnJvbSBtYWNybyB0byBlbnVtIGRlZmluaXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvaW5kZXhpbmcvaW5kZXhtcGVnLmM6IChtYWluKToKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6IChnc3RfYXJ0c2RzaW5rX29wZW5fYXVkaW8pLAoJICAoZ3N0X2FydHNkc2lua19jbG9zZV9hdWRpbyksIChnc3RfYXJ0c2RzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOiAoZ3N0X2FmcGFyc2Vfb3Blbl9maWxlKSwKCSAgKGdzdF9hZnBhcnNlX2Nsb3NlX2ZpbGUpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6IChnc3RfYWZzaW5rX29wZW5fZmlsZSksCgkgIChnc3RfYWZzaW5rX2Nsb3NlX2ZpbGUpLCAoZ3N0X2Fmc2lua19jaGFpbiksCgkgIChnc3RfYWZzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6IChnc3RfYWZzcmNfb3Blbl9maWxlKSwKCSAgKGdzdF9hZnNyY19jbG9zZV9maWxlKSwgKGdzdF9hZnNyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuaDoKCSAgKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6IChnc3RfY2RhdWRpb19pbml0KToKCSAgKiBleHQvZGlyZWN0ZmIvZGlyZWN0ZmJ2aWRlb3NpbmsuYzogKGdzdF9kaXJlY3RmYnZpZGVvc2lua19pbml0KToKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19pbml0KToKCSAgKiBleHQvamFjay9nc3RqYWNrLmg6CgkgICogZXh0L2phY2svZ3N0amFja2Jpbi5jOiAoZ3N0X2phY2tfYmluX2luaXQpLAoJICAoZ3N0X2phY2tfYmluX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfaW5pdCk6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2luaXQpOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3Npbmtfb3Blbl9hdWRpbyksCgkgIChnc3RfbmFzc2lua19jbG9zZV9hdWRpbyksIChnc3RfbmFzc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9uYXMvbmFzc2luay5oOgoJICAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuYzogKGdzdF9wb2x5cHNpbmtfaW5pdCk6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJICAqIGV4dC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzogKGdzdF9zbW9vdGh3YXZlX2luaXQpOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6IChnc3Rfc2Zfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zZl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3NmX3JlbGVhc2VfcmVxdWVzdF9wYWQpLAoJICAoZ3N0X3NmX29wZW5fZmlsZSksIChnc3Rfc2ZfY2xvc2VfZmlsZSksIChnc3Rfc2ZfbG9vcCk6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuaDoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY19pbml0KToKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOiAoZ3N0X3RhcmtpbmRlY19pbml0KToKCSAgKiBnc3QvYXBldGFnL2FwZWRlbXV4LmM6IChnc3RfYXBlX2RlbXV4X2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6IChnc3RfY2R4YXBhcnNlX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2luaXQpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOiAoZ3N0X2Zlc3RpdmFsX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmg6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOiAoZ3N0X21wZWcyc3VidF9pbml0KToKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6IChnc3RfbXVsdGlmaWxlc2lua19pbml0KSwKCSAgKGdzdF9tdWx0aWZpbGVzaW5rX3NldF9sb2NhdGlvbiksIChnc3RfbXVsdGlmaWxlc2lua19vcGVuX2ZpbGUpLAoJICAoZ3N0X211bHRpZmlsZXNpbmtfY2xvc2VfZmlsZSksIChnc3RfbXVsdGlmaWxlc2lua19uZXh0X2ZpbGUpLAoJICAoZ3N0X211bHRpZmlsZXNpbmtfcGFkX3F1ZXJ5KSwgKGdzdF9tdWx0aWZpbGVzaW5rX2hhbmRsZV9ldmVudCksCgkgIChnc3RfbXVsdGlmaWxlc2lua19jaGFpbiksIChnc3RfbXVsdGlmaWxlc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOiAoZ3N0X3ZpZGVvZHJvcF9pbml0KToKCSAgKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzogKGNkcGxheWVyX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzogKGR4cjNhdWRpb3NpbmtfaW5pdCksCgkgIChkeHIzYXVkaW9zaW5rX29wZW4pLCAoZHhyM2F1ZGlvc2lua19jbG9zZSksCgkgIChkeHIzYXVkaW9zaW5rX2NoYWluX3BjbSksIChkeHIzYXVkaW9zaW5rX2NoYWluX2FjMyksCgkgIChkeHIzYXVkaW9zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5oOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6IChkeHIzc3B1c2lua19pbml0KSwgKGR4cjNzcHVzaW5rX29wZW4pLAoJICAoZHhyM3NwdXNpbmtfY2xvc2UpLCAoZHhyM3NwdXNpbmtfY2hhaW4pLAoJICAoZHhyM3NwdXNpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5oOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzogKGR4cjN2aWRlb3NpbmtfaW5pdCksCgkgIChkeHIzdmlkZW9zaW5rX29wZW4pLCAoZHhyM3ZpZGVvc2lua19jbG9zZSksCgkgIChkeHIzdmlkZW9zaW5rX3dyaXRlX2RhdGEpLCAoZHhyM3ZpZGVvc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZXNpbmtfaW5pdCk6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOiAoZ3N0X3FjYW1zcmNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9xY2Ftc3JjX29wZW4pLCAoZ3N0X3FjYW1zcmNfY2xvc2UpOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19pbml0KToKCSAgKiBzeXMvdmNkL3ZjZHNyYy5jOiAoZ3N0X3ZjZHNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3ZjZHNyY19nZXQpLAoJICAoZ3N0X3ZjZHNyY19vcGVuX2ZpbGUpLCAoZ3N0X3ZjZHNyY19jbG9zZV9maWxlKSwKCSAgKGdzdF92Y2RzcmNfY2hhbmdlX3N0YXRlKSwgKGdzdF92Y2RzcmNfcmVjYWxjdWxhdGUpOgoJICAqIHN5cy92Y2QvdmNkc3JjLmg6CgkgIHJlbmFtZWQgR1NUX0ZMQUdTIG1hY3JvcyB0byBHU1RfT0JKRUNUX0ZMQUdTCgkgIG1vdmVkIGJpdHNoaWZ0IGZyb20gbWFjcm8gdG8gZW51bSBkZWZpbml0aW9uCgoyMDA1LTEwLTEyIDEzOjU0OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZhYWMvZ3N0ZmFhYy5jOiBGaXggZGVwdGgvd2lkdGggaGFuZGxpbmcgZm9yIGZsb2F0IGF1ZGlvICgjMzE4NjU5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfc2lua19zZXRjYXBzKToKCSAgRml4IGRlcHRoL3dpZHRoIGhhbmRsaW5nIGZvciBmbG9hdCBhdWRpbyAoIzMxODY1OSkuCgoyMDA1LTEwLTEyIDEyOjUzOjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZhYWMvZ3N0ZmFhYy5jOiBSZWZjb3VudCBmaXhlcyAoIzMxODY1OSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9mYWFjX3NyY19zZXRjYXBzKSwgKGdzdF9mYWFjX2NoYWluKToKCSAgUmVmY291bnQgZml4ZXMgKCMzMTg2NTkpCgoyMDA1LTEwLTEyIDA5OjE1OjQwICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9NYWtlZmlsZS5hbTogbGlidmlzdWFsIGFuZCBzbmFwc2hvdCBhcmUgbm90IGhlcmUgYW55bW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMTIgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvTWFrZWZpbGUuYW06IGxpYnZpc3VhbCBhbmQgc25hcHNob3QgYXJlIG5vdCBoZXJlIGFueW1vcmUuCgkgIE1ha2VzCgkgIGF1dG9tYWtlLTEuNyBoYXBweSBhZ2Fpbi4KCjIwMDUtMTAtMTEgMjM6MDM6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IG5ld3NlZ21lbnQgQVBJIHVwZGF0ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9ldmVudCk6CgkgIG5ld3NlZ21lbnQgQVBJIHVwZGF0ZQoKMjAwNS0xMC0xMSAxNjozNDozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC86IG5ld3NlZ21lbnQgQVBJIHVwZGF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2Vfc3JjX2V2ZW50KSwKCSAgKGdzdF90dGFfcGFyc2VfcGFyc2VfaGVhZGVyKToKCSAgbmV3c2VnbWVudCBBUEkgdXBkYXRlLgoKMjAwNS0xMC0wNyAxNToyNDoyNCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IE1ha2UgaW50ZXJydXB0aWJsZSwgc28gaXQgd29uJ3QgYmxvY2sgZm9yZXZlciBpbiBhIHJlYWQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMDcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IE1ha2UgaW50ZXJydXB0aWJsZSwgc28gaXQgd29uJ3QKCSAgYmxvY2sgZm9yZXZlciBpbiBhIHJlYWQoKS4KCjIwMDUtMTAtMDQgMTU6NDk6MzUgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBmaXggc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggc3BlYyBmaWxlCgoyMDA1LTEwLTAzIDE4OjAwOjMyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIGhlYWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gaGVhZAoKPT09IHJlbGVhc2UgMC45LjMgPT09CgoyMDA1LTEwLTAzIDE3OjUwOjIxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgcmVsZWFzZSB0aW1lCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNlIHRpbWUKCjIwMDUtMDktMjggMTM6Mzg6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE5vIG5lZWQgdG8gdGFrZSBzdHJlYW0gbG9jayBoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlcik6CgkgIE5vIG5lZWQgdG8gdGFrZSBzdHJlYW0gbG9jayBoZXJlLgoKMjAwNS0wOS0yNiAxNzo1Nzo1NiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGZpeCBidWlsZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGJ1aWxkCgoyMDA1LTA5LTI2IDE1OjE5OjM4ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICBzb21lIGRpc3RpbmcgYW5kIGJ1aWxkIGZpeGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzb21lIGRpc3RpbmcgYW5kIGJ1aWxkIGZpeGVzCgoyMDA1LTA5LTIzIDE3OjA1OjI5ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIFBPUlRFRF8wOToKCSogZXh0L2dzbS9NYWtlZmlsZS5hbToKCSogZXh0L2dzbS9nc3Rnc20uYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSAgR3NtZGVjIHBvcnRlZCB0byAwLjkuIFRlc3RlZCB3aXRoIGZpbGVzcmMgISBnc21kZWMgISBhbHNhc2luayBhbmQgb3Nzc2luay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEdzbWRlYyBwb3J0ZWQgdG8gMC45LiBUZXN0ZWQgd2l0aCBmaWxlc3JjICEgZ3NtZGVjICEgYWxzYXNpbmsgYW5kIG9zc3NpbmsuCgoyMDA1LTA5LTIzIDE2OjQwOjI3ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlLzogQ29udmVydCB0byB1c2luZyBnc3QgZGVidWdnaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2RlYnVnLmg6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmM6IENvbnZlcnQgdG8gdXNpbmcgZ3N0IGRlYnVnZ2luZwoKMjAwNS0wOS0yMyAwNDoyMjo1NCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICBmaXggYnVpbGQgYW5kIHVzZSBvZiBHU1RfTElCUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGJ1aWxkIGFuZCB1c2Ugb2YgR1NUX0xJQlMKCjIwMDUtMDktMjIgMTE6MTc6MjYgKzAwMDAgIEFyd2VkIHYuIE1lcmthdHogPHYubWVya2F0ekBnbXgubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC90dGEvZ3N0dHRhZGVjLmM6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5oOgoJICB0dGEgcGx1Z2luIHBvcnRlZCB0byAwLjkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHR0YSBwbHVnaW4gcG9ydGVkIHRvIDAuOQoKMjAwNS0wOS0yMSAyMDozMzo0MiArMDAwMCAgRmxhdmlvIE9saXZlaXJhIDxmbGF2aW8ub2xpdmVpcmFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgIFNldHRpbmcgY2FwcyBvbiB0aGUgb3V0Z29pbmcgYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNldHRpbmcgY2FwcyBvbiB0aGUgb3V0Z29pbmcgYnVmZmVycy4KCjIwMDUtMDktMjAgMTk6MjU6MTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSAgZml4IE1ha2VmaWxlLmFtICB1Z2gKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBNYWtlZmlsZS5hbSAgdWdoCgoyMDA1LTA5LTIwIDE4OjQ5OjA1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJICBGaXhlZCBjb25maWd1cmUuYWMgYW5kIGV4dC9zZGwvTWFrZWZpbGUuYW0gZm9yIHNkbCBwb3J0IHRvIDAuOS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIGNvbmZpZ3VyZS5hYyBhbmQgZXh0L3NkbC9NYWtlZmlsZS5hbSBmb3Igc2RsIHBvcnQgdG8gMC45LgoKMjAwNS0wOS0xOSAyMTo1MTowMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJICBzZGx2aWRlb3NpbmsgcG9ydGVkIHRvIDAuOSBhbmQgdGVzdGVkIHdpdGggZmlsZXNyYyAhIG1wZWcyZGVjCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzZGx2aWRlb3NpbmsgcG9ydGVkIHRvIDAuOSBhbmQgdGVzdGVkIHdpdGggZmlsZXNyYyAhIG1wZWcyZGVjCgoyMDA1LTA5LTE5IDIxOjQ3OjU0ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBQT1JURURfMDk6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICBzZGx2aWRlb3NpbmsgcG9ydGVkIHRvIDAuOSBhbmQgdGVzdGVkIHdpdGggZmlsZXNyYyAhIG1wZWcyZGVjCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzZGx2aWRlb3NpbmsgcG9ydGVkIHRvIDAuOSBhbmQgdGVzdGVkIHdpdGggZmlsZXNyYyAhIG1wZWcyZGVjCgoyMDA1LTA5LTE5IDE2OjQ0OjM3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb21tb246CgkgIGFkZCBjaGVjay12YWxncmluZCB0YXJnZXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBjaGVjay12YWxncmluZCB0YXJnZXQKCjIwMDUtMDktMDkgMTc6NTM6NDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY2hlY2svOiBBZGQgZXh0cmEgdGVzdHMgZm9yIGJhc2V0cmFuc2Zvcm0gYmFzZWQgY29tcG9uZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY2hlY2svTWFrZWZpbGUuYW06CgkgICogY2hlY2svcGlwZWxpbmVzL3NpbXBsZV9sYXVuY2hfbGluZXMuYzogKHNldHVwX3BpcGVsaW5lKSwKCSAgKHJ1bl9waXBlbGluZSksIChHU1RfU1RBUlRfVEVTVCksIChzaW1wbGVfbGF1bmNoX2xpbmVzX3N1aXRlKToKCSAgQWRkIGV4dHJhIHRlc3RzIGZvciBiYXNldHJhbnNmb3JtIGJhc2VkIGNvbXBvbmVudHMuCgkgIENvbW1lbnQgb3V0IHRoZSB0ZXN0X2VsZW1lbnRfbmVnb3RpYXRpb24gdGVzdCB1bnRpbCB3ZSBkZWNpZGUKCSAgaWYgaXQncyB0ZXN0aW5nIGNvcnJlY3QgYmVoYXZpb3VyLgoJICAqIGV4dC9saWJ2aXN1YWwvdmlzdWFsLmM6IChnc3RfdmlzdWFsX2luaXQpLCAoZ2V0X2J1ZmZlciksCgkgIChnc3RfdmlzdWFsX2NoYWluKSwgKGdzdF92aXN1YWxfY2hhbmdlX3N0YXRlKToKCSAgU2xpZ2h0bHkgbW9yZSBjb3JyZWN0IGJ1dCBzdGlsbCBib2d1cyB0aW1lc3RhbXBpbmcuCgkgIEZpeCBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24uCgkgICogZ3N0L2F1ZGlvY29udmVydC9nc3RhdWRpb2NvbnZlcnQuYzoKCSAgKGdzdF9hdWRpb19jb252ZXJ0X2NsYXNzX2luaXQpOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBnc3QvZmZtcGVnY29sb3JzcGFjZS9nc3RmZm1wZWdjb2xvcnNwYWNlLmM6CgkgIChnc3RfZmZtcGVnY3NwX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb3NjYWxlL2dzdHZpZGVvc2NhbGUuYzogKGdzdF92aWRlb3NjYWxlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvc2NhbGVfcHJlcGFyZV9zaXplKSwgKGdzdF92aWRlb3NjYWxlX3NldF9jYXBzKSwKCSAgKGdzdF92aWRlb3NjYWxlX3ByZXBhcmVfaW1hZ2UpOgoJICAqIGdzdC92b2x1bWUvZ3N0dm9sdW1lLmM6IChnc3Rfdm9sdW1lX2NsYXNzX2luaXQpLAoJICAodm9sdW1lX3RyYW5zZm9ybV9pcCk6CgkgIEJhc2V0cmFuc2Zvcm0gdXBkYXRlcy4gRW5hYmxlIHBhc3N0aHJvdWdoIG1vZGVzLgoJICAqIHN5cy94aW1hZ2UveGltYWdlc2luay5jOiAoZ3N0X3hpbWFnZV9idWZmZXJfaW5pdCksCgkgIChnc3RfeGltYWdlc2lua19yZW5lZ290aWF0ZV9zaXplKSwgKGdzdF94aW1hZ2VzaW5rX3hjb250ZXh0X2dldCksCgkgIChnc3RfeGltYWdlc2lua19zZXRjYXBzKSwgKGdzdF94aW1hZ2VzaW5rX2J1ZmZlcl9hbGxvYyk6CgkgIE5lZ290aWF0aW9uIGZpeCB0aGF0IGFsbG93cyB0aGUgd2luZG93IHRvIHJldHVybiB0byB0aGUgb3JpZ2luYWwKCSAgc2l6ZSBhbmQgcmVuZWdvdGlhdGUgcGFzc3Rocm91Z2ggdXBzdHJlYW0uIEV4dHJhIGRlYnVnIG91dHB1dC4KCjIwMDUtMDktMDggMTU6NTY6MzggKzAwMDAgIEZsYXZpbyBPbGl2ZWlyYSA8ZmxhdmlvLm9saXZlaXJhQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBQT1JURURfMDk6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgUG9ydGVkIHNwZWVkIFBsdWdpbiB0byBHU3RyZWFtZXIgMC45CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQb3J0ZWQgc3BlZWQgUGx1Z2luIHRvIEdTdHJlYW1lciAwLjkKCjIwMDUtMDktMDYgMTQ6MDY6NTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIEhFQUQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gSEVBRAoKPT09IHJlbGVhc2UgMC45LjEgPT09CgoyMDA1LTA5LTA2IDE0OjA1OjUwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTWFrZWZpbGUuYW06CgkqIE5FV1M6CgkqIFJFQURNRToKCSogUkVMRUFTRToKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLnNwZWMuaW46CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgcmVsZWFzaW5nIDAuOS4xCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC45LjEKCjIwMDUtMDktMDUgMTc6MjA6MjkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBleGFtcGxlcy9nc3RwbGF5L3BsYXllci5jOgoJKiBleGFtcGxlcy9zdGF0cy9tcDJvZ2cuYzoKCSogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmNjOgoJKiBleHQvZGlyZWN0ZmIvZGlyZWN0ZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzoKCSogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJKiBleHQvbmFzL25hc3NpbmsuYzoKCSogZXh0L3BvbHlwL3BvbHlwc2luay5jOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSogZXh0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOgoJKiBleHQvc25kZmlsZS9nc3RzZi5jOgoJKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOgoJKiBleHQveGluZS94aW5lLmM6CgkqIGV4dC94aW5lL3hpbmVhdWRpb2RlYy5jOgoJKiBleHQveGluZS94aW5lYXVkaW9zaW5rLmM6CgkqIGV4dC94aW5lL3hpbmVpbnB1dC5jOgoJKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSogZ3N0L2FwZXRhZy9hcGVkZW11eC5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdHZjZHBhcnNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5jOgoJKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOgoJKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6CgkqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6CgkqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzoKCSogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpby5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmVsZW1lbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdmNkL3ZjZHNyYy5jOgoJICBGaXggdXAgYWxsIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IHVwIGFsbCB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9ucy4KCjIwMDUtMDktMDUgMTU6MTA6MTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgY2xlYW5pbmcgdXAgYmFkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjbGVhbmluZyB1cCBiYWQKCjIwMDUtMDktMDUgMTM6NDk6NDEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGRvY3MvcmFuZG9tL0NoYW5nZUxvZy0wLjg6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgY3JlYXRlZCBnc3QtcGx1Z2lucy1iYWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNyZWF0ZWQgZ3N0LXBsdWdpbnMtYmFkCgo9PT0gcmVsZWFzZSAwLjkuMiA9PT0KCjIwMDUtMDktMDQgMTA6Mzg6NDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZml4IGRpc3RjaGVjawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb21tb24vZ3RrLWRvYy1wbHVnaW5zLm1hazoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGZpeCBkaXN0Y2hlY2sKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5jOgoJICBmaXggd3JvbmcgZG9jc3RyaW5nCgoyMDA1LTA5LTAyIDIwOjIxOjE3ICswMDAwICBGbGF2aW8gT2xpdmVpcmEgPGZsYXZpby5vbGl2ZWlyYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogUE9SVEVEXzA5OgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2dzbS9NYWtlZmlsZS5hbToKCSogZXh0L2dzbS9nc3Rnc20uYzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgUG9ydGVkIEdTTSBFbmNvZGVyIHRvIEdTdHJlYW1lciAwLjkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBvcnRlZCBHU00gRW5jb2RlciB0byBHU3RyZWFtZXIgMC45CgoyMDA1LTA5LTAyIDE1OjQ0OjQ0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBBbGwgcGx1Z2lucyB1cGRhdGVkIGZvciBlbGVtZW50IHN0YXRlIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTA5LTAyICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIEFsbCBwbHVnaW5zIHVwZGF0ZWQgZm9yIGVsZW1lbnQgc3RhdGUgY2hhbmdlcy4KCjIwMDUtMDktMDIgMTU6NDM6MTQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGNvbW1vbjoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOgoJICBBbGwgcGx1Z2lucyB1cGRhdGVkIGZvciBlbGVtZW50IHN0YXRlIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTA5LTAyICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIEFsbCBwbHVnaW5zIHVwZGF0ZWQgZm9yIGVsZW1lbnQgc3RhdGUgY2hhbmdlcy4KCjIwMDUtMDktMDEgMTk6NTM6MTIgKzAwMDAgIEZsYXZpbyBPbGl2ZWlyYSA8ZmxhdmlvLm9saXZlaXJhQGluZHQub3JnLmJyPgoKCSogUE9SVEVEXzA5OgoJICB1cGRhdGUgUE9SVEVEXzA5IGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBQT1JURURfMDkgZmlsZQoK